BEEG functions, m2ctx removed
This commit is contained in:
parent
c2a0cec708
commit
cb7cb8521f
7 changed files with 468 additions and 133 deletions
13
include/game/hsfanim.h
Normal file
13
include/game/hsfanim.h
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef GAME_HSFANIM_H
|
||||
#define GAME_HSFANIM_H
|
||||
|
||||
#include "common.h"
|
||||
#include "game/sprite.h"
|
||||
|
||||
typedef struct particle_data {
|
||||
char unk_00[0x44];
|
||||
AnimData *unk_44;
|
||||
char unk_48[0x10];
|
||||
} ParticleData;
|
||||
|
||||
#endif
|
||||
|
|
@ -3,35 +3,43 @@
|
|||
|
||||
#include "common.h"
|
||||
#include "game/memory.h"
|
||||
#include "game/hsfanim.h"
|
||||
#include "game/hsfformat.h"
|
||||
#include "game/sprite.h"
|
||||
|
||||
typedef struct model_data {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
s16 unk_02;
|
||||
s16 unk_04;
|
||||
s8 unk_02;
|
||||
s8 unk_03;
|
||||
s8 unk_04;
|
||||
s8 unk_05;
|
||||
s16 unk_06;
|
||||
s16 unk_08;
|
||||
s16 unk_0A;
|
||||
s16 unk_0C;
|
||||
s16 unk_0E;
|
||||
char unk_10[0x12];
|
||||
s16 unk_10[4];
|
||||
char unk_18[0x8];
|
||||
s16 unk_20;
|
||||
u16 unk_22;
|
||||
char unk_24[0x24];
|
||||
u32 unk_48;
|
||||
char unk_4C[0x4];
|
||||
s16 unk_24;
|
||||
s16 unk_26;
|
||||
char unk_28[0x10];
|
||||
s16 unk_38[8];
|
||||
HsfData *unk_48;
|
||||
HsfData *unk_4C;
|
||||
u32 unk_50;
|
||||
u32 unk_54;
|
||||
char unk_58[0xC];
|
||||
Point3d unk_58;
|
||||
f32 unk_64;
|
||||
char unk_68[0xC];
|
||||
Point3d unk_68;
|
||||
f32 unk_74;
|
||||
char unk_78[0x1C];
|
||||
f32 unk_94;
|
||||
char unk_98[0x2C];
|
||||
HsfData *hsfData;
|
||||
char unk_C8[0x4];
|
||||
HsfData *unk_C8;
|
||||
f32 unk_CC;
|
||||
f32 unk_D0;
|
||||
f32 unk_D4;
|
||||
|
|
@ -41,9 +49,10 @@ typedef struct model_data {
|
|||
f32 unk_E4;
|
||||
f32 unk_E8;
|
||||
f32 unk_EC;
|
||||
f32 unk_F0[3][4];
|
||||
char unk_120[0x4];
|
||||
Mtx unk_F0;
|
||||
ParticleData *unk_120;
|
||||
} ModelData;
|
||||
|
||||
typedef struct ThreeDCameraStruct {
|
||||
f32 unk_00;
|
||||
f32 start;
|
||||
|
|
@ -61,25 +70,93 @@ typedef struct ThreeDProjectionStruct {
|
|||
Mtx unk_38;
|
||||
char unk_68[0x30];
|
||||
} ThreeDProjectionStruct;
|
||||
typedef struct ThreeDShadowStruct {
|
||||
typedef struct shadow_data {
|
||||
char unk_00[0x2];
|
||||
u16 unk_02;
|
||||
void*unk_04;
|
||||
char unk_08[0x90];
|
||||
} ThreeDShadowStruct;
|
||||
typedef struct fog_data {
|
||||
GXFogType fogType;
|
||||
f32 start;
|
||||
f32 end;
|
||||
GXColor color;
|
||||
} FogStruct;
|
||||
} ShadowData;
|
||||
typedef struct motion_data {
|
||||
s16 unk_00;
|
||||
s16 unk_02;
|
||||
HsfData *unk_04;
|
||||
} MotionData;
|
||||
typedef struct light_data {
|
||||
char unk_00[0x44];
|
||||
} LightData;
|
||||
|
||||
void ClusterMotionExec(ModelData*); /* extern */
|
||||
void ClusterProc(ModelData*); /* extern */
|
||||
void EnvelopeProc(HsfData*); /* extern */
|
||||
void GXWaitDrawDone(); /* extern */
|
||||
void Hu3DAnimExec(); /* extern */
|
||||
void Hu3DCameraMotionExec(s16); /* extern */
|
||||
void Hu3DCameraSet(s16, void*); /* extern */
|
||||
void Hu3DDraw(ModelData*, f32*, f32*); /* extern */
|
||||
void Hu3DDrawPost(); /* extern */
|
||||
void Hu3DDrawPreInit(); /* extern */
|
||||
void Hu3DMotionNext(s16); /* extern */
|
||||
void Hu3DShadowExec(); /* extern */
|
||||
void Hu3DSubMotionExec(s16); /* extern */
|
||||
void HuPerfBegin(s32); /* extern */
|
||||
void HuPerfEnd(s32); /* extern */
|
||||
void HuSprBegin(void); /* extern */
|
||||
void HuSprDispInit(void); /* extern */
|
||||
void HuSprExec(s16); /* extern */
|
||||
void HuSprFinish(void); /* extern */
|
||||
void InitVtxParm(HsfData*); /* extern */
|
||||
void ShapeProc(HsfData*); /* extern */
|
||||
void mtxRot(Mtx, f32, f32, f32); /* extern */
|
||||
void mtxScaleCat(Mtx, f32, f32, f32); /* extern */
|
||||
void mtxTransCat(Mtx, f32, f32, f32);
|
||||
void Hu3DAnimInit(void);
|
||||
void Hu3DFogClear(void);
|
||||
void Hu3DLighInit(void);
|
||||
void Hu3DMotionInit(void);
|
||||
void Hu3DParManInit(void);
|
||||
void Hu3DFogSet(f32, f32, u8, u8, u8); /* extern */
|
||||
void Hu3DMotionClusterSet(s16, s16); /* extern */
|
||||
void Hu3DMotionExec(s16, s16, f32, s32);
|
||||
f32 Hu3DMotionMaxTimeGet(s16); /* extern */
|
||||
s16 Hu3DMotionModelCreate(s16); /* extern */
|
||||
void Hu3DMotionShapeSet(s16, s16); /* extern */
|
||||
HsfData* LoadHSF(s32); /* extern */
|
||||
void MakeDisplayList(s16, HsfData*); /* extern */
|
||||
void ClusterAdjustObject(HsfData*, HsfData*); /* extern */
|
||||
HsfObject* Hu3DObjDuplicate(HsfData*, u32); /* extern */
|
||||
void Hu3DAnimModelKill(s16); /* extern */
|
||||
void Hu3DGLightKill(s16); /* extern */
|
||||
void Hu3DLLightKill(s16, s16); /* extern */
|
||||
s32 Hu3DMotionKill(s16);
|
||||
|
||||
void Hu3DInit(void);
|
||||
void Hu3DPreProc(void);
|
||||
void Hu3DExec(void);
|
||||
void Hu3DAllKill(void);
|
||||
void Hu3DBGColorSet(u8, u8, u8);
|
||||
void Hu3DLayerHookSet(s16, void (*)(s16));
|
||||
void Hu3DPauseSet(s32);
|
||||
void Hu3DNoSyncSet(s32);
|
||||
s16 Hu3DModelCreate(s32);
|
||||
s16 Hu3DModelLink(s16);
|
||||
s16 Hu3DHookFuncCreate(HsfData*);
|
||||
void Hu3DShadowSizeSet(u16);
|
||||
void Hu3DProjectionKill(s16);
|
||||
void Hu3DProjectionPosSet(s16, Vec, Vec, Vec);
|
||||
void Hu3DProjectionTPLvlSet(s16, f32);
|
||||
void Hu3DMipMapSet(char*, s16, s32, f32);
|
||||
|
||||
extern MotionData Hu3DMotion[0x100];
|
||||
extern f32 lbl_801D4AB0;
|
||||
extern f32 lbl_801D4AB4;
|
||||
extern f32 lbl_801D4AB8;
|
||||
extern f32 lbl_801D4AFC;
|
||||
extern GXColor lbl_801D6BE0;
|
||||
extern u32 totalMatCnt;
|
||||
extern u32 totalMatCnted;
|
||||
extern u32 totalPolyCnt;
|
||||
extern u32 totalTexCacheCnt;
|
||||
extern u32 totalTexCacheCnted;
|
||||
extern u32 totalTexCnt;
|
||||
extern u32 totalTexCnted;
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue