![]() |
dsekai
World engine for retrocomputers.
|
Central state and subsystem coordination. More...
Topics | |
DSekai Engines Configuration | |
Compile-time options defining engine behaviors. | |
Engine Transitions | |
Flags for specifying screen transitions. | |
Engine-Specific Struct | |
Structs containing information only used by certain engines. | |
Engine Locking | |
Engine Types | |
Files | |
file | engines.h |
Macros, structs, and prototypes for the various engine types. | |
file | serial.h |
Functions for (de)serializing engine structs to save states. | |
Data Structures | |
struct | DSEKAI_STATE |
General/shared state of the running engine in memory. More... | |
Macros | |
#define | MINIMAP_X (SCREEN_W - TILEMAP_TW - 10) |
#define | MINIMAP_Y (10) |
#define | DSEKAI_TITLE_TEXT_COLOR GRAPHICS_COLOR_WHITE |
#define | DSEKAI_FLAG_INPUT_BLOCKED 0x01 |
DSEKAI_STATE::flags indicating no player input should be accepted. | |
#define | DSEKAI_FLAG_MENU_BLOCKED 0x02 |
#define | DSEKAI_FLAG_BLANK_FRAME 0x04 |
DSEKAI_STATE::flags indicating every frame should be drawn fresh on a clean black canvas (unless the menu is open). | |
#define | DSEKAI_FLAG_UNLOCKED 0x08 |
#define | ENGINE_STATE_OPENING 1 |
DSEKAI_STATE::engine_state indicating engine is has not yet initialized its specific structures. | |
#define | ENGINE_STATE_RUNNING 2 |
DSEKAI_STATE::engine_state indicating engine is running. | |
#define | SERIAL_ERROR -1 |
#define | serial_asn_write_seq_start(p_asn_buffer_h, p_mark, desc, idx, cleanup) |
#define | serial_asn_write_seq_end(p_asn_buffer_h, p_mark, desc, idx, cleanup) |
#define | serial_asn_write_int(p_asn_buffer_h, val, x_val_sz, desc, idx, cleanup) |
#define | serial_asn_write_string(p_asn_buffer_h, str, str_sz, desc, idx, cleanup) |
#define | serial_asn_read_seq(asn_buffer, p_type, p_sz, desc, idx, read_sz, cleanup) |
#define | serial_asn_read_int(asn_buffer, p_val, val_sz, flags, desc, idx, read_sz, cleanup) |
#define | serial_asn_read_string(asn_buffer, str_buffer, str_buffer_sz, desc, idx, read_sz, cleanup) |
Functions | |
void | engines_draw_loading_screen () |
Draw a simple loading screen. | |
int16_t | engines_warp_loop (MEMORY_HANDLE state_handle) |
Handle transition to a new TILEMAP. | |
void | engines_animate_mobiles (struct DSEKAI_STATE *state) |
Do generic mobile animation and execute their scripts. | |
int16_t | engines_loop_iter (MEMORY_HANDLE state_handle) |
Central loop iteration handler. Calls engine-specific callbacks. | |
int8_t | engines_input_movement (struct MOBILE *mover, int8_t dir_move, struct DSEKAI_STATE *state) |
Handle generic player movement commmand. | |
void | engines_exit_to_title (struct DSEKAI_STATE *state) |
void | engines_set_transition (struct DSEKAI_STATE *state, uint8_t trans_type, uint8_t trans_open) |
void | engines_draw_transition (struct DSEKAI_STATE *state) |
int32_t | serial_save (const char *save_name, struct DSEKAI_STATE *state) SECTION_ASN |
Serialize the engine struct to a save state and call the unilayer_save to write that save state to storage. | |
int32_t | serial_load (const char *save_name, struct DSEKAI_STATE *state) SECTION_ASN |
Call the unilayer_save to provide the save state with the given name and deserialize it into the given engine struct. | |
Central state and subsystem coordination.
#define serial_asn_read_int | ( | asn_buffer, | |
p_val, | |||
val_sz, | |||
flags, | |||
desc, | |||
idx, | |||
read_sz, | |||
cleanup ) |
#define serial_asn_read_seq | ( | asn_buffer, | |
p_type, | |||
p_sz, | |||
desc, | |||
idx, | |||
read_sz, | |||
cleanup ) |
#define serial_asn_read_string | ( | asn_buffer, | |
str_buffer, | |||
str_buffer_sz, | |||
desc, | |||
idx, | |||
read_sz, | |||
cleanup ) |
#define serial_asn_write_int | ( | p_asn_buffer_h, | |
val, | |||
x_val_sz, | |||
desc, | |||
idx, | |||
cleanup ) |
#define serial_asn_write_seq_end | ( | p_asn_buffer_h, | |
p_mark, | |||
desc, | |||
idx, | |||
cleanup ) |
#define serial_asn_write_seq_start | ( | p_asn_buffer_h, | |
p_mark, | |||
desc, | |||
idx, | |||
cleanup ) |
#define serial_asn_write_string | ( | p_asn_buffer_h, | |
str, | |||
str_sz, | |||
desc, | |||
idx, | |||
cleanup ) |
void engines_animate_mobiles | ( | struct DSEKAI_STATE * | state | ) |
Do generic mobile animation and execute their scripts.
state | Locked MEMORY_PTR for current DSEKAI_STATE. |
int8_t engines_input_movement | ( | struct MOBILE * | mover, |
int8_t | dir_move, | ||
struct DSEKAI_STATE * | state ) |
Handle generic player movement commmand.
dir_move | |
state | Locked MEMORY_PTR for current DSEKAI_STATE. |
map | Locked MEMORY_PTR for DSEKAI_STATE::map_handle. |
int16_t engines_loop_iter | ( | MEMORY_HANDLE | state_handle | ) |
Central loop iteration handler. Calls engine-specific callbacks.
state_handle | Unlocked MEMORY_HANDLE for current DSEKAI_STATE. |
int16_t engines_warp_loop | ( | MEMORY_HANDLE | state_handle | ) |
Handle transition to a new TILEMAP.
state_handle | Unlocked MEMORY_HANDLE for current DSEKAI_STATE. |
int32_t serial_load | ( | const char * | save_name, |
struct DSEKAI_STATE * | state ) |
Call the unilayer_save to provide the save state with the given name and deserialize it into the given engine struct.
int32_t serial_save | ( | const char * | save_name, |
struct DSEKAI_STATE * | state ) |
Serialize the engine struct to a save state and call the unilayer_save to write that save state to storage.