Attempt to decompile portalCommandExecute

This commit is contained in:
Ryan Dwyer
2020-04-07 22:42:15 +10:00
parent dbaff0ed13
commit e7ccce08a2
14 changed files with 484 additions and 221 deletions
+39 -3
View File
@@ -1807,6 +1807,41 @@
#define PLAYERFLAG_NOCONTROL 0x00000002
#define PORTALCMD_END 0x00
#define PORTALCMD_PUSH 0x01
#define PORTALCMD_POP 0x02
#define PORTALCMD_AND 0x03
#define PORTALCMD_OR 0x04
#define PORTALCMD_NOT 0x05
#define PORTALCMD_XOR 0x06
#define PORTALCMD_14 0x14
#define PORTALCMD_SETMODEVIS 0x1e
#define PORTALCMD_1F 0x1f
#define PORTALCMD_20 0x20
#define PORTALCMD_SETMODEINVIS 0x21
#define PORTALCMD_22 0x22
#define PORTALCMD_23 0x23
#define PORTALCMD_DISABLEROOM 0x24
#define PORTALCMD_DISABLEROOMRANGE 0x25
#define PORTALCMD_LOADROOM 0x26
#define PORTALCMD_LOADROOMRANGE 0x27
#define PORTALCMD_28 0x28
#define PORTALCMD_29 0x29
#define PORTALCMD_2A 0x2a
#define PORTALCMD_50 0x50
#define PORTALCMD_51 0x51
#define PORTALCMD_ENABLEPARENTEXEC 0x52
#define PORTALCMD_IF 0x5a
#define PORTALCMD_TOGGLEEXEC 0x5b
#define PORTALCMD_ENDIF 0x5c
#define PORTALCMD_TRAILER 0x65
#define PORTALFLAG_01 0x01
#define PORTALFLAG_04 0x04
#define PORTALMODE_SHOW 0
#define PORTALMODE_HIDE 1
#define PROPFLAG_02 0x02
#define PROPFLAG_HIDDEN 0x04
#define PROPFLAG_40 0x40
@@ -1827,9 +1862,10 @@
#define RACE_EYESPY 3
#define RACE_ROBOT 4
#define ROOMFLAG_ACTIVE 0x0004
#define ROOMFLAG_4000 0x4000
#define ROOMFLAG_8000 0x8000
#define ROOMFLAG_DISABLED 0x0001
#define ROOMFLAG_ACTIVE 0x0004
#define ROOMFLAG_4000 0x4000
#define ROOMFLAG_8000 0x8000
#define SAVEFILEFLAG_P1_FORWARDPITCH 0x00
#define SAVEFILEFLAG_P1_AUTOAIM 0x01
+3 -3
View File
@@ -250,7 +250,7 @@ extern u32 g_StageIndex;
extern u32 var8007fc0c;
extern u32 var8007fc10;
extern u32 var8007fc14;
extern u32 var8007fc20;
extern s32 var8007fc20;
extern u32 var8007fc24;
extern u32 var8007fc28;
extern u32 var8007fc2c;
@@ -258,12 +258,12 @@ extern u32 var8007fc30;
extern u32 var8007fc34;
extern u32 var8007fc38;
extern u16 var8007fc3c;
extern s32 g_NumPortals;
extern s32 g_NumPortalThings;
extern u32 var8007fc44;
extern u32 var8007fc4c;
extern u32 var8007fc54;
extern u32 var8007fca8;
extern u32 var8007fcac;
extern u32 g_PortalMode;
extern u32 var8007fcb0;
extern u32 var8007fcb4;
extern struct stagetableentry g_Stages[61];
+9 -9
View File
@@ -4,7 +4,7 @@
#include "types.h"
u32 func0f157db0(void);
u32 func0f157e94(void);
void func0f157e94(s32 room, s32 arg1, struct screenbox *arg2);
u32 func0f158108(void);
u32 func0f158140(void);
u32 func0f158184(void);
@@ -37,13 +37,13 @@ u32 func0f15cb74(void);
u32 func0f15cbb4(void);
u32 func0f15cc18(void);
void func0f15cd28(void);
u32 func0f15cd90(void);
bool func0f15cd90(u32 room, struct screenbox *arg1);
u32 func0f15d08c(void);
u32 func0f15d10c(void);
bool func0f15d10c(s32 portal, struct screenbox *arg1);
u32 func0f15d4a8(void);
u32 func0f15d570(void);
u32 func0f15d63c(void);
u32 func0f15d6c4(void);
bool func0f15d570(struct screenbox *arg0, struct screenbox *arg1);
void func0f15d63c(struct screenbox *arg0, struct screenbox *arg1);
void func0f15d6c4(struct screenbox *arg0, struct screenbox *arg1);
bool roomIsActive(s32 room_id);
u32 func0f15d744(void);
bool roomIsVisibleByPlayer(s16 room, u32 playernum);
@@ -76,10 +76,10 @@ u32 func0f161c08(void);
u32 func0f161d30(void);
u32 func0f162128(void);
u32 func0f162194(void);
u32 func0f16254c(void);
u32 func0f162588(void);
void portalPushValue(bool value);
bool portalPopValue(void);
u32 func0f1625bc(void);
u32 func0f1625ec(void);
struct portalcmd *portalCommandExecute(struct portalcmd *cmd, bool s2);
u32 func0f162cf0(void);
u32 func0f162d9c(void);
u32 func0f1632d4(void);
+6 -5
View File
@@ -722,13 +722,13 @@ extern u32 var800a4920;
extern u32 var800a4924;
extern struct room *g_RoomPtrs;
extern u8 *g_MpRoomVisibility;
extern u32 var800a4930;
extern s16 var800a4930[1];
extern u32 var800a4bec;
extern u32 var800a4bf0;
extern u32 var800a4bf8;
extern u32 var800a4cc0;
extern u32 var800a4cc4;
extern struct portalsomething *g_PortalSomethings;
extern struct portal *g_Portals;
extern u32 var800a4ccc;
extern u32 var800a4cd0;
extern u32 var800a4cd4;
@@ -736,7 +736,7 @@ extern u32 var800a4cd8;
extern u32 var800a4ce0;
extern u32 var800a4ce4;
extern u32 var800a4ce8;
extern struct portal *g_Portals;
extern struct portalthing *g_PortalThings;
extern u32 var800a4cf0;
extern u32 var800a4cf8;
extern u32 var800a4d00;
@@ -744,8 +744,9 @@ extern u32 var800a6470;
extern u32 var800a647c;
extern u32 var800a6538;
extern u32 var800a65b8;
extern u32 var800a65c0;
extern u32 var800a65c8;
extern struct screenbox var800a65c0;
extern struct screenbox var800a65c8;
extern u32 g_PortalDisableParentExec;
extern u32 var800a65f0;
extern u32 var800a6600;
extern u32 var800a6618;
+25 -7
View File
@@ -2103,10 +2103,10 @@ struct player {
/*0x1778*/ u32 c_lodscalezu32;
/*0x177c*/ struct coord c_cameratopnorm;
/*0x1788*/ struct coord c_cameraleftnorm;
/*0x1794*/ u32 unk1794;
/*0x1798*/ u32 unk1798;
/*0x179c*/ u32 unk179c;
/*0x17a0*/ u32 unk17a0;
/*0x1794*/ f32 screenxminf;
/*0x1798*/ f32 screenyminf;
/*0x179c*/ f32 screenxmaxf;
/*0x17a0*/ f32 screenymaxf;
/*0x17a4*/ u32 unk17a4;
/*0x17a8*/ u32 unk17a8;
/*0x17ac*/ u32 unk17ac;
@@ -2822,7 +2822,12 @@ struct roombitfield {
struct room {
/*0x00*/ u16 flags;
/*0x04*/ u32 unk04;
/*0x02*/ u8 unk02;
/*0x03*/ u8 unk03;
/*0x04*/ u8 unk04;
/*0x05*/ u8 unk05;
/*0x06*/ u8 unk06;
/*0x07*/ u8 unk07;
/*0x08*/ u32 unk08;
/*0x0c*/ u32 unk0c;
/*0x10*/ u32 unk10;
@@ -4078,13 +4083,13 @@ struct scenariodata {
};
};
struct portalsomething {
struct portal {
u32 unk00;
u16 unk04;
u8 flags;
};
struct portal {
struct portalthing {
u16 unk00;
u16 unk02;
u16 unk04;
@@ -5409,4 +5414,17 @@ struct fileinfo {
u32 unk04;
};
struct portalcmd {
u8 type;
u8 len;
s32 param;
};
struct screenbox {
s16 xmin;
s16 ymin;
s16 xmax;
s16 ymax;
};
#endif