22#include "text/msg_ids.h"
44 u16 alternateTreeSprite;
50 alternateTreeSprite = 0x6E;
54 placement->
sprite = treeSprite;
55 if (villagerIndex == 4 || villagerIndex == 7) {
56 placement->
sprite = alternateTreeSprite;
170 if ((
s16)entrance == 7) {
178 }
else if (((entrance - 8) << 16) <= (1u << 16)) {
194 {0,
CONDITION_ALWAYS, 172, 0, 149,
FACING_SOUTH, 0, -1, -1, -1, -1, 0},
195 {1,
CONDITION_ALWAYS, 128, 0, 192,
FACING_EAST, 0, 16, 56, 256, 216, 0},
196 {2,
CONDITION_ALWAYS, 192, 0, 168,
FACING_SOUTHWEST, 0, 16, 56, 256, 216,
198 {3,
CONDITION_ALWAYS, 392, 0, 200,
FACING_NORTH, 0, 288, 64, 512, 232, 0},
199 {4,
CONDITION_ALWAYS, 648, 0, 200,
FACING_NORTH, 0, 528, 64, 768, 232, 0},
200 {5,
CONDITION_ALWAYS, 704, 0, 168,
FACING_SOUTHWEST, 0, 528, 64, 768, 224,
202 {6,
CONDITION_ALWAYS, 128, 0, 416,
FACING_EAST, 0, 16, 280, 256, 440, 0},
203 {7,
CONDITION_ALWAYS, 392, 0, 472,
FACING_NORTH, 0, 288, 264, 512, 504, 0},
204 {8,
CONDITION_ALWAYS, 392, 0, 328,
FACING_SOUTH, 0, 288, 264, 512, 496, 0},
205 {9,
CONDITION_ALWAYS, 392, 0, 344,
FACING_NORTH, 0, 288, 264, 512, 496, 0},
206 {10,
CONDITION_ALWAYS, 648, 0, 424,
FACING_NORTH, 0, 528, 288, 768, 456, 0},
207 {11,
CONDITION_ALWAYS, 704, 0, 392,
FACING_SOUTHWEST, 0, 528, 288, 768, 448,
209 {12,
CONDITION_ALWAYS, 128, 0, 688,
FACING_EAST, 0, 16, 552, 256, 712, 0},
210 {13,
CONDITION_ALWAYS, 192, 0, 664,
FACING_SOUTHWEST, 0, 16, 552, 256, 712,
212 {14,
CONDITION_ALWAYS, 400, 0, 688,
FACING_NORTH, 0, 288, 552, 528, 712, 0},
Ability numbers, named from the English release.
struct FieldActor * Object_GetById(s32 actor)
Returns an actor, or NULL if it does not exist.
The engine calls the debug menus import, and their palette swatch tiles.
void FieldScene_PrepareActors(struct ScenePlacement *entry)
The scene script layer: the engine services a scene's events call, declared once (Engine_EventBegin,...
void Engine_InnOpen(s32 inn, s32 keeper)
static void Map_CopyCellsTo(s32 srcX, s32 srcY, s32 destX, s32 destY, s32 width, s32 height)
s32 Engine_GameFlagIsSet(s32 flag)
void Engine_ShopOpen(s32 shop, s32 keeper)
#define SCENE_TRANSITION(style, variant)
The scene table formats: entrances, exits, placements and events, and the macros that write them.
#define SCENE_EXITS(scene)
#define IF_FLAG_SET(flag)
#define FIND_MESSAGE(message)
#define SCENE_EXIT(exit, scene, entrance)
@ TALK_FACE_PARTY_AND_BACK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define FACING_IS_NORTH(facing)
#define FIND_COINS(coins)
Game flags, named where their meaning is shown.
#define FLAG_KOLIMA_CURSE_LIFTED
GameState, the game's state: play time, coins, the scene and the leader's position,...
struct GameState gGameState
The screen blend's globals and the graphics routines.
Item numbers, named from the English release.
s32 KolimaInteriors_Initialize(void)
Clears resident sprite flags and selects the room layout for this entrance.
const struct ScenePlacement * KolimaInteriors_GetPlacements(void)
Applies the curse before preparing the residents' placement records.
struct ScenePlacement gKolimaInteriors_Placements[]
struct SceneEvent gKolimaInteriors_Events[]
struct SceneEntrance gKolimaInteriors_Entrances[]
static void KolimaInteriors_TalkToInnkeeper(void)
Offers a room at the counter or discusses McCoy's construction.
const struct SceneEvent * KolimaInteriors_GetEvents(void)
Returns the residents' conversations, thoughts and searchable objects.
u32 gKolimaInteriors_Exits[]
const struct SceneRegion * KolimaInteriors_GetRegions(void)
const struct SceneEntrance * KolimaInteriors_GetEntrances(void)
static void KolimaInteriors_TalkToArmorMerchant(void)
Offers armor at the counter or discusses the bridge.
const u32 * KolimaInteriors_GetExits(void)
Returns the doors and stairs linking the interiors.
static void KolimaInteriors_TalkToItemMerchant(void)
Offers items at the counter or discusses life after the curse.
static void KolimaInteriors_TurnVillagersIntoTrees(struct ScenePlacement *placement)
Replaces the cursed residents' sprites and disables their movement and turning.
static void KolimaInteriors_TalkToWeaponMerchant(void)
Offers weapons at the counter or discusses Fuchin Temple.
The reel game's title lettering.
struct EventWork * gEventWork
void Engine_ActorSetPosition(u32 actor, s32 x, s32 z)
void Engine_EventEnd(void)
void Engine_EventBegin(void)
void Engine_EventSetMessage()
void Engine_EventShowMessage()
The running scene's event work: its placement and event tables, its actors, the triggers and exit it ...
s32 startTransition
SCENE_TRANSITION(style, variant).
A field actor: a person or thing on the field with a position, motion toward a target,...
A scene entrance: where and facing which way the party arrives, and the camera's bounds there (-1 for...
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,...
u16 facing
1/65536 turns (enum Facing)
u8 talkFacing
enum ActorTalkFacing; 3 follows the leader afterwards
s16 sprite
The actor's sprite; 0 to 7 are the party's characters, each in its own actor slot,...
s32 behavior
A built-in action (enum ActorBehavior, 1 to 7) or an action script, for ObjectMotion_SetActionCallbac...
A scene's exit region: the box that, while its condition holds, takes the party leader out through it...
The system's routines and globals: interrupts, BIOS sound bias, random numbers and sleep.
The integer types, TRUE, UNUSED and the fixed-address macros.