Disassemble rng2 functions
This commit is contained in:
parent
24a293620f
commit
514c44e12a
|
|
@ -144,7 +144,7 @@
|
|||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/game_127910.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/game_1291b0.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
build/ROMID/game/game_129210.o (section); \
|
||||
build/ROMID/game/explosions/explosions.o (section); \
|
||||
build/ROMID/game/smoke/smoke.o (section); \
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@
|
|||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/game_127910.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/game_1291b0.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
build/ROMID/game/game_129210.o (section); \
|
||||
build/ROMID/game/explosions/explosions.o (section); \
|
||||
build/ROMID/game/smoke/smoke.o (section); \
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@
|
|||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/game_127910.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/game_1291b0.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
build/ROMID/game/game_129210.o (section); \
|
||||
build/ROMID/game/explosions/explosions.o (section); \
|
||||
build/ROMID/game/smoke/smoke.o (section); \
|
||||
|
|
|
|||
|
|
@ -13909,12 +13909,12 @@ glabel func0f0270f4
|
|||
/* f0275a4: 00000000 */ nop
|
||||
.L0f0275a8:
|
||||
/* f0275a8: 44c9f800 */ ctc1 $t1,$31
|
||||
/* f0275ac: 0fc4a47e */ jal func0f1291f8
|
||||
/* f0275ac: 0fc4a47e */ jal rng2SetSeed
|
||||
/* f0275b0: 016c2021 */ addu $a0,$t3,$t4
|
||||
/* f0275b4: 86020000 */ lh $v0,0x0($s0)
|
||||
/* f0275b8: 1840000e */ blez $v0,.L0f0275f4
|
||||
/* f0275bc: 00000000 */ nop
|
||||
/* f0275c0: 0fc4a46c */ jal func0f1291b0
|
||||
/* f0275c0: 0fc4a46c */ jal random2
|
||||
/* f0275c4: 00000000 */ nop
|
||||
/* f0275c8: 0052001b */ divu $zero,$v0,$s2
|
||||
/* f0275cc: 860d0000 */ lh $t5,0x0($s0)
|
||||
|
|
@ -13931,7 +13931,7 @@ glabel func0f0270f4
|
|||
.L0f0275f4:
|
||||
/* f0275f4: 0443000e */ bgezl $v0,.L0f027630
|
||||
/* f0275f8: 86020002 */ lh $v0,0x2($s0)
|
||||
/* f0275fc: 0fc4a46c */ jal func0f1291b0
|
||||
/* f0275fc: 0fc4a46c */ jal random2
|
||||
/* f027600: 00000000 */ nop
|
||||
/* f027604: 0052001b */ divu $zero,$v0,$s2
|
||||
/* f027608: 860a0000 */ lh $t2,0x0($s0)
|
||||
|
|
@ -13948,7 +13948,7 @@ glabel func0f0270f4
|
|||
.L0f027630:
|
||||
/* f027630: 1840000e */ blez $v0,.L0f02766c
|
||||
/* f027634: 00000000 */ nop
|
||||
/* f027638: 0fc4a46c */ jal func0f1291b0
|
||||
/* f027638: 0fc4a46c */ jal random2
|
||||
/* f02763c: 00000000 */ nop
|
||||
/* f027640: 0052001b */ divu $zero,$v0,$s2
|
||||
/* f027644: 860e0002 */ lh $t6,0x2($s0)
|
||||
|
|
@ -13965,7 +13965,7 @@ glabel func0f0270f4
|
|||
.L0f02766c:
|
||||
/* f02766c: 0443000e */ bgezl $v0,.L0f0276a8
|
||||
/* f027670: 86020004 */ lh $v0,0x4($s0)
|
||||
/* f027674: 0fc4a46c */ jal func0f1291b0
|
||||
/* f027674: 0fc4a46c */ jal random2
|
||||
/* f027678: 00000000 */ nop
|
||||
/* f02767c: 0052001b */ divu $zero,$v0,$s2
|
||||
/* f027680: 860b0002 */ lh $t3,0x2($s0)
|
||||
|
|
@ -13982,7 +13982,7 @@ glabel func0f0270f4
|
|||
.L0f0276a8:
|
||||
/* f0276a8: 1840000e */ blez $v0,.L0f0276e4
|
||||
/* f0276ac: 00000000 */ nop
|
||||
/* f0276b0: 0fc4a46c */ jal func0f1291b0
|
||||
/* f0276b0: 0fc4a46c */ jal random2
|
||||
/* f0276b4: 00000000 */ nop
|
||||
/* f0276b8: 0052001b */ divu $zero,$v0,$s2
|
||||
/* f0276bc: 86190004 */ lh $t9,0x4($s0)
|
||||
|
|
@ -13999,7 +13999,7 @@ glabel func0f0270f4
|
|||
.L0f0276e4:
|
||||
/* f0276e4: 0443000e */ bgezl $v0,.L0f027720
|
||||
/* f0276e8: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f0276ec: 0fc4a46c */ jal func0f1291b0
|
||||
/* f0276ec: 0fc4a46c */ jal random2
|
||||
/* f0276f0: 00000000 */ nop
|
||||
/* f0276f4: 0052001b */ divu $zero,$v0,$s2
|
||||
/* f0276f8: 860c0002 */ lh $t4,0x2($s0)
|
||||
|
|
|
|||
|
|
@ -1,40 +0,0 @@
|
|||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/rng.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u32 var8007e3c0 = 0xab8d9f77;
|
||||
u32 var8007e3c4 = 0x81280783;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f1291b0
|
||||
/* f1291b0: 3c048008 */ lui $a0,%hi(var8007e3c0)
|
||||
/* f1291b4: dc84e3c0 */ ld $a0,%lo(var8007e3c0)($a0)
|
||||
/* f1291b8: 3c018008 */ lui $at,%hi(var8007e3c0)
|
||||
/* f1291bc: 000437fc */ dsll32 $a2,$a0,0x1f
|
||||
/* f1291c0: 00042ff8 */ dsll $a1,$a0,0x1f
|
||||
/* f1291c4: 000637fa */ dsrl $a2,$a2,0x1f
|
||||
/* f1291c8: 0005283e */ dsrl32 $a1,$a1,0x0
|
||||
/* f1291cc: 0004233c */ dsll32 $a0,$a0,0xc
|
||||
/* f1291d0: 00c53025 */ or $a2,$a2,$a1
|
||||
/* f1291d4: 0004203e */ dsrl32 $a0,$a0,0x0
|
||||
/* f1291d8: 00c43026 */ xor $a2,$a2,$a0
|
||||
/* f1291dc: 0006253a */ dsrl $a0,$a2,0x14
|
||||
/* f1291e0: 30840fff */ andi $a0,$a0,0xfff
|
||||
/* f1291e4: 00862026 */ xor $a0,$a0,$a2
|
||||
/* f1291e8: 0004103c */ dsll32 $v0,$a0,0x0
|
||||
/* f1291ec: fc24e3c0 */ sd $a0,%lo(var8007e3c0)($at)
|
||||
/* f1291f0: 03e00008 */ jr $ra
|
||||
/* f1291f4: 0002103f */ dsra32 $v0,$v0,0x0
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f1291f8
|
||||
/* f1291f8: 64840001 */ daddiu $a0,$a0,0x1
|
||||
/* f1291fc: 3c018008 */ lui $at,%hi(var8007e3c0)
|
||||
/* f129200: fc24e3c0 */ sd $a0,%lo(var8007e3c0)($at)
|
||||
/* f129204: 03e00008 */ jr $ra
|
||||
/* f129208: 24040000 */ addiu $a0,$zero,0x0
|
||||
);
|
||||
|
|
@ -50929,7 +50929,7 @@ glabel var7f1aa838
|
|||
/* f082308: 844e0002 */ lh $t6,0x2($v0)
|
||||
/* f08230c: 01edc021 */ addu $t8,$t7,$t5
|
||||
/* f082310: 030ec821 */ addu $t9,$t8,$t6
|
||||
/* f082314: 0fc4a47e */ jal func0f1291f8
|
||||
/* f082314: 0fc4a47e */ jal rng2SetSeed
|
||||
/* f082318: 03282021 */ addu $a0,$t9,$t0
|
||||
/* f08231c: 8faa0084 */ lw $t2,0x84($sp)
|
||||
/* f082320: 00125880 */ sll $t3,$s2,0x2
|
||||
|
|
@ -50964,7 +50964,7 @@ glabel var7f1aa838
|
|||
/* f08238c: 10000001 */ b .L0f082394
|
||||
/* f082390: 24100014 */ addiu $s0,$zero,0x14
|
||||
.L0f082394:
|
||||
/* f082394: 0fc4a46c */ jal func0f1291b0
|
||||
/* f082394: 0fc4a46c */ jal random2
|
||||
/* f082398: 00000000 */ nop
|
||||
/* f08239c: 24010064 */ addiu $at,$zero,0x64
|
||||
/* f0823a0: 0041001b */ divu $zero,$v0,$at
|
||||
|
|
@ -50976,7 +50976,7 @@ glabel var7f1aa838
|
|||
/* f0823b8: 01716021 */ addu $t4,$t3,$s1
|
||||
/* f0823bc: a1800007 */ sb $zero,0x7($t4)
|
||||
.L0f0823c0:
|
||||
/* f0823c0: 0fc4a46c */ jal func0f1291b0
|
||||
/* f0823c0: 0fc4a46c */ jal random2
|
||||
/* f0823c4: 00000000 */ nop
|
||||
/* f0823c8: 24010014 */ addiu $at,$zero,0x14
|
||||
/* f0823cc: 0041001b */ divu $zero,$v0,$at
|
||||
|
|
@ -50993,7 +50993,7 @@ glabel var7f1aa838
|
|||
/* f0823f8: 44192000 */ mfc1 $t9,$f4
|
||||
/* f0823fc: 00000000 */ nop
|
||||
/* f082400: 01195021 */ addu $t2,$t0,$t9
|
||||
/* f082404: 0fc4a46c */ jal func0f1291b0
|
||||
/* f082404: 0fc4a46c */ jal random2
|
||||
/* f082408: a60a0000 */ sh $t2,0x0($s0)
|
||||
/* f08240c: 24010014 */ addiu $at,$zero,0x14
|
||||
/* f082410: 0041001b */ divu $zero,$v0,$at
|
||||
|
|
@ -51010,7 +51010,7 @@ glabel var7f1aa838
|
|||
/* f08243c: 440d2000 */ mfc1 $t5,$f4
|
||||
/* f082440: 00000000 */ nop
|
||||
/* f082444: 030d7021 */ addu $t6,$t8,$t5
|
||||
/* f082448: 0fc4a46c */ jal func0f1291b0
|
||||
/* f082448: 0fc4a46c */ jal random2
|
||||
/* f08244c: a60e0002 */ sh $t6,0x2($s0)
|
||||
/* f082450: 24010014 */ addiu $at,$zero,0x14
|
||||
/* f082454: 0041001b */ divu $zero,$v0,$at
|
||||
|
|
@ -51625,7 +51625,7 @@ glabel var7f1aa838
|
|||
/* f080d40: 844c0002 */ lh $t4,0x2($v0)
|
||||
/* f080d44: 01495821 */ addu $t3,$t2,$t1
|
||||
/* f080d48: 016c7821 */ addu $t7,$t3,$t4
|
||||
/* f080d4c: 0fc48f8e */ jal func0f1291f8
|
||||
/* f080d4c: 0fc48f8e */ jal rng2SetSeed
|
||||
/* f080d50: 01ed2021 */ addu $a0,$t7,$t5
|
||||
/* f080d54: 13c00031 */ beqz $s8,.NB0f080e1c
|
||||
/* f080d58: 00000000 */ sll $zero,$zero,0x0
|
||||
|
|
@ -51669,7 +51669,7 @@ glabel var7f1aa838
|
|||
/* f080de8: 10000001 */ beqz $zero,.NB0f080df0
|
||||
/* f080dec: 24100014 */ addiu $s0,$zero,0x14
|
||||
.NB0f080df0:
|
||||
/* f080df0: 0fc48f7c */ jal func0f1291b0
|
||||
/* f080df0: 0fc48f7c */ jal random2
|
||||
/* f080df4: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f080df8: 24010064 */ addiu $at,$zero,0x64
|
||||
/* f080dfc: 0041001b */ divu $zero,$v0,$at
|
||||
|
|
@ -51681,7 +51681,7 @@ glabel var7f1aa838
|
|||
/* f080e14: 01716021 */ addu $t4,$t3,$s1
|
||||
/* f080e18: a1800007 */ sb $zero,0x7($t4)
|
||||
.NB0f080e1c:
|
||||
/* f080e1c: 0fc48f7c */ jal func0f1291b0
|
||||
/* f080e1c: 0fc48f7c */ jal random2
|
||||
/* f080e20: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f080e24: 0057001b */ divu $zero,$v0,$s7
|
||||
/* f080e28: 00006810 */ mfhi $t5
|
||||
|
|
@ -51701,7 +51701,7 @@ glabel var7f1aa838
|
|||
/* f080e5c: 44192000 */ mfc1 $t9,$f4
|
||||
/* f080e60: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f080e64: 01195021 */ addu $t2,$t0,$t9
|
||||
/* f080e68: 0fc48f7c */ jal func0f1291b0
|
||||
/* f080e68: 0fc48f7c */ jal random2
|
||||
/* f080e6c: a60a0000 */ sh $t2,0x0($s0)
|
||||
/* f080e70: 0057001b */ divu $zero,$v0,$s7
|
||||
/* f080e74: 00005810 */ mfhi $t3
|
||||
|
|
@ -51721,7 +51721,7 @@ glabel var7f1aa838
|
|||
/* f080ea8: 440d2000 */ mfc1 $t5,$f4
|
||||
/* f080eac: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f080eb0: 030d7021 */ addu $t6,$t8,$t5
|
||||
/* f080eb4: 0fc48f7c */ jal func0f1291b0
|
||||
/* f080eb4: 0fc48f7c */ jal random2
|
||||
/* f080eb8: a60e0002 */ sh $t6,0x2($s0)
|
||||
/* f080ebc: 0057001b */ divu $zero,$v0,$s7
|
||||
/* f080ec0: 0000c810 */ mfhi $t9
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
#include "macros.inc"
|
||||
.set noat
|
||||
.set noreorder
|
||||
.set gp=64
|
||||
|
||||
.data
|
||||
|
||||
glabel g_Rng2Seed
|
||||
.dword 0xab8d9f7781280783
|
||||
|
||||
.text
|
||||
|
||||
/**
|
||||
* u32 random(void)
|
||||
*
|
||||
* Generate a random number between 0 and 4294967295.
|
||||
*/
|
||||
glabel random2
|
||||
lui $a0, %hi(g_Rng2Seed)
|
||||
ld $a0, %lo(g_Rng2Seed)($a0)
|
||||
lui $at, %hi(g_Rng2Seed)
|
||||
dsll32 $a2, $a0, 31
|
||||
dsll $a1, $a0, 31
|
||||
dsrl $a2, $a2, 31
|
||||
dsrl32 $a1, $a1, 0
|
||||
dsll32 $a0, $a0, 12
|
||||
or $a2, $a2, $a1
|
||||
dsrl32 $a0, $a0, 0
|
||||
xor $a2, $a2, $a0
|
||||
dsrl $a0, $a2, 20
|
||||
andi $a0, $a0, 0xfff
|
||||
xor $a0, $a0, $a2
|
||||
dsll32 $v0, $a0, 0
|
||||
sd $a0, %lo(g_Rng2Seed)($at)
|
||||
jr $ra
|
||||
dsra32 $v0, $v0, 0
|
||||
|
||||
/**
|
||||
* void rngSetSeed(u32 seed)
|
||||
*
|
||||
* Set the given seed as the RNG seed. Add 1 to make sure it isn't 0.
|
||||
*/
|
||||
glabel rng2SetSeed
|
||||
daddiu $a0, $a0, 1
|
||||
lui $at, %hi(g_Rng2Seed)
|
||||
sd $a0, %lo(g_Rng2Seed)($at)
|
||||
jr $ra
|
||||
li $a0, 0
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u32 func0f1291b0(void);
|
||||
u32 func0f1291f8(void);
|
||||
u32 random2(void);
|
||||
u32 rng2SetSeed(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue