How the Game Works - pret/pokeemerald GitHub Wiki
What follows is a series of articles talking about how parts of the vanilla Pokemon Emerald engine function. This is not meant to be a guide for how to program the Game Boy Advance. Rather, it assumes you have programming knowledge, and tries to provide light on some areas of the Gen 3 game engine. We recommend Tonc for a whirlwind tour of general GBA programming: https://www.coranac.com/tonc/text/toc.htm
Overview:
- The Game Loop - Introduction to the main game loop, main callbacks, sprite callbacks, and tasks.
- The Task System - More in depth about tasks and how they're used.
- The Party Menu - An overview of the menu that shows the player's party.
- Items and their Effects - A look at items and their gameplay behaviors.
- Latent Functions - Some game functions can be interrupted by game UI and other events, and have to wait for those to complete.
- How Menus Work - A three-part deep dive into how the game's menus are coded.
- The Battle Engine
- Battle Controllers - The system that the battle engine uses to receive input from players and NPC AIs.
- (TODO)