16 pos.
x = (actor->
pos.
x >> 8) + x;
17 pos.
y = (actor->
pos.
y >> 8) + y;
82 actor->
pos.
x -= offset.
x;
83 actor->
pos.
y -= offset.
y;
97 for (i = 0; i < 5; i++) {
100 offset.
x = (sign[0] & 1) * actor->
speed / 2;
101 if (sign[0] & 0x80) {
102 offset.
x = -offset.
x;
104 offset.
y = (sign[1] & 1) * actor->
speed / 4;
105 if (sign[1] & 0x80) {
106 offset.
y = -offset.
y;
120 if (actor->
walks != 0) {
146 while (actor !=
NULL) {
149 if (pos->
x >= actor->
tile.
x - size && actor->
tile.
x + size >= pos->
x) {
151 if (pos->
y >= actor->
tile.
y - size && actor->
tile.
y + size >= pos->
y) {
172 if (target->
key1 != 0x180) {
173 if (target->
key1 != 0x181) {
174 if (target->
key1 != 0x182) {
181 switch (target->
key1) {
210 if (actor->
voice != -1) {
220 if (actor->
zSpeed > -0xC0) {
226 if (actor->
zSpeed < 0x80) {
243 if (actor->
voice == -1) {
259 actor->
dir = (actor->
dir + 1) & 7;
260 }
else if (held & (1 <<
PAD_LEFT)) {
262 actor->
dir = (actor->
dir - 1) & 7;
300 pos.
x = actor->
pos.
x >> 8;
301 pos.
y = actor->
pos.
y >> 8;
399 if (pressed || forced) {
422 if (held & (1 <<
PAD_UP)) {
426 }
else if (held & (1 <<
PAD_DOWN)) {
445 if (leader !=
NULL) {
446 trail = actor->
trail;
501 trail = actor->
trail;
502 if (leader !=
NULL) {
503 for (i = 0; i < 2; i++) {
516 if (actor->
pos.
x == 0) {
537 x = actor->
pos.
x >> 8;
538 y = actor->
pos.
y >> 8;
541 if (x >> 1 != tx >> 1 || y >> 1 != ty >> 1) {
587 switch (actor->
key2) {
634 actor->
pos.
x = x << 8;
635 actor->
pos.
y = y << 8;
652 actor->
pos.
x = x << 8;
653 actor->
pos.
y = y << 8;
697 for (i = 0; i < 3; i++) {
704 pos.
x = actor->
tile.
x + offset.
x;
705 pos.
y = actor->
tile.
y + offset.
y;
761 Layer *layer = drawLayer;
777 pos.
y -= actor->
z >> 8;
778 setPolyFT4(prim.
ft4);
779 setRGB0(prim.
ft4, 0x80, 0x80, 0x80);
781 if (actor->
dir >= 5) {
784 prim.
ft4->x0 = pos.
x + x;
786 prim.
ft4->x2 = pos.
x + x;
792 if (actor->
dir < 5) {
793 prim.
ft4->u0 = image->
u;
795 prim.
ft4->u2 = image->
u;
801 prim.
ft4->u1 = image->
u;
803 prim.
ft4->u3 = image->
u;
805 prim.
ft4->v0 = image->
v;
806 prim.
ft4->v1 = image->
v;
810 prim.
ft4->tpage = getTPage(0, 0, image->
x, image->
y);
811 addPrim(ot, prim.
any);
812 pos.
y += actor->
z >> 8;
818 setRGB0(prim.
sprt, 0x80, 0x80, 0x80);
819 prim.
sprt->x0 = pos.
x - 16;
826 addPrim(ot, prim.
any);
829 addPrim(ot, prim.
any);
841#if VERSION_US || VERSION_JP
842#define SET_FILE_0 0x01790070
843#define SET_FILE_8 0x03BB001E
844#define SET_FILE_16 0x03B9000B
845#define SET_FILE_1A 0x03BC0017
846#define SET_FILE_OTHER 0x03BA0064
848#define SET_FILE_0 0x01870070
849#define SET_FILE_8 0x03CB001E
850#define SET_FILE_16 0x03C9000B
851#define SET_FILE_1A 0x03CC0017
852#define SET_FILE_OTHER 0x03CA0064
878 file = actor->
animFile & 0xFFFF0000;
880 if (actor->
key1 == 2) {
904 file = actor->
animFile & 0xFFFF0000;
907 if (entry[0] == set) {
914 for (i = 0; i < 5; i++) {
915 actor->
setAnims[i] = entry[i + 1] | file;
920 if (actor->
dir < 5) {
923 dir = 8 - actor->
dir;
930 if (frames[actor->
animPos] == -1) {
935 if (frames[actor->
animPos] == 0) {
951 image = actor->
image;
973 if (actor->
key2 == 0) {
975 if ((actor->
counter & 7) == 0) {
976 if (actor->
key1 != 0x146) {
977 if (actor->
key1 != 0x147) {
980 }
else if ((actor->
counter & 0x1F) == 0) {
983 if (canBattle != 0) {
987 }
else if ((actor->
counter & 0x1F) == 0) {
996 if (actor->
key2 == 0) {
997 if ((actor->
counter & 0xF) == 0) {
1007 switch (actor->
step) {
1027 if (player->
flying == 0) {
1036 switch (character) {
1051 switch (actor->
step) {
1068 switch (actor->
step) {
1079 actor->
pos.
x += move.
x;
1080 actor->
pos.
y += move.
y;
1086 if (actor->
step == 0) {
1090 if (actor->
step >= 0x1E) {
1099 switch (actor->
step) {
1118 switch (actor->
step) {
1137 switch (actor->
step) {
1153 switch (actor->
step) {
1172 switch (actor->
step) {
1196 switch (actor->
step) {
1237 switch (actor->
step) {
1287 switch (actor->
step) {
1309 if (actor->
key1 == 0x21 || (actor->
key1 >= 0x4D && actor->
key1 < 0x58) ||
1310 (actor->
key1 >= 0x154 && actor->
key1 < 0x159) || actor->
key1 == 0x15B) {
1313 switch (actor->
step) {
1327 if (!isTreasure && actor->
keepsDir == 0) {
1330 if (actor->
animFile != 0 && !isTreasure) {
1360 switch (actor->
step) {
1363#if VERSION_EU || VERSION_JP
1374#if VERSION_EU || VERSION_JP
1383 switch (actor->
step) {
1392#if VERSION_EU || VERSION_JP
1431 if (!(actor->
key2 & 0xE)) {
1433 actor->
pos.
x += move2.
x;
1434 actor->
pos.
y += move2.
y;
1440 if (!(actor->
key2 & 0xE)) {
1442 actor->
pos.
x += move3.
x;
1443 actor->
pos.
y += move3.
y;
1452 if (actor->
speed != 0) {
1454 if (actor->
speed < 0) {
1458 actor->
pos.
x += move4.
x;
1459 actor->
pos.
y += move4.
y;
1464 switch (actor->
step) {
1489 actor->
pos.
x += move4.
x;
1490 actor->
pos.
y += move4.
y;
1498 switch (actor->
step) {
1502 if (actor->
flying == 0) {
1510 actor->
pos.
x += move5.
x;
1511 actor->
pos.
y += move5.
y;
1512 if (actor->
flying == 0) {
1523 switch (actor->
step) {
1542 switch (actor->
step) {
static void runGetOnWall(Actor *actor)
ACTOR_GET_ON_WALL: from the ground onto the wall, to climb it.
void FIELDSTG_followLeader(Actor *actor)
A partner's control: records the leader's steps in the trail while it moves, and follows them.
void FIELDSTG_warpActor(Actor *actor, SlotDest *dest, s32 kind)
Warps the player (SLOT_WARP0 and SLOT_WARP1): the field task plays the warp's effect and cutscene of ...
static void runUsed(Actor *actor)
ACTOR_USED: the object the player worked, which plays its animation, sets its flag and goes away.
static void setUsedFlag(s32 character)
Sets the flag of the characters 0x148, 0x15F and 0x160 once they are used.
void FIELDSTG_controlFlight(Actor *actor)
The player's flight: it rises unless triangle is held (ACTOR_FLY), left and right turn,...
void FIELDSTG_drawActor(void *data, void *drawLayer)
The layer's sorted callback that draws an actor: its frame from its image, mirrored for the direction...
static void turnInFlight(Actor *actor, s32 held)
Held RIGHT or LEFT turns the actor one direction every 8 frames.
void FIELDSTG_startActorGauge(Actor *actor, s32 dir, Vec2 offset)
Starts the gauge game at an offset from an actor, turning the partners its way.
void FIELDSTG_setActorPose(Actor *actor, s32 set, s32 dir)
Puts an actor in an event's pose: an animation set and a direction (ACTOR_POSED)
void FIELDSTG_startDrop(Actor *actor, s32 dir, Vec2 pos, s32 height)
Starts a drop from a ledge of height.
void FIELDSTG_walkToGoal(Actor *actor)
Walks an actor to its goal tile (FIELDSTG_setActorGoal) as the pad would, then faces it the goal's wa...
void FIELDSTG_playClimbSounds(Actor *actor)
The player's climbing sound, every 16 frames.
static void beginActorAnim(Actor *actor, s32 anim)
The first frame of an action: the actor gets its shadow and the action's animation.
static void stopFlightSound(Actor *actor)
Stops the sound of the flight, if it plays.
static void runSearch(Actor *actor)
ACTOR_SEARCH: the player searches a hidden spot.
void FIELDSTG_moveByPad(Actor *actor, s32 pad)
Walks or runs an actor in the direction of the pad's arrows (an index of FIELDSTG_padDirs),...
static void runSlide(Actor *actor)
ACTOR_SLIDE: the slide on ice, with its sound.
static void runClimbUp(Actor *actor)
ACTOR_CLIMB_UP: up the wall, to its top.
static void runClimbOffBottom(Actor *actor)
ACTOR_CLIMB_OFF_BOTTOM: from the wall's foot onto the ground.
void FIELDSTG_runActorAction(Actor *actor, ActorChildren *children)
Runs an actor's action, its substate (ACTOR_STAND...): the walks, the climbs and the drop from ACTOR_...
s32 FIELDSTG_checkFlightProbes(Actor *actor)
Whether a flying actor runs into the map at any of the five probes ahead of it (FIELDSTG_checkFlightP...
void FIELDSTG_drainTrail(Actor *actor)
A follower's update while its trail runs out: it finds the leader (FIELD_TASK_ACTOR) if it has none,...
void FIELDSTG_launchActor(Actor *actor, SlotDest *dest)
Sends the player flying to the tile at dest from the nearest launcher (FIELDSTG_createLaunch)
static void runStop(Actor *actor)
ACTOR_STOP: the stop after a run, then standing.
static void flyOrFloat(Actor *actor, s32 held)
Held TRIANGLE flies (ACTOR_FLY, with its sound), else the actor floats and the sound stops.
static void runUse(Actor *actor)
ACTOR_USE: the player works one of the objects 0x148, 0x15F and 0x160.
static void runClimbDown(Actor *actor)
ACTOR_CLIMB_DOWN: down the wall, to its foot.
void FIELDSTG_playStepSounds(Actor *actor, s32 moving, s32 canBattle)
The player's footsteps, every 8 frames when it moves (every 32 for the characters 0x146 and 0x147) or...
void FIELDSTG_resetActorControl(Actor *actor)
Gives an actor its kind's control back: the pad for the player, none for kind 1, the trail for the pa...
void FIELDSTG_walkActorInDir(Actor *actor, s32 dir)
Walks an actor out through an exit, in a direction (ACTOR_WALK_OUT)
static void standAgain(Actor *actor)
Puts a character back to standing, under the player's control again.
void FIELDSTG_startActorSlide(Actor *actor, s32 dir)
Starts an actor sliding in a direction (SLOT_SLIDE)
void FIELDSTG_controlClimb(Actor *actor)
The player's control on a wall: up and down climb, nothing held holds on.
static void runDrop(Actor *actor)
ACTOR_DROP: the drop off a wall's edge, the fall and the landing.
static void giveControlBack(Actor *player)
Gives the player that talked back its control, walking or flying.
s32 FIELDSTG_checkFlightProbe(Actor *actor, s32 x, s32 y, Vec2 offset)
Whether a flying actor runs into the map at an offset from it: a cell that isn't free,...
s32 FIELDSTG_isActorWalking(Actor *actor)
Whether an actor is still walking to its goal.
static void runGauge(Actor *actor, ActorChildren *children)
ACTOR_GAUGE: the gauge game's poses, from its start to its result's balloon.
void FIELDSTG_startClimbDown(Actor *actor, s32 dir, s32 x, s32 y, s32 height)
Starts the climb down a wall of height from its top, at (x, y)
void FIELDSTG_startActorWalk(Actor *actor)
Starts an actor walking to its goal.
static void runClimbOffTop(Actor *actor)
ACTOR_CLIMB_OFF_TOP: from the wall's top onto the ground above.
static void runStopSlide(Actor *actor)
ACTOR_STOP_SLIDE: the end of a slide, half a second before the player's control comes back.
static void runTalk(Actor *actor, ActorChildren *children)
ACTOR_TALK: the character's first talk whose conditions hold, then the player's control back and the ...
void FIELDSTG_setActorAnim(Actor *actor, s32 set)
Starts an actor's animation set from its first frame.
static void accelerateFlight(Actor *actor)
Changes the flight's height speed (zSpeed) by 4 a frame, down to -0xC0 while the player flies (ACTOR_...
void FIELDSTG_controlPlayer(Actor *actor)
The player's update while it walks (Actor.control) when no menu, event or transition is running: the ...
Actor * FIELDSTG_findActorAt(Vec2 *pos)
The first actor (task id 5) whose box holds the tile pos: halfWidth to each side of it,...
void FIELDSTG_setActorDir(Actor *actor, s32 dir)
Turns an actor to a direction.
void FIELDSTG_animateActor(Actor *actor)
Plays an actor's animation: when its set (animSet) changes, it loads the set's animations for the fiv...
s32 FIELDSTG_isActorAnimDone(Actor *actor)
Whether an actor's animation has played to its end.
void FIELDSTG_startClimbUp(Actor *actor, s32 dir, s32 x, s32 y, s32 height)
The climbs (SLOT_CLIMB_UP and SLOT_CLIMB_DOWN) and the drop (SLOT_DROP): the actor goes onto the wall...
s32 FIELDSTG_talkToActorAt(Actor *actor, Vec2 *pos)
Talks to the character standing at pos, or to the one it stands in for (FIELDSTG_standIns): it answer...
void FIELDSTG_stopActorSlide(Actor *actor)
Stops a sliding actor (SLOT_STOP_SLIDE)
void FIELDSTG_setActorGoal(Actor *actor, s32 x, s32 y, s32 dir)
Sets the tile an actor walks to and the direction it ends facing (FIELDSTG_walkToGoal)
void FIELDSTG_restorePlayerControl(Actor *actor)
Gives the player its pad control back, off any wall.
Balloon * FIELDSTG_createBalloon(s32 kind, s32 anim, s32 id)
Creates a balloon of a kind (its sprites) with an animation, under a task id.
void FIELDSTG_followWithCamera(s32 snap, s32 id)
Points the camera at the actor id, at once if snap.
GfxState GFX
GFX: the graphics state and its methods.
GameFlags FLAGS_00
The flag bitset FLAGS_00 and the event functions.
GameState GAME
The save data, the game mode and the methods.
s32 NTSC_MODE
The European version runs at 50 Hz (PAL) unless NTSC_MODE is set; its clocks then advance 0x133,...
void FIELDSTG_resumePartners(void)
Makes the partners follow the player again (FIELDSTG_followLeader)
void FIELDSTG_haltPartners(void)
Makes the partners stop following: each walks out the rest of its trail (FIELDSTG_drainTrail)
void FIELDSTG_startWarp(s32 kind, Vec2 *pos, SlotDest *dest)
Starts a warp from pos: the field task plays the effect and the cutscene of kind, then leaves for the...
#define ACTOR_WALK_OUT
walks off through an exit (FIELDSTG_walkActorInDir)
#define ACTOR_CLIMB_OFF_BOTTOM
#define ACTOR_SEARCH
searches a hidden spot
#define ACTOR_USE
works one of the objects 0x148, 0x15F and 0x160
#define ACTOR_FLOAT
slows down in the air
#define ACTOR_CLIMB_OFF_TOP
#define ACTOR_CLIMB
holds on to a wall (FIELDSTG_controlClimb)
#define ACTOR_DROP
FIELDSTG_startDrop.
#define ACTOR_GET_OVER_EDGE
onto the wall from above (FIELDSTG_startClimbDown)
#define ACTOR_POSED
What an actor is doing, its substate (FIELDSTG_runActorAction)
#define FIELD_TASK_ACTOR
every character (FIELDSTG_createActor)
#define ACTOR_SLIDE
FIELDSTG_startActorSlide.
#define ACTOR_GET_ON_WALL
from below (FIELDSTG_startClimbUp)
#define ACTOR_STOP
stops after a run
#define ACTOR_FLY
flies on, triangle held (FIELDSTG_controlFlight)
#define ACTOR_TALK
answers the actor that talks to it (talkPartner)
#define ACTOR_GAUGE
plays the gauge game (FIELDSTG_startActorGauge)
#define ACTOR_USED
that object
FIELDSTG.PRO: the field mode, where the player walks around the map.
#define FLIGHT_OPEN
Flight (FIELDSTG_controlFlight, FIELDSTG_checkFlightProbe): an actor's z against the floor map's cell...
#define ACTOR_ANIM_FALL_FAR
once the fall is more than 0x1800
#define ACTOR_ANIM_OPEN
a treasure's, when it is talked to
#define ACTOR_ANIM_STAND
The animation sets that the actions play (FIELDSTG_setActorAnim), by the substate that plays them.
#define ACTOR_ANIM_GAUGE_PLAY
with PLAYER09
#define ACTOR_ANIM_GAUGE_END
#define ACTOR_ANIM_USED
the object's
#define TRAIL_STEPS
The last TRAIL_STEPS steps of the actor that another one follows (Actor.trail), a ring from tail to h...
#define FIELD_SEARCH_ITEM
item 4, which the player needs to search the hidden spots
#define SOUND_TRAP_ICE
held
#define ACTOR_ANIM_SEARCH
#define FLIGHT_LEVEL(n)
n * 16 pixels, in z's 1/256 pixels
#define ACTOR_ANIM_GAUGE_WAIT
with PLAYER10, until the game ends
#define ACTOR_ANIM_DROP_OFF
#define FIELD_FLAG_TALK_AHEAD
The player's FLAGS_00 codes (FIELDSTG_controlPlayer)
#define ACTOR_ANIM_CLIMB_UP
#define FIELD_MODE_WSTAG415
The modes of two fields that keep the file cache (FIELDSTG_keepsFileCache)
#define FLIGHT_LANDING
how far above a wall's top a descent stops
#define ACTOR_ANIM_GAUGE_RESULT
after the game, with a balloon
#define ACTOR_ANIM_GAUGE_START
#define FLIGHT_CEILING(n)
#define ACTOR_ANIM_CLIMB_OFF_BOTTOM
#define ACTOR_ANIM_CLIMB_OFF_TOP
#define ACTOR_ANIM_CLIMB_DOWN
#define ACTOR_ANIM_GET_OVER_EDGE
#define SOUND_SUB_MOVE
held
#define FLIGHT_SPEED_MAX_PAL
FLIGHT_SPEED_MAX * 6 / 5, for 50 frames a second.
#define ACTOR_ANIM_GET_ON_WALL
s16 FIELDSTG_slideVoice
the voice of the slide's sound (ACTOR_SLIDE, SOUND_TRAP_ICE)
void(* FIELDSTG_checkBattle)()
FIELDSTG_countBattleSteps.
s32 FIELDSTG_turnedPartners[]
the partners' kinds (Actor.key2): the ones FIELDSTG_startActorGauge turns, FIELDSTG_haltPartners stop...
u8 FIELDSTG_probeSteps[][2]
a probe's offset: bit 0 set, bit 7 negative
StandIn FIELDSTG_standIns[]
up to character 0
u8 FIELDSTG_probes[][5]
the probes of each direction (FIELDSTG_checkFlightProbes)
Vec2 FIELDSTG_probePos[]
a probe's position
FieldState FIELDSTG_state
s32 FIELDSTG_padDirs[]
the direction of each combination of the pad directions
FileCache FILE_CACHE
The file cache.
GaugeGame * FIELDSTG_createGauge(Vec2 pos)
Creates the gauge game at a tile.
HiddenSpots * FIELDSTG_findHiddenSpot(Vec2 *pos, s32 select)
The hidden spots, when one is within 10 pixels of pos (selecting it if select), or NULL.
Launch * FIELDSTG_createLaunch(Actor *actor, SlotDest *dest)
Creates the flight of an actor to the tile at dest; two stages' modes (0x26C, 0x2D4) set theirs up.
PadState PAD
Controller input: cleared by initPad, then the methods.
TaskRegistry TASK_REGISTRY
SoundState SOUND
rsin and rcos (libgte) read rsin_tbl[a - 0x800] and the like: their addresses before the table fall i...
Speech * FIELDSTG_createTalk(Actor *actor, s32 entry)
Creates the talk box of an actor's text entry, on the side of the screen away from where it faces and...
The children of an actor (FIELDSTG_updateActor)
struct Balloon * balloon
FIELDSTG_createBalloon's.
void * action
a gauge game or a launch
struct Speech * speech
FIELDSTG_createTalk's.
Where an actor's frames go in VRAM: one of the records after the FieldImage (Actor....
s16 imageX
where FIELDSTG_animateActor loads each frame
A character on the field (FIELDSTG_createActor): the player (kind 0) and the other characters.
s16 frameHeight
and its height
s32 keepsDir
doesn't turn to the one who talks to it (characters 0x28-0x2A, 0x3E and 0x11A)
s32 goalX
the tile it walks to
u16 * talkActions
the talk's flag actions, applied when it ends, or NULL
s32 animSet
the animation set it plays (setAnim)
s32 climbSide
a climb shifts it a tile right (1) or left (0)
s32 animTime
the frame's time left
s32 z
how high it is off the ground, in 1/256 pixels (drawn that much higher)
s32 walks
the pad walks it (ACTOR_WALK) instead of running
s32 loadedSet
the set setAnims was loaded for
s32 setAnims[5]
the set's animations, for the directions 0 to 4
s32 wallHeight
the top of the climb
struct ActorImage * image
s32 goalDir
the direction it then faces
s32 depth
the layer's ordering table entry
struct Trail * trail
a follower's: the leader's steps
void(* getFacingTile)(struct Actor *, Vec2 *out)
s16 voice
a sound voice, or -1
s32 frame[4]
the frame's image, the one loaded, and two values
s32 flying
the flying player (FIELDSTG_controlFlight)
s32 animDone
the animation ended (isAnimDone)
s32 climbHeight
how high it has climbed, in 1/256 pixels (its shadow stays below)
void(* setSubstate)(struct Actor *task, s32 substate)
s16 frameWidth
the loaded image's width in pixels
s32 walking
walking to the goal (setGoal, FIELDSTG_walkToGoal)
s32 animFile
its animations' file and index (FIELDSTG_fileEntries), or 0
struct FieldImage * fieldImage
the field's image, for the shadow
void(* setState)(struct Actor *task, s32 state)
s32 halfWidth
half its width (FIELDSTG_actorWidths): its box's half width, and half that its half height
s32 animPos
the next word of the direction's frames
void(* nextStep)(struct Actor *task)
void(* control)(struct Actor *)
its update by kind, or NULL (resetControl)
s32 reloadImage
set to reload the frame's image
s32 hasShadow
drawn with a shadow
s32 speed
0x400, 0x4CC in PAL's 50 Hz
struct Actor * talkPartner
the actor that talks to it
s32 zSpeed
added to z each frame
struct FieldActorEntry * entry
what created it, or NULL
void(* setState)(struct Balloon *task, s32 state)
struct FieldTalk * talks
up to the first without conditions
The image of the field's effects (FieldState.images), then the actors' ActorImages.
ActorImage shadow
the actors' shadow (FIELDSTG_drawActor)
void(* getWalkStep)(Vec2 *pos, s32 scale, s32 dir, Vec2 *out)
FIELDSTG_getWalkStep.
s32(* getCell)(s32 index, Vec2 *pos)
FIELDSTG_getMapCell.
void(* getFlyStep)(Vec2 *pos, s32 scale, s32 dir, Vec2 *out)
FIELDSTG_getFlyStep.
s32(* isTileFree)(Vec2 *pos)
FIELDSTG_isTileFree: 0 where a character or an object stands.
s32 busy
an event, a warp, a launch or a battle has the player
s32 battleStarting
an encounter started (FIELDSTG_startEncounter)
s32 menuOpen
the field menu (START) or the inn (FIELDSTG_openInn) is open: the pad doesn't move the player
s32 acting
the player talks, climbs, slides or searches
What a character says (FIELDSTG_runActorAction): the first whose conditions hold, or the last,...
s32 entry
its text's entry in the field's text file (FIELDSTG_createTalk)
u16 * actions
FLAGS_00.applyActions's when it ends, or NULL.
u16 * conditions
FLAGS_00.checkConditions's.
void *(* getEntry)(u32 fileAndIndex)
void(* applyActions)(u16 *list)
void(* applyAction)(s32 code, s32 value)
s32(* checkCondition)(u16 code, u16 value)
s32(* checkConditions)(u16 *list)
s32(* getFrameTime)(void)
s32(* getFrameCount)(void)
void(* setPrim)(void *next)
The map's hidden spots (FIELD_TASK_HIDDEN_SPOTS, FIELDSTG_createHiddenSpots): one of them,...
A drawing layer (GFX.funcs.createLayer): a DRAWENV with a pair of ordering tables,...
u_long *(* getOtEntry)(struct Layer *, s32 depth)
s32(* getPressed)(s32 pad)
Where a slot leads: a StageSlot from its arg on, as the warps (FieldTask.warp) and the launches (Laun...
short(* playSound)(s32 id)
returns the voice of a key-on
void(* keyOff)(s32 id, s16 voice)
void *(* find)(s32 id, s32 key1, s32 key2)
Tasks created with an id, so that other code can find them.
Uploads TIM images to VRAM (initTimLoader); acts on TIM_LOADER.
void(* setClutPos)()
(x, y)
void(* setImagePos)()
(x, y)
u16 w
size of the last image
void initTimLoader(TimLoader *obj)
Clears a TIM loader, gives it its methods and binds it.
The next free primitive of the packet buffer (getPrim), written as the kind that is drawn next.