9 { { 1800, 1 }, { 480, 9 }, { 360, 3 }, { 300, 4 }, { 480, 9 }, { -1, 0 } },
10 { { 360, 6 }, { 900, 1 }, { 300, 5 }, { 480, 9 }, { -1, 0 }, { 0, 0 } },
11 { { 1920, 1 }, { 360, 6 }, { 180, 7 }, { 480, 9 }, { -1, 0 }, { 0, 0 } },
12 { { 90, 10 }, { 90, 5 }, { -1, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
16 { 1, 2, 1 }, { 0, 2, 2 }, { 0, 1, 0 }, { 0, 1, 2 },
35 if (task->
step == 0) {
45 if (task->
view->
rot.vy >= 0x1000) {
103 if (task->
view->
rot.vy >= 0x1000) {
120 switch (task->
state) {
134 if (task->
time <= 0) {
143 if (task->
step == 0) {
149 if (task->
step == 0) {
156 if (task->
step == 0) {
163 if (task->
step == 0) {
171 if (task->
step == 0) {
179 if (task->
step == 0) {
186 if (task->
step == 0) {
193 if (task->
step == 0) {
200 if (task->
step == 0) {
#define BATTLE_TASK_CAMERA
#define BATTLE_TASK_MODELS
the fighters'
FIGHTSTG.PRO: the battle.
GfxState GFX
GFX: the graphics state and its methods.
TaskRegistry TASK_REGISTRY
static void viewPartnerSide(ShotCamera *task)
Views the partner's side, with the enemy's model hidden.
static void viewFromAbove(ShotCamera *task)
Shot 9: a turning view, set high above the enemy's view.
static void spinViewBack(ShotCamera *task)
Turns the view around the other way at the shot's speed.
static void startNextShot(ShotCamera *task)
Shows both models again and starts the list's next shot, or the first shot of a list picked at random...
static void turnAroundFighters(ShotCamera *task)
Shot 1: turns around the fighters from the enemy's view, going on from where the last turn stopped (i...
static void viewEnemySide(ShotCamera *task)
Views the enemy's side, with the partner's model hidden.
void FIGHTSTG_updateShotCamera(ShotCamera *task)
A camera that plays lists of shots (FIGHTSTG_cameraShots): turns around the fighters,...
CameraShot FIGHTSTG_cameraShots[4][6]
FIGHTSTG_updateShotCamera's shots: how long each lasts and the substate that makes it,...
ShotCamera * FIGHTSTG_createShotCamera(void)
Starts the camera that plays lists of shots (FIGHTSTG_updateShotCamera)
u8 FIGHTSTG_nextShotLists[8][3]
the lists that can follow each one
static void viewFromSide(ShotCamera *task)
Shot 2: a fixed view, set off to the side of the enemy's view.
static void spinView(ShotCamera *task)
Turns the view around at the shot's speed.
CameraView *(* getFighterView)(struct BattleCamera *task, s32 id, s32 camera)
CameraView *(* getEnemyView)(struct BattleCamera *task)
void(* set)(struct BattleCamera *task, CameraView *view)
s32 stage
the battle's fight stage
A shot of FIGHTSTG_updateShotCamera's camera.
s32 proj
the projection distance
s32(* getFrameTime)(void)
struct ModelControl::@3 layers[2]
the model is drawn once for each one enabled
ModelControl *(* get)(struct Models *task, s32 id)
s32(* next)(void)
0 to RANDOM_COUNT - 1
A camera (FIGHTSTG_createShotCamera) that goes through lists of shots (FIGHTSTG_cameraShots),...
s16 ry
where the turn of substate 1 is
void(* nextState)(struct ShotCamera *task)
void(* setSubstate)(struct ShotCamera *task, s32 substate)
struct BattleCamera * camera
void *(* find)(s32 id, s32 key1, s32 key2)
void * createTask(void(*update)(), s32 size, s32 childrenSize)
createTaskWithId for a task nothing needs to find