1#ifndef ALCHEMY_OBJECT_INTERNAL_H
2#define ALCHEMY_OBJECT_INTERNAL_H
65#include "text/msg_ids.h"
121#define REGION_FIXED(value) ((s32)((u32)(s32)(value) << 16))
124#define ABILITY_ID(c) ((c) & 0x3ff)
125#define ACT_UNIT(c) (((c) >> 10) & 15)
126#define ACT_PACKED 0x2000
130#define EXIT_RETREAT 999
132#define FLAG_PSYNERGY_EFFECT 0x140
133#define FLAG_PSYNERGY_TARGET 0x141
136#define PSYNERGY_EV(phase) ((phase) << 28 | EVENT_PSYNERGY)
137#define PSYNERGY_EV_ANY PSYNERGY_EV(7)
140#define PSYNERGY_MESSAGE(who, act, m) \
141 (UiWork_PushValueSlotFar((who), 1), UiWork_PushValueSlotFar((act), 4), \
142 UiText_ShowPositionedMessageAndWaitFar((m), 1))
Ability numbers, named from the English release.
Animated sprites: their layers, frames and colour modes, and the resource slots they draw from.
B5Context, the object context a battle routine reads; most of its fields are still unnamed.
The battle calculation tables: hit chances, HP and PP damage and recovery.
The battle animation state, render objects and effect entries, and the palette buffer work.
Which units are in a battle, and the Djinn recovery list.
BattleUnit_Recalculate, which recalculates a unit's stats.
BattlePlan, an action planned for its targets: the hits, criticals and multipliers rolled.
BattleUnit, a party member's or enemy's battle state, with the elements, abilities and actions it use...
The task scheduler: tasks, their order and the scheduler's state.
The engine calls the debug menus import, and their palette swatch tiles.
The display transition's frames, windows and state.
DMA channel registers, and the DMA and CPU fills.
The edition's language, for C to compare (LANGUAGE == LANGUAGE_GERMAN).
Effect slots: the particles Psynergy effects move and draw.
EventWork, the running scene's event work.
FacingObject, the view of an object that turns to face a target.
FieldCoordinate, a position on the field.
Field effects, their scripts and the flags that spawn them.
The scene script layer: the engine services a scene's events call, declared once (Engine_EventBegin,...
Field objects and actors, and the scene transition styles.
The field's runtime work: map cells, scene records and regions, map markers and FieldWork.
The scene table formats: entrances, exits, placements and events, and the macros that write them.
16.16 fixed-point constants, sine and cosine, and the library division.
FixedPointPosition, a position in 16.16 fixed point.
Game flags, named where their meaning is shown.
The frame loop's globals: lag counts, the CPU load display and the VBlank flags.
BattleFxScene, the work of a battle or field Psynergy effect scene, and its arc objects.
FieldBlendWork, the field's colour blend work.
GameState, the game's state: play time, coins, the scene and the leader's position,...
The work slots of gWorkSlot, read through their own names.
The screen blend's globals and the graphics routines.
The heap's work slots and HeapState.
gOverflowItem, an item slot the spoils code uses when items are handed out.
The hardware's I/O registers and their bits, as pret names them.
The register write queue that VBlank carries out after each finished frame.
Io_Write16, a 16-bit write to a register or memory.
The hardware's interrupt sources and the interrupt handler table.
Items: their definitions, types, flags and effects.
Declares nothing of its own: it only includes types.h, edition.h and farcall.h.
Item numbers, named from the English release.
The IWRAM call layer: the routines the game keeps resident in IWRAM, each at its fixed address,...
The keypad state the VBlank interrupt keeps.
Small statement macros both games use for positions, velocities and bounds.
Maps: their cells, layers, animations and blend scripts, and the map state.
The heaps: allocating and freeing blocks.
The reel game's title lettering.
MotionObject, an effect object that moves and draws one sprite.
The object dispatcher's forward declaration.
The object dispatcher's scripts: key checks, the player, the world map and the camera.
The fade overlay, the weather particles and the actor effect work.
The object scripts effects give their particles and fragments.
Declares nothing: an empty header kept for the files that include it.
ObjectRuntime, a field object's runtime state, and the object snapshots.
Declares nothing of its own: it only includes types.h, edition.h and farcall.h.
Palette fades, the battle effect palette buffers and the colour channel curves.
Declares nothing of its own: it only includes static_assert.h and game_state.h.
The work pointers in the gWorkSlot table, by name.
Resource numbers, named where their contents are known.
FIELD_AT_OFFSET and the entity and camera views older scene code reads.
Scene numbers, named after their places.
ScriptMotionObject, an object moved by a field script.
ScriptObjectRuntime, the work of an object a script moves.
Song and sound effect ids, indices into gSound_SongTable.
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
A world position, as Camera_WorldToScreen converts it to the screen.
The system's routines and globals: interrupts, BIOS sound bias, random numbers and sleep.
Values that differ by patch level or language, chosen once for their code.
The integer types, TRUE, UNUSED and the fixed-address macros.
UiWork, the window system's work, and the status screen's cursors.
The polar-offset routine walks three array elements.
struct EffectVector vector
Declares nothing of its own: it only includes the window, battle command, resource and VRAM table hea...
The sprite VRAM block cache and its owners.
The window renderer's work.