10 RotMatrixYXZ_gte(&task->
rot, &task->
coord.coord);
16 GsSetRefView2(&task->
view);
49 switch (task->
state) {
FighterCache FIGHTSTG_fighterCache
the fighters' data, loaded one at a time
FIGHTSTG.PRO: the battle.
GfxState GFX
GFX: the graphics state and its methods.
#define TASK_INIT
Tasks: every game object is a task, a heap block that starts with this header and is updated once per...
FighterCamera * FIGHTSTG_createCamera(s32 fighter, ModelControl *control)
Creates the camera of a fighter of the partner view, on control's model.
void FIGHTSTG_updateCamera(FighterCamera *task)
The fighter camera's task: once layer 0x1009 is there, loads the view and sets it for two frames.
void FIGHTSTG_applyCamera(FighterCamera *task)
Sets layer 0x1009's view to the fighter camera's, with its rotation and translation,...
void FIGHTSTG_loadCamera(FighterCamera *task)
Loads a fighter camera's view from its fighter's camera 6, or 7 while the model has an idle motion,...
A fighter's camera (FIGHTSTG_createCamera) on layer 0x1009, from its FighterInfo; frames counts the f...
GsCOORDINATE2 coord
the view's
void(* nextStep)(struct FighterCamera *task)
void(* nextState)(struct FighterCamera *task)
s32 proj
the projection distance
FighterInfo *(* getInfo)(s32 id)
A fighter's entry in its file, from FIGHTSTG_fighterCache.funcs.getInfo.
ShortVec3 camPos[12]
the cameras that look at it; an enemy has 3 of each and then their count
struct Layer *(* getLayer)(s32 id)
A drawing layer (GFX.funcs.createLayer): a DRAWENV with a pair of ordering tables,...
What drives a Model, owned by whoever created it.
void * createTask(void(*update)(), s32 size, s32 childrenSize)
createTaskWithId for a task nothing needs to find