mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-09-10 03:42:00 -04:00
Decompile func0f000920
This commit is contained in:
@@ -6943,7 +6943,7 @@ struct var80061420 *var80061420 = NULL;
|
||||
u32 var80061424 = 0x00000000;
|
||||
u32 var80061428 = 0x00000000;
|
||||
u32 var8006142c = 0x00000000;
|
||||
u32 var80061430 = 0x00000000;
|
||||
u16 **var80061430 = NULL;
|
||||
u32 var80061434 = 0x00000000;
|
||||
u32 var80061438 = 0x00000000;
|
||||
u32 var8006143c = 0x42480000;
|
||||
|
||||
+16
-30
@@ -75,36 +75,22 @@ const char var7f1a7d10[] = "L2 -> Allocated %uK for the compressed acoustic shad
|
||||
const char var7f1a7d50[] = "L2(%d) -> ";
|
||||
const char var7f1a7d5c[] = "L2 -> Finished building portal range table\n";
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f000920
|
||||
/* f000920: 10850014 */ beq $a0,$a1,.L0f000974
|
||||
/* f000924: 00001025 */ or $v0,$zero,$zero
|
||||
/* f000928: 00a4082a */ slt $at,$a1,$a0
|
||||
/* f00092c: 10200003 */ beqz $at,.L0f00093c
|
||||
/* f000930: 3c0e8006 */ lui $t6,%hi(var80061430)
|
||||
/* f000934: 10000002 */ b .L0f000940
|
||||
/* f000938: 00801825 */ or $v1,$a0,$zero
|
||||
.L0f00093c:
|
||||
/* f00093c: 00a01825 */ or $v1,$a1,$zero
|
||||
.L0f000940:
|
||||
/* f000940: 0085082a */ slt $at,$a0,$a1
|
||||
/* f000944: 10200003 */ beqz $at,.L0f000954
|
||||
/* f000948: 00a03025 */ or $a2,$a1,$zero
|
||||
/* f00094c: 10000001 */ b .L0f000954
|
||||
/* f000950: 00803025 */ or $a2,$a0,$zero
|
||||
.L0f000954:
|
||||
/* f000954: 8dce1430 */ lw $t6,%lo(var80061430)($t6)
|
||||
/* f000958: 00037880 */ sll $t7,$v1,0x2
|
||||
/* f00095c: 00064040 */ sll $t0,$a2,0x1
|
||||
/* f000960: 01cfc021 */ addu $t8,$t6,$t7
|
||||
/* f000964: 8f190000 */ lw $t9,0x0($t8)
|
||||
/* f000968: 03284821 */ addu $t1,$t9,$t0
|
||||
/* f00096c: 03e00008 */ jr $ra
|
||||
/* f000970: 95220000 */ lhu $v0,0x0($t1)
|
||||
.L0f000974:
|
||||
/* f000974: 03e00008 */ jr $ra
|
||||
/* f000978: 00000000 */ nop
|
||||
);
|
||||
/**
|
||||
* These numbers are suspected to be portal indexes, based on the size of the
|
||||
* array and the number of portals in CI Training. No idea what the returned
|
||||
* values are though.
|
||||
*/
|
||||
s32 func0f000920(s32 num1, s32 num2)
|
||||
{
|
||||
if (num1 != num2) {
|
||||
s32 upper = (num1 > num2) ? num1 : num2;
|
||||
s32 lower = (num1 < num2) ? num1 : num2;
|
||||
|
||||
return var80061430[upper][lower];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct light *roomGetLight(s32 roomnum, s32 lightnum)
|
||||
{
|
||||
|
||||
@@ -188,7 +188,7 @@ extern u32 var800613a0;
|
||||
extern struct var80061420 *var80061420;
|
||||
extern u32 var80061424;
|
||||
extern u32 var8006142c;
|
||||
extern u32 var80061430;
|
||||
extern u16 **var80061430;
|
||||
extern u32 var80061434;
|
||||
extern u32 var80061438;
|
||||
extern u32 var80061440;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
u32 func0f000920(void);
|
||||
s32 func0f000920(s32 num1, s32 num2);
|
||||
struct light *roomGetLight(s32 roomnum, s32 lightnum);
|
||||
u8 func0f0009c0(s32 roomnum);
|
||||
u8 func0f000a10(s32 roomnum);
|
||||
|
||||
Reference in New Issue
Block a user