Decompile modelRenderNodeStarGunfire

This commit is contained in:
Ryan Dwyer
2022-07-24 17:22:01 +10:00
parent c3397a3350
commit f3fae2f180
11 changed files with 158 additions and 370 deletions
+12 -2
View File
@@ -2120,14 +2120,14 @@
#define MODELNODETYPE_REORDER 0x09
#define MODELNODETYPE_BBOX 0x0a
#define MODELNODETYPE_0B 0x0b
#define MODELNODETYPE_GUNFIRE 0x0c
#define MODELNODETYPE_CHRGUNFIRE 0x0c
#define MODELNODETYPE_0D 0x0d
#define MODELNODETYPE_0E 0x0e
#define MODELNODETYPE_0F 0x0f
#define MODELNODETYPE_11 0x11
#define MODELNODETYPE_TOGGLE 0x12
#define MODELNODETYPE_POSITIONHELD 0x15
#define MODELNODETYPE_16 0x16
#define MODELNODETYPE_STARGUNFIRE 0x16
#define MODELNODETYPE_HEADSPOT 0x17
#define MODELNODETYPE_DL 0x18
#define MODELNODETYPE_0100 0x0100
@@ -3743,6 +3743,16 @@
#define SPEED_JOG 1
#define SPEED_RUN 2
#define SPSEGMENT_PHYSICAL 0
#define SPSEGMENT_GETITLE 2
#define SPSEGMENT_MODEL_MTX 3
#define SPSEGMENT_MODEL_VTX 4
#define SPSEGMENT_MODEL_COL1 5
#define SPSEGMENT_MODEL_COL2 6
#define SPSEGMENT_BG_COL 13
#define SPSEGMENT_BG_VTX 14
#define SPSEGMENT_BG_DL 15
#define SQUADRON_00 0x00
#define SQUADRON_01 0x01
#define SQUADRON_02 0x02
-3
View File
@@ -50,9 +50,6 @@ extern bool g_ModelDistanceDisabled;
extern f32 g_ModelDistanceScale;
extern bool var8005efbc;
extern f32 var8005efc0;
extern bool (*var8005efc4)(struct model *model, struct modelnode *node);
extern struct gfxvtx *(*g_ModelVtxAllocatorFunc)(s32 numvertices);
extern void (*g_ModelJointPositionedFunc)(s32 mtxindex, Mtxf *mtx);
extern u8 var8005efb0_2;
extern u32 var8005efd0;
extern bool var8005efd8_2;
+6 -2
View File
@@ -4,6 +4,10 @@
#include "data.h"
#include "types.h"
extern bool (*var8005efc4)(struct model *model, struct modelnode *node);
extern struct gfxvtx *(*g_ModelVtxAllocatorFunc)(s32 numvertices);
extern void (*g_ModelJointPositionedFunc)(s32 mtxindex, Mtxf *mtx);
bool model00018680(void);
void modelSetDistanceScale(f32 value);
void modelSetVtxAllocatorFunc(struct gfxvtx *(*fn)(s32 numvertices));
@@ -86,9 +90,9 @@ void model00020bdc(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);
void modelRenderNodeStarGunfire(struct modelrenderdata *renderdata, struct modelnode *node);
void model000216cc(struct modelrenderdata *renderdata, struct textureconfig *tconfig, s32 arg2);
void modelRenderNodeGunfire(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node);
void modelRenderNodeChrGunfire(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node);
void modelRender(struct modelrenderdata *renderdata, struct model *model);
bool model000220fc(struct modelrodata_bbox *bbox, Mtxf *mtx, struct coord *arg2, struct coord *arg3);
s32 model000225d4(struct model *model, struct coord *arg1, struct coord *arg2, struct modelnode **startnode);
+9 -9
View File
@@ -471,7 +471,7 @@ struct modelrodata_type0b { // type 0x0b
void *baseaddr;
};
struct modelrodata_gunfire { // type 0x0c
struct modelrodata_chrgunfire { // type 0x0c
struct coord pos;
struct coord dim;
struct modeltexture *texture;
@@ -510,10 +510,10 @@ struct modelrodata_positionheld { // type 0x15
s16 mtxindex;
};
struct modelrodata_type16 { // type 0x16
u32 unk00;
void *unk04;
Gfx *unk08;
struct modelrodata_stargunfire { // type 0x16
s32 unk00;
struct gfxvtx *vertices;
Gfx *gdl;
void *baseaddr;
};
@@ -545,12 +545,12 @@ union modelrodata {
struct modelrodata_reorder reorder;
struct modelrodata_bbox bbox;
struct modelrodata_type0b type0b;
struct modelrodata_gunfire gunfire;
struct modelrodata_chrgunfire chrgunfire;
struct modelrodata_type0d type0d;
struct modelrodata_type11 type11;
struct modelrodata_toggle toggle;
struct modelrodata_positionheld positionheld;
struct modelrodata_type16 type16;
struct modelrodata_stargunfire stargunfire;
struct modelrodata_headspot headspot;
struct modelrodata_dl dl;
struct modelrodata_type19 type19;
@@ -635,7 +635,7 @@ struct modelrwdata_0b { // type 0x0b
u16 unk04;
};
struct modelrwdata_gunfire { // type 0x0c
struct modelrwdata_chrgunfire { // type 0x0c
s16 visible;
u16 unk02;
};
@@ -674,7 +674,7 @@ union modelrwdata {
struct modelrwdata_distance distance;
struct modelrwdata_reorder reorder;
struct modelrwdata_0b type0b;
struct modelrwdata_gunfire gunfire;
struct modelrwdata_chrgunfire chrgunfire;
struct modelrwdata_toggle toggle;
struct modelrwdata_headspot headspot;
struct modelrwdata_dl dl;