Alchemy
Loading...
Searching...
No Matches

vault_interiors.h

Go to the documentation of this file.
1#ifndef ALCHEMY_UNIT_SCENE_VAULT_INTERIORS_H
2#define ALCHEMY_UNIT_SCENE_VAULT_INTERIORS_H
3
4#include "types.h"
5#include "field_scene.h"
6#include "field_runtime.h"
7#include "static_assert.h"
8
9struct SceneEvent;
10struct ScenePlacement;
11
12/// Each stop links to up to three others, with a heading for each connection.
14 u8 stopIndex; ///< the stop it leads to; 0xff for no connection
15 u8 facing; ///< the heading toward it, a facing's high byte
17};
18
19/// A stop on the route network, two cells square, with its links to others.
21 u8 gridX; ///< 8-pixel cells from x 64
22 u8 gridZ; ///< 8-pixel cells from z 624
25};
26
28STATIC_ASSERT(sizeof(struct VaultInteriorsStop) == 16);
29
30const struct SceneEntrance *Scene_GetEntrances(void);
31const struct SceneRegion *Scene_GetRegions(void);
32const u32 *Scene_GetExits(void);
33const struct ScenePlacement *Scene_GetPlacements(void);
34const struct SceneEvent *Scene_GetEvents(void);
74
75#endif
const struct ScenePlacement * Scene_GetPlacements(void)
const struct SceneEntrance * Scene_GetEntrances(void)
const struct SceneEvent * Scene_GetEvents(void)
const u32 * Scene_GetExits(void)
Both scenes share one exit table.
const struct SceneRegion * Scene_GetRegions(void)
s32 Scene_Initialize(void)
Sets up whichever scene is being entered and runs its arrival events.
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.
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
A scene entrance: where and facing which way the party arrives, and the camera's bounds there (-1 for...
Definition field_scene.h:54
A scene event: its kind and detail, the trigger it answers, its condition and its value (a message or...
An actor a scene places: its sprite, the condition for placing it, how it behaves,...
Definition field_scene.h:81
A scene's exit region: the box that, while its condition holds, takes the party leader out through it...
Each stop links to up to three others, with a heading for each connection.
u8 stopIndex
the stop it leads to; 0xff for no connection
u8 facing
the heading toward it, a facing's high byte
A stop on the route network, two cells square, with its links to others.
struct VaultInteriorsStopConnection connections[3]
u8 gridX
8-pixel cells from x 64
u8 gridZ
8-pixel cells from z 624
The integer types, TRUE, UNUSED and the fixed-address macros.
signed int s32
Definition types.h:14
unsigned int u32
Definition types.h:15
unsigned char u8
Definition types.h:11
s32 gVaultInteriors_PairScriptG[]
struct SceneEntrance gVaultInteriors_Entrances[]
s32 gVaultInteriors_PairScriptM[]
s32 gVaultInteriors_PairScriptR[]
s32 * gVaultInteriors_IdleActions[]
s32 gVaultInteriors_PairScriptK[]
s32 gVaultInteriors_PairScriptJ[]
s32 gVaultInteriors_PairScriptC[]
struct SceneEvent gVaultInteriors_Events[]
s32 gVaultInteriors_FirstThiefEntryScript[]
s32 gVaultInteriors_VaultScriptD[]
s32 gVaultInteriors_ActionTable[]
s32 gVaultInteriors_VaultScriptA[]
s32 gVaultInteriors_PairScriptH[]
s32 gVaultInteriors_PairScriptO[]
s32 gVaultInteriors_VaultScriptC[]
s32 gVaultInteriors_PairScriptE[]
struct SceneEvent gVaultInteriors_AtticEvents[]
s32 * gVaultInteriors_ResponseScripts[]
s32 gVaultInteriors_PairScriptI[]
s32 gVaultInteriors_PairScriptD[]
s32 gVaultInteriors_PairScriptQ[]
struct ScenePlacement gVaultInteriors_AtticPlacements[]
s32 gVaultInteriors_VaultScriptE[]
struct SceneRegion gVaultInteriors_Regions[]
s32 gVaultInteriors_VaultScriptB[]
s32 gVaultInteriors_SecondThiefEntryScript[]
s32 gVaultInteriors_PairScriptP[]
s32 gVaultInteriors_PairScriptL[]
struct SceneEvent gVaultInteriors_EventsAfterThieves[]
u32 gVaultInteriors_Exits[]
struct VaultInteriorsStop gVaultInteriors_Stops[]
s32 gVaultInteriors_PairScriptA[]
s32 gVaultInteriors_PairScriptN[]
s32 gVaultInteriors_PairScriptF[]
struct ScenePlacement gVaultInteriors_Placements[]
s32 gVaultInteriors_PairScriptB[]
s32 * gVaultInteriors_StepActions[]