|
Digimon World 3 decomp
The European version, SLES_039.36
|
FIGHTSTG's models: meshes and their drawing, bones, motions, the models task and its controls, faces, effect models, the fighters' data, and the jumps and moves of a model (model_mesh.c, models.c, face.c, effect_model.c, fighter_info.c, move.c, draw.c and interp.c). More...
#include "battle/battle_mode/types.h"Go to the source code of this file.
Data Structures | |
| struct | ShortVec3 |
| A position or rotation, without the SVECTOR pad. More... | |
| struct | Mesh |
| Draws one bone of a Model (FIGHTSTG_createMesh), from the parts of an archive. More... | |
| struct | MeshDrawState |
| A Mesh's drawing state while its drawer (FIGHTSTG_drawMesh) walks its command bytes: a high nibble of 8 to 14 sets one of the flags, a low nibble of 1 the texture page and CLUT, 2 to 5 one of the flat colors, and 0 starts a run of polygons, each a 0 byte then its vertices' indices, its normals' indices when lit and its UVs when textured. More... | |
| struct | ModelBone |
| One part of a Model: a mesh (Mesh) placed by a matrix relative to its parent's. More... | |
| struct | ModelControl |
| What drives a Model, owned by whoever created it. More... | |
| struct | MotionStep |
| A motion in the motions' archive: its keyframes, step by step. More... | |
| struct | Model |
| A 3D model (FIGHTSTG_createModel), registered with id 0x11: a tree of bones, each drawn by a Mesh child (children[i] for bone i, children[0] the model's face, FIGHTSTG_createFace), and the motion it plays, from the archive of motions in motionFile. More... | |
| struct | EffectModelEntry |
| A battle effect that is a model (FIGHTSTG_startEffectModel): FIGHTSTG_effectModels lists them, ending with id 0. More... | |
| struct | EffectModel |
| Shows an effect's model at a place until its motion ends (FIGHTSTG_startEffectModel) More... | |
| struct | InterpFuncs |
| FIGHTSTG_interp: the functions that go between values. More... | |
| struct | MoveTask |
| FIGHTSTG_startMove's task: moves a ModelControl to a position. More... | |
| struct | FighterEntry |
| An entry of the fighters' file's list. More... | |
| struct | FightersFile |
| The fighters' file: offsets from its start. More... | |
| struct | FighterInfo |
| A fighter's entry in its file, from FIGHTSTG_fighterCache.funcs.getInfo. More... | |
| struct | FighterInfoEnemy |
| An enemy's FighterInfo: it has 3 cameras where a partner has 12. More... | |
| struct | FighterInfoFuncs |
| The fighters' file (FIGHTSTG_fighterCache.funcs) More... | |
| struct | FighterCache |
| FIGHTSTG_fighterCache: the last fighter getInfo found, and the fighters' file's functions. More... | |
| struct | ModelsChildren |
| The Models task's children: a removed model stays until it is gone. More... | |
| struct | Models |
| The fighters' models (FIGHTSTG_createModels), registered as BATTLE_TASK_MODELS: up to four, each one with its ModelControl, found by an id. More... | |
| struct | FaceRect |
| A part of a fighter's face (its eyes, then up to 14 more) and where its three frames are in its texture: copied into place by a DR_MOVE. More... | |
| struct | FacePart |
| struct | Face |
| A model's face (FIGHTSTG_createFace, the model's first child): the eyes blink (or close for some motions) and the other parts loop their frames. More... | |
| struct | JumpParams |
| The jump heights and speeds (t per frame) of the Jump kinds 1-6. More... | |
| struct | Jump |
| A ModelControl's jump (FIGHTSTG_startJump): up and down from its y, or for kinds 4 and 5 also forwards from or back to its home. More... | |
Macros | |
| #define | FILE_FIGHTERS 0x1CC |
| The fighters' file, which FIGHTSTG_fighterCache.funcs reads. | |
Functions | |
| Models * | FIGHTSTG_createModels (void) |
| The tasks FIGHTSTG starts for WFIGHTMN and WFIGHTTS. | |
| void | FIGHTSTG_blendBone (Model *model, ModelBone *bone) |
| Blends a bone's position, rotation and scale from the saved pose (FIGHTSTG_saveBlendPose) towards their first keys at or after the model's frame, by its blend; when either scale has a 0, the key's is taken as it is. | |
| void | FIGHTSTG_poseBone (Model *model, ModelBone *bone, s32 frame) |
| Sets a bone's position, rotation and scale to their keys at FRAME, interpolated between the keys around it. | |
| void | FIGHTSTG_poseBones (Model *model, Mesh **children) |
| Moves the root bone by the model's move along its rotation, then poses (FIGHTSTG_poseBone) or blends (FIGHTSTG_blendBone) each other bone. | |
| void | FIGHTSTG_saveBlendPose (Model *model) |
| Saves each bone's pose as the one a blend starts from. | |
| void | FIGHTSTG_setMotion (Model *model, s32 motion, s32 restart) |
| Model.setMotion: lays out the motion's keyframes. | |
| void | FIGHTSTG_updateModel (Model *model, Mesh **children) |
| The model's task: loads its textures and makes its meshes and face, then each frame follows its control's motion, steps and poses it, places the root at the control's position, builds each bone's matrices (a bone scaled to 48 or less is hidden) and queues its meshes on the control's layers; frees the bones when killed. | |
| Mesh * | FIGHTSTG_createMesh (void *archive, Vec2 texPos) |
| Creates a Mesh from an archive: its vertices (entry 0), normals (1), commands (2) and bounds (5) | |
| void | FIGHTSTG_setModelColor (Model *model, s32 mode, CVECTOR *color) |
| Model.setColor: sets the color mode, and the color unless COLOR is NULL, of the meshes of each bone but the root (once for each of the control's enabled layers) | |
| void | FIGHTSTG_setBoneNoBoundsCheck (Model *model, s32 bone, s32 value) |
| Model.setBoneNoBoundsCheck: sets bone's Mesh noBoundsCheck when either of the control's layers is enabled and bone isn't 0. | |
| s32 | FIGHTSTG_isMotionDone (Model *model) |
| Model.isMotionDone. | |
| Model * | FIGHTSTG_createModel (s32 file, s32 motionFile, Vec2 texPos, ModelControl *control, s32 hasIdle) |
| Creates a model (registered as BATTLE_TASK_MODEL) from the bone list in FILE: each bone's parent, mesh file and keys file, with the file's high half; HASIDLE makes its motions go back to its idle motion. | |
| Model * | FIGHTSTG_createPlainModel (s32 file, s32 motionFile, Vec2 texPos, ModelControl *control) |
| A model whose motions just end (FIGHTSTG_createModel) | |
| void | FIGHTSTG_lightMesh (Mesh *mesh) |
| The colors of a Mesh's normals under the lights, through its matrix. | |
| void | FIGHTSTG_projectMesh (Mesh *mesh, Layer *layer) |
| The screen positions of a Mesh's vertices and their depths in the layer's ordering table. | |
| void | FIGHTSTG_addMeshPolyGT (MeshDrawState *state) |
| Adds the polygon in state as a gouraud-shaded textured triangle or quad; the colors, points and UVs are copied a word or a halfword at a time. | |
| void | FIGHTSTG_addMeshPolyFT (MeshDrawState *state) |
| The same as a flat-shaded textured triangle or quad. | |
| s32 | FIGHTSTG_isMeshOnScreen (Mesh *mesh, Layer *layer) |
| Whether a Mesh may be on screen: the screen positions of the 9 points of its bounds against the layer's clip, 64 pixels bigger each way; noBoundsCheck skips the check. | |
| void | FIGHTSTG_drawMesh (void *arg, Layer *layer) |
| A layer callback that draws a Mesh: walks its command bytes (see MeshDrawState), setting its texture (setMeshTexture), and adds each polygon that faces the camera to the layer's ordering table (drawMeshPolygons). | |
| void | FIGHTSTG_drawMeshWireframe (Mesh *mesh, Layer *layer) |
| Draws a Mesh as wireframe: each polygon of its command runs as a green LINE_F4 through its screen points, with a LINE_F2 to close a quad. | |
| void | FIGHTSTG_queueMeshDraw (Mesh *mesh, s32 layerId, MATRIX *matrix) |
| Mesh.draw: has the layer draw the Mesh (FIGHTSTG_drawMesh) with MATRIX. | |
| void | FIGHTSTG_queueMeshWireframe (Mesh *mesh, s32 layerId, MATRIX *matrix) |
| Mesh.drawWireframe: has the layer draw the Mesh as wireframe (FIGHTSTG_drawMeshWireframe) with MATRIX. | |
| void | FIGHTSTG_updateMesh (Mesh *mesh) |
| The Mesh's task: frees its screen positions, depths and colors when killed. | |
| void | FIGHTSTG_updateMove (MoveTask *task) |
| The move's task: takes the model from from to to along tStep, a step each frame, and dies there. | |
| FighterInfo * | FIGHTSTG_getFighterInfo (s32 id) |
| the match depends on reaching the cache through the symbol until a fighter is found, and on each branch storing and returning its own info | |
| void | FIGHTSTG_cacheFighter (s32 index) |
| Loads entry index of the fighters file into FIGHTSTG_fighterCache: its id and kind, and its info, an enemy's from kind 0x3A on or else a partner's. | |
| void | FIGHTSTG_getFighterRange (u32 enemy, s32 *min, s32 *max) |
| The first and last entries of the fighters file that are enemies (enemy set) or partners. | |
| void | FIGHTSTG_updateModels (Models *task) |
| The fighters' models' task: nothing to do but start. | |
| s32 | FIGHTSTG_findModelSlot (Models *task, s32 id) |
| The slot of the fighter model registered as ID, or -1. | |
| s32 | FIGHTSTG_findFreeModelSlot (Models *task) |
| A free fighter model slot, or -1. | |
| void | FIGHTSTG_removeFighterModel (Models *task, s32 id) |
| Models.remove: kills the model registered as ID and frees its slot. | |
| void | FIGHTSTG_addFighterModel (Models *task, s32 id, s32 fighter, s32 visible) |
| Models.add: replaces the model registered as ID with FIGHTER's, in a free slot with that slot's textures, drawn on layer BATTLE_LAYER_MODELS when VISIBLE. | |
| ModelControl * | FIGHTSTG_getModelControl (Models *task, s32 id) |
| Models.get: the control of the model registered as ID, or NULL. | |
| void | FIGHTSTG_setModelId (Models *task, s32 id, s32 newId) |
| Models.setId: registers the model ID as NEWID instead, removing the one that had it. | |
| s32 | FIGHTSTG_getModelFighter (Models *task, s32 id) |
| Models.getFighter: the fighter of the model registered as ID, or 0. | |
| void | FIGHTSTG_faceModel (Models *task, s32 id) |
| Models.face: puts the model registered as ID at its side's place, facing the other side, as its home. | |
| void | FIGHTSTG_setModelIdleMotion (Models *task, s32 id, s32 motion) |
| Models.setIdleMotion. | |
| Model * | FIGHTSTG_createIdlingModel (s32 file, s32 motionFile, Vec2 texPos, ModelControl *control) |
| A model whose motions go back to its idle motion (FIGHTSTG_createModel): the fighters'. | |
| void | FIGHTSTG_updateJump (Jump *task) |
| The jump's task: lifts its model and drops it along ease curves at its speed; kind 4 also moves it forward from home, 5 back home and 6 drops it to its home height, mirrored for the enemy. | |
| Jump * | FIGHTSTG_startJump (ModelControl *control, s32 kind, s32 distance) |
| Starts a jump of control's model of kind 1-6 (FIGHTSTG_jumps), forward by distance for kind 4. | |
| MoveTask * | FIGHTSTG_startMove (ModelControl *control, ShortVec3 *to, s32 time) |
| Moves control's model from where it is to to over time frames. | |
| void | FIGHTSTG_drawShadedQuad (s32 layerId, s32 depth, DVECTOR *xy, CVECTOR *colors, s32 semi) |
| A Gouraud-shaded quad on a layer, blended when semi is set; the match depends on setSemiTrans inside the if and on poly moving on past it. | |
| void | FIGHTSTG_stepMotion (Model *model) |
| Steps a model's motion by the frames gone by, blending into a new pose where a keyframe has 0x8000, and starts the idle motion when it ends. | |
| s32 | FIGHTSTG_getEyesFrame (Face *task) |
| The eyes' frame for the model's motion: 2 (closed) for motions 4 to 11, 1 for 2, else 0 (open) | |
| void | FIGHTSTG_moveFacePart (Face *task, DR_MOVE *prim, s32 part, s32 frame) |
| Fills prim to copy part's frame of the face's texture over the part, in VRAM. | |
| void | FIGHTSTG_updateFace (Face *task) |
| A fighter's face task: each frame, copies the eyes' frame (blinking at random while open) and the other parts' frames (a three-frame cycle) over the model's texture, for the parts whose frame changed. | |
| Face * | FIGHTSTG_createFace (Model *model, s32 fighter) |
| Creates the face of fighter's model, with its parts (FIGHTSTG_fighterCache.getFace); none for fighter 0. | |
| void | FIGHTSTG_projectPoint (Layer *layer, SVECTOR *pos, ShortVec3 *out) |
| Projects pos to the screen: its x and y, and its depth in the layer's ordering table. | |
| void | FIGHTSTG_updateEffectModel (EffectModel *task, Model **children) |
| An effect model's task: creates its model at its position and rotation on layer BATTLE_LAYER_MODELS and ends when its motion is over. | |
| s32 | FIGHTSTG_getEffectModelFile (s32 id) |
| The model file of effect model id (FIGHTSTG_effectModels), or 0 for none. | |
| EffectModel * | FIGHTSTG_startEffectModel (s32 id, SVECTOR *pos, SVECTOR *rot) |
| Starts the effect model id at pos and rot, its model in FIGHTSTG_effectModels and its textures at (0x280, 0x100); killed at once when id has no entry. | |
| void | FIGHTSTG_interpNop (void) |
| FIGHTSTG_interp.nop: empty, and nothing calls it. | |
| void | FIGHTSTG_lerpVector (SVECTOR *from, SVECTOR *to, s32 t, SVECTOR *out) |
FIGHTSTG_interp.lerp: out is from moved t (0-0x1000) of the way to to, on the GTE. | |
| s32 | FIGHTSTG_ease (s32 curve, s32 t, s32 value) |
| Returns value scaled by the sine of t (4096 is 1.0) on the given curve: 0 a quarter of t, 1 the same as a cosine, 2 half of t. | |
| void | FIGHTSTG_drawQuad (s32 layerId, s32 depth, DVECTOR *xy, CVECTOR *colors) |
| the functions of FIGHTSTG_battle, FIGHTSTG_action and FIGHTSTG_battleFuncs | |
| void | FIGHTSTG_drawBlendedQuad (s32 layerId, s32 depth, DVECTOR *xy, CVECTOR *colors) |
| A Gouraud-shaded quad on a layer, blended. | |
| FaceRect * | FIGHTSTG_getFighterFace (s32 id) |
| Fighter id's face parts (FaceRect), in the fighters file. | |
Variables | |
| MATRIX | IDENTITY_MATRIX |
| the root bone's parent (src/engine/data/matrices.c) | |
| FighterCache | FIGHTSTG_fighterCache |
| Shared between the overlay's objects. | |
| InterpFuncs | FIGHTSTG_interp |
| the functions that go between values | |
| Vec2 | FIGHTSTG_fighterTexPos [] |
| the fighters' models' texture places | |
| EffectModelEntry | FIGHTSTG_effectModels [] |
| the effect models, ended by an id of 0; the European version's differ | |
| JumpParams | FIGHTSTG_jumps [] |
| the jumps of FIGHTSTG_startJump, by kind from 1 | |
| s32 | FIGHTSTG_partnerIdleMotion |
| the partner's idle motion while stage 0x1D is up | |
FIGHTSTG's models: meshes and their drawing, bones, motions, the models task and its controls, faces, effect models, the fighters' data, and the jumps and moves of a model (model_mesh.c, models.c, face.c, effect_model.c, fighter_info.c, move.c, draw.c and interp.c).
Definition in file model.h.
| #define FILE_FIGHTERS 0x1CC |
| Models * FIGHTSTG_createModels | ( | void | ) |
The tasks FIGHTSTG starts for WFIGHTMN and WFIGHTTS.
The tasks FIGHTSTG starts for WFIGHTMN and WFIGHTTS.
< the fighters'
Definition at line 154 of file models.c.
Referenced by setUpBattle(), and WFIGHTMN_updateMenu().
Blends a bone's position, rotation and scale from the saved pose (FIGHTSTG_saveBlendPose) towards their first keys at or after the model's frame, by its blend; when either scale has a 0, the key's is taken as it is.
Definition at line 23 of file model_mesh.c.
Referenced by FIGHTSTG_poseBones().
Sets a bone's position, rotation and scale to their keys at FRAME, interpolated between the keys around it.
Definition at line 83 of file model_mesh.c.
Referenced by FIGHTSTG_poseBones(), and FIGHTSTG_stepMotion().
Moves the root bone by the model's move along its rotation, then poses (FIGHTSTG_poseBone) or blends (FIGHTSTG_blendBone) each other bone.
Definition at line 143 of file model_mesh.c.
Referenced by FIGHTSTG_updateModel().
| void FIGHTSTG_saveBlendPose | ( | Model * | model | ) |
Saves each bone's pose as the one a blend starts from.
Definition at line 173 of file model_mesh.c.
Referenced by FIGHTSTG_stepMotion().
Model.setMotion: lays out the motion's keyframes.
Definition at line 185 of file model_mesh.c.
Referenced by FIGHTSTG_createModel(), FIGHTSTG_stepMotion(), and FIGHTSTG_updateModel().
The model's task: loads its textures and makes its meshes and face, then each frame follows its control's motion, steps and poses it, places the root at the control's position, builds each bone's matrices (a bone scaled to 48 or less is hidden) and queues its meshes on the control's layers; frees the bones when killed.
Definition at line 296 of file model_mesh.c.
Referenced by FIGHTSTG_createModel().
Creates a Mesh from an archive: its vertices (entry 0), normals (1), commands (2) and bounds (5)
Definition at line 1061 of file model_mesh.c.
Referenced by FIGHTSTG_updateModel().
Model.setColor: sets the color mode, and the color unless COLOR is NULL, of the meshes of each bone but the root (once for each of the control's enabled layers)
Definition at line 410 of file model_mesh.c.
Referenced by FIGHTSTG_createModel().
Model.setBoneNoBoundsCheck: sets bone's Mesh noBoundsCheck when either of the control's layers is enabled and bone isn't 0.
The match depends on the pointer to the bone's slot, which children[bone + 1] computes with the addu's operands the other way round.
Definition at line 433 of file model_mesh.c.
Referenced by FIGHTSTG_createModel().
Definition at line 445 of file model_mesh.c.
Referenced by FIGHTSTG_createModel().
| Model * FIGHTSTG_createModel | ( | s32 | file, |
| s32 | motionFile, | ||
| Vec2 | texPos, | ||
| ModelControl * | control, | ||
| s32 | hasIdle | ||
| ) |
Creates a model (registered as BATTLE_TASK_MODEL) from the bone list in FILE: each bone's parent, mesh file and keys file, with the file's high half; HASIDLE makes its motions go back to its idle motion.
< a model (FIGHTSTG_updateModel)
Definition at line 452 of file model_mesh.c.
Referenced by FIGHTSTG_createIdlingModel(), and FIGHTSTG_createPlainModel().
| Model * FIGHTSTG_createPlainModel | ( | s32 | file, |
| s32 | motionFile, | ||
| Vec2 | texPos, | ||
| ModelControl * | control | ||
| ) |
A model whose motions just end (FIGHTSTG_createModel)
Definition at line 502 of file model_mesh.c.
Referenced by FIGHTSTG_updateEffectModel(), and FIGHTSTG_updateStage().
| void FIGHTSTG_lightMesh | ( | Mesh * | mesh | ) |
The colors of a Mesh's normals under the lights, through its matrix.
Definition at line 507 of file model_mesh.c.
Referenced by FIGHTSTG_drawMesh().
The screen positions of a Mesh's vertices and their depths in the layer's ordering table.
Definition at line 541 of file model_mesh.c.
Referenced by FIGHTSTG_drawMesh(), and FIGHTSTG_drawMeshWireframe().
| void FIGHTSTG_addMeshPolyGT | ( | MeshDrawState * | state | ) |
Adds the polygon in state as a gouraud-shaded textured triangle or quad; the colors, points and UVs are copied a word or a halfword at a time.
Definition at line 580 of file model_mesh.c.
Referenced by drawMeshPolygons().
| void FIGHTSTG_addMeshPolyFT | ( | MeshDrawState * | state | ) |
The same as a flat-shaded textured triangle or quad.
Definition at line 615 of file model_mesh.c.
Referenced by drawMeshPolygons().
Whether a Mesh may be on screen: the screen positions of the 9 points of its bounds against the layer's clip, 64 pixels bigger each way; noBoundsCheck skips the check.
The match depends on the + 128s kept in w and h, which gcc otherwise folds into the - 64s.
Definition at line 648 of file model_mesh.c.
Referenced by FIGHTSTG_drawMesh(), and FIGHTSTG_drawMeshWireframe().
| void FIGHTSTG_drawMesh | ( | void * | arg, |
| Layer * | layer | ||
| ) |
A layer callback that draws a Mesh: walks its command bytes (see MeshDrawState), setting its texture (setMeshTexture), and adds each polygon that faces the camera to the layer's ordering table (drawMeshPolygons).
The match depends on the mesh coming in as a void *, on the ?: for q and on each polygon's checks and drawing being a do-while (0) with breaks (both in drawMeshPolygons).
Definition at line 815 of file model_mesh.c.
Referenced by FIGHTSTG_queueMeshDraw().
Draws a Mesh as wireframe: each polygon of its command runs as a green LINE_F4 through its screen points, with a LINE_F2 to close a quad.
Each addPrim is written out with linkTag.
Definition at line 909 of file model_mesh.c.
Referenced by FIGHTSTG_queueMeshWireframe().
Mesh.draw: has the layer draw the Mesh (FIGHTSTG_drawMesh) with MATRIX.
Definition at line 1022 of file model_mesh.c.
Referenced by FIGHTSTG_createMesh().
Mesh.drawWireframe: has the layer draw the Mesh as wireframe (FIGHTSTG_drawMeshWireframe) with MATRIX.
Definition at line 1031 of file model_mesh.c.
Referenced by FIGHTSTG_createMesh().
| void FIGHTSTG_updateMesh | ( | Mesh * | mesh | ) |
The Mesh's task: frees its screen positions, depths and colors when killed.
Definition at line 1039 of file model_mesh.c.
Referenced by FIGHTSTG_createMesh().
| void FIGHTSTG_updateMove | ( | MoveTask * | task | ) |
The move's task: takes the model from from to to along tStep, a step each frame, and dies there.
Definition at line 103 of file move.c.
Referenced by FIGHTSTG_startMove().
| FighterInfo * FIGHTSTG_getFighterInfo | ( | s32 | id | ) |
the match depends on reaching the cache through the symbol until a fighter is found, and on each branch storing and returning its own info
Definition at line 12 of file fighter_info.c.
Referenced by FIGHTSTG_getFighterFace().
| void FIGHTSTG_cacheFighter | ( | s32 | index | ) |
Loads entry index of the fighters file into FIGHTSTG_fighterCache: its id and kind, and its info, an enemy's from kind 0x3A on or else a partner's.
Definition at line 57 of file fighter_info.c.
The first and last entries of the fighters file that are enemies (enemy set) or partners.
Definition at line 90 of file fighter_info.c.
| void FIGHTSTG_updateModels | ( | Models * | task | ) |
The fighters' models' task: nothing to do but start.
Definition at line 7 of file models.c.
Referenced by FIGHTSTG_createModels().
The slot of the fighter model registered as ID, or -1.
Definition at line 21 of file models.c.
Referenced by FIGHTSTG_getModelControl(), FIGHTSTG_getModelFighter(), FIGHTSTG_removeFighterModel(), and FIGHTSTG_setModelId().
A free fighter model slot, or -1.
Definition at line 33 of file models.c.
Referenced by FIGHTSTG_addFighterModel().
Models.remove: kills the model registered as ID and frees its slot.
Definition at line 45 of file models.c.
Referenced by FIGHTSTG_addFighterModel(), FIGHTSTG_createModels(), and FIGHTSTG_setModelId().
Models.add: replaces the model registered as ID with FIGHTER's, in a free slot with that slot's textures, drawn on layer BATTLE_LAYER_MODELS when VISIBLE.
Definition at line 64 of file models.c.
Referenced by FIGHTSTG_createModels().
| ModelControl * FIGHTSTG_getModelControl | ( | Models * | task, |
| s32 | id | ||
| ) |
Models.get: the control of the model registered as ID, or NULL.
Definition at line 88 of file models.c.
Referenced by FIGHTSTG_createModels(), FIGHTSTG_faceModel(), and FIGHTSTG_setModelIdleMotion().
Models.setId: registers the model ID as NEWID instead, removing the one that had it.
Definition at line 99 of file models.c.
Referenced by FIGHTSTG_createModels().
Models.getFighter: the fighter of the model registered as ID, or 0.
Definition at line 105 of file models.c.
Referenced by FIGHTSTG_createModels().
Models.face: puts the model registered as ID at its side's place, facing the other side, as its home.
Definition at line 116 of file models.c.
Referenced by FIGHTSTG_createModels().
Definition at line 145 of file models.c.
Referenced by FIGHTSTG_createModels().
| Model * FIGHTSTG_createIdlingModel | ( | s32 | file, |
| s32 | motionFile, | ||
| Vec2 | texPos, | ||
| ModelControl * | control | ||
| ) |
A model whose motions go back to its idle motion (FIGHTSTG_createModel): the fighters'.
Definition at line 497 of file model_mesh.c.
Referenced by FIGHTSTG_addFighterModel().
| void FIGHTSTG_updateJump | ( | Jump * | task | ) |
The jump's task: lifts its model and drops it along ease curves at its speed; kind 4 also moves it forward from home, 5 back home and 6 drops it to its home height, mirrored for the enemy.
Definition at line 8 of file move.c.
Referenced by FIGHTSTG_startJump().
| Jump * FIGHTSTG_startJump | ( | ModelControl * | control, |
| s32 | kind, | ||
| s32 | distance | ||
| ) |
Starts a jump of control's model of kind 1-6 (FIGHTSTG_jumps), forward by distance for kind 4.
Definition at line 89 of file move.c.
Referenced by startModelJump().
| MoveTask * FIGHTSTG_startMove | ( | ModelControl * | control, |
| ShortVec3 * | to, | ||
| s32 | time | ||
| ) |
Moves control's model from where it is to to over time frames.
Definition at line 142 of file move.c.
Referenced by FIGHTSTG_runScriptModel(), and moveModelHome().
A Gouraud-shaded quad on a layer, blended when semi is set; the match depends on setSemiTrans inside the if and on poly moving on past it.
Definition at line 28 of file draw.c.
Referenced by FIGHTSTG_drawBlendedQuad(), and FIGHTSTG_drawQuad().
| void FIGHTSTG_stepMotion | ( | Model * | model | ) |
Steps a model's motion by the frames gone by, blending into a new pose where a keyframe has 0x8000, and starts the idle motion when it ends.
Definition at line 242 of file model_mesh.c.
Referenced by FIGHTSTG_updateModel().
The eyes' frame for the model's motion: 2 (closed) for motions 4 to 11, 1 for 2, else 0 (open)
Definition at line 7 of file face.c.
Referenced by FIGHTSTG_updateFace().
Fills prim to copy part's frame of the face's texture over the part, in VRAM.
Definition at line 27 of file face.c.
Referenced by FIGHTSTG_updateFace().
| void FIGHTSTG_updateFace | ( | Face * | task | ) |
A fighter's face task: each frame, copies the eyes' frame (blinking at random while open) and the other parts' frames (a three-frame cycle) over the model's texture, for the parts whose frame changed.
Definition at line 43 of file face.c.
Referenced by FIGHTSTG_createFace().
Creates the face of fighter's model, with its parts (FIGHTSTG_fighterCache.getFace); none for fighter 0.
Definition at line 119 of file face.c.
Referenced by FIGHTSTG_updateModel().
| void FIGHTSTG_updateEffectModel | ( | EffectModel * | task, |
| Model ** | children | ||
| ) |
An effect model's task: creates its model at its position and rotation on layer BATTLE_LAYER_MODELS and ends when its motion is over.
Definition at line 7 of file effect_model.c.
Referenced by FIGHTSTG_startEffectModel().
The model file of effect model id (FIGHTSTG_effectModels), or 0 for none.
Definition at line 307 of file effect_model.c.
Referenced by FIGHTSTG_runScriptEffectModel().
| EffectModel * FIGHTSTG_startEffectModel | ( | s32 | id, |
| SVECTOR * | pos, | ||
| SVECTOR * | rot | ||
| ) |
Starts the effect model id at pos and rot, its model in FIGHTSTG_effectModels and its textures at (0x280, 0x100); killed at once when id has no entry.
The match depends on the entry pointer and on texPos set as one Vec2 (as two members, gcc stores them sooner).
Definition at line 322 of file effect_model.c.
Referenced by FIGHTSTG_runScriptEffectModel().
| void FIGHTSTG_interpNop | ( | void | ) |
| void FIGHTSTG_lerpVector | ( | SVECTOR * | from, |
| SVECTOR * | to, | ||
| s32 | t, | ||
| SVECTOR * | out | ||
| ) |
Fighter id's face parts (FaceRect), in the fighters file.
Definition at line 81 of file fighter_info.c.
|
extern |
the root bone's parent (src/engine/data/matrices.c)
Definition at line 12 of file matrices.c.
Referenced by FIGHTSTG_createModel(), and FIGHTSTG_projectPoint().
|
extern |
Shared between the overlay's objects.
Shared between the overlay's objects.
Definition at line 21 of file battle.c.
Referenced by FIGHTSTG_addFighterModel(), FIGHTSTG_cacheFighter(), FIGHTSTG_createFace(), FIGHTSTG_faceModel(), FIGHTSTG_getEnemyView(), FIGHTSTG_getFighterInfo(), FIGHTSTG_getFighterView(), FIGHTSTG_loadCamera(), FIGHTSTG_runScriptModel(), FIGHTSTG_updateBattleScript(), FIGHTSTG_updateDigimonChange(), FIGHTSTG_updateEntrance(), fillEffectLists(), runCameraList(), WFIGHTTS_fighterList(), and WFIGHTTS_motionList().
|
extern |
the functions that go between values
Definition at line 44 of file interp.c.
Referenced by FIGHTSTG_fadeStage(), FIGHTSTG_updateBattleCamera(), FIGHTSTG_updateJump(), FIGHTSTG_updateLights(), and FIGHTSTG_updateMove().
|
extern |
the fighters' models' texture places
Definition at line 58 of file models.c.
Referenced by FIGHTSTG_addFighterModel().
|
extern |
the effect models, ended by an id of 0; the European version's differ
Definition at line 171 of file effect_model.c.
Referenced by FIGHTSTG_getEffectModelFile(), and FIGHTSTG_startEffectModel().
|
extern |
the jumps of FIGHTSTG_startJump, by kind from 1
Definition at line 83 of file move.c.
Referenced by FIGHTSTG_startJump().
|
extern |
the partner's idle motion while stage 0x1D is up
Definition at line 1079 of file model_mesh.c.
Referenced by FIGHTSTG_runScriptStage().