| C[union].sScrollingSprites | Initialization writes each three-word OAM packet; drawing updates its fields |
| CAbilityListEntry | A Psynergy the debug shortcut picker lists: its owner and the Psynergy |
| CActorTable | The event work, seen for its table of the scene's 66 actor slots |
| CAdvanceSprite | One OAM entry for Runtime_PushSlotEntry |
| C[union].attributes | |
| C[struct].attributes.fields | |
| CAffineMatrix | One OAM rotation-scaling matrix: pa, pb, pc and pd in 8.8 fixed point, the inverse of the transform the sprite is drawn with |
| CAffineTransform | A sprite's rotation and scale: scales in 8.8 fixed point (0x100 is full size), the angle in 1/65536 turns |
| CAnimationEntry | One animation layer of a sprite: its animation id, frames, running script and timer |
| CAnimationMetadata | An animation's metadata: the sprite's size, scale and offsets, how its frames are drawn and decoded, its frames and its animation scripts |
| CAnimationObject | An animated sprite: its image and shadow, scale, rotation, size and up to four animation layers |
| CAnimationSpritePart | The hardware sprite attributes one part of an animated sprite (its image or its shadow) is drawn with |
| CArcEffectObject | A field object as Avoid's caster: its facing, its animation records and the phase and frame count of its per-frame callback |
| CArcSprite | A sprite as the arcs set it up: its three OAM attributes and its bookkeeping |
| CArticleTable | The article written before a name of each article class |
| CB5Context | The object context a battle routine reads; most of its fields are still unnamed |
| CBattleAct | An ability's definition, a row of gBattleAction_DefinitionTable: its targeting, kind, element, effect, range, PP cost and power |
| CBattleActionRecord | A unit's chosen action for the turn: its command, the command's parameter, its target and range, and its priority in the turn order |
| CBattleAffine | The battle background's affine parameters and reference point, copied whole to the BG2PA registers |
| CBattleAffineHdma | The battle background's scanline work in heap slot 10: two pages of per-line BG2CNT values, swapped each frame, and the affine parameters |
| CBattleAnimationState | An actor's animated sprite, as far as the pointer to its sprite id |
| CBattleAutomaticState | An enemy's memory of its action choice, kept in BattleUnit.rewards (0 in every row of enemies.tsv, so it starts cleared) |
| CBattleBackgroundView | The battle background's work slot as the background code reads it: its display mode (2 draws it as an affine perspective plane) |
| CBattleBaseStats | A copy of a unit's base stats, from baseHp to its element stats, kept while its level is adjusted: BattleEnemy_AdjustLevel reads only the stats it changes, for their 70 percent floors |
| CBattleCamera | The battle camera: its eye, the focus it turns about, and its pitch, yaw and distance |
| CBattleCanvasOrigin | Two adjacent affine background coordinates, queued together for BG2X/BG2Y |
| CBattleDisplayOffset | The battle message's text channel, as far as its offset in the window |
| CBattleDisplayWork | The battle message display: its window, its text channel and whether the next message is marked |
| CBattleEffectArgument | The command shared by an effect's caller, dispatcher and handlers |
| CBattleEffectBuffers | The colour buffer (heap block 32) that fades the BG and OBJ palettes: the source palette, the shown and target colour channels, their per-frame steps, and two pages of packed RGB555 colours queued each frame |
| CBattleEffectEntry | A speaker definition, a row of gBattleFx_DefinitionTable: a sprite, its portrait (0xff for none) and the flags that choose its idle line |
| CBattleEffectIndexWindow | What BattleFx_BuildCenteredIndexList (unused) reads: a value to find in a list, and how many indices either side of it to keep |
| CBattleEffectWork | The running battle effect's work: its canvas image, 64 particles, the display registers it stages and its animation objects |
| C[union].__unnamed0__ | Images and scanline tables reuse the storage before the particles |
| C[struct].__unnamed0__.__unnamed0__ | |
| C[struct].__unnamed0__.trackedCanvas | The tracked elemental scene stages its origin inside the image area |
| CBattleElementStats | A unit's elemental power and resistance in one element |
| CBattleEventQueue | The battle event queue: up to 64 events, each an opcode (enum BattleEventOpcode) and one operand, in the order they play |
| CBattleEventState | The battle event queue and the state of its playback: the phase, the event playing and the advance arrow |
| CBattleFormationRecord | An enemy formation: its battle type and up to five kinds of enemy, each with the fewest and most of it that appear |
| CBattleFxScene | The work of a Psynergy effect scene: its caster and target, where it takes place, the map state it restores and its 24 effect slots |
| CBattleGroupOrder | The order the two sides' units take their round-end effects in, as gBattleParty_RoundEndGroupOrder gives it |
| CBattleLinkedActionState | The header a link battle sends before its actions: how many there are, the next random number to check the consoles agree, and the parent's random seed for the round |
| CBattleLocationRule | A field scene's encounter zones (gBattle_LocationRules, location_rules.s), ended by scene -1 |
| CBattleMenuWork | The battle command menus' work, heap slot 57 (0x104 bytes), reached as gLinkCountdownWork |
| CBattleObj | A unit's place on the battlefield: its sprite object, resources and animations, its anchor spot and scale, and the conditions it shows |
| CBattlePlan | One action, as BattleCommand_BuildPlan lays it out for BattleTargetExec to apply target by target |
| CBattlePresentationTransition | The battle background's work slot as the camera reads it: the yaw the camera eases toward and the frames left to ease it |
| CBattlePresentationWork | The effect updates its command while the presentation keeps animation state |
| CBattlePromptSprite | One OAM entry in a sprite list: the arrow that waits for the player to advance a battle message |
| CBattleRenderObject | A field actor as the speaker lookup reads it: its kind (1 for an animated sprite) and that sprite |
| CBattleSpoils | A battle's spoils so far: coins, experience, enemies defeated and up to four items |
| CBattleSpriteDefinition | An enemy class's battle sprite: its animation, size, attack effect, palette and defeat-sound kind |
| CBattleSummonState | The party's Djinn recovery table as summons read it: the mask of summons the party can call, bit n for summon n |
| CBattleTransitionEntry | What BattlePresentation_InitializeTransitionEntries treats as an array of these; Transform_SetIdentity writes over it as a matrix |
| CBattleUnit | A unit in battle: a party member's or an enemy's stats, Psynergy, items, Djinn and ailments |
| CBattleWork | The battle's own work: its enemies, units and their objects, the turn's actions, the spoils, the background palette, the plan and the events |
| CBeaconSpark | A spark the beacon flame throws off, swinging round the flame on its arc |
| CBendLog | A log's saved record: its sprite, first map cell and orientation, then its actor once created |
| CBgAffine | One background's affine registers, BG2PA to BG2Y |
| CBgScroll | A background's hardware scroll offsets |
| CBlendScriptState | The map's running blend script, which sets the blend registers over time |
| CBoltSparkBuffer | Ram_MapCellBuffer as the falling bolts use it: window 0's scanline table, then the bolts' sparks |
| CBuildStampCopy | The build stamp's twelve digit characters copied to IWRAM, and a zero word after them that ends the string |
| CBurstParticleVector | A point Growth works out round the effect's position |
| CBurstParticleVisual | A particle sprite's attributes |
| C[union].attributes | |
| C[struct].attributes.bits | |
| C[struct].attributes.bytes | |
| CBurstParticleVisualGroup | A particle's sprite, seen as its two parts' attributes, which Growth copies from the first to the second |
| CCam | |
| CCameraWork | The battle camera (struct BattleCamera) as the effects that swing it see it |
| CCaptureObject | A FieldActor seen with the halfword at 0x5e (lifetime), which FieldActor does not name |
| CCaveDustOptions | EffectOptions cut after its scales: the caller's frame holds only these 24 bytes |
| CCaveEffectScripts | The three action scripts cave dust can run, chosen by its spawn flags |
| CCellCopy | A block of map cells copied from one place in the map to another |
| CCgbNote | A note on one of the four CGB channels of the hardware: its state and envelope, its levels and pan, its frequency and its wave |
| CCharacterDefinition | A character's definition: the growth curves of its stats, its element bonus, starting level and starting equipment |
| CCharacterMenuState | The work of the member chooser and the Status menu, in the HEAP_SLOT_MENU work slot |
| CClassAbility | An ability a class teaches, and the level it is learned at |
| CClassDefinition | A class: its series, the element levels it needs, its stat multipliers and the abilities it teaches |
| CColossoGaugeSprite | One sprite of the race gauge's list: a link word, its position and shape attributes, and its tile |
| CColossoGaugeWork | The Colosso race gauge's work at the start of work slot 59: its sprites, how far it has slid down, the racers and the finish |
| CCompetitorState | The mode and stage bytes of the menu control work, set while Isaac is shown on the stage and reset when he is put back |
| CConfiguredEffectOptions | The options a scene passes to Effect_Spawn for a configured effect: its kind, mode, rates and callback |
| CCrossboneIslePillarCell | A copied map cell, also read in the two flag pairs the pillar redraw keeps |
| CCrossboneIslePillarCellBits | |
| CCursorSlot | A target marker's track: where it is, its state flags and the target it follows |
| CCursorSprite | A cursor or prompt sprite: a list link and its OAM attributes as fields |
| CCurtainSprite | The curtains: three columns of eight 32 by 8 sprites that close in from the sides as the ship sails |
| CDebugPartyEntry | One row of the debug party presets (presets.tsv): a party member, the level to raise them to, the djinn of each element to give them, the items to equip and up to two abilities to teach |
| CDescendingArcSprite | A falling arc's sprite, seen as the attribute bits, resource slot and animation that Retreat sets on it |
| C[union].attr | |
| C[struct].attr.half | |
| C[struct].attr.byte | |
| CDescendingOrbitObject | A FieldActor seen with the halfword at 0x64 unsigned and the one at 0x66 signed, as the bytes read them (FieldActor's own types change the code) |
| CDirectionSteps | The step table read as one word per heading: the x step in pixels in the high halfword, the z step in the low |
| CDirXZ | The way a drifting floor carries the party: -1, 0 or 1 on x and on z |
| CDispatchObject | A field object as the object dispatcher's far calls take it |
| C[union].target | |
| CDisplayRegisters | The display control and green swap registers, REG_DISPCNT onward |
| CDisplayScrollObject | One eight-byte OAM entry in the credits' private sprite buffer |
| CDisplayScrollWork | The wavy background's work: two pages of BG1 to BG3 scroll offsets for each of the 160 scanlines, and the sine wave that bends them on each axis |
| CDisplayTransitionFrame | The display transition state as the centre-line transition and the dissolve read it: the dissolve's tile pixels and the transition's progress |
| CDisplayTransitionState | The display transition state (heap block 31): two pages of window edges for every line, the dissolve's solid tile, and the transition's mode and progress |
| CDisplayTransitionWindow | The map work's display fields that transitions use: its display control bits and the lines where the centre-line transition shows and hides the screen, with the VCount interrupt's copies and phase |
| CDjinnDefinition | A Djinni: its ability and the stat bonuses it gives while set |
| CDjinnListTable | The Djinn menu's lists: each party member's Djinn entries and their count |
| CDjinnMenuBackdrop | The Djinn menu's lists, the field tiles and palette it restores on closing, and the tutorial's state |
| CDjinnMenuWork | The Djinn menu's work, in the HEAP_SLOT_MENU work slot |
| CDjinnRecoveryEntry | A Djinni on standby or recovering: its element and index, its owner, and the turns until it is set again |
| CDjinnRecoveryList | One side's Djinn recovery list: up to 64 entries and their count |
| CDjinnRecoveryTable | One side's Djinn recovery table, as Djinn_GetRecoveryTable returns it |
| CDmaRegisters | A DMA channel's registers (DMAxSAD, DMAxDAD, DMAxCNT) |
| CDoorAnim | Each village door the party can walk through: its opening picture and the cell it is drawn at |
| CDualColumn | One growing column, laid over a struct EffectStep in work->particles |
| CDustWord | A particle's first word, seen as a value or a link |
| CEffect | A field effect's layout, as FieldEffect gives it; no TBS code names this struct |
| CEffect05Object | A FieldActor seen with the halfword at 0x5e (here its phase), which FieldActor does not name |
| CEffect05State | Douse's effect work: the orb's destination (or the angle toward it), the target, and the flags that choose how the light falls |
| CEffectDescriptor | One of the scene's events (the same 12 bytes as struct SceneEvent) |
| CEffectObj | An actor as these effects see it |
| CEffectOptions | The options of a spawned field effect, each used when its EFFECT_USE_ flag (or EFFECT_SCALE_TO_TARGET) is set |
| CEffectPosition | A point projected onto the screen, with its depth |
| CEffectSlot | A particle a Psynergy effect moves and draws: its sprite, its position and target, its speed, scale and heading, and its per-frame callback |
| CEffectStep | A moving point of an effect: its position, its velocity and a value each effect uses its own way (a size, a timer, -1 for idle) |
| CEffectVector | A world position, as Camera_WorldToScreen converts it to the screen |
| CElementLevelBonus | The elemental power and resistance of one element level |
| CEncounterZone | An encounter zone, a row of encounter.tsv: its rate, the level it is made for, and the enemy groups that can appear with their chances |
| CEnemyDefinition | An enemy's definition: its level and stats, items, element preset, the actions it chooses from and its rewards |
| CEnt | |
| CEventGlobals | The work slot pointers from the event work (slot 27) onward, reaching the palette buffer work in slot 32 |
| CEventWork | The running scene's event work: its placement and event tables, its actors, the triggers and exit it has hit, encounters, transitions and the message on show |
| CFacingObject | A field object seen as one that turns toward its facing target: its facing, its ground position and the target |
| CFadeOverlayWork | The fade overlay draws one mark on each side of its tracked actor |
| CFadeView | The map work in heap slot 8, seen as the halfwords of its view position: the high halves are the view's x and z in whole pixels |
| CFieldActor | A field actor: a person or thing on the field with a position, motion toward a target, sprites and an update callback |
| C[union].__unnamed0__ | |
| CFieldBlendWork | The storm's lightning work: the colours it flashes between and their difference, the countdown to the next flash and whether the thunder is loud |
| CFieldCoordinate | A field coordinate, read whole or as its fraction and its whole pixels |
| C[struct].part | |
| CFieldEffect | A field effect: a small object on the field that moves at its velocity and grows and spins at its rates, run by its script and update hook |
| CFieldObject | An object on the field, read as an actor or as an effect |
| CFieldPosition | A position on the field |
| CFieldWork | Full event work allocated by Field_RunScene (heap slot 27) |
| CFixedPointPosition | A position in three coordinates, each in 16.16 fixed point |
| CFlags35 | An actor seen only as its priority flags at 0x23 (enum ActorPriorityFlag) |
| CFlashSector | Sector size and count |
| CFlashSetupInfo | Settings for each flash chip model (44 bytes), in flash_setup's field order from flashset.s |
| CFlashType | Flash chip type (the 24-byte record pointed to by gFlash) |
| CFontGlyph | A character of the text font: its width and its rows of pixels |
| CFormationCandidate | A formation that may be chosen for the party's level: its record and its enemies' average level |
| CFourObjectMotionState | The menu work as the row of four figures reads it: each figure's object, screen position and motion phase |
| CGameState | The game's state: play time, coins, the scene and the leader's position, the active party and the options |
| CGlyphCursor | Two halfwords of a selection record, the second cleared as its cursor |
| CGlyphPalette | A compact palette shared by a selection's command icons: the slot each icon colour was given, or 255 for none yet, and how many slots are taken |
| CGlyphTransfer | |
| CGomaCavePillarFragmentScripts | The action scripts a pillar fragment can run, chosen by the low bits of its spawn value |
| CGroundParticle | One weather particle: OAM attributes followed by its world position |
| CGroundParticleWork | Work slot 29 while ground particles, motes or sparkles run |
| CHalf | A halfword holding the zero the gauge's slide and phase are cleared with |
| CHeapState | The heap's 64 work slots, the first two holding the next free EWRAM and IWRAM addresses |
| C[struct].heap | |
| CImpactChip | One chip of the impact, laid over the same 28-byte records as PARTICLES but with its velocities in other places than struct EffectStep's |
| CInnRuntimeState | An inn's work, in the menu work: the coins window and the innkeeper's portrait |
| CIntroSprite | A sprite of the "Press Start" prompt, linked into a render slot each frame: OAM attributes 0 to 2 with the position split out |
| CIntroWork | The title intro's state, in heap slot 43 |
| C[union].area | |
| C[struct].area.prompt | |
| CInventoryMenuState | The item menu's work, in the HEAP_SLOT_MENU work slot: its windows, the party figures, the items listed and the two choices a command makes |
| CIoWriteQueue | The register writes VBlank carries out once the frame loop has finished a frame; IoWriteQueue_FlushPending empties it |
| CItemBreakFragmentObject | A FieldActor seen with the halfword at 0x5e (its lifetime), which FieldActor does not name |
| CItemDefinition | An item's definition: its price, type, who can equip it, its bonuses and unleash, its effects and the action it is used for |
| CItemEffect | One effect of an item while equipped: its kind (enum ItemEffectKind) and amount |
| CItemPickerResult | The event work as the item picker sees it: what the player chose, for the event script |
| CJudgmentWork | Judgment's work block, laid over struct BattleEffectWork from its start |
| CLayeredSceneEntry | A row of gMap_LayeredScenes: a layered map's resources, counted from ResourceId_Map001: its header, palette, three tile sheets and layer data |
| CLayeredSceneHeader | A layered map's header: the camera's bounds, the layers' priorities, tile bases and setup, and the offsets of its packed tiles, collision, tilemap, tile animation, blend script and marker list |
| CLayeredSceneLayer | One background layer's setup in a layered map's header: its origin, its parallax and drift, and where it wraps |
| CLevelUpResult | A level up's result: the level reached, an ability learned and the gain in each stat |
| CLevelUpWork | Scratch for Owner_LevelUp, in the alternate pool |
| CLightWheel | The ring of five lights above room 6's rocks as it spins to its next light: angles are 16-bit turns, the light at the top is the chosen one |
| CLinkPeer | The partner console's signature as the lobby reads it: a word for each slot column |
| CLinkSignature | The partner console's signature as the link battle timer reads it: four letters that restart the countdown |
| CLuckyDiceSprites | The used prefix of Lucky Dice's 0x618-byte work block (heap slot 45): its sprites and windows |
| CLunpaDoor | One house door: the cell animation that opens it and where it plays |
| CLzPackNode | A position of the LZ packer's window in the chain of the byte value it holds |
| CLzPackWork | The LZ packer's work: a node per window position, a chain head per byte value, the byte at each position, the best match and the output |
| CMapAffineLine | One screen line's affine parameters for a background, as the HBlank DMA copies them into the BG2 or BG3 registers |
| CMapAffinePair | One screen line's affine parameters for BG2 and BG3 |
| CMapAnimation | One of the 16 tile animation channels, which copy tiles into VRAM by script |
| CMapCell | One cell of a map layer: its metatile and flags, its collision code and an attribute indexing the collision table |
| CMapCellAnim | Cell replacement: procedure and destination cells |
| CMapCopyCommand | One step of a map edit sequence: the rectangle of cells to copy from and the wait after it |
| CMapFrameWork | The world map's frame work in heap slot 7: the scanline terms and two pages of per-line affine parameters, one built while the other is shown |
| CMapLayer | A map layer's scroll record, seen from its cells |
| CMapLayerScroll | One background layer of the field map: its scroll position, origin, parallax against the view, drift and wrap, and its first map cell |
| CMapRenderWork | The world map's perspective work (struct PerspectiveWork) as the world map scene sees it, for the map's rotation |
| CMapScanline | One screen line's ground-plane terms on the world map: its width scale and distance, from which its affine parameters are built |
| CMapScrollWork | The field map's work: the followed position, screen shake, tile animations, blend script, view and its bounds, and three scrolling layers |
| CMapState | The map work in heap slot 8 (struct MapScrollWork), seen as its tile animation channels, blend script and layers' cells |
| CMapTilePos | The top left of a layer's visible area, in cells |
| CMarkerCoordinate | The pointer's glide start on one axis, read signed or unsigned |
| CMarkerMap | The start of the map's work |
| CMarkerSlot | A map marker placed as an actor: a chest or a Psynergy stone |
| CMenuCtrl | The object system's work (struct ObjectSystemWork), seen as the flag that suspends sprite projection while the menu opens |
| CMenuCursor | A menu cursor: its render output, or the cursor that approaches its target |
| CMenuPoint | A point on the screen where a menu shows its cursor |
| CMenuResult | A paged list for one party member: their unit, the list's length and pages, and the page and row of the entry chosen last |
| CMenuSprite | A menu sprite: a list link and its OAM attributes, as two words or as fields |
| C[union].oam | |
| C[struct].oam.word | |
| C[struct].oam.f | |
| CMenuWorkspaceEntry | One of the seven entries of the option screen's work from offset 0x400; only its state is known |
| CMercuryLighthouseLights | Published in the scene's light-controller slot while the pillar is active |
| CMotionObject | An effect object that moves and draws one sprite: its position, scale, velocity and target, and its per-frame update |
| CNodeChainNode | |
| CNodeChainState | |
| COamShadow | OAM buffer: sprite entries a routine builds by hand and DMA copies to OAM |
| COamUsage | How many OAM entries are in use, and the most that may be |
| COarSprite | An oar's animation object, seen for the tilt that follows its swing |
| CObject | A field actor (struct FieldActor), seen with its position as one vector |
| CObjectCameraFixed | |
| CObjectCameraObject | A field object, as the camera reads it |
| CObjectCameraPoint | A point the fixed camera looks from or at |
| CObjectCameraTile | A map cell's word, as the camera reads it |
| CObjectRuntime | One of the 64 field objects in the object pool (heap slot 5): its script, position, motion toward a target, animation and update callback |
| CObjectSlotTable | The event work seen as its actor slots, which the actor commands index by actor number |
| CObjectSystemWork | The object system's work: the flag that suspends sprite projection, the outline's edge and fill colours, and the resource slots |
| CObjectTableSnapshot | Actors kept across a battle or a saved scene, with parallel sprite state |
| COneCell | |
| COrbitingSceneObject | A floating Nut's actor: its position, the spot it sways around and how far through the sway it is, its sprite and its callback |
| COrbitingSceneObjectSprite | A floating Nut's sprite, seen as the attribute bits, palette and state its scenes set |
| COverlayActorPosition | An actor seen only as the coordinate at 0x08, which Goma Cave's stump reads in 16-pixel map cells |
| COverlayActorState | An actor seen only as its priority flags at 0x23 (enum ActorPriorityFlag) |
| COverlayObject | A field object as a Mercury Lighthouse beacon spark sees it: its position and target, its angle round the flame and the flame it is linked to |
| COverlayObjectRecord | |
| COwnerActionSlot | An entry in a unit's action list: the action's id (OWNER_ACTION_ID_MASK) and marks for an action its class or an equipped item gave |
| COwnerStatusCursor | A cursor stop on the status screen's equipment or conditions: its help entry and where the cursor points |
| COwnerStatusStatCursor | A cursor stop among the status screen's stats: its help entry, where the cursor points and the run of the row it highlights |
| CPackedWord | A word put together from its four bytes, lowest first |
| C[struct].part | |
| CPalacePlacementTalkFacingView | The talkFacing bytes of placement rows 6 to 9: actors 14 to 17 |
| CPaletteFade | A colour buffer for all 512 palette colours: the source palette, the shown and target colour channels, their steps, and two pages of packed colours |
| CPaletteSnapshot | A palette cycle: a run of up to 16 background palette colours, saved and rotated by one colour every delay + 1 frames |
| CPaletteSnapshotWork | The palette cycling queue (heap slot 28): four cycles and how many are in use |
| CPartyStatusWindow | The party status window's layout: its window, its place and size, and what it shows (PARTY_STATUS_ flags) |
| CPasswordOwner | A party member as the password reads them: their level, base stats, inventory and Djinn |
| CPasswordStats | A party member's base stats, which the password clamps and packs |
| CPathRecorder | The Colosso rival's path player in the scene state: its mode (1 playing, 2 recording, 9 finished), whether it mirrors the path, the actor, its place in the path and how long the actor has stood still |
| CPathWork | The race's work: the gauge (struct ColossoGaugeWork) and then the path, in pixels, as pairs of x and z, one pair a frame, ending with (0, 0) |
| CPerspectiveWork | The world map's perspective view: the followed position, screen shake, view position, window, pitch and yaw, tile ids and zoom |
| CPillarPlacement | A pillar slot's place and ground cell, without its flag; it holds one slot while two are swapped |
| CPillarSlot | Where one of room 4's pillars stands, the ground cell saved under it and its footprint flag |
| CPlayerSlot | An entry of the player table: a player, its tracks and track count, and its priority check |
| CPoint2D | Two-dimensional {x, y} pair for position or velocity, a local of the summon scenes (Nereid, Procne, Tiamat and Ramses) |
| CPolarOffsetPosition | The polar-offset routine walks three array elements |
| CPosition | The camera's eye or target point, as this routine reads it |
| CPresetValues | An enemy's element preset in gEnemy_ElementPresetTable: the element it attacks with, its level in each element, and its base power and resistance in each element as packed halfword pairs |
| CPreviewSprite | The OAM entry of a render output, as the Djinn preview places its stat arrows |
| C[union].attributes | |
| C[struct].attributes.bits | |
| CProjection | The 3D projection onto the screen: its focal length, near and far depths, and the screen point the view centres on |
| CPsynergyMenuState | The Psynergy menu: its windows, icons and cursors, the party members' tabs and the Psynergy listed for the chosen member |
| CRampedSpinObject | A spinning object: its angle, and at 0x64 the frames its spin has been speeding up for (BattleFx_AdvanceAngleWithRamp), read signed |
| CReel | One of the slot machine's five reels: how far it has turned, its 21 symbols, whether it is held, and the countdown to its stop (-1 until one starts) |
| CReelSave | GGameState seen from +12, the base the bytes load: wonPrizes is gGameState.wonPrizes (through the field itself ReelGame_RunFrame differs 12) |
| CReelWork | The slot machine's work in heap slot 45: its reels, state, bet and spins, keys, timer, winning lines, sprites and windows |
| CRenderInput | A 16-byte record of a rectangle |
| CRenderOam | Attributes zero through two copied to OAM, plus one unused word |
| CRenderOutput | A render output: a sprite in a window's output list (a character, an icon or a portrait), with its VRAM cache slot and OAM attributes |
| CRenderOutputList | A list of render outputs: its first output and the link to append after |
| CRenderTableValue | A sprite's OAM attribute 2 (tile index, priority and palette) and the halfword after it, as one word or as fields |
| C[struct].bits | |
| C[struct].half | |
| CResource388Runtime | |
| CResource388SlotView | |
| CResource3a8Effect | |
| CResourceMenuEntry | A command icon of the resource menu: its OAM attributes, its place and its VRAM cache slot |
| CResourceMenuWork | The resource menu: up to six command icons in a row, the windows of their labels, the icons' resource ids, the selection and the layout |
| CResourceSlot | A resource slot: the tag of the animation loaded into it (slot number and animation id) and the buffer holding its frames |
| CResourceSlotNumber | A row of gResourceSlot_NumberTable: the packed resource that holds an animation number's frames, ending at number 0 |
| CRing | One of the star field's three rings, moving outward on the effect canvas |
| CRippleScrollWork | The water's ripple, this scene's view of the HBlank scroll work (gHBlankScrollWork, struct DisplayScrollWork): two pages of per-line scroll offsets, swapped each frame, built from a sine table |
| CRockPuzzle | Room 6's rock puzzle, kept in gSceneState: the rounds of lights matched in byte 0, then the state and the light shown |
| CRockWallHeights | The heights of Quake's rock pillars |
| CRuntimeMathBinaryEntry | A runtime table entry whose two-argument target this routine calls, the arctangent |
| CRuntimeMathTable | The runtime table's prefix through Trig_Cos, in its assembly order |
| CRuntimeMathUnaryEntry | A runtime table entry whose one-argument target this routine calls, the sine or the cosine |
| CRuntimeUnusedEntry | An eight-byte runtime entry contains the ldr/bx instructions and a target word |
| CS | |
| CSafePoint | A recovery point: where a collapsed leader comes to |
| CSaveLinkGreeting | A linked console's signature: four letters naming its language and game |
| CSaveMenuSceneState | A view of the scene state that names its copy of the play time, checked against the loaded game's |
| CSaveSlotHeader | The header of a save sector in flash: its signature, the record it holds, its checksum and its sequence number |
| CSaveSummary | A save file's summary for the file screen: the leader's name, level and class, the area, play time, coins, Djinn and party |
| CSaveWorkspace | The save work: which of the 16 flash sectors hold a record, their record ids and sequence numbers, one sector's buffer and the three files' summaries |
| C[union].slot | |
| C[struct].slot.record | |
| CScanVertex | One scanline of the world map's ground plane |
| CScatterPosition | The position an item-break effect spawns its objects and shards from |
| CSceneActor | A field actor, as its fields or as its bytes, set up as the houses load |
| C[struct].fields | |
| CSceneAreaNameRule | A rule naming the place a scene is in (gScene_AreaNameRules, scene_rules.s), ended by id -1 |
| CSceneEffectOrigin | The point the curse dust falls around |
| CSceneEffectWork | The first map work slot, seen for the curse dust's origin |
| CSceneEntrance | A scene entrance: where and facing which way the party arrives, and the camera's bounds there (-1 for none) |
| CSceneEntries | The entry table at the start of each scene overlay: its initialize function and the functions returning its entrances, exits, placements, events and regions, each behind a veneer word |
| CSceneEvent | A scene event: its kind and detail, the trigger it answers, its condition and its value (a message or an event script) |
| CSceneInteractionEntry | A rule choosing a scene's field music (gScene_InteractionRuleTable, scene_rules.s), ended by id -1 |
| CScenePlacement | An actor a scene places: its sprite, the condition for placing it, how it behaves, where it stands and which way it faces, and how it turns to talk |
| CSceneRecord | An actor's animation object, seen for the flags and rotation that lay a wounded soldier in his bed |
| CSceneRegion | A scene's exit region: the box that, while its condition holds, takes the party leader out through its exit |
| CSceneStateTail | The end of the scene state that a new game sets up |
| CSchedulerTask | A scheduled task: its routine's address, its order (see SCHEDULER_KEY_) and its flags, where bit 0 keeps it running while overlay tasks are suspended |
| CScriptInterpreter | The prefix that command handlers read from a field object's 0x70-byte slot |
| CScriptMotionObject | A field object as the motion code sees it: its script, position, motion toward a target, bounce and gravity, motion flags and wait, and its hook |
| C[union].vertical | |
| CScriptMotionWords | The words of an object's script, as its script pointer reads them |
| CScriptObjectEntry | A field object as the script commands' overlap checks see it |
| CScriptObjectRuntime | A field object as its object script commands see it: the script and its place, position, motion toward a target, and the home it wanders around |
| CScriptOperands | The whole 0x70-byte slot as SC_SET, SC_ADD and SC_CMP see it: each field is one work value (enum ScriptWork in objcmd.h), reached through gScript_OperandHandlerTable, and named for what the engine keeps there |
| CScrollPair | A background's horizontal and vertical scroll offsets |
| CSealScene | The seal being opened: its cell animations, its flag, where the leader jumps back to and where its statue returns if the story does not go on |
| CSelectionEntry | The command icon row's work block and one of its icons: pictures.c loads the icons, command_row.c runs the row |
| CSelectionNode | An icon of the selection screen: its list links, the entry it shows, its place and its slide toward a target, its zoom and its sprite |
| CSelectionScreen | The selection screen (heap block 18): the row of icons the player picks from, with arrows at each end and a pointing hand over the chosen target |
| CSelectionSprite | A selection screen sprite: a list link and its OAM attributes |
| CSelectionWork | The command icon row's work block: the icons' shared palette, up to six icons, the label window, the pulsing icon's transform and the selection |
| CSelectionWorkspace | The work block of heap slot 19: two icon flags and resources and a window, among fields nothing here uses |
| CSelectorRecord | Byte view of the six colour writes in a quantity-bar segment |
| CSequenceHeader | A song's header: its track count, priority and mode, its voices, and where each track's commands start |
| CSerialDataRegisters | The serial data registers read as two words or four halfwords; no TBS code names this union |
| CSerialPacket | A link cable packet: its sequence number, the consoles not yet heard from, its checksum and a 24-byte payload |
| CSerialRuntime | The link cable's runtime: its mode and phase, the consoles heard from, the send position and the packet buffers the interrupt handler fills |
| CSerialTransferState | A console's block transfer state, exchanged with the partner each VBlank: its block sequence, its status and flags, and a 20-byte block |
| CShopCursor | Cursor that approaches its target, shared by shop, name entry and settings |
| CShopRuntime | A shop's work: its windows, the party members' icons, the stock, the cursor and its icons, and the particle effects |
| CSlot | |
| CSlotArray | BattleWork's unit lists, read as one array of halfwords |
| CSolSanctumRingEntry | One floating light: its actor, its drift and its pulsing scale, and where it is while hidden |
| CSolSanctumRingList | The floating lights' work in work slot 33, one entry per light |
| CSolSanctumRingObject | Legacy actor view used only while setting up the sprite flags |
| CSongEntry | An entry of the song table: a song's header and the player table entry that plays it |
| CSoundNote | A PCM note, one of 12 the mixer renders: its state and envelope, its output levels, and its links to the other notes of its track |
| CSoundPlayer | A player, which plays one song: its header and status, its tracks, its tempo and fade |
| CSoundTrack | A track of a playing song: the song commands it runs, its voice and notes, and the pitch, volume, pan and modulation it gives them |
| CSoundVoice | A voice a track plays its notes with: its kind and base key, the sample or wave it plays, and its attack, decay, sustain and release |
| CSoundWork | The sound driver's work: its lock, the mixer's rate and buffers, the PCM and CGB notes, and the routines the driver calls |
| CSpark | One of the star field's sparks, drawn inward to the centre |
| CSparkleFrame | One frame of a sparkle: its height offset and tile (fxdata.c) |
| CSparkObject | A FieldActor seen with the halfword at 0x5e (its lifetime), which FieldActor does not name |
| CSparkWork | The star field's work: its sprite sheet, 16 sparks and 3 rings |
| CSpawnCounter | Counts frames between the river effects, one every 30 frames |
| CSpringObstacle | One of the four obstacles moving in the spring during a toss |
| CSpringTossMotion | The tossed coin or medal: its last four positions for the trail, its velocity and the frames the prize rings still pull it |
| CSprite | One lettering piece as queued for drawing: a header word, then its OAM attributes |
| CSpriteEntry | A sprite of an animation record, as battle objects set its palette and drawing priority |
| CSpriteOutput | A view of struct RenderOutput with its sprite cell (from offset 0x10) as the member attr |
| CSpritePlacement | A sprite's screen position and its two vertical offsets, in 16.16 pixels |
| CSpriteScale | Horizontal and vertical sprite scale; 0x10000 is the original size |
| C[union].__unnamed0__ | |
| C[struct].__unnamed0__.__unnamed0__ | |
| CStageControl | The rival's recorded-path playback state, held in the scene state; status 9 marks the rival finished |
| CStagedActorEffect | The party leader's actor as Kolima Forest's hop sees it: the coordinates it nudges, its jump speeds and its motion flags |
| CStagedActorEffectRequest | The hop's destination, a 16.16 position read as its whole pixels |
| CStagedActorFootprint | A footprint's bounds, as gStagedActor_FootprintBounds holds four words a footprint; no TBS code names this struct |
| CStagedActorProbe | Where a large thing ahead of the leader would roll to: its footprint, its actor, that position, and a callback during the leader's follow-through |
| CStatusCursor | The status screen's cursor: its place in each group, the help entry it shows and where it points |
| CStatWork | The running totals UnitCalc builds a unit's stats in, in a block of the alternate pool that it frees at the end |
| CStepOwner | A party member's battle unit, seen as the HP and poison a step reads |
| CStreak | One streak of light of the element streak burst, laid over the same 28-byte records as PARTICLES: a line along a randomly turned axis from tail to head, in distance from the centre |
| CSummonDefinition | A summon: its name's message and the Djinn of each element it needs |
| CSwitchCell | A Venus Lighthouse switch or pillar socket's map cell |
| CT | |
| CTerrainRule | The world map's encounter zone for each kind of terrain (gWorldMap_EncounterRules, zonedata.c), ended by kind -1 |
| CTextReader | A position in a Huffman-coded message: the previous code, which picks the next symbol's tree, and the message's remaining bits |
| CTileMask | One row's masks for a pair of bar-pattern tiles: a word XORed into each tile's row |
| CTileRun | A log in Kolima Forest lying across four map cells, from its first cell across or, when vertical, down |
| CTimedNoticeWork | The area name notice's fields, which live in the event work block |
| CTitleSprite | The title overlay's sprite records, three OAM words each |
| CTolbiInteriorsSpriteAttr | The byte of a sprite's attributes that holds its priority, as the code stores it |
| CTolbiUiWork | The window state the running children consult before they widen their stopping range |
| CTradeFlags | The party's Djinn recovery table as the summon list reads it: a mask of summons, bit n for summon n |
| CTransitionShape | One step of the shape window transition: the WININ and WINOUT values, swapped as the transition opens or closes, and three runs of lines |
| CTransitionSpan | A run of screen lines in a transition shape: one window edge pair for every line, or, when that is 0, edges moving from left x0 and right y0 to left x1 and right y1 down the run |
| CUiChannelSlot | A text channel, one of three, which types decoded text into a window a few characters a frame and runs its control codes |
| CUiRenderWork | The window system's work: the windows' tilemap, the windows, the three text channels, the 64 render outputs, and the decoded message and its arguments |
| CUiSpriteViewerLayer | One animation layer the sprite viewer edits |
| CUiWindow | A window: a framed rectangle of the tilemap with its sprite outputs, its opening or closing animation and the rectangle it last drew |
| CUiWindowInterpolationScratch | Scratch values for a step of a window's zoom: the scaled part of a side, the scaled duration and their ratio |
| CUiWork | A view of the window system's work that names only its dirty bits and its menu busy flag |
| CVaultInteriorsStop | A stop on the route network, two cells square, with its links to others |
| CVaultInteriorsStopConnection | Each stop links to up to three others, with a heading for each connection |
| CVec | Position record used by the shared radial-effect source below |
| CVector3 | Three coordinates, x, y and z: a position, a velocity or a direction |
| CVramBlockCacheEntry | A sprite slot of the VRAM cache: the size of its block and where the block starts in OBJ VRAM |
| CWaveFxSprite | A particle's sprite, seen as the two fields Douse and Mind Read set on it |
| CWaveFxWork | Work slot 22 of the wave effect, 0x298 bytes (RunSceneTransitionEffect) |
| CWaveMap | The map work, seen for the scrolling layers the swell moves |
| CWaveMapLayer | The map's scrolling layers, as the swell moves them |
| CWhirlwindOrbit | A FieldActor seen with the halfword at 0x64 unsigned and the one at 0x66 signed, as the bytes read them (FieldActor's own types change the code) |
| CWindowBuffer | A page of the display transition's window edges: WININ and WINOUT, then each of the 160 lines' edges |
| CWindowLine | One line's horizontal window edges: window 0's and window 1's, each (left << 8 | right) |
| CWorkPointers | The work slots from the window work's onward, seen as the window work and, twelve slots on, the event work in slot 27 |
| CWorkspaceWork | The option screen's work (heap block 20): the settings being edited and how many values each takes, the page, and the cursor, markers and icons |
| CWorldMapCell | One 32-pixel cell of the world map: its tile, its kind (21 selects the second graphics set) and a flag |
| CWorldMapMarkerPart | The renderer's linked sprite entry and the three words that initialize it |
| CWorldMapWork | Scratch work while Map_ShowWorldMap owns gMapCellBuffer |
| CWorldPosition | A position on the world map, as its walkability check reads it |