Decompile roomSetLightsOn
This commit is contained in:
parent
3ec3456872
commit
e37c778880
|
|
@ -2390,33 +2390,33 @@ u8 func100b_lightswitch[] = {
|
|||
|
||||
// Turning lights off
|
||||
set_stage_flag(STAGEFLAG_LIGHTS_OFF)
|
||||
set_lights_state(0x0044, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0044, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
reloop(0x04)
|
||||
|
||||
// Turning lights on
|
||||
label(0x06)
|
||||
unset_stage_flag(STAGEFLAG_LIGHTS_OFF)
|
||||
set_lights_state(0x0044, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0044, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
endloop(0x04)
|
||||
|
||||
endlist
|
||||
|
|
|
|||
|
|
@ -2025,17 +2025,17 @@ u8 func040d_cass[] = {
|
|||
endloop(0x2a)
|
||||
|
||||
label(0x20)
|
||||
set_lights_state(0x0044, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0044, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_stage_flag(STAGEFLAG_TOP_LIGHTS_OFF)
|
||||
set_stage_flag(STAGEFLAG_TOP_GUARDS_ATTACKING)
|
||||
walk_to_pad(0x000f)
|
||||
|
|
@ -2129,33 +2129,33 @@ u8 func100a_lightswitch[] = {
|
|||
label(0x20)
|
||||
play_sound(0x00ba, -1)
|
||||
if_stage_flag_eq(STAGEFLAG_TOP_LIGHTS_OFF, TRUE, /*goto*/ 0x00)
|
||||
set_lights_state(0x0044, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_7, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0044, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_TURNOFF, 0x00, 0x00, 0x00)
|
||||
set_stage_flag(STAGEFLAG_TOP_LIGHTS_OFF)
|
||||
reloop(0x1f)
|
||||
|
||||
label(0x00)
|
||||
unset_stage_flag(STAGEFLAG_TOP_LIGHTS_OFF)
|
||||
set_lights_state(0x0044, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_6, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0044, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0039, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003c, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003d, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003e, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003b, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0042, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003f, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x003a, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0041, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
set_lights_state(0x0040, LIGHTOP_TURNON, 0x00, 0x00, 0x00)
|
||||
endloop(0x1f)
|
||||
|
||||
endlist
|
||||
|
|
|
|||
|
|
@ -6175,11 +6175,11 @@ bool aiSetLights(void)
|
|||
|
||||
if (roomnum >= 0) {
|
||||
switch (cmd[4]) {
|
||||
case LIGHTOP_7:
|
||||
func0f002b58(roomnum, false);
|
||||
case LIGHTOP_TURNOFF:
|
||||
roomSetLightsOn(roomnum, false);
|
||||
break;
|
||||
case LIGHTOP_6:
|
||||
func0f002b58(roomnum, true);
|
||||
case LIGHTOP_TURNON:
|
||||
roomSetLightsOn(roomnum, true);
|
||||
break;
|
||||
default:
|
||||
roomSetLighting(roomnum, cmd[4], cmd[5], cmd[6], cmd[7]);
|
||||
|
|
|
|||
|
|
@ -117,8 +117,8 @@ glabel func0f00097c
|
|||
/* f000994: 000f7880 */ sll $t7,$t7,0x2
|
||||
/* f000998: 01cfc021 */ addu $t8,$t6,$t7
|
||||
/* f00099c: 9719000a */ lhu $t9,0xa($t8)
|
||||
/* f0009a0: 3c0a800a */ lui $t2,%hi(var800a4cd8)
|
||||
/* f0009a4: 8d4a4cd8 */ lw $t2,%lo(var800a4cd8)($t2)
|
||||
/* f0009a0: 3c0a800a */ lui $t2,%hi(g_LightsFileData)
|
||||
/* f0009a4: 8d4a4cd8 */ lw $t2,%lo(g_LightsFileData)($t2)
|
||||
/* f0009a8: 03254021 */ addu $t0,$t9,$a1
|
||||
/* f0009ac: 00084900 */ sll $t1,$t0,0x4
|
||||
/* f0009b0: 01284821 */ addu $t1,$t1,$t0
|
||||
|
|
@ -455,9 +455,9 @@ glabel func0f000dfc
|
|||
/* f000e14: 000f7880 */ sll $t7,$t7,0x2
|
||||
/* f000e18: 01cfc021 */ addu $t8,$t6,$t7
|
||||
/* f000e1c: 9719000a */ lhu $t9,0xa($t8)
|
||||
/* f000e20: 3c09800a */ lui $t1,%hi(var800a4cd8)
|
||||
/* f000e20: 3c09800a */ lui $t1,%hi(g_LightsFileData)
|
||||
/* f000e24: 44800000 */ mtc1 $zero,$f0
|
||||
/* f000e28: 8d294cd8 */ lw $t1,%lo(var800a4cd8)($t1)
|
||||
/* f000e28: 8d294cd8 */ lw $t1,%lo(g_LightsFileData)($t1)
|
||||
/* f000e2c: 00194100 */ sll $t0,$t9,0x4
|
||||
/* f000e30: 00055100 */ sll $t2,$a1,0x4
|
||||
/* f000e34: 01194021 */ addu $t0,$t0,$t9
|
||||
|
|
@ -616,8 +616,8 @@ glabel func0f001000
|
|||
/* f001040: 000f7880 */ sll $t7,$t7,0x2
|
||||
/* f001044: 01cfc021 */ addu $t8,$t6,$t7
|
||||
/* f001048: 9719000a */ lhu $t9,0xa($t8)
|
||||
/* f00104c: 3c09800a */ lui $t1,%hi(var800a4cd8)
|
||||
/* f001050: 8d294cd8 */ lw $t1,%lo(var800a4cd8)($t1)
|
||||
/* f00104c: 3c09800a */ lui $t1,%hi(g_LightsFileData)
|
||||
/* f001050: 8d294cd8 */ lw $t1,%lo(g_LightsFileData)($t1)
|
||||
/* f001054: 00194100 */ sll $t0,$t9,0x4
|
||||
/* f001058: 00055100 */ sll $t2,$a1,0x4
|
||||
/* f00105c: 01194021 */ addu $t0,$t0,$t9
|
||||
|
|
@ -1048,9 +1048,9 @@ glabel func0f0013c8
|
|||
/* f001640: 01e7c021 */ addu $t8,$t7,$a3
|
||||
/* f001644: 9719000a */ lhu $t9,0xa($t8)
|
||||
/* f001648: 81180008 */ lb $t8,0x8($t0)
|
||||
/* f00164c: 3c0f800a */ lui $t7,%hi(var800a4cd8)
|
||||
/* f00164c: 3c0f800a */ lui $t7,%hi(g_LightsFileData)
|
||||
/* f001650: 00197100 */ sll $t6,$t9,0x4
|
||||
/* f001654: 8def4cd8 */ lw $t7,%lo(var800a4cd8)($t7)
|
||||
/* f001654: 8def4cd8 */ lw $t7,%lo(g_LightsFileData)($t7)
|
||||
/* f001658: 01d97021 */ addu $t6,$t6,$t9
|
||||
/* f00165c: 000e7040 */ sll $t6,$t6,0x1
|
||||
/* f001660: 1b000030 */ blez $t8,.L0f001724
|
||||
|
|
@ -1200,8 +1200,8 @@ glabel func0f001734
|
|||
/* f00186c: 46009083 */ div.s $f2,$f18,$f0
|
||||
/* f001870: c7a80094 */ lwc1 $f8,0x94($sp)
|
||||
/* f001874: 8fc90000 */ lw $t1,0x0($s8)
|
||||
/* f001878: 3c0c800a */ lui $t4,%hi(var800a4cd8)
|
||||
/* f00187c: 8d8c4cd8 */ lw $t4,%lo(var800a4cd8)($t4)
|
||||
/* f001878: 3c0c800a */ lui $t4,%hi(g_LightsFileData)
|
||||
/* f00187c: 8d8c4cd8 */ lw $t4,%lo(g_LightsFileData)($t4)
|
||||
/* f001880: 01371021 */ addu $v0,$t1,$s7
|
||||
/* f001884: 00009825 */ or $s3,$zero,$zero
|
||||
/* f001888: 27b6008c */ addiu $s6,$sp,0x8c
|
||||
|
|
@ -1352,9 +1352,9 @@ glabel roomSetFaultyLights
|
|||
/* f001aa4: 01d31021 */ addu $v0,$t6,$s3
|
||||
/* f001aa8: 944f000a */ lhu $t7,0xa($v0)
|
||||
/* f001aac: 80430008 */ lb $v1,0x8($v0)
|
||||
/* f001ab0: 3c19800a */ lui $t9,%hi(var800a4cd8)
|
||||
/* f001ab0: 3c19800a */ lui $t9,%hi(g_LightsFileData)
|
||||
/* f001ab4: 000fc100 */ sll $t8,$t7,0x4
|
||||
/* f001ab8: 8f394cd8 */ lw $t9,%lo(var800a4cd8)($t9)
|
||||
/* f001ab8: 8f394cd8 */ lw $t9,%lo(g_LightsFileData)($t9)
|
||||
/* f001abc: 030fc021 */ addu $t8,$t8,$t7
|
||||
/* f001ac0: 0018c040 */ sll $t8,$t8,0x1
|
||||
/* f001ac4: 00a0a825 */ or $s5,$a1,$zero
|
||||
|
|
@ -2533,66 +2533,29 @@ glabel func0f002a98
|
|||
/* f002b54: 27bd0028 */ addiu $sp,$sp,0x28
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f002b58
|
||||
/* f002b58: 3c08800a */ lui $t0,%hi(g_Rooms)
|
||||
/* f002b5c: 000418c0 */ sll $v1,$a0,0x3
|
||||
/* f002b60: 25084928 */ addiu $t0,$t0,%lo(g_Rooms)
|
||||
/* f002b64: 00641821 */ addu $v1,$v1,$a0
|
||||
/* f002b68: 8d0e0000 */ lw $t6,0x0($t0)
|
||||
/* f002b6c: 00031880 */ sll $v1,$v1,0x2
|
||||
/* f002b70: 00641823 */ subu $v1,$v1,$a0
|
||||
/* f002b74: 00031880 */ sll $v1,$v1,0x2
|
||||
/* f002b78: 01c33021 */ addu $a2,$t6,$v1
|
||||
/* f002b7c: 94cf000a */ lhu $t7,0xa($a2)
|
||||
/* f002b80: 80c70008 */ lb $a3,0x8($a2)
|
||||
/* f002b84: 3c19800a */ lui $t9,%hi(var800a4cd8)
|
||||
/* f002b88: 000fc100 */ sll $t8,$t7,0x4
|
||||
/* f002b8c: 8f394cd8 */ lw $t9,%lo(var800a4cd8)($t9)
|
||||
/* f002b90: 030fc021 */ addu $t8,$t8,$t7
|
||||
/* f002b94: 0018c040 */ sll $t8,$t8,0x1
|
||||
/* f002b98: 10e00014 */ beqz $a3,.L0f002bec
|
||||
/* f002b9c: 03191021 */ addu $v0,$t8,$t9
|
||||
/* f002ba0: 18e00012 */ blez $a3,.L0f002bec
|
||||
/* f002ba4: 00002025 */ or $a0,$zero,$zero
|
||||
.L0f002ba8:
|
||||
/* f002ba8: 94490004 */ lhu $t1,0x4($v0)
|
||||
/* f002bac: 24840001 */ addiu $a0,$a0,0x1
|
||||
/* f002bb0: 00095e40 */ sll $t3,$t1,0x19
|
||||
/* f002bb4: 0563000b */ bgezl $t3,.L0f002be4
|
||||
/* f002bb8: 0087082a */ slt $at,$a0,$a3
|
||||
/* f002bbc: 904f0005 */ lbu $t7,0x5($v0)
|
||||
/* f002bc0: 00056940 */ sll $t5,$a1,0x5
|
||||
/* f002bc4: 31ae0020 */ andi $t6,$t5,0x20
|
||||
/* f002bc8: 31f8ffdf */ andi $t8,$t7,0xffdf
|
||||
/* f002bcc: 01d8c825 */ or $t9,$t6,$t8
|
||||
/* f002bd0: a0590005 */ sb $t9,0x5($v0)
|
||||
/* f002bd4: 8d090000 */ lw $t1,0x0($t0)
|
||||
/* f002bd8: 01233021 */ addu $a2,$t1,$v1
|
||||
/* f002bdc: 80c70008 */ lb $a3,0x8($a2)
|
||||
/* f002be0: 0087082a */ slt $at,$a0,$a3
|
||||
.L0f002be4:
|
||||
/* f002be4: 1420fff0 */ bnez $at,.L0f002ba8
|
||||
/* f002be8: 24420022 */ addiu $v0,$v0,0x22
|
||||
.L0f002bec:
|
||||
/* f002bec: 50a00006 */ beqzl $a1,.L0f002c08
|
||||
/* f002bf0: 94cc0000 */ lhu $t4,0x0($a2)
|
||||
/* f002bf4: 94ca0000 */ lhu $t2,0x0($a2)
|
||||
/* f002bf8: 314bdfff */ andi $t3,$t2,0xdfff
|
||||
/* f002bfc: 10000004 */ b .L0f002c10
|
||||
/* f002c00: a4cb0000 */ sh $t3,0x0($a2)
|
||||
/* f002c04: 94cc0000 */ lhu $t4,0x0($a2)
|
||||
.L0f002c08:
|
||||
/* f002c08: 358d2000 */ ori $t5,$t4,0x2000
|
||||
/* f002c0c: a4cd0000 */ sh $t5,0x0($a2)
|
||||
.L0f002c10:
|
||||
/* f002c10: 8d0f0000 */ lw $t7,0x0($t0)
|
||||
/* f002c14: 01e33021 */ addu $a2,$t7,$v1
|
||||
/* f002c18: 94ce0000 */ lhu $t6,0x0($a2)
|
||||
/* f002c1c: 35d80100 */ ori $t8,$t6,0x100
|
||||
/* f002c20: 03e00008 */ jr $ra
|
||||
/* f002c24: a4d80000 */ sh $t8,0x0($a2)
|
||||
);
|
||||
void roomSetLightsOn(s32 roomnum, s32 enable)
|
||||
{
|
||||
struct light *light = (struct light *)&g_LightsFileData[g_Rooms[roomnum].lightindex * 0x22];
|
||||
s32 i;
|
||||
|
||||
if (g_Rooms[roomnum].numlights) {
|
||||
for (i = 0; i < g_Rooms[roomnum].numlights; i++) {
|
||||
if (light->healthy) {
|
||||
light->on = enable;
|
||||
}
|
||||
|
||||
light++;
|
||||
}
|
||||
}
|
||||
|
||||
if (enable) {
|
||||
g_Rooms[roomnum].flags &= ~ROOMFLAG_LIGHTSOFF;
|
||||
} else {
|
||||
g_Rooms[roomnum].flags |= ROOMFLAG_LIGHTSOFF;
|
||||
}
|
||||
|
||||
g_Rooms[roomnum].flags |= ROOMFLAG_0100;
|
||||
}
|
||||
|
||||
void roomSetLighting(s32 roomnum, s32 operation, u8 arg2, u8 arg3, u8 arg4)
|
||||
{
|
||||
|
|
@ -2642,8 +2605,8 @@ glabel func0f002ef8
|
|||
/* f002f20: afa500dc */ sw $a1,0xdc($sp)
|
||||
/* f002f24: 01d8c821 */ addu $t9,$t6,$t8
|
||||
/* f002f28: 972a000a */ lhu $t2,0xa($t9)
|
||||
/* f002f2c: 3c0f800a */ lui $t7,%hi(var800a4cd8)
|
||||
/* f002f30: 8def4cd8 */ lw $t7,%lo(var800a4cd8)($t7)
|
||||
/* f002f2c: 3c0f800a */ lui $t7,%hi(g_LightsFileData)
|
||||
/* f002f30: 8def4cd8 */ lw $t7,%lo(g_LightsFileData)($t7)
|
||||
/* f002f34: 01456021 */ addu $t4,$t2,$a1
|
||||
/* f002f38: 000c6900 */ sll $t5,$t4,0x4
|
||||
/* f002f3c: 01ac6821 */ addu $t5,$t5,$t4
|
||||
|
|
@ -3010,11 +2973,11 @@ glabel func0f003444
|
|||
/* f003480: 0000a025 */ or $s4,$zero,$zero
|
||||
/* f003484: 3c013f00 */ lui $at,0x3f00
|
||||
/* f003488: 3c02800a */ lui $v0,%hi(g_Rooms)
|
||||
/* f00348c: 3c16800a */ lui $s6,%hi(var800a4cd8)
|
||||
/* f00348c: 3c16800a */ lui $s6,%hi(g_LightsFileData)
|
||||
/* f003490: 3c12800a */ lui $s2,%hi(g_Rooms)
|
||||
/* f003494: 4481a000 */ mtc1 $at,$f20
|
||||
/* f003498: 26524928 */ addiu $s2,$s2,%lo(g_Rooms)
|
||||
/* f00349c: 26d64cd8 */ addiu $s6,$s6,%lo(var800a4cd8)
|
||||
/* f00349c: 26d64cd8 */ addiu $s6,$s6,%lo(g_LightsFileData)
|
||||
/* f0034a0: 8c424928 */ lw $v0,%lo(g_Rooms)($v0)
|
||||
/* f0034a4: 00009825 */ or $s3,$zero,$zero
|
||||
/* f0034a8: 24150022 */ addiu $s5,$zero,0x22
|
||||
|
|
@ -3114,11 +3077,11 @@ glabel func0f0035c0
|
|||
/* f0035f8: 19c00040 */ blez $t6,.L0f0036fc
|
||||
/* f0035fc: 0000a025 */ or $s4,$zero,$zero
|
||||
/* f003600: 3c02800a */ lui $v0,%hi(g_Rooms)
|
||||
/* f003604: 3c16800a */ lui $s6,%hi(var800a4cd8)
|
||||
/* f003604: 3c16800a */ lui $s6,%hi(g_LightsFileData)
|
||||
/* f003608: 3c12800a */ lui $s2,%hi(g_Rooms)
|
||||
/* f00360c: 4480a000 */ mtc1 $zero,$f20
|
||||
/* f003610: 26524928 */ addiu $s2,$s2,%lo(g_Rooms)
|
||||
/* f003614: 26d64cd8 */ addiu $s6,$s6,%lo(var800a4cd8)
|
||||
/* f003614: 26d64cd8 */ addiu $s6,$s6,%lo(g_LightsFileData)
|
||||
/* f003618: 8c424928 */ lw $v0,%lo(g_Rooms)($v0)
|
||||
/* f00361c: 00009825 */ or $s3,$zero,$zero
|
||||
/* f003620: 24150022 */ addiu $s5,$zero,0x22
|
||||
|
|
@ -3555,8 +3518,8 @@ glabel var7f1a7dd4
|
|||
/* f003c10: 10800032 */ beqz $a0,.L0f003cdc
|
||||
/* f003c14: 00001825 */ or $v1,$zero,$zero
|
||||
/* f003c18: 9609000a */ lhu $t1,0xa($s0)
|
||||
/* f003c1c: 3c0b800a */ lui $t3,%hi(var800a4cd8)
|
||||
/* f003c20: 8d6b4cd8 */ lw $t3,%lo(var800a4cd8)($t3)
|
||||
/* f003c1c: 3c0b800a */ lui $t3,%hi(g_LightsFileData)
|
||||
/* f003c20: 8d6b4cd8 */ lw $t3,%lo(g_LightsFileData)($t3)
|
||||
/* f003c24: 00095100 */ sll $t2,$t1,0x4
|
||||
/* f003c28: 01495021 */ addu $t2,$t2,$t1
|
||||
/* f003c2c: 000a5040 */ sll $t2,$t2,0x1
|
||||
|
|
@ -3628,14 +3591,14 @@ glabel var7f1a7dd4
|
|||
.L0f003d14:
|
||||
/* f003d14: c610005c */ lwc1 $f16,0x5c($s0)
|
||||
.L0f003d18:
|
||||
/* f003d18: 3c0f800a */ lui $t7,%hi(var800a4cd8)
|
||||
/* f003d18: 3c0f800a */ lui $t7,%hi(g_LightsFileData)
|
||||
/* f003d1c: 46100002 */ mul.s $f0,$f0,$f16
|
||||
/* f003d20: 4600028d */ trunc.w.s $f10,$f0
|
||||
/* f003d24: 440b5000 */ mfc1 $t3,$f10
|
||||
/* f003d28: 00000000 */ nop
|
||||
/* f003d2c: a60b0050 */ sh $t3,0x50($s0)
|
||||
/* f003d30: 8e6c0000 */ lw $t4,0x0($s3)
|
||||
/* f003d34: 8def4cd8 */ lw $t7,%lo(var800a4cd8)($t7)
|
||||
/* f003d34: 8def4cd8 */ lw $t7,%lo(g_LightsFileData)($t7)
|
||||
/* f003d38: 01928021 */ addu $s0,$t4,$s2
|
||||
/* f003d3c: 960d000a */ lhu $t5,0xa($s0)
|
||||
/* f003d40: 82040008 */ lb $a0,0x8($s0)
|
||||
|
|
|
|||
|
|
@ -285,11 +285,11 @@ glabel func0f13c780
|
|||
/* f13c818: 8fbf006c */ lw $ra,0x6c($sp)
|
||||
/* f13c81c: 84660012 */ lh $a2,0x12($v1)
|
||||
/* f13c820: 27b00138 */ addiu $s0,$sp,0x138
|
||||
/* f13c824: 3c0a800a */ lui $t2,%hi(var800a4cd8)
|
||||
/* f13c824: 3c0a800a */ lui $t2,%hi(g_LightsFileData)
|
||||
/* f13c828: 10c002d4 */ beqz $a2,.L0f13d37c
|
||||
/* f13c82c: 3c0d800a */ lui $t5,%hi(var800a41a0)
|
||||
/* f13c830: 84620010 */ lh $v0,0x10($v1)
|
||||
/* f13c834: 8d4a4cd8 */ lw $t2,%lo(var800a4cd8)($t2)
|
||||
/* f13c834: 8d4a4cd8 */ lw $t2,%lo(g_LightsFileData)($t2)
|
||||
/* f13c838: 8dad41a0 */ lw $t5,%lo(var800a41a0)($t5)
|
||||
/* f13c83c: 00024900 */ sll $t1,$v0,0x4
|
||||
/* f13c840: 01224821 */ addu $t1,$t1,$v0
|
||||
|
|
@ -1282,11 +1282,11 @@ glabel func0f13d568
|
|||
/* f13d6a8: afa50140 */ sw $a1,0x140($sp)
|
||||
/* f13d6ac: 94ad0000 */ lhu $t5,0x0($a1)
|
||||
/* f13d6b0: 8fac0164 */ lw $t4,0x164($sp)
|
||||
/* f13d6b4: 3c0f800a */ lui $t7,%hi(var800a4cd8)
|
||||
/* f13d6b4: 3c0f800a */ lui $t7,%hi(g_LightsFileData)
|
||||
/* f13d6b8: 24010022 */ addiu $at,$zero,0x22
|
||||
/* f13d6bc: 158d026d */ bne $t4,$t5,.L0f13e074
|
||||
/* f13d6c0: 00005025 */ or $t2,$zero,$zero
|
||||
/* f13d6c4: 8def4cd8 */ lw $t7,%lo(var800a4cd8)($t7)
|
||||
/* f13d6c4: 8def4cd8 */ lw $t7,%lo(g_LightsFileData)($t7)
|
||||
/* f13d6c8: 3c0c800a */ lui $t4,%hi(var800a41a0)
|
||||
/* f13d6cc: 8d8c41a0 */ lw $t4,%lo(var800a41a0)($t4)
|
||||
/* f13d6d0: 00af8823 */ subu $s1,$a1,$t7
|
||||
|
|
|
|||
|
|
@ -4089,15 +4089,15 @@ glabel func0f15b534
|
|||
/* f15b8a8: ac2e4cd4 */ sw $t6,%lo(g_PortalCommands)($at)
|
||||
.L0f15b8ac:
|
||||
/* f15b8ac: 8ca20010 */ lw $v0,0x10($a1)
|
||||
/* f15b8b0: 3c01800a */ lui $at,%hi(var800a4cd8)
|
||||
/* f15b8b0: 3c01800a */ lui $at,%hi(g_LightsFileData)
|
||||
/* f15b8b4: 14400004 */ bnez $v0,.L0f15b8c8
|
||||
/* f15b8b8: 00447821 */ addu $t7,$v0,$a0
|
||||
/* f15b8bc: 3c01800a */ lui $at,%hi(var800a4cd8)
|
||||
/* f15b8bc: 3c01800a */ lui $at,%hi(g_LightsFileData)
|
||||
/* f15b8c0: 10000003 */ b .L0f15b8d0
|
||||
/* f15b8c4: ac204cd8 */ sw $zero,%lo(var800a4cd8)($at)
|
||||
/* f15b8c4: ac204cd8 */ sw $zero,%lo(g_LightsFileData)($at)
|
||||
.L0f15b8c8:
|
||||
/* f15b8c8: 01e7c021 */ addu $t8,$t7,$a3
|
||||
/* f15b8cc: ac384cd8 */ sw $t8,%lo(var800a4cd8)($at)
|
||||
/* f15b8cc: ac384cd8 */ sw $t8,%lo(g_LightsFileData)($at)
|
||||
.L0f15b8d0:
|
||||
/* f15b8d0: 8ca20014 */ lw $v0,0x14($a1)
|
||||
/* f15b8d4: 3c01800a */ lui $at,%hi(var800a4cdc)
|
||||
|
|
@ -4349,15 +4349,15 @@ glabel func0f15b534
|
|||
/* f15b66c: ac2e4cd4 */ sw $t6,%lo(g_PortalCommands)($at)
|
||||
.L0f15b670:
|
||||
/* f15b670: 8ca20010 */ lw $v0,0x10($a1)
|
||||
/* f15b674: 3c01800a */ lui $at,%hi(var800a4cd8)
|
||||
/* f15b674: 3c01800a */ lui $at,%hi(g_LightsFileData)
|
||||
/* f15b678: 14400004 */ bnez $v0,.L0f15b68c
|
||||
/* f15b67c: 00447821 */ addu $t7,$v0,$a0
|
||||
/* f15b680: 3c01800a */ lui $at,%hi(var800a4cd8)
|
||||
/* f15b680: 3c01800a */ lui $at,%hi(g_LightsFileData)
|
||||
/* f15b684: 10000003 */ b .L0f15b694
|
||||
/* f15b688: ac204cd8 */ sw $zero,%lo(var800a4cd8)($at)
|
||||
/* f15b688: ac204cd8 */ sw $zero,%lo(g_LightsFileData)($at)
|
||||
.L0f15b68c:
|
||||
/* f15b68c: 01e7c021 */ addu $t8,$t7,$a3
|
||||
/* f15b690: ac384cd8 */ sw $t8,%lo(var800a4cd8)($at)
|
||||
/* f15b690: ac384cd8 */ sw $t8,%lo(g_LightsFileData)($at)
|
||||
.L0f15b694:
|
||||
/* f15b694: 8ca20014 */ lw $v0,0x14($a1)
|
||||
/* f15b698: 3c01800a */ lui $at,%hi(var800a4cdc)
|
||||
|
|
|
|||
|
|
@ -16403,7 +16403,7 @@ struct portal *g_Portals = NULL;
|
|||
u32 var800a4ccc = 0;
|
||||
u8 *var800a4cd0 = NULL;
|
||||
struct portalcmd *g_PortalCommands = NULL;
|
||||
u32 var800a4cd8 = 0;
|
||||
u8 *g_LightsFileData = NULL;
|
||||
u32 var800a4cdc = 0;
|
||||
u32 var800a4ce0 = 0;
|
||||
s16 var800a4ce4[2] = {0};
|
||||
|
|
|
|||
|
|
@ -974,13 +974,13 @@
|
|||
#define LANGUAGE_ENGLISH 0
|
||||
#define LANGUAGE_JAPANESE 1
|
||||
|
||||
#define LIGHTOP_1 1
|
||||
#define LIGHTOP_2 2
|
||||
#define LIGHTOP_3 3
|
||||
#define LIGHTOP_4 4
|
||||
#define LIGHTOP_5 5
|
||||
#define LIGHTOP_6 6
|
||||
#define LIGHTOP_7 7
|
||||
#define LIGHTOP_1 1
|
||||
#define LIGHTOP_2 2
|
||||
#define LIGHTOP_3 3
|
||||
#define LIGHTOP_4 4
|
||||
#define LIGHTOP_5 5
|
||||
#define LIGHTOP_TURNON 6
|
||||
#define LIGHTOP_TURNOFF 7
|
||||
|
||||
// These actions are assigned to chr->myaction
|
||||
#define MA_NONE 0
|
||||
|
|
@ -2407,6 +2407,8 @@
|
|||
#define ROOMFLAG_DISABLED 0x0001
|
||||
#define ROOMFLAG_VISIBLEBYPLAYER 0x0004
|
||||
#define ROOMFLAG_VISIBLEBYAIBOT 0x0008
|
||||
#define ROOMFLAG_0100 0x0100
|
||||
#define ROOMFLAG_LIGHTSOFF 0x2000
|
||||
#define ROOMFLAG_PLAYAMBIENTTRACK 0x4000
|
||||
#define ROOMFLAG_OUTDOORS 0x8000
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ u32 func0f0023b8(void);
|
|||
u32 func0f00259c(void);
|
||||
u32 func0f002844(void);
|
||||
u32 func0f002a98(void);
|
||||
void func0f002b58(s32 roomthing, bool enable);
|
||||
void roomSetLightsOn(s32 roomnum, s32 enable);
|
||||
void roomSetLighting(s32 roomnum, s32 operation, u8 arg2, u8 arg3, u8 arg4);
|
||||
u32 func0f002ef8(void);
|
||||
void func0f0033b0(void);
|
||||
|
|
|
|||
|
|
@ -731,7 +731,7 @@ extern struct portal *g_Portals;
|
|||
extern u32 var800a4ccc;
|
||||
extern u8 *var800a4cd0;
|
||||
extern struct portalcmd *g_PortalCommands;
|
||||
extern u32 var800a4cd8;
|
||||
extern u8 *g_LightsFileData;
|
||||
extern u32 var800a4ce0;
|
||||
extern s16 var800a4ce4[2];
|
||||
extern struct var800a4ce8 *var800a4ce8;
|
||||
|
|
|
|||
|
|
@ -3381,7 +3381,8 @@ struct room {
|
|||
/*0x05*/ s8 unk05;
|
||||
/*0x06*/ u8 unk06;
|
||||
/*0x07*/ u8 unk07;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x08*/ s8 numlights;
|
||||
/*0x0a*/ u16 lightindex; // index of start of this room's lights in data file
|
||||
/*0x0c*/ u16 unk0c;
|
||||
/*0x0e*/ s16 unk0e;
|
||||
/*0x10*/ struct screenbox screenbox;
|
||||
|
|
@ -6357,4 +6358,27 @@ struct var8009dbe0 {
|
|||
u32 unk44;
|
||||
};
|
||||
|
||||
struct light {
|
||||
/*0x00*/ u16 roomnum;
|
||||
/*0x02*/ u16 unk02;
|
||||
/*0x04*/ u8 unk04;
|
||||
/*0x05*/ u8 unk05_00 : 1;
|
||||
/*0x05*/ u8 healthy : 1; // just a guess based on context
|
||||
/*0x05*/ u8 on : 1;
|
||||
/*0x06*/ u16 unk06;
|
||||
/*0x08*/ u16 unk08;
|
||||
/*0x0a*/ s16 x1;
|
||||
/*0x0c*/ s16 y1;
|
||||
/*0x0e*/ s16 z1;
|
||||
/*0x10*/ s16 x2;
|
||||
/*0x12*/ s16 y2;
|
||||
/*0x14*/ s16 z2;
|
||||
/*0x16*/ s16 x3;
|
||||
/*0x18*/ s16 y3;
|
||||
/*0x1a*/ s16 z3;
|
||||
/*0x1c*/ s16 x4;
|
||||
/*0x1e*/ s16 y4;
|
||||
/*0x20*/ s16 z4;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue