| include | |
| battle | |
| b5_context.h | B5Context, the object context a battle routine reads; most of its fields are still unnamed |
| battle.h | The battle bank's routines and globals, as the other banks see them |
| battle_calc.h | The battle calculation tables: hit chances, HP and PP damage and recovery |
| battle_display.h | The battle camera and the presentation's transition, background and affine work |
| battle_effect.h | The battle effect argument and the rectangle-drawing routines effects call |
| battle_effect_argument.h | BattleEffectArgument, the command an effect's caller, dispatcher and handlers share, and the macros that define effect kinds |
| battle_effect_chance.h | Declares nothing of its own: it only includes edition.h, battle_unit.h and types.h |
| battle_effect_work.h | BattleEffectWork, the running battle effect's work, and its animation objects |
| battle_escape.h | Declares nothing of its own: it only includes edition.h, battle_session.h and types.h |
| battle_event.h | The battle event queue: the events BattleEvPush queues and the playback phases that play them |
| battle_motion.h | Declares nothing of its own: it only includes edition.h and types.h |
| battle_obj.h | Actor_Place, which places a battle object for a unit |
| battle_party.h | Which units are in a battle, and the Djinn recovery list |
| battle_random.h | GBattleRandomSeed, the battle's random seed |
| battle_session.h | A battle's objects and sprites, each unit's command and action record, and the spoils |
| battle_status_icon.h | Declares nothing of its own: it only includes edition.h and battle_session.h |
| battle_summon.h | Summons and the battle sprite definitions of the enemy classes |
| battle_system.h | BattleUnit_Recalculate, which recalculates a unit's stats |
| battle_target.h | Declares nothing of its own: it only includes edition.h, battle_session.h and types.h |
| battle_unit.h | BattleUnit, a party member's or enemy's battle state, with the elements, abilities and actions it uses |
| effect_slot.h | Effect slots: the particles Psynergy effects move and draw |
| fx_scene.h | BattleFxScene, the work of a battle or field Psynergy effect scene, and its arc objects |
| motobj.h | MotionObject, an effect object that moves and draws one sprite |
| object_effect_scripts.h | The object scripts effects give their particles and fragments |
| farcall | |
| battle.h | Battle state, unit motion and presentation services |
| blank_load.h | The reel-game entry point |
| blank_run.h | The display-blanked callback runner |
| effect.h | Battle-effect dispatch, drawing and presentation setup |
| field.h | Field actors, movement, map drawing and scene services |
| game.h | Party members, items, Djinn and game-state operations |
| menu.h | Party menus and their interactive selection screens |
| object.h | Scene events, field Psynergy, objects and effect lifecycles |
| palette.h | Title, introduction and splash-screen presentation |
| resource.h | Resource animation metadata lookup |
| runtime.h | Frame scheduling, memory, resources and core runtime services |
| scroll.h | The scrolling slideshow entry point |
| shop.h | Shops, inns and the cursors used by their screens |
| sound.h | Audio mixing, playback commands and music-player updates |
| window.h | Window construction, text drawing and selection interfaces |
| field | |
| a9_motion.h | Declares nothing of its own: it only includes edition.h and render_input.h |
| animspr.h | Animated sprites: their layers, frames and colour modes, and the resource slots they draw from |
| colosso_gauge.h | The Colosso race gauge's sprites and work |
| effect_step.h | EffectStep and EffectPosition, the positions effects move through |
| event_work.h | EventWork, the running scene's event work |
| facing_object.h | FacingObject, the view of an object that turns to face a target |
| field.h | The field engine's shared routines, globals and object scripts |
| field_coordinate.h | FieldCoordinate, a position on the field |
| mapcopy.h | Declares nothing of its own: it only includes edition.h and types.h |
| objdisp.h | The object dispatcher's forward declaration |
| perspective.h | The world map's perspective view work |
| script.h | The field object script interpreter and the operands its commands read |
| script_object_runtime.h | ScriptObjectRuntime, the work of an object a script moves |
| game | |
| character_ids.h | Character numbers, with each character's Japanese name |
| ed_asm.h | |
| edition.h | The edition's language, for C to compare (LANGUAGE == LANGUAGE_GERMAN) |
| game.h | The item and summon tables and the game bank's routines |
| game_flags.h | Setting and clearing game flags, and the byte that holds a flag |
| item.h | Items: their definitions, types, flags and effects |
| item_gift.h | Declares nothing of its own: it only includes types.h, edition.h and farcall.h |
| owner_value.h | Declares nothing of its own: it only includes types.h, edition.h and farcall.h |
| graphics | |
| display_transition.h | The display transition's frames, windows and state |
| glyph.h | Font glyphs and their palettes |
| graphics.h | The screen blend's globals and the graphics routines |
| oam.h | OAM usage counts |
| output.h | Declares nothing of its own: it only includes edition.h and render_input.h |
| palbuf.h | Palette fades, the battle effect palette buffers and the colour channel curves |
| palqueue.h | Palette snapshots and their work |
| render_input.h | The sprite renderer's inputs and outputs: render inputs, OAM attributes and render output lists |
| render_placement.h | A sprite's screen position and scale |
| resource.h | The parts of a battle sprite id |
| text_font.h | The kanji glyphs and the text marks drawn with characters |
| text_reader.h | TextReader, a cursor through message text |
| text_render_runtime.h | Declares nothing of its own: it only includes edition.h and render_input.h |
| transform.h | The 3D transform and its stack |
| uiflow.h | Declares nothing of its own: it only includes edition.h and uiwindow.h |
| uiwindow.h | UiWindow, a window's work, and marking its tilemap rows for transfer |
| vram_tab.h | The sprite VRAM block cache and its owners |
| lib | |
| call.h | Calls through a function pointer, by argument count |
| fixed_math.h | 16.16 fixed-point constants, sine and cosine, and the library division |
| lib.h | Declares nothing of its own: it only includes types.h and edition.h |
| lzpack.h | The LZ packer's work: hash chains over a 1024-byte window, one chain per byte value, and the output it is building |
| macros.h | Small statement macros both games use for positions, velocities and bounds |
| static_assert.h | STATIC_ASSERT, a compile-time check that emits nothing |
| stddef.h | Size_t, ptrdiff_t, wchar_t, NULL and offsetof, as the C library defines them |
| string.h | Declares nothing of its own: it only includes edition.h |
| menu | |
| m7_interfaces.h | Declares nothing of its own: it only includes edition.h and render_input.h |
| menu.h | The menus' list orders, sign strings and routines |
| node_chain.h | NodeChain, a chain of menu nodes |
| resource_menu.h | The resource menu's entries and work |
| select.h | The selection screen's sprites and nodes |
| sound | |
| audio_engine_types.h | The sound driver's types, registers and work |
| sound.h | The sound tables (CGB codes, frequency steps, frame lengths) and the sound routines |
| system | |
| callback_scheduler.h | The task scheduler: tasks, their order and the scheduler's state |
| dma.h | DMA channel registers, and the DMA and CPU fills |
| far_runtime.h | Declares nothing: an empty header kept for the files that include it |
| field_effect.h | Field effects, their scripts and the flags that spawn them |
| fixed_point_position.h | FixedPointPosition, a position in 16.16 fixed point |
| flash.h | Flash memory: erasing, programming and reading sectors |
| flash_data.h | The flash chips: sector size and count, and each chip type's routines |
| io_reg.h | The hardware's I/O registers and their bits, as pret names them |
| io_write_queue.h | The register write queue that VBlank carries out after each finished frame |
| iowrite.h | Io_Write16, a 16-bit write to a register or memory |
| irq.h | The hardware's interrupt sources and the interrupt handler table |
| irqlock.h | Saving, disabling and restoring the interrupt master enable |
| mem.h | The heaps: allocating and freeing blocks |
| metadata_lookup.h | Animation metadata and its lookup by resource |
| mulq16.h | MulQ16, the 16.16 fixed-point multiply |
| object_effect.h | The fade overlay, the weather particles and the actor effect work |
| object_lookup.h | Declares nothing: an empty header kept for the files that include it |
| ramcode.h | Copying ARM routines to RAM to run them there |
| runtime_interfaces.h | Declares nothing of its own: it only includes edition.h and types.h |
| savedata.h | The save data's signature and header template, and the link test words |
| scene.h | FIELD_AT_OFFSET and the entity and camera views older scene code reads |
| serial_runtime.h | The link cable's runtime: serial packets, registers and transfer state |
| system.h | The system's routines and globals: interrupts, BIOS sound bias, random numbers and sleep |
| vector3.h | Vector3, a three-coordinate vector |
| unit | |
| battle | |
| battle.h | |
| debug | |
| level.h | |
| rooms.h | |
| test.h | |
| effect | |
| effect.h | |
| effect_bits.h | |
| effect_table.h | |
| field | |
| curve_data.h | |
| facing.h | |
| field.h | |
| griddata.h | |
| lucky_dice.h | |
| mapdata.h | |
| object_script.h | |
| operand.h | |
| update.h | |
| vertices.h | |
| game | |
| game.h | |
| starting_equipment.h | |
| graphics | |
| credits | |
| credits.h | |
| title | |
| intro.h | |
| menu | |
| clear.h | |
| lobby.h | |
| menu.h | |
| title.h | |
| object | |
| battle_cue.h | |
| colorfx.h | |
| object.h | |
| psynergy_effects.h | |
| zonedata.h | |
| runtime | |
| math_table.h | |
| numtext.h | |
| runtime.h | |
| scene | |
| common | |
| colosso_item_icon.h | |
| colosso_marker.h | |
| colosso_occupant.h | |
| colosso_setup.h | |
| colosso_solo.h | |
| effect_psynergy.h | |
| effect_spawn.h | |
| kolima_forest_bridge_falling_effect.h | |
| kolima_palette.h | |
| mercury_lighthouse_lights.h | |
| mercury_lighthouse_pillar.h | |
| object_nearest.h | |
| object_orbit.h | |
| scroll_initialize_hblank_dma.h | |
| sol_sanctum_elemental_star_ring_setup.h | |
| sol_sanctum_init_zoom.h | |
| vault_itemobj.h | |
| vault_range.h | |
| world_map_linked_effects.h | |
| alpine_crossing_lama_temple.h | |
| altin.h | |
| altin_peak.h | |
| altmiller_cave.h | |
| babi_lighthouse.h | |
| babi_palace.h | |
| bilibin.h | |
| bilibin_cave.h | |
| bilibin_interiors.h | |
| colosseum_entrance.h | |
| colosso_log.h | |
| colosso_river.h | |
| colosso_wall.h | |
| crossbone_isle.h | |
| crossbone_isle_pillar_rooms.h | |
| crossbone_isle_platform_rooms.h | |
| fuchin_temple.h | |
| goma_cave_entrance.h | |
| goma_cave_pillar.h | |
| goma_cave_pond.h | |
| goma_cave_waterway.h | |
| gondowan_cave.h | |
| hammet_palace.h | |
| imil.h | |
| imil_fuchin_falls.h | |
| kalay.h | |
| kalay_interiors.h | |
| kalay_tolbi_docks.h | |
| kolima.h | |
| kolima_forest_bend.h | |
| kolima_forest_bridge.h | |
| kolima_forest_clearing.h | |
| kolima_forest_river.h | |
| kolima_forest_tree.h | |
| kolima_interiors.h | |
| lalivero.h | |
| lalivero_interiors.h | |
| lamakan_desert.h | |
| lemurian_ship.h | |
| lunpa.h | |
| lunpa_fortress.h | |
| lunpa_suhalla.h | |
| mccoy_palace.h | |
| mccoy_palace_garden.h | |
| mercury_lighthouse.h | |
| mercury_lighthouse_aerie.h | |
| mercury_lighthouse_entrance.h | |
| mogall_forest.h | |
| sanctum.h | |
| sol_sanctum_corridor.h | |
| sol_sanctum_elemental_star_room.h | |
| sol_sanctum_entrance.h | |
| sol_sanctum_eruption.h | |
| sol_sanctum_luna_sol_rooms.h | |
| sol_sanctum_maze.h | |
| sol_sanctum_psynergy_stone.h | |
| sol_sanctum_statue.h | |
| suhalla.h | |
| suhalla_desert.h | |
| suhalla_gate.h | |
| suhalla_interiors.h | |
| tolbi.h | |
| tolbi_interiors.h | |
| tolbi_ship_deck.h | |
| tolbi_ship_interiors.h | |
| tolbi_ship_mast.h | |
| tolbi_spring.h | |
| tret_tree_branch.h | |
| tret_tree_interiors.h | |
| tunnel_ruins.h | |
| vale.h | |
| vale_babi.h | |
| vale_cave.h | |
| vale_eruption.h | |
| vale_home.h | |
| vale_interiors.h | |
| vale_kraden.h | |
| vale_storm.h | |
| vault.h | |
| vault_cave.h | |
| vault_interiors.h | |
| vault_interiors_revisit.h | |
| vault_jail.h | |
| vault_revisit.h | |
| venus_lighthouse.h | |
| venus_lighthouse_aerie.h | |
| west_lunpa_cave.h | |
| world_map.h | |
| xian.h | |
| xian_interiors.h | |
| shop | |
| shop.h | |
| sound | |
| empty_callback.h | |
| sound.h | |
| system | |
| resource | |
| metadata_get_record.h | |
| window | |
| articles.h | |
| battle_command.h | |
| glyph_arm.h | |
| scales.h | |
| text_speed.h | |
| window.h | |
| import.h | The main-image routines scene overlays import |
| ability_ids.h | Ability numbers, named from the English release |
| affine.h | Sprite rotation and scale, and the affine matrices handed out each frame |
| audio_engine.h | Declares nothing of its own: it only includes audio_engine_symbols.h and sound/audio_engine_types.h |
| audio_engine_symbols.h | The sound driver's command masks, cue controls and the routines and globals it shares with the engine |
| battle_command.h | The battle command names: auto battle and the battle options (aliases of debug and key globals), and the actions' flag and status tables |
| battle_effect_runtime.h | The battle animation state, render objects and effect entries, and the palette buffer work |
| battle_formation.h | The enemy formation records |
| battle_intro.h | Who strikes first as a battle opens |
| battle_message.h | Declares nothing of its own: it only includes types.h and text/msg_ids.h |
| battle_type.h | BattlePlan, an action planned for its targets: the hits, criticals and multipliers rolled |
| battle_work.h | BattleWork, the battle's own work, and the battle display work |
| canvas.h | Declares nothing of its own: it only includes types.h and battle_effect.h |
| cartboot.h | Cart_Restart, the cartridge's restart entry at 0x08000000 |
| character.h | The definitions of characters, classes, Djinn and enemies, and a level up's result |
| character_menu.h | The character menu's state, and the ailments it shows |
| colosso_log_rolling_stage.h | Declares nothing of its own: it only includes types.h |
| config.h | Build switches, as pret's config.h: BUGFIX opts in to fixes of the original game's bugs, and UBFIX gives undefined behaviour its defined form |
| configured_effect_spawn.h | The sprite and effect views and the options a scene's configured effect spawner uses |
| create_configured_overlay_object.h | The engine calls a scene uses to create an overlay object and set its sprite flags |
| cursor.h | The cursor that approaches its target, shared by shops, name entry and settings |
| curve.h | The step counts and value shift of a curve table |
| debug.h | The engine calls the debug menus import, and their palette swatch tiles |
| djinn_ids.h | Djinn numbers, named from the English release |
| djinn_menu.h | The Djinn menu: its list tables, backdrop and work, and the fields of a Djinni's list entry |
| djinn_preview.h | The Djinn preview's sprites and arrow tiles |
| engine_call.h | The engine call layer: one typed inline for each of the thirteen main-image routines below that the scene, menu and debug overlays import; every overlay call of them goes through it |
| equipment_menu.h | Declares nothing of its own: it only includes types.h |
| event.h | Scene commands: the all-caps macros the scene scripts are written in |
| farcall.h | Public interfaces to the engine's code banks |
| field_event.h | The scene script layer: the engine services a scene's events call, declared once (Engine_EventBegin, Engine_ActorJump, Engine_EventSetMessage and the rest), with the constants and small inlines scenes share |
| field_obj.h | Field objects and actors, and the scene transition styles |
| field_runtime.h | The field's runtime work: map cells, scene records and regions, map markers and FieldWork |
| field_scene.h | The scene table formats: entrances, exits, placements and events, and the macros that write them |
| field_service.h | The scene service layer: one typed inline for each engine service a scene calls by its own name, passing it on to the main image's import (Actor_Jump calls Engine_ActorJump) |
| flags.h | Game flags, named where their meaning is shown |
| four_object_motion.h | FourObjectMotion, the row of four figures the Status and Djinn menus show |
| frame.h | The frame loop's globals: lag counts, the CPU load display and the VBlank flags |
| fxblend.h | FieldBlendWork, the field's colour blend work |
| game_state.h | GameState, the game's state: play time, coins, the scene and the leader's position, the active party and the options |
| global_cells.h | The work slots of gWorkSlot, read through their own names |
| heap_state.h | The heap's work slots and HeapState |
| inn_runtime.h | InnRuntimeState, an inn's work |
| inventory.h | GOverflowItem, an item slot the spoils code uses when items are handed out |
| inventory_menu.h | The item menu's state and commands |
| item_ids.h | Item numbers, named from the English release |
| iwram_call.h | The IWRAM call layer: the routines the game keeps resident in IWRAM, each at its fixed address, and one typed inline per routine that every call goes through |
| keystate.h | The keypad state the VBlank interrupt keeps |
| kolima.h | The globals Kolima's scenes share: the falling effect and the party's state |
| low_runtime.h | Declares nothing of its own: it only includes types.h |
| map.h | Maps: their cells, layers, animations and blend scripts, and the map state |
| map_render_work.h | MapRenderWork, the map renderer's work |
| map_scroll.h | The map layers' scroll work and the background scroll values |
| mapframe.h | The map frame's scanlines and affine lines |
| menu_list.h | Menu lists: sprites, cursors, the party status window and paged selections |
| menu_result.h | MenuResult, what a menu returns |
| mercury.h | Includes field_event.h with FIELD_STAGED_ACTOR_IMPORTS defined, so a scene gets the staged-actor imports |
| mercury_lighthouse.h | Declares nothing of its own: it only includes field_event.h, field_effect.h, configured_effect_spawn.h and select_overlay_data_by_runtime_selector.h |
| minigame.h | The reel game's title lettering |
| oambuf.h | OamShadow, a sprite entry a routine builds by hand and DMA copies to OAM |
| objcmd.h | Field object scripts: one s32 command word, then its operands, as gScriptObject_CommandTable runs them |
| object_dispatch.h | The object dispatcher's scripts: key checks, the player, the world map and the camera |
| object_factory.h | Object_Create, which creates a field object |
| object_runtime.h | ObjectRuntime, a field object's runtime state, and the object snapshots |
| orbit.h | The views of an orbiting scene object's sprite |
| overlay_object.h | Overlay objects and their records |
| owner_state.h | Declares nothing of its own: it only includes battle_system.h |
| palette_scene.h | Declares nothing of its own: it only includes types.h |
| party_state.h | Declares nothing of its own: it only includes static_assert.h and game_state.h |
| preset_table.h | PresetValues, a row of preset values |
| project.h | The 3D projection |
| psynergy_menu.h | The Psynergy menu's state |
| ram_buffer.h | The work pointers in the gWorkSlot table, by name |
| resource_37c_runtime.h | The Sol Sanctum Psynergy Stone room's imports, under their overlay.inc names: BattleFx_SetQueuedSoundAndPlay and FieldEffect_InitSparkles |
| resource_37de_scene.h | A scene overlay's imports: queueing a scene sound and setting up its record buffer |
| resource_388_runtime.h | The views a scene overlay takes of its runtime work and slots; most fields are still unnamed |
| resource_397.h | Declares nothing: an empty header kept for the files that include it |
| resource_3a8_effect.h | The view a scene overlay takes of an effect; most fields are still unnamed |
| resource_3a9.h | Declares nothing: an empty header kept for the files that include it |
| resource_ids.h | Resource numbers, named where their contents are known |
| save_state.h | The save workspace: slot headers and summaries |
| scene_effect_sequence.h | Declares nothing of its own: it only includes types.h |
| scene_ids.h | Scene numbers, named after their places |
| script_motion.h | ScriptMotionObject, an object moved by a field script |
| script_object_entry.h | ScriptObjectEntry, an entry in the script objects' table |
| scroll.h | The display scroll work, the HBlank scroll work and its wave |
| select_overlay_data_by_runtime_selector.h | Declares nothing of its own: it only includes types.h |
| shop.h | ShopRuntime, a shop's work, and the shop screen's tiles |
| songs.h | Song and sound effect ids, indices into gSound_SongTable |
| spawn_configured_effect.h | The sprite view a scene's configured effect spawner uses |
| staged_actor.h | The pushable actors' movement probes and footprint bounds |
| staged_actor_effect.h | A staged actor's effect and its request |
| staged_actor_pair_scene.h | Declares nothing of its own: it only includes types.h |
| tbs_edition.h | Values that differ by patch level or language, chosen once for their code |
| types.h | The integer types, TRUE, UNUSED and the fixed-address macros |
| ui.h | UiWork, the window system's work, and the status screen's cursors |
| venus_lighthouse_aerie.h | Venus Lighthouse aerie's actors, entrances and exits |
| version.h | The patch levels: our groups of the measured changes from the Japanese release |
| vram_block.h | Declares nothing of its own: it only includes the window, battle command, resource and VRAM table headers |
| window.h | The window renderer's work |
| workspace_options.h | The options screen's work and the selection work |
| src | |
| battle | Battles, from their opening transition to their spoils |
| battle | |
| auto_battle.c | Auto battle: the actions it builds and plays, without the command menu |
| background.c | The battle background, its palette and perspective, the camera's zoom and the units' highlights |
| classes.c | The enemy classes' battle sprite table, gSummon_EntryTable |
| debug.c | Debug: the party presets, the message viewer and the battle test menu |
| encounter.c | A whole battle, Battle_RunEncounter, and the lists of the units in it |
| enemy_ai.c | An enemy's choice of action, BattleCommand_SelectAutomatic |
| events.c | Battle events: a downed unit's reset, waiting for the player, and the event queue, filled by BattleEvPush and played at once by BattleEv_DispatchQueued |
| formation.c | Enemy formations: the enemies chosen, levelled and lettered |
| link.c | Link battles: the parties and Djinn exchanged, and the turn handshake |
| motion.c | The units' movements: returning, running, leaping and knocked back, and their positions on the screen |
| objects.c | Each frame's sprite priorities, the status icons, the poses and the sprites of the battle objects |
| placement.c | Battle objects made and placed on the battlefield |
| plan.c | An action announced and planned, BattleCommand_BuildPlan |
| playback.c | Battle events played over frames, BattleEvent_Playback |
| round.c | A round's actions: the party's commands, the enemies' or the link opponent's, and their turn order |
| setup.c | The battle camera each frame, the opening announcement, the unit lists, and the party's battle state and Djinn as a battle starts and ends |
| spoils.c | The spoils: coins, experience, items and level ups |
| sprites.c | Battle sprites: enemy sprite slots and the party's weapon sprites |
| staging.c | An action played: its targets, and how an attack, a cast, an item, a summon or an escape is staged |
| star_field.c | A unit's elemental glow: the star field and the other glows |
| target_exec.c | An ability applied to one target, BattleTargetExec: damage, healing and its added effect |
| targeting.c | The targets an enemy's or a confused unit's ability picks |
| transition.c | The opening transition: the curtain, or the Venus Lighthouse storm |
| turn_end.c | The end of a turn and of a round: counters, Djinn recovery, poison and the Grim Reaper |
| battle.c | The battle object: a battle from its opening transition to its spoils |
| battle_internal.h | What every part of the battle object shares: its includes, in their original order, and the names two or more parts use |
| debug | The three debug rooms the retail game keeps |
| level.c | |
| level.h | |
| menu_test.h | |
| rooms.c | |
| test.c | |
| effect | Everything drawn over a battle while an ability plays |
| parts | |
| annihilation.c | Annihilation |
| atalanta.c | The Atalanta summon |
| beams.c | Beam sequences and the ring and spark scene |
| bind.c | Bind and Triangle Strike |
| blitter.c | The blitter builder, BattleFx_BuildBlitter |
| bolt.c | Bolt |
| boreas.c | The Boreas summon |
| burst_scene.c | Gust, Flying Attack and the rush bursts |
| burst_shower.c | The blessings' burst showers |
| canvas.c | The canvas layer: transfers, opening and closing, tile maps, lines |
| casting_impact.c | The casting impact scene and its image helpers |
| condemn.c | Condemn |
| cybele.c | The Cybele summon |
| death_plunge.c | Death Plunge, the blade rain, the element pillar, the element burst and the shattering picture |
| dispatch.c | Running scene and table effects, and shared target helpers |
| display.c | Display, scroll and window HBlank DMA helpers |
| djinn_attacks.c | The Mercury, Jupiter, Venus and Mars Djinn attacks |
| djinn_beams.c | Revive, Water of Life, Quartz and Dew |
| djinn_heal.c | Djinn healing |
| dragon_cloud.c | Dragon Cloud |
| drain.c | Break and Drain |
| eruption.c | Smoke Bomb and Blast |
| falling.c | Ice and Douse: shards and bolts falling on the targets' side |
| fire.c | Fire |
| flare.c | Flare |
| frost.c | Frost |
| gaia.c | Gaia |
| gathering_lights.c | Demon Night, Rumble and Haunting |
| growth.c | Growth, Punji, Vine and Thorn |
| hail.c | Hail and Ground |
| healing.c | Healing motes: Ply, Wish, Cure, Cure Poison |
| helm_splitter.c | Helm Splitter, formations and the impact burst |
| judgment.c | The Judgment summon |
| kirin.c | The Kirin summon |
| lobbed_shells.c | Lobbed shells (Mad Spatter, Decompose, Bone Chiller ...) |
| mirrored_wall.c | The walls of Berserk, Spasm and Recovery |
| neptune.c | The Neptune summon |
| nereid.c | The Nereid summon |
| orbiting.c | Swirling stars, orbiting skulls and target bursts |
| particle_streams.c | Meteor and Outer Space |
| planet_diver.c | Planet Diver, Haunt and the orbiting spirals |
| plasma.c | Plasma, and the spark groups of Blast and Dynamite |
| positions.c | Effect positions, projection and id dispatch helpers |
| prism.c | Prism |
| procne.c | The Procne summon |
| projectiles.c | Projectile volleys (Slash, Shuriken, Wing Flutter, Blizzard ...) |
| quake.c | Quake |
| ragnarok.c | Ragnarok |
| ramses.c | The Ramses summon |
| ray.c | Ray |
| rushing_strike.c | Rushing strikes (Bone Charge, Brute Force, Onslaught, Headbutt) |
| spider_web.c | Poison Beat, Spinning Beat and Spider Web |
| spire.c | Spire |
| stars.c | Astral Blast and Shining Star |
| stat_change.c | Stat boosts and reductions (Impact, Guard, Ward, Dull, Weaken ...) |
| streaks.c | Streak volleys (Sonic Wave, Shriek, War Cry ...) and mote fountains (Sleep Star, Soothing Star) |
| target_motes.c | Status motes: Taint, Delude, Paralyze, Sleep, Curse ... |
| target_strike.c | Monster bites, fangs and slashes on one target |
| thor.c | The Thor summon |
| thrash.c | Thrash, Quick Strike and Vorpal Slash |
| tiamat.c | Dragon Driver and the Tiamat summon |
| titan_blade.c | Titan Blade |
| torch.c | Torch and Kite |
| undead_sword.c | Undead Sword |
| volcano.c | Volcano |
| vortices.c | Froth and Whirlwind |
| effect.c | The battle effect object: everything drawn over the battle while an ability plays |
| effect_bits.c | |
| effect_internal.h | What every part of the battle effect object shares: its includes, macros and frame-loop helpers |
| effect_table.c | |
| field | The field engine |
| field | |
| animation.c | Sprites, their animation layers and the resource slots they draw from |
| decompress.c | LZ decompression |
| map_animation.c | Timed map effects: tile animation, the blend script, palette cycles |
| map_layers.c | Layered maps: loading, drawing and scrolling, and copying cells |
| object_camera.c | The object cameras, which place every object's sprite each frame |
| object_motion.c | Object motion, each frame, and the first object script commands |
| objects.c | Field objects: the object pool, dissolving sprites, starting scripts |
| player_control.c | Player control: the configured keys and moving objects by the pad |
| script_commands.c | Object script commands: waits, jumps, flags, moves and work values |
| sprite_draw.c | Drawing sprites: composing their layers and placing them on screen |
| sprite_viewer.c | A debug sprite viewer |
| terrain.c | Terrain: ground heights and the collision of cells and the world map |
| view.c | Screen shake, the copied BG row drawer and the ground plane scanlines |
| world_map.c | The world map: its perspective view, its tiles, and the still picture of the view BG1 shows while a menu or event runs |
| curve_data.c | |
| facing.c | |
| field.c | The field object: the engine of the field and the world map |
| field_internal.h | What every part of the field object shares: its includes and the few names more than one part uses |
| griddata.c | |
| lucky_dice.c | |
| mapdata.c | Map terrain: the height curve of each cell kind and the world map's terrain behaviour |
| object_script.c | Field object scripts: the ones the engine starts itself, and the command table |
| operand.c | Script work values: the handler SC_SET, SC_ADD and SC_CMP call for each |
| update.c | |
| vertices.c | |
| world_map_resources.c | World map graphics: a palette and five tile sets for each of its two looks |
| game | The game rules and the tables they read |
| game | |
| battle_calc.c | Battle arithmetic: element multipliers, random rolls and success rates |
| classes.c | Element levels and classes |
| djinn.c | Djinn: definitions, setting and standby, and their counts |
| flags.c | The game flags: bits, bytes and nibbles |
| inventory.c | Items and inventories: equipping, adding, removing, breaking and counting |
| levels.c | Actions and Psynergy lists, characters, experience and levelling up |
| party.c | Enemy units, the active party, coins and counters, and summons |
| snapshot.c | Equipping a given item, and the equipment put aside for the Colosso |
| units.c | The party's units and their stats, a new game, the prologue, HP and PP |
| game.c | The game object: the rules of the party and its world |
| game_internal.h | What every part of the game object shares: its includes and the inventory helper two parts use |
| starting_equipment.c | |
| graphics | The pictures and the screens that are mostly pictures |
| credits | |
| credits.c | |
| display | |
| glyph_widths.h | The staff credits font's advance widths in pixels, characters 0x20 to 0x7f, beside the font (credits.png) |
| lucky_dice | |
| tables.h | The Lucky Dice minigame's tables, after LuckyDice_Run in both games |
| slots | |
| reel_tables.h | The reel game's tables, the same in both games |
| text | |
| numwords.c | |
| title | |
| intro.c | |
| menu | The field menu and its screens |
| menu | |
| common.c | The pieces the menu screens share: windows, the status panel, numbers, icons, the party figures, the hand cursor, paged lists, palettes and the Start watch |
| djinn.c | The Djinn menu: its screen, the Djinn list, help, and choosing the Djinn to set, put on standby, give or trade |
| djinn_figures.c | FourObjectMotion: the row of four figures the Status and Djinn menus show, placed by a scheduler callback and eased in and out |
| djinn_preview.c | Previewing a Djinn change before it is made, the chosen member's status, and the checks that keep the members' Djinn counts even |
| icons.c | The stat arrows and the other icons the menus load into VRAM blocks |
| item.c | The item menu: the item picker events open, the command loop, the member and item lists, and Use, Equip, Give, Drop, Remove and Details |
| psynergy.c | The Psynergy menu: the screen events open, the member and Psynergy lists, targets, and the L and R shortcuts |
| status.c | The member chooser and the Status menu: its member row, status page, Psynergy page and equipment page |
| use.c | Using an item or Psynergy from the menu: what it does to the party, and the sound it plays |
| clear.c | The file select overlay: the Golden Sun logo, the start menu (new game, continue, copy and delete), the door to the Battle Arena and the transfer of a save's data, by link or as a password |
| lobby.c | The Battle Arena overlay: the lobby where linked and monster battles start, the exchange of the two parties, the attendant and the records of wins |
| menu.c | The menu object: the field menu's Psynergy, Djinn, Item and Status screens, the member chooser and item picker that events open, and the pieces they share |
| menu_internal.h | What every part of the menu object shares: its includes, and the macros and types more than one part uses |
| menudata.c | |
| title.c | The title overlay: the Golden Sun logo and its sprites revealed over the title screen |
| title.h | |
| object | A field scene and what plays in it |
| object | |
| actors.c | The party's sprites, placing a scene's actors, and the actor table |
| color.c | The colour buffer: palettes moved toward target colours |
| encounter.c | Random encounters, and each scene's music, place name and backdrop |
| events.c | Finding and running a scene's events: talking, touching, searching |
| fade_overlay.c | The fade overlay drawn on the ground beside an actor |
| field_fx.c | Showing a found item, and Reveal's sparkles on hidden things |
| items.c | Using an item on the field |
| markers.c | The map's markers: chests and Psynergy stones |
| palette_editor.c | The debug palette editor |
| psynergy.c | Using Psynergy on the field |
| run_scene.c | Running a field scene until the party leaves it, and its entrance |
| scene.c | Scene changes: exits, returns from battle, the main loop, entering |
| speakers.c | Speaker definitions: portraits and idle lines by sprite |
| step.c | Field requests and each step of the leader: exits, encounters, damage |
| targets.c | The actor a field action aims at, and the helpers that follow it |
| transition.c | Window transitions and dissolves between scenes |
| psynergy_effects | |
| actor_commands.c | Event commands on actors: placing, moving and animating them |
| actor_motion.c | Actor scripts: moving, turning and the built-in actions |
| arcs.c | The swelling arcs over the caster |
| avoid.c | Avoid |
| camera.c | The event camera |
| carry.c | Carry: two hands lift the target, move it with the d-pad and drop it |
| catch.c | Catch |
| climbing.c | Jumping and climbing on the field |
| cloak.c | Cloak |
| context.c | An actor's screen position, the encounter transition, context effects |
| dispatch.c | Running a field Psynergy by its kind, and helpers its effects share |
| djinni.c | A Djinni's hop before its battle, joining the party, the effect slots |
| douse.c | Douse |
| effect_slot.c | Effect slots: the particles Psynergy effects move and draw |
| events.c | Event commands: waits, received items, questions and destinations |
| force.c | Force |
| frost.c | Frost |
| growth.c | Growth |
| halt.c | Halt |
| jupiter.c | A Jupiter Djinni joining the party |
| lift.c | Lift |
| mars.c | A Mars Djinni joining the party |
| mercury.c | A Mercury Djinni joining the party |
| messages.c | Messages shown at an actor, and the speaker's voice |
| mind_read.c | Mind Read: scanline waves, shifting colours and flowing particles |
| move.c | Move: a hand pushes the target, steered with the d-pad |
| ply.c | Ply |
| requests.c | Battles and destinations an event requests, and the queued sound |
| retreat.c | Retreat |
| reveal.c | Reveal |
| setup.c | An effect's work: setting it up, its caster and target, cleaning up |
| venus.c | A Venus Djinni joining the party |
| view.c | The view bounds, zoom transitions and objects linked to an actor |
| wave_scroll.c | The wavy background: scanline scroll offsets fed by HBlank DMA |
| weather.c | Ground particles, motes, sparkles and lightning on the field |
| whirlwind.c | Whirlwind |
| world_map.c | The world map screen: place markers, the cursor and the place name |
| battle_cue.c | |
| colorfx.c | |
| fxdata.c | Effect tables: object scripts, curves and lookup tables of the object bank |
| object.c | The field object: the main loop and scene changes, random encounters, a field scene's actors, the leader's steps and the requests they raise, the scene's events, using items and Psynergy on the field, the map's markers, and the window transitions and colour buffer that the field and battles share |
| object_internal.h | What every part of object.c shares: its includes and the macros and types more than one part uses |
| psynergy_effects.c | The field Psynergy and event object: the commands scene scripts run (waits, items, questions, destinations, actors, messages and the camera), moving on the field (views, jumps and climbing), the field's weather and wavy backgrounds, Djinn joining the party, each field Psynergy's effect, the effect slots its particles use, and the world map screen |
| psynergy_effects_internal.h | What every part of psynergy_effects.c shares: its includes and the macros and types more than one part uses |
| zonedata.c | |
| runtime | The code the rest of the game stands on |
| runtime | |
| decompress.c | Resource decoding and pixel buffer shading, through RAM copies of ARM code |
| fade.c | Screen fades through the blend registers |
| frame.c | Interrupt handlers, the frame wait, key repeat and the VBlank handler |
| heap.c | The heap: its two bump allocators and named slots |
| io_queue.c | The register write queue that VBlank carries out after each finished frame |
| math.c | Random numbers, angles and square roots |
| render.c | The frame's sprite lists: affine matrices, depth slots and the OAM build |
| save.c | Saving: flash sectors, records and the save workspace |
| scheduler.c | The task scheduler: per-frame and VBlank routines in order |
| serial.c | The link cable: payload exchange, block transfers and the link test |
| system.c | Power-up, the cartridge's language, the build stamp and code loading |
| text.c | Number text, the debug text screen and the window graphics |
| transform.c | The 3D transform, its stack, the look-at matrix and the projection |
| vram_cache.c | The sprite VRAM cache: blocks, entries and loading pictures |
| math_table.c | |
| numtext.c | |
| runtime.c | The runtime object: what every other part of the game stands on |
| runtime_internal.h | What every part of the runtime object shares: its includes and the library call two parts make |
| scene | Every place the party can walk around in, one overlay each |
| common | |
| colosso_item_icon.h | Colosso Log, River and Wall, and Crossbone Isle's platform rooms: an actor drawn as an item's menu icon, such as the two items at a Colosso course's finish or the Red Key on Crossbone Isle |
| colosso_marker.h | |
| colosso_occupant.h | |
| colosso_path_rival.h | |
| colosso_scene_state.h | The Colosso finals' three courses (Colosso Log, River and Wall): a helper for the race gauge that no scene calls |
| colosso_setup.h | Colosso Log and Colosso River: setting up a race against the rival, with the race gauge at the top of the screen and the rival running a recorded path (colosso_path_rival.h) |
| colosso_solo.h | |
| colosso_story_flags.h | |
| colosso_task.h | |
| effect_advance.h | |
| effect_create.h | |
| effect_psynergy.h | Vale, its home, storm and Babi scenes, Sol Sanctum's eruption and Venus Lighthouse's aerie: Psynergy shown in a cutscene |
| effect_radial.h | |
| effect_spawn.h | |
| effect_vertical.h | |
| item_equip.h | Colosso Log, River and Wall, and Goma Cave's entrance: giving a character an item and putting it on |
| kolima_blink.h | Kolima and its forest bridge: the sparkling dust that falls when Tret's curse strikes |
| kolima_forest_bridge_falling_effect.h | |
| kolima_grow.h | Kolima, its forest bridge and the forest's tree: an effect (object 26) that stretches as it travels |
| kolima_jump.h | Kolima's forest bridge and river: the hop east onto actor 10 (the third placement) |
| kolima_palette.h | |
| map_panel.h | |
| mercury_lighthouse_arrive.h | Mercury Lighthouse and its entrance: arriving on a floor through one of its sparkling passages |
| mercury_lighthouse_lights.h | |
| mercury_lighthouse_palette_cycle.h | |
| mercury_lighthouse_pillar.h | |
| mercury_lighthouse_risedrop.h | Mercury Lighthouse and its entrance: leaving a floor through one of its sparkling passages |
| mercury_lighthouse_sparks.h | |
| object_depth.h | |
| object_distance.h | |
| object_facing.h | |
| object_findcell.h | |
| object_findslot.h | |
| object_heading.h | |
| object_nearest.h | |
| object_orbit.h | |
| object_pairmove.h | |
| object_pulse.h | |
| object_staged_actor.h | |
| object_waitdown.h | |
| object_waitidle.h | |
| scroll_initialize_hblank_dma.h | |
| sol_sanctum_elemental_star_ring_setup.h | |
| sol_sanctum_init_zoom.h | Sol Sanctum's corridor and maze: the scenes' initialization |
| vale.h | Vale's storm and Vale's homes: going indoors through a door |
| vault_bone.h | Vault's interiors, before and after the thieves are caught: the Bone left on the floor of the house where the dog's owner offers bones |
| vault_djinn.h | Vault and its interiors: Ivan hands back Isaac's Djinni before he leaves the party |
| vault_itemobj.h | Vault's interiors, before and after the thieves are caught: an item lying on the floor, drawn as its menu icon (the Bone, at (568, 16, 672)) |
| vault_nearby.h | Vault, before and after the thieves are caught: the two villagers who walk about together (actors 14 and 15) |
| vault_range.h | Vault, before and after the thieves are caught: villagers who walk about stop when someone is close in front of them |
| vault_scene_cells.h | Vault, before and after the thieves are caught: the doorway of exit 11, which opens in two frames as the leader walks into it facing north |
| vault_spotflag.h | Vault's interiors, before and after the thieves are caught: whether the leader stands beside the Bone on the floor, which the scenes' event tables test through FLAG_SCENE_TEMP_50 |
| vault_talk.h | Vault and its interiors: a villager's thought read with Mind Read |
| vault_toggle.h | Vault, before and after the thieves are caught: touch triggers 1 and 2 swap the collision of the 4x2 cells at cell (23, 26) between two versions kept elsewhere in the map |
| world_map_linked_effects.h | |
| alpine_crossing_lama_temple.c | Alpine Crossing and Lama Temple, two scenes that share this overlay: |
| altin.c | Altin, the mining village flooded by the water the hydros statues in the mine spew |
| altin_peak.c | Altin Mine, the eleven rooms under Altin where the hydros statues flood the village |
| altmiller_cave.c | Altmiller Cave, six dark rooms where the party finds Babi, the ruler of Tolbi, invisible and unable to move |
| babi_lighthouse.c | Babi Lighthouse, the lighthouse Babi is building on old ruins near Lalivero |
| babi_palace.c | Babi Palace in Tolbi |
| bilibin.c | Bilibin's village, river crossing and raised warehouse approach |
| bilibin.h | |
| bilibin_cave.c | The cave that leads past Bilibin, in three sections walked in turn: the entrance section (BilibinCave3) with a Growth plant, the middle section (BilibinCave2) with Reveal and Douse, and the exit section (BilibinCave1), a puzzle of Douse, Frost and pushed actors |
| bilibin_interiors.c | Bilibin's shops, inn and dining room before and after Kolima's curse ends |
| colosseum_entrance.c | The colosseum where Colosso is held, in three scenes: the crowd outside the gates, the halls where the party watches the warriors' trials, and the finals' waiting room, where Isaac meets the seven warriors who cleared the trials and marches out with them to the finals |
| colosso_log.c | Colosso's third finals course: Isaac races another warrior through the Scales of Justice, the Stepping-Stone Stage, the Wall Wedge, the Free-Climb Area, the Moving Sidewalk Stage and a log-rolling area to the arena |
| colosso_river.c | A Colosso finals course: Isaac races another warrior through the Rock Challenge, the Pipeworks, the Broken Bridge and the Lumber Water Crossing Area to the arena, where the two fight |
| colosso_wall.c | Colosso's second finals course: Isaac races another warrior through the Mini-Maze, the shifting floor, the Log-Rolling Stage, the Wall and the Board Walk to the arena |
| crossbone_isle.c | Crossbone Isle: the first room's plants, ivy and Nut, the sliding-block room, the nine guarded rooms with their Move puzzles, and the last guards |
| crossbone_isle_pillar_rooms.c | Crossbone Isle's pillar rooms: pillars to push, jump across, Move and Carry, the switch that raises the water in room 3, and the pools Frost freezes in room 5 |
| crossbone_isle_platform_rooms.c | Crossbone Isle's platform rooms: the room of keys, the room of pursuers that Cloak and Halt get past, and the room of blocks where Bane hides |
| fuchin_temple.c | Fuchin Temple and the rooms that share its overlay: the temple grounds with the waterfall grotto, Nyunpa's hall, Master Feh's school in Xian and Master Hama's room in Lama Temple |
| goma_cave_entrance.c | Goma Cave's entrance: the stump caught in ivy, the two pillars, and Ivan, who rejoins the party and blows the ivy away with Whirlwind |
| goma_cave_pillar.c | Goma Cave: the room with two pillars, a stump and the Djinni Forge |
| goma_cave_pond.c | Goma Cave: the room the stump in the room above falls into |
| goma_cave_waterway.c | Goma Cave: the waterway rooms, where a stump leaps away under Move |
| gondowan_cave.c | Gondowan Cave: the soldiers guarding the bridge to Gondowan, Iodem waiting there on the way to Babi Lighthouse, and the cave's moving puzzles |
| hammet_palace.c | Hammet's palace in Kalay: Lady Layana hears that Hammet is still held in Lunpa, and later welcomes him home |
| imil.c | Imil, in two maps: the town and its interiors |
| imil_fuchin_falls.c | The Djinni's ice room by Imil and Fuchin Falls, in seven maps: the ice room, then Fuchin Falls' four platform rooms, the room of the Ki inscription and the dragon statue's room |
| imil_fuchin_falls.h | |
| kalay.c | Kalay, in six maps: the town, the palace gate, the cave by the palace's secret passage, two more maps and the tunnel with the two blocks |
| kalay_interiors.c | Kalay's homes, inn, dining rooms and sanctum |
| kalay_tolbi_docks.c | The Kalay and Tolbi docks: tickets, boarding, the crossing's aftermath, and the passengers waiting for the ship to leave again |
| kalay_tolbi_docks.h | |
| kolima.c | Kolima, whose villagers the forest's curse has turned into trees, in three maps: the village, an interior and the bridge |
| kolima_forest_bend.c | Kolima Forest's bend, between the river and Tret's tree |
| kolima_forest_bridge.c | Kolima Forest's bridge, where the road from the world map enters the forest |
| kolima_forest_clearing.c | Kolima Forest's clearing, between the bridge and the river |
| kolima_forest_river.c | Kolima Forest's river, between the clearing and the bend |
| kolima_forest_tree.c | Kolima Forest's clearing before Tret, the great tree, and Laurel: once Tret's hostile heart is defeated, Hermes' Water heals him and lifts Kolima's curse |
| kolima_interiors.c | Kolima's houses and shops, whose residents stand as trees while the curse lasts |
| lalivero.c | Lalivero, the desert town below Babi Lighthouse |
| lalivero_interiors.c | Lalivero's buildings, on two maps |
| lamakan_desert.c | Lamakan Desert, four maps of sand between Altin and the world map east |
| lemurian_ship.c | The Lemurian ship's hidden harbor at Lalivero, and the end of the game |
| lunpa.c | Lunpa, the town under Dodonpa's fortress, on two maps: the town itself (Lunpa 1), with its well, its hidden passage to the jail and Reveal's secrets, and the gate below the fortress (Lunpa 2), where two guards turn the party away until Cloak gets them past |
| lunpa.h | |
| lunpa_fortress.c | Dodonpa's fortress above Lunpa, on four maps |
| lunpa_fortress.h | |
| lunpa_fortress_staging.h | |
| lunpa_suhalla.c | The buildings of Lunpa, and the house by the gate to Suhalla: homes, the weapon, armor and item shops, the inn and the temple |
| lunpa_suhalla.h | |
| mccoy_palace.c | Lord McCoy's palace in Bilibin |
| mccoy_palace_garden.c | The garden before Lord McCoy's palace in Bilibin |
| mccoy_palace_garden.h | |
| mercury_lighthouse.c | Mercury Lighthouse, in four maps |
| mercury_lighthouse_aerie.c | Mercury Lighthouse's aerie: the platforms the leader jumps between, the party's arrival and the confrontation with Saturos and Menardi, the battle with Saturos, and Alex's scene after it |
| mercury_lighthouse_entrance.c | Mercury Lighthouse's entrance: Mia's doorway scene, the Ply mechanism, and the rising pillars used to cross the interior pools |
| mogall_forest.c | Mogall Forest's three areas |
| sanctum.c | A sanctum: Vale's, where the Great Healer asks Isaac to go to Sol Sanctum and a refusal ends the game, or another town's, with its healer |
| sol_sanctum_corridor.c | A corridor of Sol Sanctum, scene 15: two exits to scene 16 and nothing else |
| sol_sanctum_elemental_star_room.c | Sol Sanctum's Elemental Star room: the party bags the four stars from their pedestals, Saturos and Menardi take Jenna and Kraden hostage, and Alex takes the stars |
| sol_sanctum_entrance.c | Sol Sanctum's entrance, in two maps: the door, the two minotaur reliefs that open passages once the Small Jewels are set in them, and the rooms of movable blocks |
| sol_sanctum_entrance.h | |
| sol_sanctum_eruption.c | Sol Sanctum collapsing as the volcano erupts: Saturos and his group take Jenna and Kraden away, and the Wise One rescues Isaac and Garet |
| sol_sanctum_eruption.h | |
| sol_sanctum_luna_sol_rooms.c | Sol Sanctum's hall of the Luna and Sol rooms: the rooms take on the tint of the seals' lights, and Kraden studies the symbols on the floor |
| sol_sanctum_luna_sol_rooms.h | |
| sol_sanctum_maze.c | A maze of Sol Sanctum, scene 14: two exits to scene 16 and the chest that holds the second Small Jewel (item 0xe1) |
| sol_sanctum_psynergy_stone.c | The Sol Sanctum room that holds a Psynergy Stone, scene 13 |
| sol_sanctum_statue.c | Sol Sanctum's statue hall: four statues pushed onto their seals and two that shine their beams at the centre open a hole in the hall's floor, and Kraden explains the puzzle |
| suhalla.c | Suhalla, the town at the edge of the Suhalla Desert |
| suhalla_desert.c | The Suhalla Desert in three scenes |
| suhalla_gate.c | Suhalla Gate in three scenes: the gate with the house beside it, a second scene where a Djinni waits, and a third |
| suhalla_gate.h | |
| suhalla_interiors.c | Suhalla's houses, shop, inn and sanctum |
| suhalla_interiors.h | |
| tolbi.c | Tolbi, the town of the Colosso festival |
| tolbi.h | |
| tolbi_interiors.c | Tolbi's interiors: the houses, inns, shops and sanctum of the festival town |
| tolbi_interiors.h | |
| tolbi_ship_deck.c | The deck of the ship across the Karagol Sea, from Kalay to Tolbi: the wait at the Kalay dock while the replacement ship fails to come, setting sail with the passengers at the oars, the sea monsters and the Kraken, the arrival at Tolbi, and the stop at anchor off the island |
| tolbi_ship_interiors.c | Below the decks of the ship across the Karagol Sea: the captain's cabin, the passengers' hold and the rowing deck |
| tolbi_ship_mast.c | The mast of the ship across the Karagol Sea, where the lookout announces the course, the approaching monsters and land, and an Anchor Charm can be found |
| tolbi_spring.c | Tolbi's spring and the game rooms beside it: Lucky Medals or coins tossed into the spring win prizes, and the attendants run Lucky Dice and Lucky Wheels |
| tret_tree_branch.c | A branch of Tret, the great tree, where Breeze, a Jupiter Djinni, waits; touch triggers move the leader and the camera along the branch |
| tret_tree_interiors.c | Inside Tret, the great tree: cracked floors that give way under the leader on the second step, and Tret's face, which attacks the party |
| tunnel_ruins.c | The tunnel ruins, in two scenes of Psynergy puzzles: pillars to push or Move, blocks, bushes for Whirlwind, sinking pillars and puddles for Frost in the first; a pillar for Douse, balance platforms, statues that vanish under Reveal and more pillars in the other |
| vale.c | Vale's plaza and the paths around it in daytime: the game opens here three years after the storm with Isaac mending his roof (entrances 16 and 17), and the villagers talk of the story before the party leaves, after it has left and after its return from Kalay |
| vale.h | |
| vale_babi.c | The south-west of Vale around Isaac's house, through the stormy night, the party's departure and its return; entrance 19 is instead a room of Babi's scholars, and entrance 22 shows the Mythril Bag |
| vale_cave.c | The cave above Vale: three rooms of Psynergy puzzles, where the Jupiter Djinni Kite hides |
| vale_eruption.c | Vale's square during the eruption, where the villagers wait for Isaac and Garet to come down the mountain |
| vale_home.c | Vale's village: its doors, the Psynergy Stone, the stormy night when the villagers send Isaac to the elders and he overhears the two surviving travelers, the villagers' farewell when the party sets out (entrance 12), and the village after the party's return from Kalay |
| vale_home.h | |
| vale_interiors.c | The houses and shops of Vale |
| vale_kraden.c | The north of Vale around Kraden's cottage: the fence above the village, the path down to the plaza, and the cottage's gate |
| vale_storm.c | Vale on the stormy night: the paths and doors the party passes as the storm rages, with Dora and Kyle on the first arrival |
| vault.c | Vault after the eruption, while Hammet's Shaman's Rod is missing and after the party has jailed the thieves |
| vault_cave.c | Vault's cave puzzles: movable switches, Frost targets, falling objects and the rumbling mechanism restored when the party returns |
| vault_interiors.c | The houses, shops and inn of Vault while Hammet's rod is missing |
| vault_interiors_revisit.c | Vault's houses, shops and inn on the party's return, after the thieves have escaped from jail |
| vault_jail.c | Vault's jail, where the thieves who stole Hammet's Shaman's Rod are held; on the party's return a lone prisoner takes their place |
| vault_revisit.c | Vault after the thieves escaped from jail, when the party passes through again |
| venus_lighthouse.c | Venus Lighthouse, in six scenes: floor switches that slide walls aside, blocks that sink into sockets to open gates, and sparkling passages the leader steps through |
| venus_lighthouse_aerie.c | Venus Lighthouse's aerie: the pillars the leader jumps between, the Shaman's Rod handed over for Sheba, and the battle with Saturos and Menardi, who fuse |
| west_lunpa_cave.c | West Lunpa Cave: a gate puzzle of switches and puddles that Frost freezes into pillars, and Bunza, whose wagon carries the party out of Lunpa |
| west_lunpa_cave.h | |
| world_map.c | The world map: the Djinn met on it, the passages between its regions, the map markers, and the actors of particular arrivals |
| xian.c | Xian: the water carrier who spills her water, Frost on the spill, the kung fu student and his training tree, Feizhi, and a Mercury Djinni |
| xian_interiors.c | Xian's houses, shops and inn, and the room behind Master Feh's school, where Master Feh, Feizhi and Hsu wait once Hsu is back |
| shop | The counters: shops, the artifact counter and the sanctum |
| shop | |
| artifacts.c | The Game Ticket counter, the gift items and every shop's stock |
| buy.c | Buying: the stock list, the money and party windows, quantities and prices |
| cursor.c | The selection frame and price digit tiles, and the hand cursor |
| inn.c | The inn: room prices, checking in and the night's sleep |
| item_picker.c | The item picker: which member's item to drop when every bag is full |
| repair.c | Repairing broken items |
| run.c | Running a shop, its cursor work, and the message helpers every counter uses |
| sanctum.c | The sanctum's services, their prices and their sparkles |
| sell.c | Selling: choosing a party member, the item grid and the sale |
| shop.c | The shop object: every counter the party trades at |
| shop_internal.h | What every part of the shop object shares: its includes, the shop actions and sanctum services, and the values that differ by edition |
| sound | The sound cue layer and the sound driver |
| audio.c | |
| empty_callback.c | |
| engine.c | |
| sound.c | |
| tables.c | |
| system | What ties the image together: header, IWRAM code, BIOS calls, far calls |
| resource | |
| metadata_get_record.c | |
| save | |
| atmel.c | |
| flash.c | |
| program_flash_sector.c | |
| savedata.c | |
| sst.c | |
| window | The window system and the screens built on it |
| battle_command | |
| command_row.c | The row of command icons the player picks a command from |
| debug.c | The debug menus (scenes, flags, icon browsers) and the system menu's choices |
| djinn_menu.c | The battle Djinn menu |
| djinn_preview.c | The preview of what setting or removing a Djinni changes |
| icon_menu.c | The command icon menus of the field, title and transfer screens |
| item_menu.c | The battle item menu |
| joined.c | The Colosso choice and the joined-party messages |
| link_timer.c | The link battle timer and the no-escape check |
| name_entry.c | The name entry screen |
| outputs.c | Sprite outputs, portraits and the window spans |
| party_commands.c | Collecting the party's battle commands |
| party_status.c | The party status window |
| pictures.c | Pictures and command icons loaded for the menus, and BG1's priority |
| psynergy_menu.c | The battle Psynergy menu |
| save.c | Save files and the save file menu |
| status.c | The status screen |
| summon_menu.c | The battle summon menu |
| targets.c | Choosing a battle target |
| window | |
| decode.c | The message decoder: articles, names and numbers written out |
| frames.c | Window zoom and frames, and opening and waiting on message windows |
| glyphs.c | Characters rendered into tiles, string widths and number formatting |
| icons.c | Item, Psynergy and command icons |
| measure.c | Sizing windows to their text and fitting them on the screen |
| messages.c | Message strings and arguments, symbol decoding and portrait windows |
| options.c | Window colours, the option screen and the system menu |
| selection.c | The selection screen's row of icons, and the field menu |
| shortcuts.c | The area name notice, the Psynergy shortcut picker and heap block 19 |
| sprites.c | Characters drawn into windows, and the per-frame sprite update |
| text_tiles.c | Text drawn as tiles, text tile ownership and divider lines |
| typing.c | The per-frame message update: typing text and running its control codes |
| windows.c | The render output pool, opening and closing windows, starting messages |
| articles.c | |
| battle_command.c | The menu object of the window bank: the screens built on the window system (window.c) |
| battle_command_internal.h | What every part of the menu object shares: its includes, edition values, macros and the link round state |
| glyph_arm.c | |
| scales.c | |
| text_speed.c | |
| window.c | The window object: the UI windows drawn into a shared BG tilemap, the message channels that type text into them, the message decoder and the formatting behind it, the sprites (render outputs) that windows carry, icons, the selection screen and the option and system menus |
| window_internal.h | What every part of the window object shares: its includes, edition values, macros and the codes of decoded text |