pal-final: Get game .rodata matching

This commit is contained in:
Ryan Dwyer
2021-03-09 23:52:29 +10:00
parent bd15d29866
commit 56ff30460a
79 changed files with 28372 additions and 2437 deletions
+4 -2
View File
@@ -14,6 +14,7 @@
build/ROMID/game/stubs/game_000910.o (section); \
build/ROMID/game/dlights.o (section); \
build/ROMID/game/game_005fd0.o (section); \
build/ROMID/game/game_006900.o (section); \
build/ROMID/game/game_006bd0.o (section); \
build/ROMID/game/nbomb.o (section); \
build/ROMID/game/stubs/game_00b180.o (section); \
@@ -33,6 +34,7 @@
build/ROMID/game/game_011110.o (section); \
build/ROMID/game/inventory/init.o (section); \
build/ROMID/game/game_0125a0.o (section); \
build/ROMID/game/game_012aa0.o (section); \
build/ROMID/game/game_012d50.o (section); \
build/ROMID/game/explosions/init.o (section); \
build/ROMID/game/smoke/init.o (section); \
@@ -46,6 +48,7 @@
build/ROMID/game/game_013ee0.o (section); \
build/ROMID/game/game_0147a0.o (section); \
build/ROMID/game/game_0147d0.o (section); \
build/ROMID/game/game_014e90.o (section); \
build/ROMID/game/game_014f10.o (section); \
build/ROMID/game/game_015010.o (section); \
build/ROMID/game/game_0150a0.o (section); \
@@ -150,8 +153,7 @@
build/ROMID/game/bondview.o (section); \
build/ROMID/game/splat.o (section); \
build/ROMID/game/camdraw.o (section); \
build/ROMID/game/shards/create.o (section); \
build/ROMID/game/shards/render.o (section); \
build/ROMID/game/shards/shards.o (section); \
build/ROMID/game/options.o (section); \
build/ROMID/game/game_152fa0.o (section); \
build/ROMID/game/game_1531a0.o (section); \
+1 -1
View File
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include "constants.h"
#include "game/chr/chraction.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_097ba0.h"
#include "game/game_0b0fd0.h"
#include "game/game_0b3350.h"
+343 -1
View File
@@ -194,6 +194,347 @@ void bbikeHandleActivate(void)
}
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel bbikeApplyMoveData
.late_rodata
glabel var7f1adb54
.word 0x3dcccccd
glabel var7f1adb58
.word 0xbdcccccd
glabel var7f1adb5c
.word 0xbdf5c290
glabel var7f1adb60
.word 0x3df5c290
glabel var7f1adb64
.word 0x40490fdb
glabel var7f1adb68
.word 0x3f4ccccd
glabel var7f1adb6c
.word 0x40c907a9
glabel var7f1adb70
.word 0x40c907a9
glabel var7f1adb74
.word 0x3f4ccccd
.text
/* f0d26ac: 3c02800a */ lui $v0,%hi(g_Vars)
/* f0d26b0: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f0d26b4: 8c4e0284 */ lw $t6,0x284($v0)
/* f0d26b8: 27bdffa0 */ addiu $sp,$sp,-96
/* f0d26bc: afbf0014 */ sw $ra,0x14($sp)
/* f0d26c0: afa40060 */ sw $a0,0x60($sp)
/* f0d26c4: 8dcf1a6c */ lw $t7,0x1a6c($t6)
/* f0d26c8: 8c590288 */ lw $t9,0x288($v0)
/* f0d26cc: 8df80004 */ lw $t8,0x4($t7)
/* f0d26d0: afb8005c */ sw $t8,0x5c($sp)
/* f0d26d4: 0fc549d2 */ jal optionsGetContpadNum1
/* f0d26d8: 8f240070 */ lw $a0,0x70($t9)
/* f0d26dc: 3c08800a */ lui $t0,%hi(g_Vars+0x288)
/* f0d26e0: 8d08a248 */ lw $t0,%lo(g_Vars+0x288)($t0)
/* f0d26e4: a3a2005b */ sb $v0,0x5b($sp)
/* f0d26e8: 0fc549c4 */ jal optionsGetControlMode
/* f0d26ec: 8d040070 */ lw $a0,0x70($t0)
/* f0d26f0: 24010001 */ addiu $at,$zero,0x1
/* f0d26f4: 10410012 */ beq $v0,$at,.L0f0d2740
/* f0d26f8: 3c09800a */ lui $t1,%hi(g_Vars+0x288)
/* f0d26fc: 8d29a248 */ lw $t1,%lo(g_Vars+0x288)($t1)
/* f0d2700: 0fc549c4 */ jal optionsGetControlMode
/* f0d2704: 8d240070 */ lw $a0,0x70($t1)
/* f0d2708: 24010003 */ addiu $at,$zero,0x3
/* f0d270c: 1041000c */ beq $v0,$at,.L0f0d2740
/* f0d2710: 3c0a800a */ lui $t2,%hi(g_Vars+0x288)
/* f0d2714: 8d4aa248 */ lw $t2,%lo(g_Vars+0x288)($t2)
/* f0d2718: 0fc549c4 */ jal optionsGetControlMode
/* f0d271c: 8d440070 */ lw $a0,0x70($t2)
/* f0d2720: 24010002 */ addiu $at,$zero,0x2
/* f0d2724: 10410006 */ beq $v0,$at,.L0f0d2740
/* f0d2728: 3c0b800a */ lui $t3,%hi(g_Vars+0x288)
/* f0d272c: 8d6ba248 */ lw $t3,%lo(g_Vars+0x288)($t3)
/* f0d2730: 0fc549c4 */ jal optionsGetControlMode
/* f0d2734: 8d640070 */ lw $a0,0x70($t3)
/* f0d2738: 14400011 */ bnez $v0,.L0f0d2780
/* f0d273c: 8fa70060 */ lw $a3,0x60($sp)
.L0f0d2740:
/* f0d2740: 0fc5b364 */ jal coreIsPaused
/* f0d2744: 00000000 */ nop
/* f0d2748: 1440000d */ bnez $v0,.L0f0d2780
/* f0d274c: 8fa70060 */ lw $a3,0x60($sp)
/* f0d2750: 00002025 */ or $a0,$zero,$zero
/* f0d2754: 83a5005b */ lb $a1,0x5b($sp)
/* f0d2758: 0c005326 */ jal contCountButtonsOnSpecificSamples
/* f0d275c: 24060202 */ addiu $a2,$zero,0x202
/* f0d2760: 8fac0060 */ lw $t4,0x60($sp)
/* f0d2764: 00002025 */ or $a0,$zero,$zero
/* f0d2768: 24060101 */ addiu $a2,$zero,0x101
/* f0d276c: ad820028 */ sw $v0,0x28($t4)
/* f0d2770: 0c005326 */ jal contCountButtonsOnSpecificSamples
/* f0d2774: 83a5005b */ lb $a1,0x5b($sp)
/* f0d2778: 8fa70060 */ lw $a3,0x60($sp)
/* f0d277c: ace2002c */ sw $v0,0x2c($a3)
.L0f0d2780:
/* f0d2780: 8ced0020 */ lw $t5,0x20($a3)
/* f0d2784: 3c04800a */ lui $a0,%hi(g_Vars)
/* f0d2788: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars)
/* f0d278c: 11a00015 */ beqz $t5,.L0f0d27e4
/* f0d2790: 3c013f80 */ lui $at,0x3f80
/* f0d2794: 44819000 */ mtc1 $at,$f18
/* f0d2798: 3c017f1b */ lui $at,%hi(var7f1adb54)
/* f0d279c: 8c820284 */ lw $v0,0x284($a0)
/* f0d27a0: c424db54 */ lwc1 $f4,%lo(var7f1adb54)($at)
/* f0d27a4: c486004c */ lwc1 $f6,0x4c($a0)
/* f0d27a8: c4400170 */ lwc1 $f0,0x170($v0)
/* f0d27ac: 46062302 */ mul.s $f12,$f4,$f6
/* f0d27b0: 46009081 */ sub.s $f2,$f18,$f0
/* f0d27b4: 4602603c */ c.lt.s $f12,$f2
/* f0d27b8: 00000000 */ nop
/* f0d27bc: 45020003 */ bc1fl .L0f0d27cc
/* f0d27c0: 46020200 */ add.s $f8,$f0,$f2
/* f0d27c4: 46006086 */ mov.s $f2,$f12
/* f0d27c8: 46020200 */ add.s $f8,$f0,$f2
.L0f0d27cc:
/* f0d27cc: 3c01bf80 */ lui $at,0xbf80
/* f0d27d0: 44817000 */ mtc1 $at,$f14
/* f0d27d4: 44808000 */ mtc1 $zero,$f16
/* f0d27d8: e4480170 */ swc1 $f8,0x170($v0)
/* f0d27dc: 10000055 */ b .L0f0d2934
/* f0d27e0: 8c820284 */ lw $v0,0x284($a0)
.L0f0d27e4:
/* f0d27e4: 8cee0024 */ lw $t6,0x24($a3)
/* f0d27e8: 11c0001a */ beqz $t6,.L0f0d2854
/* f0d27ec: 3c01bf80 */ lui $at,0xbf80
/* f0d27f0: 44817000 */ mtc1 $at,$f14
/* f0d27f4: 3c017f1b */ lui $at,%hi(var7f1adb58)
/* f0d27f8: c42adb58 */ lwc1 $f10,%lo(var7f1adb58)($at)
/* f0d27fc: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f0d2800: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f0d2804: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f0d2808: c424a00c */ lwc1 $f4,%lo(g_Vars+0x4c)($at)
/* f0d280c: 3c013f80 */ lui $at,0x3f80
/* f0d2810: c4400170 */ lwc1 $f0,0x170($v0)
/* f0d2814: 46045302 */ mul.s $f12,$f10,$f4
/* f0d2818: 44819000 */ mtc1 $at,$f18
/* f0d281c: 46007081 */ sub.s $f2,$f14,$f0
/* f0d2820: 460c103c */ c.lt.s $f2,$f12
/* f0d2824: 00000000 */ nop
/* f0d2828: 45020003 */ bc1fl .L0f0d2838
/* f0d282c: 46020180 */ add.s $f6,$f0,$f2
/* f0d2830: 46006086 */ mov.s $f2,$f12
/* f0d2834: 46020180 */ add.s $f6,$f0,$f2
.L0f0d2838:
/* f0d2838: 44808000 */ mtc1 $zero,$f16
/* f0d283c: 3c04800a */ lui $a0,%hi(g_Vars)
/* f0d2840: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars)
/* f0d2844: e4460170 */ swc1 $f6,0x170($v0)
/* f0d2848: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f0d284c: 10000039 */ b .L0f0d2934
/* f0d2850: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
.L0f0d2854:
/* f0d2854: 8cef0010 */ lw $t7,0x10($a3)
/* f0d2858: 3c08800a */ lui $t0,%hi(g_Vars+0x284)
/* f0d285c: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f0d2860: 11e0002b */ beqz $t7,.L0f0d2910
/* f0d2864: 3c013f80 */ lui $at,0x3f80
/* f0d2868: 8cf800a8 */ lw $t8,0xa8($a3)
/* f0d286c: 3c01428c */ lui $at,0x428c
/* f0d2870: 44812000 */ mtc1 $at,$f4
/* f0d2874: 44984000 */ mtc1 $t8,$f8
/* f0d2878: 3c19800a */ lui $t9,%hi(g_Vars+0x284)
/* f0d287c: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9)
/* f0d2880: 468042a0 */ cvt.s.w $f10,$f8
/* f0d2884: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f0d2888: 3c013f80 */ lui $at,0x3f80
/* f0d288c: 44814000 */ mtc1 $at,$f8
/* f0d2890: 44808000 */ mtc1 $zero,$f16
/* f0d2894: 3c01bf80 */ lui $at,0xbf80
/* f0d2898: 46045183 */ div.s $f6,$f10,$f4
/* f0d289c: 3c04800a */ lui $a0,%hi(g_Vars)
/* f0d28a0: e7260170 */ swc1 $f6,0x170($t9)
/* f0d28a4: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f0d28a8: c4400170 */ lwc1 $f0,0x170($v0)
/* f0d28ac: 4600403c */ c.lt.s $f8,$f0
/* f0d28b0: 00000000 */ nop
/* f0d28b4: 4502000a */ bc1fl .L0f0d28e0
/* f0d28b8: 44817000 */ mtc1 $at,$f14
/* f0d28bc: 3c013f80 */ lui $at,0x3f80
/* f0d28c0: 44815000 */ mtc1 $at,$f10
/* f0d28c4: 3c01bf80 */ lui $at,0xbf80
/* f0d28c8: 44817000 */ mtc1 $at,$f14
/* f0d28cc: e44a0170 */ swc1 $f10,0x170($v0)
/* f0d28d0: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f0d28d4: 1000000a */ b .L0f0d2900
/* f0d28d8: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f0d28dc: 44817000 */ mtc1 $at,$f14
.L0f0d28e0:
/* f0d28e0: 00000000 */ nop
/* f0d28e4: 460e003c */ c.lt.s $f0,$f14
/* f0d28e8: 00000000 */ nop
/* f0d28ec: 45020005 */ bc1fl .L0f0d2904
/* f0d28f0: 3c013f80 */ lui $at,0x3f80
/* f0d28f4: e44e0170 */ swc1 $f14,0x170($v0)
/* f0d28f8: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f0d28fc: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
.L0f0d2900:
/* f0d2900: 3c013f80 */ lui $at,0x3f80
.L0f0d2904:
/* f0d2904: 44819000 */ mtc1 $at,$f18
/* f0d2908: 1000000a */ b .L0f0d2934
/* f0d290c: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars)
.L0f0d2910:
/* f0d2910: 44808000 */ mtc1 $zero,$f16
/* f0d2914: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0)
/* f0d2918: 44819000 */ mtc1 $at,$f18
/* f0d291c: 3c01bf80 */ lui $at,0xbf80
/* f0d2920: 3c04800a */ lui $a0,%hi(g_Vars)
/* f0d2924: e5100170 */ swc1 $f16,0x170($t0)
/* f0d2928: 44817000 */ mtc1 $at,$f14
/* f0d292c: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f0d2930: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars)
.L0f0d2934:
/* f0d2934: 8ce30028 */ lw $v1,0x28($a3)
/* f0d2938: 50600011 */ beqzl $v1,.L0f0d2980
/* f0d293c: 8ce3002c */ lw $v1,0x2c($a3)
/* f0d2940: 44832000 */ mtc1 $v1,$f4
/* f0d2944: 3c017f1b */ lui $at,%hi(var7f1adb5c)
/* f0d2948: c428db5c */ lwc1 $f8,%lo(var7f1adb5c)($at)
/* f0d294c: 468021a0 */ cvt.s.w $f6,$f4
/* f0d2950: c4400168 */ lwc1 $f0,0x168($v0)
/* f0d2954: 46007081 */ sub.s $f2,$f14,$f0
/* f0d2958: 46083302 */ mul.s $f12,$f6,$f8
/* f0d295c: 460c103c */ c.lt.s $f2,$f12
/* f0d2960: 00000000 */ nop
/* f0d2964: 45020003 */ bc1fl .L0f0d2974
/* f0d2968: 46020280 */ add.s $f10,$f0,$f2
/* f0d296c: 46006086 */ mov.s $f2,$f12
/* f0d2970: 46020280 */ add.s $f10,$f0,$f2
.L0f0d2974:
/* f0d2974: 1000002e */ b .L0f0d2a30
/* f0d2978: e44a0168 */ swc1 $f10,0x168($v0)
/* f0d297c: 8ce3002c */ lw $v1,0x2c($a3)
.L0f0d2980:
/* f0d2980: 50600011 */ beqzl $v1,.L0f0d29c8
/* f0d2984: 8ce90014 */ lw $t1,0x14($a3)
/* f0d2988: 44832000 */ mtc1 $v1,$f4
/* f0d298c: 3c017f1b */ lui $at,%hi(var7f1adb60)
/* f0d2990: c428db60 */ lwc1 $f8,%lo(var7f1adb60)($at)
/* f0d2994: 468021a0 */ cvt.s.w $f6,$f4
/* f0d2998: c4400168 */ lwc1 $f0,0x168($v0)
/* f0d299c: 46009081 */ sub.s $f2,$f18,$f0
/* f0d29a0: 46083302 */ mul.s $f12,$f6,$f8
/* f0d29a4: 4602603c */ c.lt.s $f12,$f2
/* f0d29a8: 00000000 */ nop
/* f0d29ac: 45020003 */ bc1fl .L0f0d29bc
/* f0d29b0: 46020280 */ add.s $f10,$f0,$f2
/* f0d29b4: 46006086 */ mov.s $f2,$f12
/* f0d29b8: 46020280 */ add.s $f10,$f0,$f2
.L0f0d29bc:
/* f0d29bc: 1000001c */ b .L0f0d2a30
/* f0d29c0: e44a0168 */ swc1 $f10,0x168($v0)
/* f0d29c4: 8ce90014 */ lw $t1,0x14($a3)
.L0f0d29c8:
/* f0d29c8: 51200019 */ beqzl $t1,.L0f0d2a30
/* f0d29cc: e4500168 */ swc1 $f16,0x168($v0)
/* f0d29d0: 8cea00a4 */ lw $t2,0xa4($a3)
/* f0d29d4: 3c01428c */ lui $at,0x428c
/* f0d29d8: 44814000 */ mtc1 $at,$f8
/* f0d29dc: 448a2000 */ mtc1 $t2,$f4
/* f0d29e0: 00000000 */ nop
/* f0d29e4: 468021a0 */ cvt.s.w $f6,$f4
/* f0d29e8: 46083283 */ div.s $f10,$f6,$f8
/* f0d29ec: e44a0168 */ swc1 $f10,0x168($v0)
/* f0d29f0: 8c820284 */ lw $v0,0x284($a0)
/* f0d29f4: c4400168 */ lwc1 $f0,0x168($v0)
/* f0d29f8: 4600903c */ c.lt.s $f18,$f0
/* f0d29fc: 00000000 */ nop
/* f0d2a00: 45020005 */ bc1fl .L0f0d2a18
/* f0d2a04: 460e003c */ c.lt.s $f0,$f14
/* f0d2a08: e4520168 */ swc1 $f18,0x168($v0)
/* f0d2a0c: 8c820284 */ lw $v0,0x284($a0)
/* f0d2a10: c4400168 */ lwc1 $f0,0x168($v0)
/* f0d2a14: 460e003c */ c.lt.s $f0,$f14
.L0f0d2a18:
/* f0d2a18: 00000000 */ nop
/* f0d2a1c: 45020005 */ bc1fl .L0f0d2a34
/* f0d2a20: 8fa2005c */ lw $v0,0x5c($sp)
/* f0d2a24: 10000002 */ b .L0f0d2a30
/* f0d2a28: e44e0168 */ swc1 $f14,0x168($v0)
/* f0d2a2c: e4500168 */ swc1 $f16,0x168($v0)
.L0f0d2a30:
/* f0d2a30: 8fa2005c */ lw $v0,0x5c($sp)
.L0f0d2a34:
/* f0d2a34: 3c017f1b */ lui $at,%hi(var7f1adb64)
/* f0d2a38: c424db64 */ lwc1 $f4,%lo(var7f1adb64)($at)
/* f0d2a3c: c4400070 */ lwc1 $f0,0x70($v0)
/* f0d2a40: c44c00b8 */ lwc1 $f12,0xb8($v0)
/* f0d2a44: 4604003c */ c.lt.s $f0,$f4
/* f0d2a48: 46006307 */ neg.s $f12,$f12
/* f0d2a4c: 45000008 */ bc1f .L0f0d2a70
/* f0d2a50: 3c017f1b */ lui $at,%hi(var7f1adb68)
/* f0d2a54: c428db68 */ lwc1 $f8,%lo(var7f1adb68)($at)
/* f0d2a58: 46000187 */ neg.s $f6,$f0
/* f0d2a5c: 3c017f1b */ lui $at,%hi(var7f1adb6c)
/* f0d2a60: 46083282 */ mul.s $f10,$f6,$f8
/* f0d2a64: c422db6c */ lwc1 $f2,%lo(var7f1adb6c)($at)
/* f0d2a68: 10000008 */ b .L0f0d2a8c
/* f0d2a6c: 460a6300 */ add.s $f12,$f12,$f10
.L0f0d2a70:
/* f0d2a70: 3c017f1b */ lui $at,%hi(var7f1adb70)
/* f0d2a74: c422db70 */ lwc1 $f2,%lo(var7f1adb70)($at)
/* f0d2a78: 3c017f1b */ lui $at,%hi(var7f1adb74)
/* f0d2a7c: c426db74 */ lwc1 $f6,%lo(var7f1adb74)($at)
/* f0d2a80: 46001101 */ sub.s $f4,$f2,$f0
/* f0d2a84: 46062202 */ mul.s $f8,$f4,$f6
/* f0d2a88: 46086300 */ add.s $f12,$f12,$f8
.L0f0d2a8c:
/* f0d2a8c: 4610603c */ c.lt.s $f12,$f16
/* f0d2a90: 00000000 */ nop
/* f0d2a94: 45020004 */ bc1fl .L0f0d2aa8
/* f0d2a98: 460c103e */ c.le.s $f2,$f12
/* f0d2a9c: 10000006 */ b .L0f0d2ab8
/* f0d2aa0: 46026300 */ add.s $f12,$f12,$f2
/* f0d2aa4: 460c103e */ c.le.s $f2,$f12
.L0f0d2aa8:
/* f0d2aa8: 00000000 */ nop
/* f0d2aac: 45020003 */ bc1fl .L0f0d2abc
/* f0d2ab0: e7b00030 */ swc1 $f16,0x30($sp)
/* f0d2ab4: 46026301 */ sub.s $f12,$f12,$f2
.L0f0d2ab8:
/* f0d2ab8: e7b00030 */ swc1 $f16,0x30($sp)
.L0f0d2abc:
/* f0d2abc: 0c0068f7 */ jal sinf
/* f0d2ac0: e7ac003c */ swc1 $f12,0x3c($sp)
/* f0d2ac4: 46000287 */ neg.s $f10,$f0
/* f0d2ac8: c7ac003c */ lwc1 $f12,0x3c($sp)
/* f0d2acc: 0c0068f4 */ jal cosf
/* f0d2ad0: e7aa0034 */ swc1 $f10,0x34($sp)
/* f0d2ad4: e7a00038 */ swc1 $f0,0x38($sp)
/* f0d2ad8: 27a40030 */ addiu $a0,$sp,0x30
/* f0d2adc: 0fc2d341 */ jal func0f0b4d04
/* f0d2ae0: 27a50028 */ addiu $a1,$sp,0x28
/* f0d2ae4: 0fc2d602 */ jal currentPlayerGetScreenTop
/* f0d2ae8: 00000000 */ nop
/* f0d2aec: 0fc2d5fa */ jal currentPlayerGetScreenHeight
/* f0d2af0: e7a00024 */ swc1 $f0,0x24($sp)
/* f0d2af4: c7a4002c */ lwc1 $f4,0x2c($sp)
/* f0d2af8: c7a60024 */ lwc1 $f6,0x24($sp)
/* f0d2afc: 3c013f80 */ lui $at,0x3f80
/* f0d2b00: 3c0b800a */ lui $t3,%hi(g_Vars+0x284)
/* f0d2b04: 46062081 */ sub.s $f2,$f4,$f6
/* f0d2b08: 44812000 */ mtc1 $at,$f4
/* f0d2b0c: 3c013f40 */ lui $at,0x3f40
/* f0d2b10: 8d6ba244 */ lw $t3,%lo(g_Vars+0x284)($t3)
/* f0d2b14: 46021200 */ add.s $f8,$f2,$f2
/* f0d2b18: 46004283 */ div.s $f10,$f8,$f0
/* f0d2b1c: 46045181 */ sub.s $f6,$f10,$f4
/* f0d2b20: 44815000 */ mtc1 $at,$f10
/* f0d2b24: 46003207 */ neg.s $f8,$f6
/* f0d2b28: 460a4102 */ mul.s $f4,$f8,$f10
/* f0d2b2c: e56401b8 */ swc1 $f4,0x1b8($t3)
/* f0d2b30: 8fbf0014 */ lw $ra,0x14($sp)
/* f0d2b34: 27bd0060 */ addiu $sp,$sp,0x60
/* f0d2b38: 03e00008 */ jr $ra
/* f0d2b3c: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel bbikeApplyMoveData
.late_rodata
@@ -533,6 +874,7 @@ glabel var7f1adb74
/* f0d2b38: 03e00008 */ jr $ra
/* f0d2b3c: 00000000 */ nop
);
#endif
// Mismatch due to stack placement.
// Need to declare another stack variable before sp3c to push sp3c onwards down,
@@ -1247,7 +1589,7 @@ void bbikeTick(void)
}
for (i = 0; i < g_Vars.lvupdate240; i++) {
var80070f04 += (sqdist - var80070f04) * 0.0025f;
var80070f04 += (sqdist - var80070f04) * (PAL ? 0.003f : 0.0025f);
}
sp200 = 1.0f - (var80070f04 + var80070f04);
+1619 -5
View File
File diff suppressed because it is too large Load Diff
+567 -7
View File
@@ -518,6 +518,565 @@ bool bgrabTryMoveUpwards(f32 y)
return result;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel bgrabCalculateNewPosition
.late_rodata
glabel var7f1ad998
.word 0x3c8ef461
glabel var7f1ad99c
.word 0x3f7c154d
glabel var7f1ad9a0
.word 0x3c7aacc0
glabel var7f1ad9a4
.word 0x40490fdb
glabel var7f1ad9a8
.word 0x40c907a9
glabel var7f1ad9ac
.word 0xc0490fdb
glabel var7f1ad9b0
.word 0x40c907a9
glabel var7f1ad9b4
.word 0x40c907a9
glabel var7f1ad9b8
.word 0x40c907a9
glabel var7f1ad9bc
.word 0x40c907a9
glabel var7f1ad9c0
.word 0x40c907a9
glabel var7f1ad9c4
.word 0x40c907a9
.text
/* f0cd1a4: 27bdff10 */ addiu $sp,$sp,-240
/* f0cd1a8: afb00038 */ sw $s0,0x38($sp)
/* f0cd1ac: 3c10800a */ lui $s0,%hi(g_Vars)
/* f0cd1b0: 3c018007 */ lui $at,%hi(var80070e80)
/* f0cd1b4: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars)
/* f0cd1b8: ac200e80 */ sw $zero,%lo(var80070e80)($at)
/* f0cd1bc: 8e0f0284 */ lw $t7,0x284($s0)
/* f0cd1c0: 240e0001 */ addiu $t6,$zero,0x1
/* f0cd1c4: afbf003c */ sw $ra,0x3c($sp)
/* f0cd1c8: f7b60030 */ sdc1 $f22,0x30($sp)
/* f0cd1cc: f7b40028 */ sdc1 $f20,0x28($sp)
/* f0cd1d0: afa400f0 */ sw $a0,0xf0($sp)
/* f0cd1d4: afa500f4 */ sw $a1,0xf4($sp)
/* f0cd1d8: afa600f8 */ sw $a2,0xf8($sp)
/* f0cd1dc: afae00ec */ sw $t6,0xec($sp)
/* f0cd1e0: afa000c8 */ sw $zero,0xc8($sp)
/* f0cd1e4: 27a600c4 */ addiu $a2,$sp,0xc4
/* f0cd1e8: 27a500bc */ addiu $a1,$sp,0xbc
/* f0cd1ec: 27a700c0 */ addiu $a3,$sp,0xc0
/* f0cd1f0: 0fc3082e */ jal propPlayerGetBbox
/* f0cd1f4: 8de400bc */ lw $a0,0xbc($t7)
/* f0cd1f8: 8e180284 */ lw $t8,0x284($s0)
/* f0cd1fc: 00002825 */ or $a1,$zero,$zero
/* f0cd200: 0fc1905e */ jal propSetCollisionsEnabled
/* f0cd204: 8f0400bc */ lw $a0,0xbc($t8)
/* f0cd208: 8e190284 */ lw $t9,0x284($s0)
/* f0cd20c: 00002825 */ or $a1,$zero,$zero
/* f0cd210: 0fc1905e */ jal propSetCollisionsEnabled
/* f0cd214: 8f241b5c */ lw $a0,0x1b5c($t9)
/* f0cd218: 8e080284 */ lw $t0,0x284($s0)
/* f0cd21c: 8fa300f0 */ lw $v1,0xf0($sp)
/* f0cd220: 4480a000 */ mtc1 $zero,$f20
/* f0cd224: 8d0900bc */ lw $t1,0xbc($t0)
/* f0cd228: c5240008 */ lwc1 $f4,0x8($t1)
/* f0cd22c: e7a400dc */ swc1 $f4,0xdc($sp)
/* f0cd230: 8d0a00bc */ lw $t2,0xbc($t0)
/* f0cd234: c546000c */ lwc1 $f6,0xc($t2)
/* f0cd238: e7a600e0 */ swc1 $f6,0xe0($sp)
/* f0cd23c: 8d0b00bc */ lw $t3,0xbc($t0)
/* f0cd240: c7a600dc */ lwc1 $f6,0xdc($sp)
/* f0cd244: c5680010 */ lwc1 $f8,0x10($t3)
/* f0cd248: e7a800e4 */ swc1 $f8,0xe4($sp)
/* f0cd24c: c4600000 */ lwc1 $f0,0x0($v1)
/* f0cd250: 4600a032 */ c.eq.s $f20,$f0
/* f0cd254: 00000000 */ nop
/* f0cd258: 4502000c */ bc1fl .L0f0cd28c
/* f0cd25c: 46003200 */ add.s $f8,$f6,$f0
/* f0cd260: c46a0004 */ lwc1 $f10,0x4($v1)
/* f0cd264: 460aa032 */ c.eq.s $f20,$f10
/* f0cd268: 00000000 */ nop
/* f0cd26c: 45020007 */ bc1fl .L0f0cd28c
/* f0cd270: 46003200 */ add.s $f8,$f6,$f0
/* f0cd274: c4640008 */ lwc1 $f4,0x8($v1)
/* f0cd278: 4604a032 */ c.eq.s $f20,$f4
/* f0cd27c: 00000000 */ nop
/* f0cd280: 45030047 */ bc1tl .L0f0cd3a0
/* f0cd284: 8e0c0284 */ lw $t4,0x284($s0)
/* f0cd288: 46003200 */ add.s $f8,$f6,$f0
.L0f0cd28c:
/* f0cd28c: c7aa00e0 */ lwc1 $f10,0xe0($sp)
/* f0cd290: 27a600dc */ addiu $a2,$sp,0xdc
/* f0cd294: 27a700cc */ addiu $a3,$sp,0xcc
/* f0cd298: e7a800dc */ swc1 $f8,0xdc($sp)
/* f0cd29c: c4640004 */ lwc1 $f4,0x4($v1)
/* f0cd2a0: c7a800e4 */ lwc1 $f8,0xe4($sp)
/* f0cd2a4: 46045180 */ add.s $f6,$f10,$f4
/* f0cd2a8: e7a600e0 */ swc1 $f6,0xe0($sp)
/* f0cd2ac: c46a0008 */ lwc1 $f10,0x8($v1)
/* f0cd2b0: 460a4100 */ add.s $f4,$f8,$f10
/* f0cd2b4: e7a400e4 */ swc1 $f4,0xe4($sp)
/* f0cd2b8: 8d0200bc */ lw $v0,0xbc($t0)
/* f0cd2bc: 24440008 */ addiu $a0,$v0,0x8
/* f0cd2c0: 0fc1979d */ jal func0f065e74
/* f0cd2c4: 24450028 */ addiu $a1,$v0,0x28
/* f0cd2c8: 8e040284 */ lw $a0,0x284($s0)
/* f0cd2cc: 27a500dc */ addiu $a1,$sp,0xdc
/* f0cd2d0: 0fc32de7 */ jal bmove0f0cb79c
/* f0cd2d4: 27a600cc */ addiu $a2,$sp,0xcc
/* f0cd2d8: 8e0d0284 */ lw $t5,0x284($s0)
/* f0cd2dc: 240c0001 */ addiu $t4,$zero,0x1
/* f0cd2e0: afac00c8 */ sw $t4,0xc8($sp)
/* f0cd2e4: 8da200bc */ lw $v0,0xbc($t5)
/* f0cd2e8: 240e003f */ addiu $t6,$zero,0x3f
/* f0cd2ec: 240f0001 */ addiu $t7,$zero,0x1
/* f0cd2f0: afaf0014 */ sw $t7,0x14($sp)
/* f0cd2f4: afae0010 */ sw $t6,0x10($sp)
/* f0cd2f8: c440000c */ lwc1 $f0,0xc($v0)
/* f0cd2fc: c7a600c4 */ lwc1 $f6,0xc4($sp)
/* f0cd300: c7aa00c0 */ lwc1 $f10,0xc0($sp)
/* f0cd304: 27a600dc */ addiu $a2,$sp,0xdc
/* f0cd308: 46003201 */ sub.s $f8,$f6,$f0
/* f0cd30c: 27a700cc */ addiu $a3,$sp,0xcc
/* f0cd310: 24440008 */ addiu $a0,$v0,0x8
/* f0cd314: 46005101 */ sub.s $f4,$f10,$f0
/* f0cd318: e7a80018 */ swc1 $f8,0x18($sp)
/* f0cd31c: 24450028 */ addiu $a1,$v0,0x28
/* f0cd320: 0c00b62e */ jal func0002d8b8
/* f0cd324: e7a4001c */ swc1 $f4,0x1c($sp)
/* f0cd328: 24010001 */ addiu $at,$zero,0x1
/* f0cd32c: 14410014 */ bne $v0,$at,.L0f0cd380
/* f0cd330: afa200ec */ sw $v0,0xec($sp)
/* f0cd334: 8e180284 */ lw $t8,0x284($s0)
/* f0cd338: 2419003f */ addiu $t9,$zero,0x3f
/* f0cd33c: 24090001 */ addiu $t1,$zero,0x1
/* f0cd340: 8f0200bc */ lw $v0,0xbc($t8)
/* f0cd344: afa90014 */ sw $t1,0x14($sp)
/* f0cd348: afb90010 */ sw $t9,0x10($sp)
/* f0cd34c: c440000c */ lwc1 $f0,0xc($v0)
/* f0cd350: c7a600c4 */ lwc1 $f6,0xc4($sp)
/* f0cd354: c7aa00c0 */ lwc1 $f10,0xc0($sp)
/* f0cd358: 27a500dc */ addiu $a1,$sp,0xdc
/* f0cd35c: 46003201 */ sub.s $f8,$f6,$f0
/* f0cd360: 8fa600bc */ lw $a2,0xbc($sp)
/* f0cd364: 27a700cc */ addiu $a3,$sp,0xcc
/* f0cd368: 46005101 */ sub.s $f4,$f10,$f0
/* f0cd36c: e7a80018 */ swc1 $f8,0x18($sp)
/* f0cd370: 24440008 */ addiu $a0,$v0,0x8
/* f0cd374: 0c00a9bf */ jal func0002a6fc
/* f0cd378: e7a4001c */ swc1 $f4,0x1c($sp)
/* f0cd37c: afa200ec */ sw $v0,0xec($sp)
.L0f0cd380:
/* f0cd380: 24010001 */ addiu $at,$zero,0x1
/* f0cd384: 50410006 */ beql $v0,$at,.L0f0cd3a0
/* f0cd388: 8e0c0284 */ lw $t4,0x284($s0)
/* f0cd38c: 8e0a0284 */ lw $t2,0x284($s0)
/* f0cd390: 3c01800a */ lui $at,%hi(var8009de70)
/* f0cd394: 8d4b00bc */ lw $t3,0xbc($t2)
/* f0cd398: ac2bde70 */ sw $t3,%lo(var8009de70)($at)
/* f0cd39c: 8e0c0284 */ lw $t4,0x284($s0)
.L0f0cd3a0:
/* f0cd3a0: 24050001 */ addiu $a1,$zero,0x1
/* f0cd3a4: 0fc1905e */ jal propSetCollisionsEnabled
/* f0cd3a8: 8d841b5c */ lw $a0,0x1b5c($t4)
/* f0cd3ac: 8fad00ec */ lw $t5,0xec($sp)
/* f0cd3b0: 24010001 */ addiu $at,$zero,0x1
/* f0cd3b4: c7a600f4 */ lwc1 $f6,0xf4($sp)
/* f0cd3b8: 55a1010c */ bnel $t5,$at,.L0f0cd7ec
/* f0cd3bc: 8e0b0284 */ lw $t3,0x284($s0)
/* f0cd3c0: 8e080284 */ lw $t0,0x284($s0)
/* f0cd3c4: 46003387 */ neg.s $f14,$f6
/* f0cd3c8: 00002025 */ or $a0,$zero,$zero
/* f0cd3cc: e7ae004c */ swc1 $f14,0x4c($sp)
/* f0cd3d0: 8d0f1a1c */ lw $t7,0x1a1c($t0)
/* f0cd3d4: 8d0e1b5c */ lw $t6,0x1b5c($t0)
/* f0cd3d8: 3c014120 */ lui $at,0x4120
/* f0cd3dc: 11e0005d */ beqz $t7,.L0f0cd554
/* f0cd3e0: 8dc50004 */ lw $a1,0x4($t6)
/* f0cd3e4: 44811000 */ mtc1 $at,$f2
/* f0cd3e8: c50a0148 */ lwc1 $f10,0x148($t0)
/* f0cd3ec: 3c017f1b */ lui $at,%hi(var7f1ad998)
/* f0cd3f0: c426d998 */ lwc1 $f6,%lo(var7f1ad998)($at)
/* f0cd3f4: 46005107 */ neg.s $f4,$f10
/* f0cd3f8: 3c014060 */ lui $at,0x4060
/* f0cd3fc: 46062202 */ mul.s $f8,$f4,$f6
/* f0cd400: 44815000 */ mtc1 $at,$f10
/* f0cd404: 3c0140c0 */ lui $at,0x40c0
/* f0cd408: 44812000 */ mtc1 $at,$f4
/* f0cd40c: 3c0140a0 */ lui $at,0x40a0
/* f0cd410: 44813000 */ mtc1 $at,$f6
/* f0cd414: 3c0142c8 */ lui $at,0x42c8
/* f0cd418: 460a4002 */ mul.s $f0,$f8,$f10
/* f0cd41c: 44815000 */ mtc1 $at,$f10
/* f0cd420: 8e030034 */ lw $v1,0x34($s0)
/* f0cd424: 3c017f1b */ lui $at,%hi(var7f1ad99c)
/* f0cd428: 00001025 */ or $v0,$zero,$zero
/* f0cd42c: 46040402 */ mul.s $f16,$f0,$f4
/* f0cd430: 00000000 */ nop
/* f0cd434: 46060202 */ mul.s $f8,$f0,$f6
/* f0cd438: c5060168 */ lwc1 $f6,0x168($t0)
/* f0cd43c: e7b4008c */ swc1 $f20,0x8c($sp)
/* f0cd440: 460a4102 */ mul.s $f4,$f8,$f10
/* f0cd444: 00000000 */ nop
/* f0cd448: 46023202 */ mul.s $f8,$f6,$f2
/* f0cd44c: 46082280 */ add.s $f10,$f4,$f8
/* f0cd450: e7aa0088 */ swc1 $f10,0x88($sp)
/* f0cd454: c5060170 */ lwc1 $f6,0x170($t0)
/* f0cd458: 46003107 */ neg.s $f4,$f6
/* f0cd45c: c5061c58 */ lwc1 $f6,0x1c58($t0)
/* f0cd460: 46022202 */ mul.s $f8,$f4,$f2
/* f0cd464: 46064100 */ add.s $f4,$f8,$f6
/* f0cd468: e7a40090 */ swc1 $f4,0x90($sp)
/* f0cd46c: c5081a3c */ lwc1 $f8,0x1a3c($t0)
/* f0cd470: c5161a38 */ lwc1 $f22,0x1a38($t0)
/* f0cd474: e7a800ac */ swc1 $f8,0xac($sp)
/* f0cd478: c5061a40 */ lwc1 $f6,0x1a40($t0)
/* f0cd47c: c7b200ac */ lwc1 $f18,0xac($sp)
/* f0cd480: e7a600b0 */ swc1 $f6,0xb0($sp)
/* f0cd484: c5081a44 */ lwc1 $f8,0x1a44($t0)
/* f0cd488: 18600024 */ blez $v1,.L0f0cd51c
/* f0cd48c: e7a800b4 */ swc1 $f8,0xb4($sp)
/* f0cd490: 46002306 */ mov.s $f12,$f4
/* f0cd494: 46005086 */ mov.s $f2,$f10
/* f0cd498: c420d99c */ lwc1 $f0,%lo(var7f1ad99c)($at)
/* f0cd49c: c7aa00b0 */ lwc1 $f10,0xb0($sp)
/* f0cd4a0: 24420001 */ addiu $v0,$v0,0x1
/* f0cd4a4: 0043082a */ slt $at,$v0,$v1
/* f0cd4a8: 460a0202 */ mul.s $f8,$f0,$f10
/* f0cd4ac: 10200011 */ beqz $at,.L0f0cd4f4
/* f0cd4b0: c7aa00b4 */ lwc1 $f10,0xb4($sp)
.L0f0cd4b4:
/* f0cd4b4: 460a0182 */ mul.s $f6,$f0,$f10
/* f0cd4b8: 24420001 */ addiu $v0,$v0,0x1
/* f0cd4bc: 0043082a */ slt $at,$v0,$v1
/* f0cd4c0: 46160102 */ mul.s $f4,$f0,$f22
/* f0cd4c4: 4608a280 */ add.s $f10,$f20,$f8
/* f0cd4c8: 46120202 */ mul.s $f8,$f0,$f18
/* f0cd4cc: 46066180 */ add.s $f6,$f12,$f6
/* f0cd4d0: e7aa00b0 */ swc1 $f10,0xb0($sp)
/* f0cd4d4: c7aa00b0 */ lwc1 $f10,0xb0($sp)
/* f0cd4d8: 46102580 */ add.s $f22,$f4,$f16
/* f0cd4dc: e7a600b4 */ swc1 $f6,0xb4($sp)
/* f0cd4e0: 46081480 */ add.s $f18,$f2,$f8
/* f0cd4e4: 460a0202 */ mul.s $f8,$f0,$f10
/* f0cd4e8: c7aa00b4 */ lwc1 $f10,0xb4($sp)
/* f0cd4ec: 1420fff1 */ bnez $at,.L0f0cd4b4
/* f0cd4f0: 00000000 */ nop
.L0f0cd4f4:
/* f0cd4f4: 460a0182 */ mul.s $f6,$f0,$f10
/* f0cd4f8: 4608a280 */ add.s $f10,$f20,$f8
/* f0cd4fc: 46160102 */ mul.s $f4,$f0,$f22
/* f0cd500: e7aa00b0 */ swc1 $f10,0xb0($sp)
/* f0cd504: 46120202 */ mul.s $f8,$f0,$f18
/* f0cd508: 46066180 */ add.s $f6,$f12,$f6
/* f0cd50c: 46102580 */ add.s $f22,$f4,$f16
/* f0cd510: e7a600b4 */ swc1 $f6,0xb4($sp)
/* f0cd514: 46081480 */ add.s $f18,$f2,$f8
/* f0cd518: e7b200ac */ swc1 $f18,0xac($sp)
.L0f0cd51c:
/* f0cd51c: 3c017f1b */ lui $at,%hi(var7f1ad9a0)
/* f0cd520: c420d9a0 */ lwc1 $f0,%lo(var7f1ad9a0)($at)
/* f0cd524: c7b200ac */ lwc1 $f18,0xac($sp)
/* f0cd528: c7a400b0 */ lwc1 $f4,0xb0($sp)
/* f0cd52c: 4600b182 */ mul.s $f6,$f22,$f0
/* f0cd530: e7a600a8 */ swc1 $f6,0xa8($sp)
/* f0cd534: 46009202 */ mul.s $f8,$f18,$f0
/* f0cd538: c7a600b4 */ lwc1 $f6,0xb4($sp)
/* f0cd53c: 46002282 */ mul.s $f10,$f4,$f0
/* f0cd540: e7a8009c */ swc1 $f8,0x9c($sp)
/* f0cd544: 46003202 */ mul.s $f8,$f6,$f0
/* f0cd548: e7aa00a0 */ swc1 $f10,0xa0($sp)
/* f0cd54c: 1000000a */ b .L0f0cd578
/* f0cd550: e7a800a4 */ swc1 $f8,0xa4($sp)
.L0f0cd554:
/* f0cd554: c5041a20 */ lwc1 $f4,0x1a20($t0)
/* f0cd558: c7b600b8 */ lwc1 $f22,0xb8($sp)
/* f0cd55c: e7a400a8 */ swc1 $f4,0xa8($sp)
/* f0cd560: c50a1a2c */ lwc1 $f10,0x1a2c($t0)
/* f0cd564: e7aa009c */ swc1 $f10,0x9c($sp)
/* f0cd568: c5061a30 */ lwc1 $f6,0x1a30($t0)
/* f0cd56c: e7a600a0 */ swc1 $f6,0xa0($sp)
/* f0cd570: c5081a34 */ lwc1 $f8,0x1a34($t0)
/* f0cd574: e7a800a4 */ swc1 $f8,0xa4($sp)
.L0f0cd578:
/* f0cd578: 8fb800f0 */ lw $t8,0xf0($sp)
/* f0cd57c: 24010035 */ addiu $at,$zero,0x35
/* f0cd580: c7040000 */ lwc1 $f4,0x0($t8)
/* f0cd584: e7a4007c */ swc1 $f4,0x7c($sp)
/* f0cd588: c70a0004 */ lwc1 $f10,0x4($t8)
/* f0cd58c: e7aa0080 */ swc1 $f10,0x80($sp)
/* f0cd590: c7060008 */ lwc1 $f6,0x8($t8)
/* f0cd594: e7a60084 */ swc1 $f6,0x84($sp)
/* f0cd598: 90a20003 */ lbu $v0,0x3($a1)
/* f0cd59c: 54410006 */ bnel $v0,$at,.L0f0cd5b8
/* f0cd5a0: 24010033 */ addiu $at,$zero,0x33
/* f0cd5a4: 8d191b5c */ lw $t9,0x1b5c($t0)
/* f0cd5a8: 8f220004 */ lw $v0,0x4($t9)
/* f0cd5ac: 10000007 */ b .L0f0cd5cc
/* f0cd5b0: 2444005c */ addiu $a0,$v0,0x5c
/* f0cd5b4: 24010033 */ addiu $at,$zero,0x33
.L0f0cd5b8:
/* f0cd5b8: 14410004 */ bne $v0,$at,.L0f0cd5cc
/* f0cd5bc: 00000000 */ nop
/* f0cd5c0: 8d091b5c */ lw $t1,0x1b5c($t0)
/* f0cd5c4: 8d220004 */ lw $v0,0x4($t1)
/* f0cd5c8: 2444005c */ addiu $a0,$v0,0x5c
.L0f0cd5cc:
/* f0cd5cc: 10800026 */ beqz $a0,.L0f0cd668
/* f0cd5d0: 3c017f1b */ lui $at,%hi(var7f1ad9a4)
/* f0cd5d4: c420d9a4 */ lwc1 $f0,%lo(var7f1ad9a4)($at)
/* f0cd5d8: 3c017f1b */ lui $at,%hi(var7f1ad9a8)
/* f0cd5dc: c422d9a8 */ lwc1 $f2,%lo(var7f1ad9a8)($at)
/* f0cd5e0: c5080144 */ lwc1 $f8,0x144($t0)
/* f0cd5e4: 3c0143b4 */ lui $at,0x43b4
/* f0cd5e8: 44818000 */ mtc1 $at,$f16
/* f0cd5ec: 46024102 */ mul.s $f4,$f8,$f2
/* f0cd5f0: c7a8004c */ lwc1 $f8,0x4c($sp)
/* f0cd5f4: 3c017f1b */ lui $at,%hi(var7f1ad9ac)
/* f0cd5f8: 46102283 */ div.s $f10,$f4,$f16
/* f0cd5fc: 460a1181 */ sub.s $f6,$f2,$f10
/* f0cd600: c50a1a0c */ lwc1 $f10,0x1a0c($t0)
/* f0cd604: 46083100 */ add.s $f4,$f6,$f8
/* f0cd608: c4880010 */ lwc1 $f8,0x10($a0)
/* f0cd60c: 460a2180 */ add.s $f6,$f4,$f10
/* f0cd610: c7aa00a8 */ lwc1 $f10,0xa8($sp)
/* f0cd614: 46083101 */ sub.s $f4,$f6,$f8
/* f0cd618: 460a2380 */ add.s $f14,$f4,$f10
/* f0cd61c: 460e003e */ c.le.s $f0,$f14
/* f0cd620: 00000000 */ nop
/* f0cd624: 45000006 */ bc1f .L0f0cd640
/* f0cd628: 00000000 */ nop
/* f0cd62c: 46027381 */ sub.s $f14,$f14,$f2
.L0f0cd630:
/* f0cd630: 460e003e */ c.le.s $f0,$f14
/* f0cd634: 00000000 */ nop
/* f0cd638: 4503fffd */ bc1tl .L0f0cd630
/* f0cd63c: 46027381 */ sub.s $f14,$f14,$f2
.L0f0cd640:
/* f0cd640: c420d9ac */ lwc1 $f0,%lo(var7f1ad9ac)($at)
/* f0cd644: 4600703c */ c.lt.s $f14,$f0
/* f0cd648: 00000000 */ nop
/* f0cd64c: 45020007 */ bc1fl .L0f0cd66c
/* f0cd650: c7a600f4 */ lwc1 $f6,0xf4($sp)
/* f0cd654: 46027380 */ add.s $f14,$f14,$f2
.L0f0cd658:
/* f0cd658: 4600703c */ c.lt.s $f14,$f0
/* f0cd65c: 00000000 */ nop
/* f0cd660: 4503fffd */ bc1tl .L0f0cd658
/* f0cd664: 46027380 */ add.s $f14,$f14,$f2
.L0f0cd668:
/* f0cd668: c7a600f4 */ lwc1 $f6,0xf4($sp)
.L0f0cd66c:
/* f0cd66c: 3c017f1b */ lui $at,%hi(var7f1ad9b0)
/* f0cd670: c422d9b0 */ lwc1 $f2,%lo(var7f1ad9b0)($at)
/* f0cd674: 46143032 */ c.eq.s $f6,$f20
/* f0cd678: 3c0143b4 */ lui $at,0x43b4
/* f0cd67c: 44818000 */ mtc1 $at,$f16
/* f0cd680: 45020005 */ bc1fl .L0f0cd698
/* f0cd684: c5080144 */ lwc1 $f8,0x144($t0)
/* f0cd688: 8d0a1a1c */ lw $t2,0x1a1c($t0)
/* f0cd68c: 51400034 */ beqzl $t2,.L0f0cd760
/* f0cd690: 240d0001 */ addiu $t5,$zero,0x1
/* f0cd694: c5080144 */ lwc1 $f8,0x144($t0)
.L0f0cd698:
/* f0cd698: 46024102 */ mul.s $f4,$f8,$f2
/* f0cd69c: c7a800f4 */ lwc1 $f8,0xf4($sp)
/* f0cd6a0: 46102283 */ div.s $f10,$f4,$f16
/* f0cd6a4: 460a1181 */ sub.s $f6,$f2,$f10
/* f0cd6a8: 46083301 */ sub.s $f12,$f6,$f8
/* f0cd6ac: 460c103e */ c.le.s $f2,$f12
/* f0cd6b0: 00000000 */ nop
/* f0cd6b4: 45020004 */ bc1fl .L0f0cd6c8
/* f0cd6b8: 4614603c */ c.lt.s $f12,$f20
/* f0cd6bc: 10000006 */ b .L0f0cd6d8
/* f0cd6c0: 46026301 */ sub.s $f12,$f12,$f2
/* f0cd6c4: 4614603c */ c.lt.s $f12,$f20
.L0f0cd6c8:
/* f0cd6c8: 00000000 */ nop
/* f0cd6cc: 45020003 */ bc1fl .L0f0cd6dc
/* f0cd6d0: e7ac0074 */ swc1 $f12,0x74($sp)
/* f0cd6d4: 46026300 */ add.s $f12,$f12,$f2
.L0f0cd6d8:
/* f0cd6d8: e7ac0074 */ swc1 $f12,0x74($sp)
.L0f0cd6dc:
/* f0cd6dc: 0c0068f4 */ jal cosf
/* f0cd6e0: e7ae0078 */ swc1 $f14,0x78($sp)
/* f0cd6e4: c7ac0074 */ lwc1 $f12,0x74($sp)
/* f0cd6e8: 0c0068f7 */ jal sinf
/* f0cd6ec: e7a00070 */ swc1 $f0,0x70($sp)
/* f0cd6f0: 8e080284 */ lw $t0,0x284($s0)
/* f0cd6f4: c7a4009c */ lwc1 $f4,0x9c($sp)
/* f0cd6f8: c7a600a4 */ lwc1 $f6,0xa4($sp)
/* f0cd6fc: c50a1a10 */ lwc1 $f10,0x1a10($t0)
/* f0cd700: c5081a18 */ lwc1 $f8,0x1a18($t0)
/* f0cd704: 8d0b1b5c */ lw $t3,0x1b5c($t0)
/* f0cd708: 460a2300 */ add.s $f12,$f4,$f10
/* f0cd70c: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f0cd710: c7a400dc */ lwc1 $f4,0xdc($sp)
/* f0cd714: 46083480 */ add.s $f18,$f6,$f8
/* f0cd718: 460a6182 */ mul.s $f6,$f12,$f10
/* f0cd71c: c7ae0078 */ lwc1 $f14,0x78($sp)
/* f0cd720: 46062200 */ add.s $f8,$f4,$f6
/* f0cd724: 46009102 */ mul.s $f4,$f18,$f0
/* f0cd728: 46044180 */ add.s $f6,$f8,$f4
/* f0cd72c: c5680008 */ lwc1 $f8,0x8($t3)
/* f0cd730: 46083101 */ sub.s $f4,$f6,$f8
/* f0cd734: 460a9202 */ mul.s $f8,$f18,$f10
/* f0cd738: c7a600e4 */ lwc1 $f6,0xe4($sp)
/* f0cd73c: 46006282 */ mul.s $f10,$f12,$f0
/* f0cd740: e7a4007c */ swc1 $f4,0x7c($sp)
/* f0cd744: 8d0c1b5c */ lw $t4,0x1b5c($t0)
/* f0cd748: 46083100 */ add.s $f4,$f6,$f8
/* f0cd74c: c5880010 */ lwc1 $f8,0x10($t4)
/* f0cd750: 460a2181 */ sub.s $f6,$f4,$f10
/* f0cd754: 46083101 */ sub.s $f4,$f6,$f8
/* f0cd758: e7a40084 */ swc1 $f4,0x84($sp)
/* f0cd75c: 240d0001 */ addiu $t5,$zero,0x1
.L0f0cd760:
/* f0cd760: 3c018007 */ lui $at,%hi(var80070e80)
/* f0cd764: ac2d0e80 */ sw $t5,%lo(var80070e80)($at)
/* f0cd768: 8d0e1b5c */ lw $t6,0x1b5c($t0)
/* f0cd76c: c7a6007c */ lwc1 $f6,0x7c($sp)
/* f0cd770: 3c02800a */ lui $v0,%hi(var8009de78)
/* f0cd774: c5ca0008 */ lwc1 $f10,0x8($t6)
/* f0cd778: 2442de78 */ addiu $v0,$v0,%lo(var8009de78)
/* f0cd77c: 44067000 */ mfc1 $a2,$f14
/* f0cd780: 46065200 */ add.s $f8,$f10,$f6
/* f0cd784: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f0cd788: 27a5007c */ addiu $a1,$sp,0x7c
/* f0cd78c: 8fa700f8 */ lw $a3,0xf8($sp)
/* f0cd790: e4480000 */ swc1 $f8,0x0($v0)
/* f0cd794: 8d0f1b5c */ lw $t7,0x1b5c($t0)
/* f0cd798: c5e4000c */ lwc1 $f4,0xc($t7)
/* f0cd79c: 460a2180 */ add.s $f6,$f4,$f10
/* f0cd7a0: c7a40084 */ lwc1 $f4,0x84($sp)
/* f0cd7a4: e4460004 */ swc1 $f6,0x4($v0)
/* f0cd7a8: 8d181b5c */ lw $t8,0x1b5c($t0)
/* f0cd7ac: c7080010 */ lwc1 $f8,0x10($t8)
/* f0cd7b0: 46044280 */ add.s $f10,$f8,$f4
/* f0cd7b4: e44a0008 */ swc1 $f10,0x8($v0)
/* f0cd7b8: 8d191b5c */ lw $t9,0x1b5c($t0)
/* f0cd7bc: 0fc1c851 */ jal func0f072144
/* f0cd7c0: 8f240004 */ lw $a0,0x4($t9)
/* f0cd7c4: 24010001 */ addiu $at,$zero,0x1
/* f0cd7c8: afa200ec */ sw $v0,0xec($sp)
/* f0cd7cc: 10410006 */ beq $v0,$at,.L0f0cd7e8
/* f0cd7d0: e7b600b8 */ swc1 $f22,0xb8($sp)
/* f0cd7d4: 8e090284 */ lw $t1,0x284($s0)
/* f0cd7d8: 3c01800a */ lui $at,%hi(var8009de70)
/* f0cd7dc: 8d2a1b5c */ lw $t2,0x1b5c($t1)
/* f0cd7e0: e7b600b8 */ swc1 $f22,0xb8($sp)
/* f0cd7e4: ac2ade70 */ sw $t2,%lo(var8009de70)($at)
.L0f0cd7e8:
/* f0cd7e8: 8e0b0284 */ lw $t3,0x284($s0)
.L0f0cd7ec:
/* f0cd7ec: c7b600b8 */ lwc1 $f22,0xb8($sp)
/* f0cd7f0: 24050001 */ addiu $a1,$zero,0x1
/* f0cd7f4: 0fc1905e */ jal propSetCollisionsEnabled
/* f0cd7f8: 8d6400bc */ lw $a0,0xbc($t3)
/* f0cd7fc: 3c017f1b */ lui $at,%hi(var7f1ad9c4)
/* f0cd800: c422d9c4 */ lwc1 $f2,%lo(var7f1ad9c4)($at)
/* f0cd804: 8fac00ec */ lw $t4,0xec($sp)
/* f0cd808: 3c0143b4 */ lui $at,0x43b4
/* f0cd80c: 44818000 */ mtc1 $at,$f16
/* f0cd810: 24010001 */ addiu $at,$zero,0x1
/* f0cd814: 55810050 */ bnel $t4,$at,.L0f0cd958
/* f0cd818: 8fbf003c */ lw $ra,0x3c($sp)
/* f0cd81c: 8fad00f8 */ lw $t5,0xf8($sp)
/* f0cd820: 3c01800a */ lui $at,%hi(var8009de70)
/* f0cd824: ac20de70 */ sw $zero,%lo(var8009de70)($at)
/* f0cd828: 11a0004a */ beqz $t5,.L0f0cd954
/* f0cd82c: c7a800f4 */ lwc1 $f8,0xf4($sp)
/* f0cd830: 46104102 */ mul.s $f4,$f8,$f16
/* f0cd834: 8e080284 */ lw $t0,0x284($s0)
/* f0cd838: c5060144 */ lwc1 $f6,0x144($t0)
/* f0cd83c: 46022283 */ div.s $f10,$f4,$f2
/* f0cd840: 460a3000 */ add.s $f0,$f6,$f10
/* f0cd844: 4614003c */ c.lt.s $f0,$f20
/* f0cd848: 00000000 */ nop
/* f0cd84c: 45020007 */ bc1fl .L0f0cd86c
/* f0cd850: 4600803e */ c.le.s $f16,$f0
/* f0cd854: 46100000 */ add.s $f0,$f0,$f16
.L0f0cd858:
/* f0cd858: 4614003c */ c.lt.s $f0,$f20
/* f0cd85c: 00000000 */ nop
/* f0cd860: 4503fffd */ bc1tl .L0f0cd858
/* f0cd864: 46100000 */ add.s $f0,$f0,$f16
/* f0cd868: 4600803e */ c.le.s $f16,$f0
.L0f0cd86c:
/* f0cd86c: 00000000 */ nop
/* f0cd870: 45020007 */ bc1fl .L0f0cd890
/* f0cd874: e5000144 */ swc1 $f0,0x144($t0)
/* f0cd878: 46100001 */ sub.s $f0,$f0,$f16
.L0f0cd87c:
/* f0cd87c: 4600803e */ c.le.s $f16,$f0
/* f0cd880: 00000000 */ nop
/* f0cd884: 4503fffd */ bc1tl .L0f0cd87c
/* f0cd888: 46100001 */ sub.s $f0,$f0,$f16
/* f0cd88c: e5000144 */ swc1 $f0,0x144($t0)
.L0f0cd890:
/* f0cd890: 8e0e0284 */ lw $t6,0x284($s0)
/* f0cd894: c7a800dc */ lwc1 $f8,0xdc($sp)
/* f0cd898: 8dcf00bc */ lw $t7,0xbc($t6)
/* f0cd89c: e5e80008 */ swc1 $f8,0x8($t7)
/* f0cd8a0: 8e180284 */ lw $t8,0x284($s0)
/* f0cd8a4: c7a400e0 */ lwc1 $f4,0xe0($sp)
/* f0cd8a8: 8f1900bc */ lw $t9,0xbc($t8)
/* f0cd8ac: e724000c */ swc1 $f4,0xc($t9)
/* f0cd8b0: 8e090284 */ lw $t1,0x284($s0)
/* f0cd8b4: c7a600e4 */ lwc1 $f6,0xe4($sp)
/* f0cd8b8: 8d2a00bc */ lw $t2,0xbc($t1)
/* f0cd8bc: e5460010 */ swc1 $f6,0x10($t2)
/* f0cd8c0: 8fab00c8 */ lw $t3,0xc8($sp)
/* f0cd8c4: 5160000a */ beqzl $t3,.L0f0cd8f0
/* f0cd8c8: 8e080284 */ lw $t0,0x284($s0)
/* f0cd8cc: 8e0c0284 */ lw $t4,0x284($s0)
/* f0cd8d0: 0fc19711 */ jal func0f065c44
/* f0cd8d4: 8d8400bc */ lw $a0,0xbc($t4)
/* f0cd8d8: 8e0d0284 */ lw $t5,0x284($s0)
/* f0cd8dc: 27a400cc */ addiu $a0,$sp,0xcc
/* f0cd8e0: 8da500bc */ lw $a1,0xbc($t5)
/* f0cd8e4: 0fc195e9 */ jal roomsCopy
/* f0cd8e8: 24a50028 */ addiu $a1,$a1,0x28
/* f0cd8ec: 8e080284 */ lw $t0,0x284($s0)
.L0f0cd8f0:
/* f0cd8f0: c7aa00a8 */ lwc1 $f10,0xa8($sp)
/* f0cd8f4: 8d0e1a1c */ lw $t6,0x1a1c($t0)
/* f0cd8f8: 51c00017 */ beqzl $t6,.L0f0cd958
/* f0cd8fc: 8fbf003c */ lw $ra,0x3c($sp)
/* f0cd900: e50a1a20 */ swc1 $f10,0x1a20($t0)
/* f0cd904: 8e0f0284 */ lw $t7,0x284($s0)
/* f0cd908: c7a8009c */ lwc1 $f8,0x9c($sp)
/* f0cd90c: e5e81a2c */ swc1 $f8,0x1a2c($t7)
/* f0cd910: 8e180284 */ lw $t8,0x284($s0)
/* f0cd914: c7a400a0 */ lwc1 $f4,0xa0($sp)
/* f0cd918: e7041a30 */ swc1 $f4,0x1a30($t8)
/* f0cd91c: 8e190284 */ lw $t9,0x284($s0)
/* f0cd920: c7a600a4 */ lwc1 $f6,0xa4($sp)
/* f0cd924: e7261a34 */ swc1 $f6,0x1a34($t9)
/* f0cd928: 8e090284 */ lw $t1,0x284($s0)
/* f0cd92c: e5361a38 */ swc1 $f22,0x1a38($t1)
/* f0cd930: 8e0a0284 */ lw $t2,0x284($s0)
/* f0cd934: c7aa00ac */ lwc1 $f10,0xac($sp)
/* f0cd938: e54a1a3c */ swc1 $f10,0x1a3c($t2)
/* f0cd93c: 8e0b0284 */ lw $t3,0x284($s0)
/* f0cd940: c7a800b0 */ lwc1 $f8,0xb0($sp)
/* f0cd944: e5681a40 */ swc1 $f8,0x1a40($t3)
/* f0cd948: 8e0c0284 */ lw $t4,0x284($s0)
/* f0cd94c: c7a400b4 */ lwc1 $f4,0xb4($sp)
/* f0cd950: e5841a44 */ swc1 $f4,0x1a44($t4)
.L0f0cd954:
/* f0cd954: 8fbf003c */ lw $ra,0x3c($sp)
.L0f0cd958:
/* f0cd958: 8fa200ec */ lw $v0,0xec($sp)
/* f0cd95c: d7b40028 */ ldc1 $f20,0x28($sp)
/* f0cd960: d7b60030 */ ldc1 $f22,0x30($sp)
/* f0cd964: 8fb00038 */ lw $s0,0x38($sp)
/* f0cd968: 03e00008 */ jr $ra
/* f0cd96c: 27bd00f0 */ addiu $sp,$sp,0xf0
);
#else
GLOBAL_ASM(
glabel bgrabCalculateNewPosition
.late_rodata
@@ -1075,6 +1634,7 @@ glabel var7f1ad9c4
/* f0cd968: 03e00008 */ jr $ra
/* f0cd96c: 27bd00f0 */ addiu $sp,$sp,0xf0
);
#endif
bool bgrabCalculateNewPositiontWithPush(struct coord *delta, f32 angle, bool arg2)
{
@@ -1513,7 +2073,7 @@ void bgrabUpdateVertical(void)
f0 = f14 - g_Vars.currentplayer->vv_ground;
g_Vars.currentplayer->vv_ground += f0;
g_Vars.currentplayer->vv_manground += f0;
g_Vars.currentplayer->sumground = g_Vars.currentplayer->vv_manground / 0.045499980449677f;
g_Vars.currentplayer->sumground = g_Vars.currentplayer->vv_manground / (PAL ? 0.054400026798248f : 0.045499980449677f);
}
}
} else {
@@ -1531,10 +2091,10 @@ void bgrabUpdateVertical(void)
g_Vars.currentplayer->vv_height =
(g_Vars.currentplayer->headpos.y / g_Vars.currentplayer->standheight) *
g_Vars.currentplayer->vv_eyeheight;
fVar3 = g_Vars.currentplayer->vv_manground / 0.045499980449677f;
fVar3 = g_Vars.currentplayer->vv_manground / (PAL ? 0.054400026798248f : 0.045499980449677f);
for (i = 0; i < g_Vars.lvupdate240; i++) {
fVar3 = 0.9545f * fVar3 + g_Vars.currentplayer->vv_ground;
fVar3 = (PAL ? 0.94559997320175f : 0.9545f) * fVar3 + g_Vars.currentplayer->vv_ground;
}
f0 = g_Vars.currentplayer->vv_height;
@@ -1543,7 +2103,7 @@ void bgrabUpdateVertical(void)
f0 = 30;
}
tmp = fVar3 * 0.045499980449677f + f0 - g_Vars.currentplayer->prop->pos.y;
tmp = fVar3 * (PAL ? 0.054400026798248f : 0.045499980449677f) + f0 - g_Vars.currentplayer->prop->pos.y;
if (g_Vars.currentplayer->prop->pos.y + tmp < g_Vars.currentplayer->vv_ground + 10.0f) {
tmp = g_Vars.currentplayer->vv_ground + 10.0f - g_Vars.currentplayer->prop->pos.y;
@@ -1551,7 +2111,7 @@ void bgrabUpdateVertical(void)
if (bgrabTryMoveUpwards(tmp)) {
g_Vars.currentplayer->sumground = fVar3;
g_Vars.currentplayer->vv_manground = fVar3 * 0.045499980449677f;
g_Vars.currentplayer->vv_manground = fVar3 * (PAL ? 0.054400026798248f : 0.045499980449677f);
}
if ((g_Vars.currentplayer->floorflags & TILEFLAG_DIE) &&
@@ -1669,7 +2229,7 @@ void bgrabApplyMoveData(struct movedata *data)
void bgrabUpdateSpeedTheta(void)
{
f32 mult = 0.98470002412796f;
f32 mult = (PAL ? 0.97519999742508f : 0.98470002412796f);
f32 speedtheta = g_Vars.currentplayer->speedtheta * 0.75f;
s32 i;
@@ -1677,7 +2237,7 @@ void bgrabUpdateSpeedTheta(void)
g_Vars.currentplayer->unk1b60 = g_Vars.currentplayer->unk1b60 * mult + speedtheta;
}
g_Vars.currentplayer->speedtheta = g_Vars.currentplayer->unk1b60 * 0.01529997587204f;
g_Vars.currentplayer->speedtheta = g_Vars.currentplayer->unk1b60 * (PAL ? 0.024800002574921f : 0.01529997587204f);
}
u32 var80070ea8 = 0x00000000;
+11 -11
View File
@@ -49,21 +49,21 @@ void bheadUpdatePos(struct coord *vel)
if (g_Vars.currentplayer->resetheadpos) {
g_Vars.currentplayer->headpossum.x = 0;
g_Vars.currentplayer->headpossum.y = vel->y / 0.018000006f;
g_Vars.currentplayer->headpossum.y = vel->y / (PAL ? 0.021499991416931f : 0.018000006f);
g_Vars.currentplayer->headpossum.z = 0;
g_Vars.currentplayer->resetheadpos = false;
}
for (i = 0; i < g_Vars.lvupdate240; i++) {
g_Vars.currentplayer->headpossum.x = vel->x + 0.982f * g_Vars.currentplayer->headpossum.x;
g_Vars.currentplayer->headpossum.y = vel->y + 0.982f * g_Vars.currentplayer->headpossum.y;
g_Vars.currentplayer->headpossum.z = vel->z + 0.982f * g_Vars.currentplayer->headpossum.z;
g_Vars.currentplayer->headpossum.x = vel->x + (PAL ? 0.9785f : 0.982f) * g_Vars.currentplayer->headpossum.x;
g_Vars.currentplayer->headpossum.y = vel->y + (PAL ? 0.9785f : 0.982f) * g_Vars.currentplayer->headpossum.y;
g_Vars.currentplayer->headpossum.z = vel->z + (PAL ? 0.9785f : 0.982f) * g_Vars.currentplayer->headpossum.z;
}
g_Vars.currentplayer->headpos.x = g_Vars.currentplayer->headpossum.x * 0.018000006f;
g_Vars.currentplayer->headpos.y = g_Vars.currentplayer->headpossum.y * 0.018000006f;
g_Vars.currentplayer->headpos.z = g_Vars.currentplayer->headpossum.z * 0.018000006f;
g_Vars.currentplayer->headpos.x = g_Vars.currentplayer->headpossum.x * (PAL ? 0.021499991416931f : 0.018000006f);
g_Vars.currentplayer->headpos.y = g_Vars.currentplayer->headpossum.y * (PAL ? 0.021499991416931f : 0.018000006f);
g_Vars.currentplayer->headpos.z = g_Vars.currentplayer->headpossum.z * (PAL ? 0.021499991416931f : 0.018000006f);
}
void bheadUpdateRot(struct coord *lookvel, struct coord *upvel)
@@ -199,9 +199,9 @@ void bheadUpdate(f32 arg0, f32 arg1)
g_Vars.currentplayer->headwalkingtime60 += g_Vars.lvupdate240_60;
if (g_Vars.currentplayer->headwalkingtime60 > 60) {
bheadSetdamp(0.982f);
bheadSetdamp(PAL ? 0.9785f : 0.982f);
} else {
bheadSetdamp(0.99748998880386f);
bheadSetdamp(PAL ? 0.99699f : 0.99748998880386f);
}
} else {
lookvel.x = g_Vars.currentplayer->unk0510.m[2][0];
@@ -212,7 +212,7 @@ void bheadUpdate(f32 arg0, f32 arg1)
upvel.y = g_Vars.currentplayer->unk0510.m[1][1];
upvel.z = g_Vars.currentplayer->unk0510.m[1][2];
bheadSetdamp(0.96f);
bheadSetdamp(PAL ? 0.952f : 0.96f);
}
} else {
g_Vars.currentplayer->headbodyoffset.x = g_Vars.currentplayer->standbodyoffset.x;
@@ -224,7 +224,7 @@ void bheadUpdate(f32 arg0, f32 arg1)
headpos.z = 0;
g_Vars.currentplayer->headwalkingtime60 = 0;
bheadSetdamp(0.99748998880386f);
bheadSetdamp(PAL ? 0.99699f : 0.99748998880386f);
if (bmoveGetCrouchPos() != CROUCHPOS_SQUAT) {
g_Vars.currentplayer->standfrac +=
+3154 -1
View File
File diff suppressed because it is too large Load Diff
+21 -1
View File
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include "constants.h"
#include "game/dlights.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/atan2f.h"
#include "game/game_0d4690.h"
#include "game/game_11f000.h"
@@ -712,6 +712,14 @@ f32 bview0f142d74(s32 arg0, f32 arg1, f32 arg2, f32 arg3)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel bviewRenderFisheye
.late_rodata
glabel var7f1b5f40
.word 0x3f83d70a
glabel var7f1b5f44
.word 0x3bcccccd
glabel var7f1b5f48
.word 0x3c23d70a
.text
/* f143970: 27bdfec8 */ addiu $sp,$sp,-312
/* f143974: afbf0064 */ sw $ra,0x64($sp)
/* f143978: afbe0060 */ sw $s8,0x60($sp)
@@ -2027,6 +2035,18 @@ const char var7f1b5e4c[] = "%s";
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel bviewRenderEyespyDecorations
.late_rodata
glabel var7f1b726cpf
.word 0x3fb33333
glabel var7f1b5f4c
.word 0x3a83126f
glabel var7f1b5f50
.word 0x3f19999a
glabel var7f1b5f54
.word 0x3c23d70a
glabel var7f1b5f58
.word 0x3bcccccd
.text
/* f14454c: 27bdfbf0 */ addiu $sp,$sp,-1040
/* f144550: afbf0054 */ sw $ra,0x54($sp)
/* f144554: afb40048 */ sw $s4,0x48($sp)
+58 -10
View File
@@ -5,7 +5,7 @@
#include "game/cheats.h"
#include "game/chr/chraction.h"
#include "game/debug.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/chr/chr.h"
#include "game/prop.h"
#include "game/game_092610.h"
@@ -1116,7 +1116,7 @@ void bwalkUpdateVertical(void)
|| bwalkTryMoveUpwards(moveamount) == CDRESULT_NOCOLLISION) {
// Going up
g_Vars.currentplayer->vv_manground += moveamount;
g_Vars.currentplayer->sumground = g_Vars.currentplayer->vv_manground / 0.045499980449677f;
g_Vars.currentplayer->sumground = g_Vars.currentplayer->vv_manground / (PAL ? 0.054400026798248f : 0.045499980449677f);
}
}
}
@@ -1166,16 +1166,16 @@ void bwalkUpdateVertical(void)
// In other words, not falling
if (g_Vars.currentplayer->bdeltapos.y >= 0.0f
|| g_Vars.currentplayer->vv_ground > g_Vars.currentplayer->vv_manground) {
g_Vars.currentplayer->sumground = g_Vars.currentplayer->vv_manground / 0.045499980449677f;
g_Vars.currentplayer->sumground = g_Vars.currentplayer->vv_manground / (PAL ? 0.054400026798248f : 0.045499980449677f);
for (i = 0; i < g_Vars.lvupdate240; i++) {
g_Vars.currentplayer->sumground =
g_Vars.currentplayer->sumground * 0.9545f + g_Vars.currentplayer->vv_ground;
g_Vars.currentplayer->sumground * (PAL ? 0.94559997320175f : 0.9545f) + g_Vars.currentplayer->vv_ground;
}
if (g_Vars.currentplayer->vv_manground < g_Vars.currentplayer->vv_ground) {
// Feet are lower than the ground
sumground = g_Vars.currentplayer->sumground * 0.045499980449677f;
sumground = g_Vars.currentplayer->sumground * (PAL ? 0.054400026798248f : 0.045499980449677f);
limit = g_Vars.currentplayer->vv_ground - 50;
if (sumground < limit) {
@@ -1369,11 +1369,11 @@ void bwalkUpdateVertical(void)
for (i = 0; i < g_Vars.lvupdate240; i++) {
if (g_Vars.currentplayer->crouchtime240 > 0) {
g_Vars.currentplayer->sumcrouch =
g_Vars.currentplayer->sumcrouch * 0.9456f + g_Vars.currentplayer->crouchfall;
g_Vars.currentplayer->sumcrouch * (PAL ? 0.93540000915527f : 0.9456f) + g_Vars.currentplayer->crouchfall;
g_Vars.currentplayer->crouchtime240--;
} else {
if (g_Vars.currentplayer->crouchfall < 0) {
g_Vars.currentplayer->crouchfall -= -1.125f;
g_Vars.currentplayer->crouchfall -= (PAL ? -1.3636363744736f : -1.125f);
if (g_Vars.currentplayer->crouchfall >= 0) {
g_Vars.currentplayer->crouchfall = 0;
@@ -1381,13 +1381,13 @@ void bwalkUpdateVertical(void)
}
g_Vars.currentplayer->sumcrouch =
g_Vars.currentplayer->sumcrouch * 0.9456f + g_Vars.currentplayer->crouchfall;
g_Vars.currentplayer->sumcrouch * (PAL ? 0.93540000915527f : 0.9456f) + g_Vars.currentplayer->crouchfall;
}
}
{
f32 eyeheight;
g_Vars.currentplayer->crouchheight = g_Vars.currentplayer->sumcrouch * 0.054400026798248f;
g_Vars.currentplayer->crouchheight = g_Vars.currentplayer->sumcrouch * (PAL ? 0.064599990844727f : 0.054400026798248f);
g_Vars.currentplayer->vv_height =
(g_Vars.currentplayer->headpos.y / g_Vars.currentplayer->standheight)
* g_Vars.currentplayer->vv_eyeheight;
@@ -1472,7 +1472,7 @@ void bwalkUpdateCrouchOffset(void)
// f32 *frac, f32 maxfrac, f32 *fracspeed, f32 accel, f32 decel, f32 maxspeed
func0f06d90c(&g_Vars.currentplayer->crouchoffset, targetoffset,
&g_Vars.currentplayer->crouchspeed, 0.5, 0.5, 5);
&g_Vars.currentplayer->crouchspeed, FRAMESTOTIME60(0.5f), FRAMESTOTIME60(0.5f), FRAMESTOTIME60(5.0f));
bwalkUpdateCrouchOffsetReal();
@@ -1670,6 +1670,54 @@ void bwalkUpdateSpeedTheta(void)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel bwalk0f0c69b8
.late_rodata
glabel var7f1ad7fc
.word 0xc27e6668
glabel var7f1ad800
.word 0x43b0aaaa
glabel var7f1ad804
.word 0x3ecccccd
glabel var7f1ad808
.word 0x3c888889
glabel var7f1ad80c
.word 0x404907a9
glabel var7f1ad810
.word 0x3eb33333
glabel var7f1ad814
.word 0x3eb33333
glabel var7f1ad818
.word 0x4099999a
glabel var7f1ad81c
.word 0x3df5c290
glabel var7f1ad820
.word 0x3eb33333
glabel var7f1ad824
.word 0x3f4ccccd
glabel var7f1ad828
.word 0x3dcccccd
glabel var7f1ad82c
.word 0x3f4ccccd
glabel var7f1ad830
.word 0x4528c000
glabel var7f1ad834
.word 0x3ecccccd
glabel var7f1ad838
.word 0x3ecccccd
glabel var7f1ad83c
.word 0x3e99999a
glabel var7f1ad840
.word 0x3f8ccccd
glabel var7f1ad844
.word 0x3e99999a
glabel var7f1ad848
.word 0x3e99999a
glabel var7f1ad84c
.word 0x3f333333
glabel var7f1ad850
.word 0x3f99999a
glabel var7f1ad854
.word 0x3c8ef461
.text
/* f0c6f60: 27bdff18 */ addiu $sp,$sp,-232
/* f0c6f64: 3c0f8007 */ lui $t7,0x8007
/* f0c6f68: afbf0024 */ sw $ra,0x24($sp)
+6
View File
@@ -508,6 +508,12 @@ s32 cheatMenuHandleDialog(s32 operation, struct menudialog *dialog, union handle
}
#if VERSION >= VERSION_PAL_FINAL
const char var7f1b41a0pf[] = "%s: %s";
const char var7f1b41a8pf[] = "%s: %s\n";
const char var7f1b41b0pf[] = "%s %s: %s %s %s";
const char var7f1b41c0pf[] = "%s %s: %s %s %s %s %d:%02d %s %s";
const char var7f1b41e0pf[] = "\n";
GLOBAL_ASM(
glabel cheatGetMarquee
/* f108368: 3c0e8007 */ lui $t6,0x8007
+3756 -80
View File
File diff suppressed because it is too large Load Diff
+3403 -11
View File
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -7227,6 +7227,10 @@ s16 g_MaianQuipBank[][4] = {
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel aiSayQuip
.late_rodata
glabel var7f1a9d64
.word 0x45dac000
.text
/* f05a454: 27bdff58 */ addiu $sp,$sp,-168
/* f05a458: afb00048 */ sw $s0,0x48($sp)
/* f05a45c: 3c10800a */ lui $s0,0x800a
@@ -7885,11 +7889,11 @@ glabel aiSayQuip
);
#else
GLOBAL_ASM(
glabel aiSayQuip
.late_rodata
glabel var7f1a9d64
.word 0x45dac000
.text
glabel aiSayQuip
/* f05a258: 27bdff58 */ addiu $sp,$sp,-168
/* f05a25c: afb00048 */ sw $s0,0x48($sp)
/* f05a260: 3c10800a */ lui $s0,%hi(g_Vars)
+21 -1
View File
@@ -8,7 +8,7 @@
#include "game/chr/chraction.h"
#include "game/debug.h"
#include "game/dlights.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/nbomb.h"
#include "game/game_00b480.h"
#include "game/game_00b820.h"
@@ -875,6 +875,22 @@ void coreFindThreats(void)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel coreRender
.late_rodata
glabel var7f1b8e64pf
.word 0x3f866666
glabel var7f1b8e68pf
.word 0x3cbd0bd1
glabel var7f1b8e6cpf
.word 0x3f8ccccd
glabel var7f1b8e70pf
.word 0x3bfc0fc1
glabel var7f1b8e74pf
.word 0x3cbd0bd1
glabel var7f1b8e78pf
.word 0x3f8ccccd
glabel var7f1b8e7cpf
.word 0x3bfc0fc1
.text
/* f16a2f8: 27bdfe90 */ addiu $sp,$sp,-368
/* f16a2fc: afbf0054 */ sw $ra,0x54($sp)
/* f16a300: afb3003c */ sw $s3,0x3c($sp)
@@ -3776,6 +3792,10 @@ glabel coreGetSlowMotionType
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel coreTick
.late_rodata
glabel var7f1b8ed0pf
.word 0x3f99999a
.text
/* f16c718: 27bdfd70 */ addiu $sp,$sp,-656
/* f16c71c: afbf0044 */ sw $ra,0x44($sp)
/* f16c720: afb50040 */ sw $s5,0x40($sp)
+415 -2
View File
@@ -1,6 +1,6 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/title.h"
#include "game/game_0b3350.h"
#include "game/game_0b69d0.h"
@@ -132,7 +132,7 @@ struct creditthing var8007f13c[] = {
void func0f137874(struct gfxvtx *vertices, u32 *colours, s32 arg2, s32 alpha, s32 arg4)
{
#if VERSION >= VERSION_PAL_FINAL
s32 iVar1 = (s32)(var8007f13c[arg2].unk00 * var800a416c * (1.0f / 3.0f) + arg4) % 180;
s32 iVar1 = (s32)(var8007f13c[arg2].unk00 * var800a416c / (10.0f / 3.0f) + arg4) % 180;
#else
s32 iVar1 = (s32)(var8007f13c[arg2].unk00 * var800a416c * 0.25f + arg4) % 180;
#endif
@@ -2497,6 +2497,106 @@ u32 var8007f6d4 = 0x00000000;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f13a3ec
.late_rodata
glabel var7f1b6b90pf
.word 0x7f13b0b4
glabel var7f1b6b94pf
.word 0x7f13b0b4
glabel var7f1b6b98pf
.word 0x7f13b0b4
glabel var7f1b6b9cpf
.word 0x7f13b0d0
glabel var7f1b6ba0pf
.word 0x7f13b0ec
glabel var7f1b6ba4pf
.word 0x7f13b0d0
glabel var7f1b6ba8pf
.word 0x7f13b0b4
glabel var7f1b6bacpf
.word 0x7f13b0b4
glabel var7f1b6bb0pf
.word 0x7f13b0d0
glabel var7f1b6bb4pf
.word 0x7f13b0b4
glabel var7f1b6bb8pf
.word 0x7f13b0d0
glabel var7f1b6bbcpf
.word 0x7f13b0d0
glabel var7f1b6bc0pf
.word 0x7f13b224
glabel var7f1b6bc4pf
.word 0x7f13b224
glabel var7f1b6bc8pf
.word 0x7f13b224
glabel var7f1b6bccpf
.word 0x7f13b224
glabel var7f1b6bd0pf
.word 0x7f13b224
glabel var7f1b6bd4pf
.word 0x7f13b224
glabel var7f1b6bd8pf
.word 0x7f13b25c
glabel var7f1b6bdcpf
.word 0x7f13b248
glabel var7f1b6be0pf
.word 0x7f13b248
glabel var7f1b6be4pf
.word 0x7f13b224
glabel var7f1b6be8pf
.word 0x7f13b25c
glabel var7f1b6becpf
.word 0x7f13b224
glabel var7f1b6bf0pf
.word 0x7f13b29c
glabel var7f1b6bf4pf
.word 0x7f13b2b8
glabel var7f1b6bf8pf
.word 0x7f13b2b8
glabel var7f1b6bfcpf
.word 0x7f13b2b8
glabel var7f1b6c00pf
.word 0x7f13b2b8
glabel var7f1b6c04pf
.word 0x7f13b2b8
glabel var7f1b6c08pf
.word 0x7f13b2f0
glabel var7f1b6c0cpf
.word 0x7f13b2dc
glabel var7f1b6c10pf
.word 0x7f13b2dc
glabel var7f1b6c14pf
.word 0x7f13b2b8
glabel var7f1b6c18pf
.word 0x7f13b2dc
glabel var7f1b6c1cpf
.word 0x7f13b2b8
glabel var7f1b6c20pf
.word 0x3e116873
glabel var7f1b6c24pf
.word 0x3e116873
glabel var7f1b6c28pf
.word 0x7f13b80c
glabel var7f1b6c2cpf
.word 0x7f13b810
glabel var7f1b6c30pf
.word 0x7f13b810
glabel var7f1b6c34pf
.word 0x7f13b810
glabel var7f1b6c38pf
.word 0x7f13b810
glabel var7f1b6c3cpf
.word 0x7f13b7fc
glabel var7f1b6c40pf
.word 0x7f13b804
glabel var7f1b6c44pf
.word 0x7f13b804
glabel var7f1b6c48pf
.word 0x7f13b810
glabel var7f1b6c4cpf
.word 0x7f13b804
glabel var7f1b6c50pf
.word 0x3d4ccccd
.text
/* f13af6c: 27bdfe28 */ addiu $sp,$sp,-472
/* f13af70: 3c0f800a */ lui $t7,0x800a
/* f13af74: 8def4710 */ lw $t7,0x4710($t7)
@@ -4056,6 +4156,318 @@ void creditsTick(void)
u32 var8007f6dc = 0;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel creditsRender
.late_rodata
glabel var7f1b5934
.word 0xbe86051b
glabel var8f1b6c5c
.word 0x463b8000
glabel var7f1b5938
.word 0x4516d000
glabel var7f1b593c
.word 0x44504000
glabel var7f1b5940
.word 0x4283b852
glabel var7f1b5944
.word 0xc5002000
glabel var7f1b5948
.word 0x3fbbc6a8
.text
/* f13bbc8: 27bdff58 */ addiu $sp,$sp,-168
/* f13bbcc: afbf001c */ sw $ra,0x1c($sp)
/* f13bbd0: afb00018 */ sw $s0,0x18($sp)
/* f13bbd4: 0fc5a246 */ jal 0xf168918
/* f13bbd8: 00808025 */ move $s0,$a0
/* f13bbdc: afa20064 */ sw $v0,0x64($sp)
/* f13bbe0: 0fc54fa3 */ jal 0xf153e8c
/* f13bbe4: 00002025 */ move $a0,$zero
/* f13bbe8: 240e0001 */ li $t6,0x1
/* f13bbec: 3c018008 */ lui $at,0x8008
/* f13bbf0: ac2e0020 */ sw $t6,0x20($at)
/* f13bbf4: 0c002bf1 */ jal 0xafc4
/* f13bbf8: 02002025 */ move $a0,$s0
/* f13bbfc: 0c002bc5 */ jal 0xaf14
/* f13bc00: 00402025 */ move $a0,$v0
/* f13bc04: 00402025 */ move $a0,$v0
/* f13bc08: 0fc4e40d */ jal 0xf139034
/* f13bc0c: 240500ff */ li $a1,0xff
/* f13bc10: 3c0fed00 */ lui $t7,0xed00
/* f13bc14: 35ef0078 */ ori $t7,$t7,0x78
/* f13bc18: afa20048 */ sw $v0,0x48($sp)
/* f13bc1c: ac4f0000 */ sw $t7,0x0($v0)
/* f13bc20: 0c002e53 */ jal 0xb94c
/* f13bc24: 24500008 */ addiu $s0,$v0,0x8
/* f13bc28: 0c002e57 */ jal 0xb95c
/* f13bc2c: a7a20036 */ sh $v0,0x36($sp)
/* f13bc30: 2458ffe2 */ addiu $t8,$v0,-30
/* f13bc34: 44982000 */ mtc1 $t8,$f4
/* f13bc38: 87aa0036 */ lh $t2,0x36($sp)
/* f13bc3c: 3c014080 */ lui $at,0x4080
/* f13bc40: 468021a0 */ cvt.s.w $f6,$f4
/* f13bc44: 448a8000 */ mtc1 $t2,$f16
/* f13bc48: 44810000 */ mtc1 $at,$f0
/* f13bc4c: 8fb80048 */ lw $t8,0x48($sp)
/* f13bc50: 468084a0 */ cvt.s.w $f18,$f16
/* f13bc54: 46003202 */ mul.s $f8,$f6,$f0
/* f13bc58: 00000000 */ nop
/* f13bc5c: 46009102 */ mul.s $f4,$f18,$f0
/* f13bc60: 4600428d */ trunc.w.s $f10,$f8
/* f13bc64: 4600218d */ trunc.w.s $f6,$f4
/* f13bc68: 44085000 */ mfc1 $t0,$f10
/* f13bc6c: 440c3000 */ mfc1 $t4,$f6
/* f13bc70: 31090fff */ andi $t1,$t0,0xfff
/* f13bc74: 318d0fff */ andi $t5,$t4,0xfff
/* f13bc78: 000d7300 */ sll $t6,$t5,0xc
/* f13bc7c: 012e7825 */ or $t7,$t1,$t6
/* f13bc80: 0fc4ee5c */ jal 0xf13b970
/* f13bc84: af0f0004 */ sw $t7,0x4($t8)
/* f13bc88: 3c07800a */ lui $a3,0x800a
/* f13bc8c: 24e74710 */ addiu $a3,$a3,0x4710
/* f13bc90: 8ce30000 */ lw $v1,0x0($a3)
/* f13bc94: 906441f4 */ lbu $a0,0x41f4($v1)
/* f13bc98: 14800007 */ bnez $a0,.PF0f13bcb8
/* f13bc9c: 00000000 */ nop
/* f13bca0: 8c624204 */ lw $v0,0x4204($v1)
/* f13bca4: 2c410032 */ sltiu $at,$v0,0x32
/* f13bca8: 14200003 */ bnez $at,.PF0f13bcb8
/* f13bcac: 2c4103e9 */ sltiu $at,$v0,0x3e9
/* f13bcb0: 142000bd */ bnez $at,.PF0f13bfa8
/* f13bcb4: 00000000 */ nop
.PF0f13bcb8:
/* f13bcb8: 14800066 */ bnez $a0,.PF0f13be54
/* f13bcbc: 00000000 */ nop
/* f13bcc0: 8c794204 */ lw $t9,0x4204($v1)
/* f13bcc4: 3c058008 */ lui $a1,0x8008
/* f13bcc8: 24a5f600 */ addiu $a1,$a1,-2560
/* f13bccc: 2f2103e9 */ sltiu $at,$t9,0x3e9
/* f13bcd0: 14200060 */ bnez $at,.PF0f13be54
/* f13bcd4: 00000000 */ nop
/* f13bcd8: 8ca80000 */ lw $t0,0x0($a1)
/* f13bcdc: 240a0001 */ li $t2,0x1
/* f13bce0: 24642ef0 */ addiu $a0,$v1,0x2ef0
/* f13bce4: 15000007 */ bnez $t0,.PF0f13bd04
/* f13bce8: 3c018008 */ lui $at,0x8008
/* f13bcec: acaa0000 */ sw $t2,0x0($a1)
/* f13bcf0: 0fc3cfbe */ jal 0xf0f3ef8
/* f13bcf4: ac20fc3c */ sw $zero,-0x3c4($at)
/* f13bcf8: 3c07800a */ lui $a3,0x800a
/* f13bcfc: 24e74710 */ addiu $a3,$a3,0x4710
/* f13bd00: 8ce30000 */ lw $v1,0x0($a3)
.PF0f13bd04:
/* f13bd04: 3c028008 */ lui $v0,0x8008
/* f13bd08: 3c0b800a */ lui $t3,0x800a
/* f13bd0c: 8c42fc3c */ lw $v0,-0x3c4($v0)
/* f13bd10: 8d6ba550 */ lw $t3,-0x5ab0($t3)
/* f13bd14: 44800000 */ mtc1 $zero,$f0
/* f13bd18: 004b1021 */ addu $v0,$v0,$t3
/* f13bd1c: 2c412ee1 */ sltiu $at,$v0,0x2ee1
/* f13bd20: 54200003 */ bnezl $at,.PF0f13bd30
/* f13bd24: e460343c */ swc1 $f0,0x343c($v1)
/* f13bd28: 00001025 */ move $v0,$zero
/* f13bd2c: e460343c */ swc1 $f0,0x343c($v1)
.PF0f13bd30:
/* f13bd30: 8cec0000 */ lw $t4,0x0($a3)
/* f13bd34: 3c017f1b */ lui $at,0x7f1b
/* f13bd38: 44829000 */ mtc1 $v0,$f18
/* f13bd3c: e5803414 */ swc1 $f0,0x3414($t4)
/* f13bd40: 8ced0000 */ lw $t5,0x0($a3)
/* f13bd44: c4286c58 */ lwc1 $f8,0x6c58($at)
/* f13bd48: 3c014f80 */ lui $at,0x4f80
/* f13bd4c: 46809120 */ cvt.s.w $f4,$f18
/* f13bd50: e5a83438 */ swc1 $f8,0x3438($t5)
/* f13bd54: 8ce30000 */ lw $v1,0x0($a3)
/* f13bd58: c46a3438 */ lwc1 $f10,0x3438($v1)
/* f13bd5c: e46a3410 */ swc1 $f10,0x3410($v1)
/* f13bd60: 8ce90000 */ lw $t1,0x0($a3)
/* f13bd64: e5203440 */ swc1 $f0,0x3440($t1)
/* f13bd68: 8ce30000 */ lw $v1,0x0($a3)
/* f13bd6c: c4703440 */ lwc1 $f16,0x3440($v1)
/* f13bd70: 04410004 */ bgez $v0,.PF0f13bd84
/* f13bd74: e4703418 */ swc1 $f16,0x3418($v1)
/* f13bd78: 44813000 */ mtc1 $at,$f6
/* f13bd7c: 00000000 */ nop
/* f13bd80: 46062100 */ add.s $f4,$f4,$f6
.PF0f13bd84:
/* f13bd84: 3c017f1b */ lui $at,0x7f1b
/* f13bd88: c4286c5c */ lwc1 $f8,0x6c5c($at)
/* f13bd8c: 3c017f1b */ lui $at,0x7f1b
/* f13bd90: c4306c60 */ lwc1 $f16,0x6c60($at)
/* f13bd94: 46082283 */ div.s $f10,$f4,$f8
/* f13bd98: 3c017f1b */ lui $at,0x7f1b
/* f13bd9c: c4266c64 */ lwc1 $f6,0x6c64($at)
/* f13bda0: 8cee0000 */ lw $t6,0x0($a3)
/* f13bda4: 3c017f1b */ lui $at,0x7f1b
/* f13bda8: 240804b0 */ li $t0,0x4b0
/* f13bdac: 02002025 */ move $a0,$s0
/* f13bdb0: 24060004 */ li $a2,0x4
/* f13bdb4: 46105482 */ mul.s $f18,$f10,$f16
/* f13bdb8: 46123101 */ sub.s $f4,$f6,$f18
/* f13bdbc: e5c43428 */ swc1 $f4,0x3428($t6)
/* f13bdc0: 8cef0000 */ lw $t7,0x0($a3)
/* f13bdc4: c4286c68 */ lwc1 $f8,0x6c68($at)
/* f13bdc8: 3c017f1b */ lui $at,0x7f1b
/* f13bdcc: e5e8342c */ swc1 $f8,0x342c($t7)
/* f13bdd0: 8cf80000 */ lw $t8,0x0($a3)
/* f13bdd4: c42a6c6c */ lwc1 $f10,0x6c6c($at)
/* f13bdd8: 3c017f1b */ lui $at,0x7f1b
/* f13bddc: e70a3430 */ swc1 $f10,0x3430($t8)
/* f13bde0: 8cf90000 */ lw $t9,0x0($a3)
/* f13bde4: c4306c70 */ lwc1 $f16,0x6c70($at)
/* f13bde8: 3c018008 */ lui $at,0x8008
/* f13bdec: e7303434 */ swc1 $f16,0x3434($t9)
/* f13bdf0: 8cea0000 */ lw $t2,0x0($a3)
/* f13bdf4: ad482efc */ sw $t0,0x2efc($t2)
/* f13bdf8: 8ce30000 */ lw $v1,0x0($a3)
/* f13bdfc: 906c34a1 */ lbu $t4,0x34a1($v1)
/* f13be00: 358d0002 */ ori $t5,$t4,0x2
/* f13be04: a06d34a1 */ sb $t5,0x34a1($v1)
/* f13be08: 8ce90000 */ lw $t1,0x0($a3)
/* f13be0c: ad2034a4 */ sw $zero,0x34a4($t1)
/* f13be10: 8ce50000 */ lw $a1,0x0($a3)
/* f13be14: ac22fc3c */ sw $v0,-0x3c4($at)
/* f13be18: 0fc3d001 */ jal 0xf0f4004
/* f13be1c: 24a52ef0 */ addiu $a1,$a1,0x2ef0
/* f13be20: 3c0e0102 */ lui $t6,0x102
/* f13be24: 35ce0040 */ ori $t6,$t6,0x40
/* f13be28: afa20040 */ sw $v0,0x40($sp)
/* f13be2c: ac4e0000 */ sw $t6,0x0($v0)
/* f13be30: 8fa40064 */ lw $a0,0x64($sp)
/* f13be34: 0c012ab0 */ jal 0x4aac0
/* f13be38: 24500008 */ addiu $s0,$v0,0x8
/* f13be3c: 8faf0040 */ lw $t7,0x40($sp)
/* f13be40: 02002025 */ move $a0,$s0
/* f13be44: 240500d8 */ li $a1,0xd8
/* f13be48: 0fc4e40d */ jal 0xf139034
/* f13be4c: ade20004 */ sw $v0,0x4($t7)
/* f13be50: 00408025 */ move $s0,$v0
.PF0f13be54:
/* f13be54: 0c0055d0 */ jal 0x15740
/* f13be58: 27a40068 */ addiu $a0,$sp,0x68
/* f13be5c: 27a40068 */ addiu $a0,$sp,0x68
/* f13be60: 0c005779 */ jal 0x15de4
/* f13be64: 8fa50064 */ lw $a1,0x64($sp)
/* f13be68: 0fc2d54e */ jal 0xf0b5538
/* f13be6c: 27a40068 */ addiu $a0,$sp,0x68
/* f13be70: 3c180102 */ lui $t8,0x102
/* f13be74: 37180040 */ ori $t8,$t8,0x40
/* f13be78: 02001825 */ move $v1,$s0
/* f13be7c: ac780000 */ sw $t8,0x0($v1)
/* f13be80: afa3003c */ sw $v1,0x3c($sp)
/* f13be84: 8fa40064 */ lw $a0,0x64($sp)
/* f13be88: 0c012ab0 */ jal 0x4aac0
/* f13be8c: 26100008 */ addiu $s0,$s0,0x8
/* f13be90: 8fa3003c */ lw $v1,0x3c($sp)
/* f13be94: 3c01c47a */ lui $at,0xc47a
/* f13be98: 44810000 */ mtc1 $at,$f0
/* f13be9c: ac620004 */ sw $v0,0x4($v1)
/* f13bea0: 3c01c2c8 */ lui $at,0xc2c8
/* f13bea4: 44803000 */ mtc1 $zero,$f6
/* f13bea8: 44809000 */ mtc1 $zero,$f18
/* f13beac: 44812000 */ mtc1 $at,$f4
/* f13beb0: 02002025 */ move $a0,$s0
/* f13beb4: e7a00058 */ swc1 $f0,0x58($sp)
/* f13beb8: e7a0005c */ swc1 $f0,0x5c($sp)
/* f13bebc: e7a00060 */ swc1 $f0,0x60($sp)
/* f13bec0: e7a6004c */ swc1 $f6,0x4c($sp)
/* f13bec4: e7b20050 */ swc1 $f18,0x50($sp)
/* f13bec8: 0fc4e2a9 */ jal 0xf138aa4
/* f13becc: e7a40054 */ swc1 $f4,0x54($sp)
/* f13bed0: 0fc4e784 */ jal 0xf139e10
/* f13bed4: 00402025 */ move $a0,$v0
/* f13bed8: 3c07800a */ lui $a3,0x800a
/* f13bedc: 24e74710 */ addiu $a3,$a3,0x4710
/* f13bee0: 8ce30000 */ lw $v1,0x0($a3)
/* f13bee4: 00408025 */ move $s0,$v0
/* f13bee8: 906441f4 */ lbu $a0,0x41f4($v1)
/* f13beec: 10800009 */ beqz $a0,.PF0f13bf14
/* f13bef0: 00000000 */ nop
/* f13bef4: 0fc3534f */ jal 0xf0d4d3c
/* f13bef8: 00402025 */ move $a0,$v0
/* f13befc: 0fc4ebdb */ jal 0xf13af6c
/* f13bf00: 00402025 */ move $a0,$v0
/* f13bf04: 3c03800a */ lui $v1,0x800a
/* f13bf08: 8c634710 */ lw $v1,0x4710($v1)
/* f13bf0c: 00408025 */ move $s0,$v0
/* f13bf10: 906441f4 */ lbu $a0,0x41f4($v1)
.PF0f13bf14:
/* f13bf14: 14800024 */ bnez $a0,.PF0f13bfa8
/* f13bf18: 00000000 */ nop
/* f13bf1c: 8c624204 */ lw $v0,0x4204($v1)
/* f13bf20: 00002825 */ move $a1,$zero
/* f13bf24: 240300ff */ li $v1,0xff
/* f13bf28: 2c410032 */ sltiu $at,$v0,0x32
/* f13bf2c: 5020000b */ beqzl $at,.PF0f13bf5c
/* f13bf30: 2c4103e9 */ sltiu $at,$v0,0x3e9
/* f13bf34: 00430019 */ multu $v0,$v1
/* f13bf38: 24010032 */ li $at,0x32
/* f13bf3c: 00002812 */ mflo $a1
/* f13bf40: 00000000 */ nop
/* f13bf44: 00000000 */ nop
/* f13bf48: 00a1001b */ divu $zero,$a1,$at
/* f13bf4c: 00002812 */ mflo $a1
/* f13bf50: 00000000 */ nop
/* f13bf54: 00000000 */ nop
/* f13bf58: 2c4103e9 */ sltiu $at,$v0,0x3e9
.PF0f13bf5c:
/* f13bf5c: 1420000d */ bnez $at,.PF0f13bf94
/* f13bf60: 240300ff */ li $v1,0xff
/* f13bf64: 2c41041a */ sltiu $at,$v0,0x41a
/* f13bf68: 1020000a */ beqz $at,.PF0f13bf94
/* f13bf6c: 2448fc18 */ addiu $t0,$v0,-1000
/* f13bf70: 01030019 */ multu $t0,$v1
/* f13bf74: 24010032 */ li $at,0x32
/* f13bf78: 00005012 */ mflo $t2
/* f13bf7c: 00000000 */ nop
/* f13bf80: 00000000 */ nop
/* f13bf84: 0141001b */ divu $zero,$t2,$at
/* f13bf88: 00005812 */ mflo $t3
/* f13bf8c: 006b2823 */ subu $a1,$v1,$t3
/* f13bf90: 00000000 */ nop
.PF0f13bf94:
/* f13bf94: 10a00004 */ beqz $a1,.PF0f13bfa8
/* f13bf98: 00000000 */ nop
/* f13bf9c: 0fc4e40d */ jal 0xf139034
/* f13bfa0: 02002025 */ move $a0,$s0
/* f13bfa4: 00408025 */ move $s0,$v0
.PF0f13bfa8:
/* f13bfa8: 3c0c8008 */ lui $t4,0x8008
/* f13bfac: 8d8cf608 */ lw $t4,-0x9f8($t4)
/* f13bfb0: 00002025 */ move $a0,$zero
/* f13bfb4: 51800018 */ beqzl $t4,.PF0f13c018
/* f13bfb8: 8fbf001c */ lw $ra,0x1c($sp)
/* f13bfbc: 0c00536a */ jal 0x14da8
/* f13bfc0: 3405ffcf */ li $a1,0xffcf
/* f13bfc4: 10400013 */ beqz $v0,.PF0f13c014
/* f13bfc8: 240d0026 */ li $t5,0x26
/* f13bfcc: 3c018006 */ lui $at,0x8006
/* f13bfd0: ac2d21b4 */ sw $t5,0x21b4($at)
/* f13bfd4: 0fc0690e */ jal 0xf01a438
/* f13bfd8: 24040001 */ li $a0,0x1
/* f13bfdc: 3c048006 */ lui $a0,0x8006
/* f13bfe0: 0c0039af */ jal 0xe6bc
/* f13bfe4: 8c8421b4 */ lw $a0,0x21b4($a0)
/* f13bfe8: 3c01800a */ lui $at,0x800a
/* f13bfec: ac20a7a4 */ sw $zero,-0x585c($at)
/* f13bff0: 2402ffff */ li $v0,-1
/* f13bff4: 3c01800a */ lui $at,0x800a
/* f13bff8: ac22a7a8 */ sw $v0,-0x5858($at)
/* f13bffc: 3c01800a */ lui $at,0x800a
/* f13c000: ac22a7ac */ sw $v0,-0x5854($at)
/* f13c004: 0fc5b6fd */ jal 0xf16dbf4
/* f13c008: 00002025 */ move $a0,$zero
/* f13c00c: 0c002779 */ jal 0x9de4
/* f13c010: 24040001 */ li $a0,0x1
.PF0f13c014:
/* f13c014: 8fbf001c */ lw $ra,0x1c($sp)
.PF0f13c018:
/* f13c018: 02001025 */ move $v0,$s0
/* f13c01c: 8fb00018 */ lw $s0,0x18($sp)
/* f13c020: 03e00008 */ jr $ra
/* f13c024: 27bd00a8 */ addiu $sp,$sp,0xa8
);
#else
GLOBAL_ASM(
glabel creditsRender
.late_rodata
@@ -4364,6 +4776,7 @@ glabel var7f1b5948
/* f13b4bc: 03e00008 */ jr $ra
/* f13b4c0: 27bd00a8 */ addiu $sp,$sp,0xa8
);
#endif
// Mismatch: Come back to to this when more is known about these symbols
//Gfx *creditsRender(Gfx *gdl)
+1 -1
View File
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include "constants.h"
#include "game/cheats.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/title.h"
#include "game/game_01b0a0.h"
#include "game/game_095320.h"
+36 -2
View File
@@ -1404,6 +1404,20 @@ bool func0f12af5c(struct explosion *exp, struct prop *prop, struct coord *pos1,
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f12b0e0
.late_rodata
glabel var7f1b688cpf
.word 0x3f555555
glabel var7f1b6890pf
.word 0x3f555555
glabel var7f1b6894pf
.word 0x3f333333
glabel var7f1b6898pf
.word 0x3e99999a
glabel var7f1b689cpf
.word 0x3d4ccccd
glabel var7f1b68a0pf
.word 0x3d4ccccd
.text
/* f12bbc8: 27bdfc58 */ addiu $sp,$sp,-936
/* f12bbcc: afbf0074 */ sw $ra,0x74($sp)
/* f12bbd0: afbe0070 */ sw $s8,0x70($sp)
@@ -2938,6 +2952,16 @@ glabel var7f1b559c
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f12bbdc
.late_rodata
glabel var7f1b68a4pf
.word 0x40c907a9
glabel var7f1b68a8pf
.word 0x3e4ccccd
glabel var7f1b68acpf
.word 0x3f4ccccd
glabel var7f1b68b0pf
.word 0x3f555555
.text
/* f12c6e0: 27bdfe98 */ addiu $sp,$sp,-360
/* f12c6e4: afbf0084 */ sw $ra,0x84($sp)
/* f12c6e8: afb70080 */ sw $s7,0x80($sp)
@@ -4443,16 +4467,26 @@ Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool withalpha)
for (j = 0; j < ARRAYCOUNT(exp->parts); j++) {
if (exp->parts[j].frame > 0) {
if (i == (s32)((f32)(exp->parts[j].frame - 1) / FRAMESTOTIME60(g_ExplosionTypes[exp->type].flarespeed))) {
#if PAL
if (i == (s32)((f32)(exp->parts[j].frame - 1) / (g_ExplosionTypes[exp->type].flarespeed * 0.83333331346512f))) {
gdl = explosionRenderPart(exp, &exp->parts[j], gdl, coord, i);
}
#else
if (i == (s32)((f32)(exp->parts[j].frame - 1) / g_ExplosionTypes[exp->type].flarespeed)) {
gdl = explosionRenderPart(exp, &exp->parts[j], gdl, coord, i);
}
#endif
}
}
}
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
tmp = FRAMESTOTIME60(g_ExplosionTypes[exp->type].flarespeed) * 15.0f;
#if PAL
tmp = (g_ExplosionTypes[exp->type].flarespeed * 0.83333331346512f) * 15.0f;
#else
tmp = g_ExplosionTypes[exp->type].flarespeed *15.0f;
#endif
for (j = 0; j < ARRAYCOUNT(exp->parts); j++) {
if (exp->parts[j].frame > tmp) {
+5 -133
View File
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include "constants.h"
#include "game/debug.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_092610.h"
#include "game/room.h"
#include "gvars/gvars.h"
@@ -67,12 +67,6 @@ struct footstepframe g_FootstepFrames[] = {
{ 0x0394, 0x00, 0x00 },
};
u32 var8006162c = 0x00000000;
f32 var80061630 = 0;
f32 var80061634 = 0;
u32 var80061638 = 0x00000000;
u32 var8006163c = 0x00000000;
bool func0f005fd0(s32 arg0)
{
switch (arg0) {
@@ -680,6 +674,10 @@ glabel func0f0061dc
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f006520
.late_rodata
glabel var7f1a7e6c
.word 0x4a371b00
.text
/* f006514: 3c05800a */ lui $a1,0x800a
/* f006518: 24a5a510 */ addiu $a1,$a1,-23280
/* f00651c: 8cae0284 */ lw $t6,0x284($a1)
@@ -1226,129 +1224,3 @@ glabel var7f1a7e6c
/* f0068fc: 00000000 */ nop
);
#endif
/**
* Blends two colours together.
*
* The aweight argument is how much weight is given to colour A, on a scale of
* 0 to 255.
*/
u32 colourBlend(u32 a, u32 b, u32 aweight)
{
u32 bweight = 0xff - aweight;
return (((aweight * ((a >> 24) & 0xff) + bweight * ((b >> 24) & 0xff)) >> 8) << 24)
| (((aweight * ((a >> 16) & 0xff) + bweight * ((b >> 16) & 0xff)) >> 8) << 16)
| (((aweight * ((a >> 8) & 0xff) + bweight * ((b >> 8) & 0xff)) >> 8) << 8)
| ((aweight * (a & 0xff) + bweight * (b & 0xff)) >> 8);
}
void func0f0069dc(void)
{
var80061630 = var80061630 + g_Vars.diffframe240f / 4800.0f;
if (var80061630 > 1.0f) {
var80061630 -= 1.0f;
}
var80061634 = var80061634 + g_Vars.lvupdate240f / 4800.0f;
if (var80061634 > 1.0f) {
var80061634 -= 1.0f;
}
#if PIRACYCHECKS
{
u32 *ptr = (u32 *)&func00015fd0;
u32 *end = (u32 *)&func00016054;
u32 checksum = 0;
while (ptr < end) {
checksum ^= ~*ptr;
checksum <<= 1;
ptr++;
}
if (checksum != CHECKSUM_PLACEHOLDER) {
u32 *ptr = (u32 *)&bgInit;
ptr += random() % 0x40;
end = &ptr[4];
while (ptr < end) {
*ptr = 0x00000012;
ptr++;
}
}
}
#endif
}
GLOBAL_ASM(
glabel func0f006b08
.late_rodata
glabel var7f1a7e70
.word 0x40490fdb
.text
/* f006b08: 3c018006 */ lui $at,%hi(var80061630)
/* f006b0c: c4241630 */ lwc1 $f4,%lo(var80061630)($at)
/* f006b10: 3c017f1a */ lui $at,%hi(var7f1a7e70)
/* f006b14: c4287e70 */ lwc1 $f8,%lo(var7f1a7e70)($at)
/* f006b18: 46046002 */ mul.s $f0,$f12,$f4
/* f006b1c: 27bdffe8 */ addiu $sp,$sp,-24
/* f006b20: afbf0014 */ sw $ra,0x14($sp)
/* f006b24: 46000180 */ add.s $f6,$f0,$f0
/* f006b28: 46083302 */ mul.s $f12,$f6,$f8
/* f006b2c: 0c0068f7 */ jal sinf
/* f006b30: 00000000 */ nop
/* f006b34: 3c013f00 */ lui $at,0x3f00
/* f006b38: 44815000 */ mtc1 $at,$f10
/* f006b3c: 8fbf0014 */ lw $ra,0x14($sp)
/* f006b40: 44819000 */ mtc1 $at,$f18
/* f006b44: 460a0402 */ mul.s $f16,$f0,$f10
/* f006b48: 27bd0018 */ addiu $sp,$sp,0x18
/* f006b4c: 03e00008 */ jr $ra
/* f006b50: 46128000 */ add.s $f0,$f16,$f18
);
GLOBAL_ASM(
glabel func0f006b54
.late_rodata
glabel var7f1a7e74
.word 0x40490fdb
.text
/* f006b54: 3c018006 */ lui $at,%hi(var80061630)
/* f006b58: c4241630 */ lwc1 $f4,%lo(var80061630)($at)
/* f006b5c: 3c017f1a */ lui $at,%hi(var7f1a7e74)
/* f006b60: c4287e74 */ lwc1 $f8,%lo(var7f1a7e74)($at)
/* f006b64: 46046002 */ mul.s $f0,$f12,$f4
/* f006b68: 27bdffe8 */ addiu $sp,$sp,-24
/* f006b6c: afbf0014 */ sw $ra,0x14($sp)
/* f006b70: 46000180 */ add.s $f6,$f0,$f0
/* f006b74: 46083302 */ mul.s $f12,$f6,$f8
/* f006b78: 0c0068f4 */ jal cosf
/* f006b7c: 00000000 */ nop
/* f006b80: 3c013f00 */ lui $at,0x3f00
/* f006b84: 44815000 */ mtc1 $at,$f10
/* f006b88: 8fbf0014 */ lw $ra,0x14($sp)
/* f006b8c: 44819000 */ mtc1 $at,$f18
/* f006b90: 460a0402 */ mul.s $f16,$f0,$f10
/* f006b94: 27bd0018 */ addiu $sp,$sp,0x18
/* f006b98: 03e00008 */ jr $ra
/* f006b9c: 46128000 */ add.s $f0,$f16,$f18
);
GLOBAL_ASM(
glabel func0f006ba0
/* f006ba0: 3c018006 */ lui $at,%hi(var80061630)
/* f006ba4: c4241630 */ lwc1 $f4,%lo(var80061630)($at)
/* f006ba8: 460c2082 */ mul.s $f2,$f4,$f12
/* f006bac: 4600118d */ trunc.w.s $f6,$f2
/* f006bb0: 440f3000 */ mfc1 $t7,$f6
/* f006bb4: 00000000 */ nop
/* f006bb8: 448f4000 */ mtc1 $t7,$f8
/* f006bbc: 00000000 */ nop
/* f006bc0: 468042a0 */ cvt.s.w $f10,$f8
/* f006bc4: 460a1081 */ sub.s $f2,$f2,$f10
/* f006bc8: 03e00008 */ jr $ra
/* f006bcc: 46001006 */ mov.s $f0,$f2
);
+141
View File
@@ -0,0 +1,141 @@
#include <ultra64.h>
#include "constants.h"
#include "game/debug.h"
#include "game/game_006900.h"
#include "game/game_092610.h"
#include "game/room.h"
#include "gvars/gvars.h"
#include "lib/rng.h"
#include "lib/lib_159b0.h"
#include "lib/lib_16110.h"
#include "data.h"
#include "types.h"
f32 var80061630 = 0;
f32 var80061634 = 0;
/**
* Blends two colours together.
*
* The aweight argument is how much weight is given to colour A, on a scale of
* 0 to 255.
*/
u32 colourBlend(u32 a, u32 b, u32 aweight)
{
u32 bweight = 0xff - aweight;
return (((aweight * ((a >> 24) & 0xff) + bweight * ((b >> 24) & 0xff)) >> 8) << 24)
| (((aweight * ((a >> 16) & 0xff) + bweight * ((b >> 16) & 0xff)) >> 8) << 16)
| (((aweight * ((a >> 8) & 0xff) + bweight * ((b >> 8) & 0xff)) >> 8) << 8)
| ((aweight * (a & 0xff) + bweight * (b & 0xff)) >> 8);
}
void func0f0069dc(void)
{
var80061630 = var80061630 + g_Vars.diffframe240f / 4800.0f;
if (var80061630 > 1.0f) {
var80061630 -= 1.0f;
}
var80061634 = var80061634 + g_Vars.lvupdate240f / 4800.0f;
if (var80061634 > 1.0f) {
var80061634 -= 1.0f;
}
#if PIRACYCHECKS
{
u32 *ptr = (u32 *)&func00015fd0;
u32 *end = (u32 *)&func00016054;
u32 checksum = 0;
while (ptr < end) {
checksum ^= ~*ptr;
checksum <<= 1;
ptr++;
}
if (checksum != CHECKSUM_PLACEHOLDER) {
u32 *ptr = (u32 *)&bgInit;
ptr += random() % 0x40;
end = &ptr[4];
while (ptr < end) {
*ptr = 0x00000012;
ptr++;
}
}
}
#endif
}
GLOBAL_ASM(
glabel func0f006b08
.late_rodata
glabel var7f1a7e70
.word 0x40490fdb
.text
/* f006b08: 3c018006 */ lui $at,%hi(var80061630)
/* f006b0c: c4241630 */ lwc1 $f4,%lo(var80061630)($at)
/* f006b10: 3c017f1a */ lui $at,%hi(var7f1a7e70)
/* f006b14: c4287e70 */ lwc1 $f8,%lo(var7f1a7e70)($at)
/* f006b18: 46046002 */ mul.s $f0,$f12,$f4
/* f006b1c: 27bdffe8 */ addiu $sp,$sp,-24
/* f006b20: afbf0014 */ sw $ra,0x14($sp)
/* f006b24: 46000180 */ add.s $f6,$f0,$f0
/* f006b28: 46083302 */ mul.s $f12,$f6,$f8
/* f006b2c: 0c0068f7 */ jal sinf
/* f006b30: 00000000 */ nop
/* f006b34: 3c013f00 */ lui $at,0x3f00
/* f006b38: 44815000 */ mtc1 $at,$f10
/* f006b3c: 8fbf0014 */ lw $ra,0x14($sp)
/* f006b40: 44819000 */ mtc1 $at,$f18
/* f006b44: 460a0402 */ mul.s $f16,$f0,$f10
/* f006b48: 27bd0018 */ addiu $sp,$sp,0x18
/* f006b4c: 03e00008 */ jr $ra
/* f006b50: 46128000 */ add.s $f0,$f16,$f18
);
GLOBAL_ASM(
glabel func0f006b54
.late_rodata
glabel var7f1a7e74
.word 0x40490fdb
.text
/* f006b54: 3c018006 */ lui $at,%hi(var80061630)
/* f006b58: c4241630 */ lwc1 $f4,%lo(var80061630)($at)
/* f006b5c: 3c017f1a */ lui $at,%hi(var7f1a7e74)
/* f006b60: c4287e74 */ lwc1 $f8,%lo(var7f1a7e74)($at)
/* f006b64: 46046002 */ mul.s $f0,$f12,$f4
/* f006b68: 27bdffe8 */ addiu $sp,$sp,-24
/* f006b6c: afbf0014 */ sw $ra,0x14($sp)
/* f006b70: 46000180 */ add.s $f6,$f0,$f0
/* f006b74: 46083302 */ mul.s $f12,$f6,$f8
/* f006b78: 0c0068f4 */ jal cosf
/* f006b7c: 00000000 */ nop
/* f006b80: 3c013f00 */ lui $at,0x3f00
/* f006b84: 44815000 */ mtc1 $at,$f10
/* f006b88: 8fbf0014 */ lw $ra,0x14($sp)
/* f006b8c: 44819000 */ mtc1 $at,$f18
/* f006b90: 460a0402 */ mul.s $f16,$f0,$f10
/* f006b94: 27bd0018 */ addiu $sp,$sp,0x18
/* f006b98: 03e00008 */ jr $ra
/* f006b9c: 46128000 */ add.s $f0,$f16,$f18
);
GLOBAL_ASM(
glabel func0f006ba0
/* f006ba0: 3c018006 */ lui $at,%hi(var80061630)
/* f006ba4: c4241630 */ lwc1 $f4,%lo(var80061630)($at)
/* f006ba8: 460c2082 */ mul.s $f2,$f4,$f12
/* f006bac: 4600118d */ trunc.w.s $f6,$f2
/* f006bb0: 440f3000 */ mfc1 $t7,$f6
/* f006bb4: 00000000 */ nop
/* f006bb8: 448f4000 */ mtc1 $t7,$f8
/* f006bbc: 00000000 */ nop
/* f006bc0: 468042a0 */ cvt.s.w $f10,$f8
/* f006bc4: 460a1081 */ sub.s $f2,$f2,$f10
/* f006bc8: 03e00008 */ jr $ra
/* f006bcc: 46001006 */ mov.s $f0,$f2
);
+1 -1
View File
@@ -2,7 +2,7 @@
#include "constants.h"
#include "game/chr/chraction.h"
#include "game/dlights.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/nbomb.h"
#include "game/chr/chr.h"
#include "game/chr/chraction.h"
+23 -1598
View File
File diff suppressed because it is too large Load Diff
+824 -1
View File
@@ -458,6 +458,829 @@ void currentPlayerInitEyespy(void)
struct coord var800623a4 = {0, 0, 0};
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel currentPlayerInit
.late_rodata
glabel var7f1a8240
.word currentPlayerInit+0x154
glabel var7f1a8244
.word currentPlayerInit+0x1a0
glabel var7f1a8248
.word currentPlayerInit+0x248
glabel var7f1a824c
.word currentPlayerInit+0x278
glabel var7f1a8250
.word currentPlayerInit+0x280
glabel var7f1a8254
.word currentPlayerInit+0x288
glabel var7f1a8258
.word currentPlayerInit+0x29c
glabel var7f1a825c
.word currentPlayerInit+0x2a4
glabel var7f1a8260
.word currentPlayerInit+0x340
glabel var7f1a8264
.word currentPlayerInit+0x190
glabel var7f1a8268
.word currentPlayerInit+0x190
glabel var7f1a826c
.word currentPlayerInit+0x198
glabel var7f1a8270
.word 0x40c907a9
glabel var7f1a8274
.word 0x40c907a9
glabel var7f1a8278
.word 0x40c907a9
glabel var7f1a827c
.word 0x40c907a9
.text
/* f011914: 27bdff58 */ addiu $sp,$sp,-168
/* f011918: 3c0f8006 */ lui $t7,0x8006
/* f01191c: afbf0034 */ sw $ra,0x34($sp)
/* f011920: afb10030 */ sw $s1,0x30($sp)
/* f011924: afb0002c */ sw $s0,0x2c($sp)
/* f011928: 25ef2074 */ addiu $t7,$t7,0x2074
/* f01192c: 8de10000 */ lw $at,0x0($t7)
/* f011930: 27ae009c */ addiu $t6,$sp,0x9c
/* f011934: 8de90004 */ lw $t1,0x4($t7)
/* f011938: adc10000 */ sw $at,0x0($t6)
/* f01193c: 8de10008 */ lw $at,0x8($t7)
/* f011940: adc90004 */ sw $t1,0x4($t6)
/* f011944: 44802000 */ mtc1 $zero,$f4
/* f011948: adc10008 */ sw $at,0x8($t6)
/* f01194c: 3c10800a */ lui $s0,0x800a
/* f011950: afa00080 */ sw $zero,0x80($sp)
/* f011954: 8e10d59c */ lw $s0,-0x2a64($s0)
/* f011958: a3a0007b */ sb $zero,0x7b($sp)
/* f01195c: 0fc2f254 */ jal 0xf0bc950
/* f011960: e7a40088 */ swc1 $f4,0x88($sp)
/* f011964: 0fc63d8b */ jal 0xf18f62c
/* f011968: 00000000 */ nop
/* f01196c: 44803000 */ mtc1 $zero,$f6
/* f011970: 3c018007 */ lui $at,0x8007
/* f011974: ac200a44 */ sw $zero,0xa44($at)
/* f011978: 3c01800a */ lui $at,0x800a
/* f01197c: e426e388 */ swc1 $f6,-0x1c78($at)
/* f011980: 24030001 */ li $v1,0x1
/* f011984: 3c018007 */ lui $at,0x8007
/* f011988: ac230a0c */ sw $v1,0xa0c($at)
/* f01198c: 3c018007 */ lui $at,0x8007
/* f011990: ac200a18 */ sw $zero,0xa18($at)
/* f011994: 3c018007 */ lui $at,0x8007
/* f011998: ac200a1c */ sw $zero,0xa1c($at)
/* f01199c: 3c11800a */ lui $s1,0x800a
/* f0119a0: 3c018007 */ lui $at,0x8007
/* f0119a4: 2631a510 */ addiu $s1,$s1,-23280
/* f0119a8: ac200a20 */ sw $zero,0xa20($at)
/* f0119ac: 8e2a0284 */ lw $t2,0x284($s1)
/* f0119b0: 3c01800a */ lui $at,0x800a
/* f0119b4: 3c028007 */ lui $v0,0x8007
/* f0119b8: ad401bf0 */ sw $zero,0x1bf0($t2)
/* f0119bc: ac20e3d8 */ sw $zero,-0x1c28($at)
/* f0119c0: 8e2b0284 */ lw $t3,0x284($s1)
/* f0119c4: 24420a30 */ addiu $v0,$v0,0xa30
/* f0119c8: 3c018007 */ lui $at,0x8007
/* f0119cc: ad601b78 */ sw $zero,0x1b78($t3)
/* f0119d0: 8e2c0284 */ lw $t4,0x284($s1)
/* f0119d4: 00002025 */ move $a0,$zero
/* f0119d8: ad801bd4 */ sw $zero,0x1bd4($t4)
/* f0119dc: ac430000 */ sw $v1,0x0($v0)
/* f0119e0: ac430004 */ sw $v1,0x4($v0)
/* f0119e4: ac430008 */ sw $v1,0x8($v0)
/* f0119e8: ac43000c */ sw $v1,0xc($v0)
/* f0119ec: 0fc2e6d7 */ jal 0xf0b9b5c
/* f0119f0: ac200a40 */ sw $zero,0xa40($at)
/* f0119f4: 3c018007 */ lui $at,0x8007
/* f0119f8: ac200a24 */ sw $zero,0xa24($at)
/* f0119fc: 3c018007 */ lui $at,0x8007
/* f011a00: ac200a28 */ sw $zero,0xa28($at)
/* f011a04: 3c018007 */ lui $at,0x8007
/* f011a08: ac200a2c */ sw $zero,0xa2c($at)
/* f011a0c: 8e2d0284 */ lw $t5,0x284($s1)
/* f011a10: 44804000 */ mtc1 $zero,$f8
/* f011a14: 3c01800a */ lui $at,0x800a
/* f011a18: ada01b7c */ sw $zero,0x1b7c($t5)
/* f011a1c: 8e390284 */ lw $t9,0x284($s1)
/* f011a20: e7281b80 */ swc1 $f8,0x1b80($t9)
/* f011a24: 8e380284 */ lw $t8,0x284($s1)
/* f011a28: af001b88 */ sw $zero,0x1b88($t8)
/* f011a2c: ac20e344 */ sw $zero,-0x1cbc($at)
/* f011a30: 3c01800a */ lui $at,0x800a
/* f011a34: 120000a1 */ beqz $s0,.PF0f011cbc
/* f011a38: ac20e340 */ sw $zero,-0x1cc0($at)
/* f011a3c: 8e020000 */ lw $v0,0x0($s0)
/* f011a40: 2401000c */ li $at,0xc
/* f011a44: 1041009d */ beq $v0,$at,.PF0f011cbc
/* f011a48: 2c41000c */ sltiu $at,$v0,0xc
.PF0f011a4c:
/* f011a4c: 10200096 */ beqz $at,.PF0f011ca8
/* f011a50: 00027080 */ sll $t6,$v0,0x2
/* f011a54: 3c017f1b */ lui $at,0x7f1b
/* f011a58: 002e0821 */ addu $at,$at,$t6
/* f011a5c: 8c2e9450 */ lw $t6,-0x6bb0($at)
/* f011a60: 01c00008 */ jr $t6
/* f011a64: 00000000 */ nop
/* f011a68: 8e0f0008 */ lw $t7,0x8($s0)
/* f011a6c: 3c02800a */ lui $v0,0x800a
/* f011a70: 15e0000a */ bnez $t7,.PF0f011a9c
/* f011a74: 00000000 */ nop
/* f011a78: 8c42e3d8 */ lw $v0,-0x1c28($v0)
/* f011a7c: 8e090004 */ lw $t1,0x4($s0)
/* f011a80: 3c01800a */ lui $at,0x800a
/* f011a84: 00025040 */ sll $t2,$v0,0x1
/* f011a88: 002a0821 */ addu $at,$at,$t2
/* f011a8c: a429e3a8 */ sh $t1,-0x1c58($at)
/* f011a90: 3c01800a */ lui $at,0x800a
/* f011a94: 244b0001 */ addiu $t3,$v0,0x1
/* f011a98: ac2be3d8 */ sw $t3,-0x1c28($at)
.PF0f011a9c:
/* f011a9c: 10000083 */ b .PF0f011cac
/* f011aa0: 2610000c */ addiu $s0,$s0,0xc
/* f011aa4: 10000081 */ b .PF0f011cac
/* f011aa8: 2610000c */ addiu $s0,$s0,0xc
/* f011aac: 1000007f */ b .PF0f011cac
/* f011ab0: 26100008 */ addiu $s0,$s0,0x8
/* f011ab4: 8e0c000c */ lw $t4,0xc($s0)
/* f011ab8: 15800026 */ bnez $t4,.PF0f011b54
/* f011abc: 00000000 */ nop
/* f011ac0: 8e2d02a8 */ lw $t5,0x2a8($s1)
/* f011ac4: 8e390284 */ lw $t9,0x284($s1)
/* f011ac8: 11b90022 */ beq $t5,$t9,.PF0f011b54
/* f011acc: 00000000 */ nop
/* f011ad0: 0fc04560 */ jal 0xf011580
/* f011ad4: 8e040004 */ lw $a0,0x4($s0)
/* f011ad8: 8e040008 */ lw $a0,0x8($s0)
/* f011adc: 04800008 */ bltz $a0,.PF0f011b00
/* f011ae0: 00000000 */ nop
/* f011ae4: 0fc04560 */ jal 0xf011580
/* f011ae8: 00000000 */ nop
/* f011aec: 8e040004 */ lw $a0,0x4($s0)
/* f011af0: 0fc44a42 */ jal 0xf112908
/* f011af4: 8e050008 */ lw $a1,0x8($s0)
/* f011af8: 10000004 */ b .PF0f011b0c
/* f011afc: 8fb80080 */ lw $t8,0x80($sp)
.PF0f011b00:
/* f011b00: 0fc44a1a */ jal 0xf112868
/* f011b04: 8e040004 */ lw $a0,0x4($s0)
/* f011b08: 8fb80080 */ lw $t8,0x80($sp)
.PF0f011b0c:
/* f011b0c: 240a0001 */ li $t2,0x1
/* f011b10: 5700000c */ bnezl $t8,.PF0f011b44
/* f011b14: 8e090004 */ lw $t1,0x4($s0)
/* f011b18: 8e0e0004 */ lw $t6,0x4($s0)
/* f011b1c: 3c01800a */ lui $at,0x800a
/* f011b20: 240f0001 */ li $t7,0x1
/* f011b24: ac2ee340 */ sw $t6,-0x1cc0($at)
/* f011b28: 8e040008 */ lw $a0,0x8($s0)
/* f011b2c: afaf0080 */ sw $t7,0x80($sp)
/* f011b30: 3c01800a */ lui $at,0x800a
/* f011b34: 04820003 */ bltzl $a0,.PF0f011b44
/* f011b38: 8e090004 */ lw $t1,0x4($s0)
/* f011b3c: ac24e344 */ sw $a0,-0x1cbc($at)
/* f011b40: 8e090004 */ lw $t1,0x4($s0)
.PF0f011b44:
/* f011b44: 2401002e */ li $at,0x2e
/* f011b48: 15210002 */ bne $t1,$at,.PF0f011b54
/* f011b4c: 00000000 */ nop
/* f011b50: a3aa007b */ sb $t2,0x7b($sp)
.PF0f011b54:
/* f011b54: 10000055 */ b .PF0f011cac
/* f011b58: 26100010 */ addiu $s0,$s0,0x10
/* f011b5c: 8e0b000c */ lw $t3,0xc($s0)
/* f011b60: 15600008 */ bnez $t3,.PF0f011b84
/* f011b64: 00000000 */ nop
/* f011b68: 8e2c02a8 */ lw $t4,0x2a8($s1)
/* f011b6c: 8e2d0284 */ lw $t5,0x284($s1)
/* f011b70: 118d0004 */ beq $t4,$t5,.PF0f011b84
/* f011b74: 00000000 */ nop
/* f011b78: 8e040004 */ lw $a0,0x4($s0)
/* f011b7c: 0fc2a69d */ jal 0xf0a9a74
/* f011b80: 8e050008 */ lw $a1,0x8($s0)
.PF0f011b84:
/* f011b84: 10000049 */ b .PF0f011cac
/* f011b88: 26100010 */ addiu $s0,$s0,0x10
/* f011b8c: 10000047 */ b .PF0f011cac
/* f011b90: 26100020 */ addiu $s0,$s0,0x20
/* f011b94: 10000045 */ b .PF0f011cac
/* f011b98: 26100008 */ addiu $s0,$s0,0x8
/* f011b9c: 8e190004 */ lw $t9,0x4($s0)
/* f011ba0: 8e380284 */ lw $t8,0x284($s1)
/* f011ba4: 26100008 */ addiu $s0,$s0,0x8
/* f011ba8: 10000040 */ b .PF0f011cac
/* f011bac: af190324 */ sw $t9,0x324($t8)
/* f011bb0: 1000003e */ b .PF0f011cac
/* f011bb4: 26100028 */ addiu $s0,$s0,0x28
/* f011bb8: 44805000 */ mtc1 $zero,$f10
/* f011bbc: 8e2e0284 */ lw $t6,0x284($s1)
/* f011bc0: 2401003c */ li $at,0x3c
/* f011bc4: e5ca1b80 */ swc1 $f10,0x1b80($t6)
/* f011bc8: 8e040008 */ lw $a0,0x8($s0)
/* f011bcc: 5880000f */ blezl $a0,.PF0f011c0c
/* f011bd0: 8e030004 */ lw $v1,0x4($s0)
/* f011bd4: 0081001a */ div $zero,$a0,$at
/* f011bd8: 00007810 */ mfhi $t7
/* f011bdc: 000f48c0 */ sll $t1,$t7,0x3
/* f011be0: 012f4823 */ subu $t1,$t1,$t7
/* f011be4: 00094940 */ sll $t1,$t1,0x5
/* f011be8: 012f4821 */ addu $t1,$t1,$t7
/* f011bec: 00094900 */ sll $t1,$t1,0x4
/* f011bf0: 44899000 */ mtc1 $t1,$f18
/* f011bf4: 8e220284 */ lw $v0,0x284($s1)
/* f011bf8: 46809120 */ cvt.s.w $f4,$f18
/* f011bfc: c4501b80 */ lwc1 $f16,0x1b80($v0)
/* f011c00: 46048180 */ add.s $f6,$f16,$f4
/* f011c04: e4461b80 */ swc1 $f6,0x1b80($v0)
/* f011c08: 8e030004 */ lw $v1,0x4($s0)
.PF0f011c0c:
/* f011c0c: 2401000c */ li $at,0xc
/* f011c10: 1860000e */ blez $v1,.PF0f011c4c
/* f011c14: 00000000 */ nop
/* f011c18: 0061001a */ div $zero,$v1,$at
/* f011c1c: 00005010 */ mfhi $t2
/* f011c20: 3c010003 */ lui $at,0x3
/* f011c24: 34214bc0 */ ori $at,$at,0x4bc0
/* f011c28: 01410019 */ multu $t2,$at
/* f011c2c: 8e220284 */ lw $v0,0x284($s1)
/* f011c30: c4481b80 */ lwc1 $f8,0x1b80($v0)
/* f011c34: 00005812 */ mflo $t3
/* f011c38: 448b5000 */ mtc1 $t3,$f10
/* f011c3c: 00000000 */ nop
/* f011c40: 468054a0 */ cvt.s.w $f18,$f10
/* f011c44: 46124400 */ add.s $f16,$f8,$f18
/* f011c48: e4501b80 */ swc1 $f16,0x1b80($v0)
.PF0f011c4c:
/* f011c4c: 10000017 */ b .PF0f011cac
/* f011c50: 2610000c */ addiu $s0,$s0,0xc
/* f011c54: 3c0c800a */ lui $t4,0x800a
/* f011c58: 8d8cd5b0 */ lw $t4,-0x2a50($t4)
/* f011c5c: 8e0d0004 */ lw $t5,0x4($s0)
/* f011c60: 3c018007 */ lui $at,0x8007
/* f011c64: 018d1021 */ addu $v0,$t4,$t5
/* f011c68: ac220a20 */ sw $v0,0xa20($at)
/* f011c6c: 94590000 */ lhu $t9,0x0($v0)
/* f011c70: 57200005 */ bnezl $t9,.PF0f011c88
/* f011c74: 944e000c */ lhu $t6,0xc($v0)
/* f011c78: 94580002 */ lhu $t8,0x2($v0)
/* f011c7c: 13000008 */ beqz $t8,.PF0f011ca0
/* f011c80: 00000000 */ nop
/* f011c84: 944e000c */ lhu $t6,0xc($v0)
.PF0f011c88:
/* f011c88: 2442000c */ addiu $v0,$v0,0xc
/* f011c8c: 55c0fffe */ bnezl $t6,.PF0f011c88
/* f011c90: 944e000c */ lhu $t6,0xc($v0)
/* f011c94: 944f0002 */ lhu $t7,0x2($v0)
/* f011c98: 55e0fffb */ bnezl $t7,.PF0f011c88
/* f011c9c: 944e000c */ lhu $t6,0xc($v0)
.PF0f011ca0:
/* f011ca0: 10000002 */ b .PF0f011cac
/* f011ca4: 26100008 */ addiu $s0,$s0,0x8
.PF0f011ca8:
/* f011ca8: 26100004 */ addiu $s0,$s0,0x4
.PF0f011cac:
/* f011cac: 8e020000 */ lw $v0,0x0($s0)
/* f011cb0: 2401000c */ li $at,0xc
/* f011cb4: 5441ff65 */ bnel $v0,$at,.PF0f011a4c
/* f011cb8: 2c41000c */ sltiu $at,$v0,0xc
.PF0f011cbc:
/* f011cbc: 0fc44a1a */ jal 0xf112868
/* f011cc0: 24040001 */ li $a0,0x1
/* f011cc4: 0fc41dd5 */ jal 0xf107754
/* f011cc8: 24040008 */ li $a0,0x8
/* f011ccc: 10400006 */ beqz $v0,.PF0f011ce8
/* f011cd0: 00000000 */ nop
/* f011cd4: 0fc44a1a */ jal 0xf112868
/* f011cd8: 24040009 */ li $a0,0x9
/* f011cdc: 2404000a */ li $a0,0xa
/* f011ce0: 0fc2a69d */ jal 0xf0a9a74
/* f011ce4: 24050050 */ li $a1,0x50
.PF0f011ce8:
/* f011ce8: 0fc41dd5 */ jal 0xf107754
/* f011cec: 24040009 */ li $a0,0x9
/* f011cf0: 10400006 */ beqz $v0,.PF0f011d0c
/* f011cf4: 00000000 */ nop
/* f011cf8: 0fc44a1a */ jal 0xf112868
/* f011cfc: 24040016 */ li $a0,0x16
/* f011d00: 24040006 */ li $a0,0x6
/* f011d04: 0fc2a69d */ jal 0xf0a9a74
/* f011d08: 24050050 */ li $a1,0x50
.PF0f011d0c:
/* f011d0c: 0fc41dd5 */ jal 0xf107754
/* f011d10: 24040001 */ li $a0,0x1
/* f011d14: 10400006 */ beqz $v0,.PF0f011d30
/* f011d18: 00000000 */ nop
/* f011d1c: 0fc44a1a */ jal 0xf112868
/* f011d20: 24040031 */ li $a0,0x31
/* f011d24: 24040014 */ li $a0,0x14
/* f011d28: 0fc2a69d */ jal 0xf0a9a74
/* f011d2c: 24051770 */ li $a1,0x1770
.PF0f011d30:
/* f011d30: 0fc41dd5 */ jal 0xf107754
/* f011d34: 24040015 */ li $a0,0x15
/* f011d38: 10400003 */ beqz $v0,.PF0f011d48
/* f011d3c: 00000000 */ nop
/* f011d40: 0fc44a1a */ jal 0xf112868
/* f011d44: 2404002d */ li $a0,0x2d
.PF0f011d48:
/* f011d48: 0fc41dd5 */ jal 0xf107754
/* f011d4c: 2404001a */ li $a0,0x1a
/* f011d50: 10400003 */ beqz $v0,.PF0f011d60
/* f011d54: 00000000 */ nop
/* f011d58: 0fc44a1a */ jal 0xf112868
/* f011d5c: 24040037 */ li $a0,0x37
.PF0f011d60:
/* f011d60: 0fc41dd5 */ jal 0xf107754
/* f011d64: 2404001b */ li $a0,0x1b
/* f011d68: 10400006 */ beqz $v0,.PF0f011d84
/* f011d6c: 00000000 */ nop
/* f011d70: 0fc44a1a */ jal 0xf112868
/* f011d74: 24040018 */ li $a0,0x18
/* f011d78: 24040008 */ li $a0,0x8
/* f011d7c: 0fc2a69d */ jal 0xf0a9a74
/* f011d80: 2405000a */ li $a1,0xa
.PF0f011d84:
/* f011d84: 0fc41dd5 */ jal 0xf107754
/* f011d88: 2404001c */ li $a0,0x1c
/* f011d8c: 10400006 */ beqz $v0,.PF0f011da8
/* f011d90: 00000000 */ nop
/* f011d94: 0fc44a1a */ jal 0xf112868
/* f011d98: 24040015 */ li $a0,0x15
/* f011d9c: 24040004 */ li $a0,0x4
/* f011da0: 0fc2a69d */ jal 0xf0a9a74
/* f011da4: 240500c8 */ li $a1,0xc8
.PF0f011da8:
/* f011da8: 0fc41dd5 */ jal 0xf107754
/* f011dac: 2404001d */ li $a0,0x1d
/* f011db0: 10400003 */ beqz $v0,.PF0f011dc0
/* f011db4: 00000000 */ nop
/* f011db8: 0fc44a1a */ jal 0xf112868
/* f011dbc: 2404002f */ li $a0,0x2f
.PF0f011dc0:
/* f011dc0: 0fc41dd5 */ jal 0xf107754
/* f011dc4: 2404001e */ li $a0,0x1e
/* f011dc8: 10400009 */ beqz $v0,.PF0f011df0
/* f011dcc: 00000000 */ nop
/* f011dd0: 0fc44a1a */ jal 0xf112868
/* f011dd4: 24040012 */ li $a0,0x12
/* f011dd8: 24040004 */ li $a0,0x4
/* f011ddc: 0fc2a69d */ jal 0xf0a9a74
/* f011de0: 240500c8 */ li $a1,0xc8
/* f011de4: 2404000b */ li $a0,0xb
/* f011de8: 0fc2a69d */ jal 0xf0a9a74
/* f011dec: 24050014 */ li $a1,0x14
.PF0f011df0:
/* f011df0: 0fc41dd5 */ jal 0xf107754
/* f011df4: 2404001f */ li $a0,0x1f
/* f011df8: 10400006 */ beqz $v0,.PF0f011e14
/* f011dfc: 00000000 */ nop
/* f011e00: 0fc44a1a */ jal 0xf112868
/* f011e04: 2404000e */ li $a0,0xe
/* f011e08: 24040002 */ li $a0,0x2
/* f011e0c: 0fc2a69d */ jal 0xf0a9a74
/* f011e10: 240500c8 */ li $a1,0xc8
.PF0f011e14:
/* f011e14: 0fc41dd5 */ jal 0xf107754
/* f011e18: 24040020 */ li $a0,0x20
/* f011e1c: 10400006 */ beqz $v0,.PF0f011e38
/* f011e20: 00000000 */ nop
/* f011e24: 0fc44a1a */ jal 0xf112868
/* f011e28: 24040007 */ li $a0,0x7
/* f011e2c: 24040001 */ li $a0,0x1
/* f011e30: 0fc2a69d */ jal 0xf0a9a74
/* f011e34: 240500c8 */ li $a1,0xc8
.PF0f011e38:
/* f011e38: 0fc41dd5 */ jal 0xf107754
/* f011e3c: 24040021 */ li $a0,0x21
/* f011e40: 54400005 */ bnezl $v0,.PF0f011e58
/* f011e44: 24040016 */ li $a0,0x16
/* f011e48: 0fc41dd5 */ jal 0xf107754
/* f011e4c: 24040003 */ li $a0,0x3
/* f011e50: 10400009 */ beqz $v0,.PF0f011e78
/* f011e54: 24040016 */ li $a0,0x16
.PF0f011e58:
/* f011e58: 0fc2a69d */ jal 0xf0a9a74
/* f011e5c: 24050004 */ li $a1,0x4
/* f011e60: 0fc41dd5 */ jal 0xf107754
/* f011e64: 24040021 */ li $a0,0x21
/* f011e68: 10400003 */ beqz $v0,.PF0f011e78
/* f011e6c: 00000000 */ nop
/* f011e70: 0fc44a1a */ jal 0xf112868
/* f011e74: 2404002c */ li $a0,0x2c
.PF0f011e78:
/* f011e78: 0fc41dd5 */ jal 0xf107754
/* f011e7c: 24040022 */ li $a0,0x22
/* f011e80: 10400006 */ beqz $v0,.PF0f011e9c
/* f011e84: 00000000 */ nop
/* f011e88: 0fc44a1a */ jal 0xf112868
/* f011e8c: 24040024 */ li $a0,0x24
/* f011e90: 24040001 */ li $a0,0x1
/* f011e94: 0fc2a69d */ jal 0xf0a9a74
/* f011e98: 240500c8 */ li $a1,0xc8
.PF0f011e9c:
/* f011e9c: 0fc41dd5 */ jal 0xf107754
/* f011ea0: 24040023 */ li $a0,0x23
/* f011ea4: 10400006 */ beqz $v0,.PF0f011ec0
/* f011ea8: 00000000 */ nop
/* f011eac: 0fc44a1a */ jal 0xf112868
/* f011eb0: 24040025 */ li $a0,0x25
/* f011eb4: 24040004 */ li $a0,0x4
/* f011eb8: 0fc2a69d */ jal 0xf0a9a74
/* f011ebc: 240500c8 */ li $a1,0xc8
.PF0f011ec0:
/* f011ec0: 0fc41dd5 */ jal 0xf107754
/* f011ec4: 24040024 */ li $a0,0x24
/* f011ec8: 10400006 */ beqz $v0,.PF0f011ee4
/* f011ecc: 00000000 */ nop
/* f011ed0: 0fc44a1a */ jal 0xf112868
/* f011ed4: 24040026 */ li $a0,0x26
/* f011ed8: 24040002 */ li $a0,0x2
/* f011edc: 0fc2a69d */ jal 0xf0a9a74
/* f011ee0: 240500c8 */ li $a1,0xc8
.PF0f011ee4:
/* f011ee4: 0fc41dd5 */ jal 0xf107754
/* f011ee8: 24040025 */ li $a0,0x25
/* f011eec: 10400006 */ beqz $v0,.PF0f011f08
/* f011ef0: 00000000 */ nop
/* f011ef4: 0fc44a1a */ jal 0xf112868
/* f011ef8: 24040027 */ li $a0,0x27
/* f011efc: 24040004 */ li $a0,0x4
/* f011f00: 0fc2a69d */ jal 0xf0a9a74
/* f011f04: 240500c8 */ li $a1,0xc8
.PF0f011f08:
/* f011f08: 0fc41dd5 */ jal 0xf107754
/* f011f0c: 24040026 */ li $a0,0x26
/* f011f10: 10400006 */ beqz $v0,.PF0f011f2c
/* f011f14: 00000000 */ nop
/* f011f18: 0fc44a1a */ jal 0xf112868
/* f011f1c: 24040028 */ li $a0,0x28
/* f011f20: 24040002 */ li $a0,0x2
/* f011f24: 0fc2a69d */ jal 0xf0a9a74
/* f011f28: 240500c8 */ li $a1,0xc8
.PF0f011f2c:
/* f011f2c: 0fc41dd5 */ jal 0xf107754
/* f011f30: 24040027 */ li $a0,0x27
/* f011f34: 10400006 */ beqz $v0,.PF0f011f50
/* f011f38: 00000000 */ nop
/* f011f3c: 0fc44a1a */ jal 0xf112868
/* f011f40: 24040029 */ li $a0,0x29
/* f011f44: 24040002 */ li $a0,0x2
/* f011f48: 0fc2a69d */ jal 0xf0a9a74
/* f011f4c: 240500c8 */ li $a1,0xc8
.PF0f011f50:
/* f011f50: 0fc41dd5 */ jal 0xf107754
/* f011f54: 24040028 */ li $a0,0x28
/* f011f58: 10400006 */ beqz $v0,.PF0f011f74
/* f011f5c: 00000000 */ nop
/* f011f60: 0fc44a1a */ jal 0xf112868
/* f011f64: 2404002a */ li $a0,0x2a
/* f011f68: 24040004 */ li $a0,0x4
/* f011f6c: 0fc2a69d */ jal 0xf0a9a74
/* f011f70: 240500c8 */ li $a1,0xc8
.PF0f011f74:
/* f011f74: 0fc41dd5 */ jal 0xf107754
/* f011f78: 24040029 */ li $a0,0x29
/* f011f7c: 50400007 */ beqzl $v0,.PF0f011f9c
/* f011f80: 8fa90080 */ lw $t1,0x80($sp)
/* f011f84: 0fc44a1a */ jal 0xf112868
/* f011f88: 2404002b */ li $a0,0x2b
/* f011f8c: 24040002 */ li $a0,0x2
/* f011f90: 0fc2a69d */ jal 0xf0a9a74
/* f011f94: 240500c8 */ li $a1,0xc8
/* f011f98: 8fa90080 */ lw $t1,0x80($sp)
.PF0f011f9c:
/* f011f9c: 15200003 */ bnez $t1,.PF0f011fac
/* f011fa0: 240a0001 */ li $t2,0x1
/* f011fa4: 3c01800a */ lui $at,0x800a
/* f011fa8: ac2ae340 */ sw $t2,-0x1cc0($at)
.PF0f011fac:
/* f011fac: 0fc1816e */ jal 0xf0605b8
/* f011fb0: 00000000 */ nop
/* f011fb4: 8e2b0284 */ lw $t3,0x284($s1)
/* f011fb8: 24190006 */ li $t9,0x6
/* f011fbc: ad6200bc */ sw $v0,0xbc($t3)
/* f011fc0: 8e2c0284 */ lw $t4,0x284($s1)
/* f011fc4: 8d8d00bc */ lw $t5,0xbc($t4)
/* f011fc8: ada00004 */ sw $zero,0x4($t5)
/* f011fcc: 8e380284 */ lw $t8,0x284($s1)
/* f011fd0: 8f0e00bc */ lw $t6,0xbc($t8)
/* f011fd4: a1d90000 */ sb $t9,0x0($t6)
/* f011fd8: 8e2f0284 */ lw $t7,0x284($s1)
/* f011fdc: 0fc181c7 */ jal 0xf06071c
/* f011fe0: 8de400bc */ lw $a0,0xbc($t7)
/* f011fe4: 8e290284 */ lw $t1,0x284($s1)
/* f011fe8: 0fc18154 */ jal 0xf060550
/* f011fec: 8d2400bc */ lw $a0,0xbc($t1)
/* f011ff0: 8e2a0284 */ lw $t2,0x284($s1)
/* f011ff4: 00002825 */ move $a1,$zero
/* f011ff8: 0fc081dd */ jal 0xf020774
/* f011ffc: 8d4400bc */ lw $a0,0xbc($t2)
/* f012000: 8e2b0298 */ lw $t3,0x298($s1)
/* f012004: 05620008 */ bltzl $t3,.PF0f012028
/* f012008: 8e2e029c */ lw $t6,0x29c($s1)
/* f01200c: 8e2d0284 */ lw $t5,0x284($s1)
/* f012010: 240c0010 */ li $t4,0x10
/* f012014: 8db800bc */ lw $t8,0xbc($t5)
/* f012018: 8f190004 */ lw $t9,0x4($t8)
/* f01201c: 10000029 */ b .PF0f0120c4
/* f012020: a32c0125 */ sb $t4,0x125($t9)
/* f012024: 8e2e029c */ lw $t6,0x29c($s1)
.PF0f012028:
/* f012028: 05c20010 */ bltzl $t6,.PF0f01206c
/* f01202c: 8e390314 */ lw $t9,0x314($s1)
/* f012030: 8e220284 */ lw $v0,0x284($s1)
/* f012034: 8e2f02a0 */ lw $t7,0x2a0($s1)
/* f012038: 55e20007 */ bnel $t7,$v0,.PF0f012058
/* f01203c: 8c5800bc */ lw $t8,0xbc($v0)
/* f012040: 8c4a00bc */ lw $t2,0xbc($v0)
/* f012044: 24090010 */ li $t1,0x10
/* f012048: 8d4b0004 */ lw $t3,0x4($t2)
/* f01204c: 1000001d */ b .PF0f0120c4
/* f012050: a1690125 */ sb $t1,0x125($t3)
/* f012054: 8c5800bc */ lw $t8,0xbc($v0)
.PF0f012058:
/* f012058: 240d0002 */ li $t5,0x2
/* f01205c: 8f0c0004 */ lw $t4,0x4($t8)
/* f012060: 10000018 */ b .PF0f0120c4
/* f012064: a18d0125 */ sb $t5,0x125($t4)
/* f012068: 8e390314 */ lw $t9,0x314($s1)
.PF0f01206c:
/* f01206c: 53200011 */ beqzl $t9,.PF0f0120b4
/* f012070: 8e2f0284 */ lw $t7,0x284($s1)
/* f012074: 8e2e0288 */ lw $t6,0x288($s1)
/* f012078: 8e2d0284 */ lw $t5,0x284($s1)
/* f01207c: 3c09800b */ lui $t1,0x800b
/* f012080: 8dcf0070 */ lw $t7,0x70($t6)
/* f012084: 8dac00bc */ lw $t4,0xbc($t5)
/* f012088: 240b0001 */ li $t3,0x1
/* f01208c: 000f5080 */ sll $t2,$t7,0x2
/* f012090: 014f5021 */ addu $t2,$t2,$t7
/* f012094: 000a5140 */ sll $t2,$t2,0x5
/* f012098: 012a4821 */ addu $t1,$t1,$t2
/* f01209c: 9129cd69 */ lbu $t1,-0x3297($t1)
/* f0120a0: 8d990004 */ lw $t9,0x4($t4)
/* f0120a4: 012bc004 */ sllv $t8,$t3,$t1
/* f0120a8: 10000006 */ b .PF0f0120c4
/* f0120ac: a3380125 */ sb $t8,0x125($t9)
/* f0120b0: 8e2f0284 */ lw $t7,0x284($s1)
.PF0f0120b4:
/* f0120b4: 240e0010 */ li $t6,0x10
/* f0120b8: 8dea00bc */ lw $t2,0xbc($t7)
/* f0120bc: 8d4b0004 */ lw $t3,0x4($t2)
/* f0120c0: a16e0125 */ sb $t6,0x125($t3)
.PF0f0120c4:
/* f0120c4: 93a9007b */ lbu $t1,0x7b($sp)
/* f0120c8: 11200003 */ beqz $t1,.PF0f0120d8
/* f0120cc: 00000000 */ nop
/* f0120d0: 0fc04594 */ jal 0xf011650
/* f0120d4: 00000000 */ nop
.PF0f0120d8:
/* f0120d8: 3c0d800a */ lui $t5,0x800a
/* f0120dc: 8dade3d8 */ lw $t5,-0x1c28($t5)
/* f0120e0: 59a0002f */ blezl $t5,.PF0f0121a0
/* f0120e4: 8e220284 */ lw $v0,0x284($s1)
/* f0120e8: 8e2c0298 */ lw $t4,0x298($s1)
/* f0120ec: 3c0141f0 */ lui $at,0x41f0
/* f0120f0: 27a5009c */ addiu $a1,$sp,0x9c
/* f0120f4: 0580000a */ bltz $t4,.PF0f012120
/* f0120f8: 27a6008c */ addiu $a2,$sp,0x8c
/* f0120fc: 8e380284 */ lw $t8,0x284($s1)
/* f012100: 44816000 */ mtc1 $at,$f12
/* f012104: 0fc61c60 */ jal 0xf187180
/* f012108: 8f0700bc */ lw $a3,0xbc($t8)
/* f01210c: 3c017f1b */ lui $at,0x7f1b
/* f012110: c4249480 */ lwc1 $f4,-0x6b80($at)
/* f012114: 46002181 */ sub.s $f6,$f4,$f0
/* f012118: 10000020 */ b .PF0f01219c
/* f01211c: e7a60088 */ swc1 $f6,0x88($sp)
.PF0f012120:
/* f012120: 8e39029c */ lw $t9,0x29c($s1)
/* f012124: 3c0141f0 */ lui $at,0x41f0
/* f012128: 27a5009c */ addiu $a1,$sp,0x9c
/* f01212c: 0720000c */ bltz $t9,.PF0f012160
/* f012130: 27a6008c */ addiu $a2,$sp,0x8c
/* f012134: 8e2f0284 */ lw $t7,0x284($s1)
/* f012138: 44816000 */ mtc1 $at,$f12
/* f01213c: 27a5009c */ addiu $a1,$sp,0x9c
/* f012140: 27a6008c */ addiu $a2,$sp,0x8c
/* f012144: 0fc61c60 */ jal 0xf187180
/* f012148: 8de700bc */ lw $a3,0xbc($t7)
/* f01214c: 3c017f1b */ lui $at,0x7f1b
/* f012150: c42a9484 */ lwc1 $f10,-0x6b7c($at)
/* f012154: 46005201 */ sub.s $f8,$f10,$f0
/* f012158: 10000010 */ b .PF0f01219c
/* f01215c: e7a80088 */ swc1 $f8,0x88($sp)
.PF0f012160:
/* f012160: 8e2a0314 */ lw $t2,0x314($s1)
/* f012164: 240e0001 */ li $t6,0x1
/* f012168: 3c01800a */ lui $at,0x800a
/* f01216c: 55400003 */ bnezl $t2,.PF0f01217c
/* f012170: 8e2b0284 */ lw $t3,0x284($s1)
/* f012174: ac2ee3d8 */ sw $t6,-0x1c28($at)
/* f012178: 8e2b0284 */ lw $t3,0x284($s1)
.PF0f01217c:
/* f01217c: 3c0141f0 */ lui $at,0x41f0
/* f012180: 44816000 */ mtc1 $at,$f12
/* f012184: 0fc61c60 */ jal 0xf187180
/* f012188: 8d6700bc */ lw $a3,0xbc($t3)
/* f01218c: 3c017f1b */ lui $at,0x7f1b
/* f012190: c4329488 */ lwc1 $f18,-0x6b78($at)
/* f012194: 46009401 */ sub.s $f16,$f18,$f0
/* f012198: e7b00088 */ swc1 $f16,0x88($sp)
.PF0f01219c:
/* f01219c: 8e220284 */ lw $v0,0x284($s1)
.PF0f0121a0:
/* f0121a0: 27a4009c */ addiu $a0,$sp,0x9c
/* f0121a4: 3c0541f0 */ lui $a1,0x41f0
/* f0121a8: 2449161e */ addiu $t1,$v0,0x161e
/* f0121ac: 244d161c */ addiu $t5,$v0,0x161c
/* f0121b0: 244c19b0 */ addiu $t4,$v0,0x19b0
/* f0121b4: afac0018 */ sw $t4,0x18($sp)
/* f0121b8: afad0014 */ sw $t5,0x14($sp)
/* f0121bc: afa90010 */ sw $t1,0x10($sp)
/* f0121c0: 27a6008c */ addiu $a2,$sp,0x8c
/* f0121c4: afa0001c */ sw $zero,0x1c($sp)
/* f0121c8: afa00020 */ sw $zero,0x20($sp)
/* f0121cc: 0c00a6ac */ jal 0x29ab0
/* f0121d0: 2447161a */ addiu $a3,$v0,0x161a
/* f0121d4: 8e220284 */ lw $v0,0x284($s1)
/* f0121d8: 3c0143b4 */ lui $at,0x43b4
/* f0121dc: 44814000 */ mtc1 $at,$f8
/* f0121e0: c44419c4 */ lwc1 $f4,0x19c4($v0)
/* f0121e4: 3c017f1b */ lui $at,0x7f1b
/* f0121e8: 27a5009c */ addiu $a1,$sp,0x9c
/* f0121ec: 46002180 */ add.s $f6,$f4,$f0
/* f0121f0: e7a600a0 */ swc1 $f6,0xa0($sp)
/* f0121f4: e4400074 */ swc1 $f0,0x74($v0)
/* f0121f8: 8e380284 */ lw $t8,0x284($s1)
/* f0121fc: e7000078 */ swc1 $f0,0x78($t8)
/* f012200: c7aa0088 */ lwc1 $f10,0x88($sp)
/* f012204: c430948c */ lwc1 $f16,-0x6b74($at)
/* f012208: 8e390284 */ lw $t9,0x284($s1)
/* f01220c: 46085482 */ mul.s $f18,$f10,$f8
/* f012210: 46109103 */ div.s $f4,$f18,$f16
/* f012214: e7240144 */ swc1 $f4,0x144($t9)
/* f012218: 8e240284 */ lw $a0,0x284($s1)
/* f01221c: 0fc2e2b0 */ jal 0xf0b8ac0
/* f012220: 2484036c */ addiu $a0,$a0,0x36c
/* f012224: 0c00685b */ jal 0x1a16c
/* f012228: c7ac0088 */ lwc1 $f12,0x88($sp)
/* f01222c: 8e2f0284 */ lw $t7,0x284($s1)
/* f012230: 46000187 */ neg.s $f6,$f0
/* f012234: 44805000 */ mtc1 $zero,$f10
/* f012238: e5e6036c */ swc1 $f6,0x36c($t7)
/* f01223c: 8e2a0284 */ lw $t2,0x284($s1)
/* f012240: e54a0370 */ swc1 $f10,0x370($t2)
/* f012244: 0c006858 */ jal 0x1a160
/* f012248: c7ac0088 */ lwc1 $f12,0x88($sp)
/* f01224c: 8e2e0284 */ lw $t6,0x284($s1)
/* f012250: e5c00374 */ swc1 $f0,0x374($t6)
/* f012254: 8e2b0284 */ lw $t3,0x284($s1)
/* f012258: c7a2009c */ lwc1 $f2,0x9c($sp)
/* f01225c: e5620310 */ swc1 $f2,0x310($t3)
/* f012260: 8e290284 */ lw $t1,0x284($s1)
/* f012264: 8d2d00bc */ lw $t5,0xbc($t1)
/* f012268: e5a20008 */ swc1 $f2,0x8($t5)
/* f01226c: 8e2c0284 */ lw $t4,0x284($s1)
/* f012270: c7a200a0 */ lwc1 $f2,0xa0($sp)
/* f012274: e5820314 */ swc1 $f2,0x314($t4)
/* f012278: 8e380284 */ lw $t8,0x284($s1)
/* f01227c: 8f1900bc */ lw $t9,0xbc($t8)
/* f012280: e722000c */ swc1 $f2,0xc($t9)
/* f012284: 8e2f0284 */ lw $t7,0x284($s1)
/* f012288: c7a200a4 */ lwc1 $f2,0xa4($sp)
/* f01228c: e5e20318 */ swc1 $f2,0x318($t7)
/* f012290: 8e2a0284 */ lw $t2,0x284($s1)
/* f012294: 8d4e00bc */ lw $t6,0xbc($t2)
/* f012298: e5c20010 */ swc1 $f2,0x10($t6)
/* f01229c: 8e2b0284 */ lw $t3,0x284($s1)
/* f0122a0: 0fc197b5 */ jal 0xf065ed4
/* f0122a4: 8d6400bc */ lw $a0,0xbc($t3)
/* f0122a8: 8e2d0284 */ lw $t5,0x284($s1)
/* f0122ac: 87a9008c */ lh $t1,0x8c($sp)
/* f0122b0: 2418ffff */ li $t8,-1
/* f0122b4: 8dac00bc */ lw $t4,0xbc($t5)
/* f0122b8: 27a4009c */ addiu $a0,$sp,0x9c
/* f0122bc: a5890028 */ sh $t1,0x28($t4)
/* f0122c0: 8e390284 */ lw $t9,0x284($s1)
/* f0122c4: 8f2f00bc */ lw $t7,0xbc($t9)
/* f0122c8: a5f8002a */ sh $t8,0x2a($t7)
/* f0122cc: 8e220284 */ lw $v0,0x284($s1)
/* f0122d0: 87a7008c */ lh $a3,0x8c($sp)
/* f0122d4: 24450394 */ addiu $a1,$v0,0x394
/* f0122d8: 0fc30864 */ jal 0xf0c2190
/* f0122dc: 24460388 */ addiu $a2,$v0,0x388
/* f0122e0: 0fc0797c */ jal 0xf01e5f0
/* f0122e4: 00000000 */ nop
/* f0122e8: 18400026 */ blez $v0,.PF0f012384
/* f0122ec: 00402025 */ move $a0,$v0
/* f0122f0: 000428c0 */ sll $a1,$a0,0x3
/* f0122f4: 00a42823 */ subu $a1,$a1,$a0
/* f0122f8: 00052880 */ sll $a1,$a1,0x2
/* f0122fc: 00a42823 */ subu $a1,$a1,$a0
/* f012300: 00052880 */ sll $a1,$a1,0x2
/* f012304: 00a42821 */ addu $a1,$a1,$a0
/* f012308: 3c068006 */ lui $a2,0x8006
/* f01230c: 24c62668 */ addiu $a2,$a2,0x2668
/* f012310: 000528c0 */ sll $a1,$a1,0x3
/* f012314: 00001025 */ move $v0,$zero
/* f012318: 24080048 */ li $t0,0x48
/* f01231c: 2407fffe */ li $a3,-2
/* f012320: 8cca0000 */ lw $t2,0x0($a2)
.PF0f012324:
/* f012324: 004a1821 */ addu $v1,$v0,$t2
/* f012328: 846e017e */ lh $t6,0x17e($v1)
/* f01232c: 24420368 */ addiu $v0,$v0,0x368
/* f012330: 54ee0012 */ bnel $a3,$t6,.PF0f01237c
/* f012334: 0045082a */ slt $at,$v0,$a1
/* f012338: 8e2b0284 */ lw $t3,0x284($s1)
/* f01233c: 8e290338 */ lw $t1,0x338($s1)
/* f012340: 8d6d00bc */ lw $t5,0xbc($t3)
/* f012344: 01a96023 */ subu $t4,$t5,$t1
/* f012348: 0188001a */ div $zero,$t4,$t0
/* f01234c: 0000c812 */ mflo $t9
/* f012350: a479017e */ sh $t9,0x17e($v1)
/* f012354: 15000002 */ bnez $t0,.PF0f012360
/* f012358: 00000000 */ nop
/* f01235c: 0007000d */ break 0x7
.PF0f012360:
/* f012360: 2401ffff */ li $at,-1
/* f012364: 15010004 */ bne $t0,$at,.PF0f012378
/* f012368: 3c018000 */ lui $at,0x8000
/* f01236c: 15810002 */ bne $t4,$at,.PF0f012378
/* f012370: 00000000 */ nop
/* f012374: 0006000d */ break 0x6
.PF0f012378:
/* f012378: 0045082a */ slt $at,$v0,$a1
.PF0f01237c:
/* f01237c: 5420ffe9 */ bnezl $at,.PF0f012324
/* f012380: 8cca0000 */ lw $t2,0x0($a2)
.PF0f012384:
/* f012384: 0fc32f95 */ jal 0xf0cbe54
/* f012388: 8e240284 */ lw $a0,0x284($s1)
/* f01238c: 8e380318 */ lw $t8,0x318($s1)
/* f012390: 13000005 */ beqz $t8,.PF0f0123a8
/* f012394: 00000000 */ nop
/* f012398: 0fc2e6e5 */ jal 0xf0b9b94
/* f01239c: 00000000 */ nop
/* f0123a0: 10000003 */ b .PF0f0123b0
/* f0123a4: 00000000 */ nop
.PF0f0123a8:
/* f0123a8: 0fc2e7d0 */ jal 0xf0b9f40
/* f0123ac: 00000000 */ nop
.PF0f0123b0:
/* f0123b0: 3c048007 */ lui $a0,0x8007
/* f0123b4: 24840a48 */ addiu $a0,$a0,0xa48
/* f0123b8: 00007840 */ sll $t7,$zero,0x1
/* f0123bc: 008f5021 */ addu $t2,$a0,$t7
/* f0123c0: 854e0000 */ lh $t6,0x0($t2)
/* f0123c4: 3c038007 */ lui $v1,0x8007
/* f0123c8: 24630a5c */ addiu $v1,$v1,0xa5c
/* f0123cc: ac600000 */ sw $zero,0x0($v1)
/* f0123d0: 19c00009 */ blez $t6,.PF0f0123f8
/* f0123d4: 00001025 */ move $v0,$zero
/* f0123d8: 244b0001 */ addiu $t3,$v0,0x1
.PF0f0123dc:
/* f0123dc: 000b6840 */ sll $t5,$t3,0x1
/* f0123e0: 008d4821 */ addu $t1,$a0,$t5
/* f0123e4: 852c0000 */ lh $t4,0x0($t1)
/* f0123e8: ac6b0000 */ sw $t3,0x0($v1)
/* f0123ec: 01601025 */ move $v0,$t3
/* f0123f0: 5d80fffa */ bgtzl $t4,.PF0f0123dc
/* f0123f4: 244b0001 */ addiu $t3,$v0,0x1
.PF0f0123f8:
/* f0123f8: 8e390284 */ lw $t9,0x284($s1)
/* f0123fc: 3c02800a */ lui $v0,0x800a
/* f012400: 3c03800a */ lui $v1,0x800a
/* f012404: af201b84 */ sw $zero,0x1b84($t9)
/* f012408: 8e380284 */ lw $t8,0x284($s1)
/* f01240c: 2463a520 */ addiu $v1,$v1,-23264
/* f012410: 2442a510 */ addiu $v0,$v0,-23280
/* f012414: af0000e0 */ sw $zero,0xe0($t8)
.PF0f012418:
/* f012418: 24420004 */ addiu $v0,$v0,0x4
/* f01241c: 1443fffe */ bne $v0,$v1,.PF0f012418
/* f012420: ac4004b4 */ sw $zero,0x4b4($v0)
/* f012424: 27a40048 */ addiu $a0,$sp,0x48
/* f012428: 27a50044 */ addiu $a1,$sp,0x44
/* f01242c: 0fc2e313 */ jal 0xf0b8c4c
/* f012430: 00003025 */ move $a2,$zero
/* f012434: 8e2a0284 */ lw $t2,0x284($s1)
/* f012438: 8faf0048 */ lw $t7,0x48($sp)
/* f01243c: 8d4e00bc */ lw $t6,0xbc($t2)
/* f012440: 8dcb0004 */ lw $t3,0x4($t6)
/* f012444: a56f0010 */ sh $t7,0x10($t3)
/* f012448: 8e290284 */ lw $t1,0x284($s1)
/* f01244c: 8fad0044 */ lw $t5,0x44($sp)
/* f012450: 8d2c00bc */ lw $t4,0xbc($t1)
/* f012454: 8d990004 */ lw $t9,0x4($t4)
/* f012458: a32d0006 */ sb $t5,0x6($t9)
/* f01245c: 8fbf0034 */ lw $ra,0x34($sp)
/* f012460: 8fb10030 */ lw $s1,0x30($sp)
/* f012464: 8fb0002c */ lw $s0,0x2c($sp)
/* f012468: 03e00008 */ jr $ra
/* f01246c: 27bd00a8 */ addiu $sp,$sp,0xa8
);
#else
GLOBAL_ASM(
glabel currentPlayerInit
.late_rodata
@@ -1277,8 +2100,8 @@ glabel var7f1a827c
/* f012440: 8fb0002c */ lw $s0,0x2c($sp)
/* f012444: 03e00008 */ jr $ra
/* f012448: 27bd00a8 */ addiu $sp,$sp,0xa8
/* f01244c: 00000000 */ nop
);
#endif
// regalloc
//void currentPlayerInit(void)
+3 -192
View File
@@ -85,7 +85,7 @@ void currentPlayerInitAnimation(void)
modelSetAnimPlaySpeed(&g_Vars.currentplayer->model, (PAL ? 1.2f : 1), 0);
g_Vars.currentplayer->headanim = 0;
g_Vars.currentplayer->headdamp = 0.93f;
g_Vars.currentplayer->headdamp = (PAL ? 0.9166f : 0.93f);
g_Vars.currentplayer->headwalkingtime60 = 0;
g_Vars.currentplayer->headamplitude = 1;
g_Vars.currentplayer->sideamplitude = 1;
@@ -103,9 +103,9 @@ void currentPlayerInitAnimation(void)
g_Vars.currentplayer->headpossum.z = 0;
g_Vars.currentplayer->headlooksum.x = 0;
g_Vars.currentplayer->headlooksum.y = 0;
g_Vars.currentplayer->headlooksum.z = 14.285716056824f;
g_Vars.currentplayer->headlooksum.z = (PAL ? 11.990406036377f : 14.285716056824f);
g_Vars.currentplayer->headupsum.x = 0;
g_Vars.currentplayer->headupsum.y = 14.285716056824f;
g_Vars.currentplayer->headupsum.y = (PAL ? 11.990406036377f : 14.285716056824f);
g_Vars.currentplayer->headupsum.z = 0;
g_Vars.currentplayer->resetheadpos = true;
g_Vars.currentplayer->resetheadrot = true;
@@ -173,192 +173,3 @@ void currentPlayerInitAnimation(void)
bheadUpdateIdleRoll();
}
}
GLOBAL_ASM(
glabel func0f012aa0
/* f012aa0: 27bdfed0 */ addiu $sp,$sp,-304
/* f012aa4: afb5003c */ sw $s5,0x3c($sp)
/* f012aa8: 3c15800a */ lui $s5,%hi(g_StageSetup)
/* f012aac: 26b5d030 */ addiu $s5,$s5,%lo(g_StageSetup)
/* f012ab0: 8ea2001c */ lw $v0,0x1c($s5)
/* f012ab4: 3c04800a */ lui $a0,%hi(g_PadsFile)
/* f012ab8: 3c07800a */ lui $a3,%hi(g_PadOffsets)
/* f012abc: 24e72354 */ addiu $a3,$a3,%lo(g_PadOffsets)
/* f012ac0: 24842350 */ addiu $a0,$a0,%lo(g_PadsFile)
/* f012ac4: 244e0014 */ addiu $t6,$v0,0x14
/* f012ac8: afbf004c */ sw $ra,0x4c($sp)
/* f012acc: afbe0048 */ sw $s8,0x48($sp)
/* f012ad0: afb70044 */ sw $s7,0x44($sp)
/* f012ad4: afb60040 */ sw $s6,0x40($sp)
/* f012ad8: afb40038 */ sw $s4,0x38($sp)
/* f012adc: afb30034 */ sw $s3,0x34($sp)
/* f012ae0: afb20030 */ sw $s2,0x30($sp)
/* f012ae4: afb1002c */ sw $s1,0x2c($sp)
/* f012ae8: afb00028 */ sw $s0,0x28($sp)
/* f012aec: f7b40020 */ sdc1 $f20,0x20($sp)
/* f012af0: acee0000 */ sw $t6,0x0($a3)
/* f012af4: ac820000 */ sw $v0,0x0($a0)
/* f012af8: 8c480000 */ lw $t0,0x0($v0)
/* f012afc: 00009025 */ or $s2,$zero,$zero
/* f012b00: 0000a025 */ or $s4,$zero,$zero
/* f012b04: 1900005e */ blez $t0,.L0f012c80
/* f012b08: 00401825 */ or $v1,$v0,$zero
/* f012b0c: 3c013f80 */ lui $at,0x3f80
/* f012b10: 4481a000 */ mtc1 $at,$f20
/* f012b14: afa80120 */ sw $t0,0x120($sp)
/* f012b18: 241effff */ addiu $s8,$zero,-1
/* f012b1c: 27b70064 */ addiu $s7,$sp,0x64
/* f012b20: 27b60090 */ addiu $s6,$sp,0x90
/* f012b24: 27b300c8 */ addiu $s3,$sp,0xc8
.L0f012b28:
/* f012b28: 3c07800a */ lui $a3,%hi(g_PadOffsets)
/* f012b2c: 24e72354 */ addiu $a3,$a3,%lo(g_PadOffsets)
/* f012b30: 8cef0000 */ lw $t7,0x0($a3)
/* f012b34: 8eb9001c */ lw $t9,0x1c($s5)
/* f012b38: 02402025 */ or $a0,$s2,$zero
/* f012b3c: 01f4c021 */ addu $t8,$t7,$s4
/* f012b40: 97020000 */ lhu $v0,0x0($t8)
/* f012b44: 24050022 */ addiu $a1,$zero,0x22
/* f012b48: 02603025 */ or $a2,$s3,$zero
/* f012b4c: 0fc456ac */ jal padUnpack
/* f012b50: 03228821 */ addu $s1,$t9,$v0
/* f012b54: 8e290000 */ lw $t1,0x0($s1)
/* f012b58: 00008025 */ or $s0,$zero,$zero
/* f012b5c: 02602025 */ or $a0,$s3,$zero
/* f012b60: 00095480 */ sll $t2,$t1,0x12
/* f012b64: 000a5d83 */ sra $t3,$t2,0x16
/* f012b68: 05610023 */ bgez $t3,.L0f012bf8
/* f012b6c: 02c02825 */ or $a1,$s6,$zero
/* f012b70: 02e03025 */ or $a2,$s7,$zero
/* f012b74: 24070014 */ addiu $a3,$zero,0x14
/* f012b78: 0fc58865 */ jal func0f162194
/* f012b7c: afa00010 */ sw $zero,0x10($sp)
/* f012b80: 87ac0090 */ lh $t4,0x90($sp)
/* f012b84: 87ad0064 */ lh $t5,0x64($sp)
/* f012b88: 02602025 */ or $a0,$s3,$zero
/* f012b8c: 13cc0003 */ beq $s8,$t4,.L0f012b9c
/* f012b90: 00000000 */ nop
/* f012b94: 10000004 */ b .L0f012ba8
/* f012b98: 02c08025 */ or $s0,$s6,$zero
.L0f012b9c:
/* f012b9c: 13cd0002 */ beq $s8,$t5,.L0f012ba8
/* f012ba0: 00000000 */ nop
/* f012ba4: 02e08025 */ or $s0,$s7,$zero
.L0f012ba8:
/* f012ba8: 52000014 */ beqzl $s0,.L0f012bfc
/* f012bac: 8e2b0000 */ lw $t3,0x0($s1)
/* f012bb0: 0c00a900 */ jal func0002a400
/* f012bb4: 02002825 */ or $a1,$s0,$zero
/* f012bb8: 58400009 */ blezl $v0,.L0f012be0
/* f012bbc: 860e0000 */ lh $t6,0x0($s0)
/* f012bc0: 86290002 */ lh $t1,0x2($s1)
/* f012bc4: 0002c100 */ sll $t8,$v0,0x4
/* f012bc8: 33193ff0 */ andi $t9,$t8,0x3ff0
/* f012bcc: 312ac00f */ andi $t2,$t1,0xc00f
/* f012bd0: 032a5825 */ or $t3,$t9,$t2
/* f012bd4: 10000008 */ b .L0f012bf8
/* f012bd8: a62b0002 */ sh $t3,0x2($s1)
/* f012bdc: 860e0000 */ lh $t6,0x0($s0)
.L0f012be0:
/* f012be0: 86290002 */ lh $t1,0x2($s1)
/* f012be4: 000e7900 */ sll $t7,$t6,0x4
/* f012be8: 31f83ff0 */ andi $t8,$t7,0x3ff0
/* f012bec: 3139c00f */ andi $t9,$t1,0xc00f
/* f012bf0: 03195025 */ or $t2,$t8,$t9
/* f012bf4: a62a0002 */ sh $t2,0x2($s1)
.L0f012bf8:
/* f012bf8: 8e2b0000 */ lw $t3,0x0($s1)
.L0f012bfc:
/* f012bfc: c7a400f8 */ lwc1 $f4,0xf8($sp)
/* f012c00: 000b6382 */ srl $t4,$t3,0xe
/* f012c04: 318d0200 */ andi $t5,$t4,0x200
/* f012c08: 51a00016 */ beqzl $t5,.L0f012c64
/* f012c0c: 8fae0120 */ lw $t6,0x120($sp)
/* f012c10: 46142182 */ mul.s $f6,$f4,$f20
/* f012c14: c7a800fc */ lwc1 $f8,0xfc($sp)
/* f012c18: c7b00100 */ lwc1 $f16,0x100($sp)
/* f012c1c: c7a40104 */ lwc1 $f4,0x104($sp)
/* f012c20: 46144282 */ mul.s $f10,$f8,$f20
/* f012c24: c7a80108 */ lwc1 $f8,0x108($sp)
/* f012c28: 02402025 */ or $a0,$s2,$zero
/* f012c2c: 46148482 */ mul.s $f18,$f16,$f20
/* f012c30: e7a600f8 */ swc1 $f6,0xf8($sp)
/* f012c34: c7b0010c */ lwc1 $f16,0x10c($sp)
/* f012c38: 46142182 */ mul.s $f6,$f4,$f20
/* f012c3c: e7aa00fc */ swc1 $f10,0xfc($sp)
/* f012c40: 02602825 */ or $a1,$s3,$zero
/* f012c44: 46144282 */ mul.s $f10,$f8,$f20
/* f012c48: e7b20100 */ swc1 $f18,0x100($sp)
/* f012c4c: 46148482 */ mul.s $f18,$f16,$f20
/* f012c50: e7a60104 */ swc1 $f6,0x104($sp)
/* f012c54: e7aa0108 */ swc1 $f10,0x108($sp)
/* f012c58: 0fc45864 */ jal padCopyBboxFromPad
/* f012c5c: e7b2010c */ swc1 $f18,0x10c($sp)
/* f012c60: 8fae0120 */ lw $t6,0x120($sp)
.L0f012c64:
/* f012c64: 26520001 */ addiu $s2,$s2,0x1
/* f012c68: 26940002 */ addiu $s4,$s4,0x2
/* f012c6c: 164effae */ bne $s2,$t6,.L0f012b28
/* f012c70: 00000000 */ nop
/* f012c74: 3c03800a */ lui $v1,%hi(g_PadsFile)
/* f012c78: 8c632350 */ lw $v1,%lo(g_PadsFile)($v1)
/* f012c7c: 8ea2001c */ lw $v0,0x1c($s5)
.L0f012c80:
/* f012c80: 8c6f0008 */ lw $t7,0x8($v1)
/* f012c84: 004f4821 */ addu $t1,$v0,$t7
/* f012c88: aea90000 */ sw $t1,0x0($s5)
/* f012c8c: 8c78000c */ lw $t8,0xc($v1)
/* f012c90: 0058c821 */ addu $t9,$v0,$t8
/* f012c94: aeb90004 */ sw $t9,0x4($s5)
/* f012c98: 8c6a0010 */ lw $t2,0x10($v1)
/* f012c9c: 004a5821 */ addu $t3,$v0,$t2
/* f012ca0: 11600003 */ beqz $t3,.L0f012cb0
/* f012ca4: aeab0008 */ sw $t3,0x8($s5)
/* f012ca8: 0fc050ba */ jal coverLoad
/* f012cac: 00000000 */ nop
.L0f012cb0:
/* f012cb0: 8ea20000 */ lw $v0,0x0($s5)
/* f012cb4: 8c4d0000 */ lw $t5,0x0($v0)
/* f012cb8: 05a20009 */ bltzl $t5,.L0f012ce0
/* f012cbc: 8ea20004 */ lw $v0,0x4($s5)
.L0f012cc0:
/* f012cc0: 8eae001c */ lw $t6,0x1c($s5)
/* f012cc4: 8c4f0004 */ lw $t7,0x4($v0)
/* f012cc8: 8c580010 */ lw $t8,0x10($v0)
/* f012ccc: 24420010 */ addiu $v0,$v0,0x10
/* f012cd0: 01cf4821 */ addu $t1,$t6,$t7
/* f012cd4: 0701fffa */ bgez $t8,.L0f012cc0
/* f012cd8: ac49fff4 */ sw $t1,-0xc($v0)
/* f012cdc: 8ea20004 */ lw $v0,0x4($s5)
.L0f012ce0:
/* f012ce0: 8c430000 */ lw $v1,0x0($v0)
/* f012ce4: 5060000c */ beqzl $v1,.L0f012d18
/* f012ce8: 8fbf004c */ lw $ra,0x4c($sp)
.L0f012cec:
/* f012cec: 8eb9001c */ lw $t9,0x1c($s5)
/* f012cf0: 8c4c0004 */ lw $t4,0x4($v0)
/* f012cf4: 2442000c */ addiu $v0,$v0,0xc
/* f012cf8: 03235021 */ addu $t2,$t9,$v1
/* f012cfc: ac4afff4 */ sw $t2,-0xc($v0)
/* f012d00: 8eab001c */ lw $t3,0x1c($s5)
/* f012d04: 8c430000 */ lw $v1,0x0($v0)
/* f012d08: 016c6821 */ addu $t5,$t3,$t4
/* f012d0c: 1460fff7 */ bnez $v1,.L0f012cec
/* f012d10: ac4dfff8 */ sw $t5,-0x8($v0)
/* f012d14: 8fbf004c */ lw $ra,0x4c($sp)
.L0f012d18:
/* f012d18: d7b40020 */ ldc1 $f20,0x20($sp)
/* f012d1c: 8fb00028 */ lw $s0,0x28($sp)
/* f012d20: 8fb1002c */ lw $s1,0x2c($sp)
/* f012d24: 8fb20030 */ lw $s2,0x30($sp)
/* f012d28: 8fb30034 */ lw $s3,0x34($sp)
/* f012d2c: 8fb40038 */ lw $s4,0x38($sp)
/* f012d30: 8fb5003c */ lw $s5,0x3c($sp)
/* f012d34: 8fb60040 */ lw $s6,0x40($sp)
/* f012d38: 8fb70044 */ lw $s7,0x44($sp)
/* f012d3c: 8fbe0048 */ lw $s8,0x48($sp)
/* f012d40: 03e00008 */ jr $ra
/* f012d44: 27bd0130 */ addiu $sp,$sp,0x130
/* f012d48: 00000000 */ nop
/* f012d4c: 00000000 */ nop
);
+202
View File
@@ -0,0 +1,202 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_0125a0.h"
#include "game/game_013ee0.h"
#include "game/bondhead.h"
#include "game/room.h"
#include "game/pad.h"
#include "gvars/gvars.h"
#include "lib/lib_159b0.h"
#include "lib/lib_233c0.h"
#include "lib/model.h"
#include "data.h"
#include "types.h"
GLOBAL_ASM(
glabel func0f012aa0
/* f012aa0: 27bdfed0 */ addiu $sp,$sp,-304
/* f012aa4: afb5003c */ sw $s5,0x3c($sp)
/* f012aa8: 3c15800a */ lui $s5,%hi(g_StageSetup)
/* f012aac: 26b5d030 */ addiu $s5,$s5,%lo(g_StageSetup)
/* f012ab0: 8ea2001c */ lw $v0,0x1c($s5)
/* f012ab4: 3c04800a */ lui $a0,%hi(g_PadsFile)
/* f012ab8: 3c07800a */ lui $a3,%hi(g_PadOffsets)
/* f012abc: 24e72354 */ addiu $a3,$a3,%lo(g_PadOffsets)
/* f012ac0: 24842350 */ addiu $a0,$a0,%lo(g_PadsFile)
/* f012ac4: 244e0014 */ addiu $t6,$v0,0x14
/* f012ac8: afbf004c */ sw $ra,0x4c($sp)
/* f012acc: afbe0048 */ sw $s8,0x48($sp)
/* f012ad0: afb70044 */ sw $s7,0x44($sp)
/* f012ad4: afb60040 */ sw $s6,0x40($sp)
/* f012ad8: afb40038 */ sw $s4,0x38($sp)
/* f012adc: afb30034 */ sw $s3,0x34($sp)
/* f012ae0: afb20030 */ sw $s2,0x30($sp)
/* f012ae4: afb1002c */ sw $s1,0x2c($sp)
/* f012ae8: afb00028 */ sw $s0,0x28($sp)
/* f012aec: f7b40020 */ sdc1 $f20,0x20($sp)
/* f012af0: acee0000 */ sw $t6,0x0($a3)
/* f012af4: ac820000 */ sw $v0,0x0($a0)
/* f012af8: 8c480000 */ lw $t0,0x0($v0)
/* f012afc: 00009025 */ or $s2,$zero,$zero
/* f012b00: 0000a025 */ or $s4,$zero,$zero
/* f012b04: 1900005e */ blez $t0,.L0f012c80
/* f012b08: 00401825 */ or $v1,$v0,$zero
/* f012b0c: 3c013f80 */ lui $at,0x3f80
/* f012b10: 4481a000 */ mtc1 $at,$f20
/* f012b14: afa80120 */ sw $t0,0x120($sp)
/* f012b18: 241effff */ addiu $s8,$zero,-1
/* f012b1c: 27b70064 */ addiu $s7,$sp,0x64
/* f012b20: 27b60090 */ addiu $s6,$sp,0x90
/* f012b24: 27b300c8 */ addiu $s3,$sp,0xc8
.L0f012b28:
/* f012b28: 3c07800a */ lui $a3,%hi(g_PadOffsets)
/* f012b2c: 24e72354 */ addiu $a3,$a3,%lo(g_PadOffsets)
/* f012b30: 8cef0000 */ lw $t7,0x0($a3)
/* f012b34: 8eb9001c */ lw $t9,0x1c($s5)
/* f012b38: 02402025 */ or $a0,$s2,$zero
/* f012b3c: 01f4c021 */ addu $t8,$t7,$s4
/* f012b40: 97020000 */ lhu $v0,0x0($t8)
/* f012b44: 24050022 */ addiu $a1,$zero,0x22
/* f012b48: 02603025 */ or $a2,$s3,$zero
/* f012b4c: 0fc456ac */ jal padUnpack
/* f012b50: 03228821 */ addu $s1,$t9,$v0
/* f012b54: 8e290000 */ lw $t1,0x0($s1)
/* f012b58: 00008025 */ or $s0,$zero,$zero
/* f012b5c: 02602025 */ or $a0,$s3,$zero
/* f012b60: 00095480 */ sll $t2,$t1,0x12
/* f012b64: 000a5d83 */ sra $t3,$t2,0x16
/* f012b68: 05610023 */ bgez $t3,.L0f012bf8
/* f012b6c: 02c02825 */ or $a1,$s6,$zero
/* f012b70: 02e03025 */ or $a2,$s7,$zero
/* f012b74: 24070014 */ addiu $a3,$zero,0x14
/* f012b78: 0fc58865 */ jal func0f162194
/* f012b7c: afa00010 */ sw $zero,0x10($sp)
/* f012b80: 87ac0090 */ lh $t4,0x90($sp)
/* f012b84: 87ad0064 */ lh $t5,0x64($sp)
/* f012b88: 02602025 */ or $a0,$s3,$zero
/* f012b8c: 13cc0003 */ beq $s8,$t4,.L0f012b9c
/* f012b90: 00000000 */ nop
/* f012b94: 10000004 */ b .L0f012ba8
/* f012b98: 02c08025 */ or $s0,$s6,$zero
.L0f012b9c:
/* f012b9c: 13cd0002 */ beq $s8,$t5,.L0f012ba8
/* f012ba0: 00000000 */ nop
/* f012ba4: 02e08025 */ or $s0,$s7,$zero
.L0f012ba8:
/* f012ba8: 52000014 */ beqzl $s0,.L0f012bfc
/* f012bac: 8e2b0000 */ lw $t3,0x0($s1)
/* f012bb0: 0c00a900 */ jal func0002a400
/* f012bb4: 02002825 */ or $a1,$s0,$zero
/* f012bb8: 58400009 */ blezl $v0,.L0f012be0
/* f012bbc: 860e0000 */ lh $t6,0x0($s0)
/* f012bc0: 86290002 */ lh $t1,0x2($s1)
/* f012bc4: 0002c100 */ sll $t8,$v0,0x4
/* f012bc8: 33193ff0 */ andi $t9,$t8,0x3ff0
/* f012bcc: 312ac00f */ andi $t2,$t1,0xc00f
/* f012bd0: 032a5825 */ or $t3,$t9,$t2
/* f012bd4: 10000008 */ b .L0f012bf8
/* f012bd8: a62b0002 */ sh $t3,0x2($s1)
/* f012bdc: 860e0000 */ lh $t6,0x0($s0)
.L0f012be0:
/* f012be0: 86290002 */ lh $t1,0x2($s1)
/* f012be4: 000e7900 */ sll $t7,$t6,0x4
/* f012be8: 31f83ff0 */ andi $t8,$t7,0x3ff0
/* f012bec: 3139c00f */ andi $t9,$t1,0xc00f
/* f012bf0: 03195025 */ or $t2,$t8,$t9
/* f012bf4: a62a0002 */ sh $t2,0x2($s1)
.L0f012bf8:
/* f012bf8: 8e2b0000 */ lw $t3,0x0($s1)
.L0f012bfc:
/* f012bfc: c7a400f8 */ lwc1 $f4,0xf8($sp)
/* f012c00: 000b6382 */ srl $t4,$t3,0xe
/* f012c04: 318d0200 */ andi $t5,$t4,0x200
/* f012c08: 51a00016 */ beqzl $t5,.L0f012c64
/* f012c0c: 8fae0120 */ lw $t6,0x120($sp)
/* f012c10: 46142182 */ mul.s $f6,$f4,$f20
/* f012c14: c7a800fc */ lwc1 $f8,0xfc($sp)
/* f012c18: c7b00100 */ lwc1 $f16,0x100($sp)
/* f012c1c: c7a40104 */ lwc1 $f4,0x104($sp)
/* f012c20: 46144282 */ mul.s $f10,$f8,$f20
/* f012c24: c7a80108 */ lwc1 $f8,0x108($sp)
/* f012c28: 02402025 */ or $a0,$s2,$zero
/* f012c2c: 46148482 */ mul.s $f18,$f16,$f20
/* f012c30: e7a600f8 */ swc1 $f6,0xf8($sp)
/* f012c34: c7b0010c */ lwc1 $f16,0x10c($sp)
/* f012c38: 46142182 */ mul.s $f6,$f4,$f20
/* f012c3c: e7aa00fc */ swc1 $f10,0xfc($sp)
/* f012c40: 02602825 */ or $a1,$s3,$zero
/* f012c44: 46144282 */ mul.s $f10,$f8,$f20
/* f012c48: e7b20100 */ swc1 $f18,0x100($sp)
/* f012c4c: 46148482 */ mul.s $f18,$f16,$f20
/* f012c50: e7a60104 */ swc1 $f6,0x104($sp)
/* f012c54: e7aa0108 */ swc1 $f10,0x108($sp)
/* f012c58: 0fc45864 */ jal padCopyBboxFromPad
/* f012c5c: e7b2010c */ swc1 $f18,0x10c($sp)
/* f012c60: 8fae0120 */ lw $t6,0x120($sp)
.L0f012c64:
/* f012c64: 26520001 */ addiu $s2,$s2,0x1
/* f012c68: 26940002 */ addiu $s4,$s4,0x2
/* f012c6c: 164effae */ bne $s2,$t6,.L0f012b28
/* f012c70: 00000000 */ nop
/* f012c74: 3c03800a */ lui $v1,%hi(g_PadsFile)
/* f012c78: 8c632350 */ lw $v1,%lo(g_PadsFile)($v1)
/* f012c7c: 8ea2001c */ lw $v0,0x1c($s5)
.L0f012c80:
/* f012c80: 8c6f0008 */ lw $t7,0x8($v1)
/* f012c84: 004f4821 */ addu $t1,$v0,$t7
/* f012c88: aea90000 */ sw $t1,0x0($s5)
/* f012c8c: 8c78000c */ lw $t8,0xc($v1)
/* f012c90: 0058c821 */ addu $t9,$v0,$t8
/* f012c94: aeb90004 */ sw $t9,0x4($s5)
/* f012c98: 8c6a0010 */ lw $t2,0x10($v1)
/* f012c9c: 004a5821 */ addu $t3,$v0,$t2
/* f012ca0: 11600003 */ beqz $t3,.L0f012cb0
/* f012ca4: aeab0008 */ sw $t3,0x8($s5)
/* f012ca8: 0fc050ba */ jal coverLoad
/* f012cac: 00000000 */ nop
.L0f012cb0:
/* f012cb0: 8ea20000 */ lw $v0,0x0($s5)
/* f012cb4: 8c4d0000 */ lw $t5,0x0($v0)
/* f012cb8: 05a20009 */ bltzl $t5,.L0f012ce0
/* f012cbc: 8ea20004 */ lw $v0,0x4($s5)
.L0f012cc0:
/* f012cc0: 8eae001c */ lw $t6,0x1c($s5)
/* f012cc4: 8c4f0004 */ lw $t7,0x4($v0)
/* f012cc8: 8c580010 */ lw $t8,0x10($v0)
/* f012ccc: 24420010 */ addiu $v0,$v0,0x10
/* f012cd0: 01cf4821 */ addu $t1,$t6,$t7
/* f012cd4: 0701fffa */ bgez $t8,.L0f012cc0
/* f012cd8: ac49fff4 */ sw $t1,-0xc($v0)
/* f012cdc: 8ea20004 */ lw $v0,0x4($s5)
.L0f012ce0:
/* f012ce0: 8c430000 */ lw $v1,0x0($v0)
/* f012ce4: 5060000c */ beqzl $v1,.L0f012d18
/* f012ce8: 8fbf004c */ lw $ra,0x4c($sp)
.L0f012cec:
/* f012cec: 8eb9001c */ lw $t9,0x1c($s5)
/* f012cf0: 8c4c0004 */ lw $t4,0x4($v0)
/* f012cf4: 2442000c */ addiu $v0,$v0,0xc
/* f012cf8: 03235021 */ addu $t2,$t9,$v1
/* f012cfc: ac4afff4 */ sw $t2,-0xc($v0)
/* f012d00: 8eab001c */ lw $t3,0x1c($s5)
/* f012d04: 8c430000 */ lw $v1,0x0($v0)
/* f012d08: 016c6821 */ addu $t5,$t3,$t4
/* f012d0c: 1460fff7 */ bnez $v1,.L0f012cec
/* f012d10: ac4dfff8 */ sw $t5,-0x8($v0)
/* f012d14: 8fbf004c */ lw $ra,0x4c($sp)
.L0f012d18:
/* f012d18: d7b40020 */ ldc1 $f20,0x20($sp)
/* f012d1c: 8fb00028 */ lw $s0,0x28($sp)
/* f012d20: 8fb1002c */ lw $s1,0x2c($sp)
/* f012d24: 8fb20030 */ lw $s2,0x30($sp)
/* f012d28: 8fb30034 */ lw $s3,0x34($sp)
/* f012d2c: 8fb40038 */ lw $s4,0x38($sp)
/* f012d30: 8fb5003c */ lw $s5,0x3c($sp)
/* f012d34: 8fb60040 */ lw $s6,0x40($sp)
/* f012d38: 8fb70044 */ lw $s7,0x44($sp)
/* f012d3c: 8fbe0048 */ lw $s8,0x48($sp)
/* f012d40: 03e00008 */ jr $ra
/* f012d44: 27bd0130 */ addiu $sp,$sp,0x130
/* f012d48: 00000000 */ nop
/* f012d4c: 00000000 */ nop
);
+2 -14
View File
@@ -163,7 +163,9 @@ void aibotAllocate(s32 chrnum, s32 aibotnum)
aibot->unk059 = 0;
aibot->unk05c = 0;
aibot->unk060 = 0;
#if !PAL
aibot->unk030 = 301;
#endif
aibot->unk038 = 0;
aibot->unk03e = -1;
aibot->unk03c = 0;
@@ -292,17 +294,3 @@ void aibotAllocate(s32 chrnum, s32 aibotnum)
}
}
}
void aibotAllocateInventory(struct chrdata *chr, s32 maxitems)
{
if (chr && chr->aibot && maxitems > 0) {
if (maxitems > 255) {
maxitems = 255;
}
chr->aibot->maxitems = maxitems;
chr->aibot->items = malloc(ALIGN16(maxitems * sizeof(struct invitem)), MEMPOOL_STAGE);
aibotClearInventory(chr);
}
}
+29
View File
@@ -0,0 +1,29 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_0147d0.h"
#include "game/chr/chr.h"
#include "game/game_02cde0.h"
#include "game/prop.h"
#include "game/game_197600.h"
#include "game/mplayer/mplayer.h"
#include "gvars/gvars.h"
#include "lib/memory.h"
#include "lib/model.h"
#include "lib/rng.h"
#include "lib/lib_16110.h"
#include "data.h"
#include "types.h"
void aibotAllocateInventory(struct chrdata *chr, s32 maxitems)
{
if (chr && chr->aibot && maxitems > 0) {
if (maxitems > 255) {
maxitems = 255;
}
chr->aibot->maxitems = maxitems;
chr->aibot->items = malloc(ALIGN16(maxitems * sizeof(struct invitem)), MEMPOOL_STAGE);
aibotClearInventory(chr);
}
}
+6 -5
View File
@@ -10,9 +10,6 @@
#include "types.h"
const u32 var7f1a83b0[] = {0x459c4000};
const u32 var7f1a83b4[] = {0x00000000};
const u32 var7f1a83b8[] = {0x00000000};
const u32 var7f1a83bc[] = {0x00000000};
Mtx *var8009cc80;
Mtx *var8009cc84;
@@ -715,7 +712,7 @@ Gfx *getitleRender(Gfx *gdl)
var80062498 += g_Vars.lvupdate240;
sp30 = (var80062498 * 255) / 280;
sp30 = (var80062498 * 255) / (PAL ? 233 : 280);
if (sp30 > 255) {
sp30 = 255;
@@ -725,7 +722,7 @@ Gfx *getitleRender(Gfx *gdl)
sp30 = 0;
}
sp2c = 255 - (var80062498 * 255 - 163200) / 280;
sp2c = 255 - (var80062498 * 255 - 163200) / (PAL ? 233 : 280);
if (sp2c > 255) {
sp2c = 255;
@@ -735,7 +732,11 @@ Gfx *getitleRender(Gfx *gdl)
sp2c = 0;
}
#if PAL
var80062484 += 2.4f * g_Vars.lvupdate240f;
#else
var80062484 += g_Vars.lvupdate240f + g_Vars.lvupdate240f;
#endif
guRotate(&var8009cc88[var80062410], var80062484, 0, 1, 0);
+31 -1
View File
@@ -1,6 +1,6 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/title.h"
#include "game/game_01b0a0.h"
#include "game/game_01bea0.h"
@@ -60,6 +60,36 @@ void menuCountDialogs(void)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel menuTickAll
.late_rodata
glabel var7f1a8608
.word 0x3ca3d70a
glabel var7f1a860c
.word menuTickAll+0x166c
glabel var7f1a8610
.word menuTickAll+0x166c
glabel var7f1a8614
.word menuTickAll+0x166c
glabel var7f1a8618
.word menuTickAll+0x16a0
glabel var7f1a861c
.word menuTickAll+0x166c
glabel var7f1a8620
.word menuTickAll+0x166c
glabel var7f1a8624
.word menuTickAll+0x166c
glabel var7f1a8628
.word menuTickAll+0x16a0
glabel var7f1a862c
.word menuTickAll+0x16a0
glabel var7f1a8630
.word menuTickAll+0x166c
glabel var7f1a8634
.word menuTickAll+0x166c
glabel var7f1a8638
.word menuTickAll+0x16a0
glabel var7f1a863c
.word menuTickAll+0x166c
.text
/* f01c018: 27bdfe98 */ addiu $sp,$sp,-360
/* f01c01c: afb60040 */ sw $s6,0x40($sp)
/* f01c020: 24160001 */ li $s6,0x1
+2
View File
@@ -6,6 +6,8 @@
#include "types.h"
#if VERSION >= VERSION_PAL_FINAL
const char var7f1a9880pf[] = "language";
GLOBAL_ASM(
glabel func0f01d860
/* f01d930: 27bdffe8 */ addiu $sp,$sp,-24
+6 -2
View File
@@ -311,6 +311,12 @@ glabel func0f092b7c
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f092c04
.late_rodata
glabel var7f1ab73c
.word 0x392ec33e
glabel var7f1ab740
.word 0x3c23d70a
.text
/* f092b04: 3c188007 */ lui $t8,0x8007
/* f092b08: 8f18b1a0 */ lw $t8,-0x4e60($t8)
/* f092b0c: 27bdffa8 */ addiu $sp,$sp,-88
@@ -3523,8 +3529,6 @@ glabel func0f09505c
.late_rodata
glabel var7f1ab788
.word 0x4b18967f
glabel var7f1ab78c
.word 0x00000000
.text
/* f09505c: 27bdffa0 */ addiu $sp,$sp,-96
/* f095060: afb00030 */ sw $s0,0x30($sp)
+10
View File
@@ -12,12 +12,22 @@
#include "data.h"
#include "types.h"
#if VERSION >= VERSION_PAL_FINAL
const u32 var7f1ab800[] = {0x40f13c65};
const u32 var7f1ab804[] = {0x3cf13c65};
const u32 var7f1ab808[] = {0x40f13c65};
const u32 var7f1ab80c[] = {0x3cf13c65};
const u32 var7f1ab810[] = {0x40f13c65};
const u32 var7f1ab814[] = {0x3cf13c65};
#else
const u32 var7f1ab800[] = {0x40c907a9};
const u32 var7f1ab804[] = {0x3cc907a9};
const u32 var7f1ab808[] = {0x40c907a9};
const u32 var7f1ab80c[] = {0x3cc907a9};
const u32 var7f1ab810[] = {0x40c907a9};
const u32 var7f1ab814[] = {0x3cc907a9};
#endif
const u32 var7f1ab818[] = {0x3fd55555};
const u32 var7f1ab81c[] = {0x40555555};
const u32 var7f1ab820[] = {0x3fd55555};
+1400 -1
View File
File diff suppressed because it is too large Load Diff
+833
View File
@@ -2236,6 +2236,838 @@ glabel func0f0adcc8
/* f0addfc: 00000000 */ nop
);
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0ade00
.late_rodata
glabel var7f1accf8
.word 0x3f088888
glabel var7f1accfc
.word 0x40c907a9
glabel var7f1acd00
.word 0x3ec907a9
glabel var7f1acd04
.word 0x40c907a9
glabel var7f1acd08
.word 0x3ec907a9
glabel var7f1acd0c
.word 0x40c907a9
glabel var7f1acd10
.word 0x3ec907a9
glabel var7f1acd14
.word 0x4964e1c0
glabel var7f1acd18
.word 0x3e8e38e4
glabel var7f1acd1c
.word 0x3ed55555
glabel var7f1acd20
.word 0x40555555
glabel var7f1acd24
.word 0x3fb55555
glabel var7f1acd28
.word 0x3fd55555
glabel var7f1acd2c
.word 0x40c907a9
glabel var7f1acd30
.word 0x3dc907a9
glabel var7f1acd34
.word 0x40c907a9
glabel var7f1acd38
.word 0x3dc907a9
glabel var7f1acd3c
.word 0x40c907a9
glabel var7f1acd40
.word 0x3dc907a9
glabel var7f1acd44
.word 0x40c907a9
glabel var7f1acd48
.word 0x3dc907a9
glabel var7f1acd4c
.word 0x40c907a9
glabel var7f1acd50
.word 0x3dc907a9
glabel var7f1acd54
.word 0x40c907a9
glabel var7f1acd58
.word 0x3dc907a9
glabel var7f1acd5c
.word 0x4964e1c0
glabel var7f1acd60
.word 0x3e8e38e4
.text
/* f0ade00: 27bdfec0 */ addiu $sp,$sp,-320
/* f0ade04: 3c0e800a */ lui $t6,%hi(g_Vars+0x284)
/* f0ade08: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6)
/* f0ade0c: afbf001c */ sw $ra,0x1c($sp)
/* f0ade10: afb00018 */ sw $s0,0x18($sp)
/* f0ade14: afa40140 */ sw $a0,0x140($sp)
/* f0ade18: afa50144 */ sw $a1,0x144($sp)
/* f0ade1c: afa60148 */ sw $a2,0x148($sp)
/* f0ade20: 00008025 */ or $s0,$zero,$zero
/* f0ade24: 0fc2866a */ jal handGetWeaponNum
/* f0ade28: afae0134 */ sw $t6,0x134($sp)
/* f0ade2c: 8fb90140 */ lw $t9,0x140($sp)
/* f0ade30: 8fb80134 */ lw $t8,0x134($sp)
/* f0ade34: 240fffff */ addiu $t7,$zero,-1
/* f0ade38: 00194900 */ sll $t1,$t9,0x4
/* f0ade3c: 01394823 */ subu $t1,$t1,$t9
/* f0ade40: 00094880 */ sll $t1,$t1,0x2
/* f0ade44: 01394821 */ addu $t1,$t1,$t9
/* f0ade48: 000948c0 */ sll $t1,$t1,0x3
/* f0ade4c: 01394821 */ addu $t1,$t1,$t9
/* f0ade50: 00094880 */ sll $t1,$t1,0x2
/* f0ade54: 03091821 */ addu $v1,$t8,$t1
/* f0ade58: afa200c4 */ sw $v0,0xc4($sp)
/* f0ade5c: afaf00c0 */ sw $t7,0xc0($sp)
/* f0ade60: 24640638 */ addiu $a0,$v1,0x638
/* f0ade64: 0fc2c40f */ jal handGetWeaponFunction2
/* f0ade68: afa30030 */ sw $v1,0x30($sp)
/* f0ade6c: 8faa0134 */ lw $t2,0x134($sp)
/* f0ade70: 81441580 */ lb $a0,0x1580($t2)
/* f0ade74: 0fc2c3f4 */ jal weaponFindById
/* f0ade78: afa200bc */ sw $v0,0xbc($sp)
/* f0ade7c: 8fa300bc */ lw $v1,0xbc($sp)
/* f0ade80: 24010001 */ addiu $at,$zero,0x1
/* f0ade84: 00002025 */ or $a0,$zero,$zero
/* f0ade88: 8c6b0000 */ lw $t3,0x0($v1)
/* f0ade8c: 316c00ff */ andi $t4,$t3,0xff
/* f0ade90: 55810003 */ bnel $t4,$at,.L0f0adea0
/* f0ade94: 80650007 */ lb $a1,0x7($v1)
/* f0ade98: 00602025 */ or $a0,$v1,$zero
/* f0ade9c: 80650007 */ lb $a1,0x7($v1)
.L0f0adea0:
/* f0adea0: 04a202ac */ bltzl $a1,.L0f0ae954
/* f0adea4: 8fbf001c */ lw $ra,0x1c($sp)
/* f0adea8: 10400009 */ beqz $v0,.L0f0aded0
/* f0adeac: 3c06800a */ lui $a2,%hi(g_Vars)
/* f0adeb0: 10800007 */ beqz $a0,.L0f0aded0
/* f0adeb4: 00056880 */ sll $t5,$a1,0x2
/* f0adeb8: 004d7021 */ addu $t6,$v0,$t5
/* f0adebc: 8dc3001c */ lw $v1,0x1c($t6)
/* f0adec0: 50600004 */ beqzl $v1,.L0f0aded4
/* f0adec4: 8fb900c0 */ lw $t9,0xc0($sp)
/* f0adec8: 8c6f0004 */ lw $t7,0x4($v1)
/* f0adecc: afaf00c0 */ sw $t7,0xc0($sp)
.L0f0aded0:
/* f0aded0: 8fb900c0 */ lw $t9,0xc0($sp)
.L0f0aded4:
/* f0aded4: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f0aded8: 0722029e */ bltzl $t9,.L0f0ae954
/* f0adedc: 8fbf001c */ lw $ra,0x1c($sp)
/* f0adee0: 8cd8006c */ lw $t8,0x6c($a2)
/* f0adee4: 00002825 */ or $a1,$zero,$zero
/* f0adee8: 00001825 */ or $v1,$zero,$zero
/* f0adeec: 13000003 */ beqz $t8,.L0f0adefc
/* f0adef0: 00002025 */ or $a0,$zero,$zero
/* f0adef4: 10000001 */ b .L0f0adefc
/* f0adef8: 24050001 */ addiu $a1,$zero,0x1
.L0f0adefc:
/* f0adefc: 8cc90068 */ lw $t1,0x68($a2)
/* f0adf00: 00001025 */ or $v0,$zero,$zero
/* f0adf04: 11200003 */ beqz $t1,.L0f0adf14
/* f0adf08: 00000000 */ nop
/* f0adf0c: 10000001 */ b .L0f0adf14
/* f0adf10: 24030001 */ addiu $v1,$zero,0x1
.L0f0adf14:
/* f0adf14: 8cca0064 */ lw $t2,0x64($a2)
/* f0adf18: 11400003 */ beqz $t2,.L0f0adf28
/* f0adf1c: 00000000 */ nop
/* f0adf20: 10000001 */ b .L0f0adf28
/* f0adf24: 24040001 */ addiu $a0,$zero,0x1
.L0f0adf28:
/* f0adf28: 8ccb0070 */ lw $t3,0x70($a2)
/* f0adf2c: 11600003 */ beqz $t3,.L0f0adf3c
/* f0adf30: 00000000 */ nop
/* f0adf34: 10000001 */ b .L0f0adf3c
/* f0adf38: 24020001 */ addiu $v0,$zero,0x1
.L0f0adf3c:
/* f0adf3c: 00446021 */ addu $t4,$v0,$a0
/* f0adf40: 01836821 */ addu $t5,$t4,$v1
/* f0adf44: 01a57021 */ addu $t6,$t5,$a1
/* f0adf48: 29c10002 */ slti $at,$t6,0x2
/* f0adf4c: 10200280 */ beqz $at,.L0f0ae950
/* f0adf50: 8fa40148 */ lw $a0,0x148($sp)
/* f0adf54: 0c005746 */ jal func00015d18
/* f0adf58: 27a500ec */ addiu $a1,$sp,0xec
/* f0adf5c: 0fc27aef */ jal func0f09ebbc
/* f0adf60: 00000000 */ nop
/* f0adf64: 10400004 */ beqz $v0,.L0f0adf78
/* f0adf68: 00402025 */ or $a0,$v0,$zero
/* f0adf6c: 0fc2b732 */ jal func0f0adcc8
/* f0adf70: 27a500ec */ addiu $a1,$sp,0xec
/* f0adf74: 00408025 */ or $s0,$v0,$zero
.L0f0adf78:
/* f0adf78: 12000275 */ beqz $s0,.L0f0ae950
/* f0adf7c: 8fa200c4 */ lw $v0,0xc4($sp)
/* f0adf80: 3c198007 */ lui $t9,%hi(var80070528)
/* f0adf84: 27390528 */ addiu $t9,$t9,%lo(var80070528)
/* f0adf88: 8f210000 */ lw $at,0x0($t9)
/* f0adf8c: 27af00a4 */ addiu $t7,$sp,0xa4
/* f0adf90: 8f290004 */ lw $t1,0x4($t9)
/* f0adf94: ade10000 */ sw $at,0x0($t7)
/* f0adf98: 8f210008 */ lw $at,0x8($t9)
/* f0adf9c: ade90004 */ sw $t1,0x4($t7)
/* f0adfa0: ade10008 */ sw $at,0x8($t7)
/* f0adfa4: c7a40144 */ lwc1 $f4,0x144($sp)
/* f0adfa8: 24010024 */ addiu $at,$zero,0x24
/* f0adfac: 10410008 */ beq $v0,$at,.L0f0adfd0
/* f0adfb0: e6040000 */ swc1 $f4,0x0($s0)
/* f0adfb4: 24010025 */ addiu $at,$zero,0x25
/* f0adfb8: 10410005 */ beq $v0,$at,.L0f0adfd0
/* f0adfbc: 24010002 */ addiu $at,$zero,0x2
/* f0adfc0: 10410003 */ beq $v0,$at,.L0f0adfd0
/* f0adfc4: 24010005 */ addiu $at,$zero,0x5
/* f0adfc8: 544100ee */ bnel $v0,$at,.L0f0ae384
/* f0adfcc: 24010014 */ addiu $at,$zero,0x14
.L0f0adfd0:
/* f0adfd0: 0c004b70 */ jal random
/* f0adfd4: 00000000 */ nop
/* f0adfd8: 44823000 */ mtc1 $v0,$f6
/* f0adfdc: 3c017f1b */ lui $at,%hi(var7f1accf8)
/* f0adfe0: c420ccf8 */ lwc1 $f0,%lo(var7f1accf8)($at)
/* f0adfe4: 04410005 */ bgez $v0,.L0f0adffc
/* f0adfe8: 46803220 */ cvt.s.w $f8,$f6
/* f0adfec: 3c014f80 */ lui $at,0x4f80
/* f0adff0: 44815000 */ mtc1 $at,$f10
/* f0adff4: 00000000 */ nop
/* f0adff8: 460a4200 */ add.s $f8,$f8,$f10
.L0f0adffc:
/* f0adffc: 3c012f80 */ lui $at,0x2f80
/* f0ae000: 44819000 */ mtc1 $at,$f18
/* f0ae004: 3c013d80 */ lui $at,0x3d80
/* f0ae008: 44815000 */ mtc1 $at,$f10
/* f0ae00c: 46124102 */ mul.s $f4,$f8,$f18
/* f0ae010: 00000000 */ nop
/* f0ae014: 46002182 */ mul.s $f6,$f4,$f0
/* f0ae018: 00000000 */ nop
/* f0ae01c: 460a3202 */ mul.s $f8,$f6,$f10
/* f0ae020: 46004480 */ add.s $f18,$f8,$f0
/* f0ae024: 46009107 */ neg.s $f4,$f18
/* f0ae028: 0c004b70 */ jal random
/* f0ae02c: e6040010 */ swc1 $f4,0x10($s0)
/* f0ae030: 44823000 */ mtc1 $v0,$f6
/* f0ae034: 3c014020 */ lui $at,0x4020
/* f0ae038: 44810000 */ mtc1 $at,$f0
/* f0ae03c: 44801000 */ mtc1 $zero,$f2
/* f0ae040: 04410005 */ bgez $v0,.L0f0ae058
/* f0ae044: 468032a0 */ cvt.s.w $f10,$f6
/* f0ae048: 3c014f80 */ lui $at,0x4f80
/* f0ae04c: 44814000 */ mtc1 $at,$f8
/* f0ae050: 00000000 */ nop
/* f0ae054: 46085280 */ add.s $f10,$f10,$f8
.L0f0ae058:
/* f0ae058: 3c012f80 */ lui $at,0x2f80
/* f0ae05c: 44819000 */ mtc1 $at,$f18
/* f0ae060: 3c013d80 */ lui $at,0x3d80
/* f0ae064: 44814000 */ mtc1 $at,$f8
/* f0ae068: 46125102 */ mul.s $f4,$f10,$f18
/* f0ae06c: e6020018 */ swc1 $f2,0x18($s0)
/* f0ae070: 26050010 */ addiu $a1,$s0,0x10
/* f0ae074: 46002182 */ mul.s $f6,$f4,$f0
/* f0ae078: 00000000 */ nop
/* f0ae07c: 46083282 */ mul.s $f10,$f6,$f8
/* f0ae080: 46005480 */ add.s $f18,$f10,$f0
/* f0ae084: e6120014 */ swc1 $f18,0x14($s0)
/* f0ae088: 0c0056c4 */ jal func00015b10
/* f0ae08c: 8fa40148 */ lw $a0,0x148($sp)
/* f0ae090: 0c004b70 */ jal random
/* f0ae094: 00000000 */ nop
/* f0ae098: 44822000 */ mtc1 $v0,$f4
/* f0ae09c: 04410005 */ bgez $v0,.L0f0ae0b4
/* f0ae0a0: 468021a0 */ cvt.s.w $f6,$f4
/* f0ae0a4: 3c014f80 */ lui $at,0x4f80
/* f0ae0a8: 44814000 */ mtc1 $at,$f8
/* f0ae0ac: 00000000 */ nop
/* f0ae0b0: 46083180 */ add.s $f6,$f6,$f8
.L0f0ae0b4:
/* f0ae0b4: 3c012f80 */ lui $at,0x2f80
/* f0ae0b8: 44815000 */ mtc1 $at,$f10
/* f0ae0bc: 3c017f1b */ lui $at,%hi(var7f1accfc)
/* f0ae0c0: c424ccfc */ lwc1 $f4,%lo(var7f1accfc)($at)
/* f0ae0c4: 460a3002 */ mul.s $f0,$f6,$f10
/* f0ae0c8: 3c013d80 */ lui $at,0x3d80
/* f0ae0cc: 44813000 */ mtc1 $at,$f6
/* f0ae0d0: 3c017f1b */ lui $at,%hi(var7f1acd00)
/* f0ae0d4: 46000480 */ add.s $f18,$f0,$f0
/* f0ae0d8: 46049202 */ mul.s $f8,$f18,$f4
/* f0ae0dc: c432cd00 */ lwc1 $f18,%lo(var7f1acd00)($at)
/* f0ae0e0: 46064282 */ mul.s $f10,$f8,$f6
/* f0ae0e4: 46125101 */ sub.s $f4,$f10,$f18
/* f0ae0e8: 0c004b70 */ jal random
/* f0ae0ec: e7a400a4 */ swc1 $f4,0xa4($sp)
/* f0ae0f0: 44824000 */ mtc1 $v0,$f8
/* f0ae0f4: 3c014f80 */ lui $at,0x4f80
/* f0ae0f8: 04410004 */ bgez $v0,.L0f0ae10c
/* f0ae0fc: 468041a0 */ cvt.s.w $f6,$f8
/* f0ae100: 44815000 */ mtc1 $at,$f10
/* f0ae104: 00000000 */ nop
/* f0ae108: 460a3180 */ add.s $f6,$f6,$f10
.L0f0ae10c:
/* f0ae10c: 3c012f80 */ lui $at,0x2f80
/* f0ae110: 44819000 */ mtc1 $at,$f18
/* f0ae114: 3c017f1b */ lui $at,%hi(var7f1acd04)
/* f0ae118: c428cd04 */ lwc1 $f8,%lo(var7f1acd04)($at)
/* f0ae11c: 46123002 */ mul.s $f0,$f6,$f18
/* f0ae120: 3c013d80 */ lui $at,0x3d80
/* f0ae124: 44813000 */ mtc1 $at,$f6
/* f0ae128: 3c017f1b */ lui $at,%hi(var7f1acd08)
/* f0ae12c: 46000100 */ add.s $f4,$f0,$f0
/* f0ae130: 46082282 */ mul.s $f10,$f4,$f8
/* f0ae134: c424cd08 */ lwc1 $f4,%lo(var7f1acd08)($at)
/* f0ae138: 46065482 */ mul.s $f18,$f10,$f6
/* f0ae13c: 46049201 */ sub.s $f8,$f18,$f4
/* f0ae140: 0c004b70 */ jal random
/* f0ae144: e7a800a8 */ swc1 $f8,0xa8($sp)
/* f0ae148: 44825000 */ mtc1 $v0,$f10
/* f0ae14c: 3c014f80 */ lui $at,0x4f80
/* f0ae150: 04410004 */ bgez $v0,.L0f0ae164
/* f0ae154: 468051a0 */ cvt.s.w $f6,$f10
/* f0ae158: 44819000 */ mtc1 $at,$f18
/* f0ae15c: 00000000 */ nop
/* f0ae160: 46123180 */ add.s $f6,$f6,$f18
.L0f0ae164:
/* f0ae164: 3c012f80 */ lui $at,0x2f80
/* f0ae168: 44812000 */ mtc1 $at,$f4
/* f0ae16c: 3c017f1b */ lui $at,%hi(var7f1acd0c)
/* f0ae170: c42acd0c */ lwc1 $f10,%lo(var7f1acd0c)($at)
/* f0ae174: 46043002 */ mul.s $f0,$f6,$f4
/* f0ae178: 3c013d80 */ lui $at,0x3d80
/* f0ae17c: 44813000 */ mtc1 $at,$f6
/* f0ae180: 3c017f1b */ lui $at,%hi(var7f1acd10)
/* f0ae184: 27a400a4 */ addiu $a0,$sp,0xa4
/* f0ae188: 27a50064 */ addiu $a1,$sp,0x64
/* f0ae18c: 46000200 */ add.s $f8,$f0,$f0
/* f0ae190: 460a4482 */ mul.s $f18,$f8,$f10
/* f0ae194: c428cd10 */ lwc1 $f8,%lo(var7f1acd10)($at)
/* f0ae198: 46069102 */ mul.s $f4,$f18,$f6
/* f0ae19c: 46082281 */ sub.s $f10,$f4,$f8
/* f0ae1a0: 0c005923 */ jal func0001648c
/* f0ae1a4: e7aa00ac */ swc1 $f10,0xac($sp)
/* f0ae1a8: 27a40064 */ addiu $a0,$sp,0x64
/* f0ae1ac: 0c005768 */ jal func00015da0
/* f0ae1b0: 27a500c8 */ addiu $a1,$sp,0xc8
/* f0ae1b4: 3c014580 */ lui $at,0x4580
/* f0ae1b8: 44810000 */ mtc1 $at,$f0
/* f0ae1bc: 02003825 */ or $a3,$s0,$zero
/* f0ae1c0: 27a600c8 */ addiu $a2,$sp,0xc8
/* f0ae1c4: 27a800ec */ addiu $t0,$sp,0xec
/* f0ae1c8: 24050003 */ addiu $a1,$zero,0x3
.L0f0ae1cc:
/* f0ae1cc: 00001025 */ or $v0,$zero,$zero
/* f0ae1d0: 00e01825 */ or $v1,$a3,$zero
/* f0ae1d4: 00c02025 */ or $a0,$a2,$zero
/* f0ae1d8: c4900000 */ lwc1 $f16,0x0($a0)
/* f0ae1dc: 24420001 */ addiu $v0,$v0,0x1
/* f0ae1e0: 46008482 */ mul.s $f18,$f16,$f0
/* f0ae1e4: 5045000d */ beql $v0,$a1,.L0f0ae21c
/* f0ae1e8: 4600940d */ trunc.w.s $f16,$f18
/* f0ae1ec: 4600940d */ trunc.w.s $f16,$f18
.L0f0ae1f0:
/* f0ae1f0: 24420001 */ addiu $v0,$v0,0x1
/* f0ae1f4: 24630002 */ addiu $v1,$v1,0x2
/* f0ae1f8: 24840004 */ addiu $a0,$a0,0x4
/* f0ae1fc: 440b8000 */ mfc1 $t3,$f16
/* f0ae200: 00000000 */ nop
/* f0ae204: a46b002c */ sh $t3,0x2c($v1)
/* f0ae208: c4900000 */ lwc1 $f16,0x0($a0)
/* f0ae20c: 46008482 */ mul.s $f18,$f16,$f0
/* f0ae210: 5445fff7 */ bnel $v0,$a1,.L0f0ae1f0
/* f0ae214: 4600940d */ trunc.w.s $f16,$f18
/* f0ae218: 4600940d */ trunc.w.s $f16,$f18
.L0f0ae21c:
/* f0ae21c: 24630002 */ addiu $v1,$v1,0x2
/* f0ae220: 24840004 */ addiu $a0,$a0,0x4
/* f0ae224: 440b8000 */ mfc1 $t3,$f16
/* f0ae228: 00000000 */ nop
/* f0ae22c: a46b002c */ sh $t3,0x2c($v1)
/* f0ae230: 24c6000c */ addiu $a2,$a2,0xc
/* f0ae234: 14c8ffe5 */ bne $a2,$t0,.L0f0ae1cc
/* f0ae238: 24e70006 */ addiu $a3,$a3,0x6
/* f0ae23c: 0c004b70 */ jal random
/* f0ae240: 00000000 */ nop
/* f0ae244: 3c030015 */ lui $v1,0x15
/* f0ae248: 3463aca6 */ ori $v1,$v1,0xaca6
/* f0ae24c: 00026602 */ srl $t4,$v0,0x18
/* f0ae250: 01830019 */ multu $t4,$v1
/* f0ae254: 00006812 */ mflo $t5
/* f0ae258: 000d7283 */ sra $t6,$t5,0xa
/* f0ae25c: 01c3c021 */ addu $t8,$t6,$v1
/* f0ae260: 0c004b70 */ jal random
/* f0ae264: afb8005c */ sw $t8,0x5c($sp)
/* f0ae268: 8faf005c */ lw $t7,0x5c($sp)
/* f0ae26c: 3c03800a */ lui $v1,%hi(g_Vars)
/* f0ae270: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f0ae274: 004f001b */ divu $zero,$v0,$t7
/* f0ae278: 0000c810 */ mfhi $t9
/* f0ae27c: 44994000 */ mtc1 $t9,$f8
/* f0ae280: c60c0014 */ lwc1 $f12,0x14($s0)
/* f0ae284: 15e00002 */ bnez $t7,.L0f0ae290
/* f0ae288: 00000000 */ nop
/* f0ae28c: 0007000d */ break 0x7
.L0f0ae290:
/* f0ae290: 3c014f80 */ lui $at,0x4f80
/* f0ae294: 07210004 */ bgez $t9,.L0f0ae2a8
/* f0ae298: 468042a0 */ cvt.s.w $f10,$f8
/* f0ae29c: 44819000 */ mtc1 $at,$f18
/* f0ae2a0: 00000000 */ nop
/* f0ae2a4: 46125280 */ add.s $f10,$f10,$f18
.L0f0ae2a8:
/* f0ae2a8: 3c017f1b */ lui $at,%hi(var7f1acd14)
/* f0ae2ac: c426cd14 */ lwc1 $f6,%lo(var7f1acd14)($at)
/* f0ae2b0: 3c017f1b */ lui $at,%hi(var7f1acd18)
/* f0ae2b4: c424cd18 */ lwc1 $f4,%lo(var7f1acd18)($at)
/* f0ae2b8: 46065003 */ div.s $f0,$f10,$f6
/* f0ae2bc: 3c013f00 */ lui $at,0x3f00
/* f0ae2c0: 44813000 */ mtc1 $at,$f6
/* f0ae2c4: c60e0010 */ lwc1 $f14,0x10($s0)
/* f0ae2c8: c6100018 */ lwc1 $f16,0x18($s0)
/* f0ae2cc: 46040202 */ mul.s $f8,$f0,$f4
/* f0ae2d0: 46086081 */ sub.s $f2,$f12,$f8
/* f0ae2d4: c6080008 */ lwc1 $f8,0x8($s0)
/* f0ae2d8: 46026480 */ add.s $f18,$f12,$f2
/* f0ae2dc: e6020014 */ swc1 $f2,0x14($s0)
/* f0ae2e0: 46120282 */ mul.s $f10,$f0,$f18
/* f0ae2e4: 00000000 */ nop
/* f0ae2e8: 46065102 */ mul.s $f4,$f10,$f6
/* f0ae2ec: c60a0004 */ lwc1 $f10,0x4($s0)
/* f0ae2f0: 460e0182 */ mul.s $f6,$f0,$f14
/* f0ae2f4: 46044480 */ add.s $f18,$f8,$f4
/* f0ae2f8: c604000c */ lwc1 $f4,0xc($s0)
/* f0ae2fc: 46065200 */ add.s $f8,$f10,$f6
/* f0ae300: e6120008 */ swc1 $f18,0x8($s0)
/* f0ae304: 46100482 */ mul.s $f18,$f0,$f16
/* f0ae308: e6080004 */ swc1 $f8,0x4($s0)
/* f0ae30c: 46122280 */ add.s $f10,$f4,$f18
/* f0ae310: e60a000c */ swc1 $f10,0xc($s0)
/* f0ae314: 8c690034 */ lw $t1,0x34($v1)
/* f0ae318: 8fa20030 */ lw $v0,0x30($sp)
/* f0ae31c: 1920018c */ blez $t1,.L0f0ae950
/* f0ae320: 00000000 */ nop
/* f0ae324: c446095c */ lwc1 $f6,0x95c($v0)
/* f0ae328: c448099c */ lwc1 $f8,0x99c($v0)
/* f0ae32c: c472004c */ lwc1 $f18,0x4c($v1)
/* f0ae330: 46083101 */ sub.s $f4,$f6,$f8
/* f0ae334: 46122283 */ div.s $f10,$f4,$f18
/* f0ae338: 460a7180 */ add.s $f6,$f14,$f10
/* f0ae33c: e6060010 */ swc1 $f6,0x10($s0)
/* f0ae340: c44409a0 */ lwc1 $f4,0x9a0($v0)
/* f0ae344: c4480960 */ lwc1 $f8,0x960($v0)
/* f0ae348: c46a004c */ lwc1 $f10,0x4c($v1)
/* f0ae34c: 46044481 */ sub.s $f18,$f8,$f4
/* f0ae350: c6080014 */ lwc1 $f8,0x14($s0)
/* f0ae354: 460a9183 */ div.s $f6,$f18,$f10
/* f0ae358: 46064100 */ add.s $f4,$f8,$f6
/* f0ae35c: e6040014 */ swc1 $f4,0x14($s0)
/* f0ae360: c44a09a4 */ lwc1 $f10,0x9a4($v0)
/* f0ae364: c4520964 */ lwc1 $f18,0x964($v0)
/* f0ae368: c466004c */ lwc1 $f6,0x4c($v1)
/* f0ae36c: 460a9201 */ sub.s $f8,$f18,$f10
/* f0ae370: 46064103 */ div.s $f4,$f8,$f6
/* f0ae374: 46048480 */ add.s $f18,$f16,$f4
/* f0ae378: 10000175 */ b .L0f0ae950
/* f0ae37c: e6120018 */ swc1 $f18,0x18($s0)
/* f0ae380: 24010014 */ addiu $at,$zero,0x14
.L0f0ae384:
/* f0ae384: 1441002e */ bne $v0,$at,.L0f0ae440
/* f0ae388: 00000000 */ nop
/* f0ae38c: 0c004b70 */ jal random
/* f0ae390: 00000000 */ nop
/* f0ae394: 44825000 */ mtc1 $v0,$f10
/* f0ae398: 3c017f1b */ lui $at,%hi(var7f1acd1c)
/* f0ae39c: c420cd1c */ lwc1 $f0,%lo(var7f1acd1c)($at)
/* f0ae3a0: 04410005 */ bgez $v0,.L0f0ae3b8
/* f0ae3a4: 46805220 */ cvt.s.w $f8,$f10
/* f0ae3a8: 3c014f80 */ lui $at,0x4f80
/* f0ae3ac: 44813000 */ mtc1 $at,$f6
/* f0ae3b0: 00000000 */ nop
/* f0ae3b4: 46064200 */ add.s $f8,$f8,$f6
.L0f0ae3b8:
/* f0ae3b8: 3c012f80 */ lui $at,0x2f80
/* f0ae3bc: 44812000 */ mtc1 $at,$f4
/* f0ae3c0: 3c013e00 */ lui $at,0x3e00
/* f0ae3c4: 44813000 */ mtc1 $at,$f6
/* f0ae3c8: 46044482 */ mul.s $f18,$f8,$f4
/* f0ae3cc: 00000000 */ nop
/* f0ae3d0: 46009282 */ mul.s $f10,$f18,$f0
/* f0ae3d4: 00000000 */ nop
/* f0ae3d8: 46065202 */ mul.s $f8,$f10,$f6
/* f0ae3dc: 46004100 */ add.s $f4,$f8,$f0
/* f0ae3e0: 46002487 */ neg.s $f18,$f4
/* f0ae3e4: 0c004b70 */ jal random
/* f0ae3e8: e6120010 */ swc1 $f18,0x10($s0)
/* f0ae3ec: 44825000 */ mtc1 $v0,$f10
/* f0ae3f0: 3c017f1b */ lui $at,%hi(var7f1acd20)
/* f0ae3f4: c420cd20 */ lwc1 $f0,%lo(var7f1acd20)($at)
/* f0ae3f8: 04410005 */ bgez $v0,.L0f0ae410
/* f0ae3fc: 468051a0 */ cvt.s.w $f6,$f10
/* f0ae400: 3c014f80 */ lui $at,0x4f80
/* f0ae404: 44814000 */ mtc1 $at,$f8
/* f0ae408: 00000000 */ nop
/* f0ae40c: 46083180 */ add.s $f6,$f6,$f8
.L0f0ae410:
/* f0ae410: 3c012f80 */ lui $at,0x2f80
/* f0ae414: 44812000 */ mtc1 $at,$f4
/* f0ae418: 3c013e00 */ lui $at,0x3e00
/* f0ae41c: 44814000 */ mtc1 $at,$f8
/* f0ae420: 46043482 */ mul.s $f18,$f6,$f4
/* f0ae424: 00000000 */ nop
/* f0ae428: 46009282 */ mul.s $f10,$f18,$f0
/* f0ae42c: 00000000 */ nop
/* f0ae430: 46085182 */ mul.s $f6,$f10,$f8
/* f0ae434: 46003100 */ add.s $f4,$f6,$f0
/* f0ae438: 1000002d */ b .L0f0ae4f0
/* f0ae43c: e6040014 */ swc1 $f4,0x14($s0)
.L0f0ae440:
/* f0ae440: 0c004b70 */ jal random
/* f0ae444: 00000000 */ nop
/* f0ae448: 44829000 */ mtc1 $v0,$f18
/* f0ae44c: 3c017f1b */ lui $at,%hi(var7f1acd24)
/* f0ae450: c420cd24 */ lwc1 $f0,%lo(var7f1acd24)($at)
/* f0ae454: 04410005 */ bgez $v0,.L0f0ae46c
/* f0ae458: 468092a0 */ cvt.s.w $f10,$f18
/* f0ae45c: 3c014f80 */ lui $at,0x4f80
/* f0ae460: 44814000 */ mtc1 $at,$f8
/* f0ae464: 00000000 */ nop
/* f0ae468: 46085280 */ add.s $f10,$f10,$f8
.L0f0ae46c:
/* f0ae46c: 3c012f80 */ lui $at,0x2f80
/* f0ae470: 44813000 */ mtc1 $at,$f6
/* f0ae474: 3c013e00 */ lui $at,0x3e00
/* f0ae478: 44814000 */ mtc1 $at,$f8
/* f0ae47c: 46065102 */ mul.s $f4,$f10,$f6
/* f0ae480: 00000000 */ nop
/* f0ae484: 46002482 */ mul.s $f18,$f4,$f0
/* f0ae488: 00000000 */ nop
/* f0ae48c: 46089282 */ mul.s $f10,$f18,$f8
/* f0ae490: 46005180 */ add.s $f6,$f10,$f0
/* f0ae494: 46003107 */ neg.s $f4,$f6
/* f0ae498: 0c004b70 */ jal random
/* f0ae49c: e6040010 */ swc1 $f4,0x10($s0)
/* f0ae4a0: 44829000 */ mtc1 $v0,$f18
/* f0ae4a4: 3c017f1b */ lui $at,%hi(var7f1acd28)
/* f0ae4a8: c420cd28 */ lwc1 $f0,%lo(var7f1acd28)($at)
/* f0ae4ac: 04410005 */ bgez $v0,.L0f0ae4c4
/* f0ae4b0: 46809220 */ cvt.s.w $f8,$f18
/* f0ae4b4: 3c014f80 */ lui $at,0x4f80
/* f0ae4b8: 44815000 */ mtc1 $at,$f10
/* f0ae4bc: 00000000 */ nop
/* f0ae4c0: 460a4200 */ add.s $f8,$f8,$f10
.L0f0ae4c4:
/* f0ae4c4: 3c012f80 */ lui $at,0x2f80
/* f0ae4c8: 44813000 */ mtc1 $at,$f6
/* f0ae4cc: 3c013e00 */ lui $at,0x3e00
/* f0ae4d0: 44815000 */ mtc1 $at,$f10
/* f0ae4d4: 46064102 */ mul.s $f4,$f8,$f6
/* f0ae4d8: 00000000 */ nop
/* f0ae4dc: 46002482 */ mul.s $f18,$f4,$f0
/* f0ae4e0: 00000000 */ nop
/* f0ae4e4: 460a9202 */ mul.s $f8,$f18,$f10
/* f0ae4e8: 46004180 */ add.s $f6,$f8,$f0
/* f0ae4ec: e6060014 */ swc1 $f6,0x14($s0)
.L0f0ae4f0:
/* f0ae4f0: 44801000 */ mtc1 $zero,$f2
/* f0ae4f4: 24010008 */ addiu $at,$zero,0x8
/* f0ae4f8: 26050010 */ addiu $a1,$s0,0x10
/* f0ae4fc: e6020018 */ swc1 $f2,0x18($s0)
/* f0ae500: 8faa00c4 */ lw $t2,0xc4($sp)
/* f0ae504: 11410002 */ beq $t2,$at,.L0f0ae510
/* f0ae508: 24010009 */ addiu $at,$zero,0x9
/* f0ae50c: 15410005 */ bne $t2,$at,.L0f0ae524
.L0f0ae510:
/* f0ae510: 3c01bf80 */ lui $at,0xbf80
/* f0ae514: 44812000 */ mtc1 $at,$f4
/* f0ae518: e6020010 */ swc1 $f2,0x10($s0)
/* f0ae51c: e6020014 */ swc1 $f2,0x14($s0)
/* f0ae520: e6040018 */ swc1 $f4,0x18($s0)
.L0f0ae524:
/* f0ae524: 8fa40148 */ lw $a0,0x148($sp)
/* f0ae528: 0c0056c4 */ jal func00015b10
/* f0ae52c: afa5002c */ sw $a1,0x2c($sp)
/* f0ae530: 8fab00c4 */ lw $t3,0xc4($sp)
/* f0ae534: 24010014 */ addiu $at,$zero,0x14
/* f0ae538: 1561004a */ bne $t3,$at,.L0f0ae664
/* f0ae53c: 00000000 */ nop
/* f0ae540: 0c004b70 */ jal random
/* f0ae544: 00000000 */ nop
/* f0ae548: 44829000 */ mtc1 $v0,$f18
/* f0ae54c: 3c014f80 */ lui $at,0x4f80
/* f0ae550: 04410004 */ bgez $v0,.L0f0ae564
/* f0ae554: 468092a0 */ cvt.s.w $f10,$f18
/* f0ae558: 44814000 */ mtc1 $at,$f8
/* f0ae55c: 00000000 */ nop
/* f0ae560: 46085280 */ add.s $f10,$f10,$f8
.L0f0ae564:
/* f0ae564: 3c012f80 */ lui $at,0x2f80
/* f0ae568: 44813000 */ mtc1 $at,$f6
/* f0ae56c: 3c017f1b */ lui $at,%hi(var7f1acd2c)
/* f0ae570: c432cd2c */ lwc1 $f18,%lo(var7f1acd2c)($at)
/* f0ae574: 46065002 */ mul.s $f0,$f10,$f6
/* f0ae578: 3c013c80 */ lui $at,0x3c80
/* f0ae57c: 44815000 */ mtc1 $at,$f10
/* f0ae580: 3c017f1b */ lui $at,%hi(var7f1acd30)
/* f0ae584: 46000100 */ add.s $f4,$f0,$f0
/* f0ae588: 46122202 */ mul.s $f8,$f4,$f18
/* f0ae58c: c424cd30 */ lwc1 $f4,%lo(var7f1acd30)($at)
/* f0ae590: 460a4182 */ mul.s $f6,$f8,$f10
/* f0ae594: 46043481 */ sub.s $f18,$f6,$f4
/* f0ae598: 0c004b70 */ jal random
/* f0ae59c: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0ae5a0: 44824000 */ mtc1 $v0,$f8
/* f0ae5a4: 3c014f80 */ lui $at,0x4f80
/* f0ae5a8: 04410004 */ bgez $v0,.L0f0ae5bc
/* f0ae5ac: 468042a0 */ cvt.s.w $f10,$f8
/* f0ae5b0: 44813000 */ mtc1 $at,$f6
/* f0ae5b4: 00000000 */ nop
/* f0ae5b8: 46065280 */ add.s $f10,$f10,$f6
.L0f0ae5bc:
/* f0ae5bc: 3c012f80 */ lui $at,0x2f80
/* f0ae5c0: 44812000 */ mtc1 $at,$f4
/* f0ae5c4: 3c017f1b */ lui $at,%hi(var7f1acd34)
/* f0ae5c8: c428cd34 */ lwc1 $f8,%lo(var7f1acd34)($at)
/* f0ae5cc: 46045002 */ mul.s $f0,$f10,$f4
/* f0ae5d0: 3c013c80 */ lui $at,0x3c80
/* f0ae5d4: 44815000 */ mtc1 $at,$f10
/* f0ae5d8: 3c017f1b */ lui $at,%hi(var7f1acd38)
/* f0ae5dc: 46000480 */ add.s $f18,$f0,$f0
/* f0ae5e0: 46089182 */ mul.s $f6,$f18,$f8
/* f0ae5e4: c432cd38 */ lwc1 $f18,%lo(var7f1acd38)($at)
/* f0ae5e8: 460a3102 */ mul.s $f4,$f6,$f10
/* f0ae5ec: 46122201 */ sub.s $f8,$f4,$f18
/* f0ae5f0: 0c004b70 */ jal random
/* f0ae5f4: e7a800a8 */ swc1 $f8,0xa8($sp)
/* f0ae5f8: 44823000 */ mtc1 $v0,$f6
/* f0ae5fc: 3c014f80 */ lui $at,0x4f80
/* f0ae600: 04410004 */ bgez $v0,.L0f0ae614
/* f0ae604: 468032a0 */ cvt.s.w $f10,$f6
/* f0ae608: 44812000 */ mtc1 $at,$f4
/* f0ae60c: 00000000 */ nop
/* f0ae610: 46045280 */ add.s $f10,$f10,$f4
.L0f0ae614:
/* f0ae614: 3c012f80 */ lui $at,0x2f80
/* f0ae618: 44819000 */ mtc1 $at,$f18
/* f0ae61c: 3c017f1b */ lui $at,%hi(var7f1acd3c)
/* f0ae620: c426cd3c */ lwc1 $f6,%lo(var7f1acd3c)($at)
/* f0ae624: 46125002 */ mul.s $f0,$f10,$f18
/* f0ae628: 3c013c80 */ lui $at,0x3c80
/* f0ae62c: 44815000 */ mtc1 $at,$f10
/* f0ae630: 3c017f1b */ lui $at,%hi(var7f1acd40)
/* f0ae634: 27a400a4 */ addiu $a0,$sp,0xa4
/* f0ae638: 27a50064 */ addiu $a1,$sp,0x64
/* f0ae63c: 46000200 */ add.s $f8,$f0,$f0
/* f0ae640: 46064102 */ mul.s $f4,$f8,$f6
/* f0ae644: c428cd40 */ lwc1 $f8,%lo(var7f1acd40)($at)
/* f0ae648: 460a2482 */ mul.s $f18,$f4,$f10
/* f0ae64c: 46089181 */ sub.s $f6,$f18,$f8
/* f0ae650: 0c005923 */ jal func0001648c
/* f0ae654: e7a600ac */ swc1 $f6,0xac($sp)
/* f0ae658: 27a40064 */ addiu $a0,$sp,0x64
/* f0ae65c: 0c0056c4 */ jal func00015b10
/* f0ae660: 8fa5002c */ lw $a1,0x2c($sp)
.L0f0ae664:
/* f0ae664: 0c004b70 */ jal random
/* f0ae668: 00000000 */ nop
/* f0ae66c: 44822000 */ mtc1 $v0,$f4
/* f0ae670: 04410005 */ bgez $v0,.L0f0ae688
/* f0ae674: 468022a0 */ cvt.s.w $f10,$f4
/* f0ae678: 3c014f80 */ lui $at,0x4f80
/* f0ae67c: 44819000 */ mtc1 $at,$f18
/* f0ae680: 00000000 */ nop
/* f0ae684: 46125280 */ add.s $f10,$f10,$f18
.L0f0ae688:
/* f0ae688: 3c012f80 */ lui $at,0x2f80
/* f0ae68c: 44814000 */ mtc1 $at,$f8
/* f0ae690: 3c017f1b */ lui $at,%hi(var7f1acd44)
/* f0ae694: c424cd44 */ lwc1 $f4,%lo(var7f1acd44)($at)
/* f0ae698: 46085002 */ mul.s $f0,$f10,$f8
/* f0ae69c: 3c013c80 */ lui $at,0x3c80
/* f0ae6a0: 44815000 */ mtc1 $at,$f10
/* f0ae6a4: 3c017f1b */ lui $at,%hi(var7f1acd48)
/* f0ae6a8: 46000180 */ add.s $f6,$f0,$f0
/* f0ae6ac: 46043482 */ mul.s $f18,$f6,$f4
/* f0ae6b0: c426cd48 */ lwc1 $f6,%lo(var7f1acd48)($at)
/* f0ae6b4: 460a9202 */ mul.s $f8,$f18,$f10
/* f0ae6b8: 46064101 */ sub.s $f4,$f8,$f6
/* f0ae6bc: 0c004b70 */ jal random
/* f0ae6c0: e7a400a4 */ swc1 $f4,0xa4($sp)
/* f0ae6c4: 44829000 */ mtc1 $v0,$f18
/* f0ae6c8: 3c014f80 */ lui $at,0x4f80
/* f0ae6cc: 04410004 */ bgez $v0,.L0f0ae6e0
/* f0ae6d0: 468092a0 */ cvt.s.w $f10,$f18
/* f0ae6d4: 44814000 */ mtc1 $at,$f8
/* f0ae6d8: 00000000 */ nop
/* f0ae6dc: 46085280 */ add.s $f10,$f10,$f8
.L0f0ae6e0:
/* f0ae6e0: 3c012f80 */ lui $at,0x2f80
/* f0ae6e4: 44813000 */ mtc1 $at,$f6
/* f0ae6e8: 3c017f1b */ lui $at,%hi(var7f1acd4c)
/* f0ae6ec: c432cd4c */ lwc1 $f18,%lo(var7f1acd4c)($at)
/* f0ae6f0: 46065002 */ mul.s $f0,$f10,$f6
/* f0ae6f4: 3c013c80 */ lui $at,0x3c80
/* f0ae6f8: 44815000 */ mtc1 $at,$f10
/* f0ae6fc: 3c017f1b */ lui $at,%hi(var7f1acd50)
/* f0ae700: 46000100 */ add.s $f4,$f0,$f0
/* f0ae704: 46122202 */ mul.s $f8,$f4,$f18
/* f0ae708: c424cd50 */ lwc1 $f4,%lo(var7f1acd50)($at)
/* f0ae70c: 460a4182 */ mul.s $f6,$f8,$f10
/* f0ae710: 46043481 */ sub.s $f18,$f6,$f4
/* f0ae714: 0c004b70 */ jal random
/* f0ae718: e7b200a8 */ swc1 $f18,0xa8($sp)
/* f0ae71c: 44824000 */ mtc1 $v0,$f8
/* f0ae720: 3c014f80 */ lui $at,0x4f80
/* f0ae724: 04410004 */ bgez $v0,.L0f0ae738
/* f0ae728: 468042a0 */ cvt.s.w $f10,$f8
/* f0ae72c: 44813000 */ mtc1 $at,$f6
/* f0ae730: 00000000 */ nop
/* f0ae734: 46065280 */ add.s $f10,$f10,$f6
.L0f0ae738:
/* f0ae738: 3c012f80 */ lui $at,0x2f80
/* f0ae73c: 44812000 */ mtc1 $at,$f4
/* f0ae740: 3c017f1b */ lui $at,%hi(var7f1acd54)
/* f0ae744: c428cd54 */ lwc1 $f8,%lo(var7f1acd54)($at)
/* f0ae748: 46045002 */ mul.s $f0,$f10,$f4
/* f0ae74c: 3c013c80 */ lui $at,0x3c80
/* f0ae750: 44815000 */ mtc1 $at,$f10
/* f0ae754: 3c017f1b */ lui $at,%hi(var7f1acd58)
/* f0ae758: 27a400a4 */ addiu $a0,$sp,0xa4
/* f0ae75c: 27a50064 */ addiu $a1,$sp,0x64
/* f0ae760: 46000480 */ add.s $f18,$f0,$f0
/* f0ae764: 46089182 */ mul.s $f6,$f18,$f8
/* f0ae768: c432cd58 */ lwc1 $f18,%lo(var7f1acd58)($at)
/* f0ae76c: 460a3102 */ mul.s $f4,$f6,$f10
/* f0ae770: 46122201 */ sub.s $f8,$f4,$f18
/* f0ae774: 0c005923 */ jal func0001648c
/* f0ae778: e7a800ac */ swc1 $f8,0xac($sp)
/* f0ae77c: 27a40064 */ addiu $a0,$sp,0x64
/* f0ae780: 0c005768 */ jal func00015da0
/* f0ae784: 27a500c8 */ addiu $a1,$sp,0xc8
/* f0ae788: 3c014580 */ lui $at,0x4580
/* f0ae78c: 44810000 */ mtc1 $at,$f0
/* f0ae790: 02003825 */ or $a3,$s0,$zero
/* f0ae794: 27a600c8 */ addiu $a2,$sp,0xc8
/* f0ae798: 27a800ec */ addiu $t0,$sp,0xec
/* f0ae79c: 24050003 */ addiu $a1,$zero,0x3
.L0f0ae7a0:
/* f0ae7a0: 00001025 */ or $v0,$zero,$zero
/* f0ae7a4: 00e01825 */ or $v1,$a3,$zero
/* f0ae7a8: 00c02025 */ or $a0,$a2,$zero
/* f0ae7ac: c4900000 */ lwc1 $f16,0x0($a0)
/* f0ae7b0: 24420001 */ addiu $v0,$v0,0x1
/* f0ae7b4: 46008482 */ mul.s $f18,$f16,$f0
/* f0ae7b8: 5045000d */ beql $v0,$a1,.L0f0ae7f0
/* f0ae7bc: 4600940d */ trunc.w.s $f16,$f18
/* f0ae7c0: 4600940d */ trunc.w.s $f16,$f18
.L0f0ae7c4:
/* f0ae7c4: 24420001 */ addiu $v0,$v0,0x1
/* f0ae7c8: 24630002 */ addiu $v1,$v1,0x2
/* f0ae7cc: 24840004 */ addiu $a0,$a0,0x4
/* f0ae7d0: 440d8000 */ mfc1 $t5,$f16
/* f0ae7d4: 00000000 */ nop
/* f0ae7d8: a46d002c */ sh $t5,0x2c($v1)
/* f0ae7dc: c4900000 */ lwc1 $f16,0x0($a0)
/* f0ae7e0: 46008482 */ mul.s $f18,$f16,$f0
/* f0ae7e4: 5445fff7 */ bnel $v0,$a1,.L0f0ae7c4
/* f0ae7e8: 4600940d */ trunc.w.s $f16,$f18
/* f0ae7ec: 4600940d */ trunc.w.s $f16,$f18
.L0f0ae7f0:
/* f0ae7f0: 24630002 */ addiu $v1,$v1,0x2
/* f0ae7f4: 24840004 */ addiu $a0,$a0,0x4
/* f0ae7f8: 440d8000 */ mfc1 $t5,$f16
/* f0ae7fc: 00000000 */ nop
/* f0ae800: a46d002c */ sh $t5,0x2c($v1)
/* f0ae804: 24c6000c */ addiu $a2,$a2,0xc
/* f0ae808: 14c8ffe5 */ bne $a2,$t0,.L0f0ae7a0
/* f0ae80c: 24e70006 */ addiu $a3,$a3,0x6
/* f0ae810: 0c004b70 */ jal random
/* f0ae814: 00000000 */ nop
/* f0ae818: 3c030015 */ lui $v1,0x15
/* f0ae81c: 3463aca6 */ ori $v1,$v1,0xaca6
/* f0ae820: 00027602 */ srl $t6,$v0,0x18
/* f0ae824: 01c30019 */ multu $t6,$v1
/* f0ae828: 0000c012 */ mflo $t8
/* f0ae82c: 00187a83 */ sra $t7,$t8,0xa
/* f0ae830: 01e3c821 */ addu $t9,$t7,$v1
/* f0ae834: 0c004b70 */ jal random
/* f0ae838: afb9004c */ sw $t9,0x4c($sp)
/* f0ae83c: 8fa9004c */ lw $t1,0x4c($sp)
/* f0ae840: 3c03800a */ lui $v1,%hi(g_Vars)
/* f0ae844: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f0ae848: 0049001b */ divu $zero,$v0,$t1
/* f0ae84c: 00005010 */ mfhi $t2
/* f0ae850: 448a9000 */ mtc1 $t2,$f18
/* f0ae854: c60c0014 */ lwc1 $f12,0x14($s0)
/* f0ae858: 15200002 */ bnez $t1,.L0f0ae864
/* f0ae85c: 00000000 */ nop
/* f0ae860: 0007000d */ break 0x7
.L0f0ae864:
/* f0ae864: 3c014f80 */ lui $at,0x4f80
/* f0ae868: 05410004 */ bgez $t2,.L0f0ae87c
/* f0ae86c: 46809220 */ cvt.s.w $f8,$f18
/* f0ae870: 44813000 */ mtc1 $at,$f6
/* f0ae874: 00000000 */ nop
/* f0ae878: 46064200 */ add.s $f8,$f8,$f6
.L0f0ae87c:
/* f0ae87c: 3c017f1b */ lui $at,%hi(var7f1acd5c)
/* f0ae880: c42acd5c */ lwc1 $f10,%lo(var7f1acd5c)($at)
/* f0ae884: 3c017f1b */ lui $at,%hi(var7f1acd60)
/* f0ae888: c424cd60 */ lwc1 $f4,%lo(var7f1acd60)($at)
/* f0ae88c: 460a4003 */ div.s $f0,$f8,$f10
/* f0ae890: 3c013f00 */ lui $at,0x3f00
/* f0ae894: 44815000 */ mtc1 $at,$f10
/* f0ae898: c60e0010 */ lwc1 $f14,0x10($s0)
/* f0ae89c: c6100018 */ lwc1 $f16,0x18($s0)
/* f0ae8a0: 46040482 */ mul.s $f18,$f0,$f4
/* f0ae8a4: 46126081 */ sub.s $f2,$f12,$f18
/* f0ae8a8: c6120008 */ lwc1 $f18,0x8($s0)
/* f0ae8ac: 46026180 */ add.s $f6,$f12,$f2
/* f0ae8b0: e6020014 */ swc1 $f2,0x14($s0)
/* f0ae8b4: 46060202 */ mul.s $f8,$f0,$f6
/* f0ae8b8: 00000000 */ nop
/* f0ae8bc: 460a4102 */ mul.s $f4,$f8,$f10
/* f0ae8c0: c6080004 */ lwc1 $f8,0x4($s0)
/* f0ae8c4: 460e0282 */ mul.s $f10,$f0,$f14
/* f0ae8c8: 46049180 */ add.s $f6,$f18,$f4
/* f0ae8cc: c604000c */ lwc1 $f4,0xc($s0)
/* f0ae8d0: 460a4480 */ add.s $f18,$f8,$f10
/* f0ae8d4: e6060008 */ swc1 $f6,0x8($s0)
/* f0ae8d8: 46100182 */ mul.s $f6,$f0,$f16
/* f0ae8dc: e6120004 */ swc1 $f18,0x4($s0)
/* f0ae8e0: 46062200 */ add.s $f8,$f4,$f6
/* f0ae8e4: e608000c */ swc1 $f8,0xc($s0)
/* f0ae8e8: 8c6b0034 */ lw $t3,0x34($v1)
/* f0ae8ec: 8fa20030 */ lw $v0,0x30($sp)
/* f0ae8f0: 19600017 */ blez $t3,.L0f0ae950
/* f0ae8f4: 00000000 */ nop
/* f0ae8f8: c44a095c */ lwc1 $f10,0x95c($v0)
/* f0ae8fc: c452099c */ lwc1 $f18,0x99c($v0)
/* f0ae900: c466004c */ lwc1 $f6,0x4c($v1)
/* f0ae904: 46125101 */ sub.s $f4,$f10,$f18
/* f0ae908: 46062203 */ div.s $f8,$f4,$f6
/* f0ae90c: 46087280 */ add.s $f10,$f14,$f8
/* f0ae910: e60a0010 */ swc1 $f10,0x10($s0)
/* f0ae914: c44409a0 */ lwc1 $f4,0x9a0($v0)
/* f0ae918: c4520960 */ lwc1 $f18,0x960($v0)
/* f0ae91c: c468004c */ lwc1 $f8,0x4c($v1)
/* f0ae920: 46049181 */ sub.s $f6,$f18,$f4
/* f0ae924: c6120014 */ lwc1 $f18,0x14($s0)
/* f0ae928: 46083283 */ div.s $f10,$f6,$f8
/* f0ae92c: 460a9100 */ add.s $f4,$f18,$f10
/* f0ae930: e6040014 */ swc1 $f4,0x14($s0)
/* f0ae934: c44809a4 */ lwc1 $f8,0x9a4($v0)
/* f0ae938: c4460964 */ lwc1 $f6,0x964($v0)
/* f0ae93c: c46a004c */ lwc1 $f10,0x4c($v1)
/* f0ae940: 46083481 */ sub.s $f18,$f6,$f8
/* f0ae944: 460a9103 */ div.s $f4,$f18,$f10
/* f0ae948: 46048180 */ add.s $f6,$f16,$f4
/* f0ae94c: e6060018 */ swc1 $f6,0x18($s0)
.L0f0ae950:
/* f0ae950: 8fbf001c */ lw $ra,0x1c($sp)
.L0f0ae954:
/* f0ae954: 8fb00018 */ lw $s0,0x18($sp)
/* f0ae958: 27bd0140 */ addiu $sp,$sp,0x140
/* f0ae95c: 03e00008 */ jr $ra
/* f0ae960: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f0ade00
.late_rodata
@@ -3066,6 +3898,7 @@ glabel var7f1acd60
/* f0ae95c: 03e00008 */ jr $ra
/* f0ae960: 00000000 */ nop
);
#endif
GLOBAL_ASM(
glabel func0f0ae964
+4 -19
View File
@@ -654,6 +654,10 @@ s8 weaponGetMaxFireRatePerTick(u32 weaponnum, u32 funcindex)
result = 3600.0f / autofunc->maxfirerate;
}
if (result > 3) {
result = TIME60TOFRAMES(result);
}
return result;
}
@@ -804,22 +808,3 @@ struct guncmd *handGetSecToPriAnim(struct shorthand *hand)
return NULL;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0b2640pf
/* f0b2640: 908e0000 */ lbu $t6,0x0($a0)
/* f0b2644: 3c038007 */ lui $v1,0x8007
/* f0b2648: 00001025 */ move $v0,$zero
/* f0b264c: 000e7880 */ sll $t7,$t6,0x2
/* f0b2650: 006f1821 */ addu $v1,$v1,$t7
/* f0b2654: 8c6302a8 */ lw $v1,0x2a8($v1)
/* f0b2658: 10600003 */ beqz $v1,.PF0f0b2668
/* f0b265c: 00000000 */ nop
/* f0b2660: 03e00008 */ jr $ra
/* f0b2664: 8c620010 */ lw $v0,0x10($v1)
.PF0f0b2668:
/* f0b2668: 03e00008 */ jr $ra
/* f0b266c: 00000000 */ nop
);
#endif
+535 -1
View File
@@ -1166,7 +1166,7 @@ void currentPlayerResetToDefault(void)
g_Vars.currentplayer->autoxaimprop = NULL;
g_Vars.currentplayer->autoxaimtime60 = -1;
g_Vars.currentplayer->autoaimdamp = 0.979f;
g_Vars.currentplayer->autoaimdamp = (PAL ? 0.974f : 0.979f);
g_Vars.currentplayer->colourscreenred = 0xff;
g_Vars.currentplayer->colourscreengreen = 0xff;
@@ -2958,6 +2958,16 @@ void func0f0ba190(u32 arg0)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0ba29c
.late_rodata
glabel var7f1ae890pf
.word 0x3c23d70a
glabel var7f1ae894pf
.word 0x3f99999a
glabel var7f1ae898pf
.word 0x3c23d70a
glabel var7f1ae89cpf
.word 0x3fc907a9
.text
/* f0ba7d8: 27bdfe28 */ addiu $sp,$sp,-472
/* f0ba7dc: afbf0044 */ sw $ra,0x44($sp)
/* f0ba7e0: afb00030 */ sw $s0,0x30($sp)
@@ -5038,6 +5048,34 @@ u32 var800709f0 = 0x00000000;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0bd904
.late_rodata
glabel var7f1ad680
.word 0x3faaaaab
glabel var7f1ae944pf
.word 0x3f986186
glabel var7f1ad684
.word 0x3983126f
glabel var7f1ad688
.word 0x3d4ccccd
glabel var7f1ad68c
.word 0x3d4ccccd
glabel var7f1ad690
.word 0x3c8ef461
glabel var7f1ad694
.word 0x40c907a9
glabel var7f1ad698
.word 0x40490fdb
glabel var7f1ad69c
.word 0xc0490fdb
glabel var7f1ad6a0
.word 0xbdb851ec
glabel var7f1ad6a4
.word 0x3db851ec
glabel var7f1ad6a8
.word 0xbe4ccccd
glabel var7f1ad6ac
.word 0x3e4ccccd
.text
/* f0bde80: 27bdfcd0 */ addiu $sp,$sp,-816
/* f0bde84: afb30040 */ sw $s3,0x40($sp)
/* f0bde88: 3c13800a */ lui $s3,0x800a
@@ -12896,6 +12934,501 @@ s32 func0f0c228c(struct prop *prop)
return 0;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0c2364
.late_rodata
glabel var7f1ad700
.word 0x40c907a9
glabel var7f1ad704
.word 0x40c907a9
glabel var7f1ad708
.word 0x40c907a9
glabel var7f1ad70c
.word 0x3c8ef461
glabel var7f1ad710
.word 0x4106ae1e
.text
/* f0c2364: 27bdff00 */ addiu $sp,$sp,-256
/* f0c2368: afbf0034 */ sw $ra,0x34($sp)
/* f0c236c: afb20030 */ sw $s2,0x30($sp)
/* f0c2370: afb1002c */ sw $s1,0x2c($sp)
/* f0c2374: afb00028 */ sw $s0,0x28($sp)
/* f0c2378: 0fc4a25f */ jal propGetPlayerNum
/* f0c237c: afa40100 */ sw $a0,0x100($sp)
/* f0c2380: 3c12800a */ lui $s2,%hi(g_Vars)
/* f0c2384: 26529fc0 */ addiu $s2,$s2,%lo(g_Vars)
/* f0c2388: 8e590290 */ lw $t9,0x290($s2)
/* f0c238c: 8fb80100 */ lw $t8,0x100($sp)
/* f0c2390: 00027080 */ sll $t6,$v0,0x2
/* f0c2394: afa200fc */ sw $v0,0xfc($sp)
/* f0c2398: 024e7821 */ addu $t7,$s2,$t6
/* f0c239c: 8df10064 */ lw $s1,0x64($t7)
/* f0c23a0: 17200008 */ bnez $t9,.L0f0c23c4
/* f0c23a4: 8f100004 */ lw $s0,0x4($t8)
/* f0c23a8: 8e2819c8 */ lw $t0,0x19c8($s1)
/* f0c23ac: 51000006 */ beqzl $t0,.L0f0c23c8
/* f0c23b0: 8e2619c8 */ lw $a2,0x19c8($s1)
/* f0c23b4: 8e090014 */ lw $t1,0x14($s0)
/* f0c23b8: 2401f7ff */ addiu $at,$zero,-2049
/* f0c23bc: 01215024 */ and $t2,$t1,$at
/* f0c23c0: ae0a0014 */ sw $t2,0x14($s0)
.L0f0c23c4:
/* f0c23c4: 8e2619c8 */ lw $a2,0x19c8($s1)
.L0f0c23c8:
/* f0c23c8: 10c00070 */ beqz $a2,.L0f0c258c
/* f0c23cc: 00000000 */ nop
/* f0c23d0: 8e2b00d4 */ lw $t3,0xd4($s1)
/* f0c23d4: 3c038007 */ lui $v1,%hi(var80075d60)
/* f0c23d8: 1160006c */ beqz $t3,.L0f0c258c
/* f0c23dc: 00000000 */ nop
/* f0c23e0: 8c635d60 */ lw $v1,%lo(var80075d60)($v1)
/* f0c23e4: 24070001 */ addiu $a3,$zero,0x1
/* f0c23e8: 5060000b */ beqzl $v1,.L0f0c2418
/* f0c23ec: 8e0e0018 */ lw $t6,0x18($s0)
/* f0c23f0: 50e30009 */ beql $a3,$v1,.L0f0c2418
/* f0c23f4: 8e0e0018 */ lw $t6,0x18($s0)
/* f0c23f8: 8e2c0000 */ lw $t4,0x0($s1)
/* f0c23fc: 14ec0063 */ bne $a3,$t4,.L0f0c258c
/* f0c2400: 00000000 */ nop
/* f0c2404: 962d0010 */ lhu $t5,0x10($s1)
/* f0c2408: 24010002 */ addiu $at,$zero,0x2
/* f0c240c: 11a1005f */ beq $t5,$at,.L0f0c258c
/* f0c2410: 00000000 */ nop
/* f0c2414: 8e0e0018 */ lw $t6,0x18($s0)
.L0f0c2418:
/* f0c2418: 35cf0001 */ ori $t7,$t6,0x1
/* f0c241c: ae0f0018 */ sw $t7,0x18($s0)
/* f0c2420: ae2000c0 */ sw $zero,0xc0($s1)
/* f0c2424: 0fc08c26 */ jal func0f023098
/* f0c2428: 8fa40100 */ lw $a0,0x100($sp)
/* f0c242c: 24180001 */ addiu $t8,$zero,0x1
/* f0c2430: ae3800c0 */ sw $t8,0xc0($s1)
/* f0c2434: c60400b8 */ lwc1 $f4,0xb8($s0)
/* f0c2438: 00409025 */ or $s2,$v0,$zero
/* f0c243c: e6240078 */ swc1 $f4,0x78($s1)
/* f0c2440: c60600b8 */ lwc1 $f6,0xb8($s0)
/* f0c2444: e6260074 */ swc1 $f6,0x74($s1)
/* f0c2448: 8fb90100 */ lw $t9,0x100($sp)
/* f0c244c: 0fc0882b */ jal func0f0220ac
/* f0c2450: 8f240004 */ lw $a0,0x4($t9)
/* f0c2454: 8fa80100 */ lw $t0,0x100($sp)
/* f0c2458: 91090001 */ lbu $t1,0x1($t0)
/* f0c245c: 312a0002 */ andi $t2,$t1,0x2
/* f0c2460: 51400030 */ beqzl $t2,.L0f0c2524
/* f0c2464: 8e2e00bc */ lw $t6,0xbc($s1)
/* f0c2468: 8e2200d4 */ lw $v0,0xd4($s1)
/* f0c246c: 3c0b8008 */ lui $t3,%hi(g_ModelTypeChr)
/* f0c2470: 256bce40 */ addiu $t3,$t3,%lo(g_ModelTypeChr)
/* f0c2474: 8c4c0008 */ lw $t4,0x8($v0)
/* f0c2478: 8d8d0004 */ lw $t5,0x4($t4)
/* f0c247c: 556d0004 */ bnel $t3,$t5,.L0f0c2490
/* f0c2480: 8c45000c */ lw $a1,0xc($v0)
/* f0c2484: 10000002 */ b .L0f0c2490
/* f0c2488: 8c45000c */ lw $a1,0xc($v0)
/* f0c248c: 8c45000c */ lw $a1,0xc($v0)
.L0f0c2490:
/* f0c2490: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f0c2494: afa500e8 */ sw $a1,0xe8($sp)
/* f0c2498: 8fa500e8 */ lw $a1,0xe8($sp)
/* f0c249c: 00402025 */ or $a0,$v0,$zero
/* f0c24a0: 0c0056f9 */ jal func00015be4
/* f0c24a4: 27a600a8 */ addiu $a2,$sp,0xa8
/* f0c24a8: 3c0140e0 */ lui $at,0x40e0
/* f0c24ac: 44810000 */ mtc1 $at,$f0
/* f0c24b0: c7a800b8 */ lwc1 $f8,0xb8($sp)
/* f0c24b4: c7b000d8 */ lwc1 $f16,0xd8($sp)
/* f0c24b8: c7a400bc */ lwc1 $f4,0xbc($sp)
/* f0c24bc: 46004282 */ mul.s $f10,$f8,$f0
/* f0c24c0: c7a800dc */ lwc1 $f8,0xdc($sp)
/* f0c24c4: 02002025 */ or $a0,$s0,$zero
/* f0c24c8: 46002182 */ mul.s $f6,$f4,$f0
/* f0c24cc: c7a400e0 */ lwc1 $f4,0xe0($sp)
/* f0c24d0: 46105480 */ add.s $f18,$f10,$f16
/* f0c24d4: c7b000c0 */ lwc1 $f16,0xc0($sp)
/* f0c24d8: 46083280 */ add.s $f10,$f6,$f8
/* f0c24dc: e7b2009c */ swc1 $f18,0x9c($sp)
/* f0c24e0: 46008482 */ mul.s $f18,$f16,$f0
/* f0c24e4: e7aa00a0 */ swc1 $f10,0xa0($sp)
/* f0c24e8: 46049180 */ add.s $f6,$f18,$f4
/* f0c24ec: 0fc0f917 */ jal chrGetInverseTheta
/* f0c24f0: e7a600a4 */ swc1 $f6,0xa4($sp)
/* f0c24f4: 3c017f1b */ lui $at,%hi(var7f1ad700)
/* f0c24f8: c422d700 */ lwc1 $f2,%lo(var7f1ad700)($at)
/* f0c24fc: 3c0143b4 */ lui $at,0x43b4
/* f0c2500: 44815000 */ mtc1 $at,$f10
/* f0c2504: 46001201 */ sub.s $f8,$f2,$f0
/* f0c2508: 44802000 */ mtc1 $zero,$f4
/* f0c250c: 460a4402 */ mul.s $f16,$f8,$f10
/* f0c2510: e6240154 */ swc1 $f4,0x154($s1)
/* f0c2514: 46028483 */ div.s $f18,$f16,$f2
/* f0c2518: 10000016 */ b .L0f0c2574
/* f0c251c: e6320144 */ swc1 $f18,0x144($s1)
/* f0c2520: 8e2e00bc */ lw $t6,0xbc($s1)
.L0f0c2524:
/* f0c2524: 02002025 */ or $a0,$s0,$zero
/* f0c2528: c5c60008 */ lwc1 $f6,0x8($t6)
/* f0c252c: e7a6009c */ swc1 $f6,0x9c($sp)
/* f0c2530: 8e2f00bc */ lw $t7,0xbc($s1)
/* f0c2534: c5e8000c */ lwc1 $f8,0xc($t7)
/* f0c2538: e7a800a0 */ swc1 $f8,0xa0($sp)
/* f0c253c: 8e3800bc */ lw $t8,0xbc($s1)
/* f0c2540: c70a0010 */ lwc1 $f10,0x10($t8)
/* f0c2544: 0fc0f917 */ jal chrGetInverseTheta
/* f0c2548: e7aa00a4 */ swc1 $f10,0xa4($sp)
/* f0c254c: 3c017f1b */ lui $at,%hi(var7f1ad704)
/* f0c2550: c422d704 */ lwc1 $f2,%lo(var7f1ad704)($at)
/* f0c2554: 3c0143b4 */ lui $at,0x43b4
/* f0c2558: 44819000 */ mtc1 $at,$f18
/* f0c255c: 46001401 */ sub.s $f16,$f2,$f0
/* f0c2560: 44804000 */ mtc1 $zero,$f8
/* f0c2564: 46128102 */ mul.s $f4,$f16,$f18
/* f0c2568: e6280154 */ swc1 $f8,0x154($s1)
/* f0c256c: 46022183 */ div.s $f6,$f4,$f2
/* f0c2570: e6260144 */ swc1 $f6,0x144($s1)
.L0f0c2574:
/* f0c2574: 0fc32fd4 */ jal bmoveUpdateVerta
/* f0c2578: 00000000 */ nop
/* f0c257c: 0fc33067 */ jal bmove0f0cc19c
/* f0c2580: 27a4009c */ addiu $a0,$sp,0x9c
/* f0c2584: 1000012e */ b .L0f0c2a40
/* f0c2588: 02401025 */ or $v0,$s2,$zero
.L0f0c258c:
/* f0c258c: 10c000d6 */ beqz $a2,.L0f0c28e8
/* f0c2590: 24070001 */ addiu $a3,$zero,0x1
/* f0c2594: 8e3900d4 */ lw $t9,0xd4($s1)
/* f0c2598: 532000d4 */ beqzl $t9,.L0f0c28ec
/* f0c259c: 8e59006c */ lw $t9,0x6c($s2)
/* f0c25a0: 8e480314 */ lw $t0,0x314($s2)
/* f0c25a4: 51000005 */ beqzl $t0,.L0f0c25bc
/* f0c25a8: 8e220000 */ lw $v0,0x0($s1)
/* f0c25ac: 8e49028c */ lw $t1,0x28c($s2)
/* f0c25b0: 5449000c */ bnel $v0,$t1,.L0f0c25e4
/* f0c25b4: 8e0b0014 */ lw $t3,0x14($s0)
/* f0c25b8: 8e220000 */ lw $v0,0x0($s1)
.L0f0c25bc:
/* f0c25bc: 24010002 */ addiu $at,$zero,0x2
/* f0c25c0: 50410008 */ beql $v0,$at,.L0f0c25e4
/* f0c25c4: 8e0b0014 */ lw $t3,0x14($s0)
/* f0c25c8: 54e200c8 */ bnel $a3,$v0,.L0f0c28ec
/* f0c25cc: 8e59006c */ lw $t9,0x6c($s2)
/* f0c25d0: 962a0010 */ lhu $t2,0x10($s1)
/* f0c25d4: 24010002 */ addiu $at,$zero,0x2
/* f0c25d8: 554100c4 */ bnel $t2,$at,.L0f0c28ec
/* f0c25dc: 8e59006c */ lw $t9,0x6c($s2)
/* f0c25e0: 8e0b0014 */ lw $t3,0x14($s0)
.L0f0c25e4:
/* f0c25e4: 240c0019 */ addiu $t4,$zero,0x19
/* f0c25e8: a20c0007 */ sb $t4,0x7($s0)
/* f0c25ec: 316d0800 */ andi $t5,$t3,0x800
/* f0c25f0: 15a00050 */ bnez $t5,.L0f0c2734
/* f0c25f4: 02002025 */ or $a0,$s0,$zero
/* f0c25f8: 0fc0a209 */ jal chrGetEquippedWeaponProp
/* f0c25fc: 24050001 */ addiu $a1,$zero,0x1
/* f0c2600: afa2006c */ sw $v0,0x6c($sp)
/* f0c2604: 02002025 */ or $a0,$s0,$zero
/* f0c2608: 0fc0a209 */ jal chrGetEquippedWeaponProp
/* f0c260c: 00002825 */ or $a1,$zero,$zero
/* f0c2610: afa20068 */ sw $v0,0x68($sp)
/* f0c2614: 0c00744f */ jal modelGetAnimNum
/* f0c2618: 8e040020 */ lw $a0,0x20($s0)
/* f0c261c: afa20078 */ sw $v0,0x78($sp)
/* f0c2620: 0fc331ab */ jal bmoveGetCrouchPosByPlayer
/* f0c2624: 8fa400fc */ lw $a0,0xfc($sp)
/* f0c2628: c62a0148 */ lwc1 $f10,0x148($s1)
/* f0c262c: 8e260168 */ lw $a2,0x168($s1)
/* f0c2630: 8e270170 */ lw $a3,0x170($s1)
/* f0c2634: 262e18f4 */ addiu $t6,$s1,0x18f4
/* f0c2638: 260f002c */ addiu $t7,$s0,0x2c
/* f0c263c: afaf0018 */ sw $t7,0x18($sp)
/* f0c2640: afae0014 */ sw $t6,0x14($sp)
/* f0c2644: 02002025 */ or $a0,$s0,$zero
/* f0c2648: 00402825 */ or $a1,$v0,$zero
/* f0c264c: 0fc30a96 */ jal func0f0c2a58
/* f0c2650: e7aa0010 */ swc1 $f10,0x10($sp)
/* f0c2654: 0fc0e6a5 */ jal chrIsDead
/* f0c2658: 02002025 */ or $a0,$s0,$zero
/* f0c265c: 50400006 */ beqzl $v0,.L0f0c2678
/* f0c2660: c620196c */ lwc1 $f0,0x196c($s1)
/* f0c2664: 44800000 */ mtc1 $zero,$f0
/* f0c2668: 44801000 */ mtc1 $zero,$f2
/* f0c266c: 10000004 */ b .L0f0c2680
/* f0c2670: 8e040020 */ lw $a0,0x20($s0)
/* f0c2674: c620196c */ lwc1 $f0,0x196c($s1)
.L0f0c2678:
/* f0c2678: c6221970 */ lwc1 $f2,0x1970($s1)
/* f0c267c: 8e040020 */ lw $a0,0x20($s0)
.L0f0c2680:
/* f0c2680: e7a20070 */ swc1 $f2,0x70($sp)
/* f0c2684: 0c00744f */ jal modelGetAnimNum
/* f0c2688: e7a00074 */ swc1 $f0,0x74($sp)
/* f0c268c: 8fb80078 */ lw $t8,0x78($sp)
/* f0c2690: c7a00074 */ lwc1 $f0,0x74($sp)
/* f0c2694: c7a20070 */ lwc1 $f2,0x70($sp)
/* f0c2698: 5458001c */ bnel $v0,$t8,.L0f0c270c
/* f0c269c: 240d000a */ addiu $t5,$zero,0xa
/* f0c26a0: 8e05002c */ lw $a1,0x2c($s0)
/* f0c26a4: 50a00011 */ beqzl $a1,.L0f0c26ec
/* f0c26a8: 960c0192 */ lhu $t4,0x192($s0)
/* f0c26ac: 96190192 */ lhu $t9,0x192($s0)
/* f0c26b0: 02002025 */ or $a0,$s0,$zero
/* f0c26b4: 3328fffb */ andi $t0,$t9,0xfffb
/* f0c26b8: a6080192 */ sh $t0,0x192($s0)
/* f0c26bc: 8fa70068 */ lw $a3,0x68($sp)
/* f0c26c0: 8fa6006c */ lw $a2,0x6c($sp)
/* f0c26c4: e7a20070 */ swc1 $f2,0x70($sp)
/* f0c26c8: 0007502b */ sltu $t2,$zero,$a3
/* f0c26cc: 0006482b */ sltu $t1,$zero,$a2
/* f0c26d0: 01203025 */ or $a2,$t1,$zero
/* f0c26d4: 01403825 */ or $a3,$t2,$zero
/* f0c26d8: 0fc0fdde */ jal func0f03f778
/* f0c26dc: e7a00010 */ swc1 $f0,0x10($sp)
/* f0c26e0: 10000009 */ b .L0f0c2708
/* f0c26e4: c7a20070 */ lwc1 $f2,0x70($sp)
/* f0c26e8: 960c0192 */ lhu $t4,0x192($s0)
.L0f0c26ec:
/* f0c26ec: 44808000 */ mtc1 $zero,$f16
/* f0c26f0: 44809000 */ mtc1 $zero,$f18
/* f0c26f4: 358b0004 */ ori $t3,$t4,0x4
/* f0c26f8: a60b0192 */ sh $t3,0x192($s0)
/* f0c26fc: e6000168 */ swc1 $f0,0x168($s0)
/* f0c2700: e6100164 */ swc1 $f16,0x164($s0)
/* f0c2704: e6120160 */ swc1 $f18,0x160($s0)
.L0f0c2708:
/* f0c2708: 240d000a */ addiu $t5,$zero,0xa
.L0f0c270c:
/* f0c270c: e602016c */ swc1 $f2,0x16c($s0)
/* f0c2710: a20d000e */ sb $t5,0xe($s0)
/* f0c2714: 8226063d */ lb $a2,0x63d($s1)
/* f0c2718: 02002025 */ or $a0,$s0,$zero
/* f0c271c: 0fc0fe12 */ jal chrSetFiring
/* f0c2720: 00002825 */ or $a1,$zero,$zero
/* f0c2724: 02002025 */ or $a0,$s0,$zero
/* f0c2728: 24050001 */ addiu $a1,$zero,0x1
/* f0c272c: 0fc0fe12 */ jal chrSetFiring
/* f0c2730: 82260de1 */ lb $a2,0xde1($s1)
.L0f0c2734:
/* f0c2734: 8fae0100 */ lw $t6,0x100($sp)
/* f0c2738: 27a5008c */ addiu $a1,$sp,0x8c
/* f0c273c: c5c40008 */ lwc1 $f4,0x8($t6)
/* f0c2740: e7a40080 */ swc1 $f4,0x80($sp)
/* f0c2744: c5c6000c */ lwc1 $f6,0xc($t6)
/* f0c2748: e7a60084 */ swc1 $f6,0x84($sp)
/* f0c274c: c5c80010 */ lwc1 $f8,0x10($t6)
/* f0c2750: e7a80088 */ swc1 $f8,0x88($sp)
/* f0c2754: 0c006b43 */ jal modelGetRootPosition
/* f0c2758: 8e040020 */ lw $a0,0x20($s0)
/* f0c275c: 8fa20100 */ lw $v0,0x100($sp)
/* f0c2760: 27a5008c */ addiu $a1,$sp,0x8c
/* f0c2764: c44a0008 */ lwc1 $f10,0x8($v0)
/* f0c2768: e7aa008c */ swc1 $f10,0x8c($sp)
/* f0c276c: c4500010 */ lwc1 $f16,0x10($v0)
/* f0c2770: e7b00094 */ swc1 $f16,0x94($sp)
/* f0c2774: 0c006b4d */ jal modelSetRootPosition
/* f0c2778: 8e040020 */ lw $a0,0x20($s0)
/* f0c277c: 3c017f1b */ lui $at,%hi(var7f1ad708)
/* f0c2780: c422d708 */ lwc1 $f2,%lo(var7f1ad708)($at)
/* f0c2784: 3c0143b4 */ lui $at,0x43b4
/* f0c2788: 44819000 */ mtc1 $at,$f18
/* f0c278c: c6240144 */ lwc1 $f4,0x144($s1)
/* f0c2790: 3c017f1b */ lui $at,%hi(var7f1ad70c)
/* f0c2794: c428d70c */ lwc1 $f8,%lo(var7f1ad70c)($at)
/* f0c2798: 46049181 */ sub.s $f6,$f18,$f4
/* f0c279c: c63018f4 */ lwc1 $f16,0x18f4($s1)
/* f0c27a0: 46083282 */ mul.s $f10,$f6,$f8
/* f0c27a4: 46105001 */ sub.s $f0,$f10,$f16
/* f0c27a8: 4600103e */ c.le.s $f2,$f0
/* f0c27ac: 00000000 */ nop
/* f0c27b0: 45020004 */ bc1fl .L0f0c27c4
/* f0c27b4: 44809000 */ mtc1 $zero,$f18
/* f0c27b8: 10000008 */ b .L0f0c27dc
/* f0c27bc: 46020001 */ sub.s $f0,$f0,$f2
/* f0c27c0: 44809000 */ mtc1 $zero,$f18
.L0f0c27c4:
/* f0c27c4: 00000000 */ nop
/* f0c27c8: 4612003c */ c.lt.s $f0,$f18
/* f0c27cc: 00000000 */ nop
/* f0c27d0: 45020003 */ bc1fl .L0f0c27e0
/* f0c27d4: 44050000 */ mfc1 $a1,$f0
/* f0c27d8: 46020000 */ add.s $f0,$f0,$f2
.L0f0c27dc:
/* f0c27dc: 44050000 */ mfc1 $a1,$f0
.L0f0c27e0:
/* f0c27e0: 0fc0f94e */ jal chrSetLookAngle
/* f0c27e4: 02002025 */ or $a0,$s0,$zero
/* f0c27e8: 8e0f0018 */ lw $t7,0x18($s0)
/* f0c27ec: 35f80001 */ ori $t8,$t7,0x1
/* f0c27f0: ae180018 */ sw $t8,0x18($s0)
/* f0c27f4: 0fc08c26 */ jal func0f023098
/* f0c27f8: 8fa40100 */ lw $a0,0x100($sp)
/* f0c27fc: c7a40080 */ lwc1 $f4,0x80($sp)
/* f0c2800: 8fb90100 */ lw $t9,0x100($sp)
/* f0c2804: afa20098 */ sw $v0,0x98($sp)
/* f0c2808: 00002825 */ or $a1,$zero,$zero
/* f0c280c: e7240008 */ swc1 $f4,0x8($t9)
/* f0c2810: c7a60084 */ lwc1 $f6,0x84($sp)
/* f0c2814: 02201825 */ or $v1,$s1,$zero
/* f0c2818: 2626197c */ addiu $a2,$s1,0x197c
/* f0c281c: e726000c */ swc1 $f6,0xc($t9)
/* f0c2820: c7a80088 */ lwc1 $f8,0x88($sp)
/* f0c2824: 02203825 */ or $a3,$s1,$zero
/* f0c2828: e7280010 */ swc1 $f8,0x10($t9)
/* f0c282c: 8e080014 */ lw $t0,0x14($s0)
/* f0c2830: 31090800 */ andi $t1,$t0,0x800
/* f0c2834: 1520002a */ bnez $t1,.L0f0c28e0
.L0f0c2838:
/* f0c2838: 02002025 */ or $a0,$s0,$zero
/* f0c283c: afa30048 */ sw $v1,0x48($sp)
/* f0c2840: afa500f0 */ sw $a1,0xf0($sp)
/* f0c2844: afa60044 */ sw $a2,0x44($sp)
/* f0c2848: 0fc0ff79 */ jal func0f03fde4
/* f0c284c: afa70040 */ sw $a3,0x40($sp)
/* f0c2850: 8fa30048 */ lw $v1,0x48($sp)
/* f0c2854: 8fa500f0 */ lw $a1,0xf0($sp)
/* f0c2858: 8fa60044 */ lw $a2,0x44($sp)
/* f0c285c: 10400004 */ beqz $v0,.L0f0c2870
/* f0c2860: 8fa70040 */ lw $a3,0x40($sp)
/* f0c2864: 8e4a000c */ lw $t2,0xc($s2)
/* f0c2868: 10000014 */ b .L0f0c28bc
/* f0c286c: acea1994 */ sw $t2,0x1994($a3)
.L0f0c2870:
/* f0c2870: 8e4b000c */ lw $t3,0xc($s2)
/* f0c2874: 8cec1994 */ lw $t4,0x1994($a3)
/* f0c2878: 00057100 */ sll $t6,$a1,0x4
/* f0c287c: 256dffff */ addiu $t5,$t3,-1
/* f0c2880: 018d082a */ slt $at,$t4,$t5
/* f0c2884: 1020000d */ beqz $at,.L0f0c28bc
/* f0c2888: 01c57023 */ subu $t6,$t6,$a1
/* f0c288c: 000e7080 */ sll $t6,$t6,0x2
/* f0c2890: 01c57021 */ addu $t6,$t6,$a1
/* f0c2894: 000e70c0 */ sll $t6,$t6,0x3
/* f0c2898: 01c57021 */ addu $t6,$t6,$a1
/* f0c289c: 000e7080 */ sll $t6,$t6,0x2
/* f0c28a0: 022e1021 */ addu $v0,$s1,$t6
/* f0c28a4: c44a09ac */ lwc1 $f10,0x9ac($v0)
/* f0c28a8: e46a197c */ swc1 $f10,0x197c($v1)
/* f0c28ac: c45009b0 */ lwc1 $f16,0x9b0($v0)
/* f0c28b0: e4701980 */ swc1 $f16,0x1980($v1)
/* f0c28b4: c45209b4 */ lwc1 $f18,0x9b4($v0)
/* f0c28b8: e4721984 */ swc1 $f18,0x1984($v1)
.L0f0c28bc:
/* f0c28bc: 24a50001 */ addiu $a1,$a1,0x1
/* f0c28c0: 24010002 */ addiu $at,$zero,0x2
/* f0c28c4: 2463000c */ addiu $v1,$v1,0xc
/* f0c28c8: 24c6000c */ addiu $a2,$a2,0xc
/* f0c28cc: 14a1ffda */ bne $a1,$at,.L0f0c2838
/* f0c28d0: 24e70004 */ addiu $a3,$a3,0x4
/* f0c28d4: 8e0f0014 */ lw $t7,0x14($s0)
/* f0c28d8: 35f80800 */ ori $t8,$t7,0x800
/* f0c28dc: ae180014 */ sw $t8,0x14($s0)
.L0f0c28e0:
/* f0c28e0: 10000057 */ b .L0f0c2a40
/* f0c28e4: 8fa20098 */ lw $v0,0x98($sp)
.L0f0c28e8:
/* f0c28e8: 8e59006c */ lw $t9,0x6c($s2)
.L0f0c28ec:
/* f0c28ec: 00002825 */ or $a1,$zero,$zero
/* f0c28f0: 00001825 */ or $v1,$zero,$zero
/* f0c28f4: 13200003 */ beqz $t9,.L0f0c2904
/* f0c28f8: 00000000 */ nop
/* f0c28fc: 10000001 */ b .L0f0c2904
/* f0c2900: 00e02825 */ or $a1,$a3,$zero
.L0f0c2904:
/* f0c2904: 8e480068 */ lw $t0,0x68($s2)
/* f0c2908: 00002025 */ or $a0,$zero,$zero
/* f0c290c: 00001025 */ or $v0,$zero,$zero
/* f0c2910: 11000003 */ beqz $t0,.L0f0c2920
/* f0c2914: 00000000 */ nop
/* f0c2918: 10000001 */ b .L0f0c2920
/* f0c291c: 00e01825 */ or $v1,$a3,$zero
.L0f0c2920:
/* f0c2920: 8e490064 */ lw $t1,0x64($s2)
/* f0c2924: 11200003 */ beqz $t1,.L0f0c2934
/* f0c2928: 00000000 */ nop
/* f0c292c: 10000001 */ b .L0f0c2934
/* f0c2930: 00e02025 */ or $a0,$a3,$zero
.L0f0c2934:
/* f0c2934: 8e4a0070 */ lw $t2,0x70($s2)
/* f0c2938: 11400003 */ beqz $t2,.L0f0c2948
/* f0c293c: 00000000 */ nop
/* f0c2940: 10000001 */ b .L0f0c2948
/* f0c2944: 00e01025 */ or $v0,$a3,$zero
.L0f0c2948:
/* f0c2948: 00445821 */ addu $t3,$v0,$a0
/* f0c294c: 01636021 */ addu $t4,$t3,$v1
/* f0c2950: 01856821 */ addu $t5,$t4,$a1
/* f0c2954: 14ed0004 */ bne $a3,$t5,.L0f0c2968
/* f0c2958: 00000000 */ nop
/* f0c295c: 0fc08989 */ jal chrUpdateCloak
/* f0c2960: 02002025 */ or $a0,$s0,$zero
/* f0c2964: 8e2619c8 */ lw $a2,0x19c8($s1)
.L0f0c2968:
/* f0c2968: 50c0000f */ beqzl $a2,.L0f0c29a8
/* f0c296c: c6280078 */ lwc1 $f8,0x78($s1)
/* f0c2970: 8e040020 */ lw $a0,0x20($s0)
/* f0c2974: 5080000c */ beqzl $a0,.L0f0c29a8
/* f0c2978: c6280078 */ lwc1 $f8,0x78($s1)
/* f0c297c: 0c006b43 */ jal modelGetRootPosition
/* f0c2980: 27a5005c */ addiu $a1,$sp,0x5c
/* f0c2984: 8fae0100 */ lw $t6,0x100($sp)
/* f0c2988: 27a5005c */ addiu $a1,$sp,0x5c
/* f0c298c: c5c40008 */ lwc1 $f4,0x8($t6)
/* f0c2990: e7a4005c */ swc1 $f4,0x5c($sp)
/* f0c2994: c5c60010 */ lwc1 $f6,0x10($t6)
/* f0c2998: e7a60064 */ swc1 $f6,0x64($sp)
/* f0c299c: 0c006b4d */ jal modelSetRootPosition
/* f0c29a0: 8e040020 */ lw $a0,0x20($s0)
/* f0c29a4: c6280078 */ lwc1 $f8,0x78($s1)
.L0f0c29a8:
/* f0c29a8: 3c017f1b */ lui $at,%hi(var7f1ad710)
/* f0c29ac: e60800b8 */ swc1 $f8,0xb8($s0)
/* f0c29b0: c62a0074 */ lwc1 $f10,0x74($s1)
/* f0c29b4: e60a00b4 */ swc1 $f10,0xb4($s0)
/* f0c29b8: c432d710 */ lwc1 $f18,%lo(var7f1ad710)($at)
/* f0c29bc: c61000b4 */ lwc1 $f16,0xb4($s0)
/* f0c29c0: 46128102 */ mul.s $f4,$f16,$f18
/* f0c29c4: e60400b0 */ swc1 $f4,0xb0($s0)
/* f0c29c8: 8e4f0314 */ lw $t7,0x314($s2)
/* f0c29cc: 51e00018 */ beqzl $t7,.L0f0c2a30
/* f0c29d0: 8faa0100 */ lw $t2,0x100($sp)
/* f0c29d4: 8e020170 */ lw $v0,0x170($s0)
/* f0c29d8: 5040000a */ beqzl $v0,.L0f0c2a04
/* f0c29dc: 8e020174 */ lw $v0,0x174($s0)
/* f0c29e0: 8c440004 */ lw $a0,0x4($v0)
/* f0c29e4: 24050001 */ addiu $a1,$zero,0x1
/* f0c29e8: 8c980040 */ lw $t8,0x40($a0)
/* f0c29ec: 33190004 */ andi $t9,$t8,0x4
/* f0c29f0: 53200004 */ beqzl $t9,.L0f0c2a04
/* f0c29f4: 8e020174 */ lw $v0,0x174($s0)
/* f0c29f8: 0fc1ab4b */ jal func0f06ad2c
/* f0c29fc: 00003025 */ or $a2,$zero,$zero
/* f0c2a00: 8e020174 */ lw $v0,0x174($s0)
.L0f0c2a04:
/* f0c2a04: 5040000a */ beqzl $v0,.L0f0c2a30
/* f0c2a08: 8faa0100 */ lw $t2,0x100($sp)
/* f0c2a0c: 8c440004 */ lw $a0,0x4($v0)
/* f0c2a10: 24050001 */ addiu $a1,$zero,0x1
/* f0c2a14: 8c880040 */ lw $t0,0x40($a0)
/* f0c2a18: 31090004 */ andi $t1,$t0,0x4
/* f0c2a1c: 51200004 */ beqzl $t1,.L0f0c2a30
/* f0c2a20: 8faa0100 */ lw $t2,0x100($sp)
/* f0c2a24: 0fc1ab4b */ jal func0f06ad2c
/* f0c2a28: 00003025 */ or $a2,$zero,$zero
/* f0c2a2c: 8faa0100 */ lw $t2,0x100($sp)
.L0f0c2a30:
/* f0c2a30: 00001025 */ or $v0,$zero,$zero
/* f0c2a34: 914b0001 */ lbu $t3,0x1($t2)
/* f0c2a38: 316cfffd */ andi $t4,$t3,0xfffd
/* f0c2a3c: a14c0001 */ sb $t4,0x1($t2)
.L0f0c2a40:
/* f0c2a40: 8fbf0034 */ lw $ra,0x34($sp)
/* f0c2a44: 8fb00028 */ lw $s0,0x28($sp)
/* f0c2a48: 8fb1002c */ lw $s1,0x2c($sp)
/* f0c2a4c: 8fb20030 */ lw $s2,0x30($sp)
/* f0c2a50: 03e00008 */ jr $ra
/* f0c2a54: 27bd0100 */ addiu $sp,$sp,0x100
);
#else
GLOBAL_ASM(
glabel func0f0c2364
.late_rodata
@@ -13389,6 +13922,7 @@ glabel var7f1ad710
/* f0c2a50: 03e00008 */ jr $ra
/* f0c2a54: 27bd0100 */ addiu $sp,$sp,0x100
);
#endif
GLOBAL_ASM(
glabel func0f0c2a58
+7 -3
View File
@@ -12,16 +12,20 @@
#include "data.h"
#include "types.h"
const u32 var7f1adba0[] = {0x74786d75};
const u32 var7f1adba4[] = {0x6c000000};
const char var7f1adba0[] = "txmul";
const char var7f1adba8[] = "depthsub";
const char var7f1adbb4[] = "rsub";
const char var7f1adbbc[] = ":%02d";
const char var7f1adbc4[] = "%d";
const u32 var7f1adbc8[] = {0xc31fc000};
#if VERSION >= VERSION_PAL_FINAL
const u32 var7f1adbcc[] = {0x43084000};
#else
const u32 var7f1adbcc[] = {0x42f08000};
#endif
const u32 var7f1adbd0[] = {0x3dcccccd};
const u32 var7f1adbd4[] = {0x3dcccccd};
const u32 var7f1adbd8[] = {0x461c4000};
+1 -1
View File
@@ -1,6 +1,6 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_097ba0.h"
#include "game/game_0b3350.h"
#include "game/game_0d4690.h"
+160 -1
View File
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include "constants.h"
#include "game/camdraw.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_006bd0.h"
#include "game/game_02cde0.h"
#include "game/game_095320.h"
@@ -1255,12 +1255,17 @@ void func0f0f15a4(u8 *arg0, u32 *arg1)
case 24:
*arg1 = 1;
break;
#if VERSION < VERSION_PAL_FINAL
case 5:
#endif
case 23:
case 25:
*arg1 = 2;
break;
case 2:
#if VERSION >= VERSION_PAL_FINAL
case 5:
#endif
*arg1 = 3;
break;
case 12:
@@ -1280,6 +1285,58 @@ void func0f0f15a4(u8 *arg0, u32 *arg1)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0f1618
.late_rodata
glabel var7f1b35b0pf
.word 0x7f0f2148
glabel var7f1b35b4pf
.word 0x7f0f1e5c
glabel var7f1b35b8pf
.word 0x7f0f2498
glabel var7f1b35bcpf
.word 0x7f0f2148
glabel var7f1b35c0pf
.word 0x7f0f2308
glabel var7f1b35c4pf
.word 0x7f0f2344
glabel var7f1b35c8pf
.word 0x7f0f2410
glabel var7f1b35ccpf
.word 0x7f0f1fe8
glabel var7f1b35d0pf
.word 0x7f0f2040
glabel var7f1b35d4pf
.word 0x7f0f2498
glabel var7f1b35d8pf
.word 0x7f0f20f4
glabel var7f1b35dcpf
.word 0x7f0f1eb0
glabel var7f1b35e0pf
.word 0x7f0f1e48
glabel var7f1b35e4pf
.word 0x7f0f2434
glabel var7f1b35e8pf
.word 0x7f0f2420
glabel var7f1b35ecpf
.word 0x7f0f2448
glabel var7f1b35f0pf
.word 0x7f0f2484
glabel var7f1b35f4pf
.word 0x7f0f20e0
glabel var7f1b35f8pf
.word 0x7f0f1fd4
glabel var7f1b35fcpf
.word 0x7f0f1e20
glabel var7f1b3600pf
.word 0x7f0f1e34
glabel var7f1b3604pf
.word 0x7f0f2470
glabel var7f1b3608pf
.word 0x7f0f2118
glabel var7f1b360cpf
.word 0x7f0f1df4
glabel var7f1b3610pf
.word 0x7f0f1de0
.text
/* f0f1d44: 27bdff88 */ addiu $sp,$sp,-120
/* f0f1d48: 3c0e8008 */ lui $t6,0x8008
/* f0f1d4c: 3c0f8008 */ lui $t7,0x8008
@@ -4095,6 +4152,28 @@ u32 var800714c4 = 0x0000012c;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0f38b0
.late_rodata
glabel var7f1b3c1cpf
.word 0x40f33333
glabel var7f1b3c20pf
.word 0x3b1d4952
glabel var7f1b3c24pf
.word 0x3f7f62b7
glabel var7f1b3c28pf
.word 0x3f7f62b7
glabel var7f1b3c2cpf
.word 0x3b1d4952
glabel var7f1b3c30pf
.word 0x3b1d4952
glabel var7f1b3c34pf
.word 0x3b1d4952
glabel var7f1b3c38pf
.word 0x40490fdb
glabel var7f1b3c3cpf
.word 0xbf19999a
glabel var7f1b3c40pf
.word 0x3f19999a
.text
/* f0f4004: 27bdfbc0 */ addiu $sp,$sp,-1088
/* f0f4008: 3c02800a */ lui $v0,0x800a
/* f0f400c: 8c42a9c4 */ lw $v0,-0x563c($v0)
@@ -11990,6 +12069,52 @@ glabel func0f0f9030
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0f935c
.late_rodata
glabel var7f1b3d08pf
.word 0x3c23d70a
glabel var7f1b3d0cpf
.word 0x3d2c0831
glabel var7f1b3d10pf
.word 0x3d4ccccd
glabel var7f1b3d14pf
.word 0x3e70a3d7
glabel var7f1b3d18pf
.word 0x3f43d70a
glabel var7f1b3d1cpf
.word 0x3f43d70a
glabel var7f1b3d20pf
.word 0x3f43d70a
glabel var7f1b3d24pf
.word 0x3dcccccd
glabel var7f1b3d28pf
.word 0x3d23d70a
glabel var7f1b3d2cpf
.word 0x3f43d70a
glabel var7f1b3d30pf
.word 0x3f43d70a
glabel var7f1b3d34pf
.word 0x3f43d70a
glabel var7f1b3d38pf
.word 0x3f26e979
glabel var7f1b3d3cpf
.word 0x3eb22d0e
glabel var7f1b3d40pf
.word 0x3f26e979
glabel var7f1b3d44pf
.word 0x3f26e979
glabel var7f1b3d48pf
.word 0x3f26e979
glabel var7f1b3d4cpf
.word 0x3eb22d0e
glabel var7f1b3d50pf
.word 0x3eb22d0e
glabel var7f1b3d54pf
.word 0x3eb22d0e
glabel var7f1b3d58pf
.word 0x3e70a3d7
glabel var7f1b3d5cpf
.word 0x3f43d70a
.text
/* f0f9aa0: 3c0e8007 */ lui $t6,0x8007
/* f0f9aa4: 8dce1728 */ lw $t6,0x1728($t6)
/* f0f9aa8: 27bdfee0 */ addiu $sp,$sp,-288
@@ -14666,6 +14791,34 @@ void func0f0fa6ac(void)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0fa704
.late_rodata
glabel var7f1b2a98
.word func0f0fa704+0xd64
glabel var7f1b2a9c
.word func0f0fa704+0xd64
glabel var7f1b2aa0
.word func0f0fa704+0xc8c
glabel var7f1b2aa4
.word func0f0fa704+0xd14
glabel var7f1b2aa8
.word func0f0fa704+0xd64
glabel var7f1b2aac
.word func0f0fa704+0xda8
glabel var7f1b2ab0
.word func0f0fa704+0xda8
glabel var7f1b2ab4
.word func0f0fa704+0xda8
glabel var7f1b2ab8
.word func0f0fa704+0xda8
glabel var7f1b2abc
.word func0f0fa704+0xda8
glabel var7f1b2ac0
.word func0f0fa704+0xc8c
glabel var7f1b2ac4
.word func0f0fa704+0xda8
glabel var7f1b2ac8
.word func0f0fa704+0xd64
.text
/* f0fae40: 27bdfed0 */ addiu $sp,$sp,-304
/* f0fae44: afb70034 */ sw $s7,0x34($sp)
/* f0fae48: 3c178007 */ lui $s7,0x8007
@@ -17242,6 +17395,12 @@ u32 var800714f4 = 0x00000001;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0fbc30
.late_rodata
glabel var7f1b2af8
.word 0xc34d8000
glabel var7f1b2afc
.word 0x4374b333
.text
/* f0fc3c0: 27bdfee8 */ addiu $sp,$sp,-280
/* f0fc3c4: afb10038 */ sw $s1,0x38($sp)
/* f0fc3c8: 3c118007 */ lui $s1,0x8007
+17 -59
View File
@@ -149,17 +149,34 @@ s32 menuhandlerAimControl(s32 operation, struct menuitem *item, union handlerdat
u32 playernum = (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0)
? g_Vars.currentplayerstats->mpindex : item->param3;
#if PAL
u16 options[2][2] = {
L_OPTIONS(201), // "Hold"
L_OPTIONS(202), // "Toggle"
};
s32 index = 0;
if (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL && PLAYERCOUNT() >= 2) {
index = 1;
}
#else
u16 options[] = {
L_OPTIONS(201), // "Hold"
L_OPTIONS(202), // "Toggle"
};
#endif
switch (operation) {
case MENUOP_GETOPTIONCOUNT:
data->dropdown.value = 2;
break;
case MENUOP_GETOPTIONTEXT:
#if PAL
return (s32) langGet(options[index][data->dropdown.value]);
#else
return (s32) langGet(options[data->dropdown.value]);
#endif
case MENUOP_SET:
optionsSetAimControl(playernum, data->dropdown.value);
g_Vars.modifiedfiles |= MODFILE_SOLO;
@@ -246,65 +263,6 @@ s32 menuhandlerScreenRatio(s32 operation, struct menuitem *item, union handlerda
return 0;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f10302cpf
/* f10302c: 27bdffe0 */ addiu $sp,$sp,-32
/* f103030: 3c0e8007 */ lui $t6,0x8007
/* f103034: afbf0014 */ sw $ra,0x14($sp)
/* f103038: afa50024 */ sw $a1,0x24($sp)
/* f10303c: 25ce1cdc */ addiu $t6,$t6,0x1cdc
/* f103040: 8dc10000 */ lw $at,0x0($t6)
/* f103044: 27a2001c */ addiu $v0,$sp,0x1c
/* f103048: 24080002 */ li $t0,0x2
/* f10304c: ac410000 */ sw $at,0x0($v0)
/* f103050: 24010001 */ li $at,0x1
/* f103054: 10810009 */ beq $a0,$at,.PF0f10307c
/* f103058: 24010003 */ li $at,0x3
/* f10305c: 10810009 */ beq $a0,$at,.PF0f103084
/* f103060: 24010006 */ li $at,0x6
/* f103064: 1081000e */ beq $a0,$at,.PF0f1030a0
/* f103068: 24010007 */ li $at,0x7
/* f10306c: 10810014 */ beq $a0,$at,.PF0f1030c0
/* f103070: 00000000 */ nop
/* f103074: 10000017 */ b .PF0f1030d4
/* f103078: 00001025 */ move $v0,$zero
.PF0f10307c:
/* f10307c: 10000014 */ b .PF0f1030d0
/* f103080: acc80000 */ sw $t0,0x0($a2)
.PF0f103084:
/* f103084: 8cc90000 */ lw $t1,0x0($a2)
/* f103088: 00095040 */ sll $t2,$t1,0x1
/* f10308c: 004a5821 */ addu $t3,$v0,$t2
/* f103090: 0fc5bdaa */ jal 0xf16f6a8
/* f103094: 95640000 */ lhu $a0,0x0($t3)
/* f103098: 1000000f */ b .PF0f1030d8
/* f10309c: 8fbf0014 */ lw $ra,0x14($sp)
.PF0f1030a0:
/* f1030a0: 0fc54ef6 */ jal 0xf153bd8
/* f1030a4: 8cc40000 */ lw $a0,0x0($a2)
/* f1030a8: 3c02800a */ lui $v0,0x800a
/* f1030ac: 2442a510 */ addiu $v0,$v0,-23280
/* f1030b0: 8c4c0458 */ lw $t4,0x458($v0)
/* f1030b4: 358d0001 */ ori $t5,$t4,0x1
/* f1030b8: 10000005 */ b .PF0f1030d0
/* f1030bc: ac4d0458 */ sw $t5,0x458($v0)
.PF0f1030c0:
/* f1030c0: 0fc54ef3 */ jal 0xf153bcc
/* f1030c4: afa60028 */ sw $a2,0x28($sp)
/* f1030c8: 8fa60028 */ lw $a2,0x28($sp)
/* f1030cc: acc20000 */ sw $v0,0x0($a2)
.PF0f1030d0:
/* f1030d0: 00001025 */ move $v0,$zero
.PF0f1030d4:
/* f1030d4: 8fbf0014 */ lw $ra,0x14($sp)
.PF0f1030d8:
/* f1030d8: 27bd0020 */ addiu $sp,$sp,0x20
/* f1030dc: 03e00008 */ jr $ra
/* f1030e0: 00000000 */ nop
);
#endif
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f1030e4pf
+16
View File
@@ -7271,6 +7271,10 @@ glabel func0f125a1c
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f125a6c
.late_rodata
glabel var7f1b5108
.word 0x3d888889
.text
/* f12656c: 27bdfe90 */ addiu $sp,$sp,-368
/* f126570: afbf008c */ sw $ra,0x8c($sp)
/* f126574: afbe0088 */ sw $s8,0x88($sp)
@@ -8481,6 +8485,18 @@ glabel var7f1b5108
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f126384
.late_rodata
glabel var7f1b510c
.word 0x3c23d70a
glabel var7f1b5110
.word 0x3bda740e
glabel var7f1b5114
.word 0x3d23d70a
glabel var7f1b5118
.word 0x3c4ccccd
glabel var7f1b511c
.word 0x3dcccccd
.text
/* f126e68: 27bdfe68 */ addiu $sp,$sp,-408
/* f126e6c: 3c0f8008 */ lui $t7,0x8008
/* f126e70: afbf008c */ sw $ra,0x8c($sp)
+6 -6
View File
@@ -329,7 +329,7 @@ void playerAllocate(s32 index)
g_Vars.players[index]->unk03a8 = true;
g_Vars.players[index]->headanim = 0;
g_Vars.players[index]->headdamp = 0.93f;
g_Vars.players[index]->headdamp = (PAL ? 0.9166f : 0.93f);
g_Vars.players[index]->headwalkingtime60 = 0;
g_Vars.players[index]->headamplitude = 1;
g_Vars.players[index]->sideamplitude = 1;
@@ -347,9 +347,9 @@ void playerAllocate(s32 index)
g_Vars.players[index]->headpossum.z = 0;
g_Vars.players[index]->headlooksum.x = 0;
g_Vars.players[index]->headlooksum.y = 0;
g_Vars.players[index]->headlooksum.z = 14.285716056824f;
g_Vars.players[index]->headlooksum.z = (PAL ? 11.990406036377f : 14.285716056824f);
g_Vars.players[index]->headupsum.x = 0;
g_Vars.players[index]->headupsum.y = 14.285716056824f;
g_Vars.players[index]->headupsum.y = (PAL ? 11.990406036377f : 14.285716056824f);
g_Vars.players[index]->headupsum.z = 0;
g_Vars.players[index]->headbodyoffset.x = 0;
g_Vars.players[index]->headbodyoffset.y = 0;
@@ -381,12 +381,12 @@ void playerAllocate(s32 index)
for (i = 0; i < 2; i++) {
g_Vars.players[index]->unk0610[i].unk00 = 640;
g_Vars.players[index]->unk0610[i].unk02 = 480;
g_Vars.players[index]->unk0610[i].unk02 = (PAL ? 544 : 480);
g_Vars.players[index]->unk0610[i].unk04 = 511;
g_Vars.players[index]->unk0610[i].unk06 = 0;
g_Vars.players[index]->unk0610[i].unk08 = 640;
g_Vars.players[index]->unk0610[i].unk0a = 480;
g_Vars.players[index]->unk0610[i].unk0a = (PAL ? 544 : 480);
g_Vars.players[index]->unk0610[i].unk0c = 511;
g_Vars.players[index]->unk0610[i].unk0e = 0;
}
@@ -528,7 +528,7 @@ void playerAllocate(s32 index)
g_Vars.players[index]->zoominfovyold = 60;
g_Vars.players[index]->zoominfovynew = 60;
g_Vars.players[index]->fovy = 60;
g_Vars.players[index]->aspect = 4.0f / 3.0f;
g_Vars.players[index]->aspect = 640.0f / (PAL ? 544.0f : 480.0f);
g_Vars.players[index]->flags = 0;
g_Vars.players[index]->unk1860 = -1;
+374 -2
View File
@@ -1,6 +1,6 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_0d4690.h"
#include "game/game_1531a0.h"
#include "game/file.h"
@@ -348,7 +348,7 @@ void fontsLoadForCurrentStage(void)
fontLoad(&_fonthandelgothiclgSegmentRomStart, &_fonthandelgothiclgSegmentRomEnd, &g_FontHandelGothicLg2, &g_FontHandelGothicLg1, false);
} else {
#if !PAL
// This nused GE font exists in NTSC but was removed in the PAL version
// This unused GE font exists in NTSC but was removed in the PAL version
fontLoad(&_fonttahomaSegmentRomStart, &_fonttahomaSegmentRomEnd, &g_FontTahoma2, &g_FontTahoma1, false);
#endif
@@ -1769,6 +1769,192 @@ Gfx *func0f154ecc(Gfx *gdl, u32 arg1, u32 arg2)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f155c4cpf
.late_rodata
glabel var7f1b8738pf
.word 0x7f155d1c
glabel var7f1b873cpf
.word 0x7f155d24
glabel var7f1b8740pf
.word 0x7f155d24
glabel var7f1b8744pf
.word 0x7f155d24
glabel var7f1b8748pf
.word 0x7f155d24
glabel var7f1b874cpf
.word 0x7f155d24
glabel var7f1b8750pf
.word 0x7f155d24
glabel var7f1b8754pf
.word 0x7f155d24
glabel var7f1b8758pf
.word 0x7f155d24
glabel var7f1b875cpf
.word 0x7f155d1c
glabel var7f1b8760pf
.word 0x7f155d24
glabel var7f1b8764pf
.word 0x7f155d24
glabel var7f1b8768pf
.word 0x7f155d24
glabel var7f1b876cpf
.word 0x7f155d24
glabel var7f1b8770pf
.word 0x7f155d24
glabel var7f1b8774pf
.word 0x7f155d1c
glabel var7f1b8778pf
.word 0x7f155d24
glabel var7f1b877cpf
.word 0x7f155d24
glabel var7f1b8780pf
.word 0x7f155d24
glabel var7f1b8784pf
.word 0x7f155d24
glabel var7f1b8788pf
.word 0x7f155d24
glabel var7f1b878cpf
.word 0x7f155d24
glabel var7f1b8790pf
.word 0x7f155d24
glabel var7f1b8794pf
.word 0x7f155d24
glabel var7f1b8798pf
.word 0x7f155d24
glabel var7f1b879cpf
.word 0x7f155d24
glabel var7f1b87a0pf
.word 0x7f155d24
glabel var7f1b87a4pf
.word 0x7f155d24
glabel var7f1b87a8pf
.word 0x7f155d24
glabel var7f1b87acpf
.word 0x7f155d24
glabel var7f1b87b0pf
.word 0x7f155d1c
glabel var7f1b87b4pf
.word 0x7f155c74
glabel var7f1b87b8pf
.word 0x7f155c74
glabel var7f1b87bcpf
.word 0x7f155d24
glabel var7f1b87c0pf
.word 0x7f155d24
glabel var7f1b87c4pf
.word 0x7f155c74
glabel var7f1b87c8pf
.word 0x7f155d24
glabel var7f1b87ccpf
.word 0x7f155d24
glabel var7f1b87d0pf
.word 0x7f155d24
glabel var7f1b87d4pf
.word 0x7f155c80
glabel var7f1b87d8pf
.word 0x7f155c80
glabel var7f1b87dcpf
.word 0x7f155d24
glabel var7f1b87e0pf
.word 0x7f155d24
glabel var7f1b87e4pf
.word 0x7f155c8c
glabel var7f1b87e8pf
.word 0x7f155c8c
glabel var7f1b87ecpf
.word 0x7f155d24
glabel var7f1b87f0pf
.word 0x7f155d24
glabel var7f1b87f4pf
.word 0x7f155d24
glabel var7f1b87f8pf
.word 0x7f155cec
glabel var7f1b87fcpf
.word 0x7f155c98
glabel var7f1b8800pf
.word 0x7f155c98
glabel var7f1b8804pf
.word 0x7f155d24
glabel var7f1b8808pf
.word 0x7f155d24
glabel var7f1b880cpf
.word 0x7f155c98
glabel var7f1b8810pf
.word 0x7f155d24
glabel var7f1b8814pf
.word 0x7f155d24
glabel var7f1b8818pf
.word 0x7f155ca4
glabel var7f1b881cpf
.word 0x7f155ca4
glabel var7f1b8820pf
.word 0x7f155d24
glabel var7f1b8824pf
.word 0x7f155ca4
glabel var7f1b8828pf
.word 0x7f155d24
glabel var7f1b882cpf
.word 0x7f155d24
glabel var7f1b8830pf
.word 0x7f155d10
glabel var7f1b8834pf
.word 0x7f155cb0
glabel var7f1b8838pf
.word 0x7f155cb0
glabel var7f1b883cpf
.word 0x7f155cb0
glabel var7f1b8840pf
.word 0x7f155d24
glabel var7f1b8844pf
.word 0x7f155cb0
glabel var7f1b8848pf
.word 0x7f155d24
glabel var7f1b884cpf
.word 0x7f155d24
glabel var7f1b8850pf
.word 0x7f155d04
glabel var7f1b8854pf
.word 0x7f155cbc
glabel var7f1b8858pf
.word 0x7f155cbc
glabel var7f1b885cpf
.word 0x7f155cbc
glabel var7f1b8860pf
.word 0x7f155cbc
glabel var7f1b8864pf
.word 0x7f155cc8
glabel var7f1b8868pf
.word 0x7f155cc8
glabel var7f1b886cpf
.word 0x7f155cc8
glabel var7f1b8870pf
.word 0x7f155cc8
glabel var7f1b8874pf
.word 0x7f155d24
glabel var7f1b8878pf
.word 0x7f155cf8
glabel var7f1b887cpf
.word 0x7f155cd4
glabel var7f1b8880pf
.word 0x7f155cd4
glabel var7f1b8884pf
.word 0x7f155cd4
glabel var7f1b8888pf
.word 0x7f155d24
glabel var7f1b888cpf
.word 0x7f155cd4
glabel var7f1b8890pf
.word 0x7f155d24
glabel var7f1b8894pf
.word 0x7f155d24
glabel var7f1b8898pf
.word 0x7f155ce0
glabel var7f1b889cpf
.word 0x7f155ce0
glabel var7f1b88a0pf
.word 0x7f155ce0
glabel var7f1b88a4pf
.word 0x7f155ce0
.text
/* f155c4c: 908e0000 */ lbu $t6,0x0($a0)
/* f155c50: 25cfff5f */ addiu $t7,$t6,-161
/* f155c54: 2de1005c */ sltiu $at,$t7,0x5c
@@ -1832,6 +2018,192 @@ glabel func0f155c4cpf
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f155d2cpf
.late_rodata
glabel var7f1b88a8pf
.word 0x7f155f94
glabel var7f1b88acpf
.word 0x7f155fc8
glabel var7f1b88b0pf
.word 0x7f155fc8
glabel var7f1b88b4pf
.word 0x7f155fc8
glabel var7f1b88b8pf
.word 0x7f155fc8
glabel var7f1b88bcpf
.word 0x7f155fc8
glabel var7f1b88c0pf
.word 0x7f155fc8
glabel var7f1b88c4pf
.word 0x7f155fc8
glabel var7f1b88c8pf
.word 0x7f155fc8
glabel var7f1b88ccpf
.word 0x7f155fa4
glabel var7f1b88d0pf
.word 0x7f155fc8
glabel var7f1b88d4pf
.word 0x7f155fc8
glabel var7f1b88d8pf
.word 0x7f155fc8
glabel var7f1b88dcpf
.word 0x7f155fc8
glabel var7f1b88e0pf
.word 0x7f155fc8
glabel var7f1b88e4pf
.word 0x7f155f9c
glabel var7f1b88e8pf
.word 0x7f155fc8
glabel var7f1b88ecpf
.word 0x7f155fc8
glabel var7f1b88f0pf
.word 0x7f155fc8
glabel var7f1b88f4pf
.word 0x7f155fc8
glabel var7f1b88f8pf
.word 0x7f155fc8
glabel var7f1b88fcpf
.word 0x7f155fc8
glabel var7f1b8900pf
.word 0x7f155fc8
glabel var7f1b8904pf
.word 0x7f155fc8
glabel var7f1b8908pf
.word 0x7f155fc8
glabel var7f1b890cpf
.word 0x7f155fc8
glabel var7f1b8910pf
.word 0x7f155fc8
glabel var7f1b8914pf
.word 0x7f155fc8
glabel var7f1b8918pf
.word 0x7f155fc8
glabel var7f1b891cpf
.word 0x7f155fc8
glabel var7f1b8920pf
.word 0x7f155f8c
glabel var7f1b8924pf
.word 0x7f155e74
glabel var7f1b8928pf
.word 0x7f155e6c
glabel var7f1b892cpf
.word 0x7f155fc8
glabel var7f1b8930pf
.word 0x7f155fc8
glabel var7f1b8934pf
.word 0x7f155e64
glabel var7f1b8938pf
.word 0x7f155fc8
glabel var7f1b893cpf
.word 0x7f155fc8
glabel var7f1b8940pf
.word 0x7f155fc8
glabel var7f1b8944pf
.word 0x7f155e84
glabel var7f1b8948pf
.word 0x7f155e7c
glabel var7f1b894cpf
.word 0x7f155fc8
glabel var7f1b8950pf
.word 0x7f155fc8
glabel var7f1b8954pf
.word 0x7f155e94
glabel var7f1b8958pf
.word 0x7f155e8c
glabel var7f1b895cpf
.word 0x7f155fc8
glabel var7f1b8960pf
.word 0x7f155fc8
glabel var7f1b8964pf
.word 0x7f155fc8
glabel var7f1b8968pf
.word 0x7f155f6c
glabel var7f1b896cpf
.word 0x7f155eac
glabel var7f1b8970pf
.word 0x7f155ea4
glabel var7f1b8974pf
.word 0x7f155fc8
glabel var7f1b8978pf
.word 0x7f155fc8
glabel var7f1b897cpf
.word 0x7f155e9c
glabel var7f1b8980pf
.word 0x7f155fc8
glabel var7f1b8984pf
.word 0x7f155fc8
glabel var7f1b8988pf
.word 0x7f155ec4
glabel var7f1b898cpf
.word 0x7f155ebc
glabel var7f1b8990pf
.word 0x7f155fc8
glabel var7f1b8994pf
.word 0x7f155eb4
glabel var7f1b8998pf
.word 0x7f155fc8
glabel var7f1b899cpf
.word 0x7f155fc8
glabel var7f1b89a0pf
.word 0x7f155f84
glabel var7f1b89a4pf
.word 0x7f155edc
glabel var7f1b89a8pf
.word 0x7f155ed4
glabel var7f1b89acpf
.word 0x7f155ee4
glabel var7f1b89b0pf
.word 0x7f155fc8
glabel var7f1b89b4pf
.word 0x7f155ecc
glabel var7f1b89b8pf
.word 0x7f155fc8
glabel var7f1b89bcpf
.word 0x7f155fc8
glabel var7f1b89c0pf
.word 0x7f155f7c
glabel var7f1b89c4pf
.word 0x7f155f04
glabel var7f1b89c8pf
.word 0x7f155ef4
glabel var7f1b89ccpf
.word 0x7f155eec
glabel var7f1b89d0pf
.word 0x7f155efc
glabel var7f1b89d4pf
.word 0x7f155f0c
glabel var7f1b89d8pf
.word 0x7f155f1c
glabel var7f1b89dcpf
.word 0x7f155f24
glabel var7f1b89e0pf
.word 0x7f155f14
glabel var7f1b89e4pf
.word 0x7f155fc8
glabel var7f1b89e8pf
.word 0x7f155f74
glabel var7f1b89ecpf
.word 0x7f155f44
glabel var7f1b89f0pf
.word 0x7f155f3c
glabel var7f1b89f4pf
.word 0x7f155f2c
glabel var7f1b89f8pf
.word 0x7f155fc8
glabel var7f1b89fcpf
.word 0x7f155f34
glabel var7f1b8a00pf
.word 0x7f155fc8
glabel var7f1b8a04pf
.word 0x7f155fc8
glabel var7f1b8a08pf
.word 0x7f155f4c
glabel var7f1b8a0cpf
.word 0x7f155f5c
glabel var7f1b8a10pf
.word 0x7f155f64
glabel var7f1b8a14pf
.word 0x7f155f54
.text
/* f155d2c: 3c0e8008 */ lui $t6,0x8008
/* f155d30: 8dce4660 */ lw $t6,0x4660($t6)
/* f155d34: 27bdffd8 */ addiu $sp,$sp,-40
+1 -1
View File
@@ -1,6 +1,6 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_0d4690.h"
#include "game/game_1531a0.h"
#include "game/file.h"
+4
View File
@@ -27,5 +27,9 @@ void func0f175fc8(void)
char *func0f175ff0(void)
{
#if VERSION >= VERSION_PAL_FINAL
return "Apr 28 2000 14:40:49";
#else
return "Apr 6 2000 15:05:01";
#endif
}
+581 -5
View File
@@ -1713,6 +1713,519 @@ bool func0f191638(struct chrdata *chr, bool arg1)
return result;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel aibotTick
.late_rodata
glabel var7f1b8ecc
.word 0x40c907a9
glabel var7f1b8ed0
.word 0x40c907a9
glabel var7f1b8ed4
.word 0x3d80a8be
glabel var7f1b8ed8
.word 0x40c907a9
glabel var7f1b8edc
.word 0x39c59ed7
glabel var7f1b8ee0
.word 0x3d7c45d9
glabel var7f1b8ee4
.word 0xc0490fdb
glabel var7f1b8ee8
.word 0x40490fdb
glabel var7f1b8eec
.word 0x40490fdb
glabel var7f1b8ef0
.word 0x4181e420
.text
/* f1918d0: 27bdff98 */ addiu $sp,$sp,-104
/* f1918d4: afbf0024 */ sw $ra,0x24($sp)
/* f1918d8: afb10020 */ sw $s1,0x20($sp)
/* f1918dc: afb0001c */ sw $s0,0x1c($sp)
/* f1918e0: afa40068 */ sw $a0,0x68($sp)
/* f1918e4: 8c910004 */ lw $s1,0x4($a0)
/* f1918e8: 8e3002d4 */ lw $s0,0x2d4($s1)
/* f1918ec: afa0005c */ sw $zero,0x5c($sp)
/* f1918f0: 90870001 */ lbu $a3,0x1($a0)
/* f1918f4: 30ef0008 */ andi $t7,$a3,0x8
/* f1918f8: 000f382b */ sltu $a3,$zero,$t7
/* f1918fc: 10e00005 */ beqz $a3,.L0f191914
/* f191900: 00000000 */ nop
/* f191904: 3c07800a */ lui $a3,%hi(g_Vars+0x34)
/* f191908: 8ce79ff4 */ lw $a3,%lo(g_Vars+0x34)($a3)
/* f19190c: 0007c82b */ sltu $t9,$zero,$a3
/* f191910: 03203825 */ or $a3,$t9,$zero
.L0f191914:
/* f191914: 1200019d */ beqz $s0,.L0f191f8c
/* f191918: afa70058 */ sw $a3,0x58($sp)
/* f19191c: 10e00183 */ beqz $a3,.L0f191f2c
/* f191920: 3c08800a */ lui $t0,%hi(g_Vars+0x8)
/* f191924: 8d089fc8 */ lw $t0,%lo(g_Vars+0x8)($t0)
/* f191928: 29010091 */ slti $at,$t0,0x91
/* f19192c: 1420017f */ bnez $at,.L0f191f2c
/* f191930: 00000000 */ nop
/* f191934: 0fc652d0 */ jal func0f194b40
/* f191938: 02202025 */ or $a0,$s1,$zero
/* f19193c: 920a009c */ lbu $t2,0x9c($s0)
/* f191940: 2401ffff */ addiu $at,$zero,-1
/* f191944: 354b0001 */ ori $t3,$t2,0x1
/* f191948: a20b009c */ sb $t3,0x9c($s0)
/* f19194c: 8fac0068 */ lw $t4,0x68($sp)
/* f191950: 858d0028 */ lh $t5,0x28($t4)
/* f191954: 11a10014 */ beq $t5,$at,.L0f1919a8
/* f191958: 01801825 */ or $v1,$t4,$zero
/* f19195c: 85840028 */ lh $a0,0x28($t4)
.L0f191960:
/* f191960: 0fc575ba */ jal roomIsVisibleByAnyPlayer
/* f191964: afa30028 */ sw $v1,0x28($sp)
/* f191968: 14400006 */ bnez $v0,.L0f191984
/* f19196c: 8fa30028 */ lw $v1,0x28($sp)
/* f191970: 84640028 */ lh $a0,0x28($v1)
/* f191974: 0fc575d1 */ jal roomIsVisibleByAnyAibot
/* f191978: afa30028 */ sw $v1,0x28($sp)
/* f19197c: 10400005 */ beqz $v0,.L0f191994
/* f191980: 8fa30028 */ lw $v1,0x28($sp)
.L0f191984:
/* f191984: 920e009c */ lbu $t6,0x9c($s0)
/* f191988: 31cffffe */ andi $t7,$t6,0xfffe
/* f19198c: 10000006 */ b .L0f1919a8
/* f191990: a20f009c */ sb $t7,0x9c($s0)
.L0f191994:
/* f191994: 8464002a */ lh $a0,0x2a($v1)
/* f191998: 2401ffff */ addiu $at,$zero,-1
/* f19199c: 24630002 */ addiu $v1,$v1,0x2
/* f1919a0: 1481ffef */ bne $a0,$at,.L0f191960
/* f1919a4: 00000000 */ nop
.L0f1919a8:
/* f1919a8: 862202d8 */ lh $v0,0x2d8($s1)
/* f1919ac: 18400012 */ blez $v0,.L0f1919f8
/* f1919b0: 28411389 */ slti $at,$v0,0x1389
/* f1919b4: 14200004 */ bnez $at,.L0f1919c8
/* f1919b8: 3c19800a */ lui $t9,%hi(g_Vars+0x38)
/* f1919bc: 24181388 */ addiu $t8,$zero,0x1388
/* f1919c0: a63802d8 */ sh $t8,0x2d8($s1)
/* f1919c4: 862202d8 */ lh $v0,0x2d8($s1)
.L0f1919c8:
/* f1919c8: 922802ff */ lbu $t0,0x2ff($s1)
/* f1919cc: 8f399ff8 */ lw $t9,%lo(g_Vars+0x38)($t9)
/* f1919d0: 25090001 */ addiu $t1,$t0,0x1
/* f1919d4: 03290019 */ multu $t9,$t1
/* f1919d8: 00005012 */ mflo $t2
/* f1919dc: 004a5823 */ subu $t3,$v0,$t2
/* f1919e0: a62b02d8 */ sh $t3,0x2d8($s1)
/* f1919e4: 862d02d8 */ lh $t5,0x2d8($s1)
/* f1919e8: 1da00003 */ bgtz $t5,.L0f1919f8
/* f1919ec: 00000000 */ nop
/* f1919f0: a62002d8 */ sh $zero,0x2d8($s1)
/* f1919f4: a22002ff */ sb $zero,0x2ff($s1)
.L0f1919f8:
/* f1919f8: 0fc0f917 */ jal chrGetInverseTheta
/* f1919fc: 02202025 */ or $a0,$s1,$zero
/* f191a00: e7a00044 */ swc1 $f0,0x44($sp)
/* f191a04: 0fc0e6a5 */ jal chrIsDead
/* f191a08: 02202025 */ or $a0,$s1,$zero
/* f191a0c: 50400006 */ beqzl $v0,.L0f191a28
/* f191a10: 8e0c0044 */ lw $t4,0x44($s0)
/* f191a14: 0fc0f917 */ jal chrGetInverseTheta
/* f191a18: 02202025 */ or $a0,$s1,$zero
/* f191a1c: 1000005b */ b .L0f191b8c
/* f191a20: 46000086 */ mov.s $f2,$f0
/* f191a24: 8e0c0044 */ lw $t4,0x44($s0)
.L0f191a28:
/* f191a28: 02202025 */ or $a0,$s1,$zero
/* f191a2c: 11800005 */ beqz $t4,.L0f191a44
/* f191a30: 00000000 */ nop
/* f191a34: 0fc0f917 */ jal chrGetInverseTheta
/* f191a38: 02202025 */ or $a0,$s1,$zero
/* f191a3c: 10000053 */ b .L0f191b8c
/* f191a40: 46000086 */ mov.s $f2,$f0
.L0f191a44:
/* f191a44: 0fc6458e */ jal func0f191638
/* f191a48: 00002825 */ or $a1,$zero,$zero
/* f191a4c: 5040000c */ beqzl $v0,.L0f191a80
/* f191a50: 922402a0 */ lbu $a0,0x2a0($s1)
/* f191a54: 0fc0a221 */ jal chrGetTargetProp
/* f191a58: 02202025 */ or $a0,$s1,$zero
/* f191a5c: 02202025 */ or $a0,$s1,$zero
/* f191a60: 0fc122a1 */ jal chrGetAngleToPos
/* f191a64: 24450008 */ addiu $a1,$v0,0x8
/* f191a68: c7a40044 */ lwc1 $f4,0x44($sp)
/* f191a6c: c60801c0 */ lwc1 $f8,0x1c0($s0)
/* f191a70: 46002180 */ add.s $f6,$f4,$f0
/* f191a74: 10000045 */ b .L0f191b8c
/* f191a78: 46083080 */ add.s $f2,$f6,$f8
/* f191a7c: 922402a0 */ lbu $a0,0x2a0($s1)
.L0f191a80:
/* f191a80: 2401002e */ addiu $at,$zero,0x2e
/* f191a84: 3c03800b */ lui $v1,%hi(g_ScenarioData)
/* f191a88: 1481000f */ bne $a0,$at,.L0f191ac8
/* f191a8c: 2463c110 */ addiu $v1,$v1,%lo(g_ScenarioData)
/* f191a90: 8c6200d4 */ lw $v0,0xd4($v1)
/* f191a94: 2401ffff */ addiu $at,$zero,-1
/* f191a98: 1041000b */ beq $v0,$at,.L0f191ac8
/* f191a9c: 00027080 */ sll $t6,$v0,0x2
/* f191aa0: 01c27023 */ subu $t6,$t6,$v0
/* f191aa4: 000e7080 */ sll $t6,$t6,0x2
/* f191aa8: 006e7821 */ addu $t7,$v1,$t6
/* f191aac: 8de50080 */ lw $a1,0x80($t7)
/* f191ab0: 02202025 */ or $a0,$s1,$zero
/* f191ab4: 0fc122a1 */ jal chrGetAngleToPos
/* f191ab8: 24a50008 */ addiu $a1,$a1,0x8
/* f191abc: c7aa0044 */ lwc1 $f10,0x44($sp)
/* f191ac0: 10000032 */ b .L0f191b8c
/* f191ac4: 46005080 */ add.s $f2,$f10,$f0
.L0f191ac8:
/* f191ac8: 24010032 */ addiu $at,$zero,0x32
/* f191acc: 5481001e */ bnel $a0,$at,.L0f191b48
/* f191ad0: 24010033 */ addiu $at,$zero,0x33
/* f191ad4: 8602000a */ lh $v0,0xa($s0)
/* f191ad8: 3c014396 */ lui $at,0x4396
/* f191adc: 04400019 */ bltz $v0,.L0f191b44
/* f191ae0: 00021880 */ sll $v1,$v0,0x2
/* f191ae4: 0203c021 */ addu $t8,$s0,$v1
/* f191ae8: c704013c */ lwc1 $f4,0x13c($t8)
/* f191aec: 44813000 */ mtc1 $at,$f6
/* f191af0: 3c19800a */ lui $t9,%hi(g_Vars+0x8)
/* f191af4: 4606203c */ c.lt.s $f4,$f6
/* f191af8: 00000000 */ nop
/* f191afc: 45020012 */ bc1fl .L0f191b48
/* f191b00: 24010033 */ addiu $at,$zero,0x33
/* f191b04: 8f399fc8 */ lw $t9,%lo(g_Vars+0x8)($t9)
/* f191b08: 8e0801e4 */ lw $t0,0x1e4($s0)
/* f191b0c: 2729ffc4 */ addiu $t1,$t9,-60
/* f191b10: 0109082a */ slt $at,$t0,$t1
/* f191b14: 5420000c */ bnezl $at,.L0f191b48
/* f191b18: 24010033 */ addiu $at,$zero,0x33
/* f191b1c: 8e0a0004 */ lw $t2,0x4($s0)
/* f191b20: 914b0048 */ lbu $t3,0x48($t2)
/* f191b24: 51600008 */ beqzl $t3,.L0f191b48
/* f191b28: 24010033 */ addiu $at,$zero,0x33
/* f191b2c: 3c04800b */ lui $a0,%hi(g_MpPlayerChrs)
/* f191b30: 00832021 */ addu $a0,$a0,$v1
/* f191b34: 0fc0f917 */ jal chrGetInverseTheta
/* f191b38: 8c84c4d0 */ lw $a0,%lo(g_MpPlayerChrs)($a0)
/* f191b3c: 10000013 */ b .L0f191b8c
/* f191b40: 46000086 */ mov.s $f2,$f0
.L0f191b44:
/* f191b44: 24010033 */ addiu $at,$zero,0x33
.L0f191b48:
/* f191b48: 1481000d */ bne $a0,$at,.L0f191b80
/* f191b4c: 3c0c800a */ lui $t4,%hi(g_Vars+0x8)
/* f191b50: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4)
/* f191b54: 8e0d01e4 */ lw $t5,0x1e4($s0)
/* f191b58: 258effc4 */ addiu $t6,$t4,-60
/* f191b5c: 01ae082a */ slt $at,$t5,$t6
/* f191b60: 14200007 */ bnez $at,.L0f191b80
/* f191b64: 00000000 */ nop
/* f191b68: 8e0f0004 */ lw $t7,0x4($s0)
/* f191b6c: 91f80048 */ lbu $t8,0x48($t7)
/* f191b70: 13000003 */ beqz $t8,.L0f191b80
/* f191b74: 00000000 */ nop
/* f191b78: 10000004 */ b .L0f191b8c
/* f191b7c: c6020098 */ lwc1 $f2,0x98($s0)
.L0f191b80:
/* f191b80: 0fc0f95e */ jal func0f03e578
/* f191b84: 02202025 */ or $a0,$s1,$zero
/* f191b88: 46000086 */ mov.s $f2,$f0
.L0f191b8c:
/* f191b8c: 3c017f1c */ lui $at,%hi(var7f1b8ecc)
/* f191b90: c42e8ecc */ lwc1 $f14,%lo(var7f1b8ecc)($at)
/* f191b94: 44809000 */ mtc1 $zero,$f18
/* f191b98: 4602703e */ c.le.s $f14,$f2
/* f191b9c: 00000000 */ nop
/* f191ba0: 45020007 */ bc1fl .L0f191bc0
/* f191ba4: 4612103c */ c.lt.s $f2,$f18
/* f191ba8: 460e1081 */ sub.s $f2,$f2,$f14
.L0f191bac:
/* f191bac: 4602703e */ c.le.s $f14,$f2
/* f191bb0: 00000000 */ nop
/* f191bb4: 4503fffd */ bc1tl .L0f191bac
/* f191bb8: 460e1081 */ sub.s $f2,$f2,$f14
/* f191bbc: 4612103c */ c.lt.s $f2,$f18
.L0f191bc0:
/* f191bc0: 02202025 */ or $a0,$s1,$zero
/* f191bc4: 45020007 */ bc1fl .L0f191be4
/* f191bc8: 863902d8 */ lh $t9,0x2d8($s1)
/* f191bcc: 460e1080 */ add.s $f2,$f2,$f14
.L0f191bd0:
/* f191bd0: 4612103c */ c.lt.s $f2,$f18
/* f191bd4: 00000000 */ nop
/* f191bd8: 4503fffd */ bc1tl .L0f191bd0
/* f191bdc: 460e1080 */ add.s $f2,$f2,$f14
/* f191be0: 863902d8 */ lh $t9,0x2d8($s1)
.L0f191be4:
/* f191be4: 5b20002c */ blezl $t9,.L0f191c98
/* f191be8: c7a40044 */ lwc1 $f4,0x44($sp)
/* f191bec: 0fc0e6a5 */ jal chrIsDead
/* f191bf0: e7a20048 */ swc1 $f2,0x48($sp)
/* f191bf4: 3c017f1c */ lui $at,%hi(var7f1b8ed0)
/* f191bf8: 44809000 */ mtc1 $zero,$f18
/* f191bfc: c42e8ed0 */ lwc1 $f14,%lo(var7f1b8ed0)($at)
/* f191c00: 14400024 */ bnez $v0,.L0f191c94
/* f191c04: c7a20048 */ lwc1 $f2,0x48($sp)
/* f191c08: 8e080044 */ lw $t0,0x44($s0)
/* f191c0c: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f191c10: 55000021 */ bnezl $t0,.L0f191c98
/* f191c14: c7a40044 */ lwc1 $f4,0x44($sp)
/* f191c18: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f191c1c: 24010078 */ addiu $at,$zero,0x78
/* f191c20: e7a20048 */ swc1 $f2,0x48($sp)
/* f191c24: 0121001a */ div $zero,$t1,$at
/* f191c28: 00005010 */ mfhi $t2
/* f191c2c: 448a4000 */ mtc1 $t2,$f8
/* f191c30: 3c017f1c */ lui $at,%hi(var7f1b8ed4)
/* f191c34: c4248ed4 */ lwc1 $f4,%lo(var7f1b8ed4)($at)
/* f191c38: 468042a0 */ cvt.s.w $f10,$f8
/* f191c3c: 46045302 */ mul.s $f12,$f10,$f4
/* f191c40: 0c0068f7 */ jal sinf
/* f191c44: 00000000 */ nop
/* f191c48: 862b02d8 */ lh $t3,0x2d8($s1)
/* f191c4c: 3c017f1c */ lui $at,%hi(var7f1b8ed8)
/* f191c50: c42e8ed8 */ lwc1 $f14,%lo(var7f1b8ed8)($at)
/* f191c54: 448b3000 */ mtc1 $t3,$f6
/* f191c58: 3c017f1c */ lui $at,%hi(var7f1b8edc)
/* f191c5c: c42a8edc */ lwc1 $f10,%lo(var7f1b8edc)($at)
/* f191c60: 46803220 */ cvt.s.w $f8,$f6
/* f191c64: c7a20048 */ lwc1 $f2,0x48($sp)
/* f191c68: 44809000 */ mtc1 $zero,$f18
/* f191c6c: 460a4102 */ mul.s $f4,$f8,$f10
/* f191c70: 00000000 */ nop
/* f191c74: 46002182 */ mul.s $f6,$f4,$f0
/* f191c78: 46061080 */ add.s $f2,$f2,$f6
/* f191c7c: 4602703e */ c.le.s $f14,$f2
/* f191c80: 00000000 */ nop
/* f191c84: 45000002 */ bc1f .L0f191c90
/* f191c88: 00000000 */ nop
/* f191c8c: 460e1081 */ sub.s $f2,$f2,$f14
.L0f191c90:
/* f191c90: 460e1080 */ add.s $f2,$f2,$f14
.L0f191c94:
/* f191c94: c7a40044 */ lwc1 $f4,0x44($sp)
.L0f191c98:
/* f191c98: 3c017f1c */ lui $at,%hi(var7f1b8ee0)
/* f191c9c: c42a8ee0 */ lwc1 $f10,%lo(var7f1b8ee0)($at)
/* f191ca0: 46041001 */ sub.s $f0,$f2,$f4
/* f191ca4: 3c017f1c */ lui $at,%hi(var7f1b8ee4)
/* f191ca8: c4268ee4 */ lwc1 $f6,%lo(var7f1b8ee4)($at)
/* f191cac: 3c02800a */ lui $v0,%hi(g_Vars)
/* f191cb0: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f191cb4: 4606003c */ c.lt.s $f0,$f6
/* f191cb8: c448004c */ lwc1 $f8,0x4c($v0)
/* f191cbc: 46000406 */ mov.s $f16,$f0
/* f191cc0: 3c017f1c */ lui $at,%hi(var7f1b8ee8)
/* f191cc4: 460a4302 */ mul.s $f12,$f8,$f10
/* f191cc8: 45000003 */ bc1f .L0f191cd8
/* f191ccc: 00000000 */ nop
/* f191cd0: 10000007 */ b .L0f191cf0
/* f191cd4: 460e0400 */ add.s $f16,$f0,$f14
.L0f191cd8:
/* f191cd8: c4288ee8 */ lwc1 $f8,%lo(var7f1b8ee8)($at)
/* f191cdc: 4600403e */ c.le.s $f8,$f0
/* f191ce0: 00000000 */ nop
/* f191ce4: 45020003 */ bc1fl .L0f191cf4
/* f191ce8: 4610903e */ c.le.s $f18,$f16
/* f191cec: 460e0401 */ sub.s $f16,$f0,$f14
.L0f191cf0:
/* f191cf0: 4610903e */ c.le.s $f18,$f16
.L0f191cf4:
/* f191cf4: c7a80044 */ lwc1 $f8,0x44($sp)
/* f191cf8: 3c017f1c */ lui $at,%hi(var7f1b8eec)
/* f191cfc: 4502000f */ bc1fl .L0f191d3c
/* f191d00: 46006107 */ neg.s $f4,$f12
/* f191d04: 460c803e */ c.le.s $f16,$f12
/* f191d08: c7aa0044 */ lwc1 $f10,0x44($sp)
/* f191d0c: 45020004 */ bc1fl .L0f191d20
/* f191d10: 460c5080 */ add.s $f2,$f10,$f12
/* f191d14: 10000015 */ b .L0f191d6c
/* f191d18: 46001006 */ mov.s $f0,$f2
/* f191d1c: 460c5080 */ add.s $f2,$f10,$f12
.L0f191d20:
/* f191d20: 4602703e */ c.le.s $f14,$f2
/* f191d24: 46001006 */ mov.s $f0,$f2
/* f191d28: 45020011 */ bc1fl .L0f191d70
/* f191d2c: 46080281 */ sub.s $f10,$f0,$f8
/* f191d30: 1000000e */ b .L0f191d6c
/* f191d34: 460e1001 */ sub.s $f0,$f2,$f14
/* f191d38: 46006107 */ neg.s $f4,$f12
.L0f191d3c:
/* f191d3c: c7a60044 */ lwc1 $f6,0x44($sp)
/* f191d40: 4610203e */ c.le.s $f4,$f16
/* f191d44: 00000000 */ nop
/* f191d48: 45020004 */ bc1fl .L0f191d5c
/* f191d4c: 460c303c */ c.lt.s $f6,$f12
/* f191d50: 10000006 */ b .L0f191d6c
/* f191d54: 46001006 */ mov.s $f0,$f2
/* f191d58: 460c303c */ c.lt.s $f6,$f12
.L0f191d5c:
/* f191d5c: 460c3081 */ sub.s $f2,$f6,$f12
/* f191d60: 45000002 */ bc1f .L0f191d6c
/* f191d64: 46001006 */ mov.s $f0,$f2
/* f191d68: 460e1000 */ add.s $f0,$f2,$f14
.L0f191d6c:
/* f191d6c: 46080281 */ sub.s $f10,$f0,$f8
.L0f191d70:
/* f191d70: e60a00ac */ swc1 $f10,0xac($s0)
/* f191d74: c7a40044 */ lwc1 $f4,0x44($sp)
/* f191d78: 4604003c */ c.lt.s $f0,$f4
/* f191d7c: 00000000 */ nop
/* f191d80: 45020005 */ bc1fl .L0f191d98
/* f191d84: c60200ac */ lwc1 $f2,0xac($s0)
/* f191d88: c60600ac */ lwc1 $f6,0xac($s0)
/* f191d8c: 460e3200 */ add.s $f8,$f6,$f14
/* f191d90: e60800ac */ swc1 $f8,0xac($s0)
/* f191d94: c60200ac */ lwc1 $f2,0xac($s0)
.L0f191d98:
/* f191d98: c42a8eec */ lwc1 $f10,%lo(var7f1b8eec)($at)
/* f191d9c: 3c017f1c */ lui $at,%hi(var7f1b8ef0)
/* f191da0: 4602503e */ c.le.s $f10,$f2
/* f191da4: 00000000 */ nop
/* f191da8: 45020005 */ bc1fl .L0f191dc0
/* f191dac: c446004c */ lwc1 $f6,0x4c($v0)
/* f191db0: 460e1101 */ sub.s $f4,$f2,$f14
/* f191db4: e60400ac */ swc1 $f4,0xac($s0)
/* f191db8: c60200ac */ lwc1 $f2,0xac($s0)
/* f191dbc: c446004c */ lwc1 $f6,0x4c($v0)
.L0f191dc0:
/* f191dc0: 4600703e */ c.le.s $f14,$f0
/* f191dc4: 46061203 */ div.s $f8,$f2,$f6
/* f191dc8: e60800ac */ swc1 $f8,0xac($s0)
/* f191dcc: c60a00ac */ lwc1 $f10,0xac($s0)
/* f191dd0: c4248ef0 */ lwc1 $f4,%lo(var7f1b8ef0)($at)
/* f191dd4: 46045182 */ mul.s $f6,$f10,$f4
/* f191dd8: 45000006 */ bc1f .L0f191df4
/* f191ddc: e60600ac */ swc1 $f6,0xac($s0)
/* f191de0: 460e0001 */ sub.s $f0,$f0,$f14
.L0f191de4:
/* f191de4: 4600703e */ c.le.s $f14,$f0
/* f191de8: 00000000 */ nop
/* f191dec: 4503fffd */ bc1tl .L0f191de4
/* f191df0: 460e0001 */ sub.s $f0,$f0,$f14
.L0f191df4:
/* f191df4: 4612003c */ c.lt.s $f0,$f18
/* f191df8: 00000000 */ nop
/* f191dfc: 45020007 */ bc1fl .L0f191e1c
/* f191e00: 44050000 */ mfc1 $a1,$f0
/* f191e04: 460e0000 */ add.s $f0,$f0,$f14
.L0f191e08:
/* f191e08: 4612003c */ c.lt.s $f0,$f18
/* f191e0c: 00000000 */ nop
/* f191e10: 4503fffd */ bc1tl .L0f191e08
/* f191e14: 460e0000 */ add.s $f0,$f0,$f14
/* f191e18: 44050000 */ mfc1 $a1,$f0
.L0f191e1c:
/* f191e1c: 0fc0f94e */ jal chrSetLookAngle
/* f191e20: 02202025 */ or $a0,$s1,$zero
/* f191e24: 862c017e */ lh $t4,0x17e($s1)
/* f191e28: 44809000 */ mtc1 $zero,$f18
/* f191e2c: 2401ffff */ addiu $at,$zero,-1
/* f191e30: 11810018 */ beq $t4,$at,.L0f191e94
/* f191e34: 00000000 */ nop
/* f191e38: 8e0d004c */ lw $t5,0x4c($s0)
/* f191e3c: 02202025 */ or $a0,$s1,$zero
/* f191e40: 000d7840 */ sll $t7,$t5,0x1
/* f191e44: 05e00013 */ bltz $t7,.L0f191e94
/* f191e48: 00000000 */ nop
/* f191e4c: 8e380174 */ lw $t8,0x174($s1)
/* f191e50: 00003025 */ or $a2,$zero,$zero
/* f191e54: 00003825 */ or $a3,$zero,$zero
/* f191e58: 13000003 */ beqz $t8,.L0f191e68
/* f191e5c: 00000000 */ nop
/* f191e60: 10000001 */ b .L0f191e68
/* f191e64: 24060001 */ addiu $a2,$zero,0x1
.L0f191e68:
/* f191e68: 8e390170 */ lw $t9,0x170($s1)
/* f191e6c: 13200003 */ beqz $t9,.L0f191e7c
/* f191e70: 00000000 */ nop
/* f191e74: 10000001 */ b .L0f191e7c
/* f191e78: 24070001 */ addiu $a3,$zero,0x1
.L0f191e7c:
/* f191e7c: 8e050068 */ lw $a1,0x68($s0)
/* f191e80: 0fc0fa7d */ jal func0f03e9f4
/* f191e84: e7b20010 */ swc1 $f18,0x10($sp)
/* f191e88: 44809000 */ mtc1 $zero,$f18
/* f191e8c: 10000006 */ b .L0f191ea8
/* f191e90: 82220007 */ lb $v0,0x7($s1)
.L0f191e94:
/* f191e94: 0fc0fe0a */ jal chrResetAimEndProperties
/* f191e98: 02202025 */ or $a0,$s1,$zero
/* f191e9c: 44809000 */ mtc1 $zero,$f18
/* f191ea0: 00000000 */ nop
/* f191ea4: 82220007 */ lb $v0,0x7($s1)
.L0f191ea8:
/* f191ea8: 24010004 */ addiu $at,$zero,0x4
/* f191eac: 10410003 */ beq $v0,$at,.L0f191ebc
/* f191eb0: 24010005 */ addiu $at,$zero,0x5
/* f191eb4: 54410005 */ bnel $v0,$at,.L0f191ecc
/* f191eb8: 8e080044 */ lw $t0,0x44($s0)
.L0f191ebc:
/* f191ebc: e612006c */ swc1 $f18,0x6c($s0)
/* f191ec0: 1000001a */ b .L0f191f2c
/* f191ec4: e6120070 */ swc1 $f18,0x70($s0)
/* f191ec8: 8e080044 */ lw $t0,0x44($s0)
.L0f191ecc:
/* f191ecc: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f191ed0: 2401000f */ addiu $at,$zero,0xf
/* f191ed4: 11000006 */ beqz $t0,.L0f191ef0
/* f191ed8: 00000000 */ nop
/* f191edc: e612006c */ swc1 $f18,0x6c($s0)
/* f191ee0: e6120070 */ swc1 $f18,0x70($s0)
/* f191ee4: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f191ee8: 10000010 */ b .L0f191f2c
/* f191eec: ae0901e4 */ sw $t1,0x1e4($s0)
.L0f191ef0:
/* f191ef0: 1441000a */ bne $v0,$at,.L0f191f1c
/* f191ef4: 3c0c800a */ lui $t4,%hi(g_Vars+0x8)
/* f191ef8: 922a0065 */ lbu $t2,0x65($s1)
/* f191efc: 3c013f80 */ lui $at,0x3f80
/* f191f00: 314b0020 */ andi $t3,$t2,0x20
/* f191f04: 55600006 */ bnezl $t3,.L0f191f20
/* f191f08: e612006c */ swc1 $f18,0x6c($s0)
/* f191f0c: 44814000 */ mtc1 $at,$f8
/* f191f10: e6120070 */ swc1 $f18,0x70($s0)
/* f191f14: 10000005 */ b .L0f191f2c
/* f191f18: e608006c */ swc1 $f8,0x6c($s0)
.L0f191f1c:
/* f191f1c: e612006c */ swc1 $f18,0x6c($s0)
.L0f191f20:
/* f191f20: e6120070 */ swc1 $f18,0x70($s0)
/* f191f24: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4)
/* f191f28: ae0c01e4 */ sw $t4,0x1e4($s0)
.L0f191f2c:
/* f191f2c: 0fc64512 */ jal func0f191448
/* f191f30: 02202025 */ or $a0,$s1,$zero
/* f191f34: 0fc08c26 */ jal func0f023098
/* f191f38: 8fa40068 */ lw $a0,0x68($sp)
/* f191f3c: 3c0d800a */ lui $t5,%hi(g_Vars+0x8)
/* f191f40: 8dad9fc8 */ lw $t5,%lo(g_Vars+0x8)($t5)
/* f191f44: afa2005c */ sw $v0,0x5c($sp)
/* f191f48: 8fae0058 */ lw $t6,0x58($sp)
/* f191f4c: 29a10091 */ slti $at,$t5,0x91
/* f191f50: 5420000f */ bnezl $at,.L0f191f90
/* f191f54: 8fbf0024 */ lw $ra,0x24($sp)
/* f191f58: 51c00004 */ beqzl $t6,.L0f191f6c
/* f191f5c: 8faf0058 */ lw $t7,0x58($sp)
/* f191f60: 0fc615c8 */ jal scenarioCallback14
/* f191f64: 02202025 */ or $a0,$s1,$zero
/* f191f68: 8faf0058 */ lw $t7,0x58($sp)
.L0f191f6c:
/* f191f6c: 51e00008 */ beqzl $t7,.L0f191f90
/* f191f70: 8fbf0024 */ lw $ra,0x24($sp)
/* f191f74: 0fc0e6a5 */ jal chrIsDead
/* f191f78: 02202025 */ or $a0,$s1,$zero
/* f191f7c: 54400004 */ bnezl $v0,.L0f191f90
/* f191f80: 8fbf0024 */ lw $ra,0x24($sp)
/* f191f84: 0fc64493 */ jal func0f19124c
/* f191f88: 02202025 */ or $a0,$s1,$zero
.L0f191f8c:
/* f191f8c: 8fbf0024 */ lw $ra,0x24($sp)
.L0f191f90:
/* f191f90: 8fa2005c */ lw $v0,0x5c($sp)
/* f191f94: 8fb0001c */ lw $s0,0x1c($sp)
/* f191f98: 8fb10020 */ lw $s1,0x20($sp)
/* f191f9c: 03e00008 */ jr $ra
/* f191fa0: 27bd0068 */ addiu $sp,$sp,0x68
);
#else
GLOBAL_ASM(
glabel aibotTick
.late_rodata
@@ -2224,6 +2737,7 @@ glabel var7f1b8ef0
/* f191f9c: 03e00008 */ jr $ra
/* f191fa0: 27bd0068 */ addiu $sp,$sp,0x68
);
#endif
// Mismatch: updateable is calculated differently
//bool aibotTick(struct prop *prop)
@@ -2508,11 +3022,11 @@ void func0f1921f8(struct chrdata *chr, f32 *move, s32 numupdates, f32 arg3)
move[0] = 0;
move[1] = 0;
tmp = 0.055000007152557f * arg3 / numupdates;
tmp = (PAL ? 0.065f : 0.055000007152557f) * arg3 / numupdates;
for (i = 0; i < numupdates; i++) {
chr->aibot->unk0b4 = 0.945f * chr->aibot->unk0b4 + sp30[0];
chr->aibot->unk0b8 = 0.945f * chr->aibot->unk0b8 + sp30[1];
chr->aibot->unk0b4 = (PAL ? 0.935f : 0.945f) * chr->aibot->unk0b4 + sp30[0];
chr->aibot->unk0b8 = (PAL ? 0.935f : 0.945f) * chr->aibot->unk0b8 + sp30[1];
move[0] += chr->aibot->unk0b4 * tmp;
move[1] += chr->aibot->unk0b8 * tmp;
@@ -2788,10 +3302,10 @@ void func0f192a74(struct chrdata *chr)
}
for (i = 0; i < g_Vars.lvupdate240; i++) {
aibot->unk1c4 = aibot->unk1c4 * 0.97500002384186f + aibot->unk1c8;
aibot->unk1c4 = aibot->unk1c4 * (PAL ? 0.97f : 0.97500002384186f) + aibot->unk1c8;
}
aibot->unk1c0 = aibot->unk1c4 * 0.024999976158142f;
aibot->unk1c0 = aibot->unk1c4 * (PAL ? 0.029999971389771f : 0.024999976158142f);
}
bool func0f192d64(struct chrdata *botchr, struct chrdata *otherchr)
@@ -4529,6 +5043,68 @@ s32 mpGetNumOpponentsInHill(struct chrdata *chr)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f194b40
.late_rodata
glabel var7f1b8f54
.word 0x49742400
glabel var7f1b8f58
.word func0f194b40+0x2398
glabel var7f1b8f5c
.word func0f194b40+0x23fc
glabel var7f1b8f60
.word func0f194b40+0x23fc
glabel var7f1b8f64
.word func0f194b40+0x23fc
glabel var7f1b8f68
.word func0f194b40+0x2398
glabel var7f1b8f6c
.word func0f194b40+0x2398
glabel var7f1b8f70
.word func0f194b40+0x2398
glabel var7f1b8f74
.word func0f194b40+0x23fc
glabel var7f1b8f78
.word func0f194b40+0x23fc
glabel var7f1b8f7c
.word func0f194b40+0x2398
glabel var7f1b8f80
.word func0f194b40+0x2398
glabel var7f1b8f84
.word func0f194b40+0x2398
glabel var7f1b8f88
.word func0f194b40+0x2398
glabel var7f1b8f8c
.word func0f194b40+0x2398
glabel var7f1b8f90
.word func0f194b40+0x2398
glabel var7f1b8f94
.word func0f194b40+0x2398
glabel var7f1b8f98
.word func0f194b40+0x2398
glabel var7f1b8f9c
.word func0f194b40+0x2398
glabel var7f1b8fa0
.word func0f194b40+0x2398
glabel var7f1b8fa4
.word func0f194b40+0x2474
glabel var7f1b8fa8
.word func0f194b40+0x2398
glabel var7f1b8fac
.word func0f194b40+0x2398
glabel var7f1b8fb0
.word func0f194b40+0x2398
glabel var7f1b8fb4
.word func0f194b40+0x2398
glabel var7f1b8fb8
.word func0f194b40+0x2398
glabel var7f1b8fbc
.word func0f194b40+0x23fc
glabel var7f1b8fc0
.word func0f194b40+0x2398
glabel var7f1b8fc4
.word func0f194b40+0x2450
glabel var7f1b8fc8
.word 0x3d4ccccd
.text
/* f195bf8: 27bdfd08 */ addiu $sp,$sp,-760
/* f195bfc: afbf0044 */ sw $ra,0x44($sp)
/* f195c00: afb50034 */ sw $s5,0x34($sp)
+2 -2
View File
@@ -857,7 +857,7 @@ void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3,
f32 float2;
if (g_Vars.lvframe60 > 0) {
killrate = g_Vars.totalkills * 3600.0f / (f32)(g_Vars.lvframe60 * g_MpNumPlayers);
killrate = g_Vars.totalkills * (PAL ? 3000.0f : 3600.0f) / (f32)(g_Vars.lvframe60 * g_MpNumPlayers);
if (killrate < 1) {
killrate = 1;
@@ -867,7 +867,7 @@ void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3,
weaponindex = mpGetWeaponIndexByWeaponNum(weaponnum);
if (weaponindex >= 0) {
float2 = ceilf(chr->aibot->equipdurations60[weaponindex][funcnum] * (1.0f / 3600.0f));
float2 = ceilf(chr->aibot->equipdurations60[weaponindex][funcnum] * (1.0f / (PAL ? 3000.0f : 3600.0f)));
if (float2 > 0) {
float1 = chr->aibot->killsbygunfunc[weaponindex][funcnum];
+2
View File
@@ -479,6 +479,8 @@ void savefileApplyOptions(struct savefile_solo *file)
#endif
#if VERSION >= VERSION_PAL_FINAL
const char var7f1b4bd0pf[] = "Dark";
GLOBAL_ASM(
glabel savefileLoadDefaults
/* f1100ac: 27bdffd8 */ addiu $sp,$sp,-40
+46
View File
@@ -2374,6 +2374,30 @@ glabel func0f0de160
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0de7fc
.late_rodata
glabel var7f1af190
.word 0x7f0df2e0
glabel var7f1af194
.word 0x7f0df2e8
glabel var7f1af198
.word 0x7f0df2fc
glabel var7f1af19c
.word 0x7f0df498
glabel var7f1af1a0
.word 0x7f0df4c8
glabel var7f1af1a4
.word 0x7f0e0040
glabel var7f1af1a8
.word 0x7f0dfba4
glabel var7f1af1ac
.word 0x7f0dfd5c
glabel var7f1af1b0
.word 0x7f0dfd9c
glabel var7f1af1b4
.word 0x7f0dff24
glabel var7f1af1b8
.word 0x7f0dffc4
.text
/* f0dee30: 27bdffc8 */ addiu $sp,$sp,-56
/* f0dee34: afbf0014 */ sw $ra,0x14($sp)
/* f0dee38: afa40038 */ sw $a0,0x38($sp)
@@ -4206,6 +4230,28 @@ glabel hudmsgCreate
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel hudmsgsTick
.late_rodata
glabel var7f1af1bc
.word 0x41066667
glabel var7f1af1c0
.word 0x41066667
glabel var7f1af1c4
.word 0x41066667
glabel var7f1af1c8
.word 0x40490fdb
glabel var7f1af1cc
.word 0x7f0e0b40
glabel var7f1af1d0
.word 0x7f0e0b40
glabel var7f1af1d4
.word 0x7f0e0b40
glabel var7f1af1d8
.word 0x7f0e04f8
glabel var7f1af1dc
.word 0x7f0e0750
glabel var7f1af1e0
.word 0x7f0e08d4
.text
/* f0df9dc: 27bdff90 */ addiu $sp,$sp,-112
/* f0df9e0: 3c018007 */ lui $at,0x8007
/* f0df9e4: 3c088007 */ lui $t0,0x8007
+14
View File
@@ -530,6 +530,20 @@ glabel func0f16f6ecpf
#if PAL
GLOBAL_ASM(
glabel func0f16f75c
.late_rodata
glabel var7f1b9080pf
.word 0x7f16f7b4
glabel var7f1b9084pf
.word 0x7f16f7c0
glabel var7f1b9088pf
.word 0x7f16f7d0
glabel var7f1b908cpf
.word 0x7f16f7e0
glabel var7f1b9090pf
.word 0x7f16f7f0
glabel var7f1b9094pf
.word 0x7f16f800
.text
/* f16f75c: 3c0e800b */ lui $t6,0x800b
/* f16f760: 8dceb0ec */ lw $t6,-0x4f14($t6)
/* f16f764: 27bdffe0 */ addiu $sp,$sp,-32
+2 -2
View File
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include "constants.h"
#include "game/camdraw.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_095320.h"
#include "game/game_0b3350.h"
#include "game/game_0e0770.h"
@@ -1774,7 +1774,7 @@ bool menuTickItemList(struct menuitem *item, struct menuinputs *inputs, u32 arg2
prev = data->list.unk00;
for (i = 0; i < g_Vars.diffframe60; i++) {
f0 = data->list.unk04 * 0.35f + 0.65f * f0;
f0 = data->list.unk04 * (PAL ? 0.404f : 0.35f) + (PAL ? 0.59599995613098f : 0.65f) * f0;
}
data->list.unk00 = f0;
+1 -1
View File
@@ -1,6 +1,6 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/title.h"
#include "game/game_0b0fd0.h"
#include "game/game_0b3350.h"
+146
View File
@@ -6668,15 +6668,160 @@ char *mpGetPresetNameBySlot(s32 slot)
const char var7f1b8c40[] = "bot %d headId %d bodyId %d\n";
const char var7f1b8c5c[] = "team change %s %d\n";
#if VERSION >= VERSION_PAL_FINAL
const char var7f1b8c70[] = "options/mplayer.c";
#else
const char var7f1b8c70[] = "mplayer.c";
#endif
const char var7f1b8c7c[] = "team change %s %d\n";
#if VERSION >= VERSION_PAL_FINAL
const char var7f1b8c90[] = "options/mplayer.c";
#else
const char var7f1b8c90[] = "mplayer.c";
#endif
const char var7f1b8c9c[] = "SaveMultiGameFile : PakId=0x%x, FileId=0x%x\n";
const char var7f1b8ccc[] = "SaveGame Result: %d New GUID: %x\n";
const char var7f1b8cf0[] = "LoadMultiGameFile : PakId=0x%x, FileId=0x%x\n";
const char var7f1b8d20[] = "LoadGame Result: %d\n";
const char var7f1b8d38[] = "GBCHead: Call to create head for slot %d (gbcheadobjs[slotno]=%x)\n";
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f18dcec
/* f18edb8: 27bdffc0 */ addiu $sp,$sp,-64
/* f18edbc: afb00018 */ sw $s0,0x18($sp)
/* f18edc0: afbf003c */ sw $ra,0x3c($sp)
/* f18edc4: afbe0038 */ sw $s8,0x38($sp)
/* f18edc8: afb70034 */ sw $s7,0x34($sp)
/* f18edcc: afb60030 */ sw $s6,0x30($sp)
/* f18edd0: afb5002c */ sw $s5,0x2c($sp)
/* f18edd4: afb40028 */ sw $s4,0x28($sp)
/* f18edd8: afb30024 */ sw $s3,0x24($sp)
/* f18eddc: afb20020 */ sw $s2,0x20($sp)
/* f18ede0: afb1001c */ sw $s1,0x1c($sp)
/* f18ede4: 908e0010 */ lbu $t6,0x10($a0)
/* f18ede8: 3c10800b */ lui $s0,0x800b
/* f18edec: 2610d128 */ addiu $s0,$s0,-11992
/* f18edf0: 0080f025 */ move $s8,$a0
/* f18edf4: 96120016 */ lhu $s2,0x16($s0)
/* f18edf8: 0fc61922 */ jal 0xf186488
/* f18edfc: a20e0010 */ sb $t6,0x10($s0)
/* f18ee00: 03c0c825 */ move $t9,$s8
/* f18ee04: 02004025 */ move $t0,$s0
/* f18ee08: 27d80024 */ addiu $t8,$s8,0x24
.PF0f18ee0c:
/* f18ee0c: 8f210000 */ lw $at,0x0($t9)
/* f18ee10: 2739000c */ addiu $t9,$t9,0xc
/* f18ee14: 2508000c */ addiu $t0,$t0,0xc
/* f18ee18: ad01fff4 */ sw $at,-0xc($t0)
/* f18ee1c: 8f21fff8 */ lw $at,-0x8($t9)
/* f18ee20: ad01fff8 */ sw $at,-0x8($t0)
/* f18ee24: 8f21fffc */ lw $at,-0x4($t9)
/* f18ee28: 1738fff8 */ bne $t9,$t8,.PF0f18ee0c
/* f18ee2c: ad01fffc */ sw $at,-0x4($t0)
/* f18ee30: 8f210000 */ lw $at,0x0($t9)
/* f18ee34: 3c09800b */ lui $t1,0x800b
/* f18ee38: 2537cd38 */ addiu $s7,$t1,-13000
/* f18ee3c: ad010000 */ sw $at,0x0($t0)
/* f18ee40: a6120016 */ sh $s2,0x16($s0)
/* f18ee44: 3c11800b */ lui $s1,0x800b
/* f18ee48: 2631cad8 */ addiu $s1,$s1,-13608
/* f18ee4c: 24100004 */ li $s0,0x4
/* f18ee50: 02e0a825 */ move $s5,$s7
/* f18ee54: 00009825 */ move $s3,$zero
/* f18ee58: 03c0a025 */ move $s4,$s8
/* f18ee5c: 03c0b025 */ move $s6,$s8
.PF0f18ee60:
/* f18ee60: 928a0028 */ lbu $t2,0x28($s4)
/* f18ee64: 00001025 */ move $v0,$zero
/* f18ee68: 02a01825 */ move $v1,$s5
/* f18ee6c: 02c02025 */ move $a0,$s6
/* f18ee70: a22a0047 */ sb $t2,0x47($s1)
.PF0f18ee74:
/* f18ee74: 908b002c */ lbu $t3,0x2c($a0)
/* f18ee78: 24420001 */ addiu $v0,$v0,0x1
/* f18ee7c: 24630001 */ addiu $v1,$v1,0x1
/* f18ee80: 24840001 */ addiu $a0,$a0,0x1
/* f18ee84: 1450fffb */ bne $v0,$s0,.PF0f18ee74
/* f18ee88: a06bffff */ sb $t3,-0x1($v1)
/* f18ee8c: 92ec0000 */ lbu $t4,0x0($s7)
/* f18ee90: 3c0d8009 */ lui $t5,0x8009
/* f18ee94: 24010001 */ li $at,0x1
/* f18ee98: a22c0048 */ sb $t4,0x48($s1)
/* f18ee9c: 91ad1040 */ lbu $t5,0x1040($t5)
/* f18eea0: 00137100 */ sll $t6,$s3,0x4
/* f18eea4: 01d37023 */ subu $t6,$t6,$s3
/* f18eea8: 15a1000a */ bne $t5,$at,.PF0f18eed4
/* f18eeac: 02202025 */ move $a0,$s1
/* f18eeb0: 0fc5bdaa */ jal 0xf16f6a8
/* f18eeb4: 240454f2 */ li $a0,0x54f2
/* f18eeb8: 26720001 */ addiu $s2,$s3,0x1
/* f18eebc: 02403025 */ move $a2,$s2
/* f18eec0: 02202025 */ move $a0,$s1
/* f18eec4: 0c004d11 */ jal 0x13444
/* f18eec8: 00402825 */ move $a1,$v0
/* f18eecc: 10000006 */ b .PF0f18eee8
/* f18eed0: 928f0029 */ lbu $t7,0x29($s4)
.PF0f18eed4:
/* f18eed4: 03ce2821 */ addu $a1,$s8,$t6
/* f18eed8: 0c004bb0 */ jal 0x12ec0
/* f18eedc: 24a50130 */ addiu $a1,$a1,0x130
/* f18eee0: 26720001 */ addiu $s2,$s3,0x1
/* f18eee4: 928f0029 */ lbu $t7,0x29($s4)
.PF0f18eee8:
/* f18eee8: 2a410008 */ slti $at,$s2,0x8
/* f18eeec: 02409825 */ move $s3,$s2
/* f18eef0: a22f000f */ sb $t7,0xf($s1)
/* f18eef4: 9298002a */ lbu $t8,0x2a($s4)
/* f18eef8: 2631004c */ addiu $s1,$s1,0x4c
/* f18eefc: 26940008 */ addiu $s4,$s4,0x8
/* f18ef00: a238ffc4 */ sb $t8,-0x3c($s1)
/* f18ef04: 92990023 */ lbu $t9,0x23($s4)
/* f18ef08: 26b50004 */ addiu $s5,$s5,0x4
/* f18ef0c: 26d60008 */ addiu $s6,$s6,0x8
/* f18ef10: 26f70004 */ addiu $s7,$s7,0x4
/* f18ef14: 1420ffd2 */ bnez $at,.PF0f18ee60
/* f18ef18: a239ffc5 */ sb $t9,-0x3b($s1)
/* f18ef1c: 0fc67684 */ jal 0xf19da10
/* f18ef20: 24040016 */ li $a0,0x16
/* f18ef24: 1440000c */ bnez $v0,.PF0f18ef58
/* f18ef28: 3c04800b */ lui $a0,0x800b
/* f18ef2c: 3c02800b */ lui $v0,0x800b
/* f18ef30: 2442d128 */ addiu $v0,$v0,-11992
/* f18ef34: 2484d12e */ addiu $a0,$a0,-11986
/* f18ef38: 24030025 */ li $v1,0x25
/* f18ef3c: 90480018 */ lbu $t0,0x18($v0)
.PF0f18ef40:
/* f18ef40: 54680003 */ bnel $v1,$t0,.PF0f18ef50
/* f18ef44: 24420001 */ addiu $v0,$v0,0x1
/* f18ef48: a0400018 */ sb $zero,0x18($v0)
/* f18ef4c: 24420001 */ addiu $v0,$v0,0x1
.PF0f18ef50:
/* f18ef50: 5444fffb */ bnel $v0,$a0,.PF0f18ef40
/* f18ef54: 90480018 */ lbu $t0,0x18($v0)
.PF0f18ef58:
/* f18ef58: 0fc62878 */ jal 0xf18a1e0
/* f18ef5c: 00000000 */ nop
/* f18ef60: 0fc674a4 */ jal 0xf19d290
/* f18ef64: 00000000 */ nop
/* f18ef68: 8fbf003c */ lw $ra,0x3c($sp)
/* f18ef6c: 8fb00018 */ lw $s0,0x18($sp)
/* f18ef70: 8fb1001c */ lw $s1,0x1c($sp)
/* f18ef74: 8fb20020 */ lw $s2,0x20($sp)
/* f18ef78: 8fb30024 */ lw $s3,0x24($sp)
/* f18ef7c: 8fb40028 */ lw $s4,0x28($sp)
/* f18ef80: 8fb5002c */ lw $s5,0x2c($sp)
/* f18ef84: 8fb60030 */ lw $s6,0x30($sp)
/* f18ef88: 8fb70034 */ lw $s7,0x34($sp)
/* f18ef8c: 8fbe0038 */ lw $s8,0x38($sp)
/* f18ef90: 03e00008 */ jr $ra
/* f18ef94: 27bd0040 */ addiu $sp,$sp,0x40
);
#else
GLOBAL_ASM(
glabel func0f18dcec
/* f18dcec: 27bdffc0 */ addiu $sp,$sp,-64
@@ -6806,6 +6951,7 @@ glabel func0f18dcec
/* f18debc: 03e00008 */ jr $ra
/* f18dec0: 27bd0040 */ addiu $sp,$sp,0x40
);
#endif
GLOBAL_ASM(
glabel func0f18dec4
+876 -1
View File
@@ -2,7 +2,7 @@
#include "constants.h"
#include "game/chr/chraction.h"
#include "game/dlights.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_00c490.h"
#include "game/prop.h"
#include "game/game_092610.h"
@@ -1974,6 +1974,699 @@ void scenarioKohReset(void)
roomSetLighting(g_ScenarioData.koh.hillrooms[0], LIGHTOP_5, 0, 0, 0);
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel scenarioKohTick
.late_rodata
glabel var7f1b893c
.word 0x3f733333
glabel var7f1b8940
.word 0x3d7487fd
glabel var7f1b8944
.word 0x3f70b780
glabel var7f1b8948
.word 0x3f70b780
glabel var7f1b894c
.word 0x3d7487fd
glabel var7f1b8950
.word 0x3d7487fd
.text
/* f182cf4: 27bdfe78 */ addiu $sp,$sp,-392
/* f182cf8: afb30034 */ sw $s3,0x34($sp)
/* f182cfc: 3c13800b */ lui $s3,0x800b
/* f182d00: 2673c6b0 */ addiu $s3,$s3,-14672
/* f182d04: 866e000a */ lh $t6,0xa($s3)
/* f182d08: 2401ffff */ li $at,-1
/* f182d0c: afbf003c */ sw $ra,0x3c($sp)
/* f182d10: afb40038 */ sw $s4,0x38($sp)
/* f182d14: afb20030 */ sw $s2,0x30($sp)
/* f182d18: afb1002c */ sw $s1,0x2c($sp)
/* f182d1c: 11c1024f */ beq $t6,$at,.PF0f18365c
/* f182d20: afb00028 */ sw $s0,0x28($sp)
/* f182d24: 866f0008 */ lh $t7,0x8($s3)
/* f182d28: 00003825 */ move $a3,$zero
/* f182d2c: 3c013f80 */ lui $at,0x3f80
/* f182d30: 11e00058 */ beqz $t7,.PF0f182e94
/* f182d34: 00000000 */ nop
/* f182d38: 44811000 */ mtc1 $at,$f2
/* f182d3c: 3c017f1c */ lui $at,0x7f1c
/* f182d40: c42c9f8c */ lwc1 $f12,-0x6074($at)
/* f182d44: c6600030 */ lwc1 $f0,0x30($s3)
/* f182d48: 2418ffff */ li $t8,-1
/* f182d4c: a6780004 */ sh $t8,0x4($s3)
/* f182d50: 4600603e */ c.le.s $f12,$f0
/* f182d54: a6600006 */ sh $zero,0x6($s3)
/* f182d58: e7a20164 */ swc1 $f2,0x164($sp)
/* f182d5c: e7a20160 */ swc1 $f2,0x160($sp)
/* f182d60: 45000047 */ bc1f .PF0f182e80
/* f182d64: e7a2015c */ swc1 $f2,0x15c($sp)
/* f182d68: c6640034 */ lwc1 $f4,0x34($s3)
/* f182d6c: 4604603e */ c.le.s $f12,$f4
/* f182d70: 00000000 */ nop
/* f182d74: 45000042 */ bc1f .PF0f182e80
/* f182d78: 00000000 */ nop
/* f182d7c: c6660038 */ lwc1 $f6,0x38($s3)
/* f182d80: 00002825 */ move $a1,$zero
/* f182d84: 00003025 */ move $a2,$zero
/* f182d88: 4606603e */ c.le.s $f12,$f6
/* f182d8c: 00003825 */ move $a3,$zero
/* f182d90: 4500003b */ bc1f .PF0f182e80
/* f182d94: 00000000 */ nop
/* f182d98: 8664000e */ lh $a0,0xe($s3)
/* f182d9c: 0fc00b0a */ jal 0xf002c28
/* f182da0: afa00010 */ sw $zero,0x10($sp)
/* f182da4: 8679000c */ lh $t9,0xc($s3)
/* f182da8: 00002025 */ move $a0,$zero
/* f182dac: 2b210002 */ slti $at,$t9,0x2
/* f182db0: 54200013 */ bnezl $at,.PF0f182e00
/* f182db4: a660000a */ sh $zero,0xa($s3)
/* f182db8: 8670000a */ lh $s0,0xa($s3)
.PF0f182dbc:
/* f182dbc: 0c004ad4 */ jal 0x12b50
/* f182dc0: 00000000 */ nop
/* f182dc4: 8668000c */ lh $t0,0xc($s3)
/* f182dc8: 0048001b */ divu $zero,$v0,$t0
/* f182dcc: 00004810 */ mfhi $t1
/* f182dd0: a669000a */ sh $t1,0xa($s3)
/* f182dd4: 8663000a */ lh $v1,0xa($s3)
/* f182dd8: 15000002 */ bnez $t0,.PF0f182de4
/* f182ddc: 00000000 */ nop
/* f182de0: 0007000d */ break 0x7
.PF0f182de4:
/* f182de4: 1203fff5 */ beq $s0,$v1,.PF0f182dbc
/* f182de8: 00000000 */ nop
/* f182dec: 00035040 */ sll $t2,$v1,0x1
/* f182df0: 026a5821 */ addu $t3,$s3,$t2
/* f182df4: 10000002 */ b .PF0f182e00
/* f182df8: 85640012 */ lh $a0,0x12($t3)
/* f182dfc: a660000a */ sh $zero,0xa($s3)
.PF0f182e00:
/* f182e00: 24050042 */ li $a1,0x42
/* f182e04: 0fc45964 */ jal 0xf116590
/* f182e08: 27a600a8 */ addiu $a2,$sp,0xa8
/* f182e0c: 8fac00f0 */ lw $t4,0xf0($sp)
/* f182e10: c7a800a8 */ lwc1 $f8,0xa8($sp)
/* f182e14: c7aa00ac */ lwc1 $f10,0xac($sp)
/* f182e18: c7b200b0 */ lwc1 $f18,0xb0($sp)
/* f182e1c: 240dffff */ li $t5,-1
/* f182e20: 3c04800b */ lui $a0,0x800b
/* f182e24: 3c05800b */ lui $a1,0x800b
/* f182e28: a66d0010 */ sh $t5,0x10($s3)
/* f182e2c: 24a5c6be */ addiu $a1,$a1,-14658
/* f182e30: 2484c6d4 */ addiu $a0,$a0,-14636
/* f182e34: 00003025 */ move $a2,$zero
/* f182e38: 00003825 */ move $a3,$zero
/* f182e3c: a66c000e */ sh $t4,0xe($s3)
/* f182e40: e6680024 */ swc1 $f8,0x24($s3)
/* f182e44: e66a0028 */ swc1 $f10,0x28($s3)
/* f182e48: 0c00a71b */ jal 0x29c6c
/* f182e4c: e672002c */ swc1 $f18,0x2c($s3)
/* f182e50: e6600028 */ swc1 $f0,0x28($s3)
/* f182e54: 8664000e */ lh $a0,0xe($s3)
/* f182e58: 24050005 */ li $a1,0x5
/* f182e5c: 00003025 */ move $a2,$zero
/* f182e60: 00003825 */ move $a3,$zero
/* f182e64: 0fc00b0a */ jal 0xf002c28
/* f182e68: afa00010 */ sw $zero,0x10($sp)
/* f182e6c: 240effff */ li $t6,-1
/* f182e70: a66e0004 */ sh $t6,0x4($s3)
/* f182e74: a6600006 */ sh $zero,0x6($s3)
/* f182e78: a6600008 */ sh $zero,0x8($s3)
/* f182e7c: c6600030 */ lwc1 $f0,0x30($s3)
.PF0f182e80:
/* f182e80: 3c14800a */ lui $s4,0x800a
/* f182e84: 2694a510 */ addiu $s4,$s4,-23280
/* f182e88: c66c0034 */ lwc1 $f12,0x34($s3)
/* f182e8c: 10000198 */ b .PF0f1834f0
/* f182e90: c6700038 */ lwc1 $f16,0x38($s3)
.PF0f182e94:
/* f182e94: 3c14800a */ lui $s4,0x800a
/* f182e98: 2694a510 */ addiu $s4,$s4,-23280
/* f182e9c: 8e83033c */ lw $v1,0x33c($s4)
/* f182ea0: 00003025 */ move $a2,$zero
/* f182ea4: 24120003 */ li $s2,0x3
/* f182ea8: 1060001e */ beqz $v1,.PF0f182f24
/* f182eac: 24100006 */ li $s0,0x6
/* f182eb0: 90620000 */ lbu $v0,0x0($v1)
.PF0f182eb4:
/* f182eb4: 52020004 */ beql $s0,$v0,.PF0f182ec8
/* f182eb8: 846f0028 */ lh $t7,0x28($v1)
/* f182ebc: 56420017 */ bnel $s2,$v0,.PF0f182f1c
/* f182ec0: 8c630020 */ lw $v1,0x20($v1)
/* f182ec4: 846f0028 */ lh $t7,0x28($v1)
.PF0f182ec8:
/* f182ec8: 8678000e */ lh $t8,0xe($s3)
/* f182ecc: 00008825 */ move $s1,$zero
/* f182ed0: 15f80002 */ bne $t7,$t8,.PF0f182edc
/* f182ed4: 00000000 */ nop
/* f182ed8: 24110001 */ li $s1,0x1
.PF0f182edc:
/* f182edc: 5220000f */ beqzl $s1,.PF0f182f1c
/* f182ee0: 8c630020 */ lw $v1,0x20($v1)
/* f182ee4: 8c640004 */ lw $a0,0x4($v1)
/* f182ee8: afa70170 */ sw $a3,0x170($sp)
/* f182eec: afa60174 */ sw $a2,0x174($sp)
/* f182ef0: 0fc0e706 */ jal 0xf039c18
/* f182ef4: afa30074 */ sw $v1,0x74($sp)
/* f182ef8: 8fa30074 */ lw $v1,0x74($sp)
/* f182efc: 8fa60174 */ lw $a2,0x174($sp)
/* f182f00: 14400005 */ bnez $v0,.PF0f182f18
/* f182f04: 8fa70170 */ lw $a3,0x170($sp)
/* f182f08: 0006c880 */ sll $t9,$a2,0x2
/* f182f0c: 03b94021 */ addu $t0,$sp,$t9
/* f182f10: ad030078 */ sw $v1,0x78($t0)
/* f182f14: 24c60001 */ addiu $a2,$a2,0x1
.PF0f182f18:
/* f182f18: 8c630020 */ lw $v1,0x20($v1)
.PF0f182f1c:
/* f182f1c: 5460ffe5 */ bnezl $v1,.PF0f182eb4
/* f182f20: 90620000 */ lbu $v0,0x0($v1)
.PF0f182f24:
/* f182f24: 27a200fc */ addiu $v0,$sp,0xfc
/* f182f28: 27a3011c */ addiu $v1,$sp,0x11c
.PF0f182f2c:
/* f182f2c: 24420004 */ addiu $v0,$v0,0x4
/* f182f30: 0043082b */ sltu $at,$v0,$v1
/* f182f34: 1420fffd */ bnez $at,.PF0f182f2c
/* f182f38: ac40fffc */ sw $zero,-0x4($v0)
/* f182f3c: 00008025 */ move $s0,$zero
/* f182f40: 18c00017 */ blez $a2,.PF0f182fa0
/* f182f44: 00009025 */ move $s2,$zero
/* f182f48: 27a30078 */ addiu $v1,$sp,0x78
/* f182f4c: 27b100fc */ addiu $s1,$sp,0xfc
.PF0f182f50:
/* f182f50: 8c690000 */ lw $t1,0x0($v1)
/* f182f54: 8d250004 */ lw $a1,0x4($t1)
/* f182f58: 90a40125 */ lbu $a0,0x125($a1)
/* f182f5c: afa70170 */ sw $a3,0x170($sp)
/* f182f60: afa60174 */ sw $a2,0x174($sp)
/* f182f64: 0fc63e8e */ jal 0xf18fa38
/* f182f68: afa30050 */ sw $v1,0x50($sp)
/* f182f6c: 00025080 */ sll $t2,$v0,0x2
/* f182f70: 022a2021 */ addu $a0,$s1,$t2
/* f182f74: 8c8b0000 */ lw $t3,0x0($a0)
/* f182f78: 8fa30050 */ lw $v1,0x50($sp)
/* f182f7c: 8fa60174 */ lw $a2,0x174($sp)
/* f182f80: 15600004 */ bnez $t3,.PF0f182f94
/* f182f84: 8fa70170 */ lw $a3,0x170($sp)
/* f182f88: 240c0001 */ li $t4,0x1
/* f182f8c: 26520001 */ addiu $s2,$s2,0x1
/* f182f90: ac8c0000 */ sw $t4,0x0($a0)
.PF0f182f94:
/* f182f94: 26100001 */ addiu $s0,$s0,0x1
/* f182f98: 1606ffed */ bne $s0,$a2,.PF0f182f50
/* f182f9c: 24630004 */ addiu $v1,$v1,0x4
.PF0f182fa0:
/* f182fa0: 16400005 */ bnez $s2,.PF0f182fb8
/* f182fa4: 24010001 */ li $at,0x1
/* f182fa8: 240dffff */ li $t5,-1
/* f182fac: a66d0004 */ sh $t5,0x4($s3)
/* f182fb0: 10000122 */ b .PF0f18343c
/* f182fb4: a6600006 */ sh $zero,0x6($s3)
.PF0f182fb8:
/* f182fb8: 1641000b */ bne $s2,$at,.PF0f182fe8
/* f182fbc: 00008025 */ move $s0,$zero
/* f182fc0: 27a200fc */ addiu $v0,$sp,0xfc
/* f182fc4: 24030008 */ li $v1,0x8
.PF0f182fc8:
/* f182fc8: 8c4e0000 */ lw $t6,0x0($v0)
/* f182fcc: 55c0003d */ bnezl $t6,.PF0f1830c4
/* f182fd0: 866a0004 */ lh $t2,0x4($s3)
/* f182fd4: 26100001 */ addiu $s0,$s0,0x1
/* f182fd8: 1603fffb */ bne $s0,$v1,.PF0f182fc8
/* f182fdc: 24420004 */ addiu $v0,$v0,0x4
/* f182fe0: 10000038 */ b .PF0f1830c4
/* f182fe4: 866a0004 */ lh $t2,0x4($s3)
.PF0f182fe8:
/* f182fe8: 00008825 */ move $s1,$zero
/* f182fec: 27a200fc */ addiu $v0,$sp,0xfc
/* f182ff0: 27a4011c */ addiu $a0,$sp,0x11c
/* f182ff4: 8c430000 */ lw $v1,0x0($v0)
.PF0f182ff8:
/* f182ff8: 24420004 */ addiu $v0,$v0,0x4
/* f182ffc: 0223082a */ slt $at,$s1,$v1
/* f183000: 50200003 */ beqzl $at,.PF0f183010
/* f183004: 0044082b */ sltu $at,$v0,$a0
/* f183008: 00608825 */ move $s1,$v1
/* f18300c: 0044082b */ sltu $at,$v0,$a0
.PF0f183010:
/* f183010: 5420fff9 */ bnezl $at,.PF0f182ff8
/* f183014: 8c430000 */ lw $v1,0x0($v0)
/* f183018: 27a200fc */ addiu $v0,$sp,0xfc
/* f18301c: 27a3011c */ addiu $v1,$sp,0x11c
/* f183020: 8c4f0000 */ lw $t7,0x0($v0)
.PF0f183024:
/* f183024: 522f0003 */ beql $s1,$t7,.PF0f183034
/* f183028: 24420004 */ addiu $v0,$v0,0x4
/* f18302c: ac400000 */ sw $zero,0x0($v0)
/* f183030: 24420004 */ addiu $v0,$v0,0x4
.PF0f183034:
/* f183034: 0043082b */ sltu $at,$v0,$v1
/* f183038: 5420fffa */ bnezl $at,.PF0f183024
/* f18303c: 8c4f0000 */ lw $t7,0x0($v0)
/* f183040: 27a200fc */ addiu $v0,$sp,0xfc
/* f183044: 27a3011c */ addiu $v1,$sp,0x11c
/* f183048: 8c580000 */ lw $t8,0x0($v0)
.PF0f18304c:
/* f18304c: 24420004 */ addiu $v0,$v0,0x4
/* f183050: 0043082b */ sltu $at,$v0,$v1
/* f183054: 13000002 */ beqz $t8,.PF0f183060
/* f183058: 00000000 */ nop
/* f18305c: 24e70001 */ addiu $a3,$a3,0x1
.PF0f183060:
/* f183060: 5420fffa */ bnezl $at,.PF0f18304c
/* f183064: 8c580000 */ lw $t8,0x0($v0)
/* f183068: 28e10002 */ slti $at,$a3,0x2
/* f18306c: 14200003 */ bnez $at,.PF0f18307c
/* f183070: 00008025 */ move $s0,$zero
/* f183074: 10000002 */ b .PF0f183080
/* f183078: 24070001 */ li $a3,0x1
.PF0f18307c:
/* f18307c: 00003825 */ move $a3,$zero
.PF0f183080:
/* f183080: 27a200fc */ addiu $v0,$sp,0xfc
.PF0f183084:
/* f183084: 8c590000 */ lw $t9,0x0($v0)
/* f183088: 53200005 */ beqzl $t9,.PF0f1830a0
/* f18308c: 26100001 */ addiu $s0,$s0,0x1
/* f183090: 86680004 */ lh $t0,0x4($s3)
/* f183094: 52080006 */ beql $s0,$t0,.PF0f1830b0
/* f183098: 24030008 */ li $v1,0x8
/* f18309c: 26100001 */ addiu $s0,$s0,0x1
.PF0f1830a0:
/* f1830a0: 2a010008 */ slti $at,$s0,0x8
/* f1830a4: 1420fff7 */ bnez $at,.PF0f183084
/* f1830a8: 24420004 */ addiu $v0,$v0,0x4
/* f1830ac: 24030008 */ li $v1,0x8
.PF0f1830b0:
/* f1830b0: 16030003 */ bne $s0,$v1,.PF0f1830c0
/* f1830b4: 2409ffff */ li $t1,-1
/* f1830b8: a6690004 */ sh $t1,0x4($s3)
/* f1830bc: 2410ffff */ li $s0,-1
.PF0f1830c0:
/* f1830c0: 866a0004 */ lh $t2,0x4($s3)
.PF0f1830c4:
/* f1830c4: 3c048009 */ lui $a0,0x8009
/* f1830c8: 240505b9 */ li $a1,0x5b9
/* f1830cc: 120a0070 */ beq $s0,$t2,.PF0f183290
/* f1830d0: 00003025 */ move $a2,$zero
/* f1830d4: 3c01bf80 */ lui $at,0xbf80
/* f1830d8: 44812000 */ mtc1 $at,$f4
/* f1830dc: 240bffff */ li $t3,-1
/* f1830e0: 240cffff */ li $t4,-1
/* f1830e4: 240dffff */ li $t5,-1
/* f1830e8: afad001c */ sw $t5,0x1c($sp)
/* f1830ec: afac0018 */ sw $t4,0x18($sp)
/* f1830f0: afab0010 */ sw $t3,0x10($sp)
/* f1830f4: 8c845750 */ lw $a0,0x5750($a0)
/* f1830f8: 2407ffff */ li $a3,-1
/* f1830fc: 00008825 */ move $s1,$zero
/* f183100: 0c0041a0 */ jal 0x10680
/* f183104: e7a40014 */ swc1 $f4,0x14($sp)
/* f183108: a6700004 */ sh $s0,0x4($s3)
/* f18310c: a6600006 */ sh $zero,0x6($s3)
/* f183110: 0fc5bdaa */ jal 0xf16f6a8
/* f183114: 24045417 */ li $a0,0x5417
/* f183118: 00107080 */ sll $t6,$s0,0x2
/* f18311c: 01d07023 */ subu $t6,$t6,$s0
/* f183120: 3c0f800b */ lui $t7,0x800b
/* f183124: 25efd150 */ addiu $t7,$t7,-11952
/* f183128: 000e7080 */ sll $t6,$t6,0x2
/* f18312c: 01cf3021 */ addu $a2,$t6,$t7
/* f183130: 27a4011c */ addiu $a0,$sp,0x11c
/* f183134: 0c004d11 */ jal 0x13444
/* f183138: 00402825 */ move $a1,$v0
/* f18313c: 8e98006c */ lw $t8,0x6c($s4)
/* f183140: 27b0011c */ addiu $s0,$sp,0x11c
/* f183144: 8e92028c */ lw $s2,0x28c($s4)
/* f183148: 13000003 */ beqz $t8,.PF0f183158
/* f18314c: 00002825 */ move $a1,$zero
/* f183150: 10000001 */ b .PF0f183158
/* f183154: 24050001 */ li $a1,0x1
.PF0f183158:
/* f183158: 8e990068 */ lw $t9,0x68($s4)
/* f18315c: 00002025 */ move $a0,$zero
/* f183160: 00001825 */ move $v1,$zero
/* f183164: 13200003 */ beqz $t9,.PF0f183174
/* f183168: 00001025 */ move $v0,$zero
/* f18316c: 10000001 */ b .PF0f183174
/* f183170: 24040001 */ li $a0,0x1
.PF0f183174:
/* f183174: 8e880064 */ lw $t0,0x64($s4)
/* f183178: 11000003 */ beqz $t0,.PF0f183188
/* f18317c: 00000000 */ nop
/* f183180: 10000001 */ b .PF0f183188
/* f183184: 24030001 */ li $v1,0x1
.PF0f183188:
/* f183188: 8e890070 */ lw $t1,0x70($s4)
/* f18318c: 11200003 */ beqz $t1,.PF0f18319c
/* f183190: 00000000 */ nop
/* f183194: 10000001 */ b .PF0f18319c
/* f183198: 24020001 */ li $v0,0x1
.PF0f18319c:
/* f18319c: 00435021 */ addu $t2,$v0,$v1
/* f1831a0: 01445821 */ addu $t3,$t2,$a0
/* f1831a4: 01656021 */ addu $t4,$t3,$a1
/* f1831a8: 19800035 */ blez $t4,.PF0f183280
/* f1831ac: 00000000 */ nop
.PF0f1831b0:
/* f1831b0: 0fc4a4ff */ jal 0xf1293fc
/* f1831b4: 02202025 */ move $a0,$s1
/* f1831b8: 8e8d0284 */ lw $t5,0x284($s4)
/* f1831bc: 8dae00bc */ lw $t6,0xbc($t5)
/* f1831c0: 8dc50004 */ lw $a1,0x4($t6)
/* f1831c4: 0fc63e8e */ jal 0xf18fa38
/* f1831c8: 90a40125 */ lbu $a0,0x125($a1)
/* f1831cc: 866f0004 */ lh $t7,0x4($s3)
/* f1831d0: 02002025 */ move $a0,$s0
/* f1831d4: 24050009 */ li $a1,0x9
/* f1831d8: 144f0009 */ bne $v0,$t7,.PF0f183200
/* f1831dc: 00000000 */ nop
/* f1831e0: 0fc5bdaa */ jal 0xf16f6a8
/* f1831e4: 24045416 */ li $a0,0x5416
/* f1831e8: 00402025 */ move $a0,$v0
/* f1831ec: 24050009 */ li $a1,0x9
/* f1831f0: 0fc37976 */ jal 0xf0de5d8
/* f1831f4: 24060001 */ li $a2,0x1
/* f1831f8: 10000004 */ b .PF0f18320c
/* f1831fc: 8e98006c */ lw $t8,0x6c($s4)
.PF0f183200:
/* f183200: 0fc37976 */ jal 0xf0de5d8
/* f183204: 24060001 */ li $a2,0x1
/* f183208: 8e98006c */ lw $t8,0x6c($s4)
.PF0f18320c:
/* f18320c: 26310001 */ addiu $s1,$s1,0x1
/* f183210: 00002825 */ move $a1,$zero
/* f183214: 13000003 */ beqz $t8,.PF0f183224
/* f183218: 00002025 */ move $a0,$zero
/* f18321c: 10000001 */ b .PF0f183224
/* f183220: 24050001 */ li $a1,0x1
.PF0f183224:
/* f183224: 8e990068 */ lw $t9,0x68($s4)
/* f183228: 00001825 */ move $v1,$zero
/* f18322c: 00001025 */ move $v0,$zero
/* f183230: 13200003 */ beqz $t9,.PF0f183240
/* f183234: 00000000 */ nop
/* f183238: 10000001 */ b .PF0f183240
/* f18323c: 24040001 */ li $a0,0x1
.PF0f183240:
/* f183240: 8e880064 */ lw $t0,0x64($s4)
/* f183244: 11000003 */ beqz $t0,.PF0f183254
/* f183248: 00000000 */ nop
/* f18324c: 10000001 */ b .PF0f183254
/* f183250: 24030001 */ li $v1,0x1
.PF0f183254:
/* f183254: 8e890070 */ lw $t1,0x70($s4)
/* f183258: 11200003 */ beqz $t1,.PF0f183268
/* f18325c: 00000000 */ nop
/* f183260: 10000001 */ b .PF0f183268
/* f183264: 24020001 */ li $v0,0x1
.PF0f183268:
/* f183268: 00435021 */ addu $t2,$v0,$v1
/* f18326c: 01445821 */ addu $t3,$t2,$a0
/* f183270: 01656021 */ addu $t4,$t3,$a1
/* f183274: 022c082a */ slt $at,$s1,$t4
/* f183278: 1420ffcd */ bnez $at,.PF0f1831b0
/* f18327c: 00000000 */ nop
.PF0f183280:
/* f183280: 0fc4a4ff */ jal 0xf1293fc
/* f183284: 02402025 */ move $a0,$s2
/* f183288: 1000006d */ b .PF0f183440
/* f18328c: 86630004 */ lh $v1,0x4($s3)
.PF0f183290:
/* f183290: 54e0006b */ bnezl $a3,.PF0f183440
/* f183294: 86630004 */ lh $v1,0x4($s3)
/* f183298: 8e990484 */ lw $t9,0x484($s4)
/* f18329c: 866d0006 */ lh $t5,0x6($s3)
/* f1832a0: 8e8e0034 */ lw $t6,0x34($s4)
/* f1832a4: 00194080 */ sll $t0,$t9,0x2
/* f1832a8: 01194023 */ subu $t0,$t0,$t9
/* f1832ac: 01ae7821 */ addu $t7,$t5,$t6
/* f1832b0: a66f0006 */ sh $t7,0x6($s3)
/* f1832b4: 000840c0 */ sll $t0,$t0,0x3
/* f1832b8: 86780006 */ lh $t8,0x6($s3)
/* f1832bc: 01194021 */ addu $t0,$t0,$t9
/* f1832c0: 000840c0 */ sll $t0,$t0,0x3
/* f1832c4: 250907d0 */ addiu $t1,$t0,0x7d0
/* f1832c8: 0309082a */ slt $at,$t8,$t1
/* f1832cc: 1420005b */ bnez $at,.PF0f18343c
/* f1832d0: 3c048009 */ lui $a0,0x8009
/* f1832d4: 3c01bf80 */ lui $at,0xbf80
/* f1832d8: 44813000 */ mtc1 $at,$f6
/* f1832dc: 240affff */ li $t2,-1
/* f1832e0: 240bffff */ li $t3,-1
/* f1832e4: 240cffff */ li $t4,-1
/* f1832e8: afac001c */ sw $t4,0x1c($sp)
/* f1832ec: afab0018 */ sw $t3,0x18($sp)
/* f1832f0: afaa0010 */ sw $t2,0x10($sp)
/* f1832f4: 8c845750 */ lw $a0,0x5750($a0)
/* f1832f8: 240505b8 */ li $a1,0x5b8
/* f1832fc: 00003025 */ move $a2,$zero
/* f183300: 2407ffff */ li $a3,-1
/* f183304: 00009025 */ move $s2,$zero
/* f183308: 0c0041a0 */ jal 0x10680
/* f18330c: e7a60014 */ swc1 $f6,0x14($sp)
/* f183310: 3c03800b */ lui $v1,0x800b
/* f183314: 8c63cad0 */ lw $v1,-0x3530($v1)
/* f183318: 3c10800b */ lui $s0,0x800b
/* f18331c: 2610ca70 */ addiu $s0,$s0,-13712
/* f183320: 1860001e */ blez $v1,.PF0f18339c
/* f183324: 00002825 */ move $a1,$zero
/* f183328: 3c11800b */ lui $s1,0x800b
/* f18332c: 2631caa0 */ addiu $s1,$s1,-13664
.PF0f183330:
/* f183330: 8e0d0000 */ lw $t5,0x0($s0)
/* f183334: 91a40125 */ lbu $a0,0x125($t5)
/* f183338: 0fc63e8e */ jal 0xf18fa38
/* f18333c: afa5004c */ sw $a1,0x4c($sp)
/* f183340: 866e0004 */ lh $t6,0x4($s3)
/* f183344: 8fa5004c */ lw $a1,0x4c($sp)
/* f183348: 144e000c */ bne $v0,$t6,.PF0f18337c
/* f18334c: 00000000 */ nop
/* f183350: 8e0f0000 */ lw $t7,0x0($s0)
/* f183354: 8668000e */ lh $t0,0xe($s3)
/* f183358: 0225c021 */ addu $t8,$s1,$a1
/* f18335c: 8de3001c */ lw $v1,0x1c($t7)
/* f183360: 84790028 */ lh $t9,0x28($v1)
/* f183364: 17280005 */ bne $t9,$t0,.PF0f18337c
/* f183368: 00000000 */ nop
/* f18336c: 8f020000 */ lw $v0,0x0($t8)
/* f183370: 8449003e */ lh $t1,0x3e($v0)
/* f183374: 252a0001 */ addiu $t2,$t1,0x1
/* f183378: a44a003e */ sh $t2,0x3e($v0)
.PF0f18337c:
/* f18337c: 3c03800b */ lui $v1,0x800b
/* f183380: 8c63cad0 */ lw $v1,-0x3530($v1)
/* f183384: 26520001 */ addiu $s2,$s2,0x1
/* f183388: 24a50004 */ addiu $a1,$a1,0x4
/* f18338c: 0243082a */ slt $at,$s2,$v1
/* f183390: 1420ffe7 */ bnez $at,.PF0f183330
/* f183394: 26100004 */ addiu $s0,$s0,0x4
/* f183398: 00009025 */ move $s2,$zero
.PF0f18339c:
/* f18339c: 1860001b */ blez $v1,.PF0f18340c
/* f1833a0: 8e91028c */ lw $s1,0x28c($s4)
/* f1833a4: 3c10800b */ lui $s0,0x800b
/* f1833a8: 2610ca70 */ addiu $s0,$s0,-13712
/* f1833ac: 8e020000 */ lw $v0,0x0($s0)
.PF0f1833b0:
/* f1833b0: 8c4b02d4 */ lw $t3,0x2d4($v0)
/* f1833b4: 1560000e */ bnez $t3,.PF0f1833f0
/* f1833b8: 00000000 */ nop
/* f1833bc: 0fc63e8e */ jal 0xf18fa38
/* f1833c0: 90440125 */ lbu $a0,0x125($v0)
/* f1833c4: 866c0004 */ lh $t4,0x4($s3)
/* f1833c8: 144c0009 */ bne $v0,$t4,.PF0f1833f0
/* f1833cc: 00000000 */ nop
/* f1833d0: 0fc4a4ff */ jal 0xf1293fc
/* f1833d4: 02402025 */ move $a0,$s2
/* f1833d8: 0fc5bdaa */ jal 0xf16f6a8
/* f1833dc: 24045415 */ li $a0,0x5415
/* f1833e0: 00402025 */ move $a0,$v0
/* f1833e4: 24050009 */ li $a1,0x9
/* f1833e8: 0fc37976 */ jal 0xf0de5d8
/* f1833ec: 24060001 */ li $a2,0x1
.PF0f1833f0:
/* f1833f0: 3c0d800b */ lui $t5,0x800b
/* f1833f4: 8dadcad0 */ lw $t5,-0x3530($t5)
/* f1833f8: 26520001 */ addiu $s2,$s2,0x1
/* f1833fc: 26100004 */ addiu $s0,$s0,0x4
/* f183400: 024d082a */ slt $at,$s2,$t5
/* f183404: 5420ffea */ bnezl $at,.PF0f1833b0
/* f183408: 8e020000 */ lw $v0,0x0($s0)
.PF0f18340c:
/* f18340c: 0fc4a4ff */ jal 0xf1293fc
/* f183410: 02202025 */ move $a0,$s1
/* f183414: 240effff */ li $t6,-1
/* f183418: a66e0004 */ sh $t6,0x4($s3)
/* f18341c: a6600006 */ sh $zero,0x6($s3)
/* f183420: 3c0f800b */ lui $t7,0x800b
/* f183424: 8defd134 */ lw $t7,-0x2ecc($t7)
/* f183428: 24080001 */ li $t0,0x1
/* f18342c: 31f98000 */ andi $t9,$t7,0x8000
/* f183430: 53200003 */ beqzl $t9,.PF0f183440
/* f183434: 86630004 */ lh $v1,0x4($s3)
/* f183438: a6680008 */ sh $t0,0x8($s3)
.PF0f18343c:
/* f18343c: 86630004 */ lh $v1,0x4($s3)
.PF0f183440:
/* f183440: 2401ffff */ li $at,-1
/* f183444: 3c028009 */ lui $v0,0x8009
/* f183448: 1461000c */ bne $v1,$at,.PF0f18347c
/* f18344c: 0003c080 */ sll $t8,$v1,0x2
/* f183450: 3c013f80 */ lui $at,0x3f80
/* f183454: 44811000 */ mtc1 $at,$f2
/* f183458: 3c013e80 */ lui $at,0x3e80
/* f18345c: 44817000 */ mtc1 $at,$f14
/* f183460: c6600030 */ lwc1 $f0,0x30($s3)
/* f183464: c66c0034 */ lwc1 $f12,0x34($s3)
/* f183468: c6700038 */ lwc1 $f16,0x38($s3)
/* f18346c: e7a20160 */ swc1 $f2,0x160($sp)
/* f183470: e7ae0164 */ swc1 $f14,0x164($sp)
/* f183474: 1000001e */ b .PF0f1834f0
/* f183478: e7ae015c */ swc1 $f14,0x15c($sp)
.PF0f18347c:
/* f18347c: 00581021 */ addu $v0,$v0,$t8
/* f183480: 8c428214 */ lw $v0,-0x7dec($v0)
/* f183484: 3c013b00 */ lui $at,0x3b00
/* f183488: 44811000 */ mtc1 $at,$f2
/* f18348c: 00024e02 */ srl $t1,$v0,0x18
/* f183490: 312a00ff */ andi $t2,$t1,0xff
/* f183494: 254b00ff */ addiu $t3,$t2,0xff
/* f183498: 448b4000 */ mtc1 $t3,$f8
/* f18349c: 00026402 */ srl $t4,$v0,0x10
/* f1834a0: 318d00ff */ andi $t5,$t4,0xff
/* f1834a4: 468042a0 */ cvt.s.w $f10,$f8
/* f1834a8: 25ae00ff */ addiu $t6,$t5,0xff
/* f1834ac: 448e2000 */ mtc1 $t6,$f4
/* f1834b0: 00027a02 */ srl $t7,$v0,0x8
/* f1834b4: 31f900ff */ andi $t9,$t7,0xff
/* f1834b8: 272800ff */ addiu $t0,$t9,0xff
/* f1834bc: 46025482 */ mul.s $f18,$f10,$f2
/* f1834c0: 44885000 */ mtc1 $t0,$f10
/* f1834c4: c6600030 */ lwc1 $f0,0x30($s3)
/* f1834c8: c66c0034 */ lwc1 $f12,0x34($s3)
/* f1834cc: c6700038 */ lwc1 $f16,0x38($s3)
/* f1834d0: 468021a0 */ cvt.s.w $f6,$f4
/* f1834d4: e7b20164 */ swc1 $f18,0x164($sp)
/* f1834d8: 468054a0 */ cvt.s.w $f18,$f10
/* f1834dc: 46023202 */ mul.s $f8,$f6,$f2
/* f1834e0: 00000000 */ nop
/* f1834e4: 46029102 */ mul.s $f4,$f18,$f2
/* f1834e8: e7a80160 */ swc1 $f8,0x160($sp)
/* f1834ec: e7a4015c */ swc1 $f4,0x15c($sp)
.PF0f1834f0:
/* f1834f0: c7a60164 */ lwc1 $f6,0x164($sp)
/* f1834f4: 46003032 */ c.eq.s $f6,$f0
/* f1834f8: 00000000 */ nop
/* f1834fc: 4503001c */ bc1tl .PF0f183570
/* f183500: c7a80160 */ lwc1 $f8,0x160($sp)
/* f183504: 8e830000 */ lw $v1,0x0($s4)
/* f183508: 00001025 */ move $v0,$zero
/* f18350c: 3c017f1c */ lui $at,0x7f1c
/* f183510: 58600017 */ blezl $v1,.PF0f183570
/* f183514: c7a80160 */ lwc1 $f8,0x160($sp)
/* f183518: c4289f90 */ lwc1 $f8,-0x6070($at)
/* f18351c: 3c017f1c */ lui $at,0x7f1c
/* f183520: c4209f94 */ lwc1 $f0,-0x606c($at)
/* f183524: 46064082 */ mul.s $f2,$f8,$f6
/* f183528: 00000000 */ nop
/* f18352c: c66e0030 */ lwc1 $f14,0x30($s3)
/* f183530: 24420001 */ addiu $v0,$v0,0x1
/* f183534: 0043082a */ slt $at,$v0,$v1
/* f183538: 460e0482 */ mul.s $f18,$f0,$f14
/* f18353c: 5020000a */ beqzl $at,.PF0f183568
/* f183540: 46121380 */ add.s $f14,$f2,$f18
/* f183544: 46121380 */ add.s $f14,$f2,$f18
.PF0f183548:
/* f183548: 24420001 */ addiu $v0,$v0,0x1
/* f18354c: 0043082a */ slt $at,$v0,$v1
/* f183550: e66e0030 */ swc1 $f14,0x30($s3)
/* f183554: c66e0030 */ lwc1 $f14,0x30($s3)
/* f183558: 460e0482 */ mul.s $f18,$f0,$f14
/* f18355c: 5420fffa */ bnezl $at,.PF0f183548
/* f183560: 46121380 */ add.s $f14,$f2,$f18
/* f183564: 46121380 */ add.s $f14,$f2,$f18
.PF0f183568:
/* f183568: e66e0030 */ swc1 $f14,0x30($s3)
/* f18356c: c7a80160 */ lwc1 $f8,0x160($sp)
.PF0f183570:
/* f183570: 3c017f1c */ lui $at,0x7f1c
/* f183574: c4209f98 */ lwc1 $f0,-0x6068($at)
/* f183578: 460c4032 */ c.eq.s $f8,$f12
/* f18357c: 00000000 */ nop
/* f183580: 4503001a */ bc1tl .PF0f1835ec
/* f183584: c7a6015c */ lwc1 $f6,0x15c($sp)
/* f183588: 8e830000 */ lw $v1,0x0($s4)
/* f18358c: 00001025 */ move $v0,$zero
/* f183590: 3c017f1c */ lui $at,0x7f1c
/* f183594: 58600015 */ blezl $v1,.PF0f1835ec
/* f183598: c7a6015c */ lwc1 $f6,0x15c($sp)
/* f18359c: c4269f9c */ lwc1 $f6,-0x6064($at)
/* f1835a0: 46083082 */ mul.s $f2,$f6,$f8
/* f1835a4: 00000000 */ nop
/* f1835a8: c66e0034 */ lwc1 $f14,0x34($s3)
/* f1835ac: 24420001 */ addiu $v0,$v0,0x1
/* f1835b0: 0043082a */ slt $at,$v0,$v1
/* f1835b4: 460e0482 */ mul.s $f18,$f0,$f14
/* f1835b8: 5020000a */ beqzl $at,.PF0f1835e4
/* f1835bc: 46121380 */ add.s $f14,$f2,$f18
/* f1835c0: 46121380 */ add.s $f14,$f2,$f18
.PF0f1835c4:
/* f1835c4: 24420001 */ addiu $v0,$v0,0x1
/* f1835c8: 0043082a */ slt $at,$v0,$v1
/* f1835cc: e66e0034 */ swc1 $f14,0x34($s3)
/* f1835d0: c66e0034 */ lwc1 $f14,0x34($s3)
/* f1835d4: 460e0482 */ mul.s $f18,$f0,$f14
/* f1835d8: 5420fffa */ bnezl $at,.PF0f1835c4
/* f1835dc: 46121380 */ add.s $f14,$f2,$f18
/* f1835e0: 46121380 */ add.s $f14,$f2,$f18
.PF0f1835e4:
/* f1835e4: e66e0034 */ swc1 $f14,0x34($s3)
/* f1835e8: c7a6015c */ lwc1 $f6,0x15c($sp)
.PF0f1835ec:
/* f1835ec: 46103032 */ c.eq.s $f6,$f16
/* f1835f0: 00000000 */ nop
/* f1835f4: 4503001a */ bc1tl .PF0f183660
/* f1835f8: 8fbf003c */ lw $ra,0x3c($sp)
/* f1835fc: 8e830000 */ lw $v1,0x0($s4)
/* f183600: 00001025 */ move $v0,$zero
/* f183604: 3c017f1c */ lui $at,0x7f1c
/* f183608: 58600015 */ blezl $v1,.PF0f183660
/* f18360c: 8fbf003c */ lw $ra,0x3c($sp)
/* f183610: c4289fa0 */ lwc1 $f8,-0x6060($at)
/* f183614: 46064082 */ mul.s $f2,$f8,$f6
/* f183618: 00000000 */ nop
/* f18361c: c6700038 */ lwc1 $f16,0x38($s3)
/* f183620: 24420001 */ addiu $v0,$v0,0x1
/* f183624: 0043082a */ slt $at,$v0,$v1
/* f183628: 46100482 */ mul.s $f18,$f0,$f16
/* f18362c: 5020000a */ beqzl $at,.PF0f183658
/* f183630: 46121400 */ add.s $f16,$f2,$f18
/* f183634: 46121400 */ add.s $f16,$f2,$f18
.PF0f183638:
/* f183638: 24420001 */ addiu $v0,$v0,0x1
/* f18363c: 0043082a */ slt $at,$v0,$v1
/* f183640: e6700038 */ swc1 $f16,0x38($s3)
/* f183644: c6700038 */ lwc1 $f16,0x38($s3)
/* f183648: 46100482 */ mul.s $f18,$f0,$f16
/* f18364c: 5420fffa */ bnezl $at,.PF0f183638
/* f183650: 46121400 */ add.s $f16,$f2,$f18
/* f183654: 46121400 */ add.s $f16,$f2,$f18
.PF0f183658:
/* f183658: e6700038 */ swc1 $f16,0x38($s3)
.PF0f18365c:
/* f18365c: 8fbf003c */ lw $ra,0x3c($sp)
.PF0f183660:
/* f183660: 8fb00028 */ lw $s0,0x28($sp)
/* f183664: 8fb1002c */ lw $s1,0x2c($sp)
/* f183668: 8fb20030 */ lw $s2,0x30($sp)
/* f18366c: 8fb30034 */ lw $s3,0x34($sp)
/* f183670: 8fb40038 */ lw $s4,0x38($sp)
/* f183674: 03e00008 */ jr $ra
/* f183678: 27bd0188 */ addiu $sp,$sp,0x188
);
#else
GLOBAL_ASM(
glabel scenarioKohTick
.late_rodata
@@ -2663,7 +3356,188 @@ glabel var7f1b8950
/* f182668: 03e00008 */ jr $ra
/* f18266c: 27bd0188 */ addiu $sp,$sp,0x188
);
#endif
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel scenarioKohCallback18
/* f18367c: 3c0e800a */ lui $t6,0x800a
/* f183680: 8dcea794 */ lw $t6,-0x586c($t6)
/* f183684: 27bdff50 */ addiu $sp,$sp,-176
/* f183688: afbf003c */ sw $ra,0x3c($sp)
/* f18368c: afb00038 */ sw $s0,0x38($sp)
/* f183690: 8dcf00bc */ lw $t7,0xbc($t6)
/* f183694: 00808025 */ move $s0,$a0
/* f183698: 8de20004 */ lw $v0,0x4($t7)
/* f18369c: 0fc63e8e */ jal 0xf18fa38
/* f1836a0: 90440125 */ lbu $a0,0x125($v0)
/* f1836a4: 3c03800b */ lui $v1,0x800b
/* f1836a8: 2463c6b0 */ addiu $v1,$v1,-14672
/* f1836ac: 84780004 */ lh $t8,0x4($v1)
/* f1836b0: 54580092 */ bnel $v0,$t8,.PF0f1838fc
/* f1836b4: 8fbf003c */ lw $ra,0x3c($sp)
/* f1836b8: 84790008 */ lh $t9,0x8($v1)
/* f1836bc: 5720008f */ bnezl $t9,.PF0f1838fc
/* f1836c0: 8fbf003c */ lw $ra,0x3c($sp)
/* f1836c4: 0c002e91 */ jal 0xba44
/* f1836c8: 00000000 */ nop
/* f1836cc: 0c002e73 */ jal 0xb9cc
/* f1836d0: a7a2004e */ sh $v0,0x4e($sp)
/* f1836d4: 87aa004e */ lh $t2,0x4e($sp)
/* f1836d8: 04410003 */ bgez $v0,.PF0f1836e8
/* f1836dc: 00024843 */ sra $t1,$v0,0x1
/* f1836e0: 24410001 */ addiu $at,$v0,0x1
/* f1836e4: 00014843 */ sra $t1,$at,0x1
.PF0f1836e8:
/* f1836e8: 012a2821 */ addu $a1,$t1,$t2
/* f1836ec: 0c002e95 */ jal 0xba54
/* f1836f0: afa50098 */ sw $a1,0x98($sp)
/* f1836f4: 3c04800a */ lui $a0,0x800a
/* f1836f8: 8c84a994 */ lw $a0,-0x566c($a0)
/* f1836fc: 240800c8 */ li $t0,0xc8
/* f183700: 3c0d800b */ lui $t5,0x800b
/* f183704: 00880019 */ multu $a0,$t0
/* f183708: 85adc6b6 */ lh $t5,-0x394a($t5)
/* f18370c: 24072ee0 */ li $a3,0x2ee0
/* f183710: 00047900 */ sll $t7,$a0,0x4
/* f183714: 01e47823 */ subu $t7,$t7,$a0
/* f183718: 000f7880 */ sll $t7,$t7,0x2
/* f18371c: 25f80258 */ addiu $t8,$t7,0x258
/* f183720: 244b000a */ addiu $t3,$v0,0xa
/* f183724: afab0094 */ sw $t3,0x94($sp)
/* f183728: 27a40050 */ addiu $a0,$sp,0x50
/* f18372c: 00006012 */ mflo $t4
/* f183730: 018d1823 */ subu $v1,$t4,$t5
/* f183734: 24630897 */ addiu $v1,$v1,0x897
/* f183738: 0067001a */ div $zero,$v1,$a3
/* f18373c: 00002812 */ mflo $a1
/* f183740: 00a03025 */ move $a2,$a1
/* f183744: 14e00002 */ bnez $a3,.PF0f183750
/* f183748: 00000000 */ nop
/* f18374c: 0007000d */ break 0x7
.PF0f183750:
/* f183750: 2401ffff */ li $at,-1
/* f183754: 14e10004 */ bne $a3,$at,.PF0f183768
/* f183758: 3c018000 */ lui $at,0x8000
/* f18375c: 14610002 */ bne $v1,$at,.PF0f183768
/* f183760: 00000000 */ nop
/* f183764: 0006000d */ break 0x6
.PF0f183768:
/* f183768: 00a70019 */ multu $a1,$a3
/* f18376c: 24010e10 */ li $at,0xe10
/* f183770: 3c057f1c */ lui $a1,0x7f1c
/* f183774: 00007012 */ mflo $t6
/* f183778: 006e1823 */ subu $v1,$v1,$t6
/* f18377c: 00000000 */ nop
/* f183780: 0301001a */ div $zero,$t8,$at
/* f183784: 0000c812 */ mflo $t9
/* f183788: 13200013 */ beqz $t9,.PF0f1837d8
/* f18378c: 00000000 */ nop
/* f183790: 0068001a */ div $zero,$v1,$t0
/* f183794: 00003812 */ mflo $a3
/* f183798: 3c057f1c */ lui $a1,0x7f1c
/* f18379c: 24a59ae8 */ addiu $a1,$a1,-25880
/* f1837a0: 27a40050 */ addiu $a0,$sp,0x50
/* f1837a4: 15000002 */ bnez $t0,.PF0f1837b0
/* f1837a8: 00000000 */ nop
/* f1837ac: 0007000d */ break 0x7
.PF0f1837b0:
/* f1837b0: 2401ffff */ li $at,-1
/* f1837b4: 15010004 */ bne $t0,$at,.PF0f1837c8
/* f1837b8: 3c018000 */ lui $at,0x8000
/* f1837bc: 14610002 */ bne $v1,$at,.PF0f1837c8
/* f1837c0: 00000000 */ nop
/* f1837c4: 0006000d */ break 0x6
.PF0f1837c8:
/* f1837c8: 0c004d11 */ jal 0x13444
/* f1837cc: 00000000 */ nop
/* f1837d0: 1000000f */ b .PF0f183810
/* f1837d4: 00000000 */ nop
.PF0f1837d8:
/* f1837d8: 0068001a */ div $zero,$v1,$t0
/* f1837dc: 00003012 */ mflo $a2
/* f1837e0: 24a59af0 */ addiu $a1,$a1,-25872
/* f1837e4: 15000002 */ bnez $t0,.PF0f1837f0
/* f1837e8: 00000000 */ nop
/* f1837ec: 0007000d */ break 0x7
.PF0f1837f0:
/* f1837f0: 2401ffff */ li $at,-1
/* f1837f4: 15010004 */ bne $t0,$at,.PF0f183808
/* f1837f8: 3c018000 */ lui $at,0x8000
/* f1837fc: 14610002 */ bne $v1,$at,.PF0f183808
/* f183800: 00000000 */ nop
/* f183804: 0006000d */ break 0x6
.PF0f183808:
/* f183808: 0c004d11 */ jal 0x13444
/* f18380c: 00000000 */ nop
.PF0f183810:
/* f183810: 0fc550cf */ jal 0xf15433c
/* f183814: 02002025 */ move $a0,$s0
/* f183818: 3c098008 */ lui $t1,0x8008
/* f18381c: 8d290064 */ lw $t1,0x64($t1)
/* f183820: 3c078008 */ lui $a3,0x8008
/* f183824: 00408025 */ move $s0,$v0
/* f183828: 8ce70068 */ lw $a3,0x68($a3)
/* f18382c: 27a4009c */ addiu $a0,$sp,0x9c
/* f183830: 27a500a0 */ addiu $a1,$sp,0xa0
/* f183834: 27a60050 */ addiu $a2,$sp,0x50
/* f183838: afa00014 */ sw $zero,0x14($sp)
/* f18383c: 0fc5609a */ jal 0xf158268
/* f183840: afa90010 */ sw $t1,0x10($sp)
/* f183844: 8fa700a0 */ lw $a3,0xa0($sp)
/* f183848: 8fa50098 */ lw $a1,0x98($sp)
/* f18384c: 8fa2009c */ lw $v0,0x9c($sp)
/* f183850: 8fa60094 */ lw $a2,0x94($sp)
/* f183854: 04e10003 */ bgez $a3,.PF0f183864
/* f183858: 00075043 */ sra $t2,$a3,0x1
/* f18385c: 24e10001 */ addiu $at,$a3,0x1
/* f183860: 00015043 */ sra $t2,$at,0x1
.PF0f183864:
/* f183864: 00aa2823 */ subu $a1,$a1,$t2
/* f183868: 00e53821 */ addu $a3,$a3,$a1
/* f18386c: 00461021 */ addu $v0,$v0,$a2
/* f183870: afa20010 */ sw $v0,0x10($sp)
/* f183874: afa2009c */ sw $v0,0x9c($sp)
/* f183878: afa700a0 */ sw $a3,0xa0($sp)
/* f18387c: afa50098 */ sw $a1,0x98($sp)
/* f183880: 0fc551a9 */ jal 0xf1546a4
/* f183884: 02002025 */ move $a0,$s0
/* f183888: 0c002e53 */ jal 0xb94c
/* f18388c: 00408025 */ move $s0,$v0
/* f183890: 0c002e57 */ jal 0xb95c
/* f183894: a7a2004c */ sh $v0,0x4c($sp)
/* f183898: 3c0b8008 */ lui $t3,0x8008
/* f18389c: 3c0c8008 */ lui $t4,0x8008
/* f1838a0: 8d8c005c */ lw $t4,0x5c($t4)
/* f1838a4: 8d6b0060 */ lw $t3,0x60($t3)
/* f1838a8: 87af004c */ lh $t7,0x4c($sp)
/* f1838ac: 3c0d00ff */ lui $t5,0xff
/* f1838b0: 35ad00a0 */ ori $t5,$t5,0xa0
/* f1838b4: 240e00a0 */ li $t6,0xa0
/* f1838b8: afae001c */ sw $t6,0x1c($sp)
/* f1838bc: afad0018 */ sw $t5,0x18($sp)
/* f1838c0: 02002025 */ move $a0,$s0
/* f1838c4: 27a50098 */ addiu $a1,$sp,0x98
/* f1838c8: 27a60094 */ addiu $a2,$sp,0x94
/* f1838cc: 27a70050 */ addiu $a3,$sp,0x50
/* f1838d0: afa20024 */ sw $v0,0x24($sp)
/* f1838d4: afa00028 */ sw $zero,0x28($sp)
/* f1838d8: afa0002c */ sw $zero,0x2c($sp)
/* f1838dc: afac0014 */ sw $t4,0x14($sp)
/* f1838e0: afab0010 */ sw $t3,0x10($sp)
/* f1838e4: 0fc55fa0 */ jal 0xf157e80
/* f1838e8: afaf0020 */ sw $t7,0x20($sp)
/* f1838ec: 0fc55125 */ jal 0xf154494
/* f1838f0: 00402025 */ move $a0,$v0
/* f1838f4: 00408025 */ move $s0,$v0
/* f1838f8: 8fbf003c */ lw $ra,0x3c($sp)
.PF0f1838fc:
/* f1838fc: 02001025 */ move $v0,$s0
/* f183900: 8fb00038 */ lw $s0,0x38($sp)
/* f183904: 03e00008 */ jr $ra
/* f183908: 27bd00b0 */ addiu $sp,$sp,0xb0
);
#else
GLOBAL_ASM(
glabel scenarioKohCallback18
/* f182670: 3c0e800a */ lui $t6,%hi(g_Vars+0x284)
@@ -2844,6 +3718,7 @@ glabel scenarioKohCallback18
/* f182900: 03e00008 */ jr $ra
/* f182904: 27bd00b0 */ addiu $sp,$sp,0xb0
);
#endif
void scenarioKohKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3)
{
+4 -4
View File
@@ -2,7 +2,7 @@
#include "constants.h"
#include "game/chr/chraction.h"
#include "game/dlights.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/nbomb.h"
#include "game/chr/chr.h"
#include "game/chr/chraction.h"
@@ -3235,12 +3235,12 @@ void nbombTick(struct nbomb *nbomb)
nbomb->radius = sqrtf(sqrtf(nbomb->radius));
nbomb->unk18 = 0;
} else {
nbomb->radius = sinf((nbomb->age240 - 80) * 0.0523333363235f) * 0.05f + 1.0f;
nbomb->radius = sinf((nbomb->age240 - 80) * (PAL ? 0.062800005078316f : 0.0523333363235f)) * 0.05f + 1.0f;
// Return value is not used - could have been printed
sinf((nbomb->age240 - 80) * 0.0523333363235f);
sinf((nbomb->age240 - 80) * (PAL ? 0.062800005078316f : 0.0523333363235f));
nbomb->unk18 = ((nbomb->age240 - 80) / 270.0f) * 3.0f;
nbomb->unk18 = ((nbomb->age240 - 80) / (PAL ? 225.0f : 270.0f)) * 3.0f;
}
nbomb->radius *= 500.0f;
+3 -1
View File
@@ -1978,7 +1978,9 @@ void func0f1189d8(void)
}
for (i = 0; i < 5; i++) {
#if VERSION >= VERSION_NTSC_FINAL
#if VERSION >= VERSION_PAL_FINAL
func0f11a32c(i, 7, 2049, "pak.c");
#elif VERSION >= VERSION_NTSC_FINAL
func0f11a32c(i, 7, 2049, "pak/pak.c");
#else
func0f11a32c(i, 7, 2016, "pak.c");
+10
View File
@@ -2792,6 +2792,16 @@ u32 var800698cc = 0x00000000;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f06302c
.late_rodata
glabel var7f1ab184pf
.word 0x3f99999a
glabel var7f1ab188pf
.word 0x3f99999a
glabel var7f1ab18cpf
.word 0x3f99999a
glabel var7f1ab190pf
.word 0x3f99999a
.text
/* f06328c: 27bdff68 */ addiu $sp,$sp,-152
/* f063290: afb10018 */ sw $s1,0x18($sp)
/* f063294: 3c11800a */ lui $s1,0x800a
+7688 -3
View File
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -142,7 +142,7 @@ Gfx *radarDrawDot(Gfx *gdl, struct prop *prop, struct coord *dist, u32 colour1,
}
x = g_RadarX + (s32)(sinf(spcc * 0.017453292384744f) * sqdist);
y = g_RadarY + (s32)(cosf(spcc * 0.017453292384744f) * sqdist);
y = g_RadarY + (s32)FRAMESTOTIME60(cosf(spcc * 0.017453292384744f) * sqdist);
if (swapcolours) {
if (prop == g_Vars.currentplayer->prop) {
@@ -274,11 +274,15 @@ Gfx *radarRender(Gfx *gdl)
return gdl;
}
#if PAL
g_ScaleX = 1;
#else
if (g_ViMode == VIMODE_HIRES) {
g_ScaleX = 2;
} else {
g_ScaleX = 1;
}
#endif
g_RadarX = (viGetViewLeft() + viGetViewWidth()) / g_ScaleX - 41;
+1 -1
View File
@@ -2,7 +2,7 @@
#include "constants.h"
#include "game/debug.h"
#include "game/dlights.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_013550.h"
#include "game/game_013ee0.h"
#include "game/chr/chr.h"
-209
View File
@@ -1,209 +0,0 @@
#include <ultra64.h>
#include "constants.h"
#include "game/dlights.h"
#include "game/game_092610.h"
#include "game/atan2f.h"
#include "game/game_0b3350.h"
#include "game/file.h"
#include "gvars/gvars.h"
#include "lib/rng.h"
#include "lib/lib_159b0.h"
#include "lib/lib_16110.h"
#include "data.h"
#include "types.h"
s32 g_MaxShards;
struct shard *g_Shards;
s32 g_NextShardNum = 0;
bool g_ShardsActive = false;
void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type);
void shardsCreate(struct coord *pos, f32 *rotx, f32 *roty, f32 *rotz, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 type, struct prop *prop)
{
s32 y;
s32 x;
s32 speci;
s32 speci2;
struct coord thispos;
f32 f0;
f32 f20;
f32 f30;
f32 spec;
s32 ymax;
s32 xmax;
struct coord basepos;
f32 spcc[3];
f32 spc0[3];
f32 spac;
spcc[0] = rotx[0];
spcc[1] = rotx[1];
spcc[2] = rotx[2];
f0 = sqrtf(spcc[0] * spcc[0] + spcc[1] * spcc[1] + spcc[2] * spcc[2]);
spcc[0] *= 1.0f / f0;
spcc[1] *= 1.0f / f0;
spcc[2] *= 1.0f / f0;
arg4 *= f0;
arg5 *= f0;
spc0[0] = roty[0];
spc0[1] = roty[1];
spc0[2] = roty[2];
f0 = sqrtf(spc0[0] * spc0[0] + spc0[1] * spc0[1] + spc0[2] * spc0[2]);
spc0[0] *= 1.0f / f0;
spc0[1] *= 1.0f / f0;
spc0[2] *= 1.0f / f0;
arg6 *= f0;
arg7 *= f0;
f30 = atan2f(rotz[0], rotz[2]);
f20 = arg5 - arg4;
spac = arg7 - arg6;
spec = sqrtf(f20 * spac / (f32) (g_MaxShards / 2));
speci = spec;
speci2 = speci;
basepos.x = (pos->f[0] + (arg4 + (speci >> 1)) * spcc[0]) + spc0[0] * (arg6 + (speci >> 1));
basepos.y = (pos->f[1] + (arg4 + (speci >> 1)) * spcc[1]) + spc0[1] * (arg6 + (speci >> 1));
basepos.z = (pos->f[2] + (arg4 + (speci >> 1)) * spcc[2]) + spc0[2] * (arg6 + (speci >> 1));
if (type == SHARDTYPE_GLASS) {
func0f0939f8(NULL, NULL, SFX_GLASS_SHATTER, -1,
-1, 0, 0, 0, &prop->pos, -1.0f, prop->rooms, -1, -1.0f, -1.0f, -1.0f);
} else if (type == SHARDTYPE_BOTTLE) {
/**
* @bug: This attempts to play one of two bottle breaking sounds
* randomly, but one of the SFX IDs isn't valid. This is why on Villa
* when you shoot the bottles, half of them don't play any breaking
* sound effect.
*/
func0f0939f8(NULL, NULL, SFX_BOTTLE_BREAK + (random() % 2) * 2, -1,
-1, 0, 0, 0, &prop->pos, -1.0f, prop->rooms, -1, -1.0f, -1.0f, -1.0f);
} else if (type == SHARDTYPE_WOOD) {
func0f0939f8(NULL, NULL, SFX_WOOD_BREAK, -1,
-1, 0, 0, 0, &prop->pos, -1.0f, prop->rooms, -1, -1.0f, -1.0f, -1.0f);
}
xmax = f20 / speci;
ymax = spac / speci2;
for (y = 0; y < ymax; y++) {
f32 f20 = y * (f32) speci2;
for (x = 0; x < xmax; x++) {
thispos.x = basepos.f[0] + x * (f32) speci * spcc[0] + spc0[0] * f20;
thispos.y = basepos.f[1] + x * (f32) speci * spcc[1] + spc0[1] * f20;
thispos.z = basepos.f[2] + x * (f32) speci * spcc[2] + spc0[2] * f20;
shardCreate(prop->rooms[0], &thispos, f30,
(random() * (1.0f / U32_MAX) * 0.7f + 0.1f) * spec, type);
}
}
}
void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type)
{
f32 velx = random() * (1.0f / U32_MAX) * 2.0f - 1.0f;
f32 vely = random() * (1.0f / U32_MAX) * 1.12f - 0.12f;
f32 velz = random() * (1.0f / U32_MAX) * 2.0f - 1.0f;
s32 i;
g_Shards[g_NextShardNum].type = type;
g_Shards[g_NextShardNum].room = room;
g_Shards[g_NextShardNum].age60 = 1;
g_Shards[g_NextShardNum].pos.x = pos->x;
g_Shards[g_NextShardNum].pos.y = pos->y;
g_Shards[g_NextShardNum].pos.z = pos->z;
g_Shards[g_NextShardNum].vel.x = velx * 1.5f;
g_Shards[g_NextShardNum].vel.y = vely * 3.0f;
g_Shards[g_NextShardNum].vel.z = velz * 1.5f;
g_Shards[g_NextShardNum].vertices[0].x = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size;
g_Shards[g_NextShardNum].vertices[0].y = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size;
g_Shards[g_NextShardNum].vertices[1].x = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size;
g_Shards[g_NextShardNum].vertices[1].y = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * -size;
g_Shards[g_NextShardNum].vertices[2].x = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * -size;
g_Shards[g_NextShardNum].vertices[2].y = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * -size;
for (i = 0; i < 3; i++) {
g_Shards[g_NextShardNum].vertices[i].z = 0;
g_Shards[g_NextShardNum].vertices[i].unk08 = 0;
g_Shards[g_NextShardNum].vertices[i].unk0a = 0;
g_Shards[g_NextShardNum].vertices[i].s = i * 4;
}
if (type == SHARDTYPE_WOOD) {
s32 rand = random() % 100;
if (rand < 20) {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0xbbbbbbf0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0xaaaaaaf0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0x777777f0;
} else if (rand < 40) {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0x000000f0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0x000000f0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0x000000f0;
} else if (rand < 60) {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0x553311f0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0x553311f0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0x553311f0;
} else {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0xddaa88f0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0xddaa88f0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0xddaa88f0;
}
} else {
s32 i;
s32 j;
g_Shards[g_NextShardNum].colours[0][0] = 0x05;
g_Shards[g_NextShardNum].colours[0][1] = 0x05;
g_Shards[g_NextShardNum].colours[0][2] = 0x7e;
g_Shards[g_NextShardNum].colours[1][0] = 0x05;
g_Shards[g_NextShardNum].colours[1][1] = 0xfb;
g_Shards[g_NextShardNum].colours[1][2] = 0x7e;
g_Shards[g_NextShardNum].colours[2][0] = 0xfb;
g_Shards[g_NextShardNum].colours[2][1] = 0xfb;
g_Shards[g_NextShardNum].colours[2][2] = 0x7e;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
g_Shards[g_NextShardNum].colours[i][j] = random() % 0xff;
}
}
g_Shards[g_NextShardNum].colours[0][3] = g_Shards[g_NextShardNum].colours[1][3] = g_Shards[g_NextShardNum].colours[2][3] = 0xff;
}
g_Shards[g_NextShardNum].rot.x = rotx;
g_Shards[g_NextShardNum].rot.y = 0;
g_Shards[g_NextShardNum].rot.z = random() * (1.0f / U32_MAX) * M_BADTAU;
g_Shards[g_NextShardNum].rotspeed.x = random() * (1.0f / U32_MAX) * 0.1f;
g_Shards[g_NextShardNum].rotspeed.y = random() * (1.0f / U32_MAX) * 0.1f;
g_Shards[g_NextShardNum].rotspeed.z = random() * (1.0f / U32_MAX) * 0.1f;
g_NextShardNum++;
if (g_NextShardNum >= g_MaxShards) {
g_NextShardNum = 0;
}
if (!g_ShardsActive) {
g_ShardsActive = true;
}
}
@@ -1,18 +1,214 @@
#include <ultra64.h>
#include "constants.h"
#include "game/dlights.h"
#include "game/game_092610.h"
#include "data.h"
#include "game/atan2f.h"
#include "game/dlights.h"
#include "game/file.h"
#include "game/game_092610.h"
#include "game/game_0b3350.h"
#include "game/gfxmemory.h"
#include "game/file.h"
#include "gvars/gvars.h"
#include "lib/rng.h"
#include "lib/lib_159b0.h"
#include "lib/lib_16110.h"
#include "data.h"
#include "lib/rng.h"
#include "types.h"
s32 g_MaxShards;
struct shard *g_Shards;
s32 g_NextShardNum = 0;
bool g_ShardsActive = false;
void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type);
void shardsCreate(struct coord *pos, f32 *rotx, f32 *roty, f32 *rotz, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 type, struct prop *prop)
{
s32 y;
s32 x;
s32 speci;
s32 speci2;
struct coord thispos;
f32 f0;
f32 f20;
f32 f30;
f32 spec;
s32 ymax;
s32 xmax;
struct coord basepos;
f32 spcc[3];
f32 spc0[3];
f32 spac;
spcc[0] = rotx[0];
spcc[1] = rotx[1];
spcc[2] = rotx[2];
f0 = sqrtf(spcc[0] * spcc[0] + spcc[1] * spcc[1] + spcc[2] * spcc[2]);
spcc[0] *= 1.0f / f0;
spcc[1] *= 1.0f / f0;
spcc[2] *= 1.0f / f0;
arg4 *= f0;
arg5 *= f0;
spc0[0] = roty[0];
spc0[1] = roty[1];
spc0[2] = roty[2];
f0 = sqrtf(spc0[0] * spc0[0] + spc0[1] * spc0[1] + spc0[2] * spc0[2]);
spc0[0] *= 1.0f / f0;
spc0[1] *= 1.0f / f0;
spc0[2] *= 1.0f / f0;
arg6 *= f0;
arg7 *= f0;
f30 = atan2f(rotz[0], rotz[2]);
f20 = arg5 - arg4;
spac = arg7 - arg6;
spec = sqrtf(f20 * spac / (f32) (g_MaxShards / 2));
speci = spec;
speci2 = speci;
basepos.x = (pos->f[0] + (arg4 + (speci >> 1)) * spcc[0]) + spc0[0] * (arg6 + (speci >> 1));
basepos.y = (pos->f[1] + (arg4 + (speci >> 1)) * spcc[1]) + spc0[1] * (arg6 + (speci >> 1));
basepos.z = (pos->f[2] + (arg4 + (speci >> 1)) * spcc[2]) + spc0[2] * (arg6 + (speci >> 1));
if (type == SHARDTYPE_GLASS) {
func0f0939f8(NULL, NULL, SFX_GLASS_SHATTER, -1,
-1, 0, 0, 0, &prop->pos, -1.0f, prop->rooms, -1, -1.0f, -1.0f, -1.0f);
} else if (type == SHARDTYPE_BOTTLE) {
/**
* @bug: This attempts to play one of two bottle breaking sounds
* randomly, but one of the SFX IDs isn't valid. This is why on Villa
* when you shoot the bottles, half of them don't play any breaking
* sound effect.
*/
func0f0939f8(NULL, NULL, SFX_BOTTLE_BREAK + (random() % 2) * 2, -1,
-1, 0, 0, 0, &prop->pos, -1.0f, prop->rooms, -1, -1.0f, -1.0f, -1.0f);
} else if (type == SHARDTYPE_WOOD) {
func0f0939f8(NULL, NULL, SFX_WOOD_BREAK, -1,
-1, 0, 0, 0, &prop->pos, -1.0f, prop->rooms, -1, -1.0f, -1.0f, -1.0f);
}
xmax = f20 / speci;
ymax = spac / speci2;
for (y = 0; y < ymax; y++) {
f32 f20 = y * (f32) speci2;
for (x = 0; x < xmax; x++) {
thispos.x = basepos.f[0] + x * (f32) speci * spcc[0] + spc0[0] * f20;
thispos.y = basepos.f[1] + x * (f32) speci * spcc[1] + spc0[1] * f20;
thispos.z = basepos.f[2] + x * (f32) speci * spcc[2] + spc0[2] * f20;
shardCreate(prop->rooms[0], &thispos, f30,
(random() * (1.0f / U32_MAX) * 0.7f + 0.1f) * spec, type);
}
}
}
void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type)
{
f32 velx = random() * (1.0f / U32_MAX) * 2.0f - 1.0f;
f32 vely = random() * (1.0f / U32_MAX) * 1.12f - 0.12f;
f32 velz = random() * (1.0f / U32_MAX) * 2.0f - 1.0f;
s32 i;
g_Shards[g_NextShardNum].type = type;
g_Shards[g_NextShardNum].room = room;
g_Shards[g_NextShardNum].age60 = 1;
g_Shards[g_NextShardNum].pos.x = pos->x;
g_Shards[g_NextShardNum].pos.y = pos->y;
g_Shards[g_NextShardNum].pos.z = pos->z;
g_Shards[g_NextShardNum].vel.x = velx * FRAMESTOTIME60(1.5f);
g_Shards[g_NextShardNum].vel.y = vely * FRAMESTOTIME60(3.0f);
g_Shards[g_NextShardNum].vel.z = velz * FRAMESTOTIME60(1.5f);
g_Shards[g_NextShardNum].vertices[0].x = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size;
g_Shards[g_NextShardNum].vertices[0].y = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size;
g_Shards[g_NextShardNum].vertices[1].x = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size;
g_Shards[g_NextShardNum].vertices[1].y = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * -size;
g_Shards[g_NextShardNum].vertices[2].x = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * -size;
g_Shards[g_NextShardNum].vertices[2].y = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * -size;
for (i = 0; i < 3; i++) {
g_Shards[g_NextShardNum].vertices[i].z = 0;
g_Shards[g_NextShardNum].vertices[i].unk08 = 0;
g_Shards[g_NextShardNum].vertices[i].unk0a = 0;
g_Shards[g_NextShardNum].vertices[i].s = i * 4;
}
if (type == SHARDTYPE_WOOD) {
s32 rand = random() % 100;
if (rand < 20) {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0xbbbbbbf0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0xaaaaaaf0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0x777777f0;
} else if (rand < 40) {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0x000000f0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0x000000f0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0x000000f0;
} else if (rand < 60) {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0x553311f0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0x553311f0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0x553311f0;
} else {
*(u32 *)g_Shards[g_NextShardNum].colours[0] = 0xddaa88f0;
*(u32 *)g_Shards[g_NextShardNum].colours[1] = 0xddaa88f0;
*(u32 *)g_Shards[g_NextShardNum].colours[2] = 0xddaa88f0;
}
} else {
s32 i;
s32 j;
g_Shards[g_NextShardNum].colours[0][0] = 0x05;
g_Shards[g_NextShardNum].colours[0][1] = 0x05;
g_Shards[g_NextShardNum].colours[0][2] = 0x7e;
g_Shards[g_NextShardNum].colours[1][0] = 0x05;
g_Shards[g_NextShardNum].colours[1][1] = 0xfb;
g_Shards[g_NextShardNum].colours[1][2] = 0x7e;
g_Shards[g_NextShardNum].colours[2][0] = 0xfb;
g_Shards[g_NextShardNum].colours[2][1] = 0xfb;
g_Shards[g_NextShardNum].colours[2][2] = 0x7e;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
g_Shards[g_NextShardNum].colours[i][j] = random() % 0xff;
}
}
g_Shards[g_NextShardNum].colours[0][3] = g_Shards[g_NextShardNum].colours[1][3] = g_Shards[g_NextShardNum].colours[2][3] = 0xff;
}
g_Shards[g_NextShardNum].rot.x = rotx;
g_Shards[g_NextShardNum].rot.y = 0;
g_Shards[g_NextShardNum].rot.z = random() * (1.0f / U32_MAX) * M_BADTAU;
g_Shards[g_NextShardNum].rotspeed.x = random() * (1.0f / U32_MAX) * FRAMESTOTIME60(0.1f);
g_Shards[g_NextShardNum].rotspeed.y = random() * (1.0f / U32_MAX) * FRAMESTOTIME60(0.1f);
g_Shards[g_NextShardNum].rotspeed.z = random() * (1.0f / U32_MAX) * FRAMESTOTIME60(0.1f);
g_NextShardNum++;
if (g_NextShardNum >= g_MaxShards) {
g_NextShardNum = 0;
}
if (!g_ShardsActive) {
g_ShardsActive = true;
}
}
Gfx *shardsRenderWood(Gfx *gdl)
{
if (g_ShardsActive) {
@@ -87,7 +283,7 @@ Gfx *shardsRenderWood(Gfx *gdl)
u8 (*colours)[4] = gfxAllocateColours(3);
if (g_Shards[i].age60 >= 100) {
f32 frac = g_Shards[i].age60 / 50.0f;
f32 frac = g_Shards[i].age60 / (PAL ? 41.666664123535f : 50.0f);
if (frac > 1) {
frac = 1;
@@ -210,7 +406,7 @@ Gfx *shardsRenderGlass(Gfx *gdl)
u8 (*colours)[4] = gfxAllocateColours(3);
if (g_Shards[i].age60 >= 100) {
f32 frac = g_Shards[i].age60 / 50.0f;
f32 frac = g_Shards[i].age60 / (PAL ? 41.666664123535f : 50.0f);
if (frac > 1) {
frac = 1;
+1 -1
View File
@@ -25,7 +25,7 @@ void shardsTick(void)
for (j = 0; j < (s32)lvupdate; j++) {
g_Shards[i].pos.y += g_Shards[i].vel.y;
g_Shards[i].vel.y -= 0.1f;
g_Shards[i].vel.y -= FRAMESTOTIME60(0.1f);
}
if (g_Shards[i].age60 >= 150) {
+544
View File
@@ -1323,6 +1323,549 @@ glabel func0f0d7f54
/* f0d87a4: 27bd00d0 */ addiu $sp,$sp,0xd0
);
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0d87a8
.late_rodata
glabel var7f1adde0
.word 0xc019999a
glabel var7f1adde4
.word 0x4019999a
glabel var7f1adde8
.word 0x3d4ccccd
glabel var7f1af0bcpf
.word 0x3d75c290
glabel var7f1af0c0pf
.word 0xbd75c290
glabel var7f1af0c4pf
.word 0x3d4ccccd
glabel var7f1af0c8pf
.word 0x3d75c290
glabel var7f1af0ccpf
.word 0xbd75c290
.text
/* f0d8d48: 27bdff30 */ addiu $sp,$sp,-208
/* f0d8d4c: 3c03800a */ lui $v1,0x800a
/* f0d8d50: 8c63a548 */ lw $v1,-0x5ab8($v1)
/* f0d8d54: afb00048 */ sw $s0,0x48($sp)
/* f0d8d58: 00808025 */ move $s0,$a0
/* f0d8d5c: afbf004c */ sw $ra,0x4c($sp)
/* f0d8d60: f7be0040 */ sdc1 $f30,0x40($sp)
/* f0d8d64: f7bc0038 */ sdc1 $f28,0x38($sp)
/* f0d8d68: f7ba0030 */ sdc1 $f26,0x30($sp)
/* f0d8d6c: f7b80028 */ sdc1 $f24,0x28($sp)
/* f0d8d70: f7b60020 */ sdc1 $f22,0x20($sp)
/* f0d8d74: f7b40018 */ sdc1 $f20,0x18($sp)
/* f0d8d78: afa500d4 */ sw $a1,0xd4($sp)
/* f0d8d7c: afa600d8 */ sw $a2,0xd8($sp)
/* f0d8d80: afa700dc */ sw $a3,0xdc($sp)
/* f0d8d84: 1860008c */ blez $v1,.PF0f0d8fb8
/* f0d8d88: 00001025 */ move $v0,$zero
/* f0d8d8c: 3c01bf00 */ lui $at,0xbf00
/* f0d8d90: 4481f000 */ mtc1 $at,$f30
/* f0d8d94: 3c013f00 */ lui $at,0x3f00
/* f0d8d98: 4481e000 */ mtc1 $at,$f28
/* f0d8d9c: 3c018007 */ lui $at,0x8007
/* f0d8da0: c43a1268 */ lwc1 $f26,0x1268($at)
/* f0d8da4: 44852000 */ mtc1 $a1,$f4
/* f0d8da8: 44864000 */ mtc1 $a2,$f8
/* f0d8dac: 3c018007 */ lui $at,0x8007
/* f0d8db0: c4381264 */ lwc1 $f24,0x1264($at)
/* f0d8db4: 3c017f1b */ lui $at,0x7f1b
/* f0d8db8: 468021a0 */ cvt.s.w $f6,$f4
/* f0d8dbc: c434f0b0 */ lwc1 $f20,-0xf50($at)
/* f0d8dc0: 3c017f1b */ lui $at,0x7f1b
/* f0d8dc4: c432f0b4 */ lwc1 $f18,-0xf4c($at)
/* f0d8dc8: 3c018007 */ lui $at,0x8007
/* f0d8dcc: 468042a0 */ cvt.s.w $f10,$f8
/* f0d8dd0: c4301270 */ lwc1 $f16,0x1270($at)
/* f0d8dd4: 3c018007 */ lui $at,0x8007
/* f0d8dd8: 4480b000 */ mtc1 $zero,$f22
/* f0d8ddc: c42e126c */ lwc1 $f14,0x126c($at)
/* f0d8de0: e7a60074 */ swc1 $f6,0x74($sp)
/* f0d8de4: e7aa006c */ swc1 $f10,0x6c($sp)
/* f0d8de8: c7a40074 */ lwc1 $f4,0x74($sp)
.PF0f0d8dec:
/* f0d8dec: 24420001 */ addiu $v0,$v0,0x1
/* f0d8df0: 3c017f1b */ lui $at,0x7f1b
/* f0d8df4: 46182301 */ sub.s $f12,$f4,$f24
/* f0d8df8: c7a8006c */ lwc1 $f8,0x6c($sp)
/* f0d8dfc: 460ce03c */ c.lt.s $f28,$f12
/* f0d8e00: 00000000 */ nop
/* f0d8e04: 45010005 */ bc1t .PF0f0d8e1c
/* f0d8e08: 00000000 */ nop
/* f0d8e0c: 461e603c */ c.lt.s $f12,$f30
/* f0d8e10: 00000000 */ nop
/* f0d8e14: 45020029 */ bc1fl .PF0f0d8ebc
/* f0d8e18: c7b80074 */ lwc1 $f24,0x74($sp)
.PF0f0d8e1c:
/* f0d8e1c: c426f0b8 */ lwc1 $f6,-0xf48($at)
/* f0d8e20: 3c017f1b */ lui $at,0x7f1b
/* f0d8e24: 46066002 */ mul.s $f0,$f12,$f6
/* f0d8e28: 4600903c */ c.lt.s $f18,$f0
/* f0d8e2c: 00000000 */ nop
/* f0d8e30: 45020003 */ bc1fl .PF0f0d8e40
/* f0d8e34: 4614003c */ c.lt.s $f0,$f20
/* f0d8e38: 46009006 */ mov.s $f0,$f18
/* f0d8e3c: 4614003c */ c.lt.s $f0,$f20
.PF0f0d8e40:
/* f0d8e40: 00000000 */ nop
/* f0d8e44: 45020003 */ bc1fl .PF0f0d8e54
/* f0d8e48: 4600703c */ c.lt.s $f14,$f0
/* f0d8e4c: 4600a006 */ mov.s $f0,$f20
/* f0d8e50: 4600703c */ c.lt.s $f14,$f0
.PF0f0d8e54:
/* f0d8e54: 00000000 */ nop
/* f0d8e58: 45020004 */ bc1fl .PF0f0d8e6c
/* f0d8e5c: 460e003c */ c.lt.s $f0,$f14
/* f0d8e60: 10000008 */ b .PF0f0d8e84
/* f0d8e64: c420f0bc */ lwc1 $f0,-0xf44($at)
/* f0d8e68: 460e003c */ c.lt.s $f0,$f14
.PF0f0d8e6c:
/* f0d8e6c: 3c017f1b */ lui $at,0x7f1b
/* f0d8e70: 45020004 */ bc1fl .PF0f0d8e84
/* f0d8e74: 4600b006 */ mov.s $f0,$f22
/* f0d8e78: 10000002 */ b .PF0f0d8e84
/* f0d8e7c: c420f0c0 */ lwc1 $f0,-0xf40($at)
/* f0d8e80: 4600b006 */ mov.s $f0,$f22
.PF0f0d8e84:
/* f0d8e84: 46007380 */ add.s $f14,$f14,$f0
/* f0d8e88: 460e903c */ c.lt.s $f18,$f14
/* f0d8e8c: 00000000 */ nop
/* f0d8e90: 45020003 */ bc1fl .PF0f0d8ea0
/* f0d8e94: 4614703c */ c.lt.s $f14,$f20
/* f0d8e98: 46009386 */ mov.s $f14,$f18
/* f0d8e9c: 4614703c */ c.lt.s $f14,$f20
.PF0f0d8ea0:
/* f0d8ea0: 00000000 */ nop
/* f0d8ea4: 45000002 */ bc1f .PF0f0d8eb0
/* f0d8ea8: 00000000 */ nop
/* f0d8eac: 4600a386 */ mov.s $f14,$f20
.PF0f0d8eb0:
/* f0d8eb0: 10000003 */ b .PF0f0d8ec0
/* f0d8eb4: 460ec600 */ add.s $f24,$f24,$f14
/* f0d8eb8: c7b80074 */ lwc1 $f24,0x74($sp)
.PF0f0d8ebc:
/* f0d8ebc: 4600b386 */ mov.s $f14,$f22
.PF0f0d8ec0:
/* f0d8ec0: 461a4301 */ sub.s $f12,$f8,$f26
/* f0d8ec4: 3c017f1b */ lui $at,0x7f1b
/* f0d8ec8: 460ce03c */ c.lt.s $f28,$f12
/* f0d8ecc: 00000000 */ nop
/* f0d8ed0: 45010005 */ bc1t .PF0f0d8ee8
/* f0d8ed4: 00000000 */ nop
/* f0d8ed8: 461e603c */ c.lt.s $f12,$f30
/* f0d8edc: 00000000 */ nop
/* f0d8ee0: 45020029 */ bc1fl .PF0f0d8f88
/* f0d8ee4: c7ba006c */ lwc1 $f26,0x6c($sp)
.PF0f0d8ee8:
/* f0d8ee8: c42af0c4 */ lwc1 $f10,-0xf3c($at)
/* f0d8eec: 3c017f1b */ lui $at,0x7f1b
/* f0d8ef0: 460a6002 */ mul.s $f0,$f12,$f10
/* f0d8ef4: 4600903c */ c.lt.s $f18,$f0
/* f0d8ef8: 00000000 */ nop
/* f0d8efc: 45020003 */ bc1fl .PF0f0d8f0c
/* f0d8f00: 4614003c */ c.lt.s $f0,$f20
/* f0d8f04: 46009006 */ mov.s $f0,$f18
/* f0d8f08: 4614003c */ c.lt.s $f0,$f20
.PF0f0d8f0c:
/* f0d8f0c: 00000000 */ nop
/* f0d8f10: 45020003 */ bc1fl .PF0f0d8f20
/* f0d8f14: 4600803c */ c.lt.s $f16,$f0
/* f0d8f18: 4600a006 */ mov.s $f0,$f20
/* f0d8f1c: 4600803c */ c.lt.s $f16,$f0
.PF0f0d8f20:
/* f0d8f20: 00000000 */ nop
/* f0d8f24: 45020004 */ bc1fl .PF0f0d8f38
/* f0d8f28: 4610003c */ c.lt.s $f0,$f16
/* f0d8f2c: 10000008 */ b .PF0f0d8f50
/* f0d8f30: c420f0c8 */ lwc1 $f0,-0xf38($at)
/* f0d8f34: 4610003c */ c.lt.s $f0,$f16
.PF0f0d8f38:
/* f0d8f38: 3c017f1b */ lui $at,0x7f1b
/* f0d8f3c: 45020004 */ bc1fl .PF0f0d8f50
/* f0d8f40: 4600b006 */ mov.s $f0,$f22
/* f0d8f44: 10000002 */ b .PF0f0d8f50
/* f0d8f48: c420f0cc */ lwc1 $f0,-0xf34($at)
/* f0d8f4c: 4600b006 */ mov.s $f0,$f22
.PF0f0d8f50:
/* f0d8f50: 46008400 */ add.s $f16,$f16,$f0
/* f0d8f54: 4610903c */ c.lt.s $f18,$f16
/* f0d8f58: 00000000 */ nop
/* f0d8f5c: 45020003 */ bc1fl .PF0f0d8f6c
/* f0d8f60: 4614803c */ c.lt.s $f16,$f20
/* f0d8f64: 46009406 */ mov.s $f16,$f18
/* f0d8f68: 4614803c */ c.lt.s $f16,$f20
.PF0f0d8f6c:
/* f0d8f6c: 00000000 */ nop
/* f0d8f70: 45000002 */ bc1f .PF0f0d8f7c
/* f0d8f74: 00000000 */ nop
/* f0d8f78: 4600a406 */ mov.s $f16,$f20
.PF0f0d8f7c:
/* f0d8f7c: 10000003 */ b .PF0f0d8f8c
/* f0d8f80: 4610d680 */ add.s $f26,$f26,$f16
/* f0d8f84: c7ba006c */ lwc1 $f26,0x6c($sp)
.PF0f0d8f88:
/* f0d8f88: 4600b406 */ mov.s $f16,$f22
.PF0f0d8f8c:
/* f0d8f8c: 0043082a */ slt $at,$v0,$v1
/* f0d8f90: 5420ff96 */ bnezl $at,.PF0f0d8dec
/* f0d8f94: c7a40074 */ lwc1 $f4,0x74($sp)
/* f0d8f98: 3c018007 */ lui $at,0x8007
/* f0d8f9c: e4301270 */ swc1 $f16,0x1270($at)
/* f0d8fa0: 3c018007 */ lui $at,0x8007
/* f0d8fa4: e42e126c */ swc1 $f14,0x126c($at)
/* f0d8fa8: 3c018007 */ lui $at,0x8007
/* f0d8fac: e4381264 */ swc1 $f24,0x1264($at)
/* f0d8fb0: 3c018007 */ lui $at,0x8007
/* f0d8fb4: e43a1268 */ swc1 $f26,0x1268($at)
.PF0f0d8fb8:
/* f0d8fb8: 3c018007 */ lui $at,0x8007
/* f0d8fbc: c4381264 */ lwc1 $f24,0x1264($at)
/* f0d8fc0: 3c018007 */ lui $at,0x8007
/* f0d8fc4: c43a1268 */ lwc1 $f26,0x1268($at)
/* f0d8fc8: 4600c10d */ trunc.w.s $f4,$f24
/* f0d8fcc: 3c0500ff */ lui $a1,0xff
/* f0d8fd0: 34a50028 */ ori $a1,$a1,0x28
/* f0d8fd4: 4600d18d */ trunc.w.s $f6,$f26
/* f0d8fd8: 44192000 */ mfc1 $t9,$f4
/* f0d8fdc: 02002025 */ move $a0,$s0
/* f0d8fe0: 440f3000 */ mfc1 $t7,$f6
/* f0d8fe4: afb900cc */ sw $t9,0xcc($sp)
/* f0d8fe8: 0fc5513c */ jal 0xf1544f0
/* f0d8fec: afaf00c8 */ sw $t7,0xc8($sp)
/* f0d8ff0: 3c038008 */ lui $v1,0x8008
/* f0d8ff4: 8fab00d4 */ lw $t3,0xd4($sp)
/* f0d8ff8: 24630020 */ addiu $v1,$v1,0x20
/* f0d8ffc: 8c790000 */ lw $t9,0x0($v1)
/* f0d9000: 25650002 */ addiu $a1,$t3,0x2
/* f0d9004: 8faa00d8 */ lw $t2,0xd8($sp)
/* f0d9008: 00b90019 */ multu $a1,$t9
/* f0d900c: 3c06f600 */ lui $a2,0xf600
/* f0d9010: 314803ff */ andi $t0,$t2,0x3ff
/* f0d9014: 0008c080 */ sll $t8,$t0,0x2
/* f0d9018: 03004025 */ move $t0,$t8
/* f0d901c: 2567ffff */ addiu $a3,$t3,-1
/* f0d9020: 25490001 */ addiu $t1,$t2,0x1
/* f0d9024: 24440018 */ addiu $a0,$v0,0x18
/* f0d9028: 00007012 */ mflo $t6
/* f0d902c: 31cf03ff */ andi $t7,$t6,0x3ff
/* f0d9030: 000fc380 */ sll $t8,$t7,0xe
/* f0d9034: 0306c825 */ or $t9,$t8,$a2
/* f0d9038: 03287025 */ or $t6,$t9,$t0
/* f0d903c: ac4e0000 */ sw $t6,0x0($v0)
/* f0d9040: 8c6f0000 */ lw $t7,0x0($v1)
/* f0d9044: 00ef0019 */ multu $a3,$t7
/* f0d9048: 254fffff */ addiu $t7,$t2,-1
/* f0d904c: 0000c012 */ mflo $t8
/* f0d9050: 331903ff */ andi $t9,$t8,0x3ff
/* f0d9054: 00197380 */ sll $t6,$t9,0xe
/* f0d9058: 31f803ff */ andi $t8,$t7,0x3ff
/* f0d905c: 0018c880 */ sll $t9,$t8,0x2
/* f0d9060: 01d97825 */ or $t7,$t6,$t9
/* f0d9064: ac4f0004 */ sw $t7,0x4($v0)
/* f0d9068: 8c790000 */ lw $t9,0x0($v1)
/* f0d906c: 313803ff */ andi $t8,$t1,0x3ff
/* f0d9070: 00184880 */ sll $t1,$t8,0x2
/* f0d9074: 00b90019 */ multu $a1,$t9
/* f0d9078: 00007812 */ mflo $t7
/* f0d907c: 31f803ff */ andi $t8,$t7,0x3ff
/* f0d9080: 00187380 */ sll $t6,$t8,0xe
/* f0d9084: 01c6c825 */ or $t9,$t6,$a2
/* f0d9088: 03297825 */ or $t7,$t9,$t1
/* f0d908c: ac4f0008 */ sw $t7,0x8($v0)
/* f0d9090: 8c780000 */ lw $t8,0x0($v1)
/* f0d9094: 00f80019 */ multu $a3,$t8
/* f0d9098: 00007012 */ mflo $t6
/* f0d909c: 31d903ff */ andi $t9,$t6,0x3ff
/* f0d90a0: 00197b80 */ sll $t7,$t9,0xe
/* f0d90a4: 01e8c025 */ or $t8,$t7,$t0
/* f0d90a8: ac58000c */ sw $t8,0xc($v0)
/* f0d90ac: 8c6e0000 */ lw $t6,0x0($v1)
/* f0d90b0: 00ae0019 */ multu $a1,$t6
/* f0d90b4: 0000c812 */ mflo $t9
/* f0d90b8: 332f03ff */ andi $t7,$t9,0x3ff
/* f0d90bc: 000fc380 */ sll $t8,$t7,0xe
/* f0d90c0: 25590002 */ addiu $t9,$t2,0x2
/* f0d90c4: 332f03ff */ andi $t7,$t9,0x3ff
/* f0d90c8: 03067025 */ or $t6,$t8,$a2
/* f0d90cc: 000fc080 */ sll $t8,$t7,0x2
/* f0d90d0: 01d8c825 */ or $t9,$t6,$t8
/* f0d90d4: ac590010 */ sw $t9,0x10($v0)
/* f0d90d8: 8c6f0000 */ lw $t7,0x0($v1)
/* f0d90dc: 00ef0019 */ multu $a3,$t7
/* f0d90e0: 00007012 */ mflo $t6
/* f0d90e4: 31d803ff */ andi $t8,$t6,0x3ff
/* f0d90e8: 0018cb80 */ sll $t9,$t8,0xe
/* f0d90ec: 03297825 */ or $t7,$t9,$t1
/* f0d90f0: 0fc55153 */ jal 0xf15454c
/* f0d90f4: ac4f0014 */ sw $t7,0x14($v0)
/* f0d90f8: 00402025 */ move $a0,$v0
/* f0d90fc: 0fc5513c */ jal 0xf1544f0
/* f0d9100: 8fa500e4 */ lw $a1,0xe4($sp)
/* f0d9104: 8fb800dc */ lw $t8,0xdc($sp)
/* f0d9108: 8fb900c8 */ lw $t9,0xc8($sp)
/* f0d910c: 8fae00cc */ lw $t6,0xcc($sp)
/* f0d9110: 3c038008 */ lui $v1,0x8008
/* f0d9114: 24630020 */ addiu $v1,$v1,0x20
/* f0d9118: 0338f821 */ addu $ra,$t9,$t8
/* f0d911c: 8c790000 */ lw $t9,0x0($v1)
/* f0d9120: 01d82823 */ subu $a1,$t6,$t8
/* f0d9124: 24ac0001 */ addiu $t4,$a1,0x1
/* f0d9128: 01990019 */ multu $t4,$t9
/* f0d912c: 27e80001 */ addiu $t0,$ra,0x1
/* f0d9130: 310f03ff */ andi $t7,$t0,0x3ff
/* f0d9134: 000f4080 */ sll $t0,$t7,0x2
/* f0d9138: 3c06f600 */ lui $a2,0xf600
/* f0d913c: 244b0018 */ addiu $t3,$v0,0x18
/* f0d9140: 25700008 */ addiu $s0,$t3,0x8
/* f0d9144: 0000c012 */ mflo $t8
/* f0d9148: 330f03ff */ andi $t7,$t8,0x3ff
/* f0d914c: 000f7380 */ sll $t6,$t7,0xe
/* f0d9150: 01c6c825 */ or $t9,$t6,$a2
/* f0d9154: 0328c025 */ or $t8,$t9,$t0
/* f0d9158: ac580000 */ sw $t8,0x0($v0)
/* f0d915c: 8c780000 */ lw $t8,0x0($v1)
/* f0d9160: 8faf00c8 */ lw $t7,0xc8($sp)
/* f0d9164: 8fae00dc */ lw $t6,0xdc($sp)
/* f0d9168: 00b80019 */ multu $a1,$t8
/* f0d916c: 01ee3823 */ subu $a3,$t7,$t6
/* f0d9170: 30e403ff */ andi $a0,$a3,0x3ff
/* f0d9174: 0004c880 */ sll $t9,$a0,0x2
/* f0d9178: 03202025 */ move $a0,$t9
/* f0d917c: 24ed0001 */ addiu $t5,$a3,0x1
/* f0d9180: 00007812 */ mflo $t7
/* f0d9184: 31ee03ff */ andi $t6,$t7,0x3ff
/* f0d9188: 000ecb80 */ sll $t9,$t6,0xe
/* f0d918c: 0324c025 */ or $t8,$t9,$a0
/* f0d9190: ac580004 */ sw $t8,0x4($v0)
/* f0d9194: 8faf00cc */ lw $t7,0xcc($sp)
/* f0d9198: 8fae00dc */ lw $t6,0xdc($sp)
/* f0d919c: 8c790000 */ lw $t9,0x0($v1)
/* f0d91a0: 01ee5021 */ addu $t2,$t7,$t6
/* f0d91a4: 25490001 */ addiu $t1,$t2,0x1
/* f0d91a8: 01390019 */ multu $t1,$t9
/* f0d91ac: 0000c012 */ mflo $t8
/* f0d91b0: 330f03ff */ andi $t7,$t8,0x3ff
/* f0d91b4: 000f7380 */ sll $t6,$t7,0xe
/* f0d91b8: 01c6c825 */ or $t9,$t6,$a2
/* f0d91bc: 0328c025 */ or $t8,$t9,$t0
/* f0d91c0: ac580008 */ sw $t8,0x8($v0)
/* f0d91c4: 8c6f0000 */ lw $t7,0x0($v1)
/* f0d91c8: 014f0019 */ multu $t2,$t7
/* f0d91cc: 00007012 */ mflo $t6
/* f0d91d0: 31d903ff */ andi $t9,$t6,0x3ff
/* f0d91d4: 0019c380 */ sll $t8,$t9,0xe
/* f0d91d8: 03047825 */ or $t7,$t8,$a0
/* f0d91dc: ac4f000c */ sw $t7,0xc($v0)
/* f0d91e0: 8c780000 */ lw $t8,0x0($v1)
/* f0d91e4: 31ae03ff */ andi $t6,$t5,0x3ff
/* f0d91e8: 000e6880 */ sll $t5,$t6,0x2
/* f0d91ec: 01380019 */ multu $t1,$t8
/* f0d91f0: 00007812 */ mflo $t7
/* f0d91f4: 31ee03ff */ andi $t6,$t7,0x3ff
/* f0d91f8: 000ecb80 */ sll $t9,$t6,0xe
/* f0d91fc: 0326c025 */ or $t8,$t9,$a2
/* f0d9200: 030d7825 */ or $t7,$t8,$t5
/* f0d9204: ac4f0010 */ sw $t7,0x10($v0)
/* f0d9208: 8c6e0000 */ lw $t6,0x0($v1)
/* f0d920c: afbf006c */ sw $ra,0x6c($sp)
/* f0d9210: 00ae0019 */ multu $a1,$t6
/* f0d9214: 0000c812 */ mflo $t9
/* f0d9218: 333803ff */ andi $t8,$t9,0x3ff
/* f0d921c: 00187b80 */ sll $t7,$t8,0xe
/* f0d9220: 01e47025 */ or $t6,$t7,$a0
/* f0d9224: ac4e0014 */ sw $t6,0x14($v0)
/* f0d9228: 8c790000 */ lw $t9,0x0($v1)
/* f0d922c: 01390019 */ multu $t1,$t9
/* f0d9230: 0000c012 */ mflo $t8
/* f0d9234: 330f03ff */ andi $t7,$t8,0x3ff
/* f0d9238: 000f7380 */ sll $t6,$t7,0xe
/* f0d923c: 01c6c825 */ or $t9,$t6,$a2
/* f0d9240: 0328c025 */ or $t8,$t9,$t0
/* f0d9244: ad780000 */ sw $t8,0x0($t3)
/* f0d9248: 8c790000 */ lw $t9,0x0($v1)
/* f0d924c: 8fbf006c */ lw $ra,0x6c($sp)
/* f0d9250: 00b90019 */ multu $a1,$t9
/* f0d9254: 33ef03ff */ andi $t7,$ra,0x3ff
/* f0d9258: 000ff880 */ sll $ra,$t7,0x2
/* f0d925c: 0000c012 */ mflo $t8
/* f0d9260: 330f03ff */ andi $t7,$t8,0x3ff
/* f0d9264: 000f7380 */ sll $t6,$t7,0xe
/* f0d9268: 01dfc825 */ or $t9,$t6,$ra
/* f0d926c: ad790004 */ sw $t9,0x4($t3)
/* f0d9270: 8faf00e0 */ lw $t7,0xe0($sp)
/* f0d9274: 8fb800c8 */ lw $t8,0xc8($sp)
/* f0d9278: afb00098 */ sw $s0,0x98($sp)
/* f0d927c: 26100008 */ addiu $s0,$s0,0x8
/* f0d9280: 030f7023 */ subu $t6,$t8,$t7
/* f0d9284: 25d90001 */ addiu $t9,$t6,0x1
/* f0d9288: 8c6e0000 */ lw $t6,0x0($v1)
/* f0d928c: 333803ff */ andi $t8,$t9,0x3ff
/* f0d9290: 00187880 */ sll $t7,$t8,0x2
/* f0d9294: 018e0019 */ multu $t4,$t6
/* f0d9298: afaf0050 */ sw $t7,0x50($sp)
/* f0d929c: 02001025 */ move $v0,$s0
/* f0d92a0: 26100008 */ addiu $s0,$s0,0x8
/* f0d92a4: 02005825 */ move $t3,$s0
/* f0d92a8: 26100008 */ addiu $s0,$s0,0x8
/* f0d92ac: 0000c812 */ mflo $t9
/* f0d92b0: 333803ff */ andi $t8,$t9,0x3ff
/* f0d92b4: 00187380 */ sll $t6,$t8,0xe
/* f0d92b8: 01c6c825 */ or $t9,$t6,$a2
/* f0d92bc: 8fae0098 */ lw $t6,0x98($sp)
/* f0d92c0: 032fc025 */ or $t8,$t9,$t7
/* f0d92c4: add80000 */ sw $t8,0x0($t6)
/* f0d92c8: 8c790000 */ lw $t9,0x0($v1)
/* f0d92cc: 00b90019 */ multu $a1,$t9
/* f0d92d0: 00007812 */ mflo $t7
/* f0d92d4: 31f803ff */ andi $t8,$t7,0x3ff
/* f0d92d8: 0018cb80 */ sll $t9,$t8,0xe
/* f0d92dc: 03247825 */ or $t7,$t9,$a0
/* f0d92e0: adcf0004 */ sw $t7,0x4($t6)
/* f0d92e4: 8c780000 */ lw $t8,0x0($v1)
/* f0d92e8: 01980019 */ multu $t4,$t8
/* f0d92ec: 0000c812 */ mflo $t9
/* f0d92f0: 332f03ff */ andi $t7,$t9,0x3ff
/* f0d92f4: 000f7380 */ sll $t6,$t7,0xe
/* f0d92f8: 01c6c025 */ or $t8,$t6,$a2
/* f0d92fc: 0308c825 */ or $t9,$t8,$t0
/* f0d9300: ac590000 */ sw $t9,0x0($v0)
/* f0d9304: 8fae00e0 */ lw $t6,0xe0($sp)
/* f0d9308: 8faf00c8 */ lw $t7,0xc8($sp)
/* f0d930c: 01ee3821 */ addu $a3,$t7,$t6
/* f0d9310: 8c6f0000 */ lw $t7,0x0($v1)
/* f0d9314: 30f803ff */ andi $t8,$a3,0x3ff
/* f0d9318: 00183880 */ sll $a3,$t8,0x2
/* f0d931c: 00af0019 */ multu $a1,$t7
/* f0d9320: 00007012 */ mflo $t6
/* f0d9324: 31d803ff */ andi $t8,$t6,0x3ff
/* f0d9328: 0018cb80 */ sll $t9,$t8,0xe
/* f0d932c: 03277825 */ or $t7,$t9,$a3
/* f0d9330: ac4f0004 */ sw $t7,0x4($v0)
/* f0d9334: 8c6e0000 */ lw $t6,0x0($v1)
/* f0d9338: 02001025 */ move $v0,$s0
/* f0d933c: 26100008 */ addiu $s0,$s0,0x8
/* f0d9340: 012e0019 */ multu $t1,$t6
/* f0d9344: 02006025 */ move $t4,$s0
/* f0d9348: 26100008 */ addiu $s0,$s0,0x8
/* f0d934c: 0000c012 */ mflo $t8
/* f0d9350: 331903ff */ andi $t9,$t8,0x3ff
/* f0d9354: 8fb80050 */ lw $t8,0x50($sp)
/* f0d9358: 00197b80 */ sll $t7,$t9,0xe
/* f0d935c: 01e67025 */ or $t6,$t7,$a2
/* f0d9360: 01d8c825 */ or $t9,$t6,$t8
/* f0d9364: ad790000 */ sw $t9,0x0($t3)
/* f0d9368: 8c6f0000 */ lw $t7,0x0($v1)
/* f0d936c: 014f0019 */ multu $t2,$t7
/* f0d9370: 00007012 */ mflo $t6
/* f0d9374: 31d803ff */ andi $t8,$t6,0x3ff
/* f0d9378: 0018cb80 */ sll $t9,$t8,0xe
/* f0d937c: 03247825 */ or $t7,$t9,$a0
/* f0d9380: ad6f0004 */ sw $t7,0x4($t3)
/* f0d9384: 8c6e0000 */ lw $t6,0x0($v1)
/* f0d9388: 012e0019 */ multu $t1,$t6
/* f0d938c: 0000c012 */ mflo $t8
/* f0d9390: 331903ff */ andi $t9,$t8,0x3ff
/* f0d9394: 00197b80 */ sll $t7,$t9,0xe
/* f0d9398: 01e67025 */ or $t6,$t7,$a2
/* f0d939c: 01c8c025 */ or $t8,$t6,$t0
/* f0d93a0: ac580000 */ sw $t8,0x0($v0)
/* f0d93a4: 8c790000 */ lw $t9,0x0($v1)
/* f0d93a8: 01590019 */ multu $t2,$t9
/* f0d93ac: 00007812 */ mflo $t7
/* f0d93b0: 31ee03ff */ andi $t6,$t7,0x3ff
/* f0d93b4: 000ec380 */ sll $t8,$t6,0xe
/* f0d93b8: 0307c825 */ or $t9,$t8,$a3
/* f0d93bc: ac590004 */ sw $t9,0x4($v0)
/* f0d93c0: 8fae00e0 */ lw $t6,0xe0($sp)
/* f0d93c4: 8faf00cc */ lw $t7,0xcc($sp)
/* f0d93c8: 02001025 */ move $v0,$s0
/* f0d93cc: 26100008 */ addiu $s0,$s0,0x8
/* f0d93d0: 01eec023 */ subu $t8,$t7,$t6
/* f0d93d4: 8c6f0000 */ lw $t7,0x0($v1)
/* f0d93d8: 27190001 */ addiu $t9,$t8,0x1
/* f0d93dc: afb90070 */ sw $t9,0x70($sp)
/* f0d93e0: 032f0019 */ multu $t9,$t7
/* f0d93e4: 02005025 */ move $t2,$s0
/* f0d93e8: 26100008 */ addiu $s0,$s0,0x8
/* f0d93ec: 00007012 */ mflo $t6
/* f0d93f0: 31d803ff */ andi $t8,$t6,0x3ff
/* f0d93f4: 0018cb80 */ sll $t9,$t8,0xe
/* f0d93f8: 03267825 */ or $t7,$t9,$a2
/* f0d93fc: 01ed7025 */ or $t6,$t7,$t5
/* f0d9400: ad8e0000 */ sw $t6,0x0($t4)
/* f0d9404: 8c780000 */ lw $t8,0x0($v1)
/* f0d9408: 00b80019 */ multu $a1,$t8
/* f0d940c: 0000c812 */ mflo $t9
/* f0d9410: 332f03ff */ andi $t7,$t9,0x3ff
/* f0d9414: 000f7380 */ sll $t6,$t7,0xe
/* f0d9418: 01c4c025 */ or $t8,$t6,$a0
/* f0d941c: ad980004 */ sw $t8,0x4($t4)
/* f0d9420: 8c790000 */ lw $t9,0x0($v1)
/* f0d9424: 01390019 */ multu $t1,$t9
/* f0d9428: 00007812 */ mflo $t7
/* f0d942c: 31ee03ff */ andi $t6,$t7,0x3ff
/* f0d9430: 000ec380 */ sll $t8,$t6,0xe
/* f0d9434: 0306c825 */ or $t9,$t8,$a2
/* f0d9438: 032d7825 */ or $t7,$t9,$t5
/* f0d943c: ac4f0000 */ sw $t7,0x0($v0)
/* f0d9440: 8fb800e0 */ lw $t8,0xe0($sp)
/* f0d9444: 8fae00cc */ lw $t6,0xcc($sp)
/* f0d9448: 8c790000 */ lw $t9,0x0($v1)
/* f0d944c: 01d83821 */ addu $a3,$t6,$t8
/* f0d9450: 00f90019 */ multu $a3,$t9
/* f0d9454: 00007812 */ mflo $t7
/* f0d9458: 31ee03ff */ andi $t6,$t7,0x3ff
/* f0d945c: 000ec380 */ sll $t8,$t6,0xe
/* f0d9460: 0304c825 */ or $t9,$t8,$a0
/* f0d9464: ac590004 */ sw $t9,0x4($v0)
/* f0d9468: 8c6e0000 */ lw $t6,0x0($v1)
/* f0d946c: 8faf0070 */ lw $t7,0x70($sp)
/* f0d9470: 01ee0019 */ multu $t7,$t6
/* f0d9474: 0000c012 */ mflo $t8
/* f0d9478: 331903ff */ andi $t9,$t8,0x3ff
/* f0d947c: 00197b80 */ sll $t7,$t9,0xe
/* f0d9480: 01e67025 */ or $t6,$t7,$a2
/* f0d9484: 01c8c025 */ or $t8,$t6,$t0
/* f0d9488: ad580000 */ sw $t8,0x0($t2)
/* f0d948c: 8c790000 */ lw $t9,0x0($v1)
/* f0d9490: 00b90019 */ multu $a1,$t9
/* f0d9494: 00007812 */ mflo $t7
/* f0d9498: 31ee03ff */ andi $t6,$t7,0x3ff
/* f0d949c: 000ec380 */ sll $t8,$t6,0xe
/* f0d94a0: 031fc825 */ or $t9,$t8,$ra
/* f0d94a4: ad590004 */ sw $t9,0x4($t2)
/* f0d94a8: 8c6f0000 */ lw $t7,0x0($v1)
/* f0d94ac: 02001025 */ move $v0,$s0
/* f0d94b0: 26040008 */ addiu $a0,$s0,0x8
/* f0d94b4: 012f0019 */ multu $t1,$t7
/* f0d94b8: 00007012 */ mflo $t6
/* f0d94bc: 31d803ff */ andi $t8,$t6,0x3ff
/* f0d94c0: 0018cb80 */ sll $t9,$t8,0xe
/* f0d94c4: 03267825 */ or $t7,$t9,$a2
/* f0d94c8: 01e87025 */ or $t6,$t7,$t0
/* f0d94cc: ac4e0000 */ sw $t6,0x0($v0)
/* f0d94d0: 8c780000 */ lw $t8,0x0($v1)
/* f0d94d4: 00f80019 */ multu $a3,$t8
/* f0d94d8: 0000c812 */ mflo $t9
/* f0d94dc: 332f03ff */ andi $t7,$t9,0x3ff
/* f0d94e0: 000f7380 */ sll $t6,$t7,0xe
/* f0d94e4: 01dfc025 */ or $t8,$t6,$ra
/* f0d94e8: 0fc55153 */ jal 0xf15454c
/* f0d94ec: ac580004 */ sw $t8,0x4($v0)
/* f0d94f0: 8fbf004c */ lw $ra,0x4c($sp)
/* f0d94f4: d7b40018 */ ldc1 $f20,0x18($sp)
/* f0d94f8: d7b60020 */ ldc1 $f22,0x20($sp)
/* f0d94fc: d7b80028 */ ldc1 $f24,0x28($sp)
/* f0d9500: d7ba0030 */ ldc1 $f26,0x30($sp)
/* f0d9504: d7bc0038 */ ldc1 $f28,0x38($sp)
/* f0d9508: d7be0040 */ ldc1 $f30,0x40($sp)
/* f0d950c: 8fb00048 */ lw $s0,0x48($sp)
/* f0d9510: 03e00008 */ jr $ra
/* f0d9514: 27bd00d0 */ addiu $sp,$sp,0xd0
);
#else
GLOBAL_ASM(
glabel func0f0d87a8
.late_rodata
@@ -1854,6 +2397,7 @@ glabel var7f1adde8
/* f0d8f70: 03e00008 */ jr $ra
/* f0d8f74: 27bd00d0 */ addiu $sp,$sp,0xd0
);
#endif
GLOBAL_ASM(
glabel sightRenderDefault
+1 -1
View File
@@ -1,6 +1,6 @@
#include <ultra64.h>
#include "constants.h"
#include "game/game_005fd0.h"
#include "game/game_006900.h"
#include "game/game_0b3350.h"
#include "game/sky.h"
#include "game/game_1531a0.h"
+5 -3
View File
@@ -13,13 +13,15 @@
#include "types.h"
const u32 var7f1b5600[] = {0xb8d1b717};
#if VERSION >= VERSION_PAL_FINAL
const u32 var7f1b6914pf[] = {0x3f99999a};
#endif
const u32 var7f1b5604[] = {0xb8d1b717};
const u32 var7f1b5608[] = {0x3d4ccccd};
const u32 var7f1b560c[] = {0x469c4000};
const u32 var7f1b5610[] = {0x3e4ccccd};
const u32 var7f1b5614[] = {0x00000000};
const u32 var7f1b5618[] = {0x00000000};
const u32 var7f1b561c[] = {0x00000000};
struct spark g_Sparks[100];
u32 g_NextSparkIndex;
+73 -1
View File
@@ -542,6 +542,22 @@ glabel func0f0165f0
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel titleRenderLegal
.late_rodata
glabel var7f1a83cc
.word titleRenderLegal+0xe8
glabel var7f1a83d0
.word titleRenderLegal+0xfc
glabel var7f1a83d4
.word titleRenderLegal+0x110
glabel var7f1a83d8
.word titleRenderLegal+0x188
glabel var7f1a83dc
.word titleRenderLegal+0x188
glabel var7f1a83e0
.word titleRenderLegal+0x11c
glabel var7f1a83e4
.word titleRenderLegal+0x170
.text
/* f01670c: 27bdfed0 */ addiu $sp,$sp,-304
/* f016710: 3c0f8006 */ lui $t7,0x8006
/* f016714: afb60050 */ sw $s6,0x50($sp)
@@ -2420,6 +2436,62 @@ void func0f017980(void)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel titleRenderPdLogo
.late_rodata
glabel var7f1a8400
.word 0x456a6000
glabel var7f1a8404
.word 0x3dcccccd
glabel var7f1a8408
.word 0x4087b1f9
glabel var7f1a840c
.word 0x3cb944e9
glabel var7f1a8410
.word 0x3ef13c64
glabel var7f1a8414
.word 0x3eb33333
glabel var7f1a8418
.word 0x3fc907a9
glabel var7f1a841c
.word 0x396d2501
glabel var7f1a8420
.word 0x3cb944e9
glabel var7f1a8424
.word 0x40c907a9
glabel var7f1a8428
.word 0x40c907a9
glabel var7f1a842c
.word 0x40c907a9
glabel var7f1a8430
.word 0x40c907a9
glabel var7f1a8434
.word 0x3b83126f
glabel var7f1a8438
.word 0x3f4ccccd
glabel var7f1a843c
.word 0x390e4967
glabel var7f1a8440
.word 0x3c5e52b2
glabel var7f1a8444
.word 0x40c907a9
glabel var7f1a8448
.word 0x3bf5c28f
glabel var7f1a844c
.word 0x3ccccccd
glabel var7f1a8450
.word 0x3db851ec
glabel var7f1a8454
.word 0x3dcccccd
glabel var7f1a8458
.word 0x3bcddaca
glabel var7f1a845c
.word 0x3c8b4396
glabel var7f1a8460
.word 0x40490fdb
glabel var7f1a8464
.word 0x3e19999a
glabel var7f1a8468
.word 0x3e9db22d
.text
/* f017b9c: 27bdfcd0 */ addiu $sp,$sp,-816
/* f017ba0: 3c0f8006 */ lui $t7,0x8006
/* f017ba4: 3c028006 */ lui $v0,0x8006
@@ -6190,7 +6262,7 @@ void titleInitSkip(void)
if (IS4MB()) {
g_TitleNextStage = STAGE_4MBMENU;
viSetAspect(1.4545454978943f);
viSetAspect(PAL ? 1.7316017150879f : 1.4545454978943f);
viSetXY(320, 220);
viSetBuf(320, 220);
currentPlayerSetViewSize(320, 220);
+48
View File
@@ -1180,6 +1180,32 @@ void frExecuteHelpScript(void)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel frExecuteTargetScript
.late_rodata
glabel var7f1baa50pf
.word 0x7f19f23c
glabel var7f1baa54pf
.word 0x7f19f3f0
glabel var7f1baa58pf
.word 0x7f19f3fc
glabel var7f1baa5cpf
.word 0x7f19f434
glabel var7f1baa60pf
.word 0x7f19f4e0
glabel var7f1baa64pf
.word 0x7f19f4e0
glabel var7f1baa68pf
.word 0x7f19f4e0
glabel var7f1baa6cpf
.word 0x7f19f220
glabel var7f1b9410
.word 0xbfc90fdb
glabel var7f1b9414
.word 0xc0490fdb
glabel var7f1b9418
.word 0x3fc90fdb
glabel var7f1b941c
.word 0x40490fdb
.text
/* f19f198: 00047900 */ sll $t7,$a0,0x4
/* f19f19c: 01e47823 */ subu $t7,$t7,$a0
/* f19f1a0: 3c18800b */ lui $t8,0x800b
@@ -2502,6 +2528,28 @@ bool frIsAmmoWasted(void)
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel frTick
.late_rodata
glabel var7f1b94c0
.word 0x4012a974
glabel var7f1b94c4
.word 0x407f7642
glabel var7f1b94c8
.word 0x40490fdb
glabel var7f1b94cc
.word 0xc59c4000
glabel var7f1b94d0
.word 0x40c907a9
glabel var7f1b94d4
.word 0x40490fdb
glabel var7f1b94d8
.word 0xbd0efa35
glabel var7f1b94dc
.word 0x40490fdb
glabel var7f1b94e0
.word 0x3d0efa35
glabel var7f1b94e4
.word 0x40490fdb
.text
/* f1a0aa8: 27bdfe90 */ addiu $sp,$sp,-368
/* f1a0aac: 3c0e8009 */ lui $t6,0x8009
/* f1a0ab0: 91ce8d54 */ lbu $t6,-0x72ac($t6)
+2 -2
View File
@@ -349,7 +349,7 @@ void func0f13e5c8(struct prop *prop)
}
}
void func0f13e640(struct var800a41b0 *thing, s32 arg1)
void func0f13e640(struct var800a41b0 *thing, u32 arg1)
{
if (thing->unk6f_02 == 0) {
if (thing->unk60) {
@@ -3648,7 +3648,7 @@ void func0f14159c(struct prop *prop)
&& thing->prop == prop
&& var8007f75c[thing->unk6a].unk08 == 3) {
if ((thing->unk6a >= 0xc && thing->unk6a <= 0xc) || (random() % 100) < 35) {
func0f13e640(thing, 120);
func0f13e640(thing, (PAL ? 100 : 120));
} else {
thing->unk70_00 = g_Vars.lvframenum;
}
+2 -2
View File
@@ -380,7 +380,7 @@ void weatherTickRain(struct weatherdata *weather)
rand = random() * (1.0f / U32_MAX);
weather->unk0c = (rand + rand) * M_PI;
weather->unk10 = (weather->unk0c - weather->windanglerad) / 0.01f;
weather->unk10 = (weather->unk0c - weather->windanglerad) / (PAL ? 0.012f : 0.01f);
if (weather->unk10 < 0) {
weather->unk10 = -weather->unk10;
@@ -472,7 +472,7 @@ void weatherTickSnow(struct weatherdata *weather)
rand = random() * (1.0f / U32_MAX);
weather->unk0c = (rand + rand) * M_PI;
weather->unk10 = (weather->unk0c - weather->windanglerad) / 0.01f;
weather->unk10 = (weather->unk0c - weather->windanglerad) / (PAL ? 0.012f : 0.01f);
if (weather->unk10 < 0) {
weather->unk10 = -weather->unk10;
+4 -3
View File
@@ -19,7 +19,6 @@
#define ALIGN64(val) ((((u32)val) + 0x3f | 0x3f) ^ 0x3f)
#define ARRAYCOUNT(a) (s32)(sizeof(a) / sizeof(a[0]))
#define CHRRACE(chr) (chr ? chr->race : RACE_HUMAN)
#define FRAMEDURATION (1 / 60.0f)
#define IS4MB() (g_Is4Mb == true)
#define IS8MB() (g_Is4Mb != true)
#define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0) + (g_Vars.players[3] ? 1 : 0))
@@ -36,11 +35,13 @@
(p[2] - g_Vars.currentplayer->eraserpos.f[2]) * (p[2] - g_Vars.currentplayer->eraserpos.f[2]))
#if PAL
#define TIME60TOFRAMES(val) (val * 50 / 60)
#define FRAMESTOTIME60(val) (val * 1.2f)
#define TIME60TOFRAMES(val) ((val) * 50 / 60)
#define FRAMESTOTIME60(val) ((val) * 1.2f)
#define FRAMEDURATION (1 / 50.0f)
#else
#define TIME60TOFRAMES(val) (val)
#define FRAMESTOTIME60(val) (val)
#define FRAMEDURATION (1 / 60.0f)
#endif
// Macro to convert an ASCII character to N64 font code.
+1 -1
View File
@@ -17,7 +17,7 @@ void func0f020d44(struct prop *prop, bool removechr);
void chrUpdateAimProperties(struct chrdata *chr);
void func0f02133c(struct chrdata *chr);
void chrDoFlinchcntThing(struct chrdata *chr, f32 arg1);
u32 func0f02143c(void);
f32 func0f02143c(struct chrdata *chr);
void func0f021fa8(struct chrdata *chr, struct coord *pos, s16 *rooms);
void func0f0220ec(struct chrdata *chr, s32 arg1, s32 arg2);
u32 func0f022214(void);
-5
View File
@@ -8,10 +8,5 @@ bool func0f005fd0(s32 arg0);
s32 chrChooseFootstepSound(struct chrdata *chr, u32 arg1);
void func0f0061dc(struct chrdata *chr);
void func0f006520(struct chrdata *chr);
u32 colourBlend(u32 a, u32 b, u32 weight);
void func0f0069dc(void);
f32 func0f006b08(f32 arg0);
f32 func0f006b54(f32 arg0);
u32 func0f006ba0(void);
#endif
+13
View File
@@ -0,0 +1,13 @@
#ifndef IN_GAME_GAME_006900_H
#define IN_GAME_GAME_006900_H
#include <ultra64.h>
#include "data.h"
#include "types.h"
u32 colourBlend(u32 a, u32 b, u32 weight);
void func0f0069dc(void);
f32 func0f006b08(f32 arg0);
f32 func0f006b54(f32 arg0);
u32 func0f006ba0(void);
#endif
-1
View File
@@ -6,6 +6,5 @@
void func0f0125a0(s32 animnum, s32 loopframe, s32 endframe, s32 *arg3);
void currentPlayerInitAnimation(void);
void func0f012aa0(void);
#endif
+11
View File
@@ -0,0 +1,11 @@
#ifndef IN_GAME_GAME_0125A0_H
#define IN_GAME_GAME_0125A0_H
#include <ultra64.h>
#include "data.h"
#include "types.h"
void func0f0125a0(s32 animnum, s32 loopframe, s32 endframe, s32 *arg3);
void currentPlayerInitAnimation(void);
void func0f012aa0(void);
#endif
+9
View File
@@ -0,0 +1,9 @@
#ifndef IN_GAME_GAME_012AA0_H
#define IN_GAME_GAME_012AA0_H
#include <ultra64.h>
#include "data.h"
#include "types.h"
void func0f012aa0(void);
#endif
-1
View File
@@ -8,6 +8,5 @@ void func0f0147d0(void);
void lasersightsReset(void);
void mpRemoveAllSimulants(void);
void aibotAllocate(s32 chrnum, s32 aibotnum);
void aibotAllocateInventory(struct chrdata *chr, s32 maxitems);
#endif
+9
View File
@@ -0,0 +1,9 @@
#ifndef _IN_GAME_GAME_014E90_H
#define _IN_GAME_GAME_014E90_H
#include <ultra64.h>
#include "data.h"
#include "types.h"
void aibotAllocateInventory(struct chrdata *chr, s32 maxitems);
#endif
+1 -1
View File
@@ -9,7 +9,7 @@ void func0f13e1b0(struct var800a41b0 *arg0);
void func0f13e40c(struct prop *prop, s8 arg1);
bool chrIsUsingPaintball(struct chrdata *chr);
void func0f13e5c8(struct prop *prop);
void func0f13e640(struct var800a41b0 *thing, s32 arg1);
void func0f13e640(struct var800a41b0 *thing, u32 arg1);
u32 func0f13e744(void);
u32 func0f13e994(void);
void func0f13eb44(void);