|
Digimon World 3 decomp
The European version, SLES_039.36
|
An actor's moves, controls, methods, drawing and actions. More...
#include "field/field_mode.h"Go to the source code of this file.
Macros | |
| #define | SET_FILE_0 0x01870070 |
| #define | SET_FILE_8 0x03CB001E |
| #define | SET_FILE_16 0x03C9000B |
| #define | SET_FILE_1A 0x03CC0017 |
| #define | SET_FILE_OTHER 0x03CA0064 |
Functions | |
| 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, a wall higher than it or a ceiling lower than it (FLIGHT_WALL, FLIGHT_CEILING); then it steps back by offset. | |
| s32 | FIELDSTG_checkFlightProbes (Actor *actor) |
| Whether a flying actor runs into the map at any of the five probes ahead of it (FIELDSTG_checkFlightProbe) | |
| 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), or stops it when none is held. | |
| Actor * | FIELDSTG_findActorAt (Vec2 *pos) |
| The first actor (task id 5) whose box holds the tile pos: halfWidth to each side of it, half that above and below. | |
| 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 answers (ACTOR_TALK), or, for the objects 0x148, 0x15F and 0x160, the player works it (ACTOR_USE). | |
| static void | stopFlightSound (Actor *actor) |
| Stops the sound of the flight, if it plays. | |
| static void | accelerateFlight (Actor *actor) |
| Changes the flight's height speed (zSpeed) by 4 a frame, down to -0xC0 while the player flies (ACTOR_FLY) and up to 0x80 while it floats. | |
| 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 | turnInFlight (Actor *actor, s32 held) |
| Held RIGHT or LEFT turns the actor one direction every 8 frames. | |
| void | FIELDSTG_controlFlight (Actor *actor) |
| The player's flight: it rises unless triangle is held (ACTOR_FLY), left and right turn, and cross, low enough, acts on what the player faces; the map's cells hold floors (2 to 6) and ceilings (18 to 22). | |
| void | FIELDSTG_controlPlayer (Actor *actor) |
| The player's update while it walks (Actor.control) when no menu, event or transition is running: the action button or a forced action (condition 0x12) checks the tile it faces, for an object to act on or, failing that, an event; otherwise the pad moves it. | |
| void | FIELDSTG_controlClimb (Actor *actor) |
| The player's control on a wall: up and down climb, nothing held holds on. | |
| 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_drainTrail (Actor *actor) |
| A follower's update while its trail runs out: it finds the leader (FIELD_TASK_ACTOR) if it has none, then each frame pushes two empty steps at the trail's head and walks two steps from its tail. | |
| void | FIELDSTG_walkToGoal (Actor *actor) |
| Walks an actor to its goal tile (FIELDSTG_setActorGoal) as the pad would, then faces it the goal's way. | |
| 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) | |
| s32 | FIELDSTG_isActorWalking (Actor *actor) |
| Whether an actor is still walking to its goal. | |
| void | FIELDSTG_startActorWalk (Actor *actor) |
| Starts an actor walking to its goal. | |
| 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 partners. | |
| void | FIELDSTG_walkActorInDir (Actor *actor, s32 dir) |
| Walks an actor out through an exit, in a direction (ACTOR_WALK_OUT) | |
| void | FIELDSTG_startActorSlide (Actor *actor, s32 dir) |
| Starts an actor sliding in a direction (SLOT_SLIDE) | |
| void | FIELDSTG_stopActorSlide (Actor *actor) |
| Stops a sliding actor (SLOT_STOP_SLIDE) | |
| 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 at its foot (ACTOR_GET_ON_WALL) or its top (ACTOR_GET_OVER_EDGE), climbs it with the pad (FIELDSTG_controlClimb) and leaves it at the top or the foot; a drop (ACTOR_DROP) falls from height. | |
| 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_startDrop (Actor *actor, s32 dir, Vec2 pos, s32 height) |
| Starts a drop from a ledge of height. | |
| 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_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 kind, then leaves for its mode (FIELDSTG_startWarp) | |
| void | FIELDSTG_launchActor (Actor *actor, SlotDest *dest) |
| Sends the player flying to the tile at dest from the nearest launcher (FIELDSTG_createLaunch) | |
| void | FIELDSTG_setActorAnim (Actor *actor, s32 set) |
| Starts an actor's animation set from its first frame. | |
| 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) | |
| s32 | FIELDSTG_isActorAnimDone (Actor *actor) |
| Whether an actor's animation has played to its end. | |
| void | FIELDSTG_drawActor (void *data, void *drawLayer) |
| The layer's sorted callback that draws an actor: its frame from its image, mirrored for the directions 5 and up, and, when it has one, its shadow, a sprite with its own texture page. | |
| 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 five directions (character 2 picks the file by the set first), then steps the frames of the current direction's and loads a new frame's image into VRAM. | |
| void | FIELDSTG_restorePlayerControl (Actor *actor) |
| Gives the player its pad control back, off any wall. | |
| 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 32 when not; with canBattle each step can start a battle (FIELDSTG_checkBattle) | |
| 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 | standAgain (Actor *actor) |
| Puts a character back to standing, under the player's control again. | |
| static void | giveControlBack (Actor *player) |
| Gives the player that talked back its control, walking or flying. | |
| static void | setUsedFlag (s32 character) |
| Sets the flag of the characters 0x148, 0x15F and 0x160 once they are used. | |
| static void | runStop (Actor *actor) |
| ACTOR_STOP: the stop after a run, then standing. | |
| static void | runSlide (Actor *actor) |
| ACTOR_SLIDE: the slide on ice, with its sound. | |
| 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 | runClimbUp (Actor *actor) |
| ACTOR_CLIMB_UP: up the wall, to its top. | |
| static void | runClimbDown (Actor *actor) |
| ACTOR_CLIMB_DOWN: down the wall, to its foot. | |
| static void | runGetOnWall (Actor *actor) |
| ACTOR_GET_ON_WALL: from the ground onto the wall, to climb it. | |
| static void | runClimbOffBottom (Actor *actor) |
| ACTOR_CLIMB_OFF_BOTTOM: from the wall's foot onto the ground. | |
| static void | runClimbOffTop (Actor *actor) |
| ACTOR_CLIMB_OFF_TOP: from the wall's top onto the ground above. | |
| static void | runDrop (Actor *actor) |
| ACTOR_DROP: the drop off a wall's edge, the fall and the landing. | |
| static void | runGauge (Actor *actor, ActorChildren *children) |
| ACTOR_GAUGE: the gauge game's poses, from its start to its result's balloon. | |
| static void | runSearch (Actor *actor) |
| ACTOR_SEARCH: the player searches a hidden spot. | |
| 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 talk's flag actions. | |
| static void | runUse (Actor *actor) |
| ACTOR_USE: the player works one of the objects 0x148, 0x15F and 0x160. | |
| static void | runUsed (Actor *actor) |
| ACTOR_USED: the object the player worked, which plays its animation, sets its flag and goes away. | |
| 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_GET_OVER_EDGE to ACTOR_DROP (which shift it by a tile, left or right by climbSide), the talk of ACTOR_TALK (the first of the character's talks whose conditions hold) and the others up to ACTOR_STOP_SLIDE. | |
An actor's moves, controls, methods, drawing and actions.
One file: each of the jump tables of these functions starts right where the one before ends, 4 bytes past a multiple of 8, so a new object between them would move the next one's table.
Definition in file actor_control.c.
| #define SET_FILE_0 0x01870070 |
Definition at line 848 of file actor_control.c.
| #define SET_FILE_8 0x03CB001E |
Definition at line 849 of file actor_control.c.
| #define SET_FILE_16 0x03C9000B |
Definition at line 850 of file actor_control.c.
| #define SET_FILE_1A 0x03CC0017 |
Definition at line 851 of file actor_control.c.
| #define SET_FILE_OTHER 0x03CA0064 |
Definition at line 852 of file actor_control.c.
Whether a flying actor runs into the map at an offset from it: a cell that isn't free, a wall higher than it or a ceiling lower than it (FLIGHT_WALL, FLIGHT_CEILING); then it steps back by offset.
< 2 * 16 pixels, in z's 1/256 pixels
< 3 * 16 pixels, in z's 1/256 pixels
< 4 * 16 pixels, in z's 1/256 pixels
< 5 * 16 pixels, in z's 1/256 pixels
< 6 * 16 pixels, in z's 1/256 pixels
< 6 * 16 pixels, in z's 1/256 pixels
< 5 * 16 pixels, in z's 1/256 pixels
< 4 * 16 pixels, in z's 1/256 pixels
< 3 * 16 pixels, in z's 1/256 pixels
< 2 * 16 pixels, in z's 1/256 pixels
Definition at line 11 of file actor_control.c.
Referenced by FIELDSTG_checkFlightProbes().
Whether a flying actor runs into the map at any of the five probes ahead of it (FIELDSTG_checkFlightProbe)
Definition at line 90 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
Walks or runs an actor in the direction of the pad's arrows (an index of FIELDSTG_padDirs), or stops it when none is held.
< stops after a run
Definition at line 117 of file actor_control.c.
Referenced by FIELDSTG_controlPlayer(), and FIELDSTG_walkToGoal().
The first actor (task id 5) whose box holds the tile pos: halfWidth to each side of it, half that above and below.
The match depends on the registry being held in a variable.
< every character (FIELDSTG_createActor)
Definition at line 142 of file actor_control.c.
Referenced by FIELDSTG_talkToActorAt().
Talks to the character standing at pos, or to the one it stands in for (FIELDSTG_standIns): it answers (ACTOR_TALK), or, for the objects 0x148, 0x15F and 0x160, the player works it (ACTOR_USE).
Returns 1 when the player acts
< every character (FIELDSTG_createActor)
< that object
< that object
< works one of the objects 0x148, 0x15F and 0x160
< answers the actor that talks to it (talkPartner)
< slows down in the air
Definition at line 164 of file actor_control.c.
Referenced by FIELDSTG_controlFlight(), and FIELDSTG_controlPlayer().
|
inlinestatic |
Stops the sound of the flight, if it plays.
< held
Definition at line 209 of file actor_control.c.
Referenced by FIELDSTG_controlFlight(), and flyOrFloat().
|
inlinestatic |
Changes the flight's height speed (zSpeed) by 4 a frame, down to -0xC0 while the player flies (ACTOR_FLY) and up to 0x80 while it floats.
< flies on, triangle held (FIELDSTG_controlFlight)
Definition at line 218 of file actor_control.c.
Referenced by FIELDSTG_controlFlight().
Held TRIANGLE flies (ACTOR_FLY, with its sound), else the actor floats and the sound stops.
< flies on, triangle held (FIELDSTG_controlFlight)
< flies on, triangle held (FIELDSTG_controlFlight)
< held
< flies on, triangle held (FIELDSTG_controlFlight)
< slows down in the air
Definition at line 238 of file actor_control.c.
Referenced by FIELDSTG_controlFlight().
Held RIGHT or LEFT turns the actor one direction every 8 frames.
Definition at line 255 of file actor_control.c.
Referenced by FIELDSTG_controlFlight().
| void FIELDSTG_controlFlight | ( | Actor * | actor | ) |
The player's flight: it rises unless triangle is held (ACTOR_FLY), left and right turn, and cross, low enough, acts on what the player faces; the map's cells hold floors (2 to 6) and ceilings (18 to 22).
The match depends on the button's shift and mask as two statements.
< 2 * 16 pixels, in z's 1/256 pixels
< 6 * 16 pixels, in z's 1/256 pixels
< 5 * 16 pixels, in z's 1/256 pixels
< 4 * 16 pixels, in z's 1/256 pixels
< 3 * 16 pixels, in z's 1/256 pixels
< 2 * 16 pixels, in z's 1/256 pixels
< 2 * 16 pixels, in z's 1/256 pixels
< 2 * 16 pixels, in z's 1/256 pixels
< how far above a wall's top a descent stops
< 3 * 16 pixels, in z's 1/256 pixels
< 3 * 16 pixels, in z's 1/256 pixels
< how far above a wall's top a descent stops
< 4 * 16 pixels, in z's 1/256 pixels
< 4 * 16 pixels, in z's 1/256 pixels
< how far above a wall's top a descent stops
< 5 * 16 pixels, in z's 1/256 pixels
< 5 * 16 pixels, in z's 1/256 pixels
< how far above a wall's top a descent stops
< 6 * 16 pixels, in z's 1/256 pixels
< 6 * 16 pixels, in z's 1/256 pixels
< how far above a wall's top a descent stops
Definition at line 271 of file actor_control.c.
Referenced by FIELDSTG_createActor(), and giveControlBack().
| void FIELDSTG_controlPlayer | ( | Actor * | actor | ) |
The player's update while it walks (Actor.control) when no menu, event or transition is running: the action button or a forced action (condition 0x12) checks the tile it faces, for an object to act on or, failing that, an event; otherwise the pad moves it.
The match depends on the object's case being an early exit, a do-while (0) with a break, after which the event's check is the rest of the block.
< the player talks to what it faces, and clears it
< item 4, which the player needs to search the hidden spots
< searches a hidden spot
< the player talks to what it faces, and clears it
Definition at line 388 of file actor_control.c.
Referenced by FIELDSTG_createActor(), FIELDSTG_resetActorControl(), and FIELDSTG_restorePlayerControl().
| void FIELDSTG_controlClimb | ( | Actor * | actor | ) |
The player's control on a wall: up and down climb, nothing held holds on.
< holds on to a wall (FIELDSTG_controlClimb)
< holds on to a wall (FIELDSTG_controlClimb)
Definition at line 419 of file actor_control.c.
Referenced by FIELDSTG_runActorAction(), and runGetOnWall().
| void FIELDSTG_followLeader | ( | Actor * | actor | ) |
A partner's control: records the leader's steps in the trail while it moves, and follows them.
< every character (FIELDSTG_createActor)
< walks off through an exit (FIELDSTG_walkActorInDir)
< FIELDSTG_startActorSlide
< a power of two
< a power of two
< walks off through an exit (FIELDSTG_walkActorInDir)
< FIELDSTG_startActorSlide
< stops after a run
Definition at line 437 of file actor_control.c.
Referenced by FIELDSTG_createActor(), FIELDSTG_resetActorControl(), and FIELDSTG_resumePartners().
| 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, then each frame pushes two empty steps at the trail's head and walks two steps from its tail.
At x 0 it clears the trail and drops this update. The match depends on the leader being read into a variable before trail is set, which makes trail a copy of the pointer the leader was loaded through.
< every character (FIELDSTG_createActor)
< a power of two
< a power of two
< a power of two
Definition at line 492 of file actor_control.c.
Referenced by FIELDSTG_haltPartners().
| void FIELDSTG_walkToGoal | ( | Actor * | actor | ) |
Walks an actor to its goal tile (FIELDSTG_setActorGoal) as the pad would, then faces it the goal's way.
Definition at line 529 of file actor_control.c.
Referenced by FIELDSTG_launchActor(), and FIELDSTG_startActorWalk().
Sets the tile an actor walks to and the direction it ends facing (FIELDSTG_walkToGoal)
Definition at line 567 of file actor_control.c.
Referenced by setActorMethods().
Whether an actor is still walking to its goal.
Definition at line 575 of file actor_control.c.
Referenced by setActorMethods().
| void FIELDSTG_startActorWalk | ( | Actor * | actor | ) |
Starts an actor walking to its goal.
Definition at line 580 of file actor_control.c.
Referenced by setActorMethods().
| 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 partners.
Definition at line 586 of file actor_control.c.
Referenced by setActorMethods().
Walks an actor out through an exit, in a direction (ACTOR_WALK_OUT)
< walks off through an exit (FIELDSTG_walkActorInDir)
Definition at line 604 of file actor_control.c.
Referenced by setActorMethods().
Starts an actor sliding in a direction (SLOT_SLIDE)
< FIELDSTG_startActorSlide
< FIELDSTG_startActorSlide
Definition at line 611 of file actor_control.c.
Referenced by setActorMethods().
| void FIELDSTG_stopActorSlide | ( | Actor * | actor | ) |
Stops a sliding actor (SLOT_STOP_SLIDE)
< FIELDSTG_startActorSlide
Definition at line 620 of file actor_control.c.
Referenced by setActorMethods().
The climbs (SLOT_CLIMB_UP and SLOT_CLIMB_DOWN) and the drop (SLOT_DROP): the actor goes onto the wall at its foot (ACTOR_GET_ON_WALL) or its top (ACTOR_GET_OVER_EDGE), climbs it with the pad (FIELDSTG_controlClimb) and leaves it at the top or the foot; a drop (ACTOR_DROP) falls from height.
< from below (FIELDSTG_startClimbUp)
Definition at line 630 of file actor_control.c.
Referenced by setActorMethods().
Starts the climb down a wall of height from its top, at (x, y)
< onto the wall from above (FIELDSTG_startClimbDown)
Definition at line 648 of file actor_control.c.
Referenced by setActorMethods().
Starts a drop from a ledge of height.
< FIELDSTG_startDrop
Definition at line 666 of file actor_control.c.
Referenced by setActorMethods().
Starts the gauge game at an offset from an actor, turning the partners its way.
< plays the gauge game (FIELDSTG_startActorGauge)
< every character (FIELDSTG_createActor)
Definition at line 687 of file actor_control.c.
Referenced by setActorMethods().
Warps the player (SLOT_WARP0 and SLOT_WARP1): the field task plays the warp's effect and cutscene of kind, then leaves for its mode (FIELDSTG_startWarp)
Definition at line 712 of file actor_control.c.
Referenced by setActorMethods().
Sends the player flying to the tile at dest from the nearest launcher (FIELDSTG_createLaunch)
Definition at line 722 of file actor_control.c.
Referenced by setActorMethods().
Starts an actor's animation set from its first frame.
Definition at line 734 of file actor_control.c.
Referenced by beginActorAnim(), FIELDSTG_runActorAction(), FIELDSTG_setActorPose(), runClimbDown(), runClimbOffBottom(), runClimbOffTop(), runClimbUp(), runDrop(), runGauge(), runGetOnWall(), runSearch(), runSlide(), runStop(), runTalk(), runUse(), runUsed(), setActorMethods(), and standAgain().
Puts an actor in an event's pose: an animation set and a direction (ACTOR_POSED)
< in the pose an event set (FIELDSTG_setActorPose)
Definition at line 743 of file actor_control.c.
Referenced by setActorMethods().
Whether an actor's animation has played to its end.
Definition at line 751 of file actor_control.c.
Referenced by setActorMethods().
| void FIELDSTG_drawActor | ( | void * | data, |
| void * | drawLayer | ||
| ) |
The layer's sorted callback that draws an actor: its frame from its image, mirrored for the directions 5 and up, and, when it has one, its shadow, a sprite with its own texture page.
(actor, layer)
The match depends on the shadow's y offset cast to s16, and on the untyped parameters copied to typed locals.
Definition at line 759 of file actor_control.c.
Referenced by FIELDSTG_updateActor().
Turns an actor to a direction.
Definition at line 837 of file actor_control.c.
Referenced by setActorMethods().
| void FIELDSTG_animateActor | ( | Actor * | actor | ) |
Plays an actor's animation: when its set (animSet) changes, it loads the set's animations for the five directions (character 2 picks the file by the set first), then steps the frames of the current direction's and loads a new frame's image into VRAM.
The match depends on two early exits written as a do-while (0) with breaks, the pick of the file and the step of the frames: loop.c moves the end of the animation (-1) out of the second one, after the direction's barrier, and reorg fills the first one's < 0x16 branch from its fallthrough, as only a branch out of a loop is. It also depends on reloadImage being read twice, on the width cast to s16 and on reloadImage being cleared last.
Definition at line 867 of file actor_control.c.
Referenced by FIELDSTG_updateActor().
| void FIELDSTG_restorePlayerControl | ( | Actor * | actor | ) |
Gives the player its pad control back, off any wall.
Definition at line 964 of file actor_control.c.
Referenced by giveControlBack(), runClimbOffBottom(), runClimbOffTop(), runStopSlide(), and standAgain().
The player's footsteps, every 8 frames when it moves (every 32 for the characters 0x146 and 0x147) or 32 when not; with canBattle each step can start a battle (FIELDSTG_checkBattle)
Definition at line 972 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
| void FIELDSTG_playClimbSounds | ( | Actor * | actor | ) |
The player's climbing sound, every 16 frames.
Definition at line 995 of file actor_control.c.
Referenced by runClimbDown(), and runClimbUp().
The first frame of an action: the actor gets its shadow and the action's animation.
Definition at line 1006 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
Puts a character back to standing, under the player's control again.
Definition at line 1019 of file actor_control.c.
Referenced by runDrop(), runGauge(), runSearch(), and runUse().
|
inlinestatic |
Gives the player that talked back its control, walking or flying.
Definition at line 1026 of file actor_control.c.
Referenced by runTalk().
|
inlinestatic |
Sets the flag of the characters 0x148, 0x15F and 0x160 once they are used.
Definition at line 1035 of file actor_control.c.
Referenced by runUsed().
|
inlinestatic |
ACTOR_STOP: the stop after a run, then standing.
Definition at line 1050 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_SLIDE: the slide on ice, with its sound.
< held
Definition at line 1065 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_STOP_SLIDE: the end of a slide, half a second before the player's control comes back.
< held
Definition at line 1085 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_CLIMB_UP: up the wall, to its top.
Definition at line 1098 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_CLIMB_DOWN: down the wall, to its foot.
Definition at line 1117 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_GET_ON_WALL: from the ground onto the wall, to climb it.
< holds on to a wall (FIELDSTG_controlClimb)
Definition at line 1136 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_CLIMB_OFF_BOTTOM: from the wall's foot onto the ground.
Definition at line 1152 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_CLIMB_OFF_TOP: from the wall's top onto the ground above.
Definition at line 1171 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_DROP: the drop off a wall's edge, the fall and the landing.
< once the fall is more than 0x1800
Definition at line 1195 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_GAUGE: the gauge game's poses, from its start to its result's balloon.
< with PLAYER09
< with PLAYER10, until the game ends
< after the game, with a balloon
Definition at line 1236 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_SEARCH: the player searches a hidden spot.
Definition at line 1286 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_TALK: the character's first talk whose conditions hold, then the player's control back and the talk's flag actions.
< a treasure's, when it is talked to
Definition at line 1304 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_USE: the player works one of the objects 0x148, 0x15F and 0x160.
Definition at line 1359 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
|
inlinestatic |
ACTOR_USED: the object the player worked, which plays its animation, sets its flag and goes away.
< the object's
Definition at line 1382 of file actor_control.c.
Referenced by FIELDSTG_runActorAction().
| 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_GET_OVER_EDGE to ACTOR_DROP (which shift it by a tile, left or right by climbSide), the talk of ACTOR_TALK (the first of the character's talks whose conditions hold) and the others up to ACTOR_STOP_SLIDE.
A treasure (characters 0x21, 0x4D to 0x57, 0x154 to 0x158 and 0x15B, whose talks give an item) doesn't turn to its talker: it opens with TRESUREB, and goes away when the talk ends. The match depends on the talks' loop testing both of its ends with a break at its top, and on the moves of a tile adding a choice of two steps.
< where the player's run doesn't check the probes ahead (FIELDSTG_checkFlightProbes)
< slows down in the air
< flies on, triangle held (FIELDSTG_controlFlight)
< FLIGHT_SPEED_MAX * 6 / 5, for 50 frames a second
< FLIGHT_SPEED_MAX * 6 / 5, for 50 frames a second
< stops after a run
< walks off through an exit (FIELDSTG_walkActorInDir)
< FIELDSTG_startActorSlide
< holds on to a wall (FIELDSTG_controlClimb)
< from below (FIELDSTG_startClimbUp)
< onto the wall from above (FIELDSTG_startClimbDown)
< holds on to a wall (FIELDSTG_controlClimb)
< in the pose an event set (FIELDSTG_setActorPose)
< FIELDSTG_startDrop
< plays the gauge game (FIELDSTG_startActorGauge)
< searches a hidden spot
< answers the actor that talks to it (talkPartner)
< works one of the objects 0x148, 0x15F and 0x160
< that object
Definition at line 1419 of file actor_control.c.
Referenced by FIELDSTG_updateActor().