Jo Engine 2026.11.1
Jo Sega Saturn Engine
Loading...
Searching...
No Matches
jo.h
Go to the documentation of this file.
1/*
2** Jo Sega Saturn Engine
3** Copyright (c) 2012-2026, Johannes Fetz (johannesfetz@gmail.com)
4** All rights reserved.
5**
6** Redistribution and use in source and binary forms, with or without
7** modification, are permitted provided that the following conditions are met:
8** * Redistributions of source code must retain the above copyright
9** notice, this list of conditions and the following disclaimer.
10** * Redistributions in binary form must reproduce the above copyright
11** notice, this list of conditions and the following disclaimer in the
12** documentation and/or other materials provided with the distribution.
13** * Neither the name of the Johannes Fetz nor the
14** names of its contributors may be used to endorse or promote products
15** derived from this software without specific prior written permission.
16**
17** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20** DISCLAIMED. IN NO EVENT SHALL Johannes Fetz BE LIABLE FOR ANY
21** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*/
34
35#ifndef __JO_H__
36# define __JO_H__
37
38/*
39** INCLUDES
40*/
41#include <stdbool.h>
42#include "conf.h"
43#include "types.h"
44#include "sega_saturn.h"
45#include "time.h"
46#include "smpc.h"
47#include "core.h"
48#include "math.h"
49#include "tools.h"
51#include "malloc.h"
52#include "colors.h"
53#include "list.h"
54#include "input.h"
55#include "keyboard.h"
56#include "console.h"
57#include "fs.h"
58#include "audio.h"
59#include "palette.h"
60#include "image.h"
61#include "tga.h"
62#include "sprites.h"
63#include "vdp2_malloc.h"
64#include "vdp2.h"
65#include "background.h"
66#include "hitbox.h"
67#include "sprite_animator.h"
68#include "map.h"
69#include "mode7.h"
70#include "physics.h"
71#include "3d.h"
72#include "model.h"
73#include "light.h"
74#include "glow.h"
75#include "level.h"
76#include "entity.h"
77#include "cell.h"
78#include "weapon.h"
79
80#include "vehicle.h"
81#include "backup.h"
82#include "video.h"
83#include "effects.h"
84#include "font.h"
85#include "storyboard.h"
86#include "software_renderer.h"
87#include "voxel.h"
88#include "profile.h"
89#include "dsp.h"
90
91#endif /* !__JO_H__ */
92
93/*
94** END OF FILE
95*/
Jo Engine 3D basics.
Jo Engine Function prototypes for audio.
Jo Engine Background definition and tools.
Jo Engine saving features function prototypes.
Cells and portals: the rooms of an inside level (sections CELL and PRTL, see Documentation/level_form...
Jo Engine Standard colors.
Jo Engine Internal configuration.
Jo Engine Console function prototypes.
Jo Engine core function prototypes.
SCU DSP: the third processor of the Saturn (about 14 MHz, one 32 x 32 bits multiply and accumulate pe...
Jo Engine Function prototypes special effects (Laser beam, fire, smoke, flash, shake,...
Entities: the things of a level that live (barrels that explode, trigger zones, relays,...
Jo Engine Simple ASCII Font & print support.
Jo Engine File System function prototypes.
Jo Engine glows: the halo of light around a lamp (a soft disc of its color, without edge,...
Jo Engine Hitbox and tools.
Jo Engine Image definition and tools.
Jo Engine Gamepad functions.
Jo Engine Keyboard function prototypes.
Levels (.JOL files): the data of a level of a game (terrain, models, plants, decals....
Jo Engine point lights: light sources (a position, a color, a radius, a strength; all around like a b...
Jo Engine Linked list helper.
Jo Engine Malloc.
Jo Engine MAP file (sprite map).
Jo Engine Math tools.
Jo Engine Mode7.
3D models (.JOM files): meshes made with a 3D software, converted by Compiler/COMMON/jo_model....
Jo Engine Palette Handling.
Jo Engine File Physics function prototypes.
Jo Engine profiler: time spent by the CPUs and the VDP1 in each frame.
Jo Engine Sega Saturn constants (addresses, memory sizes, etc).
System Management & Peripheral Control.
Fast Triangle based software renderer using fixed number.
Jo Engine Sprite Animator.
Jo Engine Sprite definition and tools.
Jo Engine Storyboard Animation function prototypes.
Jo Engine Truevision Targa format support.
Time Management.
Jo Engine Tools (printf, etc,).
Jo Engine Types.
VDP1 command table handling.
Jo Engine VDP2 definition and tools.
VDP2 memory allocation (cell, map, rotation, scroll, etc).
Vehicles: entities of the class vehicle (a jeep, a truck), driven by the player. An actor (a model wi...
Jo Engine Video Player (Sega FILM/CPK File Format).
Jo Engine Voxel renderer.
Weapons of the player: the definitions (section WEAP of a level, for instance a file of definitions s...