Decompile bgPopulateVtxBatchType

This commit is contained in:
Ryan Dwyer
2022-07-12 22:56:52 +10:00
parent e10a080901
commit 04a4a96995
12 changed files with 235 additions and 354 deletions
+1 -1
View File
@@ -3436,7 +3436,7 @@
#define RACE_ROBOT 4
#define RENDERPASS_OPA_PREBG 0
#define RENDERPASS_XLU 1
#define RENDERPASS_XLU 1
#define RENDERPASS_OPA_POSTBG 2
#define ROOMFLAG_DISABLEDBYSCRIPT 0x0001
+9 -9
View File
@@ -13,7 +13,7 @@ u32 func0f158400(void);
u32 func0f158884(void);
u32 func0f158d9c(void);
Gfx *func0f1598b4(Gfx *gdl, Gfx *gdl2, struct gfxvtx *vertices, s16 arg3[3]);
Gfx *bg0f159f1c(Gfx *gdl, s32 roomnum, struct roomgfxdata18 *arg2, bool recurse, s16 arg4[3]);
Gfx *bgRenderRoomXrayPass(Gfx *gdl, s32 roomnum, struct roomgfxdata18 *arg2, bool recurse, s16 arg4[3]);
Gfx *bgRenderRoomInXray(Gfx *gdl, s32 roomnum);
Gfx *bgRenderSceneInXray(Gfx *gdl);
Gfx *bgRenderScene(Gfx *gdl);
@@ -52,24 +52,24 @@ bool roomIsOnPlayerStandby(s32 room, u32 aibotindex);
s32 portalFindNumByVertices(struct portalvertices *pvertices);
u32 bgInflate(u8 *src, u8 *dst, u32 len);
Gfx *func0f15da00(struct roomgfxdata18 *arg0, Gfx *arg1, Gfx *arg2);
Gfx *room0f15dab4(s32 roomnum, Gfx *arg1, u32 arg2);
Gfx *room0f15dab4(s32 roomnum, Gfx *gdl, u32 types);
struct gfxvtx *room0f15dbb4(s32 roomnum, Gfx *gdl);
void roomLoad(s32 roomnum);
void roomUnload(s32 room);
void bgLoadRoom(s32 roomnum);
void bgUnloadRoom(s32 room);
void bgUnloadAllRooms(void);
void bgGarbageCollectRooms(s32 bytesneeded, bool desparate);
void bgTickRooms(void);
Gfx *room0f15e85c(Gfx *gdl, s32 roomnum, struct roomgfxdata18 *arg2, bool arg3);
Gfx *bgRenderRoomPass(Gfx *gdl, s32 roomnum, struct roomgfxdata18 *arg2, bool arg3);
Gfx *bgRenderRoomOpaque(Gfx *gdl, s32 roomnum);
Gfx *bgRenderRoomXlu(Gfx *gdl, s32 roomnum);
s32 func0f15ecd8(s32 roomnum, void *allocation, Gfx *gdl, s32 arg3, struct gfxvtx *vtx, s32 arg5);
void room0f15ef9c(s32 roomnum);
s32 bgPopulateVtxBatchType(s32 roomnum, struct vtxbatch *batches, Gfx *gdl, s32 batchindex, struct gfxvtx *vertices, s32 arg5);
void bgFindRoomVtxBatches(s32 roomnum);
bool func0f15f20c(struct coord *arg0, struct coord *arg1, s32 *arg2, s32 *arg3);
bool bg0f15f2b0(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3);
bool func0f15f560(struct coord *arg0, struct coord *arg1, struct coord *arg2, Gfx *arg3, void *arg4, struct gfxvtx *vertices, struct hitthing *hitthing);
bool func0f15ffdc(struct model *model, struct coord *arg1, struct coord *arg2, struct coord *arg3, Gfx *arg4, Gfx *arg5, struct gfxvtx *vertices, f32 *arg7, void *arg8);
bool func0f160a38(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct room44 *arg3, s32 roomnum, struct hitthing *hitthing);
s32 bg0f1612e4(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3, struct coord *arg4, struct coord *arg5);
bool func0f160a38(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct vtxbatch *batches, s32 roomnum, struct hitthing *hitthing);
s32 bg0f1612e4(struct coord *bbmin, struct coord *bbmax, struct coord *arg2, struct coord *arg3, struct coord *arg4, struct coord *arg5);
bool func0f161520(struct coord *arg0, struct coord *arg1, s32 roomnum, struct hitthing *hitthing);
bool roomIsLoaded(s32 room);
bool roomContainsCoord(struct coord *pos, s16 roomnum);
+2 -2
View File
@@ -19,8 +19,8 @@ bool lightIsVulnerable(s32 roomnum, s32 lightnum);
bool lightIsOn(s32 roomnum, s32 lightnum);
void roomSetUnk52(s32 roomnum, s32 value);
void roomSetDefaults(struct room *room);
Gfx *func0f001138(Gfx *gdl, s16 roomnum);
Gfx *func0f001300(Gfx *gdl);
Gfx *lightsSetForRoom(Gfx *gdl, s16 roomnum);
Gfx *lightsSetDefault(Gfx *gdl);
void roomInitLights(s32 roomnum);
bool lightsHandleHit(struct coord *gunpos, struct coord *hitpos, s32 roomnum);
void roomSetLightsFaulty(s32 roomnum, s32 chance);
+1 -1
View File
@@ -15,7 +15,7 @@ void room0f16696c(s32 index);
s32 room0f1669fc(void);
void room0f166a6c(Mtxf *matrix, s32 roomnum);
s32 room0f166c20(s32 roomnum);
Gfx *room0f166d7c(Gfx *gdl, s32 roomnum);
Gfx *roomPushMtx(Gfx *gdl, s32 roomnum);
struct coord *roomGetPos(s32 room);
void room0f166df0(s32 room, struct coord *globaldrawworldoffset);
+12 -12
View File
@@ -3555,20 +3555,20 @@ struct roomgfxdata18 {
struct roomgfxdata {
/*0x00*/ struct gfxvtx *vertices;
/*0x04*/ u32 *colours;
/*0x08*/ struct roomgfxdata18 *unk08;
/*0x0c*/ struct roomgfxdata18 *unk0c;
/*0x10*/ s16 unk10;
/*0x10*/ s16 unk12;
/*0x08*/ struct roomgfxdata18 *unk08; // opa
/*0x0c*/ struct roomgfxdata18 *unk0c; // xlu
/*0x10*/ s32 unk10;
/*0x14*/ s16 numvertices;
/*0x16*/ s16 numcolours;
/*0x18*/ struct roomgfxdata18 unk18[1];
};
struct room44 {
/*0x00*/ u32 unk00;
/*0x04*/ u32 unk04;
/*0x08*/ struct coord unk08;
/*0x14*/ struct coord unk14;
struct vtxbatch {
/*0x00*/ s16 gbicmdindex;
/*0x02*/ s16 type;
/*0x04*/ Gfx *gdl;
/*0x08*/ struct coord bbmin;
/*0x14*/ struct coord bbmax;
};
struct room {
@@ -3589,8 +3589,8 @@ struct room {
/*0x24*/ f32 bbmax[3];
/*0x30*/ struct coord centre;
/*0x3c*/ f32 radius; // from volume centre to the corner in 3D
/*0x40*/ s32 unk40;
/*0x44*/ struct room44 *unk44;
/*0x40*/ s32 numvtxbatches;
/*0x44*/ struct vtxbatch *vtxbatches;
/*0x48*/ u8 unk48;
/*0x49*/ u8 unk49;
/*0x4a*/ u8 unk4a;
@@ -6346,7 +6346,7 @@ struct portalthing2 {
};
struct var800a6538 {
s32 unk00;
s32 vtxbatchindex;
f32 unk04;
};