Decompile portalSetEnabled
This commit is contained in:
parent
7c4f355381
commit
3ddfb74249
|
|
@ -12305,7 +12305,7 @@ glabel var7f1b76bc
|
|||
// break;
|
||||
// case PORTALCMD_1F: // 1f - f162858 - set visibility to same as portal X
|
||||
// if (execute) {
|
||||
// if ((g_Portals[cmd[1].param].flags & PORTALFLAG_01) == 0
|
||||
// if ((g_Portals[cmd[1].param].flags & PORTALFLAG_ENABLED) == 0
|
||||
// || (g_Portals[cmd[1].param].flags & PORTALFLAG_04)) {
|
||||
// if (func0f15d10c(cmd[1].param, &var800a65c8) == 0) {
|
||||
// g_PortalMode = PORTALMODE_HIDE;
|
||||
|
|
@ -12320,7 +12320,7 @@ glabel var7f1b76bc
|
|||
// break;
|
||||
// case PORTALCMD_22: // 22 - f1628d4 - make visible if portal can view room
|
||||
// if (execute) {
|
||||
// if ((g_Portals[cmd[1].param].flags & PORTALFLAG_01) == 0
|
||||
// if ((g_Portals[cmd[1].param].flags & PORTALFLAG_ENABLED) == 0
|
||||
// || (g_Portals[cmd[1].param].flags & PORTALFLAG_04)) {
|
||||
// struct screenbox box1;
|
||||
// if (func0f15d10c(cmd[1].param, &box1) && boxGetIntersection(&var800a65c0, &box1)) {
|
||||
|
|
@ -12339,7 +12339,7 @@ glabel var7f1b76bc
|
|||
// if (execute) {
|
||||
// if (g_PortalMode == PORTALMODE_SHOW) {
|
||||
// struct screenbox box2;
|
||||
// if ((g_Portals[cmd[1].param].flags & PORTALFLAG_01)
|
||||
// if ((g_Portals[cmd[1].param].flags & PORTALFLAG_ENABLED)
|
||||
// && (g_Portals[cmd[1].param].flags & PORTALFLAG_04) == 0) {
|
||||
// g_PortalMode = PORTALMODE_HIDE;
|
||||
// } else if (func0f15d10c(cmd[1].param, &box2) == 0) {
|
||||
|
|
@ -12392,7 +12392,7 @@ glabel var7f1b76bc
|
|||
// break;
|
||||
// case PORTALCMD_29: // 29 - f162b58 - copy visible state (true/false) of portal X to stack
|
||||
// if (execute) {
|
||||
// portalPushValue((g_Portals[cmd[1].param].flags & PORTALFLAG_01) == 0
|
||||
// portalPushValue((g_Portals[cmd[1].param].flags & PORTALFLAG_ENABLED) == 0
|
||||
// || !((g_Portals[cmd[1].param].flags & PORTALFLAG_04) == 0));
|
||||
// }
|
||||
// cmd += cmd->len;
|
||||
|
|
@ -14783,18 +14783,13 @@ glabel func0f164c64
|
|||
/* f164e44: 27bd0040 */ addiu $sp,$sp,0x40
|
||||
);
|
||||
|
||||
void portalSetEnabled(u32 portal, bool enable)
|
||||
{
|
||||
g_Portals[portal].flags = (g_Portals[portal].flags | PORTALFLAG_ENABLED) ^ (enable != false);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel portalSetEnabled
|
||||
/* f164e48: 3c0e800a */ lui $t6,%hi(g_Portals)
|
||||
/* f164e4c: 8dce4cc8 */ lw $t6,%lo(g_Portals)($t6)
|
||||
/* f164e50: 000478c0 */ sll $t7,$a0,0x3
|
||||
/* f164e54: 0005402b */ sltu $t0,$zero,$a1
|
||||
/* f164e58: 01cf1021 */ addu $v0,$t6,$t7
|
||||
/* f164e5c: 90580006 */ lbu $t8,0x6($v0)
|
||||
/* f164e60: 37190001 */ ori $t9,$t8,0x1
|
||||
/* f164e64: 03284826 */ xor $t1,$t9,$t0
|
||||
/* f164e68: 03e00008 */ jr $ra
|
||||
/* f164e6c: a0490006 */ sb $t1,0x6($v0)
|
||||
glabel func0f164e70
|
||||
/* f164e70: afa50004 */ sw $a1,0x4($sp)
|
||||
/* f164e74: afa60008 */ sw $a2,0x8($sp)
|
||||
/* f164e78: 03e00008 */ jr $ra
|
||||
|
|
|
|||
|
|
@ -1836,8 +1836,8 @@
|
|||
#define PORTALCMD_ENDIF 0x5c
|
||||
#define PORTALCMD_TRAILER 0x65
|
||||
|
||||
#define PORTALFLAG_01 0x01
|
||||
#define PORTALFLAG_04 0x04
|
||||
#define PORTALFLAG_ENABLED 0x01
|
||||
#define PORTALFLAG_04 0x04
|
||||
|
||||
#define PORTALMODE_SHOW 0
|
||||
#define PORTALMODE_HIDE 1
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ u32 func0f1648cc(void);
|
|||
void portalSwapProps(u32 portal);
|
||||
u32 func0f164ab8(void);
|
||||
u32 func0f164c64(void);
|
||||
void portalSetEnabled(s32 portalnum, bool enable);
|
||||
void portalSetEnabled(u32 portal, bool enable);
|
||||
u32 func0f164e8c(void);
|
||||
u32 func0f164f9c(void);
|
||||
u32 func0f165004(void);
|
||||
|
|
|
|||
Loading…
Reference in New Issue