mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-28 23:26:00 -04:00
Attempt to decompile portalCommandExecute
This commit is contained in:
+39
-3
@@ -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
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user