#ifndef _IN_LIB_MODEL_H #define _IN_LIB_MODEL_H #include #include "data.h" #include "types.h" void modelSetDistanceScale(f32 value); void func0001a518(void *callback); s32 func0001a524(struct modelnode *node, s32 arg1); Mtxf *func0001a5cc(struct model *model, struct modelnode *node, s32 arg2); Mtxf *func0001a60c(struct model *model); struct modelnode *func0001a634(struct model *model, s32 mtxindex); struct modelnode *func0001a740(struct modelnode *node); struct modelnode *func0001a784(struct modelnode *node); struct modelnode *func0001a7cc(struct modelnode *node); struct modelnode *func0001a85c(struct modelnode *node); struct modelnode *modelGetPart(struct modelfiledata *arg0, s32 partnum); union modelrodata *modelGetPartRodata(struct modelfiledata *modelfiledata, s32 partnum); f32 func0001a9e8(struct model *model); void *modelGetNodeRwData(struct model *model, struct modelnode *node); void modelNodeGetPosition(struct model *model, struct modelnode *node, struct coord *pos); void modelNodeSetPosition(struct model *model, struct modelnode *node, struct coord *pos); void modelGetRootPosition(struct model *model, struct coord *pos); void modelSetRootPosition(struct model *model, struct coord *pos); void modelNodeGetModelRelativePosition(struct model *model, struct modelnode *node, struct coord *pos); f32 func0001ae44(struct model *model); void func0001ae90(struct model *model, f32 angle); void modelSetScale(struct model *model, f32 scale); void modelSetAnimScale(struct model *model, f32 scale); f32 func0001af80(struct model *model); void func0001af98(struct coord *arg0, struct coord *arg1, f32 frac); f32 func0001afe8(f32 arg0, f32 angle, f32 frac); void func0001b07c(struct coord *arg0, struct coord *arg1, f32 mult); void func0001b0e8(struct model *model, struct modelnode *node); void func0001b3bc(struct model *model); void func0001b400(struct objticksp476 *arg0, struct model *model, struct modelnode *node); u32 func0001b80c(void); u32 func0001bc14(void); void func0001bfa8(struct objticksp476 *arg0, struct model *model, struct modelnode *node); void func0001c5b4(struct objticksp476 *arg0, struct model *model, struct modelnode *node); void func0001c664(struct model *model, struct modelnode *node); void func0001c784(struct model *model, struct modelnode *node); void func0001c7d0(struct model *model, struct modelnode *node); void modelAttachHead(struct model *model, struct modelnode *node); void func0001c868(struct modelnode *node, bool visible); void modelRenderNodeReorder(struct model *model, struct modelnode *node); void func0001c950(struct model *model, struct modelnode *node); void func0001cb0c(struct model *model, struct modelnode *node); void func0001cc20(struct model *model); void func0001cd18(struct objticksp476 *arg0, struct model *model); void func0001ce64(struct objticksp476 *arg0, struct model *model); void func0001cebc(struct objticksp476 *arg0, struct model *model); s16 modelGetAnimNum(struct model *model); bool modelIsFlipped(struct model *model); f32 modelGetCurAnimFrame(struct model *model); f32 modelGetAnimEndFrame(struct model *model); s32 modelGetNumAnimFrames(struct model *model); f32 modelGetAnimSpeed(struct model *model); f32 modelGetAbsAnimSpeed(struct model *model); s32 modelConstrainOrWrapAnimFrame(s32 frame, s16 animnum, f32 endframe); void modelCopyAnimForMerge(struct model *model, f32 arg1); void func0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 arg5); bool modelIsAnimMerging(struct model *model); void modelSetAnimationWithMerge(struct model *model, s16 animnum, u32 flip, f32 startframe, f32 speed, f32 arg5, bool merge); void modelSetAnimation(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 arg5); void modelCopyAnimData(struct model *src, struct model *dst); void modelSetAnimLooping(struct model *model, f32 loopframe, f32 loopmerge); void modelSetAnimEndFrame(struct model *model, f32 endframe); void modelSetAnimFlipFunction(struct model *model, void *callback); void modelSetAnimSpeed(struct model *model, f32 speed, f32 startframe); void modelSetAnimSpeedAuto(struct model *model, f32 arg1, f32 startframe); void modelSetAnimPlaySpeed(struct model *model, f32 speed, f32 frame); void modelSetAnim70(struct model *model, void *callback); void func0001e018(struct model *model, f32 startframe); void func0001e14c(struct model *model, f32 arg1, f32 arg2); void func0001e29c(bool value); bool func0001e2a8(void); void func0001e2b4(struct model *model, f32 frame, f32 arg2, f32 frame2, f32 arg4); void func0001ee18(struct model *model, s32 lvupdate240, bool arg2); void func0001f314(struct model *model, s32 lvupdate240, bool arg2); void func0001f7e0(struct modelrenderdata *renderdata); void func0001f890(struct modelrenderdata *renderdata, bool arg1); void func00020248(struct modelrenderdata *renderdata, bool arg1); void func00020bdc(struct modelrenderdata *renderdata); void modelApplyCullMode(struct modelrenderdata *renderdata); void modelRenderNodeGundl(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node); void modelRenderNodeDl(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node); void modelRenderNodeType16(struct modelrenderdata *renderdata, struct modelnode *node); u32 func000216cc(void); void modelRenderNodeGunfire(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node); void modelRender(struct modelrenderdata *renderdata, struct model *model); bool func000220fc(union modelrodata *rodata, Mtxf *mtx, struct coord *arg2, struct coord *arg3); s32 func000225d4(struct model *model, struct coord *arg1, struct coord *arg2, struct modelnode **startnode); void modelPromoteNodeOffsetsToPointers(struct modelnode *node, u32 vma, u32 fileramaddr); void modelPromoteOffsetsToPointers(struct modelfiledata *filedata, u32 arg1, u32 arg2); s32 modelCalculateRwDataIndexes(struct modelnode *node); void modelCalculateRwDataLen(struct modelfiledata *filedata); void modelInitRwData(struct model *model, struct modelnode *node); void modelInit(struct model *model, struct modelfiledata *filedata, union modelrwdata **rwdatas, bool resetanim); void animInit(struct anim *anim); u32 func00023108(void); u32 func0002319c(void); void modelNodeReplaceGdl(u32 arg0, struct modelnode *node, Gfx *find, Gfx *replacement); #endif