Attempt to decompile roomLoad

This commit is contained in:
Ryan Dwyer
2022-02-06 19:14:50 +10:00
parent 7664debbbe
commit 36125476e0
9 changed files with 305 additions and 70 deletions
+5 -5
View File
@@ -13,7 +13,7 @@ u32 func0f158400(void);
u32 func0f158884(void);
u32 func0f158d9c(void);
u32 func0f1598b4(void);
Gfx *func0f159f1c(Gfx *gdl, s32 roomnum, s32 arg2, s32 arg3, s16 arg4[3]);
Gfx *func0f159f1c(Gfx *gdl, s32 roomnum, struct roomgfxdata18 *arg2, s32 arg3, s16 arg4[3]);
Gfx *roomRenderForEraser(Gfx *gdl, s32 roomnum);
u32 func0f15a2c4(void);
u32 func0f15a6f4(void);
@@ -52,18 +52,18 @@ bool roomIsVisibleByAibot(s32 room, u32 aibotindex);
s32 func0f15d870(void *arg0);
u32 bgInflate(u8 *src, u8 *dst, u32 len);
u32 func0f15da00(void);
u32 func0f15dab4(void);
u32 func0f15dbb4(void);
s32 func0f15dab4(s32 roomnum, s32 ref, s32 arg2);
s32 func0f15dbb4(s32 roomnum, s32 ref);
void roomLoad(s32 roomnum);
void roomUnload(s32 room);
void bgUnloadAllRooms(void);
void bgGarbageCollectRooms(s32 bytesneeded, bool desparate);
void bgTickRooms(void);
Gfx *func0f15e85c(Gfx *gdl, s32 roomnum, u32 arg2, bool arg3);
Gfx *func0f15e85c(Gfx *gdl, s32 roomnum, struct roomgfxdata18 *arg2, bool arg3);
Gfx *func0f15eb28(Gfx *gdl, s32 roomnum);
Gfx *func0f15ebd4(Gfx *gdl, s32 roomnum);
u32 func0f15ecd8(void);
u32 func0f15ef9c(void);
void func0f15ef9c(s32 roomnum);
u32 func0f15f20c(void);
u32 func0f15f2b0(void);
u32 func0f15f560(void);
+1 -1
View File
@@ -12,7 +12,7 @@ u32 func0f13bb5c(void);
u32 func0f13bc48(void);
u32 func0f13c07c(void);
u32 func0f13c2e8(void);
u32 func0f13c370(void);
void func0f13c370(s16 roomnum);
void func0f13c3f4(void);
u32 func0f13c4f0(void);
+1 -1
View File
@@ -5,6 +5,6 @@
#include "types.h"
u32 func0f165670(void);
u32 func0f165728(void);
void func0f165728(struct roomgfxdata18 *arg0, s32 arg1);
#endif
+2 -2
View File
@@ -26,8 +26,8 @@ u32 func0f175308(void);
u32 func0f175490(void);
u32 func0f1755dc(void);
u32 func0f17563c(void);
u32 func0f1756c0(void);
u32 func0f175ef4(void);
s32 func0f1756c0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void func0f175ef4(s32 arg0, s32 arg1, s32 arg2);
extern const char var7f1b7ba0[];
extern const char var7f1b7ba8[];
+20 -7
View File
@@ -3696,11 +3696,24 @@ struct screenbox {
s16 ymax;
};
struct room14 {
/*0x00*/ u32 unk00;
/*0x04*/ u32 unk04;
/*0x08*/ u32 unk08;
/*0x0c*/ u32 unk0c;
struct roomgfxdata18 {
u8 unk00;
void *unk04;
Gfx *gdl;
struct gfxvtx *vertices;
u32 *colours;
};
struct roomgfxdata {
/*0x00*/ struct gfxvtx *vertices;
/*0x04*/ u32 *colours;
/*0x08*/ struct roomgfxdata18 *unk08;
/*0x0c*/ struct roomgfxdata18 *unk0c;
/*0x10*/ s16 unk10;
/*0x10*/ s16 unk12;
/*0x14*/ s16 numvertices;
/*0x16*/ s16 numcolours;
/*0x18*/ struct roomgfxdata18 unk18[1];
};
struct room {
@@ -3716,7 +3729,7 @@ struct room {
/*0x0c*/ u16 firstwaypoint; // offset into g_Vars.waypoints
/*0x0e*/ s16 roomportallistoffset;
/*0x10*/ s16 unk10;
/*0x14*/ struct room14 *unk14;
/*0x14*/ struct roomgfxdata *gfxdata;
/*0x18*/ f32 bbmin[3];
/*0x24*/ f32 bbmax[3];
/*0x30*/ struct coord centre;
@@ -3743,7 +3756,7 @@ struct room {
/*0x74*/ u32 unk74;
/*0x78*/ u32 unk78;
/*0x7c*/ u32 unk7c;
/*0x80*/ s32 unk80;
/*0x80*/ s32 gfxdatalen; // when inflated
/*0x84*/ u32 unk84;
/*0x88*/ u32 unk88;
};