include/main.h file

Classes

struct Main
Main system structure.
struct UI
HUD structure.

Enums

enum Language { LANGUAGE_JP, LANGUAGE_EN, LANGUAGE_FR, LANGUAGE_DE, LANGUAGE_ES, LANGUAGE_IT, NUM_LANGUAGES }
Supported game languages.
enum Task { TASK_TITLE, TASK_FILE_SELECT, TASK_GAME, TASK_GAMEOVER, TASK_STAFFROLL, TASK_DEBUG }
Program tasks.
enum SleepStatus { DEFAULT, SLEEP }
System sleep status.

Functions

void AgbMain(void)
Program entry point.
void SetTask(u32 task)
Begin a new task.
void InitDMA(void)
Initialize the DMA system.
void DoSoftReset(void)
Soft reset the system.
void SetSleepMode(void)
Put the system into sleep mode.
void SetVBlankDMA(u16* src, u16* dest, u32 size)
Sets a DMA to be performed at next VBlank.
void InitVBlankDMA(void)
void ResetPalettes(void)
void VBlankIntrWait()
void VBlankInterruptWait(void)
void DisableInterruptsAndDMA(void)
void EnableVBlankIntr(void)
void DisableVBlankDMA(void)
auto CheckRegionsOnScreen(const u16* arr) -> u32
Iterate over array of AABBs and check if any fit on screen.

Variables

Main gMain
Main instance.
UI gUI
UI instance.
u8 gUnk_03003DE4
u16 gPaletteBuffer

Defines

#define SIGNATURE
File signature.
#define MAX_MSG_SPEED
Maximum message speed.
#define NUM_SAVE_SLOTS
Number of save slots.
#define MAX_BRIGHTNESS
Maximum brightness.
#define GAME_LANGUAGE

Task entrypoints

void TitleTask(void)
Task entrypoint.
void FileSelectTask(void)
Task entrypoint.
void GameTask(void)
Task entrypoint.
void GameOverTask(void)
Task entrypoint.
void StaffrollTask(void)
Task entrypoint.
void DebugTask(void)
Task entrypoint.

Enum documentation

enum Task

Program tasks.

Enumerators
TASK_TITLE

Title task.

This is the first task to be entered.

TASK_FILE_SELECT

File selection task.

TASK_GAME

Gameplay task.

Overworld, menus, cutscenes are all contained here.

TASK_GAMEOVER

Gameover task.

TASK_STAFFROLL

Staffroll task.

Only accessible through the script played during the game ending.

TASK_DEBUG

Debug task.

Inaccessible in normal gameplay.

Function documentation

void SetTask(u32 task)

Begin a new task.

Parameters
task Task to begin.