big update

This commit is contained in:
dark-samus 2020-09-18 16:57:52 -04:00
commit bb5d337778
122 changed files with 1172 additions and 2546 deletions

View File

@ -23,7 +23,11 @@ jobs:
uses: trilom/file-changes-action@v1.2.4
with:
output: ' '
continue-on-error: true
- run: ./format.sh ${{ steps.files.outputs.files}}
if: ${{ steps.files.outcome == 'success' }}
- run: ./format.sh
if: ${{ steps.files.outcome == 'failure' }}
# fail if any files were changed by ./format.sh
- id: files_formatted

View File

@ -5,7 +5,6 @@
"files.insertFinalNewline": true,
"editor.rulers": [120],
"clang-tidy.compilerArgs": [
"-fno-builtin",
"-std=gnu89",
"-Iinclude",
"-Iinclude/PR",

View File

@ -45,11 +45,11 @@ OBJCOPY = $(CROSS)objcopy
TARGET = papermario
CPPFLAGS = -fno-builtin -Iinclude -D _LANGUAGE_C -ffreestanding -DF3DEX_GBI_2
ASFLAGS = -EB -march=vr4300 -mtune=vr4300 -Iinclude
OLDASFLAGS= -EB -Iinclude -G 0
CFLAGS = -O2 -quiet -G 0 -mcpu=vr4300 -mfix4300 -mips3 -mgp32 -mfp32
LDFLAGS = -T undefined_syms.txt -T $(LD_SCRIPT) -Map $(BUILD_DIR)/papermario.map --no-check-sections
CPPFLAGS = -Iinclude -D _LANGUAGE_C -ffreestanding -DF3DEX_GBI_2
ASFLAGS = -EB -Iinclude -march=vr4300 -mtune=vr4300
OLDASFLAGS = -EB -Iinclude
CFLAGS = -O2 -quiet -G 0 -mcpu=vr4300 -mfix4300 -mips3 -mgp32 -mfp32
LDFLAGS = -T undefined_syms.txt -T $(LD_SCRIPT) -Map $(BUILD_DIR)/papermario.map --no-check-sections
######################## Targets #############################

View File

@ -76,8 +76,6 @@ Decide on a function to match. These can be found in the subdirectories of `asm/
Take the relevant `.s` file and pass it to [mips_to_c](https://github.com/matt-kempster/mips_to_c) ([web version](https://simonsoftware.se/other/mips_to_c.py)).
If mips_to_c gives you an error about branch-likely instructions, edit the `.s` file and rename any branch-likely instructions to their unlikely equivalent (i.e. remove the `l` suffix). Add a `nop` after the branches and move the instruction that was originally in the delay slot (directly after the branch instruction) to the start of the target label. Don't commit the edited assembly.
Open up the relevant `.c` file and replace the function's `INCLUDE_ASM` macro with the output from mips_to_c. Run the following command to attempt to compile, replacing `function_name` with the name of the function you're working with:
```sh

View File

@ -9,7 +9,7 @@
.include "macro.inc"
.section .text40_boot, "ax"
.section .text_40, "ax"
/* 000040 A4000040 40806800 */ mtc0 $zero, $13
/* 000044 A4000044 40804800 */ mtc0 $zero, $9

View File

@ -1,4 +1,4 @@
.section .text0_header, "a"
.section .text_0, "a"
.byte 0x80, 0x37, 0x12, 0x40 # PI BSD Domain 1 register
.word 0x0000000F # clock rate setting
.word 0x80125C00 # entry point

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel GetCamLookAtObjVector
/* 01A798 8003F398 3C038007 */ lui $v1, 0x8007
/* 01A79C 8003F39C 8C637410 */ lw $v1, 0x7410($v1)
/* 01A7A0 8003F3A0 3C05800B */ lui $a1, 0x800b
/* 01A7A4 8003F3A4 24A51D80 */ addiu $a1, $a1, 0x1d80
/* 01A7A8 8003F3A8 00031080 */ sll $v0, $v1, 2
/* 01A7AC 8003F3AC 00431021 */ addu $v0, $v0, $v1
/* 01A7B0 8003F3B0 00021080 */ sll $v0, $v0, 2
/* 01A7B4 8003F3B4 00431023 */ subu $v0, $v0, $v1
/* 01A7B8 8003F3B8 000218C0 */ sll $v1, $v0, 3
/* 01A7BC 8003F3BC 00431021 */ addu $v0, $v0, $v1
/* 01A7C0 8003F3C0 000210C0 */ sll $v0, $v0, 3
/* 01A7C4 8003F3C4 00451021 */ addu $v0, $v0, $a1
/* 01A7C8 8003F3C8 C4400048 */ lwc1 $f0, 0x48($v0)
/* 01A7CC 8003F3CC 4600008D */ trunc.w.s $f2, $f0
/* 01A7D0 8003F3D0 E4820084 */ swc1 $f2, 0x84($a0)
/* 01A7D4 8003F3D4 C440004C */ lwc1 $f0, 0x4c($v0)
/* 01A7D8 8003F3D8 4600008D */ trunc.w.s $f2, $f0
/* 01A7DC 8003F3DC E4820088 */ swc1 $f2, 0x88($a0)
/* 01A7E0 8003F3E0 C4400050 */ lwc1 $f0, 0x50($v0)
/* 01A7E4 8003F3E4 4600008D */ trunc.w.s $f2, $f0
/* 01A7E8 8003F3E8 E482008C */ swc1 $f2, 0x8c($a0)
/* 01A7EC 8003F3EC 03E00008 */ jr $ra
/* 01A7F0 8003F3F0 24020002 */ addiu $v0, $zero, 2

View File

@ -1,66 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel OnFleeBattleDrops
/* 01AAE8 8003F6E8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 01AAEC 8003F6EC AFB00020 */ sw $s0, 0x20($sp)
/* 01AAF0 8003F6F0 0080802D */ daddu $s0, $a0, $zero
/* 01AAF4 8003F6F4 AFB10024 */ sw $s1, 0x24($sp)
/* 01AAF8 8003F6F8 3C118011 */ lui $s1, 0x8011
/* 01AAFC 8003F6FC 2631EFC8 */ addiu $s1, $s1, -0x1038
/* 01AB00 8003F700 AFB20028 */ sw $s2, 0x28($sp)
/* 01AB04 8003F704 3C128011 */ lui $s2, 0x8011
/* 01AB08 8003F708 2652F290 */ addiu $s2, $s2, -0xd70
/* 01AB0C 8003F70C 10A00005 */ beqz $a1, .L8003F724
/* 01AB10 8003F710 AFBF002C */ sw $ra, 0x2c($sp)
/* 01AB14 8003F714 24020028 */ addiu $v0, $zero, 0x28
/* 01AB18 8003F718 AE000070 */ sw $zero, 0x70($s0)
/* 01AB1C 8003F71C AE020074 */ sw $v0, 0x74($s0)
/* 01AB20 8003F720 AE000078 */ sw $zero, 0x78($s0)
.L8003F724:
/* 01AB24 8003F724 8E020078 */ lw $v0, 0x78($s0)
/* 01AB28 8003F728 24420001 */ addiu $v0, $v0, 1
/* 01AB2C 8003F72C AE020078 */ sw $v0, 0x78($s0)
/* 01AB30 8003F730 28420005 */ slti $v0, $v0, 5
/* 01AB34 8003F734 1440001B */ bnez $v0, .L8003F7A4
/* 01AB38 8003F738 00000000 */ nop
/* 01AB3C 8003F73C 0C00A67F */ jal rand_int
/* 01AB40 8003F740 24040064 */ addiu $a0, $zero, 0x64
/* 01AB44 8003F744 28420032 */ slti $v0, $v0, 0x32
/* 01AB48 8003F748 50400016 */ beql $v0, $zero, .L8003F7A4
/* 01AB4C 8003F74C AE000078 */ sw $zero, 0x78($s0)
/* 01AB50 8003F750 8642000C */ lh $v0, 0xc($s2)
/* 01AB54 8003F754 9643000C */ lhu $v1, 0xc($s2)
/* 01AB58 8003F758 10400011 */ beqz $v0, .L8003F7A0
/* 01AB5C 8003F75C 2462FFFF */ addiu $v0, $v1, -1
/* 01AB60 8003F760 A642000C */ sh $v0, 0xc($s2)
/* 01AB64 8003F764 862300B0 */ lh $v1, 0xb0($s1)
/* 01AB68 8003F768 24020003 */ addiu $v0, $zero, 3
/* 01AB6C 8003F76C AFA20010 */ sw $v0, 0x10($sp)
/* 01AB70 8003F770 C620002C */ lwc1 $f0, 0x2c($s1)
/* 01AB74 8003F774 44831000 */ mtc1 $v1, $f2
/* 01AB78 8003F778 00000000 */ nop
/* 01AB7C 8003F77C 468010A0 */ cvt.s.w $f2, $f2
/* 01AB80 8003F780 46020000 */ add.s $f0, $f0, $f2
/* 01AB84 8003F784 8E250028 */ lw $a1, 0x28($s1)
/* 01AB88 8003F788 8E270030 */ lw $a3, 0x30($s1)
/* 01AB8C 8003F78C 44060000 */ mfc1 $a2, $f0
/* 01AB90 8003F790 24040157 */ addiu $a0, $zero, 0x157
/* 01AB94 8003F794 AFA00014 */ sw $zero, 0x14($sp)
/* 01AB98 8003F798 0C04C6B2 */ jal make_item_entity_delayed
/* 01AB9C 8003F79C AFA00018 */ sw $zero, 0x18($sp)
.L8003F7A0:
/* 01ABA0 8003F7A0 AE000078 */ sw $zero, 0x78($s0)
.L8003F7A4:
/* 01ABA4 8003F7A4 8E030074 */ lw $v1, 0x74($s0)
/* 01ABA8 8003F7A8 2463FFFF */ addiu $v1, $v1, -1
/* 01ABAC 8003F7AC AE030074 */ sw $v1, 0x74($s0)
/* 01ABB0 8003F7B0 8FBF002C */ lw $ra, 0x2c($sp)
/* 01ABB4 8003F7B4 8FB20028 */ lw $s2, 0x28($sp)
/* 01ABB8 8003F7B8 8FB10024 */ lw $s1, 0x24($sp)
/* 01ABBC 8003F7BC 8FB00020 */ lw $s0, 0x20($sp)
/* 01ABC0 8003F7C0 2C620001 */ sltiu $v0, $v1, 1
/* 01ABC4 8003F7C4 03E00008 */ jr $ra
/* 01ABC8 8003F7C8 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004135C
/* 01C75C 8004135C 03E00008 */ jr $ra
/* 01C760 80041360 00000000 */ nop

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004304C
/* 01E44C 8004304C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 01E450 80043050 3C03800B */ lui $v1, 0x800b
/* 01E454 80043054 24630F10 */ addiu $v1, $v1, 0xf10
/* 01E458 80043058 AFBF0010 */ sw $ra, 0x10($sp)
/* 01E45C 8004305C 8C620098 */ lw $v0, 0x98($v1)
/* 01E460 80043060 1040000B */ beqz $v0, .L80043090
/* 01E464 80043064 00000000 */ nop
/* 01E468 80043068 C4600090 */ lwc1 $f0, 0x90($v1)
/* 01E46C 8004306C 46800020 */ cvt.s.w $f0, $f0
/* 01E470 80043070 44050000 */ mfc1 $a1, $f0
/* 01E474 80043074 0C04DF62 */ jal func_80137D88
/* 01E478 80043078 0000202D */ daddu $a0, $zero, $zero
/* 01E47C 8004307C 0000202D */ daddu $a0, $zero, $zero
/* 01E480 80043080 0080282D */ daddu $a1, $a0, $zero
/* 01E484 80043084 0080302D */ daddu $a2, $a0, $zero
/* 01E488 80043088 0C04DF84 */ jal func_80137E10
/* 01E48C 8004308C 0080382D */ daddu $a3, $a0, $zero
.L80043090:
/* 01E490 80043090 8FBF0010 */ lw $ra, 0x10($sp)
/* 01E494 80043094 03E00008 */ jr $ra
/* 01E498 80043098 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800431D4
/* 01E5D4 800431D4 03E00008 */ jr $ra
/* 01E5D8 800431D8 00000000 */ nop

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80044140
/* 01F540 80044140 03E00008 */ jr $ra
/* 01F544 80044144 00000000 */ nop

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80044148
/* 01F548 80044148 3C02800A */ lui $v0, 0x800a
/* 01F54C 8004414C 8C42A600 */ lw $v0, -0x5a00($v0)
/* 01F550 80044150 3C03800B */ lui $v1, 0x800b
/* 01F554 80044154 80630F15 */ lb $v1, 0xf15($v1)
/* 01F558 80044158 38420003 */ xori $v0, $v0, 3
/* 01F55C 8004415C 2C440001 */ sltiu $a0, $v0, 1
/* 01F560 80044160 24020005 */ addiu $v0, $zero, 5
/* 01F564 80044164 50620001 */ beql $v1, $v0, .L8004416C
/* 01F568 80044168 24040001 */ addiu $a0, $zero, 1
.L8004416C:
/* 01F56C 8004416C 03E00008 */ jr $ra
/* 01F570 80044170 0080102D */ daddu $v0, $a0, $zero
/* 01F574 80044174 00000000 */ nop
/* 01F578 80044178 00000000 */ nop
/* 01F57C 8004417C 00000000 */ nop

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetBattleMusic
/* 01FE38 80044A38 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 01FE3C 80044A3C AFBF0010 */ sw $ra, 0x10($sp)
/* 01FE40 80044A40 8C82000C */ lw $v0, 0xc($a0)
/* 01FE44 80044A44 0C0B1EAF */ jal get_variable
/* 01FE48 80044A48 8C450000 */ lw $a1, ($v0)
/* 01FE4C 80044A4C 3C04800B */ lui $a0, 0x800b
/* 01FE50 80044A50 24840F10 */ addiu $a0, $a0, 0xf10
/* 01FE54 80044A54 24030001 */ addiu $v1, $zero, 1
/* 01FE58 80044A58 A0830011 */ sb $v1, 0x11($a0)
/* 01FE5C 80044A5C 2403FFFF */ addiu $v1, $zero, -1
/* 01FE60 80044A60 AC820014 */ sw $v0, 0x14($a0)
/* 01FE64 80044A64 AC830018 */ sw $v1, 0x18($a0)
/* 01FE68 80044A68 8FBF0010 */ lw $ra, 0x10($sp)
/* 01FE6C 80044A6C 24020002 */ addiu $v0, $zero, 2
/* 01FE70 80044A70 03E00008 */ jr $ra
/* 01FE74 80044A74 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,60 +1,7 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_npc_pos
/* 039210 8005DE10 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 039214 8005DE14 AFB00010 */ sw $s0, 0x10($sp)
/* 039218 8005DE18 00A0802D */ daddu $s0, $a1, $zero
/* 03921C 8005DE1C AFB10014 */ sw $s1, 0x14($sp)
/* 039220 8005DE20 00C0882D */ daddu $s1, $a2, $zero
/* 039224 8005DE24 AFB20018 */ sw $s2, 0x18($sp)
/* 039228 8005DE28 00E0902D */ daddu $s2, $a3, $zero
/* 03922C 8005DE2C 3C038011 */ lui $v1, 0x8011
/* 039230 8005DE30 2463EFC8 */ addiu $v1, $v1, -0x1038
/* 039234 8005DE34 AFB3001C */ sw $s3, 0x1c($sp)
/* 039238 8005DE38 8FB30038 */ lw $s3, 0x38($sp)
/* 03923C 8005DE3C 2402FFFF */ addiu $v0, $zero, -1
/* 039240 8005DE40 AFBF0020 */ sw $ra, 0x20($sp)
/* 039244 8005DE44 AE000000 */ sw $zero, ($s0)
/* 039248 8005DE48 AE200000 */ sw $zero, ($s1)
/* 03924C 8005DE4C AE400000 */ sw $zero, ($s2)
/* 039250 8005DE50 1482000A */ bne $a0, $v0, .L8005DE7C
/* 039254 8005DE54 AE600000 */ sw $zero, ($s3)
/* 039258 8005DE58 C4600028 */ lwc1 $f0, 0x28($v1)
/* 03925C 8005DE5C E6000000 */ swc1 $f0, ($s0)
/* 039260 8005DE60 C460002C */ lwc1 $f0, 0x2c($v1)
/* 039264 8005DE64 E6200000 */ swc1 $f0, ($s1)
/* 039268 8005DE68 C4600030 */ lwc1 $f0, 0x30($v1)
/* 03926C 8005DE6C E6400000 */ swc1 $f0, ($s2)
/* 039270 8005DE70 8C620000 */ lw $v0, ($v1)
/* 039274 8005DE74 080177A9 */ j .L8005DEA4
/* 039278 8005DE78 30420006 */ andi $v0, $v0, 6
.L8005DE7C:
/* 03927C 8005DE7C 0C00EABB */ jal get_npc_unsafe
/* 039280 8005DE80 00000000 */ nop
/* 039284 8005DE84 C4400038 */ lwc1 $f0, 0x38($v0)
/* 039288 8005DE88 E6000000 */ swc1 $f0, ($s0)
/* 03928C 8005DE8C C440003C */ lwc1 $f0, 0x3c($v0)
/* 039290 8005DE90 E6200000 */ swc1 $f0, ($s1)
/* 039294 8005DE94 C4400040 */ lwc1 $f0, 0x40($v0)
/* 039298 8005DE98 E6400000 */ swc1 $f0, ($s2)
/* 03929C 8005DE9C 8C420000 */ lw $v0, ($v0)
/* 0392A0 8005DEA0 30420800 */ andi $v0, $v0, 0x800
.L8005DEA4:
/* 0392A4 8005DEA4 10400002 */ beqz $v0, .L8005DEB0
/* 0392A8 8005DEA8 24020001 */ addiu $v0, $zero, 1
/* 0392AC 8005DEAC AE620000 */ sw $v0, ($s3)
.L8005DEB0:
/* 0392B0 8005DEB0 8FBF0020 */ lw $ra, 0x20($sp)
/* 0392B4 8005DEB4 8FB3001C */ lw $s3, 0x1c($sp)
/* 0392B8 8005DEB8 8FB20018 */ lw $s2, 0x18($sp)
/* 0392BC 8005DEBC 8FB10014 */ lw $s1, 0x14($sp)
/* 0392C0 8005DEC0 8FB00010 */ lw $s0, 0x10($sp)
/* 0392C4 8005DEC4 03E00008 */ jr $ra
/* 0392C8 8005DEC8 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_8005DECC
/* 0392CC 8005DECC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0392D0 8005DED0 AFB10014 */ sw $s1, 0x14($sp)
/* 0392D4 8005DED4 0080882D */ daddu $s1, $a0, $zero
@ -741,5 +688,3 @@ glabel get_npc_pos
/* 039CA8 8005E8A8 00000000 */ nop
/* 039CAC 8005E8AC 00000000 */ nop

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800287F0
/* 003BF0 800287F0 3C038007 */ lui $v1, 0x8007
/* 003BF4 800287F4 2463419C */ addiu $v1, $v1, 0x419c
/* 003BF8 800287F8 8C620000 */ lw $v0, ($v1)
/* 003BFC 800287FC A0400040 */ sb $zero, 0x40($v0)
/* 003C00 80028800 8C640000 */ lw $a0, ($v1)
/* 003C04 80028804 AC400000 */ sw $zero, ($v0)
/* 003C08 80028808 AC400010 */ sw $zero, 0x10($v0)
/* 003C0C 8002880C AC400020 */ sw $zero, 0x20($v0)
/* 003C10 80028810 A0800044 */ sb $zero, 0x44($a0)
/* 003C14 80028814 8C630000 */ lw $v1, ($v1)
/* 003C18 80028818 24020004 */ addiu $v0, $zero, 4
/* 003C1C 8002881C A4620050 */ sh $v0, 0x50($v1)
/* 003C20 80028820 2402000F */ addiu $v0, $zero, 0xf
/* 003C24 80028824 AC600030 */ sw $zero, 0x30($v1)
/* 003C28 80028828 A4620048 */ sh $v0, 0x48($v1)
/* 003C2C 8002882C A4600060 */ sh $zero, 0x60($v1)
/* 003C30 80028830 03E00008 */ jr $ra
/* 003C34 80028834 A4600058 */ sh $zero, 0x58($v1)

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel _advance_rng
/* 004D00 80029900 3C035D58 */ lui $v1, 0x5d58
/* 004D04 80029904 3C048007 */ lui $a0, 0x8007
/* 004D08 80029908 24844410 */ addiu $a0, $a0, 0x4410
/* 004D0C 8002990C 8C820000 */ lw $v0, ($a0)
/* 004D10 80029910 34638B65 */ ori $v1, $v1, 0x8b65
/* 004D14 80029914 00430018 */ mult $v0, $v1
/* 004D18 80029918 3C038007 */ lui $v1, 0x8007
/* 004D1C 8002991C 8C63419C */ lw $v1, 0x419c($v1)
/* 004D20 80029920 00002812 */ mflo $a1
/* 004D24 80029924 24A20001 */ addiu $v0, $a1, 1
/* 004D28 80029928 AC820000 */ sw $v0, ($a0)
/* 004D2C 8002992C 03E00008 */ jr $ra
/* 004D30 80029930 AC620138 */ sw $v0, 0x138($v1)

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel copy_matrix
/* 004B20 80029720 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 004B24 80029724 AFBF0010 */ sw $ra, 0x10($sp)
/* 004B28 80029728 0C019194 */ jal bcopy
/* 004B2C 8002972C 24060040 */ addiu $a2, $zero, 0x40
/* 004B30 80029730 8FBF0010 */ lw $ra, 0x10($sp)
/* 004B34 80029734 03E00008 */ jr $ra
/* 004B38 80029738 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel dist2D
/* 0052D4 80029ED4 44861000 */ mtc1 $a2, $f2
/* 0052D8 80029ED8 00000000 */ nop
/* 0052DC 80029EDC 460C1301 */ sub.s $f12, $f2, $f12
/* 0052E0 80029EE0 460C6302 */ mul.s $f12, $f12, $f12
/* 0052E4 80029EE4 00000000 */ nop
/* 0052E8 80029EE8 44871000 */ mtc1 $a3, $f2
/* 0052EC 80029EEC 00000000 */ nop
/* 0052F0 80029EF0 460E1381 */ sub.s $f14, $f2, $f14
/* 0052F4 80029EF4 460E7382 */ mul.s $f14, $f14, $f14
/* 0052F8 80029EF8 00000000 */ nop
/* 0052FC 80029EFC 460E6300 */ add.s $f12, $f12, $f14
/* 005300 80029F00 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 005304 80029F04 46006004 */ sqrt.s $f0, $f12
/* 005308 80029F08 46000032 */ c.eq.s $f0, $f0
/* 00530C 80029F0C 00000000 */ nop
/* 005310 80029F10 45010003 */ bc1t .L80029F20
/* 005314 80029F14 AFBF0010 */ sw $ra, 0x10($sp)
/* 005318 80029F18 0C0187BC */ jal sqrtf
/* 00531C 80029F1C 00000000 */ nop
.L80029F20:
/* 005320 80029F20 8FBF0010 */ lw $ra, 0x10($sp)
/* 005324 80029F24 03E00008 */ jr $ra
/* 005328 80029F28 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel dist3D
/* 00532C 80029F2C 44872000 */ mtc1 $a3, $f4
/* 005330 80029F30 00000000 */ nop
/* 005334 80029F34 460C2301 */ sub.s $f12, $f4, $f12
/* 005338 80029F38 460C6302 */ mul.s $f12, $f12, $f12
/* 00533C 80029F3C 00000000 */ nop
/* 005340 80029F40 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 005344 80029F44 C7A20028 */ lwc1 $f2, 0x28($sp)
/* 005348 80029F48 460E1081 */ sub.s $f2, $f2, $f14
/* 00534C 80029F4C 46021082 */ mul.s $f2, $f2, $f2
/* 005350 80029F50 00000000 */ nop
/* 005354 80029F54 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 005358 80029F58 44862000 */ mtc1 $a2, $f4
/* 00535C 80029F5C 00000000 */ nop
/* 005360 80029F60 46040001 */ sub.s $f0, $f0, $f4
/* 005364 80029F64 46000002 */ mul.s $f0, $f0, $f0
/* 005368 80029F68 00000000 */ nop
/* 00536C 80029F6C 46026300 */ add.s $f12, $f12, $f2
/* 005370 80029F70 46006300 */ add.s $f12, $f12, $f0
/* 005374 80029F74 46006004 */ sqrt.s $f0, $f12
/* 005378 80029F78 46000032 */ c.eq.s $f0, $f0
/* 00537C 80029F7C 00000000 */ nop
/* 005380 80029F80 45010003 */ bc1t .L80029F90
/* 005384 80029F84 AFBF0010 */ sw $ra, 0x10($sp)
/* 005388 80029F88 0C0187BC */ jal sqrtf
/* 00538C 80029F8C 00000000 */ nop
.L80029F90:
/* 005390 80029F90 8FBF0010 */ lw $ra, 0x10($sp)
/* 005394 80029F94 03E00008 */ jr $ra
/* 005398 80029F98 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_clamped_angle_diff
/* 005028 80029C28 460C7001 */ sub.s $f0, $f14, $f12
/* 00502C 80029C2C 3C014334 */ lui $at, 0x4334
/* 005030 80029C30 44811000 */ mtc1 $at, $f2
/* 005034 80029C34 46000005 */ abs.s $f0, $f0
/* 005038 80029C38 4600103E */ c.le.s $f2, $f0
/* 00503C 80029C3C 00000000 */ nop
/* 005040 80029C40 4500000D */ bc1f .L80029C78
/* 005044 80029C44 00000000 */ nop
/* 005048 80029C48 460C703C */ c.lt.s $f14, $f12
/* 00504C 80029C4C 00000000 */ nop
/* 005050 80029C50 45000005 */ bc1f .L80029C68
/* 005054 80029C54 00000000 */ nop
/* 005058 80029C58 3C0143B4 */ lui $at, 0x43b4
/* 00505C 80029C5C 44810000 */ mtc1 $at, $f0
/* 005060 80029C60 0800A71E */ j .L80029C78
/* 005064 80029C64 46007380 */ add.s $f14, $f14, $f0
.L80029C68:
/* 005068 80029C68 3C0143B4 */ lui $at, 0x43b4
/* 00506C 80029C6C 44810000 */ mtc1 $at, $f0
/* 005070 80029C70 00000000 */ nop
/* 005074 80029C74 46007381 */ sub.s $f14, $f14, $f0
.L80029C78:
/* 005078 80029C78 03E00008 */ jr $ra
/* 00507C 80029C7C 460C7001 */ sub.s $f0, $f14, $f12

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_player_normal_yaw
/* 005220 80029E20 44806000 */ mtc1 $zero, $f12
/* 005224 80029E24 3C028007 */ lui $v0, 0x8007
/* 005228 80029E28 8C42419C */ lw $v0, 0x419c($v0)
/* 00522C 80029E2C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 005230 80029E30 AFBF0010 */ sw $ra, 0x10($sp)
/* 005234 80029E34 8C460128 */ lw $a2, 0x128($v0)
/* 005238 80029E38 8C470130 */ lw $a3, 0x130($v0)
/* 00523C 80029E3C 0C00A720 */ jal atan2
/* 005240 80029E40 46006386 */ mov.s $f14, $f12
/* 005244 80029E44 8FBF0010 */ lw $ra, 0x10($sp)
/* 005248 80029E48 03E00008 */ jr $ra
/* 00524C 80029E4C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel length2D
/* 0043F0 80028FF0 460C6302 */ mul.s $f12, $f12, $f12
/* 0043F4 80028FF4 00000000 */ nop
/* 0043F8 80028FF8 460E7382 */ mul.s $f14, $f14, $f14
/* 0043FC 80028FFC 00000000 */ nop
/* 004400 80029000 460E6300 */ add.s $f12, $f12, $f14
/* 004404 80029004 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 004408 80029008 46006004 */ sqrt.s $f0, $f12
/* 00440C 8002900C 46000032 */ c.eq.s $f0, $f0
/* 004410 80029010 00000000 */ nop
/* 004414 80029014 45010003 */ bc1t .L80029024
/* 004418 80029018 AFBF0010 */ sw $ra, 0x10($sp)
/* 00441C 8002901C 0C0187BC */ jal sqrtf
/* 004420 80029020 00000000 */ nop
.L80029024:
/* 004424 80029024 8FBF0010 */ lw $ra, 0x10($sp)
/* 004428 80029028 03E00008 */ jr $ra
/* 00442C 8002902C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel mem_clear
/* 004A00 80029600 18A00005 */ blez $a1, .L80029618
/* 004A04 80029604 00000000 */ nop
.L80029608:
/* 004A08 80029608 A0800000 */ sb $zero, ($a0)
/* 004A0C 8002960C 24A5FFFF */ addiu $a1, $a1, -1
/* 004A10 80029610 1CA0FFFD */ bgtz $a1, .L80029608
/* 004A14 80029614 24840001 */ addiu $a0, $a0, 1
.L80029618:
/* 004A18 80029618 03E00008 */ jr $ra
/* 004A1C 8002961C 00000000 */ nop

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel poll_rumble
/* 0042E0 80028EE0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0042E4 80028EE4 AFBF0010 */ sw $ra, 0x10($sp)
/* 0042E8 80028EE8 0C017FBC */ jal nuContRmbCheck
/* 0042EC 80028EEC 0000202D */ daddu $a0, $zero, $zero
/* 0042F0 80028EF0 0000202D */ daddu $a0, $zero, $zero
/* 0042F4 80028EF4 0C017FE4 */ jal nuContRmbModeSet
/* 0042F8 80028EF8 24050002 */ addiu $a1, $zero, 2
/* 0042FC 80028EFC 8FBF0010 */ lw $ra, 0x10($sp)
/* 004300 80028F00 03E00008 */ jr $ra
/* 004304 80028F04 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel sign
/* 0048B0 800294B0 04800002 */ bltz $a0, .L800294BC
/* 0048B4 800294B4 2402FFFF */ addiu $v0, $zero, -1
/* 0048B8 800294B8 0004102A */ slt $v0, $zero, $a0
.L800294BC:
/* 0048BC 800294BC 03E00008 */ jr $ra
/* 0048C0 800294C0 00000000 */ nop

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel signF
/* 004E7C 80029A7C 44801000 */ mtc1 $zero, $f2
/* 004E80 80029A80 00000000 */ nop
/* 004E84 80029A84 460C103C */ c.lt.s $f2, $f12
/* 004E88 80029A88 00000000 */ nop
/* 004E8C 80029A8C 45010009 */ bc1t .L80029AB4
/* 004E90 80029A90 00000000 */ nop
/* 004E94 80029A94 3C01BF80 */ lui $at, 0xbf80
/* 004E98 80029A98 44810000 */ mtc1 $at, $f0
/* 004E9C 80029A9C 4602603C */ c.lt.s $f12, $f2
/* 004EA0 80029AA0 00000000 */ nop
/* 004EA4 80029AA4 45010005 */ bc1t .L80029ABC
/* 004EA8 80029AA8 00000000 */ nop
/* 004EAC 80029AAC 03E00008 */ jr $ra
/* 004EB0 80029AB0 46001006 */ mov.s $f0, $f2
.L80029AB4:
/* 004EB4 80029AB4 3C013F80 */ lui $at, 0x3f80
/* 004EB8 80029AB8 44810000 */ mtc1 $at, $f0
.L80029ABC:
/* 004EBC 80029ABC 03E00008 */ jr $ra
/* 004EC0 80029AC0 00000000 */ nop

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel collision_heap_create
/* 006174 8002AD74 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 006178 8002AD78 AFBF0010 */ sw $ra, 0x10($sp)
/* 00617C 8002AD7C 3C050001 */ lui $a1, 1
/* 006180 8002AD80 3C048027 */ lui $a0, 0x8027
/* 006184 8002AD84 24848000 */ addiu $a0, $a0, -0x8000
/* 006188 8002AD88 0C00A40C */ jal _heap_create
/* 00618C 8002AD8C 34A58000 */ ori $a1, $a1, 0x8000
/* 006190 8002AD90 0040202D */ daddu $a0, $v0, $zero
/* 006194 8002AD94 2402FFFF */ addiu $v0, $zero, -1
/* 006198 8002AD98 0040182D */ daddu $v1, $v0, $zero
/* 00619C 8002AD9C 54830001 */ bnel $a0, $v1, .L8002ADA4
/* 0061A0 8002ADA0 0000102D */ daddu $v0, $zero, $zero
.L8002ADA4:
/* 0061A4 8002ADA4 8FBF0010 */ lw $ra, 0x10($sp)
/* 0061A8 8002ADA8 03E00008 */ jr $ra
/* 0061AC 8002ADAC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel collision_heap_free
/* 0061F4 8002ADF4 3C028007 */ lui $v0, 0x8007
/* 0061F8 8002ADF8 8C42419C */ lw $v0, 0x419c($v0)
/* 0061FC 8002ADFC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 006200 8002AE00 AFBF0010 */ sw $ra, 0x10($sp)
/* 006204 8002AE04 80420070 */ lb $v0, 0x70($v0)
/* 006208 8002AE08 0080282D */ daddu $a1, $a0, $zero
/* 00620C 8002AE0C 3C04803E */ lui $a0, 0x803e
/* 006210 8002AE10 2484A800 */ addiu $a0, $a0, -0x5800
/* 006214 8002AE14 14400003 */ bnez $v0, .L8002AE24
/* 006218 8002AE18 00000000 */ nop
/* 00621C 8002AE1C 3C048027 */ lui $a0, 0x8027
/* 006220 8002AE20 24848000 */ addiu $a0, $a0, -0x8000
.L8002AE24:
/* 006224 8002AE24 0C00A487 */ jal _heap_free
/* 006228 8002AE28 00000000 */ nop
/* 00622C 8002AE2C 8FBF0010 */ lw $ra, 0x10($sp)
/* 006230 8002AE30 03E00008 */ jr $ra
/* 006234 8002AE34 27BD0018 */ addiu $sp, $sp, 0x18
/* 006238 8002AE38 00000000 */ nop
/* 00623C 8002AE3C 00000000 */ nop

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel collision_heap_malloc
/* 0061B0 8002ADB0 3C028007 */ lui $v0, 0x8007
/* 0061B4 8002ADB4 8C42419C */ lw $v0, 0x419c($v0)
/* 0061B8 8002ADB8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0061BC 8002ADBC AFBF0010 */ sw $ra, 0x10($sp)
/* 0061C0 8002ADC0 80420070 */ lb $v0, 0x70($v0)
/* 0061C4 8002ADC4 0080282D */ daddu $a1, $a0, $zero
/* 0061C8 8002ADC8 3C048027 */ lui $a0, 0x8027
/* 0061CC 8002ADCC 24848000 */ addiu $a0, $a0, -0x8000
/* 0061D0 8002ADD0 10400003 */ beqz $v0, .L8002ADE0
/* 0061D4 8002ADD4 00000000 */ nop
/* 0061D8 8002ADD8 3C04803E */ lui $a0, 0x803e
/* 0061DC 8002ADDC 2484A800 */ addiu $a0, $a0, -0x5800
.L8002ADE0:
/* 0061E0 8002ADE0 0C00A41B */ jal _heap_malloc
/* 0061E4 8002ADE4 00000000 */ nop
/* 0061E8 8002ADE8 8FBF0010 */ lw $ra, 0x10($sp)
/* 0061EC 8002ADEC 03E00008 */ jr $ra
/* 0061F0 8002ADF0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_erase_flash
/* 006E1C 8002BA1C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 006E20 8002BA20 AFBF0010 */ sw $ra, 0x10($sp)
/* 006E24 8002BA24 0C01BD09 */ jal osFlashSectorErase
/* 006E28 8002BA28 000421C0 */ sll $a0, $a0, 7
/* 006E2C 8002BA2C 8FBF0010 */ lw $ra, 0x10($sp)
/* 006E30 8002BA30 03E00008 */ jr $ra
/* 006E34 8002BA34 27BD0018 */ addiu $sp, $sp, 0x18
/* 006E38 8002BA38 00000000 */ nop
/* 006E3C 8002BA3C 00000000 */ nop

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fio_init_flash
/* 006C4C 8002B84C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 006C50 8002B850 AFBF0010 */ sw $ra, 0x10($sp)
/* 006C54 8002B854 0C01BBDA */ jal osFlashInit
/* 006C58 8002B858 00000000 */ nop
/* 006C5C 8002B85C 8FBF0010 */ lw $ra, 0x10($sp)
/* 006C60 8002B860 03E00008 */ jr $ra
/* 006C64 8002B864 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002BA78
/* 006E78 8002BA78 03E00008 */ jr $ra
/* 006E7C 8002BA7C 00000000 */ nop

View File

@ -1,40 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel check_input_hammer
/* 07F590 800E60E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 07F594 800E60E4 3C038011 */ lui $v1, 0x8011
/* 07F598 800E60E8 2463EFC8 */ addiu $v1, $v1, -0x1038
/* 07F59C 800E60EC AFBF0010 */ sw $ra, 0x10($sp)
/* 07F5A0 800E60F0 8C6200E0 */ lw $v0, 0xe0($v1)
/* 07F5A4 800E60F4 3C048011 */ lui $a0, 0x8011
/* 07F5A8 800E60F8 2484F290 */ addiu $a0, $a0, -0xd70
/* 07F5AC 800E60FC 30424000 */ andi $v0, $v0, 0x4000
/* 07F5B0 800E6100 10400014 */ beqz $v0, .L800E6154
/* 07F5B4 800E6104 0000102D */ daddu $v0, $zero, $zero
/* 07F5B8 800E6108 8C620000 */ lw $v0, ($v1)
/* 07F5BC 800E610C 30420004 */ andi $v0, $v0, 4
/* 07F5C0 800E6110 14400010 */ bnez $v0, .L800E6154
/* 07F5C4 800E6114 0000102D */ daddu $v0, $zero, $zero
/* 07F5C8 800E6118 3C038011 */ lui $v1, 0x8011
/* 07F5CC 800E611C 8063EBB0 */ lb $v1, -0x1450($v1)
/* 07F5D0 800E6120 24020001 */ addiu $v0, $zero, 1
/* 07F5D4 800E6124 14620004 */ bne $v1, $v0, .L800E6138
/* 07F5D8 800E6128 24020006 */ addiu $v0, $zero, 6
/* 07F5DC 800E612C 80830012 */ lb $v1, 0x12($a0)
/* 07F5E0 800E6130 10620008 */ beq $v1, $v0, .L800E6154
/* 07F5E4 800E6134 0000102D */ daddu $v0, $zero, $zero
.L800E6138:
/* 07F5E8 800E6138 80830001 */ lb $v1, 1($a0)
/* 07F5EC 800E613C 2402FFFF */ addiu $v0, $zero, -1
/* 07F5F0 800E6140 10620004 */ beq $v1, $v0, .L800E6154
/* 07F5F4 800E6144 0000102D */ daddu $v0, $zero, $zero
/* 07F5F8 800E6148 0C039769 */ jal set_action_state
/* 07F5FC 800E614C 24040012 */ addiu $a0, $zero, 0x12
/* 07F600 800E6150 24020001 */ addiu $v0, $zero, 1
.L800E6154:
/* 07F604 800E6154 8FBF0010 */ lw $ra, 0x10($sp)
/* 07F608 800E6158 03E00008 */ jr $ra
/* 07F60C 800E615C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel move_player
/* 07BC28 800E2778 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 07BC2C 800E277C 44861000 */ mtc1 $a2, $f2
/* 07BC30 800E2780 3C068011 */ lui $a2, 0x8011
/* 07BC34 800E2784 24C6EFC8 */ addiu $a2, $a2, -0x1038
/* 07BC38 800E2788 AFBF0010 */ sw $ra, 0x10($sp)
/* 07BC3C 800E278C 8CC20000 */ lw $v0, ($a2)
/* 07BC40 800E2790 34424000 */ ori $v0, $v0, 0x4000
/* 07BC44 800E2794 ACC20000 */ sw $v0, ($a2)
/* 07BC48 800E2798 8CC20004 */ lw $v0, 4($a2)
/* 07BC4C 800E279C 3C030040 */ lui $v1, 0x40
/* 07BC50 800E27A0 ACC500A0 */ sw $a1, 0xa0($a2)
/* 07BC54 800E27A4 A4C40012 */ sh $a0, 0x12($a2)
/* 07BC58 800E27A8 00431024 */ and $v0, $v0, $v1
/* 07BC5C 800E27AC 14400009 */ bnez $v0, .L800E27D4
/* 07BC60 800E27B0 E4C20054 */ swc1 $f2, 0x54($a2)
/* 07BC64 800E27B4 C4C00058 */ lwc1 $f0, 0x58($a2)
/* 07BC68 800E27B8 4602003C */ c.lt.s $f0, $f2
/* 07BC6C 800E27BC 00000000 */ nop
/* 07BC70 800E27C0 45000002 */ bc1f .L800E27CC
/* 07BC74 800E27C4 24040001 */ addiu $a0, $zero, 1
/* 07BC78 800E27C8 24040002 */ addiu $a0, $zero, 2
.L800E27CC:
/* 07BC7C 800E27CC 0C039769 */ jal set_action_state
/* 07BC80 800E27D0 00000000 */ nop
.L800E27D4:
/* 07BC84 800E27D4 8FBF0010 */ lw $ra, 0x10($sp)
/* 07BC88 800E27D8 03E00008 */ jr $ra
/* 07BC8C 800E27DC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,133 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_action_state
/* 07F254 800E5DA4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 07F258 800E5DA8 AFB00010 */ sw $s0, 0x10($sp)
/* 07F25C 800E5DAC 3C108011 */ lui $s0, 0x8011
/* 07F260 800E5DB0 2610EFC8 */ addiu $s0, $s0, -0x1038
/* 07F264 800E5DB4 AFBF0018 */ sw $ra, 0x18($sp)
/* 07F268 800E5DB8 AFB10014 */ sw $s1, 0x14($sp)
/* 07F26C 800E5DBC 8E030000 */ lw $v1, ($s0)
/* 07F270 800E5DC0 30620200 */ andi $v0, $v1, 0x200
/* 07F274 800E5DC4 10400005 */ beqz $v0, .L800E5DDC
/* 07F278 800E5DC8 0080882D */ daddu $s1, $a0, $zero
/* 07F27C 800E5DCC 2402FDFF */ addiu $v0, $zero, -0x201
/* 07F280 800E5DD0 00621024 */ and $v0, $v1, $v0
/* 07F284 800E5DD4 0C038069 */ jal func_800E01A4
/* 07F288 800E5DD8 AE020000 */ sw $v0, ($s0)
.L800E5DDC:
/* 07F28C 800E5DDC 8E040004 */ lw $a0, 4($s0)
/* 07F290 800E5DE0 30824000 */ andi $v0, $a0, 0x4000
/* 07F294 800E5DE4 1040000C */ beqz $v0, .L800E5E18
/* 07F298 800E5DE8 2A22000C */ slti $v0, $s1, 0xc
/* 07F29C 800E5DEC 10400059 */ beqz $v0, .L800E5F54
/* 07F2A0 800E5DF0 00000000 */ nop
/* 07F2A4 800E5DF4 06200057 */ bltz $s1, .L800E5F54
/* 07F2A8 800E5DF8 3C038000 */ lui $v1, 0x8000
/* 07F2AC 800E5DFC 920200B4 */ lbu $v0, 0xb4($s0)
/* 07F2B0 800E5E00 A20200B5 */ sb $v0, 0xb5($s0)
/* 07F2B4 800E5E04 8E020000 */ lw $v0, ($s0)
/* 07F2B8 800E5E08 A21100B4 */ sb $s1, 0xb4($s0)
/* 07F2BC 800E5E0C 00431025 */ or $v0, $v0, $v1
/* 07F2C0 800E5E10 080397D5 */ j .L800E5F54
/* 07F2C4 800E5E14 AE020000 */ sw $v0, ($s0)
.L800E5E18:
/* 07F2C8 800E5E18 24020015 */ addiu $v0, $zero, 0x15
/* 07F2CC 800E5E1C 12220003 */ beq $s1, $v0, .L800E5E2C
/* 07F2D0 800E5E20 24020017 */ addiu $v0, $zero, 0x17
/* 07F2D4 800E5E24 1622001A */ bne $s1, $v0, .L800E5E90
/* 07F2D8 800E5E28 24020011 */ addiu $v0, $zero, 0x11
.L800E5E2C:
/* 07F2DC 800E5E2C 820300BF */ lb $v1, 0xbf($s0)
/* 07F2E0 800E5E30 24020003 */ addiu $v0, $zero, 3
/* 07F2E4 800E5E34 50620001 */ beql $v1, $v0, .L800E5E3C
/* 07F2E8 800E5E38 24110015 */ addiu $s1, $zero, 0x15
.L800E5E3C:
/* 07F2EC 800E5E3C 3C028011 */ lui $v0, 0x8011
/* 07F2F0 800E5E40 2442F290 */ addiu $v0, $v0, -0xd70
/* 07F2F4 800E5E44 90430012 */ lbu $v1, 0x12($v0)
/* 07F2F8 800E5E48 2462FFF9 */ addiu $v0, $v1, -7
/* 07F2FC 800E5E4C 2C420002 */ sltiu $v0, $v0, 2
/* 07F300 800E5E50 14400005 */ bnez $v0, .L800E5E68
/* 07F304 800E5E54 00031600 */ sll $v0, $v1, 0x18
/* 07F308 800E5E58 00021603 */ sra $v0, $v0, 0x18
/* 07F30C 800E5E5C 24030004 */ addiu $v1, $zero, 4
/* 07F310 800E5E60 1443000B */ bne $v0, $v1, .L800E5E90
/* 07F314 800E5E64 24020011 */ addiu $v0, $zero, 0x11
.L800E5E68:
/* 07F318 800E5E68 3C028011 */ lui $v0, 0x8011
/* 07F31C 800E5E6C 8042EBB0 */ lb $v0, -0x1450($v0)
/* 07F320 800E5E70 10400006 */ beqz $v0, .L800E5E8C
/* 07F324 800E5E74 34830004 */ ori $v1, $a0, 4
/* 07F328 800E5E78 8E020000 */ lw $v0, ($s0)
/* 07F32C 800E5E7C AE030004 */ sw $v1, 4($s0)
/* 07F330 800E5E80 34420800 */ ori $v0, $v0, 0x800
/* 07F334 800E5E84 080397D5 */ j .L800E5F54
/* 07F338 800E5E88 AE020000 */ sw $v0, ($s0)
.L800E5E8C:
/* 07F33C 800E5E8C 24020011 */ addiu $v0, $zero, 0x11
.L800E5E90:
/* 07F340 800E5E90 16220007 */ bne $s1, $v0, .L800E5EB0
/* 07F344 800E5E94 2403BFFF */ addiu $v1, $zero, -0x4001
/* 07F348 800E5E98 8E020000 */ lw $v0, ($s0)
/* 07F34C 800E5E9C A6000012 */ sh $zero, 0x12($s0)
/* 07F350 800E5EA0 34420010 */ ori $v0, $v0, 0x10
/* 07F354 800E5EA4 AE020000 */ sw $v0, ($s0)
/* 07F358 800E5EA8 00431024 */ and $v0, $v0, $v1
/* 07F35C 800E5EAC AE020000 */ sw $v0, ($s0)
.L800E5EB0:
/* 07F360 800E5EB0 920200B4 */ lbu $v0, 0xb4($s0)
/* 07F364 800E5EB4 A20200B5 */ sb $v0, 0xb5($s0)
/* 07F368 800E5EB8 2402001F */ addiu $v0, $zero, 0x1f
/* 07F36C 800E5EBC 52220001 */ beql $s1, $v0, .L800E5EC4
/* 07F370 800E5EC0 A20000B5 */ sb $zero, 0xb5($s0)
.L800E5EC4:
/* 07F374 800E5EC4 2402001B */ addiu $v0, $zero, 0x1b
/* 07F378 800E5EC8 16220004 */ bne $s1, $v0, .L800E5EDC
/* 07F37C 800E5ECC 00000000 */ nop
/* 07F380 800E5ED0 8E020004 */ lw $v0, 4($s0)
/* 07F384 800E5ED4 34420004 */ ori $v0, $v0, 4
/* 07F388 800E5ED8 AE020004 */ sw $v0, 4($s0)
.L800E5EDC:
/* 07F38C 800E5EDC 8E030000 */ lw $v1, ($s0)
/* 07F390 800E5EE0 3C028000 */ lui $v0, 0x8000
/* 07F394 800E5EE4 A21100B4 */ sb $s1, 0xb4($s0)
/* 07F398 800E5EE8 00622825 */ or $a1, $v1, $v0
/* 07F39C 800E5EEC 820300B4 */ lb $v1, 0xb4($s0)
/* 07F3A0 800E5EF0 2402001A */ addiu $v0, $zero, 0x1a
/* 07F3A4 800E5EF4 10620017 */ beq $v1, $v0, .L800E5F54
/* 07F3A8 800E5EF8 AE050000 */ sw $a1, ($s0)
/* 07F3AC 800E5EFC 3C02FFFD */ lui $v0, 0xfffd
/* 07F3B0 800E5F00 3442FFFF */ ori $v0, $v0, 0xffff
/* 07F3B4 800E5F04 3C04FFFE */ lui $a0, 0xfffe
/* 07F3B8 800E5F08 3484FFFF */ ori $a0, $a0, 0xffff
/* 07F3BC 800E5F0C 00A21024 */ and $v0, $a1, $v0
/* 07F3C0 800E5F10 3C038011 */ lui $v1, 0x8011
/* 07F3C4 800E5F14 2463F250 */ addiu $v1, $v1, -0xdb0
/* 07F3C8 800E5F18 AE020000 */ sw $v0, ($s0)
/* 07F3CC 800E5F1C 8E020004 */ lw $v0, 4($s0)
/* 07F3D0 800E5F20 8C630030 */ lw $v1, 0x30($v1)
/* 07F3D4 800E5F24 00441024 */ and $v0, $v0, $a0
/* 07F3D8 800E5F28 10600003 */ beqz $v1, .L800E5F38
/* 07F3DC 800E5F2C AE020004 */ sw $v0, 4($s0)
/* 07F3E0 800E5F30 0C05271B */ jal stop_sound
/* 07F3E4 800E5F34 0060202D */ daddu $a0, $v1, $zero
.L800E5F38:
/* 07F3E8 800E5F38 8E0200D8 */ lw $v0, 0xd8($s0)
/* 07F3EC 800E5F3C 10400005 */ beqz $v0, .L800E5F54
/* 07F3F0 800E5F40 00000000 */ nop
/* 07F3F4 800E5F44 8C43000C */ lw $v1, 0xc($v0)
/* 07F3F8 800E5F48 2402000A */ addiu $v0, $zero, 0xa
/* 07F3FC 800E5F4C AC620024 */ sw $v0, 0x24($v1)
/* 07F400 800E5F50 AE0000D8 */ sw $zero, 0xd8($s0)
.L800E5F54:
/* 07F404 800E5F54 8FBF0018 */ lw $ra, 0x18($sp)
/* 07F408 800E5F58 8FB10014 */ lw $s1, 0x14($sp)
/* 07F40C 800E5F5C 8FB00010 */ lw $s0, 0x10($sp)
/* 07F410 800E5F60 03E00008 */ jr $ra
/* 07F414 800E5F64 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_entity_by_index
/* 0A6CE8 801105E8 30840FFF */ andi $a0, $a0, 0xfff
/* 0A6CEC 801105EC 3C028015 */ lui $v0, 0x8015
/* 0A6CF0 801105F0 8C421470 */ lw $v0, 0x1470($v0)
/* 0A6CF4 801105F4 00042080 */ sll $a0, $a0, 2
/* 0A6CF8 801105F8 00822021 */ addu $a0, $a0, $v0
/* 0A6CFC 801105FC 03E00008 */ jr $ra
/* 0A6D00 80110600 8C820000 */ lw $v0, ($a0)

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_entity_list
/* 0A6D20 80110620 3C028007 */ lui $v0, 0x8007
/* 0A6D24 80110624 8C42419C */ lw $v0, 0x419c($v0)
/* 0A6D28 80110628 80420070 */ lb $v0, 0x70($v0)
/* 0A6D2C 8011062C 3C038015 */ lui $v1, 0x8015
/* 0A6D30 80110630 246313F8 */ addiu $v1, $v1, 0x13f8
/* 0A6D34 80110634 14400003 */ bnez $v0, .L80110644
/* 0A6D38 80110638 00000000 */ nop
/* 0A6D3C 8011063C 3C038015 */ lui $v1, 0x8015
/* 0A6D40 80110640 24631380 */ addiu $v1, $v1, 0x1380
.L80110644:
/* 0A6D44 80110644 03E00008 */ jr $ra
/* 0A6D48 80110648 0060102D */ daddu $v0, $v1, $zero

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_model_from_list_index
/* 0B1430 8011AD30 3C028015 */ lui $v0, 0x8015
/* 0B1434 8011AD34 8C4212CC */ lw $v0, 0x12cc($v0)
/* 0B1438 8011AD38 00042080 */ sll $a0, $a0, 2
/* 0B143C 8011AD3C 00822021 */ addu $a0, $a0, $v0
/* 0B1440 8011AD40 03E00008 */ jr $ra
/* 0B1444 8011AD44 8C820000 */ lw $v0, ($a0)

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_shadow_by_index
/* 0A6D04 80110604 30840FFF */ andi $a0, $a0, 0xfff
/* 0A6D08 80110608 3C028015 */ lui $v0, 0x8015
/* 0A6D0C 8011060C 8C421658 */ lw $v0, 0x1658($v0)
/* 0A6D10 80110610 00042080 */ sll $a0, $a0, 2
/* 0A6D14 80110614 00822021 */ addu $a0, $a0, $v0
/* 0A6D18 80110618 03E00008 */ jr $ra
/* 0A6D1C 8011061C 8C820000 */ lw $v0, ($a0)

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel get_shadow_list
/* 0A6D4C 8011064C 3C028007 */ lui $v0, 0x8007
/* 0A6D50 80110650 8C42419C */ lw $v0, 0x419c($v0)
/* 0A6D54 80110654 80420070 */ lb $v0, 0x70($v0)
/* 0A6D58 80110658 3C038015 */ lui $v1, 0x8015
/* 0A6D5C 8011065C 24631568 */ addiu $v1, $v1, 0x1568
/* 0A6D60 80110660 14400003 */ bnez $v0, .L80110670
/* 0A6D64 80110664 00000000 */ nop
/* 0A6D68 80110668 3C038015 */ lui $v1, 0x8015
/* 0A6D6C 8011066C 24631478 */ addiu $v1, $v1, 0x1478
.L80110670:
/* 0A6D70 80110670 03E00008 */ jr $ra
/* 0A6D74 80110674 0060102D */ daddu $v0, $v1, $zero

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel is_player_action_state
/* 0A72B0 80110BB0 00041600 */ sll $v0, $a0, 0x18
/* 0A72B4 80110BB4 3C038011 */ lui $v1, 0x8011
/* 0A72B8 80110BB8 8063F07C */ lb $v1, -0xf84($v1)
/* 0A72BC 80110BBC 00021603 */ sra $v0, $v0, 0x18
/* 0A72C0 80110BC0 00431026 */ xor $v0, $v0, $v1
/* 0A72C4 80110BC4 03E00008 */ jr $ra
/* 0A72C8 80110BC8 2C420001 */ sltiu $v0, $v0, 1

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel set_tex_panner
/* 0B2314 8011BC14 03E00008 */ jr $ra
/* 0B2318 8011BC18 A08500A4 */ sb $a1, 0xa4($a0)

View File

@ -2,7 +2,7 @@
.set noreorder # don't insert nops after branches
glabel set_fog_color
glabel set_world_fog_color
/* 0B2288 8011BB88 3C028015 */ lui $v0, 0x8015
/* 0B228C 8011BB8C 8C423264 */ lw $v0, 0x3264($v0)
/* 0B2290 8011BB90 AC440004 */ sw $a0, 4($v0)

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8014A52C
/* 0E0C2C 8014A52C 24020008 */ addiu $v0, $zero, 8
/* 0E0C30 8014A530 3C018016 */ lui $at, 0x8016
/* 0E0C34 8014A534 A4229AE2 */ sh $v0, -0x651e($at)
/* 0E0C38 8014A538 3C018016 */ lui $at, 0x8016
/* 0E0C3C 8014A53C A4229AE4 */ sh $v0, -0x651c($at)
/* 0E0C40 8014A540 03E00008 */ jr $ra
/* 0E0C44 8014A544 00000000 */ nop

View File

@ -1,40 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel bind_trigger
/* 0E8BD0 802C4220 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0E8BD4 802C4224 AFB20038 */ sw $s2, 0x38($sp)
/* 0E8BD8 802C4228 0080902D */ daddu $s2, $a0, $zero
/* 0E8BDC 802C422C 3C020100 */ lui $v0, 0x100
/* 0E8BE0 802C4230 00A22825 */ or $a1, $a1, $v0
/* 0E8BE4 802C4234 AFB3003C */ sw $s3, 0x3c($sp)
/* 0E8BE8 802C4238 8FB30058 */ lw $s3, 0x58($sp)
/* 0E8BEC 802C423C 3C02802C */ lui $v0, 0x802c
/* 0E8BF0 802C4240 2442667C */ addiu $v0, $v0, 0x667c
/* 0E8BF4 802C4244 AFB00030 */ sw $s0, 0x30($sp)
/* 0E8BF8 802C4248 00E0802D */ daddu $s0, $a3, $zero
/* 0E8BFC 802C424C AFB10034 */ sw $s1, 0x34($sp)
/* 0E8C00 802C4250 8FB1005C */ lw $s1, 0x5c($sp)
/* 0E8C04 802C4254 8FA30060 */ lw $v1, 0x60($sp)
/* 0E8C08 802C4258 27A40010 */ addiu $a0, $sp, 0x10
/* 0E8C0C 802C425C AFBF0040 */ sw $ra, 0x40($sp)
/* 0E8C10 802C4260 AFA50010 */ sw $a1, 0x10($sp)
/* 0E8C14 802C4264 AFA60018 */ sw $a2, 0x18($sp)
/* 0E8C18 802C4268 AFA00024 */ sw $zero, 0x24($sp)
/* 0E8C1C 802C426C AFA2001C */ sw $v0, 0x1c($sp)
/* 0E8C20 802C4270 0C0515DB */ jal create_trigger
/* 0E8C24 802C4274 AFA30028 */ sw $v1, 0x28($sp)
/* 0E8C28 802C4278 AC520010 */ sw $s2, 0x10($v0)
/* 0E8C2C 802C427C AC400014 */ sw $zero, 0x14($v0)
/* 0E8C30 802C4280 AC510018 */ sw $s1, 0x18($v0)
/* 0E8C34 802C4284 AC50001C */ sw $s0, 0x1c($v0)
/* 0E8C38 802C4288 AC530020 */ sw $s3, 0x20($v0)
/* 0E8C3C 802C428C 8FBF0040 */ lw $ra, 0x40($sp)
/* 0E8C40 802C4290 8FB3003C */ lw $s3, 0x3c($sp)
/* 0E8C44 802C4294 8FB20038 */ lw $s2, 0x38($sp)
/* 0E8C48 802C4298 8FB10034 */ lw $s1, 0x34($sp)
/* 0E8C4C 802C429C 8FB00030 */ lw $s0, 0x30($sp)
/* 0E8C50 802C42A0 03E00008 */ jr $ra
/* 0E8C54 802C42A4 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel bind_trigger_1
/* 0E8C58 802C42A8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0E8C5C 802C42AC 8FA20038 */ lw $v0, 0x38($sp)
/* 0E8C60 802C42B0 8FA8003C */ lw $t0, 0x3c($sp)
/* 0E8C64 802C42B4 24030001 */ addiu $v1, $zero, 1
/* 0E8C68 802C42B8 AFBF0020 */ sw $ra, 0x20($sp)
/* 0E8C6C 802C42BC AFA30018 */ sw $v1, 0x18($sp)
/* 0E8C70 802C42C0 AFA20010 */ sw $v0, 0x10($sp)
/* 0E8C74 802C42C4 0C0B1088 */ jal bind_trigger
/* 0E8C78 802C42C8 AFA80014 */ sw $t0, 0x14($sp)
/* 0E8C7C 802C42CC 8FBF0020 */ lw $ra, 0x20($sp)
/* 0E8C80 802C42D0 03E00008 */ jr $ra
/* 0E8C84 802C42D4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,51 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel clear_script_flags
/* 0E9230 802C4880 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E9234 802C4884 AFB10014 */ sw $s1, 0x14($sp)
/* 0E9238 802C4888 0080882D */ daddu $s1, $a0, $zero
/* 0E923C 802C488C AFB20018 */ sw $s2, 0x18($sp)
/* 0E9240 802C4890 00A0902D */ daddu $s2, $a1, $zero
/* 0E9244 802C4894 00121827 */ nor $v1, $zero, $s2
/* 0E9248 802C4898 AFBF001C */ sw $ra, 0x1c($sp)
/* 0E924C 802C489C AFB00010 */ sw $s0, 0x10($sp)
/* 0E9250 802C48A0 92220000 */ lbu $v0, ($s1)
/* 0E9254 802C48A4 8E240068 */ lw $a0, 0x68($s1)
/* 0E9258 802C48A8 00431024 */ and $v0, $v0, $v1
/* 0E925C 802C48AC 10800003 */ beqz $a0, .L802C48BC
/* 0E9260 802C48B0 A2220000 */ sb $v0, ($s1)
/* 0E9264 802C48B4 0C0B1220 */ jal clear_script_flags
/* 0E9268 802C48B8 00000000 */ nop
.L802C48BC:
/* 0E926C 802C48BC 0000802D */ daddu $s0, $zero, $zero
.L802C48C0:
/* 0E9270 802C48C0 3C03802E */ lui $v1, 0x802e
/* 0E9274 802C48C4 8C63A890 */ lw $v1, -0x5770($v1)
/* 0E9278 802C48C8 00101080 */ sll $v0, $s0, 2
/* 0E927C 802C48CC 00431021 */ addu $v0, $v0, $v1
/* 0E9280 802C48D0 8C440000 */ lw $a0, ($v0)
/* 0E9284 802C48D4 50800007 */ beql $a0, $zero, .L802C48F4
/* 0E9288 802C48D8 26100001 */ addiu $s0, $s0, 1
/* 0E928C 802C48DC 8C82006C */ lw $v0, 0x6c($a0)
/* 0E9290 802C48E0 54510004 */ bnel $v0, $s1, .L802C48F4
/* 0E9294 802C48E4 26100001 */ addiu $s0, $s0, 1
/* 0E9298 802C48E8 0C0B1220 */ jal clear_script_flags
/* 0E929C 802C48EC 0240282D */ daddu $a1, $s2, $zero
/* 0E92A0 802C48F0 26100001 */ addiu $s0, $s0, 1
.L802C48F4:
/* 0E92A4 802C48F4 2A020080 */ slti $v0, $s0, 0x80
/* 0E92A8 802C48F8 1440FFF1 */ bnez $v0, .L802C48C0
/* 0E92AC 802C48FC 00000000 */ nop
/* 0E92B0 802C4900 8FBF001C */ lw $ra, 0x1c($sp)
/* 0E92B4 802C4904 8FB20018 */ lw $s2, 0x18($sp)
/* 0E92B8 802C4908 8FB10014 */ lw $s1, 0x14($sp)
/* 0E92BC 802C490C 8FB00010 */ lw $s0, 0x10($sp)
/* 0E92C0 802C4910 03E00008 */ jr $ra
/* 0E92C4 802C4914 27BD0020 */ addiu $sp, $sp, 0x20
/* 0E92C8 802C4918 00000000 */ nop
/* 0E92CC 802C491C 00000000 */ nop

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel restart_script
/* 0E86B4 802C3D04 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0E86B8 802C3D08 AFB00010 */ sw $s0, 0x10($sp)
/* 0E86BC 802C3D0C 0080802D */ daddu $s0, $a0, $zero
/* 0E86C0 802C3D10 2402FFFF */ addiu $v0, $zero, -1
/* 0E86C4 802C3D14 AFBF0014 */ sw $ra, 0x14($sp)
/* 0E86C8 802C3D18 A2020006 */ sb $v0, 6($s0)
/* 0E86CC 802C3D1C A2020007 */ sb $v0, 7($s0)
/* 0E86D0 802C3D20 8E02015C */ lw $v0, 0x15c($s0)
/* 0E86D4 802C3D24 3C013F80 */ lui $at, 0x3f80
/* 0E86D8 802C3D28 44810000 */ mtc1 $at, $f0
/* 0E86DC 802C3D2C A2000002 */ sb $zero, 2($s0)
/* 0E86E0 802C3D30 3C01802E */ lui $at, 0x802e
/* 0E86E4 802C3D34 C4229CA8 */ lwc1 $f2, -0x6358($at)
/* 0E86E8 802C3D38 AE000154 */ sw $zero, 0x154($s0)
/* 0E86EC 802C3D3C AE000154 */ sw $zero, 0x154($s0)
/* 0E86F0 802C3D40 AE000158 */ sw $zero, 0x158($s0)
/* 0E86F4 802C3D44 AE020008 */ sw $v0, 8($s0)
/* 0E86F8 802C3D48 AE020164 */ sw $v0, 0x164($s0)
/* 0E86FC 802C3D4C E6000150 */ swc1 $f0, 0x150($s0)
/* 0E8700 802C3D50 0C0B0C52 */ jal find_script_labels
/* 0E8704 802C3D54 E6020150 */ swc1 $f2, 0x150($s0)
/* 0E8708 802C3D58 0C0B0CE4 */ jal func_802C3390
/* 0E870C 802C3D5C 0200202D */ daddu $a0, $s0, $zero
/* 0E8710 802C3D60 0200102D */ daddu $v0, $s0, $zero
/* 0E8714 802C3D64 8FBF0014 */ lw $ra, 0x14($sp)
/* 0E8718 802C3D68 8FB00010 */ lw $s0, 0x10($sp)
/* 0E871C 802C3D6C 03E00008 */ jr $ra
/* 0E8720 802C3D70 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel GetColliderCenter
/* 0EEA5C 802CA0AC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0EEA60 802CA0B0 AFB00020 */ sw $s0, 0x20($sp)
/* 0EEA64 802CA0B4 0080802D */ daddu $s0, $a0, $zero
/* 0EEA68 802CA0B8 AFBF0024 */ sw $ra, 0x24($sp)
/* 0EEA6C 802CA0BC 8E02000C */ lw $v0, 0xc($s0)
/* 0EEA70 802CA0C0 0C0B1EAF */ jal get_variable
/* 0EEA74 802CA0C4 8C450000 */ lw $a1, ($v0)
/* 0EEA78 802CA0C8 0040202D */ daddu $a0, $v0, $zero
/* 0EEA7C 802CA0CC 27A50010 */ addiu $a1, $sp, 0x10
/* 0EEA80 802CA0D0 27A60014 */ addiu $a2, $sp, 0x14
/* 0EEA84 802CA0D4 0C016F84 */ jal get_collider_center
/* 0EEA88 802CA0D8 27A70018 */ addiu $a3, $sp, 0x18
/* 0EEA8C 802CA0DC C7A00010 */ lwc1 $f0, 0x10($sp)
/* 0EEA90 802CA0E0 4600010D */ trunc.w.s $f4, $f0
/* 0EEA94 802CA0E4 E6040084 */ swc1 $f4, 0x84($s0)
/* 0EEA98 802CA0E8 C7A00014 */ lwc1 $f0, 0x14($sp)
/* 0EEA9C 802CA0EC C7A20018 */ lwc1 $f2, 0x18($sp)
/* 0EEAA0 802CA0F0 4600010D */ trunc.w.s $f4, $f0
/* 0EEAA4 802CA0F4 E6040088 */ swc1 $f4, 0x88($s0)
/* 0EEAA8 802CA0F8 4600110D */ trunc.w.s $f4, $f2
/* 0EEAAC 802CA0FC E604008C */ swc1 $f4, 0x8c($s0)
/* 0EEAB0 802CA100 8FBF0024 */ lw $ra, 0x24($sp)
/* 0EEAB4 802CA104 8FB00020 */ lw $s0, 0x20($sp)
/* 0EEAB8 802CA108 24020002 */ addiu $v0, $zero, 2
/* 0EEABC 802CA10C 03E00008 */ jr $ra
/* 0EEAC0 802CA110 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,46 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel GetModelIndex
/* 0ED83C 802C8E8C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0ED840 802C8E90 AFB10014 */ sw $s1, 0x14($sp)
/* 0ED844 802C8E94 0080882D */ daddu $s1, $a0, $zero
/* 0ED848 802C8E98 AFBF0018 */ sw $ra, 0x18($sp)
/* 0ED84C 802C8E9C AFB00010 */ sw $s0, 0x10($sp)
/* 0ED850 802C8EA0 8E30000C */ lw $s0, 0xc($s1)
/* 0ED854 802C8EA4 8E050000 */ lw $a1, ($s0)
/* 0ED858 802C8EA8 0C0B1EAF */ jal get_variable
/* 0ED85C 802C8EAC 26100004 */ addiu $s0, $s0, 4
/* 0ED860 802C8EB0 8E100000 */ lw $s0, ($s0)
/* 0ED864 802C8EB4 0C046C04 */ jal get_model_list_index_from_tree_index
/* 0ED868 802C8EB8 0040202D */ daddu $a0, $v0, $zero
/* 0ED86C 802C8EBC 0220202D */ daddu $a0, $s1, $zero
/* 0ED870 802C8EC0 0040302D */ daddu $a2, $v0, $zero
/* 0ED874 802C8EC4 0C0B2026 */ jal set_variable
/* 0ED878 802C8EC8 0200282D */ daddu $a1, $s0, $zero
/* 0ED87C 802C8ECC 8FBF0018 */ lw $ra, 0x18($sp)
/* 0ED880 802C8ED0 8FB10014 */ lw $s1, 0x14($sp)
/* 0ED884 802C8ED4 8FB00010 */ lw $s0, 0x10($sp)
/* 0ED888 802C8ED8 24020002 */ addiu $v0, $zero, 2
/* 0ED88C 802C8EDC 03E00008 */ jr $ra
/* 0ED890 802C8EE0 27BD0020 */ addiu $sp, $sp, 0x20
/* 0ED894 802C8EE4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0ED898 802C8EE8 AFBF0010 */ sw $ra, 0x10($sp)
/* 0ED89C 802C8EEC 8C82000C */ lw $v0, 0xc($a0)
/* 0ED8A0 802C8EF0 0C0B1EAF */ jal get_variable
/* 0ED8A4 802C8EF4 8C450000 */ lw $a1, ($v0)
/* 0ED8A8 802C8EF8 0C046C04 */ jal get_model_list_index_from_tree_index
/* 0ED8AC 802C8EFC 0040202D */ daddu $a0, $v0, $zero
/* 0ED8B0 802C8F00 0C046B4C */ jal get_model_from_list_index
/* 0ED8B4 802C8F04 0040202D */ daddu $a0, $v0, $zero
/* 0ED8B8 802C8F08 0040202D */ daddu $a0, $v0, $zero
/* 0ED8BC 802C8F0C 94830000 */ lhu $v1, ($a0)
/* 0ED8C0 802C8F10 3063FBFF */ andi $v1, $v1, 0xfbff
/* 0ED8C4 802C8F14 A4830000 */ sh $v1, ($a0)
/* 0ED8C8 802C8F18 8FBF0010 */ lw $ra, 0x10($sp)
/* 0ED8CC 802C8F1C 24020002 */ addiu $v0, $zero, 2
/* 0ED8D0 802C8F20 03E00008 */ jr $ra
/* 0ED8D4 802C8F24 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetGroupEnabled
/* 0EDCB8 802C9308 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0EDCBC 802C930C AFB10014 */ sw $s1, 0x14($sp)
/* 0EDCC0 802C9310 0080882D */ daddu $s1, $a0, $zero
/* 0EDCC4 802C9314 AFBF0018 */ sw $ra, 0x18($sp)
/* 0EDCC8 802C9318 AFB00010 */ sw $s0, 0x10($sp)
/* 0EDCCC 802C931C 8E30000C */ lw $s0, 0xc($s1)
/* 0EDCD0 802C9320 8E050000 */ lw $a1, ($s0)
/* 0EDCD4 802C9324 0C0B1EAF */ jal get_variable
/* 0EDCD8 802C9328 26100004 */ addiu $s0, $s0, 4
/* 0EDCDC 802C932C 0220202D */ daddu $a0, $s1, $zero
/* 0EDCE0 802C9330 8E050000 */ lw $a1, ($s0)
/* 0EDCE4 802C9334 0C0B1EAF */ jal get_variable
/* 0EDCE8 802C9338 0040802D */ daddu $s0, $v0, $zero
/* 0EDCEC 802C933C 3204FFFF */ andi $a0, $s0, 0xffff
/* 0EDCF0 802C9340 24050002 */ addiu $a1, $zero, 2
/* 0EDCF4 802C9344 0C046DF0 */ jal func_8011B7C0
/* 0EDCF8 802C9348 0040302D */ daddu $a2, $v0, $zero
/* 0EDCFC 802C934C 8FBF0018 */ lw $ra, 0x18($sp)
/* 0EDD00 802C9350 8FB10014 */ lw $s1, 0x14($sp)
/* 0EDD04 802C9354 8FB00010 */ lw $s0, 0x10($sp)
/* 0EDD08 802C9358 24020002 */ addiu $v0, $zero, 2
/* 0EDD0C 802C935C 03E00008 */ jr $ra
/* 0EDD10 802C9360 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetRenderMode
/* 0EEEA4 802CA4F4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0EEEA8 802CA4F8 AFB10014 */ sw $s1, 0x14($sp)
/* 0EEEAC 802CA4FC 0080882D */ daddu $s1, $a0, $zero
/* 0EEEB0 802CA500 AFBF0018 */ sw $ra, 0x18($sp)
/* 0EEEB4 802CA504 AFB00010 */ sw $s0, 0x10($sp)
/* 0EEEB8 802CA508 8E30000C */ lw $s0, 0xc($s1)
/* 0EEEBC 802CA50C 8E050000 */ lw $a1, ($s0)
/* 0EEEC0 802CA510 0C0B1EAF */ jal get_variable
/* 0EEEC4 802CA514 26100004 */ addiu $s0, $s0, 4
/* 0EEEC8 802CA518 0220202D */ daddu $a0, $s1, $zero
/* 0EEECC 802CA51C 8E050000 */ lw $a1, ($s0)
/* 0EEED0 802CA520 0C0B1EAF */ jal get_variable
/* 0EEED4 802CA524 0040802D */ daddu $s0, $v0, $zero
/* 0EEED8 802CA528 0200202D */ daddu $a0, $s0, $zero
/* 0EEEDC 802CA52C 0C046C04 */ jal get_model_list_index_from_tree_index
/* 0EEEE0 802CA530 0040802D */ daddu $s0, $v0, $zero
/* 0EEEE4 802CA534 0C046B4C */ jal get_model_from_list_index
/* 0EEEE8 802CA538 0040202D */ daddu $a0, $v0, $zero
/* 0EEEEC 802CA53C A05000A6 */ sb $s0, 0xa6($v0)
/* 0EEEF0 802CA540 8FBF0018 */ lw $ra, 0x18($sp)
/* 0EEEF4 802CA544 8FB10014 */ lw $s1, 0x14($sp)
/* 0EEEF8 802CA548 8FB00010 */ lw $s0, 0x10($sp)
/* 0EEEFC 802CA54C 24020002 */ addiu $v0, $zero, 2
/* 0EEF00 802CA550 03E00008 */ jr $ra
/* 0EEF04 802CA554 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -32,475 +32,506 @@ glabel si_execute_next_command
/* 0EBE18 802C7468 00041080 */ sll $v0, $a0, 2
/* 0EBE1C 802C746C 00621821 */ addu $v1, $v1, $v0
/* 0EBE20 802C7470 A2040001 */ sb $a0, 1($s0)
/* 0EBE24 802C7474 080B1E95 */ j si_handle_end
/* 0EBE24 802C7474 080B1E95 */ j .L802C7A54
/* 0EBE28 802C7478 AE030008 */ sw $v1, 8($s0)
/* 0EBE2C 802C747C 0C0B1266 */ jal si_handle_return
/* 0EBE30 802C7480 0200202D */ daddu $a0, $s0, $zero
/* 0EBE34 802C7484 080B1E95 */ j si_handle_end
/* 0EBE34 802C7484 080B1E95 */ j .L802C7A54
/* 0EBE38 802C7488 0040282D */ daddu $a1, $v0, $zero
/* 0EBE3C 802C748C 0C0B126E */ jal si_handle_label
/* 0EBE40 802C7490 0200202D */ daddu $a0, $s0, $zero
/* 0EBE44 802C7494 080B1E95 */ j si_handle_end
/* 0EBE44 802C7494 080B1E95 */ j .L802C7A54
/* 0EBE48 802C7498 0040282D */ daddu $a1, $v0, $zero
/* 0EBE4C 802C749C 0C0B1270 */ jal si_handle_goto
/* 0EBE50 802C74A0 0200202D */ daddu $a0, $s0, $zero
/* 0EBE54 802C74A4 080B1E95 */ j si_handle_end
/* 0EBE54 802C74A4 080B1E95 */ j .L802C7A54
/* 0EBE58 802C74A8 0040282D */ daddu $a1, $v0, $zero
/* 0EBE5C 802C74AC 0C0B1280 */ jal si_handle_Loop
/* 0EBE60 802C74B0 0200202D */ daddu $a0, $s0, $zero
/* 0EBE64 802C74B4 080B1E95 */ j si_handle_end
/* 0EBE64 802C74B4 080B1E95 */ j .L802C7A54
/* 0EBE68 802C74B8 0040282D */ daddu $a1, $v0, $zero
/* 0EBE6C 802C74BC 0C0B1292 */ jal si_handle_end_loop
/* 0EBE70 802C74C0 0200202D */ daddu $a0, $s0, $zero
/* 0EBE74 802C74C4 080B1E95 */ j si_handle_end
/* 0EBE74 802C74C4 080B1E95 */ j .L802C7A54
/* 0EBE78 802C74C8 0040282D */ daddu $a1, $v0, $zero
/* 0EBE7C 802C74CC 0C0B12C3 */ jal si_handle_break_loop
/* 0EBE80 802C74D0 0200202D */ daddu $a0, $s0, $zero
/* 0EBE84 802C74D4 080B1E95 */ j si_handle_end
/* 0EBE84 802C74D4 080B1E95 */ j .L802C7A54
/* 0EBE88 802C74D8 0040282D */ daddu $a1, $v0, $zero
/* 0EBE8C 802C74DC 0C0B12D7 */ jal si_handle_wait
/* 0EBE90 802C74E0 0200202D */ daddu $a0, $s0, $zero
/* 0EBE94 802C74E4 080B1E95 */ j si_handle_end
/* 0EBE94 802C74E4 080B1E95 */ j .L802C7A54
/* 0EBE98 802C74E8 0040282D */ daddu $a1, $v0, $zero
/* 0EBE9C 802C74EC 0C0B12EE */ jal si_handle_wait_seconds
/* 0EBEA0 802C74F0 0200202D */ daddu $a0, $s0, $zero
/* 0EBEA4 802C74F4 080B1E95 */ j si_handle_end
/* 0EBEA4 802C74F4 080B1E95 */ j .L802C7A54
/* 0EBEA8 802C74F8 0040282D */ daddu $a1, $v0, $zero
/* 0EBEAC 802C74FC 0C0B1310 */ jal si_handle_if_equal
/* 0EBEB0 802C7500 0200202D */ daddu $a0, $s0, $zero
/* 0EBEB4 802C7504 080B1E95 */ j si_handle_end
/* 0EBEB4 802C7504 080B1E95 */ j .L802C7A54
/* 0EBEB8 802C7508 0040282D */ daddu $a1, $v0, $zero
/* 0EBEBC 802C750C 0C0B1328 */ jal si_handle_if_not_equal
/* 0EBEC0 802C7510 0200202D */ daddu $a0, $s0, $zero
/* 0EBEC4 802C7514 080B1E95 */ j si_handle_end
/* 0EBEC4 802C7514 080B1E95 */ j .L802C7A54
/* 0EBEC8 802C7518 0040282D */ daddu $a1, $v0, $zero
/* 0EBECC 802C751C 0C0B1340 */ jal si_handle_if_less
/* 0EBED0 802C7520 0200202D */ daddu $a0, $s0, $zero
/* 0EBED4 802C7524 080B1E95 */ j si_handle_end
/* 0EBED4 802C7524 080B1E95 */ j .L802C7A54
/* 0EBED8 802C7528 0040282D */ daddu $a1, $v0, $zero
/* 0EBEDC 802C752C 0C0B1359 */ jal si_handle_if_greater
/* 0EBEE0 802C7530 0200202D */ daddu $a0, $s0, $zero
/* 0EBEE4 802C7534 080B1E95 */ j si_handle_end
/* 0EBEE4 802C7534 080B1E95 */ j .L802C7A54
/* 0EBEE8 802C7538 0040282D */ daddu $a1, $v0, $zero
/* 0EBEEC 802C753C 0C0B1372 */ jal si_handle_if_less_equal
/* 0EBEF0 802C7540 0200202D */ daddu $a0, $s0, $zero
/* 0EBEF4 802C7544 080B1E95 */ j si_handle_end
/* 0EBEF4 802C7544 080B1E95 */ j .L802C7A54
/* 0EBEF8 802C7548 0040282D */ daddu $a1, $v0, $zero
/* 0EBEFC 802C754C 0C0B138B */ jal si_handle_if_greater_equal
/* 0EBF00 802C7550 0200202D */ daddu $a0, $s0, $zero
/* 0EBF04 802C7554 080B1E95 */ j si_handle_end
/* 0EBF04 802C7554 080B1E95 */ j .L802C7A54
/* 0EBF08 802C7558 0040282D */ daddu $a1, $v0, $zero
/* 0EBF0C 802C755C 0C0B13A4 */ jal si_handle_if_AND
/* 0EBF10 802C7560 0200202D */ daddu $a0, $s0, $zero
/* 0EBF14 802C7564 080B1E95 */ j si_handle_end
/* 0EBF14 802C7564 080B1E95 */ j .L802C7A54
/* 0EBF18 802C7568 0040282D */ daddu $a1, $v0, $zero
/* 0EBF1C 802C756C 0C0B13BA */ jal si_handle_if_not_AND
/* 0EBF20 802C7570 0200202D */ daddu $a0, $s0, $zero
/* 0EBF24 802C7574 080B1E95 */ j si_handle_end
/* 0EBF24 802C7574 080B1E95 */ j .L802C7A54
/* 0EBF28 802C7578 0040282D */ daddu $a1, $v0, $zero
/* 0EBF2C 802C757C 0C0B13D0 */ jal si_handle_else
/* 0EBF30 802C7580 0200202D */ daddu $a0, $s0, $zero
/* 0EBF34 802C7584 080B1E95 */ j si_handle_end
/* 0EBF34 802C7584 080B1E95 */ j .L802C7A54
/* 0EBF38 802C7588 0040282D */ daddu $a1, $v0, $zero
/* 0EBF3C 802C758C 0C0B13DB */ jal si_handle_end_if
/* 0EBF40 802C7590 0200202D */ daddu $a0, $s0, $zero
/* 0EBF44 802C7594 080B1E95 */ j si_handle_end
/* 0EBF44 802C7594 080B1E95 */ j .L802C7A54
/* 0EBF48 802C7598 0040282D */ daddu $a1, $v0, $zero
/* 0EBF4C 802C759C 0C0B13DD */ jal si_handle_switch
/* 0EBF50 802C75A0 0200202D */ daddu $a0, $s0, $zero
/* 0EBF54 802C75A4 080B1E95 */ j si_handle_end
/* 0EBF54 802C75A4 080B1E95 */ j .L802C7A54
/* 0EBF58 802C75A8 0040282D */ daddu $a1, $v0, $zero
/* 0EBF5C 802C75AC 0C0B13F9 */ jal si_handle_switch_const
/* 0EBF60 802C75B0 0200202D */ daddu $a0, $s0, $zero
/* 0EBF64 802C75B4 080B1E95 */ j si_handle_end
/* 0EBF64 802C75B4 080B1E95 */ j .L802C7A54
/* 0EBF68 802C75B8 0040282D */ daddu $a1, $v0, $zero
/* 0EBF6C 802C75BC 0C0B140C */ jal si_handle_case_equal
/* 0EBF70 802C75C0 0200202D */ daddu $a0, $s0, $zero
/* 0EBF74 802C75C4 080B1E95 */ j si_handle_end
/* 0EBF74 802C75C4 080B1E95 */ j .L802C7A54
/* 0EBF78 802C75C8 0040282D */ daddu $a1, $v0, $zero
/* 0EBF7C 802C75CC 0C0B142F */ jal si_handle_case_not_equal
/* 0EBF80 802C75D0 0200202D */ daddu $a0, $s0, $zero
/* 0EBF84 802C75D4 080B1E95 */ j si_handle_end
/* 0EBF84 802C75D4 080B1E95 */ j .L802C7A54
/* 0EBF88 802C75D8 0040282D */ daddu $a1, $v0, $zero
/* 0EBF8C 802C75DC 0C0B1452 */ jal si_handle_case_less
/* 0EBF90 802C75E0 0200202D */ daddu $a0, $s0, $zero
/* 0EBF94 802C75E4 080B1E95 */ j si_handle_end
/* 0EBF94 802C75E4 080B1E95 */ j .L802C7A54
/* 0EBF98 802C75E8 0040282D */ daddu $a1, $v0, $zero
/* 0EBF9C 802C75EC 0C0B1476 */ jal si_handle_case_less_equal
/* 0EBFA0 802C75F0 0200202D */ daddu $a0, $s0, $zero
/* 0EBFA4 802C75F4 080B1E95 */ j si_handle_end
/* 0EBFA4 802C75F4 080B1E95 */ j .L802C7A54
/* 0EBFA8 802C75F8 0040282D */ daddu $a1, $v0, $zero
/* 0EBFAC 802C75FC 0C0B149A */ jal si_handle_case_greater
/* 0EBFB0 802C7600 0200202D */ daddu $a0, $s0, $zero
/* 0EBFB4 802C7604 080B1E95 */ j si_handle_end
/* 0EBFB4 802C7604 080B1E95 */ j .L802C7A54
/* 0EBFB8 802C7608 0040282D */ daddu $a1, $v0, $zero
/* 0EBFBC 802C760C 0C0B14BE */ jal si_handle_case_greater_equal
/* 0EBFC0 802C7610 0200202D */ daddu $a0, $s0, $zero
/* 0EBFC4 802C7614 080B1E95 */ j si_handle_end
/* 0EBFC4 802C7614 080B1E95 */ j .L802C7A54
/* 0EBFC8 802C7618 0040282D */ daddu $a1, $v0, $zero
/* 0EBFCC 802C761C 0C0B1511 */ jal si_handle_case_default
/* 0EBFD0 802C7620 0200202D */ daddu $a0, $s0, $zero
/* 0EBFD4 802C7624 080B1E95 */ j si_handle_end
/* 0EBFD4 802C7624 080B1E95 */ j .L802C7A54
/* 0EBFD8 802C7628 0040282D */ daddu $a1, $v0, $zero
/* 0EBFDC 802C762C 0C0B15B5 */ jal si_handle_break_case
/* 0EBFE0 802C7630 0200202D */ daddu $a0, $s0, $zero
/* 0EBFE4 802C7634 080B1E95 */ j si_handle_end
/* 0EBFE4 802C7634 080B1E95 */ j .L802C7A54
/* 0EBFE8 802C7638 0040282D */ daddu $a1, $v0, $zero
/* 0EBFEC 802C763C 0C0B1546 */ jal si_handle_case_equal_OR
/* 0EBFF0 802C7640 0200202D */ daddu $a0, $s0, $zero
/* 0EBFF4 802C7644 080B1E95 */ j si_handle_end
/* 0EBFF4 802C7644 080B1E95 */ j .L802C7A54
/* 0EBFF8 802C7648 0040282D */ daddu $a1, $v0, $zero
/* 0EBFFC 802C764C 0C0B1597 */ jal si_handle_end_case_group
/* 0EC000 802C7650 0200202D */ daddu $a0, $s0, $zero
/* 0EC004 802C7654 080B1E95 */ j si_handle_end
/* 0EC004 802C7654 080B1E95 */ j .L802C7A54
/* 0EC008 802C7658 0040282D */ daddu $a1, $v0, $zero
/* 0EC00C 802C765C 0C0B156E */ jal si_handle_case_equal_AND
/* 0EC010 802C7660 0200202D */ daddu $a0, $s0, $zero
/* 0EC014 802C7664 080B1E95 */ j si_handle_end
/* 0EC014 802C7664 080B1E95 */ j .L802C7A54
/* 0EC018 802C7668 0040282D */ daddu $a1, $v0, $zero
/* 0EC01C 802C766C 0C0B1527 */ jal si_handle_case_AND
/* 0EC020 802C7670 0200202D */ daddu $a0, $s0, $zero
/* 0EC024 802C7674 080B1E95 */ j si_handle_end
/* 0EC024 802C7674 080B1E95 */ j .L802C7A54
/* 0EC028 802C7678 0040282D */ daddu $a1, $v0, $zero
/* 0EC02C 802C767C 0C0B14E2 */ jal si_handle_case_range
/* 0EC030 802C7680 0200202D */ daddu $a0, $s0, $zero
/* 0EC034 802C7684 080B1E95 */ j si_handle_end
/* 0EC034 802C7684 080B1E95 */ j .L802C7A54
/* 0EC038 802C7688 0040282D */ daddu $a1, $v0, $zero
/* 0EC03C 802C768C 0C0B15C6 */ jal si_handle_end_switch
/* 0EC040 802C7690 0200202D */ daddu $a0, $s0, $zero
/* 0EC044 802C7694 080B1E95 */ j si_handle_end
/* 0EC044 802C7694 080B1E95 */ j .L802C7A54
/* 0EC048 802C7698 0040282D */ daddu $a1, $v0, $zero
/* 0EC04C 802C769C 0C0B15D1 */ jal si_handle_set_var
/* 0EC050 802C76A0 0200202D */ daddu $a0, $s0, $zero
/* 0EC054 802C76A4 080B1E95 */ j si_handle_end
/* 0EC054 802C76A4 080B1E95 */ j .L802C7A54
/* 0EC058 802C76A8 0040282D */ daddu $a1, $v0, $zero
/* 0EC05C 802C76AC 0C0B15E4 */ jal si_handle_set_const
/* 0EC060 802C76B0 0200202D */ daddu $a0, $s0, $zero
/* 0EC064 802C76B4 080B1E95 */ j si_handle_end
/* 0EC064 802C76B4 080B1E95 */ j .L802C7A54
/* 0EC068 802C76B8 0040282D */ daddu $a1, $v0, $zero
/* 0EC06C 802C76BC 0C0B15EE */ jal si_handle_set_float
/* 0EC070 802C76C0 0200202D */ daddu $a0, $s0, $zero
/* 0EC074 802C76C4 080B1E95 */ j si_handle_end
/* 0EC074 802C76C4 080B1E95 */ j .L802C7A54
/* 0EC078 802C76C8 0040282D */ daddu $a1, $v0, $zero
/* 0EC07C 802C76CC 0C0B1601 */ jal si_handle_add
/* 0EC080 802C76D0 0200202D */ daddu $a0, $s0, $zero
/* 0EC084 802C76D4 080B1E95 */ j si_handle_end
/* 0EC084 802C76D4 080B1E95 */ j .L802C7A54
/* 0EC088 802C76D8 0040282D */ daddu $a1, $v0, $zero
/* 0EC08C 802C76DC 0C0B161A */ jal si_handle_subtract
/* 0EC090 802C76E0 0200202D */ daddu $a0, $s0, $zero
/* 0EC094 802C76E4 080B1E95 */ j si_handle_end
/* 0EC094 802C76E4 080B1E95 */ j .L802C7A54
/* 0EC098 802C76E8 0040282D */ daddu $a1, $v0, $zero
/* 0EC09C 802C76EC 0C0B1633 */ jal si_handle_multiply
/* 0EC0A0 802C76F0 0200202D */ daddu $a0, $s0, $zero
/* 0EC0A4 802C76F4 080B1E95 */ j si_handle_end
/* 0EC0A4 802C76F4 080B1E95 */ j .L802C7A54
/* 0EC0A8 802C76F8 0040282D */ daddu $a1, $v0, $zero
/* 0EC0AC 802C76FC 0C0B164D */ jal si_handle_divide
/* 0EC0B0 802C7700 0200202D */ daddu $a0, $s0, $zero
/* 0EC0B4 802C7704 080B1E95 */ j si_handle_end
/* 0EC0B4 802C7704 080B1E95 */ j .L802C7A54
/* 0EC0B8 802C7708 0040282D */ daddu $a1, $v0, $zero
/* 0EC0BC 802C770C 0C0B166F */ jal si_handle_mod
/* 0EC0C0 802C7710 0200202D */ daddu $a0, $s0, $zero
/* 0EC0C4 802C7714 080B1E95 */ j si_handle_end
/* 0EC0C4 802C7714 080B1E95 */ j .L802C7A54
/* 0EC0C8 802C7718 0040282D */ daddu $a1, $v0, $zero
/* 0EC0CC 802C771C 0C0B16A1 */ jal si_handle_addF
/* 0EC0D0 802C7720 0200202D */ daddu $a0, $s0, $zero
/* 0EC0D4 802C7724 080B1E95 */ j si_handle_end
/* 0EC0D4 802C7724 080B1E95 */ j .L802C7A54
/* 0EC0D8 802C7728 0040282D */ daddu $a1, $v0, $zero
/* 0EC0DC 802C772C 0C0B16BB */ jal si_handle_subtractF
/* 0EC0E0 802C7730 0200202D */ daddu $a0, $s0, $zero
/* 0EC0E4 802C7734 080B1E95 */ j si_handle_end
/* 0EC0E4 802C7734 080B1E95 */ j .L802C7A54
/* 0EC0E8 802C7738 0040282D */ daddu $a1, $v0, $zero
/* 0EC0EC 802C773C 0C0B16D5 */ jal si_handle_multiplyF
/* 0EC0F0 802C7740 0200202D */ daddu $a0, $s0, $zero
/* 0EC0F4 802C7744 080B1E95 */ j si_handle_end
/* 0EC0F4 802C7744 080B1E95 */ j .L802C7A54
/* 0EC0F8 802C7748 0040282D */ daddu $a1, $v0, $zero
/* 0EC0FC 802C774C 0C0B16F0 */ jal si_handle_divideF
/* 0EC100 802C7750 0200202D */ daddu $a0, $s0, $zero
/* 0EC104 802C7754 080B1E95 */ j si_handle_end
/* 0EC104 802C7754 080B1E95 */ j .L802C7A54
/* 0EC108 802C7758 0040282D */ daddu $a1, $v0, $zero
/* 0EC10C 802C775C 0C0B170A */ jal si_handle_set_int_buffer_ptr
/* 0EC110 802C7760 0200202D */ daddu $a0, $s0, $zero
/* 0EC114 802C7764 080B1E95 */ j si_handle_end
/* 0EC114 802C7764 080B1E95 */ j .L802C7A54
/* 0EC118 802C7768 0040282D */ daddu $a1, $v0, $zero
/* 0EC11C 802C776C 0C0B1724 */ jal si_handle_get_1_word
/* 0EC120 802C7770 0200202D */ daddu $a0, $s0, $zero
/* 0EC124 802C7774 080B1E95 */ j si_handle_end
/* 0EC124 802C7774 080B1E95 */ j .L802C7A54
/* 0EC128 802C7778 0040282D */ daddu $a1, $v0, $zero
/* 0EC12C 802C777C 0C0B1731 */ jal si_handle_get_2_word
/* 0EC130 802C7780 0200202D */ daddu $a0, $s0, $zero
/* 0EC134 802C7784 080B1E95 */ j si_handle_end
/* 0EC134 802C7784 080B1E95 */ j .L802C7A54
/* 0EC138 802C7788 0040282D */ daddu $a1, $v0, $zero
/* 0EC13C 802C778C 0C0B174B */ jal si_handle_get_3_word
/* 0EC140 802C7790 0200202D */ daddu $a0, $s0, $zero
/* 0EC144 802C7794 080B1E95 */ j si_handle_end
/* 0EC144 802C7794 080B1E95 */ j .L802C7A54
/* 0EC148 802C7798 0040282D */ daddu $a1, $v0, $zero
/* 0EC14C 802C779C 0C0B176D */ jal si_handle_get_4_word
/* 0EC150 802C77A0 0200202D */ daddu $a0, $s0, $zero
/* 0EC154 802C77A4 080B1E95 */ j si_handle_end
/* 0EC154 802C77A4 080B1E95 */ j .L802C7A54
/* 0EC158 802C77A8 0040282D */ daddu $a1, $v0, $zero
/* 0EC15C 802C77AC 0C0B1797 */ jal si_handle_get_Nth_word
/* 0EC160 802C77B0 0200202D */ daddu $a0, $s0, $zero
/* 0EC164 802C77B4 080B1E95 */ j si_handle_end
/* 0EC164 802C77B4 080B1E95 */ j .L802C7A54
/* 0EC168 802C77B8 0040282D */ daddu $a1, $v0, $zero
/* 0EC16C 802C77BC 0C0B1717 */ jal si_handle_set_float_buffer_ptr
/* 0EC170 802C77C0 0200202D */ daddu $a0, $s0, $zero
/* 0EC174 802C77C4 080B1E95 */ j si_handle_end
/* 0EC174 802C77C4 080B1E95 */ j .L802C7A54
/* 0EC178 802C77C8 0040282D */ daddu $a1, $v0, $zero
/* 0EC17C 802C77CC 0C0B17AD */ jal si_handle_get_1_float
/* 0EC180 802C77D0 0200202D */ daddu $a0, $s0, $zero
/* 0EC184 802C77D4 080B1E95 */ j si_handle_end
/* 0EC184 802C77D4 080B1E95 */ j .L802C7A54
/* 0EC188 802C77D8 0040282D */ daddu $a1, $v0, $zero
/* 0EC18C 802C77DC 0C0B17C3 */ jal si_handle_get_2_float
/* 0EC190 802C77E0 0200202D */ daddu $a0, $s0, $zero
/* 0EC194 802C77E4 080B1E95 */ j si_handle_end
/* 0EC194 802C77E4 080B1E95 */ j .L802C7A54
/* 0EC198 802C77E8 0040282D */ daddu $a1, $v0, $zero
/* 0EC19C 802C77EC 0C0B17E7 */ jal si_handle_get_3_float
/* 0EC1A0 802C77F0 0200202D */ daddu $a0, $s0, $zero
/* 0EC1A4 802C77F4 080B1E95 */ j si_handle_end
/* 0EC1A4 802C77F4 080B1E95 */ j .L802C7A54
/* 0EC1A8 802C77F8 0040282D */ daddu $a1, $v0, $zero
/* 0EC1AC 802C77FC 0C0B1817 */ jal si_handle_get_4_float
/* 0EC1B0 802C7800 0200202D */ daddu $a0, $s0, $zero
/* 0EC1B4 802C7804 080B1E95 */ j si_handle_end
/* 0EC1B4 802C7804 080B1E95 */ j .L802C7A54
/* 0EC1B8 802C7808 0040282D */ daddu $a1, $v0, $zero
/* 0EC1BC 802C780C 0C0B1853 */ jal si_handle_get_Nth_float
/* 0EC1C0 802C7810 0200202D */ daddu $a0, $s0, $zero
/* 0EC1C4 802C7814 080B1E95 */ j si_handle_end
/* 0EC1C4 802C7814 080B1E95 */ j .L802C7A54
/* 0EC1C8 802C7818 0040282D */ daddu $a1, $v0, $zero
/* 0EC1CC 802C781C 0C0B186B */ jal si_handle_set_array
/* 0EC1D0 802C7820 0200202D */ daddu $a0, $s0, $zero
/* 0EC1D4 802C7824 080B1E95 */ j si_handle_end
/* 0EC1D4 802C7824 080B1E95 */ j .L802C7A54
/* 0EC1D8 802C7828 0040282D */ daddu $a1, $v0, $zero
/* 0EC1DC 802C782C 0C0B1878 */ jal si_handle_set_flag_array
/* 0EC1E0 802C7830 0200202D */ daddu $a0, $s0, $zero
/* 0EC1E4 802C7834 080B1E95 */ j si_handle_end
/* 0EC1E4 802C7834 080B1E95 */ j .L802C7A54
/* 0EC1E8 802C7838 0040282D */ daddu $a1, $v0, $zero
/* 0EC1EC 802C783C 0C0B1885 */ jal si_handle_allocate_array
/* 0EC1F0 802C7840 0200202D */ daddu $a0, $s0, $zero
/* 0EC1F4 802C7844 080B1E95 */ j si_handle_end
/* 0EC1F4 802C7844 080B1E95 */ j .L802C7A54
/* 0EC1F8 802C7848 0040282D */ daddu $a1, $v0, $zero
/* 0EC1FC 802C784C 0C0B1A1C */ jal si_handle_kill
/* 0EC200 802C7850 0200202D */ daddu $a0, $s0, $zero
/* 0EC204 802C7854 080B1E95 */ j si_handle_end
/* 0EC204 802C7854 080B1E95 */ j .L802C7A54
/* 0EC208 802C7858 0040282D */ daddu $a1, $v0, $zero
/* 0EC20C 802C785C 0C0B189C */ jal si_handle_AND
/* 0EC210 802C7860 0200202D */ daddu $a0, $s0, $zero
/* 0EC214 802C7864 080B1E95 */ j si_handle_end
/* 0EC214 802C7864 080B1E95 */ j .L802C7A54
/* 0EC218 802C7868 0040282D */ daddu $a1, $v0, $zero
/* 0EC21C 802C786C 0C0B18B5 */ jal si_handle_AND_const
/* 0EC220 802C7870 0200202D */ daddu $a0, $s0, $zero
/* 0EC224 802C7874 080B1E95 */ j si_handle_end
/* 0EC224 802C7874 080B1E95 */ j .L802C7A54
/* 0EC228 802C7878 0040282D */ daddu $a1, $v0, $zero
/* 0EC22C 802C787C 0C0B18CB */ jal si_handle_OR
/* 0EC230 802C7880 0200202D */ daddu $a0, $s0, $zero
/* 0EC234 802C7884 080B1E95 */ j si_handle_end
/* 0EC234 802C7884 080B1E95 */ j .L802C7A54
/* 0EC238 802C7888 0040282D */ daddu $a1, $v0, $zero
/* 0EC23C 802C788C 0C0B18E4 */ jal si_handle_OR_const
/* 0EC240 802C7890 0200202D */ daddu $a0, $s0, $zero
/* 0EC244 802C7894 080B1E95 */ j si_handle_end
/* 0EC244 802C7894 080B1E95 */ j .L802C7A54
/* 0EC248 802C7898 0040282D */ daddu $a1, $v0, $zero
/* 0EC24C 802C789C 0C0B18FA */ jal si_handle_call
/* 0EC250 802C78A0 0200202D */ daddu $a0, $s0, $zero
/* 0EC254 802C78A4 080B1E95 */ j si_handle_end
/* 0EC254 802C78A4 080B1E95 */ j .L802C7A54
/* 0EC258 802C78A8 0040282D */ daddu $a1, $v0, $zero
/* 0EC25C 802C78AC 0C0B191B */ jal si_handle_exec1
/* 0EC260 802C78B0 0200202D */ daddu $a0, $s0, $zero
/* 0EC264 802C78B4 080B1E95 */ j si_handle_end
/* 0EC264 802C78B4 080B1E95 */ j .L802C7A54
/* 0EC268 802C78B8 0040282D */ daddu $a1, $v0, $zero
/* 0EC26C 802C78BC 0C0B1949 */ jal si_handle_exec2
/* 0EC270 802C78C0 0200202D */ daddu $a0, $s0, $zero
/* 0EC274 802C78C4 080B1E95 */ j si_handle_end
/* 0EC274 802C78C4 080B1E95 */ j .L802C7A54
/* 0EC278 802C78C8 0040282D */ daddu $a1, $v0, $zero
/* 0EC27C 802C78CC 0C0B197F */ jal si_handle_exec_wait
/* 0EC280 802C78D0 0200202D */ daddu $a0, $s0, $zero
/* 0EC284 802C78D4 080B1E95 */ j si_handle_end
/* 0EC284 802C78D4 080B1E95 */ j .L802C7A54
/* 0EC288 802C78D8 0040282D */ daddu $a1, $v0, $zero
/* 0EC28C 802C78DC 0C0B19C5 */ jal si_handle_bind
/* 0EC290 802C78E0 0200202D */ daddu $a0, $s0, $zero
/* 0EC294 802C78E4 080B1E95 */ j si_handle_end
/* 0EC294 802C78E4 080B1E95 */ j .L802C7A54
/* 0EC298 802C78E8 0040282D */ daddu $a1, $v0, $zero
/* 0EC29C 802C78EC 0C0B1A14 */ jal si_handle_unbind
/* 0EC2A0 802C78F0 0200202D */ daddu $a0, $s0, $zero
/* 0EC2A4 802C78F4 080B1E95 */ j si_handle_end
/* 0EC2A4 802C78F4 080B1E95 */ j .L802C7A54
/* 0EC2A8 802C78F8 0040282D */ daddu $a1, $v0, $zero
/* 0EC2AC 802C78FC 0C0B1A27 */ jal si_handle_set_priority
/* 0EC2B0 802C7900 0200202D */ daddu $a0, $s0, $zero
/* 0EC2B4 802C7904 080B1E95 */ j si_handle_end
/* 0EC2B4 802C7904 080B1E95 */ j .L802C7A54
/* 0EC2B8 802C7908 0040282D */ daddu $a1, $v0, $zero
/* 0EC2BC 802C790C 0C0B1A36 */ jal si_handle_set_timescale
/* 0EC2C0 802C7910 0200202D */ daddu $a0, $s0, $zero
/* 0EC2C4 802C7914 080B1E95 */ j si_handle_end
/* 0EC2C4 802C7914 080B1E95 */ j .L802C7A54
/* 0EC2C8 802C7918 0040282D */ daddu $a1, $v0, $zero
/* 0EC2CC 802C791C 0C0B1A45 */ jal si_handle_set_group
/* 0EC2D0 802C7920 0200202D */ daddu $a0, $s0, $zero
/* 0EC2D4 802C7924 080B1E95 */ j si_handle_end
/* 0EC2D4 802C7924 080B1E95 */ j .L802C7A54
/* 0EC2D8 802C7928 0040282D */ daddu $a1, $v0, $zero
/* 0EC2DC 802C792C 0C0B1990 */ jal si_handle_jump
/* 0EC2E0 802C7930 0200202D */ daddu $a0, $s0, $zero
/* 0EC2E4 802C7934 080B1E95 */ j si_handle_end
/* 0EC2E4 802C7934 080B1E95 */ j .L802C7A54
/* 0EC2E8 802C7938 0040282D */ daddu $a1, $v0, $zero
/* 0EC2EC 802C793C 0C0B1AD5 */ jal si_handle_bind_lock
/* 0EC2F0 802C7940 0200202D */ daddu $a0, $s0, $zero
/* 0EC2F4 802C7944 080B1E95 */ j si_handle_end
/* 0EC2F4 802C7944 080B1E95 */ j .L802C7A54
/* 0EC2F8 802C7948 0040282D */ daddu $a1, $v0, $zero
/* 0EC2FC 802C794C 0C0B1A54 */ jal si_handle_suspend_all
/* 0EC300 802C7950 0200202D */ daddu $a0, $s0, $zero
/* 0EC304 802C7954 080B1E95 */ j si_handle_end
/* 0EC304 802C7954 080B1E95 */ j .L802C7A54
/* 0EC308 802C7958 0040282D */ daddu $a1, $v0, $zero
/* 0EC30C 802C795C 0C0B1A5F */ jal si_handle_resume_all
/* 0EC310 802C7960 0200202D */ daddu $a0, $s0, $zero
/* 0EC314 802C7964 080B1E95 */ j si_handle_end
/* 0EC314 802C7964 080B1E95 */ j .L802C7A54
/* 0EC318 802C7968 0040282D */ daddu $a1, $v0, $zero
/* 0EC31C 802C796C 0C0B1A6A */ jal si_handle_suspend_others
/* 0EC320 802C7970 0200202D */ daddu $a0, $s0, $zero
/* 0EC324 802C7974 080B1E95 */ j si_handle_end
/* 0EC324 802C7974 080B1E95 */ j .L802C7A54
/* 0EC328 802C7978 0040282D */ daddu $a1, $v0, $zero
/* 0EC32C 802C797C 0C0B1A79 */ jal si_handle_resume_others
/* 0EC330 802C7980 0200202D */ daddu $a0, $s0, $zero
/* 0EC334 802C7984 080B1E95 */ j si_handle_end
/* 0EC334 802C7984 080B1E95 */ j .L802C7A54
/* 0EC338 802C7988 0040282D */ daddu $a1, $v0, $zero
/* 0EC33C 802C798C 0C0B1A88 */ jal si_handle_suspend
/* 0EC340 802C7990 0200202D */ daddu $a0, $s0, $zero
/* 0EC344 802C7994 080B1E95 */ j si_handle_end
/* 0EC344 802C7994 080B1E95 */ j .L802C7A54
/* 0EC348 802C7998 0040282D */ daddu $a1, $v0, $zero
/* 0EC34C 802C799C 0C0B1A93 */ jal si_handle_resume
/* 0EC350 802C79A0 0200202D */ daddu $a0, $s0, $zero
/* 0EC354 802C79A4 080B1E95 */ j si_handle_end
/* 0EC354 802C79A4 080B1E95 */ j .L802C7A54
/* 0EC358 802C79A8 0040282D */ daddu $a1, $v0, $zero
/* 0EC35C 802C79AC 0C0B1A9E */ jal si_handle_does_script_exist
/* 0EC360 802C79B0 0200202D */ daddu $a0, $s0, $zero
/* 0EC364 802C79B4 080B1E95 */ j si_handle_end
/* 0EC364 802C79B4 080B1E95 */ j .L802C7A54
/* 0EC368 802C79B8 0040282D */ daddu $a1, $v0, $zero
/* 0EC36C 802C79BC 0C0B1B1E */ jal si_handle_thread
/* 0EC370 802C79C0 0200202D */ daddu $a0, $s0, $zero
/* 0EC374 802C79C4 080B1E95 */ j si_handle_end
/* 0EC374 802C79C4 080B1E95 */ j .L802C7A54
/* 0EC378 802C79C8 0040282D */ daddu $a1, $v0, $zero
/* 0EC37C 802C79CC 0C0B1B53 */ jal si_handle_end_thread
/* 0EC380 802C79D0 0200202D */ daddu $a0, $s0, $zero
/* 0EC384 802C79D4 080B1E95 */ j si_handle_end
/* 0EC384 802C79D4 080B1E95 */ j .L802C7A54
/* 0EC388 802C79D8 0040282D */ daddu $a1, $v0, $zero
/* 0EC38C 802C79DC 0C0B1B5B */ jal si_handle_child_thread
/* 0EC390 802C79E0 0200202D */ daddu $a0, $s0, $zero
/* 0EC394 802C79E4 080B1E95 */ j si_handle_end
/* 0EC394 802C79E4 080B1E95 */ j .L802C7A54
/* 0EC398 802C79E8 0040282D */ daddu $a1, $v0, $zero
/* 0EC39C 802C79EC 0C0B1B7D */ jal si_handle_end_child_thread
/* 0EC3A0 802C79F0 0200202D */ daddu $a0, $s0, $zero
/* 0EC3A4 802C79F4 080B1E95 */ j si_handle_end
/* 0EC3A4 802C79F4 080B1E95 */ j .L802C7A54
/* 0EC3A8 802C79F8 0040282D */ daddu $a1, $v0, $zero
/* 0EC3AC 802C79FC 0C0B1B85 */ jal func_802C6E14
/* 0EC3B0 802C7A00 0200202D */ daddu $a0, $s0, $zero
/* 0EC3B4 802C7A04 080B1E95 */ j si_handle_end
/* 0EC3B4 802C7A04 080B1E95 */ j .L802C7A54
/* 0EC3B8 802C7A08 0040282D */ daddu $a1, $v0, $zero
/* 0EC3BC 802C7A0C 0C0B1B87 */ jal si_handle_print_debug_var
/* 0EC3C0 802C7A10 0200202D */ daddu $a0, $s0, $zero
/* 0EC3C4 802C7A14 080B1E95 */ j si_handle_end
/* 0EC3C4 802C7A14 080B1E95 */ j .L802C7A54
/* 0EC3C8 802C7A18 0040282D */ daddu $a1, $v0, $zero
/* 0EC3CC 802C7A1C 0C0B1CE7 */ jal func_802C739C
/* 0EC3D0 802C7A20 0200202D */ daddu $a0, $s0, $zero
/* 0EC3D4 802C7A24 080B1E95 */ j si_handle_end
/* 0EC3D4 802C7A24 080B1E95 */ j .L802C7A54
/* 0EC3D8 802C7A28 0040282D */ daddu $a1, $v0, $zero
/* 0EC3DC 802C7A2C 0C0B1CEC */ jal func_802C73B0
/* 0EC3E0 802C7A30 0200202D */ daddu $a0, $s0, $zero
/* 0EC3E4 802C7A34 080B1E95 */ j si_handle_end
/* 0EC3E4 802C7A34 080B1E95 */ j .L802C7A54
/* 0EC3E8 802C7A38 0040282D */ daddu $a1, $v0, $zero
/* 0EC3EC 802C7A3C 0C0B1CEE */ jal func_802C73B8
/* 0EC3F0 802C7A40 0200202D */ daddu $a0, $s0, $zero
/* 0EC3F4 802C7A44 080B1E95 */ j si_handle_end
/* 0EC3F4 802C7A44 080B1E95 */ j .L802C7A54
/* 0EC3F8 802C7A48 0040282D */ daddu $a1, $v0, $zero
.L802C7A4C:
/* 0EC3FC 802C7A4C 080B1E93 */ j .L802C7A4C
/* 0EC400 802C7A50 00000000 */ nop
.L802C7A54:
/* 0EC404 802C7A54 24020003 */ addiu $v0, $zero, 3
/* 0EC408 802C7A58 10A2FE6E */ beq $a1, $v0, .L802C7414
/* 0EC40C 802C7A5C 240200FF */ addiu $v0, $zero, 0xff
/* 0EC410 802C7A60 10A20012 */ beq $a1, $v0, .L802C7AAC
/* 0EC414 802C7A64 2402FFFF */ addiu $v0, $zero, -1
/* 0EC418 802C7A68 04A00010 */ bltz $a1, .L802C7AAC
/* 0EC41C 802C7A6C 24020001 */ addiu $v0, $zero, 1
/* 0EC420 802C7A70 50A0000E */ beql $a1, $zero, .L802C7AAC
/* 0EC424 802C7A74 0000102D */ daddu $v0, $zero, $zero
/* 0EC428 802C7A78 14A20003 */ bne $a1, $v0, .L802C7A88
/* 0EC42C 802C7A7C 24020002 */ addiu $v0, $zero, 2
/* 0EC430 802C7A80 080B1EAA */ j .L802C7AA8
/* 0EC434 802C7A84 A2000002 */ sb $zero, 2($s0)
.L802C7A88:
/* 0EC438 802C7A88 14A2FE62 */ bne $a1, $v0, .L802C7414
/* 0EC43C 802C7A8C 00000000 */ nop
/* 0EC440 802C7A90 A2000002 */ sb $zero, 2($s0)
/* 0EC444 802C7A94 3C028007 */ lui $v0, 0x8007
/* 0EC448 802C7A98 8C42419C */ lw $v0, 0x419c($v0)
/* 0EC44C 802C7A9C 80420078 */ lb $v0, 0x78($v0)
/* 0EC450 802C7AA0 1445FE5C */ bne $v0, $a1, .L802C7414
/* 0EC454 802C7AA4 00000000 */ nop
.L802C7AA8:
/* 0EC458 802C7AA8 0000102D */ daddu $v0, $zero, $zero
.L802C7AAC:
/* 0EC45C 802C7AAC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0EC460 802C7AB0 8FB00010 */ lw $s0, 0x10($sp)
/* 0EC464 802C7AB4 03E00008 */ jr $ra
/* 0EC468 802C7AB8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_add
/* 0EA1B4 802C5804 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0EA1B8 802C5808 AFB10014 */ sw $s1, 0x14($sp)
/* 0EA1BC 802C580C 0080882D */ daddu $s1, $a0, $zero
/* 0EA1C0 802C5810 AFBF001C */ sw $ra, 0x1c($sp)
/* 0EA1C4 802C5814 AFB20018 */ sw $s2, 0x18($sp)
/* 0EA1C8 802C5818 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA1CC 802C581C 8E22000C */ lw $v0, 0xc($s1)
/* 0EA1D0 802C5820 8C450004 */ lw $a1, 4($v0)
/* 0EA1D4 802C5824 0C0B1EAF */ jal get_variable
/* 0EA1D8 802C5828 8C520000 */ lw $s2, ($v0)
/* 0EA1DC 802C582C 0040802D */ daddu $s0, $v0, $zero
/* 0EA1E0 802C5830 0220202D */ daddu $a0, $s1, $zero
/* 0EA1E4 802C5834 0C0B1EAF */ jal get_variable
/* 0EA1E8 802C5838 0240282D */ daddu $a1, $s2, $zero
/* 0EA1EC 802C583C 0220202D */ daddu $a0, $s1, $zero
/* 0EA1F0 802C5840 0240282D */ daddu $a1, $s2, $zero
/* 0EA1F4 802C5844 0C0B2026 */ jal set_variable
/* 0EA1F8 802C5848 02023021 */ addu $a2, $s0, $v0
/* 0EA1FC 802C584C 8FBF001C */ lw $ra, 0x1c($sp)
/* 0EA200 802C5850 8FB20018 */ lw $s2, 0x18($sp)
/* 0EA204 802C5854 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA208 802C5858 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA20C 802C585C 24020002 */ addiu $v0, $zero, 2
/* 0EA210 802C5860 03E00008 */ jr $ra
/* 0EA214 802C5864 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_addF
/* 0EA434 802C5A84 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0EA438 802C5A88 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA43C 802C5A8C 0080802D */ daddu $s0, $a0, $zero
/* 0EA440 802C5A90 AFBF0018 */ sw $ra, 0x18($sp)
/* 0EA444 802C5A94 AFB10014 */ sw $s1, 0x14($sp)
/* 0EA448 802C5A98 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0EA44C 802C5A9C 8E02000C */ lw $v0, 0xc($s0)
/* 0EA450 802C5AA0 8C450004 */ lw $a1, 4($v0)
/* 0EA454 802C5AA4 0C0B210B */ jal get_float_variable
/* 0EA458 802C5AA8 8C510000 */ lw $s1, ($v0)
/* 0EA45C 802C5AAC 46000506 */ mov.s $f20, $f0
/* 0EA460 802C5AB0 0200202D */ daddu $a0, $s0, $zero
/* 0EA464 802C5AB4 0C0B210B */ jal get_float_variable
/* 0EA468 802C5AB8 0220282D */ daddu $a1, $s1, $zero
/* 0EA46C 802C5ABC 4600A500 */ add.s $f20, $f20, $f0
/* 0EA470 802C5AC0 0200202D */ daddu $a0, $s0, $zero
/* 0EA474 802C5AC4 4406A000 */ mfc1 $a2, $f20
/* 0EA478 802C5AC8 0C0B2190 */ jal set_float_variable
/* 0EA47C 802C5ACC 0220282D */ daddu $a1, $s1, $zero
/* 0EA480 802C5AD0 8FBF0018 */ lw $ra, 0x18($sp)
/* 0EA484 802C5AD4 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA488 802C5AD8 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA48C 802C5ADC D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0EA490 802C5AE0 24020002 */ addiu $v0, $zero, 2
/* 0EA494 802C5AE4 03E00008 */ jr $ra
/* 0EA498 802C5AE8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_allocate_array
/* 0EABC4 802C6214 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0EABC8 802C6218 AFB10014 */ sw $s1, 0x14($sp)
/* 0EABCC 802C621C 0080882D */ daddu $s1, $a0, $zero
/* 0EABD0 802C6220 AFBF0018 */ sw $ra, 0x18($sp)
/* 0EABD4 802C6224 AFB00010 */ sw $s0, 0x10($sp)
/* 0EABD8 802C6228 8E30000C */ lw $s0, 0xc($s1)
/* 0EABDC 802C622C 8E050000 */ lw $a1, ($s0)
/* 0EABE0 802C6230 0C0B1EAF */ jal get_variable
/* 0EABE4 802C6234 26100004 */ addiu $s0, $s0, 4
/* 0EABE8 802C6238 8E100000 */ lw $s0, ($s0)
/* 0EABEC 802C623C 0C00AB39 */ jal heap_malloc
/* 0EABF0 802C6240 00022080 */ sll $a0, $v0, 2
/* 0EABF4 802C6244 0220202D */ daddu $a0, $s1, $zero
/* 0EABF8 802C6248 0040302D */ daddu $a2, $v0, $zero
/* 0EABFC 802C624C AC82013C */ sw $v0, 0x13c($a0)
/* 0EAC00 802C6250 0C0B2026 */ jal set_variable
/* 0EAC04 802C6254 0200282D */ daddu $a1, $s0, $zero
/* 0EAC08 802C6258 8FBF0018 */ lw $ra, 0x18($sp)
/* 0EAC0C 802C625C 8FB10014 */ lw $s1, 0x14($sp)
/* 0EAC10 802C6260 8FB00010 */ lw $s0, 0x10($sp)
/* 0EAC14 802C6264 24020002 */ addiu $v0, $zero, 2
/* 0EAC18 802C6268 03E00008 */ jr $ra
/* 0EAC1C 802C626C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_case_default
/* 0E9DF4 802C5444 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0E9DF8 802C5448 AFB00010 */ sw $s0, 0x10($sp)
/* 0E9DFC 802C544C 0080802D */ daddu $s0, $a0, $zero
/* 0E9E00 802C5450 AFBF0014 */ sw $ra, 0x14($sp)
/* 0E9E04 802C5454 82020007 */ lb $v0, 7($s0)
/* 0E9E08 802C5458 04410003 */ bgez $v0, .L802C5468
/* 0E9E0C 802C545C 02021821 */ addu $v1, $s0, $v0
.L802C5460:
/* 0E9E10 802C5460 080B1518 */ j .L802C5460
/* 0E9E14 802C5464 00000000 */ nop
.L802C5468:
/* 0E9E18 802C5468 80620110 */ lb $v0, 0x110($v1)
/* 0E9E1C 802C546C 18400003 */ blez $v0, .L802C547C
/* 0E9E20 802C5470 00000000 */ nop
/* 0E9E24 802C5474 080B1522 */ j .L802C5488
/* 0E9E28 802C5478 A0600110 */ sb $zero, 0x110($v1)
.L802C547C:
/* 0E9E2C 802C547C 0C0B2279 */ jal si_goto_end_case
/* 0E9E30 802C5480 0200202D */ daddu $a0, $s0, $zero
/* 0E9E34 802C5484 AE020008 */ sw $v0, 8($s0)
.L802C5488:
/* 0E9E38 802C5488 24020002 */ addiu $v0, $zero, 2
/* 0E9E3C 802C548C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0E9E40 802C5490 8FB00010 */ lw $s0, 0x10($sp)
/* 0E9E44 802C5494 03E00008 */ jr $ra
/* 0E9E48 802C5498 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,42 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_divide
/* 0EA2E4 802C5934 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0EA2E8 802C5938 AFB10014 */ sw $s1, 0x14($sp)
/* 0EA2EC 802C593C 0080882D */ daddu $s1, $a0, $zero
/* 0EA2F0 802C5940 AFBF001C */ sw $ra, 0x1c($sp)
/* 0EA2F4 802C5944 AFB20018 */ sw $s2, 0x18($sp)
/* 0EA2F8 802C5948 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA2FC 802C594C 8E22000C */ lw $v0, 0xc($s1)
/* 0EA300 802C5950 8C450004 */ lw $a1, 4($v0)
/* 0EA304 802C5954 0C0B1EAF */ jal get_variable
/* 0EA308 802C5958 8C520000 */ lw $s2, ($v0)
/* 0EA30C 802C595C 0220202D */ daddu $a0, $s1, $zero
/* 0EA310 802C5960 0240282D */ daddu $a1, $s2, $zero
/* 0EA314 802C5964 0C0B1EAF */ jal get_variable
/* 0EA318 802C5968 0040802D */ daddu $s0, $v0, $zero
/* 0EA31C 802C596C 16000002 */ bnez $s0, .L802C5978
/* 0EA320 802C5970 0050001A */ div $zero, $v0, $s0
/* 0EA324 802C5974 0007000D */ break 7
.L802C5978:
/* 0EA328 802C5978 2401FFFF */ addiu $at, $zero, -1
/* 0EA32C 802C597C 16010004 */ bne $s0, $at, .L802C5990
/* 0EA330 802C5980 3C018000 */ lui $at, 0x8000
/* 0EA334 802C5984 14410002 */ bne $v0, $at, .L802C5990
/* 0EA338 802C5988 00000000 */ nop
/* 0EA33C 802C598C 0006000D */ break 6
.L802C5990:
/* 0EA340 802C5990 00003012 */ mflo $a2
/* 0EA344 802C5994 0220202D */ daddu $a0, $s1, $zero
/* 0EA348 802C5998 0C0B2026 */ jal set_variable
/* 0EA34C 802C599C 0240282D */ daddu $a1, $s2, $zero
/* 0EA350 802C59A0 8FBF001C */ lw $ra, 0x1c($sp)
/* 0EA354 802C59A4 8FB20018 */ lw $s2, 0x18($sp)
/* 0EA358 802C59A8 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA35C 802C59AC 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA360 802C59B0 24020002 */ addiu $v0, $zero, 2
/* 0EA364 802C59B4 03E00008 */ jr $ra
/* 0EA368 802C59B8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_divideF
/* 0EA570 802C5BC0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0EA574 802C5BC4 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA578 802C5BC8 0080802D */ daddu $s0, $a0, $zero
/* 0EA57C 802C5BCC AFBF0018 */ sw $ra, 0x18($sp)
/* 0EA580 802C5BD0 AFB10014 */ sw $s1, 0x14($sp)
/* 0EA584 802C5BD4 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0EA588 802C5BD8 8E02000C */ lw $v0, 0xc($s0)
/* 0EA58C 802C5BDC 8C450004 */ lw $a1, 4($v0)
/* 0EA590 802C5BE0 0C0B210B */ jal get_float_variable
/* 0EA594 802C5BE4 8C510000 */ lw $s1, ($v0)
/* 0EA598 802C5BE8 46000506 */ mov.s $f20, $f0
/* 0EA59C 802C5BEC 0200202D */ daddu $a0, $s0, $zero
/* 0EA5A0 802C5BF0 0C0B210B */ jal get_float_variable
/* 0EA5A4 802C5BF4 0220282D */ daddu $a1, $s1, $zero
/* 0EA5A8 802C5BF8 0200202D */ daddu $a0, $s0, $zero
/* 0EA5AC 802C5BFC 46140003 */ div.s $f0, $f0, $f20
/* 0EA5B0 802C5C00 44060000 */ mfc1 $a2, $f0
/* 0EA5B4 802C5C04 0C0B2190 */ jal set_float_variable
/* 0EA5B8 802C5C08 0220282D */ daddu $a1, $s1, $zero
/* 0EA5BC 802C5C0C 8FBF0018 */ lw $ra, 0x18($sp)
/* 0EA5C0 802C5C10 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA5C4 802C5C14 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA5C8 802C5C18 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0EA5CC 802C5C1C 24020002 */ addiu $v0, $zero, 2
/* 0EA5D0 802C5C20 03E00008 */ jr $ra
/* 0EA5D4 802C5C24 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,36 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_end
/* 0EC404 802C7A54 24020003 */ addiu $v0, $zero, 3
/* 0EC408 802C7A58 10A2FE6E */ beq $a1, $v0, .L802C7414
/* 0EC40C 802C7A5C 240200FF */ addiu $v0, $zero, 0xff
/* 0EC410 802C7A60 10A20012 */ beq $a1, $v0, .L802C7AAC
/* 0EC414 802C7A64 2402FFFF */ addiu $v0, $zero, -1
/* 0EC418 802C7A68 04A00010 */ bltz $a1, .L802C7AAC
/* 0EC41C 802C7A6C 24020001 */ addiu $v0, $zero, 1
/* 0EC420 802C7A70 50A0000E */ beql $a1, $zero, .L802C7AAC
/* 0EC424 802C7A74 0000102D */ daddu $v0, $zero, $zero
/* 0EC428 802C7A78 14A20003 */ bne $a1, $v0, .L802C7A88
/* 0EC42C 802C7A7C 24020002 */ addiu $v0, $zero, 2
/* 0EC430 802C7A80 080B1EAA */ j .L802C7AA8
/* 0EC434 802C7A84 A2000002 */ sb $zero, 2($s0)
.L802C7A88:
/* 0EC438 802C7A88 14A2FE62 */ bne $a1, $v0, .L802C7414
/* 0EC43C 802C7A8C 00000000 */ nop
/* 0EC440 802C7A90 A2000002 */ sb $zero, 2($s0)
/* 0EC444 802C7A94 3C028007 */ lui $v0, 0x8007
/* 0EC448 802C7A98 8C42419C */ lw $v0, 0x419c($v0)
/* 0EC44C 802C7A9C 80420078 */ lb $v0, 0x78($v0)
/* 0EC450 802C7AA0 1445FE5C */ bne $v0, $a1, .L802C7414
/* 0EC454 802C7AA4 00000000 */ nop
.L802C7AA8:
/* 0EC458 802C7AA8 0000102D */ daddu $v0, $zero, $zero
.L802C7AAC:
/* 0EC45C 802C7AAC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0EC460 802C7AB0 8FB00010 */ lw $s0, 0x10($sp)
/* 0EC464 802C7AB4 03E00008 */ jr $ra
/* 0EC468 802C7AB8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_if_equal
/* 0E95F0 802C4C40 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E95F4 802C4C44 AFB10014 */ sw $s1, 0x14($sp)
/* 0E95F8 802C4C48 0080882D */ daddu $s1, $a0, $zero
/* 0E95FC 802C4C4C AFBF0018 */ sw $ra, 0x18($sp)
/* 0E9600 802C4C50 AFB00010 */ sw $s0, 0x10($sp)
/* 0E9604 802C4C54 8E30000C */ lw $s0, 0xc($s1)
/* 0E9608 802C4C58 8E050000 */ lw $a1, ($s0)
/* 0E960C 802C4C5C 0C0B1EAF */ jal get_variable
/* 0E9610 802C4C60 26100004 */ addiu $s0, $s0, 4
/* 0E9614 802C4C64 0220202D */ daddu $a0, $s1, $zero
/* 0E9618 802C4C68 8E050000 */ lw $a1, ($s0)
/* 0E961C 802C4C6C 0C0B1EAF */ jal get_variable
/* 0E9620 802C4C70 0040802D */ daddu $s0, $v0, $zero
/* 0E9624 802C4C74 12020005 */ beq $s0, $v0, .L802C4C8C
/* 0E9628 802C4C78 24020002 */ addiu $v0, $zero, 2
/* 0E962C 802C4C7C 0C0B223F */ jal si_skip_if
/* 0E9630 802C4C80 0220202D */ daddu $a0, $s1, $zero
/* 0E9634 802C4C84 AE220008 */ sw $v0, 8($s1)
/* 0E9638 802C4C88 24020002 */ addiu $v0, $zero, 2
.L802C4C8C:
/* 0E963C 802C4C8C 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E9640 802C4C90 8FB10014 */ lw $s1, 0x14($sp)
/* 0E9644 802C4C94 8FB00010 */ lw $s0, 0x10($sp)
/* 0E9648 802C4C98 03E00008 */ jr $ra
/* 0E964C 802C4C9C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_if_greater
/* 0E9714 802C4D64 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E9718 802C4D68 AFB10014 */ sw $s1, 0x14($sp)
/* 0E971C 802C4D6C 0080882D */ daddu $s1, $a0, $zero
/* 0E9720 802C4D70 AFBF0018 */ sw $ra, 0x18($sp)
/* 0E9724 802C4D74 AFB00010 */ sw $s0, 0x10($sp)
/* 0E9728 802C4D78 8E30000C */ lw $s0, 0xc($s1)
/* 0E972C 802C4D7C 8E050000 */ lw $a1, ($s0)
/* 0E9730 802C4D80 0C0B1EAF */ jal get_variable
/* 0E9734 802C4D84 26100004 */ addiu $s0, $s0, 4
/* 0E9738 802C4D88 0220202D */ daddu $a0, $s1, $zero
/* 0E973C 802C4D8C 8E050000 */ lw $a1, ($s0)
/* 0E9740 802C4D90 0C0B1EAF */ jal get_variable
/* 0E9744 802C4D94 0040802D */ daddu $s0, $v0, $zero
/* 0E9748 802C4D98 0050102A */ slt $v0, $v0, $s0
/* 0E974C 802C4D9C 14400005 */ bnez $v0, .L802C4DB4
/* 0E9750 802C4DA0 24020002 */ addiu $v0, $zero, 2
/* 0E9754 802C4DA4 0C0B223F */ jal si_skip_if
/* 0E9758 802C4DA8 0220202D */ daddu $a0, $s1, $zero
/* 0E975C 802C4DAC AE220008 */ sw $v0, 8($s1)
/* 0E9760 802C4DB0 24020002 */ addiu $v0, $zero, 2
.L802C4DB4:
/* 0E9764 802C4DB4 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E9768 802C4DB8 8FB10014 */ lw $s1, 0x14($sp)
/* 0E976C 802C4DBC 8FB00010 */ lw $s0, 0x10($sp)
/* 0E9770 802C4DC0 03E00008 */ jr $ra
/* 0E9774 802C4DC4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_if_greater_equal
/* 0E97DC 802C4E2C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E97E0 802C4E30 AFB10014 */ sw $s1, 0x14($sp)
/* 0E97E4 802C4E34 0080882D */ daddu $s1, $a0, $zero
/* 0E97E8 802C4E38 AFBF0018 */ sw $ra, 0x18($sp)
/* 0E97EC 802C4E3C AFB00010 */ sw $s0, 0x10($sp)
/* 0E97F0 802C4E40 8E30000C */ lw $s0, 0xc($s1)
/* 0E97F4 802C4E44 8E050000 */ lw $a1, ($s0)
/* 0E97F8 802C4E48 0C0B1EAF */ jal get_variable
/* 0E97FC 802C4E4C 26100004 */ addiu $s0, $s0, 4
/* 0E9800 802C4E50 0220202D */ daddu $a0, $s1, $zero
/* 0E9804 802C4E54 8E050000 */ lw $a1, ($s0)
/* 0E9808 802C4E58 0C0B1EAF */ jal get_variable
/* 0E980C 802C4E5C 0040802D */ daddu $s0, $v0, $zero
/* 0E9810 802C4E60 0202802A */ slt $s0, $s0, $v0
/* 0E9814 802C4E64 12000005 */ beqz $s0, .L802C4E7C
/* 0E9818 802C4E68 24020002 */ addiu $v0, $zero, 2
/* 0E981C 802C4E6C 0C0B223F */ jal si_skip_if
/* 0E9820 802C4E70 0220202D */ daddu $a0, $s1, $zero
/* 0E9824 802C4E74 AE220008 */ sw $v0, 8($s1)
/* 0E9828 802C4E78 24020002 */ addiu $v0, $zero, 2
.L802C4E7C:
/* 0E982C 802C4E7C 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E9830 802C4E80 8FB10014 */ lw $s1, 0x14($sp)
/* 0E9834 802C4E84 8FB00010 */ lw $s0, 0x10($sp)
/* 0E9838 802C4E88 03E00008 */ jr $ra
/* 0E983C 802C4E8C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_if_less
/* 0E96B0 802C4D00 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E96B4 802C4D04 AFB10014 */ sw $s1, 0x14($sp)
/* 0E96B8 802C4D08 0080882D */ daddu $s1, $a0, $zero
/* 0E96BC 802C4D0C AFBF0018 */ sw $ra, 0x18($sp)
/* 0E96C0 802C4D10 AFB00010 */ sw $s0, 0x10($sp)
/* 0E96C4 802C4D14 8E30000C */ lw $s0, 0xc($s1)
/* 0E96C8 802C4D18 8E050000 */ lw $a1, ($s0)
/* 0E96CC 802C4D1C 0C0B1EAF */ jal get_variable
/* 0E96D0 802C4D20 26100004 */ addiu $s0, $s0, 4
/* 0E96D4 802C4D24 0220202D */ daddu $a0, $s1, $zero
/* 0E96D8 802C4D28 8E050000 */ lw $a1, ($s0)
/* 0E96DC 802C4D2C 0C0B1EAF */ jal get_variable
/* 0E96E0 802C4D30 0040802D */ daddu $s0, $v0, $zero
/* 0E96E4 802C4D34 0202802A */ slt $s0, $s0, $v0
/* 0E96E8 802C4D38 16000005 */ bnez $s0, .L802C4D50
/* 0E96EC 802C4D3C 24020002 */ addiu $v0, $zero, 2
/* 0E96F0 802C4D40 0C0B223F */ jal si_skip_if
/* 0E96F4 802C4D44 0220202D */ daddu $a0, $s1, $zero
/* 0E96F8 802C4D48 AE220008 */ sw $v0, 8($s1)
/* 0E96FC 802C4D4C 24020002 */ addiu $v0, $zero, 2
.L802C4D50:
/* 0E9700 802C4D50 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E9704 802C4D54 8FB10014 */ lw $s1, 0x14($sp)
/* 0E9708 802C4D58 8FB00010 */ lw $s0, 0x10($sp)
/* 0E970C 802C4D5C 03E00008 */ jr $ra
/* 0E9710 802C4D60 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_if_less_equal
/* 0E9778 802C4DC8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E977C 802C4DCC AFB10014 */ sw $s1, 0x14($sp)
/* 0E9780 802C4DD0 0080882D */ daddu $s1, $a0, $zero
/* 0E9784 802C4DD4 AFBF0018 */ sw $ra, 0x18($sp)
/* 0E9788 802C4DD8 AFB00010 */ sw $s0, 0x10($sp)
/* 0E978C 802C4DDC 8E30000C */ lw $s0, 0xc($s1)
/* 0E9790 802C4DE0 8E050000 */ lw $a1, ($s0)
/* 0E9794 802C4DE4 0C0B1EAF */ jal get_variable
/* 0E9798 802C4DE8 26100004 */ addiu $s0, $s0, 4
/* 0E979C 802C4DEC 0220202D */ daddu $a0, $s1, $zero
/* 0E97A0 802C4DF0 8E050000 */ lw $a1, ($s0)
/* 0E97A4 802C4DF4 0C0B1EAF */ jal get_variable
/* 0E97A8 802C4DF8 0040802D */ daddu $s0, $v0, $zero
/* 0E97AC 802C4DFC 0050102A */ slt $v0, $v0, $s0
/* 0E97B0 802C4E00 10400005 */ beqz $v0, .L802C4E18
/* 0E97B4 802C4E04 24020002 */ addiu $v0, $zero, 2
/* 0E97B8 802C4E08 0C0B223F */ jal si_skip_if
/* 0E97BC 802C4E0C 0220202D */ daddu $a0, $s1, $zero
/* 0E97C0 802C4E10 AE220008 */ sw $v0, 8($s1)
/* 0E97C4 802C4E14 24020002 */ addiu $v0, $zero, 2
.L802C4E18:
/* 0E97C8 802C4E18 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E97CC 802C4E1C 8FB10014 */ lw $s1, 0x14($sp)
/* 0E97D0 802C4E20 8FB00010 */ lw $s0, 0x10($sp)
/* 0E97D4 802C4E24 03E00008 */ jr $ra
/* 0E97D8 802C4E28 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_if_not_equal
/* 0E9650 802C4CA0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E9654 802C4CA4 AFB10014 */ sw $s1, 0x14($sp)
/* 0E9658 802C4CA8 0080882D */ daddu $s1, $a0, $zero
/* 0E965C 802C4CAC AFBF0018 */ sw $ra, 0x18($sp)
/* 0E9660 802C4CB0 AFB00010 */ sw $s0, 0x10($sp)
/* 0E9664 802C4CB4 8E30000C */ lw $s0, 0xc($s1)
/* 0E9668 802C4CB8 8E050000 */ lw $a1, ($s0)
/* 0E966C 802C4CBC 0C0B1EAF */ jal get_variable
/* 0E9670 802C4CC0 26100004 */ addiu $s0, $s0, 4
/* 0E9674 802C4CC4 0220202D */ daddu $a0, $s1, $zero
/* 0E9678 802C4CC8 8E050000 */ lw $a1, ($s0)
/* 0E967C 802C4CCC 0C0B1EAF */ jal get_variable
/* 0E9680 802C4CD0 0040802D */ daddu $s0, $v0, $zero
/* 0E9684 802C4CD4 16020005 */ bne $s0, $v0, .L802C4CEC
/* 0E9688 802C4CD8 24020002 */ addiu $v0, $zero, 2
/* 0E968C 802C4CDC 0C0B223F */ jal si_skip_if
/* 0E9690 802C4CE0 0220202D */ daddu $a0, $s1, $zero
/* 0E9694 802C4CE4 AE220008 */ sw $v0, 8($s1)
/* 0E9698 802C4CE8 24020002 */ addiu $v0, $zero, 2
.L802C4CEC:
/* 0E969C 802C4CEC 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E96A0 802C4CF0 8FB10014 */ lw $s1, 0x14($sp)
/* 0E96A4 802C4CF4 8FB00010 */ lw $s0, 0x10($sp)
/* 0E96A8 802C4CF8 03E00008 */ jr $ra
/* 0E96AC 802C4CFC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,58 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_mod
/* 0EA36C 802C59BC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0EA370 802C59C0 AFB10014 */ sw $s1, 0x14($sp)
/* 0EA374 802C59C4 0080882D */ daddu $s1, $a0, $zero
/* 0EA378 802C59C8 AFBF001C */ sw $ra, 0x1c($sp)
/* 0EA37C 802C59CC AFB20018 */ sw $s2, 0x18($sp)
/* 0EA380 802C59D0 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA384 802C59D4 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0EA388 802C59D8 8E22000C */ lw $v0, 0xc($s1)
/* 0EA38C 802C59DC 8C450004 */ lw $a1, 4($v0)
/* 0EA390 802C59E0 0C0B1EAF */ jal get_variable
/* 0EA394 802C59E4 8C520000 */ lw $s2, ($v0)
/* 0EA398 802C59E8 3C013FE0 */ lui $at, 0x3fe0
/* 0EA39C 802C59EC 4481A800 */ mtc1 $at, $f21
/* 0EA3A0 802C59F0 4480A000 */ mtc1 $zero, $f20
/* 0EA3A4 802C59F4 44820000 */ mtc1 $v0, $f0
/* 0EA3A8 802C59F8 00000000 */ nop
/* 0EA3AC 802C59FC 46800021 */ cvt.d.w $f0, $f0
/* 0EA3B0 802C5A00 46340000 */ add.d $f0, $f0, $f20
/* 0EA3B4 802C5A04 0220202D */ daddu $a0, $s1, $zero
/* 0EA3B8 802C5A08 4620008D */ trunc.w.d $f2, $f0
/* 0EA3BC 802C5A0C 44101000 */ mfc1 $s0, $f2
/* 0EA3C0 802C5A10 0C0B1EAF */ jal get_variable
/* 0EA3C4 802C5A14 0240282D */ daddu $a1, $s2, $zero
/* 0EA3C8 802C5A18 44820000 */ mtc1 $v0, $f0
/* 0EA3CC 802C5A1C 00000000 */ nop
/* 0EA3D0 802C5A20 46800021 */ cvt.d.w $f0, $f0
/* 0EA3D4 802C5A24 46340000 */ add.d $f0, $f0, $f20
/* 0EA3D8 802C5A28 4620008D */ trunc.w.d $f2, $f0
/* 0EA3DC 802C5A2C 44021000 */ mfc1 $v0, $f2
/* 0EA3E0 802C5A30 16000002 */ bnez $s0, .L802C5A3C
/* 0EA3E4 802C5A34 0050001A */ div $zero, $v0, $s0
/* 0EA3E8 802C5A38 0007000D */ break 7
.L802C5A3C:
/* 0EA3EC 802C5A3C 2401FFFF */ addiu $at, $zero, -1
/* 0EA3F0 802C5A40 16010004 */ bne $s0, $at, .L802C5A54
/* 0EA3F4 802C5A44 3C018000 */ lui $at, 0x8000
/* 0EA3F8 802C5A48 14410002 */ bne $v0, $at, .L802C5A54
/* 0EA3FC 802C5A4C 00000000 */ nop
/* 0EA400 802C5A50 0006000D */ break 6
.L802C5A54:
/* 0EA404 802C5A54 00003010 */ mfhi $a2
/* 0EA408 802C5A58 0220202D */ daddu $a0, $s1, $zero
/* 0EA40C 802C5A5C 0C0B2026 */ jal set_variable
/* 0EA410 802C5A60 0240282D */ daddu $a1, $s2, $zero
/* 0EA414 802C5A64 8FBF001C */ lw $ra, 0x1c($sp)
/* 0EA418 802C5A68 8FB20018 */ lw $s2, 0x18($sp)
/* 0EA41C 802C5A6C 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA420 802C5A70 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA424 802C5A74 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0EA428 802C5A78 24020002 */ addiu $v0, $zero, 2
/* 0EA42C 802C5A7C 03E00008 */ jr $ra
/* 0EA430 802C5A80 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_multiply
/* 0EA27C 802C58CC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0EA280 802C58D0 AFB10014 */ sw $s1, 0x14($sp)
/* 0EA284 802C58D4 0080882D */ daddu $s1, $a0, $zero
/* 0EA288 802C58D8 AFBF001C */ sw $ra, 0x1c($sp)
/* 0EA28C 802C58DC AFB20018 */ sw $s2, 0x18($sp)
/* 0EA290 802C58E0 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA294 802C58E4 8E22000C */ lw $v0, 0xc($s1)
/* 0EA298 802C58E8 8C450004 */ lw $a1, 4($v0)
/* 0EA29C 802C58EC 0C0B1EAF */ jal get_variable
/* 0EA2A0 802C58F0 8C520000 */ lw $s2, ($v0)
/* 0EA2A4 802C58F4 0040802D */ daddu $s0, $v0, $zero
/* 0EA2A8 802C58F8 0220202D */ daddu $a0, $s1, $zero
/* 0EA2AC 802C58FC 0C0B1EAF */ jal get_variable
/* 0EA2B0 802C5900 0240282D */ daddu $a1, $s2, $zero
/* 0EA2B4 802C5904 02020018 */ mult $s0, $v0
/* 0EA2B8 802C5908 0220202D */ daddu $a0, $s1, $zero
/* 0EA2BC 802C590C 00003012 */ mflo $a2
/* 0EA2C0 802C5910 0C0B2026 */ jal set_variable
/* 0EA2C4 802C5914 0240282D */ daddu $a1, $s2, $zero
/* 0EA2C8 802C5918 8FBF001C */ lw $ra, 0x1c($sp)
/* 0EA2CC 802C591C 8FB20018 */ lw $s2, 0x18($sp)
/* 0EA2D0 802C5920 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA2D4 802C5924 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA2D8 802C5928 24020002 */ addiu $v0, $zero, 2
/* 0EA2DC 802C592C 03E00008 */ jr $ra
/* 0EA2E0 802C5930 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,33 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_multiplyF
/* 0EA504 802C5B54 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0EA508 802C5B58 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA50C 802C5B5C 0080802D */ daddu $s0, $a0, $zero
/* 0EA510 802C5B60 AFBF0018 */ sw $ra, 0x18($sp)
/* 0EA514 802C5B64 AFB10014 */ sw $s1, 0x14($sp)
/* 0EA518 802C5B68 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0EA51C 802C5B6C 8E02000C */ lw $v0, 0xc($s0)
/* 0EA520 802C5B70 8C450004 */ lw $a1, 4($v0)
/* 0EA524 802C5B74 0C0B210B */ jal get_float_variable
/* 0EA528 802C5B78 8C510000 */ lw $s1, ($v0)
/* 0EA52C 802C5B7C 46000506 */ mov.s $f20, $f0
/* 0EA530 802C5B80 0200202D */ daddu $a0, $s0, $zero
/* 0EA534 802C5B84 0C0B210B */ jal get_float_variable
/* 0EA538 802C5B88 0220282D */ daddu $a1, $s1, $zero
/* 0EA53C 802C5B8C 4600A502 */ mul.s $f20, $f20, $f0
/* 0EA540 802C5B90 00000000 */ nop
/* 0EA544 802C5B94 0200202D */ daddu $a0, $s0, $zero
/* 0EA548 802C5B98 4406A000 */ mfc1 $a2, $f20
/* 0EA54C 802C5B9C 0C0B2190 */ jal set_float_variable
/* 0EA550 802C5BA0 0220282D */ daddu $a1, $s1, $zero
/* 0EA554 802C5BA4 8FBF0018 */ lw $ra, 0x18($sp)
/* 0EA558 802C5BA8 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA55C 802C5BAC 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA560 802C5BB0 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0EA564 802C5BB4 24020002 */ addiu $v0, $zero, 2
/* 0EA568 802C5BB8 03E00008 */ jr $ra
/* 0EA56C 802C5BBC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_subtract
/* 0EA218 802C5868 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0EA21C 802C586C AFB10014 */ sw $s1, 0x14($sp)
/* 0EA220 802C5870 0080882D */ daddu $s1, $a0, $zero
/* 0EA224 802C5874 AFBF001C */ sw $ra, 0x1c($sp)
/* 0EA228 802C5878 AFB20018 */ sw $s2, 0x18($sp)
/* 0EA22C 802C587C AFB00010 */ sw $s0, 0x10($sp)
/* 0EA230 802C5880 8E22000C */ lw $v0, 0xc($s1)
/* 0EA234 802C5884 8C450004 */ lw $a1, 4($v0)
/* 0EA238 802C5888 0C0B1EAF */ jal get_variable
/* 0EA23C 802C588C 8C520000 */ lw $s2, ($v0)
/* 0EA240 802C5890 0040802D */ daddu $s0, $v0, $zero
/* 0EA244 802C5894 0220202D */ daddu $a0, $s1, $zero
/* 0EA248 802C5898 0C0B1EAF */ jal get_variable
/* 0EA24C 802C589C 0240282D */ daddu $a1, $s2, $zero
/* 0EA250 802C58A0 0220202D */ daddu $a0, $s1, $zero
/* 0EA254 802C58A4 0240282D */ daddu $a1, $s2, $zero
/* 0EA258 802C58A8 0C0B2026 */ jal set_variable
/* 0EA25C 802C58AC 00503023 */ subu $a2, $v0, $s0
/* 0EA260 802C58B0 8FBF001C */ lw $ra, 0x1c($sp)
/* 0EA264 802C58B4 8FB20018 */ lw $s2, 0x18($sp)
/* 0EA268 802C58B8 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA26C 802C58BC 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA270 802C58C0 24020002 */ addiu $v0, $zero, 2
/* 0EA274 802C58C4 03E00008 */ jr $ra
/* 0EA278 802C58C8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_subtractF
/* 0EA49C 802C5AEC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0EA4A0 802C5AF0 AFB00010 */ sw $s0, 0x10($sp)
/* 0EA4A4 802C5AF4 0080802D */ daddu $s0, $a0, $zero
/* 0EA4A8 802C5AF8 AFBF0018 */ sw $ra, 0x18($sp)
/* 0EA4AC 802C5AFC AFB10014 */ sw $s1, 0x14($sp)
/* 0EA4B0 802C5B00 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0EA4B4 802C5B04 8E02000C */ lw $v0, 0xc($s0)
/* 0EA4B8 802C5B08 8C450004 */ lw $a1, 4($v0)
/* 0EA4BC 802C5B0C 0C0B210B */ jal get_float_variable
/* 0EA4C0 802C5B10 8C510000 */ lw $s1, ($v0)
/* 0EA4C4 802C5B14 46000506 */ mov.s $f20, $f0
/* 0EA4C8 802C5B18 0200202D */ daddu $a0, $s0, $zero
/* 0EA4CC 802C5B1C 0C0B210B */ jal get_float_variable
/* 0EA4D0 802C5B20 0220282D */ daddu $a1, $s1, $zero
/* 0EA4D4 802C5B24 46140001 */ sub.s $f0, $f0, $f20
/* 0EA4D8 802C5B28 0200202D */ daddu $a0, $s0, $zero
/* 0EA4DC 802C5B2C 44060000 */ mfc1 $a2, $f0
/* 0EA4E0 802C5B30 0C0B2190 */ jal set_float_variable
/* 0EA4E4 802C5B34 0220282D */ daddu $a1, $s1, $zero
/* 0EA4E8 802C5B38 8FBF0018 */ lw $ra, 0x18($sp)
/* 0EA4EC 802C5B3C 8FB10014 */ lw $s1, 0x14($sp)
/* 0EA4F0 802C5B40 8FB00010 */ lw $s0, 0x10($sp)
/* 0EA4F4 802C5B44 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0EA4F8 802C5B48 24020002 */ addiu $v0, $zero, 2
/* 0EA4FC 802C5B4C 03E00008 */ jr $ra
/* 0EA500 802C5B50 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,33 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_wait
/* 0E950C 802C4B5C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0E9510 802C4B60 AFB00010 */ sw $s0, 0x10($sp)
/* 0E9514 802C4B64 0080802D */ daddu $s0, $a0, $zero
/* 0E9518 802C4B68 AFBF0014 */ sw $ra, 0x14($sp)
/* 0E951C 802C4B6C 82020005 */ lb $v0, 5($s0)
/* 0E9520 802C4B70 14400006 */ bnez $v0, .L802C4B8C
/* 0E9524 802C4B74 8E05000C */ lw $a1, 0xc($s0)
/* 0E9528 802C4B78 0C0B1EAF */ jal get_variable
/* 0E952C 802C4B7C 8CA50000 */ lw $a1, ($a1)
/* 0E9530 802C4B80 AE020070 */ sw $v0, 0x70($s0)
/* 0E9534 802C4B84 24020001 */ addiu $v0, $zero, 1
/* 0E9538 802C4B88 A2020005 */ sb $v0, 5($s0)
.L802C4B8C:
/* 0E953C 802C4B8C 8E020070 */ lw $v0, 0x70($s0)
/* 0E9540 802C4B90 10400004 */ beqz $v0, .L802C4BA4
/* 0E9544 802C4B94 2442FFFF */ addiu $v0, $v0, -1
/* 0E9548 802C4B98 AE020070 */ sw $v0, 0x70($s0)
/* 0E954C 802C4B9C 080B12EA */ j .L802C4BA8
/* 0E9550 802C4BA0 2C420001 */ sltiu $v0, $v0, 1
.L802C4BA4:
/* 0E9554 802C4BA4 24020002 */ addiu $v0, $zero, 2
.L802C4BA8:
/* 0E9558 802C4BA8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0E955C 802C4BAC 8FB00010 */ lw $s0, 0x10($sp)
/* 0E9560 802C4BB0 03E00008 */ jr $ra
/* 0E9564 802C4BB4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,44 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel si_handle_wait_seconds
/* 0E9568 802C4BB8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0E956C 802C4BBC AFB00010 */ sw $s0, 0x10($sp)
/* 0E9570 802C4BC0 0080802D */ daddu $s0, $a0, $zero
/* 0E9574 802C4BC4 AFBF0014 */ sw $ra, 0x14($sp)
/* 0E9578 802C4BC8 82020005 */ lb $v0, 5($s0)
/* 0E957C 802C4BCC 14400011 */ bnez $v0, .L802C4C14
/* 0E9580 802C4BD0 8E05000C */ lw $a1, 0xc($s0)
/* 0E9584 802C4BD4 0C0B210B */ jal get_float_variable
/* 0E9588 802C4BD8 8CA50000 */ lw $a1, ($a1)
/* 0E958C 802C4BDC 3C0141F0 */ lui $at, 0x41f0
/* 0E9590 802C4BE0 44811000 */ mtc1 $at, $f2
/* 0E9594 802C4BE4 00000000 */ nop
/* 0E9598 802C4BE8 46020002 */ mul.s $f0, $f0, $f2
/* 0E959C 802C4BEC 00000000 */ nop
/* 0E95A0 802C4BF0 3C013FE0 */ lui $at, 0x3fe0
/* 0E95A4 802C4BF4 44811800 */ mtc1 $at, $f3
/* 0E95A8 802C4BF8 44801000 */ mtc1 $zero, $f2
/* 0E95AC 802C4BFC 46000021 */ cvt.d.s $f0, $f0
/* 0E95B0 802C4C00 46220000 */ add.d $f0, $f0, $f2
/* 0E95B4 802C4C04 24020001 */ addiu $v0, $zero, 1
/* 0E95B8 802C4C08 A2020005 */ sb $v0, 5($s0)
/* 0E95BC 802C4C0C 4620010D */ trunc.w.d $f4, $f0
/* 0E95C0 802C4C10 E6040070 */ swc1 $f4, 0x70($s0)
.L802C4C14:
/* 0E95C4 802C4C14 8E020070 */ lw $v0, 0x70($s0)
/* 0E95C8 802C4C18 10400004 */ beqz $v0, .L802C4C2C
/* 0E95CC 802C4C1C 2442FFFF */ addiu $v0, $v0, -1
/* 0E95D0 802C4C20 AE020070 */ sw $v0, 0x70($s0)
/* 0E95D4 802C4C24 080B130C */ j .L802C4C30
/* 0E95D8 802C4C28 2C420001 */ sltiu $v0, $v0, 1
.L802C4C2C:
/* 0E95DC 802C4C2C 24020002 */ addiu $v0, $zero, 2
.L802C4C30:
/* 0E95E0 802C4C30 8FBF0014 */ lw $ra, 0x14($sp)
/* 0E95E4 802C4C34 8FB00010 */ lw $s0, 0x10($sp)
/* 0E95E8 802C4C38 03E00008 */ jr $ra
/* 0E95EC 802C4C3C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,46 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel WaitForCam
/* 0F0D04 802CC354 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0F0D08 802CC358 AFB00010 */ sw $s0, 0x10($sp)
/* 0F0D0C 802CC35C 0080802D */ daddu $s0, $a0, $zero
/* 0F0D10 802CC360 AFBF001C */ sw $ra, 0x1c($sp)
/* 0F0D14 802CC364 AFB20018 */ sw $s2, 0x18($sp)
/* 0F0D18 802CC368 AFB10014 */ sw $s1, 0x14($sp)
/* 0F0D1C 802CC36C 8E11000C */ lw $s1, 0xc($s0)
/* 0F0D20 802CC370 00A0902D */ daddu $s2, $a1, $zero
/* 0F0D24 802CC374 0C0B1EAF */ jal get_variable
/* 0F0D28 802CC378 8E250000 */ lw $a1, ($s1)
/* 0F0D2C 802CC37C 0200202D */ daddu $a0, $s0, $zero
/* 0F0D30 802CC380 8E250004 */ lw $a1, 4($s1)
/* 0F0D34 802CC384 0C0B210B */ jal get_float_variable
/* 0F0D38 802CC388 0040802D */ daddu $s0, $v0, $zero
/* 0F0D3C 802CC38C 46000086 */ mov.s $f2, $f0
/* 0F0D40 802CC390 3C04800B */ lui $a0, 0x800b
/* 0F0D44 802CC394 24841D80 */ addiu $a0, $a0, 0x1d80
/* 0F0D48 802CC398 00101080 */ sll $v0, $s0, 2
/* 0F0D4C 802CC39C 00501021 */ addu $v0, $v0, $s0
/* 0F0D50 802CC3A0 00021080 */ sll $v0, $v0, 2
/* 0F0D54 802CC3A4 00501023 */ subu $v0, $v0, $s0
/* 0F0D58 802CC3A8 000218C0 */ sll $v1, $v0, 3
/* 0F0D5C 802CC3AC 00431021 */ addu $v0, $v0, $v1
/* 0F0D60 802CC3B0 000210C0 */ sll $v0, $v0, 3
/* 0F0D64 802CC3B4 16400006 */ bnez $s2, .L802CC3D0
/* 0F0D68 802CC3B8 00441021 */ addu $v0, $v0, $a0
/* 0F0D6C 802CC3BC C4400484 */ lwc1 $f0, 0x484($v0)
/* 0F0D70 802CC3C0 4600103E */ c.le.s $f2, $f0
/* 0F0D74 802CC3C4 00000000 */ nop
/* 0F0D78 802CC3C8 45010002 */ bc1t .L802CC3D4
/* 0F0D7C 802CC3CC 24020002 */ addiu $v0, $zero, 2
.L802CC3D0:
/* 0F0D80 802CC3D0 0000102D */ daddu $v0, $zero, $zero
.L802CC3D4:
/* 0F0D84 802CC3D4 8FBF001C */ lw $ra, 0x1c($sp)
/* 0F0D88 802CC3D8 8FB20018 */ lw $s2, 0x18($sp)
/* 0F0D8C 802CC3DC 8FB10014 */ lw $s1, 0x14($sp)
/* 0F0D90 802CC3E0 8FB00010 */ lw $s0, 0x10($sp)
/* 0F0D94 802CC3E4 03E00008 */ jr $ra
/* 0F0D98 802CC3E8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,60 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel DisablePlayerInput
/* 0F57D8 802D0E28 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F57DC 802D0E2C AFBF0014 */ sw $ra, 0x14($sp)
/* 0F57E0 802D0E30 AFB00010 */ sw $s0, 0x10($sp)
/* 0F57E4 802D0E34 8C82000C */ lw $v0, 0xc($a0)
/* 0F57E8 802D0E38 8C450000 */ lw $a1, ($v0)
/* 0F57EC 802D0E3C 3C108011 */ lui $s0, 0x8011
/* 0F57F0 802D0E40 2610EFC8 */ addiu $s0, $s0, -0x1038
/* 0F57F4 802D0E44 0C0B1EAF */ jal get_variable
/* 0F57F8 802D0E48 00000000 */ nop
/* 0F57FC 802D0E4C 10400016 */ beqz $v0, .L802D0EA8
/* 0F5800 802D0E50 00000000 */ nop
/* 0F5804 802D0E54 0C03805E */ jal func_800E0178
/* 0F5808 802D0E58 00000000 */ nop
/* 0F580C 802D0E5C 0C03BD8A */ jal func_800EF628
/* 0F5810 802D0E60 00000000 */ nop
/* 0F5814 802D0E64 0C03A5EE */ jal func_800E97B8
/* 0F5818 802D0E68 00000000 */ nop
/* 0F581C 802D0E6C 0C03A613 */ jal func_800E984C
/* 0F5820 802D0E70 00000000 */ nop
/* 0F5824 802D0E74 820300B4 */ lb $v1, 0xb4($s0)
/* 0F5828 802D0E78 2402001A */ addiu $v0, $zero, 0x1a
/* 0F582C 802D0E7C 14620004 */ bne $v1, $v0, .L802D0E90
/* 0F5830 802D0E80 3C030004 */ lui $v1, 4
/* 0F5834 802D0E84 8E020004 */ lw $v0, 4($s0)
/* 0F5838 802D0E88 00431025 */ or $v0, $v0, $v1
/* 0F583C 802D0E8C AE020004 */ sw $v0, 4($s0)
.L802D0E90:
/* 0F5840 802D0E90 3C03800A */ lui $v1, 0x800a
/* 0F5844 802D0E94 2463A650 */ addiu $v1, $v1, -0x59b0
/* 0F5848 802D0E98 8C620000 */ lw $v0, ($v1)
/* 0F584C 802D0E9C 34420040 */ ori $v0, $v0, 0x40
/* 0F5850 802D0EA0 080B43B7 */ j .L802D0EDC
/* 0F5854 802D0EA4 AC620000 */ sw $v0, ($v1)
.L802D0EA8:
/* 0F5858 802D0EA8 0C038069 */ jal func_800E01A4
/* 0F585C 802D0EAC 00000000 */ nop
/* 0F5860 802D0EB0 0C03BD80 */ jal func_800EF600
/* 0F5864 802D0EB4 00000000 */ nop
/* 0F5868 802D0EB8 0C038077 */ jal func_800E01DC
/* 0F586C 802D0EBC 00000000 */ nop
/* 0F5870 802D0EC0 3C02800A */ lui $v0, 0x800a
/* 0F5874 802D0EC4 2442A650 */ addiu $v0, $v0, -0x59b0
/* 0F5878 802D0EC8 8C430000 */ lw $v1, ($v0)
/* 0F587C 802D0ECC 2404FFBF */ addiu $a0, $zero, -0x41
/* 0F5880 802D0ED0 00641824 */ and $v1, $v1, $a0
/* 0F5884 802D0ED4 0C03A60F */ jal func_800E983C
/* 0F5888 802D0ED8 AC430000 */ sw $v1, ($v0)
.L802D0EDC:
/* 0F588C 802D0EDC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0F5890 802D0EE0 8FB00010 */ lw $s0, 0x10($sp)
/* 0F5894 802D0EE4 24020002 */ addiu $v0, $zero, 2
/* 0F5898 802D0EE8 03E00008 */ jr $ra
/* 0F589C 802D0EEC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel DisablePlayerPhysics
/* 0F5794 802D0DE4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F5798 802D0DE8 AFBF0010 */ sw $ra, 0x10($sp)
/* 0F579C 802D0DEC 8C82000C */ lw $v0, 0xc($a0)
/* 0F57A0 802D0DF0 0C0B1EAF */ jal get_variable
/* 0F57A4 802D0DF4 8C450000 */ lw $a1, ($v0)
/* 0F57A8 802D0DF8 10400005 */ beqz $v0, .L802D0E10
/* 0F57AC 802D0DFC 00000000 */ nop
/* 0F57B0 802D0E00 0C038045 */ jal enable_player_physics
/* 0F57B4 802D0E04 00000000 */ nop
/* 0F57B8 802D0E08 080B4386 */ j .L802D0E18
/* 0F57BC 802D0E0C 00000000 */ nop
.L802D0E10:
/* 0F57C0 802D0E10 0C038050 */ jal disable_player_physics
/* 0F57C4 802D0E14 00000000 */ nop
.L802D0E18:
/* 0F57C8 802D0E18 8FBF0010 */ lw $ra, 0x10($sp)
/* 0F57CC 802D0E1C 24020002 */ addiu $v0, $zero, 2
/* 0F57D0 802D0E20 03E00008 */ jr $ra
/* 0F57D4 802D0E24 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel FullyRestoreHPandFP
/* 0F6870 802D1EC0 3C028011 */ lui $v0, 0x8011
/* 0F6874 802D1EC4 2442F290 */ addiu $v0, $v0, -0xd70
/* 0F6878 802D1EC8 90430003 */ lbu $v1, 3($v0)
/* 0F687C 802D1ECC 90440006 */ lbu $a0, 6($v0)
/* 0F6880 802D1ED0 A0430002 */ sb $v1, 2($v0)
/* 0F6884 802D1ED4 A0440005 */ sb $a0, 5($v0)
/* 0F6888 802D1ED8 03E00008 */ jr $ra
/* 0F688C 802D1EDC 24020002 */ addiu $v0, $zero, 2

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel GetPlayerActionState
/* 0F6780 802D1DD0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F6784 802D1DD4 AFBF0010 */ sw $ra, 0x10($sp)
/* 0F6788 802D1DD8 8C82000C */ lw $v0, 0xc($a0)
/* 0F678C 802D1DDC 3C068011 */ lui $a2, 0x8011
/* 0F6790 802D1DE0 80C6F07C */ lb $a2, -0xf84($a2)
/* 0F6794 802D1DE4 0C0B2026 */ jal set_variable
/* 0F6798 802D1DE8 8C450000 */ lw $a1, ($v0)
/* 0F679C 802D1DEC 8FBF0010 */ lw $ra, 0x10($sp)
/* 0F67A0 802D1DF0 24020002 */ addiu $v0, $zero, 2
/* 0F67A4 802D1DF4 03E00008 */ jr $ra
/* 0F67A8 802D1DF8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel GetPlayerAnimation
/* 0F6844 802D1E94 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F6848 802D1E98 AFBF0010 */ sw $ra, 0x10($sp)
/* 0F684C 802D1E9C 8C82000C */ lw $v0, 0xc($a0)
/* 0F6850 802D1EA0 3C068011 */ lui $a2, 0x8011
/* 0F6854 802D1EA4 8CC6F080 */ lw $a2, -0xf80($a2)
/* 0F6858 802D1EA8 0C0B2026 */ jal set_variable
/* 0F685C 802D1EAC 8C450000 */ lw $a1, ($v0)
/* 0F6860 802D1EB0 8FBF0010 */ lw $ra, 0x10($sp)
/* 0F6864 802D1EB4 24020002 */ addiu $v0, $zero, 2
/* 0F6868 802D1EB8 03E00008 */ jr $ra
/* 0F686C 802D1EBC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,44 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel GetPlayerPos
/* 0F67AC 802D1DFC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0F67B0 802D1E00 AFB00010 */ sw $s0, 0x10($sp)
/* 0F67B4 802D1E04 0080802D */ daddu $s0, $a0, $zero
/* 0F67B8 802D1E08 AFB10014 */ sw $s1, 0x14($sp)
/* 0F67BC 802D1E0C 3C118011 */ lui $s1, 0x8011
/* 0F67C0 802D1E10 2631EFC8 */ addiu $s1, $s1, -0x1038
/* 0F67C4 802D1E14 AFBF0020 */ sw $ra, 0x20($sp)
/* 0F67C8 802D1E18 AFB3001C */ sw $s3, 0x1c($sp)
/* 0F67CC 802D1E1C AFB20018 */ sw $s2, 0x18($sp)
/* 0F67D0 802D1E20 8E02000C */ lw $v0, 0xc($s0)
/* 0F67D4 802D1E24 C6200028 */ lwc1 $f0, 0x28($s1)
/* 0F67D8 802D1E28 8C450000 */ lw $a1, ($v0)
/* 0F67DC 802D1E2C 24420004 */ addiu $v0, $v0, 4
/* 0F67E0 802D1E30 4600008D */ trunc.w.s $f2, $f0
/* 0F67E4 802D1E34 44061000 */ mfc1 $a2, $f2
/* 0F67E8 802D1E38 8C520000 */ lw $s2, ($v0)
/* 0F67EC 802D1E3C 0C0B2026 */ jal set_variable
/* 0F67F0 802D1E40 8C530004 */ lw $s3, 4($v0)
/* 0F67F4 802D1E44 0200202D */ daddu $a0, $s0, $zero
/* 0F67F8 802D1E48 C620002C */ lwc1 $f0, 0x2c($s1)
/* 0F67FC 802D1E4C 4600008D */ trunc.w.s $f2, $f0
/* 0F6800 802D1E50 44061000 */ mfc1 $a2, $f2
/* 0F6804 802D1E54 0C0B2026 */ jal set_variable
/* 0F6808 802D1E58 0240282D */ daddu $a1, $s2, $zero
/* 0F680C 802D1E5C 0200202D */ daddu $a0, $s0, $zero
/* 0F6810 802D1E60 C6200030 */ lwc1 $f0, 0x30($s1)
/* 0F6814 802D1E64 4600008D */ trunc.w.s $f2, $f0
/* 0F6818 802D1E68 44061000 */ mfc1 $a2, $f2
/* 0F681C 802D1E6C 0C0B2026 */ jal set_variable
/* 0F6820 802D1E70 0260282D */ daddu $a1, $s3, $zero
/* 0F6824 802D1E74 8FBF0020 */ lw $ra, 0x20($sp)
/* 0F6828 802D1E78 8FB3001C */ lw $s3, 0x1c($sp)
/* 0F682C 802D1E7C 8FB20018 */ lw $s2, 0x18($sp)
/* 0F6830 802D1E80 8FB10014 */ lw $s1, 0x14($sp)
/* 0F6834 802D1E84 8FB00010 */ lw $s0, 0x10($sp)
/* 0F6838 802D1E88 24020002 */ addiu $v0, $zero, 2
/* 0F683C 802D1E8C 03E00008 */ jr $ra
/* 0F6840 802D1E90 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel HidePlayerShadow
/* 0F5750 802D0DA0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F5754 802D0DA4 AFBF0010 */ sw $ra, 0x10($sp)
/* 0F5758 802D0DA8 8C82000C */ lw $v0, 0xc($a0)
/* 0F575C 802D0DAC 0C0B1EAF */ jal get_variable
/* 0F5760 802D0DB0 8C450000 */ lw $a1, ($v0)
/* 0F5764 802D0DB4 10400005 */ beqz $v0, .L802D0DCC
/* 0F5768 802D0DB8 00000000 */ nop
/* 0F576C 802D0DBC 0C038039 */ jal disable_player_shadow
/* 0F5770 802D0DC0 00000000 */ nop
/* 0F5774 802D0DC4 080B4375 */ j .L802D0DD4
/* 0F5778 802D0DC8 00000000 */ nop
.L802D0DCC:
/* 0F577C 802D0DCC 0C03802C */ jal enable_player_shadow
/* 0F5780 802D0DD0 00000000 */ nop
.L802D0DD4:
/* 0F5784 802D0DD4 8FBF0010 */ lw $ra, 0x10($sp)
/* 0F5788 802D0DD8 24020002 */ addiu $v0, $zero, 2
/* 0F578C 802D0DDC 03E00008 */ jr $ra
/* 0F5790 802D0DE0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel PlayerJump
/* 0F6298 802D18E8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F629C 802D18EC AFBF0010 */ sw $ra, 0x10($sp)
/* 0F62A0 802D18F0 0C0B4538 */ jal player_jump
/* 0F62A4 802D18F4 0000302D */ daddu $a2, $zero, $zero
/* 0F62A8 802D18F8 8FBF0010 */ lw $ra, 0x10($sp)
/* 0F62AC 802D18FC 03E00008 */ jr $ra
/* 0F62B0 802D1900 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel PlayerJump1
/* 0F62B4 802D1904 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F62B8 802D1908 AFBF0010 */ sw $ra, 0x10($sp)
/* 0F62BC 802D190C 0C0B4538 */ jal player_jump
/* 0F62C0 802D1910 24060001 */ addiu $a2, $zero, 1
/* 0F62C4 802D1914 8FBF0010 */ lw $ra, 0x10($sp)
/* 0F62C8 802D1918 03E00008 */ jr $ra
/* 0F62CC 802D191C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel PlayerJump2
/* 0F62D0 802D1920 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F62D4 802D1924 AFBF0010 */ sw $ra, 0x10($sp)
/* 0F62D8 802D1928 0C0B4538 */ jal player_jump
/* 0F62DC 802D192C 24060002 */ addiu $a2, $zero, 2
/* 0F62E0 802D1930 8FBF0010 */ lw $ra, 0x10($sp)
/* 0F62E4 802D1934 03E00008 */ jr $ra
/* 0F62E8 802D1938 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel _spr_sign_extend_12bit
/* 1001CC 802DD0DC 30840FFF */ andi $a0, $a0, 0xfff
/* 1001D0 802DD0E0 30820800 */ andi $v0, $a0, 0x800
/* 1001D4 802DD0E4 14400003 */ bnez $v0, .L802DD0F4
/* 1001D8 802DD0E8 2402F000 */ addiu $v0, $zero, -0x1000
/* 1001DC 802DD0EC 03E00008 */ jr $ra
/* 1001E0 802DD0F0 0080102D */ daddu $v0, $a0, $zero
.L802DD0F4:
/* 1001E4 802DD0F4 03E00008 */ jr $ra
/* 1001E8 802DD0F8 00821025 */ or $v0, $a0, $v0

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel _spr_sign_extend_16bit
/* 1001EC 802DD0FC 3084FFFF */ andi $a0, $a0, 0xffff
/* 1001F0 802DD100 30828000 */ andi $v0, $a0, 0x8000
/* 1001F4 802DD104 14400003 */ bnez $v0, .L802DD114
/* 1001F8 802DD108 3C02FFFF */ lui $v0, 0xffff
/* 1001FC 802DD10C 03E00008 */ jr $ra
/* 100200 802DD110 0080102D */ daddu $v0, $a0, $zero
.L802DD114:
/* 100204 802DD114 03E00008 */ jr $ra
/* 100208 802DD118 00821025 */ or $v0, $a0, $v0

View File

@ -5,10 +5,13 @@ from os import remove
from sys import argv
import re
from glob import glob
from pathlib import Path
DIR = path.dirname(__file__)
C_FILES = glob(path.join(DIR, "src/*.c"))
ASM_FILES = glob(path.join(DIR, "asm/nonmatchings/**/*.s"))
NONMATCHINGS_DIR = Path(path.join(DIR, "asm", "nonmatchings"))
C_FILES = Path(path.join(DIR, "src")).rglob("*.c")
ASM_FILES = NONMATCHINGS_DIR.rglob("*.s")
def strip_c_comments(text):
def replacer(match):
@ -67,7 +70,7 @@ if __name__ == "__main__":
exit(1)
elif "--delete-matched" in argv or input("Delete them [y/N]? ").upper() == "Y":
for func in matched_but_undeleted_asm:
file = glob(path.join(DIR, f"../asm/nonmatchings/*/{func}.s"))[0]
remove(file)
f = next(NONMATCHINGS_DIR.rglob(func + ".s"))
remove(f)
elif len(asm) != len(non_matched):
print(f"warning: number of INCLUDE_ASM macros ({len(asm)}) != number of asm files ({len(non_matched)})")

View File

@ -1,13 +1,13 @@
#!/bin/bash
COMPILER_OPTS="-fno-builtin -std=gnu89 -Iinclude -Isrc -D_LANGUAGE_C"
COMPILER_OPTS="-std=gnu89 -Iinclude -Isrc -D_LANGUAGE_C"
shopt -s globstar
FILES="src/**/*.c include/*.h"
if (( $# > 0 )); then
# only process .c and .h files
FILES=$(echo "$@" | sed 's/ /\n/g' | grep '.[ch]$')
FILES=$(echo "$@" | sed 's/ /\n/g' | grep '\.[ch]$')
fi
if [[ -z $FILES ]]; then

View File

@ -247,7 +247,7 @@ typedef struct ScriptInstance {
/* 0x0C4 */ s32 varFlags[3];
/* 0x0D0 */ s32 loopStartTable[8];
/* 0x0F0 */ s32 loopCounterTable[8];
/* 0x110 */ u8 switchBlockState[8];
/* 0x110 */ s8 switchBlockState[8];
/* 0x118 */ s32 switchBlockValue[8];
/* 0x138 */ s32* buffer;
/* 0x13C */ s32* array;
@ -836,7 +836,15 @@ typedef struct GameStatus {
/* 0x042 */ char unk_42[2];
/* 0x044 */ u8 stickY; /* with deadzone */
/* 0x045 */ u8 altStickY; /* input used for batte when flag 80000 set */
/* 0x046 */ char unk_46[34];
/* 0x046 */ char unk_46[2];
/* 0x048 */ s16 unk_48;
/* 0x04A */ char unk_4A[6];
/* 0x050 */ s16 unk_50;
/* 0x052 */ char unk_52[6];
/* 0x058 */ s16 unk_58;
/* 0x05A */ char unk_5A[6];
/* 0x060 */ s16 unk_60;
/* 0x062 */ char unk_62[6];
/* 0x068 */ s16 demoButtonInput;
/* 0x06A */ s8 demoStickX;
/* 0x06B */ s8 demoStickY;
@ -871,7 +879,7 @@ typedef struct GameStatus {
/* 0x0BA */ s16 bootGreen;
/* 0x0BC */ s16 bootRed;
/* 0x0BE */ char unk_BE[106];
/* 0x128 */ f32 playerTraceNormal[3];
/* 0x128 */ Vec3f playerTraceNormal;
/* 0x134 */ u16 frameCounter;
/* 0x136 */ char unk_136[2];
/* 0x138 */ s32 nextRNG;
@ -1031,16 +1039,19 @@ typedef struct FontRasterSet {
/* 0x02 */ char unk_02[10];
} FontRasterSet; // size = 0x0C
typedef struct TriggerBp {
typedef s32(*TriggerHandlerFunc)(struct Trigger*);
typedef struct TriggerDefinition {
/* 0x00 */ s32 flags;
/* 0x04 */ s16 colliderIndex;
/* 0x06 */ char unk_06[2];
/* 0x08 */ s32 flagIndex;
/* 0x0C */ UNK_FUN_PTR(function);
/* 0x10 */ char unk_10[8];
/* 0x0C */ TriggerHandlerFunc function;
/* 0x10 */ char unk_10[4];
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 inputArg3;
/* 0x1C */ char unk_1C[4];
} TriggerBp; // size = 0x20
} TriggerDefinition; // size = 0x20
typedef struct CollisionStatus {
/* 0x00 */ s16 pushingAgainstWall; /* FFFF = none for all below VVV */
@ -1339,7 +1350,7 @@ typedef struct PlayerStatus {
/* 0x044 */ f32 decorationPos[2];
/* 0x04C */ char unk_4C[4];
/* 0x050 */ f32 jumpApexHeight;
/* 0x054 */ s32 currentSpeed;
/* 0x054 */ f32 currentSpeed;
/* 0x058 */ f32 walkSpeed;
/* 0x05C */ f32 runSpeed;
/* 0x060 */ char unk_60[8];
@ -1355,7 +1366,7 @@ typedef struct PlayerStatus {
/* 0x0AC */ char unk_AC[4];
/* 0x0B0 */ s16 colliderHeight;
/* 0x0B2 */ s16 colliderDiameter;
/* 0x0B4 */ u8 actionState;
/* 0x0B4 */ s8 actionState;
/* 0x0B5 */ u8 prevActionState;
/* 0x0B6 */ u8 fallState;
/* 0x0B7 */ char unk_B7;
@ -1391,7 +1402,7 @@ typedef struct AnimatedModelNode {
typedef struct EncounterStatus {
/* 0x00 */ s32 flags;
/* 0x04 */ u8 eFirstStrike; /* 0 = none, 1 = player, 2 = enemy */
/* 0x05 */ u8 hitType; /* 1 = none/enemy, 2 = jump */
/* 0x05 */ s8 hitType; /* 1 = none/enemy, 2 = jump */
/* 0x06 */ u8 hitTier; /* 0 = normal, 1 = super, 2 = ultra */
/* 0x07 */ char unk_07[2];
/* 0x09 */ u8 battleOutcome; /* 0 = won, 1 = lost */
@ -1405,17 +1416,18 @@ typedef struct EncounterStatus {
/* 0x12 */ char unk_12;
/* 0x13 */ u8 dropWhackaBump;
/* 0x14 */ s32 songID;
/* 0x18 */ char unk_18[4];
/* 0x18 */ s32 unk_18;
/* 0x1C */ u8 numEncounters; /* number of encounters for current map (in list) */
/* 0x1D */ char unk_1D[3];
/* 0x20 */ u8 mapID;
/* 0x21 */ char unk_21[3];
/* 0x24 */ s32* npcGroupList;
/* 0x28 */ struct Encounter* enounterList[24];
/* 0x2C */ char unk_2C[92];
/* 0x88 */ struct Encounter* currentEncounter;
/* 0x8C */ struct Enemy* currentEnemy;
/* 0x90 */ char unk_90[4];
} EncounterStatus; // size = 0x94
/* 0x90 */ s32 unk_90;
/* 0x94 */ char unk_94[4];
/* 0x98 */ s32 unk_98;
} EncounterStatus; // size = 0x9C
#endif

View File

@ -11,19 +11,18 @@ typedef UNK_TYPE EncounterTriggerFlags;
#define EncounterTriggerFlags_HAMMER 0x00000004
#define EncounterTriggerFlags_PARTNER 0x00000006
typedef UNK_TYPE PartnerId;
#define PartnerId_NONE 0x00000000
#define PartnerId_GOOMBARIO 0x00000001
#define PartnerId_KOOPER 0x00000002
#define PartnerId_BOMBETTE 0x00000003
#define PartnerId_PARAKARRY 0x00000004
#define PartnerId_GOOMPA 0x00000005
#define PartnerId_WATT 0x00000006
#define PartnerId_SUSHIE 0x00000007
#define PartnerId_LAKILESTER 0x00000008
#define PartnerId_BOW 0x00000009
#define PartnerId_GOOMBARIA 0x0000000A
#define PartnerId_TWINK 0x0000000B
#define PartnerId_NONE 0x00
#define PartnerId_GOOMBARIO 0x01
#define PartnerId_KOOPER 0x02
#define PartnerId_BOMBETTE 0x03
#define PartnerId_PARAKARRY 0x04
#define PartnerId_GOOMPA 0x05
#define PartnerId_WATT 0x06
#define PartnerId_SUSHIE 0x07
#define PartnerId_LAKILESTER 0x08
#define PartnerId_BOW 0x09
#define PartnerId_GOOMBARIA 0x0A
#define PartnerId_TWINK 0x0B
typedef UNK_TYPE SpriteId;
#define SpriteId_WORLD_GOOMBARIO 0x00000001
@ -1224,7 +1223,7 @@ typedef UNK_TYPE DoorSounds;
#define DoorSounds_CREAKY 0x00000003
#define DoorSounds_GATE 0x00000004
typedef UNK_TYPE ActionState;
typedef s8 ActionState;
#define ActionState_IDLE 0x00000000
#define ActionState_WALK 0x00000001
#define ActionState_RUN 0x00000002
@ -1236,7 +1235,7 @@ typedef UNK_TYPE ActionState;
#define ActionState_STEP_DOWN 0x00000009
#define ActionState_LAND 0x0000000A
#define ActionState_STEP_DOWN_LAND 0x0000000B
#define ActionState_CONVERSATION 0x0000000C
#define ActionState_CONVERSATION 0x0000000C // This and following states prohibit normal movement.
#define ActionState_SPIN_JUMP 0x0000000D
#define ActionState_GROUND_POUND 0x0000000E
#define ActionState_ULTRA_JUMP 0x0000000F

View File

@ -7,8 +7,18 @@
void osCleanupThread(void);
s32 heap_malloc(s32 size);
HeapNode* _heap_create(void* addr, s32 size);
void clone_model(u16 srcModelID, u16 newModelID);
Model* get_model_from_list_index(s32 listIndex);
void update_collider_transform(s16 colliderID);
void get_collider_center(s32 colliderID, f32* x, f32* y, f32* z);
Trigger* create_trigger(TriggerDefinition* def);
s32 _bound_script_trigger_handler(Trigger* trigger);
s32 get_variable(ScriptInstance* script, Bytecode var);
s32 set_variable(ScriptInstance* script, Bytecode var, s32 value);
f32 get_float_variable(ScriptInstance* script, Bytecode var);
@ -24,15 +34,19 @@ s32 func_80055464(s32, s32);
s32 func_800554A4(s32, s32);
s32 func_800554E8(s32, s32);
s32 func_800555E4(s32);
s32 osGetId();
void func_8011B7C0(u16, s32, s32);
void func_80137D88(s32, f32);
void func_80137DA4(s32, f32);
void func_80137E10(s32, u8, u8, u8);
s32 func_80137E10(s32, u8, u8, u8);
void func_80137E4C(s32, s32, s32, s32);
s32 rand_int(s32);
void sort_items(void);
s32 is_ability_active(s32 arg0);
f32 update_lerp(Easing easing, f32 start, f32 end, s32 elapsed, s32 duration);
void make_item_entity_delayed(s32 itemID, f32 x, f32 y, f32 z, s32 unk1, s32 unk2, s32 unk3);
void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height);
Npc* get_npc_safe(NpcId npcId);

View File

@ -8,5 +8,10 @@
#define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0]))
#define ASSERT(condition) if (!(condition)) { while (1) {} }
#define PANIC() ASSERT(0)
#define GAME_STATUS (*gGameStatusPtr)
#define SQ(x) (x*x)
#endif

View File

@ -4,11 +4,15 @@
#include "ultra64.h"
#include "common_structs.h"
#include "types.h"
#include "enums.h"
extern UiStatus gUIStatus;
extern PlayerData gPlayerData;
extern ActionState gPlayerActionState;
extern PlayerAnim gPlayerAnimation;
extern PlayerStatus gPlayerStatus;
extern GameStatus* gGameStatusPtr[1];
extern s32 gRandSeed;
extern StaticItem gItemTable[364];
extern s16 gMainGameState; /* 0 = battle, 1 = pause, 2 = world */
extern UNK_FUN_PTR(gCurrentUpdateFunction);
@ -17,6 +21,13 @@ extern ScriptInstance* gWorldScriptList[128];
extern ScriptInstance* gBattleScriptList[128];
extern ScriptInstance** gCurrentScriptListPtr[128];
extern s32 gStaticScriptCounter;
extern s32 D_802D9CA4;
extern s32 gNumScripts;
extern s32 D_802DAC98;
extern s32 gScriptListCount;
extern s32 gScriptIdList[128];
extern s32 gScriptIndexList[128];
@ -41,14 +52,20 @@ extern Shadow* gBattleShadowList[60];
extern Shadow** gCurrentShadowListPtr[60];
extern Camera gCameras[4];
extern s32 gCurrentCameraID;
extern f32 gGlobalTimeSpace;
extern Npc* gPlayerNpcPtr;
extern s8 D_800A0900;
extern EncounterStatus gCurrentEncounter;
extern s16* D_80151328;
extern s16 D_8010CD10;
extern s16 D_8010CD12;
extern s32 D_801595A0;
extern s16 D_80159AE2;
extern s16 D_80159AE4;
extern BackgroundHeader gBackgroundImage;
extern PrintContext* gCurrentPrintContext;
@ -66,6 +83,7 @@ extern s16 D_800A0944;
extern s16 D_80151308;
extern s32 gGameState;
extern s32 D_8009A650[1];
extern s16 gCurrentDoorSoundsSet;
@ -75,6 +93,8 @@ extern UNK_TYPE D_80147474;
extern UNK_TYPE D_80147574;
extern UNK_TYPE D_80109270;
extern UNK_TYPE D_80108558;
extern UNK_TYPE D_8010F250; // play_sound state struct?
extern s8 D_8010EBB0;
extern UNK_TYPE D_8010F250; // play_sound state struct?
extern s8 D_8010EBB0;

View File

@ -1,18 +1,18 @@
SECTIONS
{
/* 0x0 0-40 (len 40) */
.text0_header 0x0 : AT(0x0) {
build/asm/header.o(.text0_header);
.text_0 0x0 : AT(0x0) {
build/asm/header.o(.text_0);
}
/* 0xA4000040 40-1000 (len FC0) */
.text40_boot 0xA4000040 : AT(0x40) {
build/asm/boot.o(.text40_boot);
.text_40 0xA4000040 : AT(0x40) {
build/asm/boot.o(.text_40);
build/bin/bootcode_font.o(.data);
}
/* 0x80025C00 1000-759B0 (len 749B0) */
.text1000_code 0x80025C00 : AT(0x1000) {
.text_1000 0x80025C00 : AT(0x1000) {
build/src/code_1000_len_60.o(.text);
build/src/code_1060_len_310.o(.text);
build/src/code_1370_len_7d0.o(.text);
@ -182,7 +182,7 @@ SECTIONS
}
/* 0x800DC500 759B0-A5DD0 (len 30420) */
.text759B0_code 0x800DC500 : AT(0x759B0) {
.text_759B0 0x800DC500 : AT(0x759B0) {
build/src/code_759b0_len_61b0.o(.text);
build/src/code_7bb60_len_41b0.o(.text);
build/src/code_7fd10_len_b40.o(.text);
@ -196,7 +196,7 @@ SECTIONS
}
/* 0x8010F6D0 A5DD0-E79B0 (len 41BE0) */
.textA5DD0_code 0x8010F6D0 : AT(0xA5DD0) {
.text_A5DD0 0x8010F6D0 : AT(0xA5DD0) {
build/src/code_a5dd0_len_114e0.o(.text);
build/src/code_b72b0_len_15ed0.o(.text);
build/src/code_cd180_len_38f0.o(.text);
@ -215,7 +215,7 @@ SECTIONS
}
/* 0x802C3000 E79B0-FEE30 (len 17480) */
.textE79B0_code 0x802C3000 : AT(0xE79B0) {
.text_E79B0 0x802C3000 : AT(0xE79B0) {
build/src/code_e79b0_len_1920.o(.text);
build/src/code_e92d0_len_5da0.o(.text);
build/src/code_ef070_len_3400.o(.text);
@ -228,14 +228,14 @@ SECTIONS
}
/* 0x802DBD40 FEE30-102610 (len 37E0) */
.textFEE30_code 0x802DBD40 : AT(0xFEE30) {
.text_FEE30 0x802DBD40 : AT(0xFEE30) {
build/src/code_fee30_len_2d60.o(.text);
build/src/code_101b90_len_8f0.o(.text);
build/bin/code_102480.o(.data);
}
/* 0x802E0D90 102610-10A9F0 (len 83E0) */
.text102610_code 0x802E0D90 : AT(0x102610) {
.text_102610 0x802E0D90 : AT(0x102610) {
build/src/code_102610_len_2330.o(.text);
build/src/code_104940_len_dc0.o(.text);
build/src/code_105700_len_2130.o(.text);
@ -255,13 +255,13 @@ SECTIONS
}
/* 0x80242BA0 135EE0-163400 (len 2D520) */
.text135EE0_code 0x80242BA0 : AT(0x135EE0) {
.text_135EE0 0x80242BA0 : AT(0x135EE0) {
build/src/code_135EE0.o(.text);
build/bin/code_1422A0.o(.data);
}
/* 0x80242BA0 163400-16C8E0 (len 94E0) */
.text163400_code 0x80242BA0 : AT(0x163400) {
.text_163400 0x80242BA0 : AT(0x163400) {
build/src/code_163400.o(.text);
build/src/code_167570.o(.text);
build/src/code_168590.o(.text);
@ -270,7 +270,7 @@ SECTIONS
}
/* 0x8023E000 16C8E0-1CC310 (len 5FA30) */
.text16C8E0_code 0x8023E000 : AT(0x16C8E0) {
.text_16C8E0 0x8023E000 : AT(0x16C8E0) {
build/src/code_16c8e0.o(.text);
build/bin/code_1AF2C0.o(.data);
}
@ -281,7 +281,7 @@ SECTIONS
}
/* 0x80200000 3169F0-316C00 (len 210) */
.text3169F0_code 0x80200000 : AT(0x3169F0) {
.text_3169F0 0x80200000 : AT(0x3169F0) {
build/src/code_3169f0.o(.text);
build/src/code_316a70.o(.text);
}
@ -292,12 +292,12 @@ SECTIONS
}
/* 0x802AE000 316D90-316F30 (len 1A0) */
.text316D90_code 0x802AE000 : AT(0x316D90) {
.text_316D90 0x802AE000 : AT(0x316D90) {
build/src/code_316d90.o(.text);
}
/* 0x802B2000 316F30-317020 (len F0) */
.text316F30_code 0x802B2000 : AT(0x316F30) {
.text_316F30 0x802B2000 : AT(0x316F30) {
build/src/code_316f30.o(.text);
}
@ -307,7 +307,7 @@ SECTIONS
}
/* 0x802A1000 415D90-4200C0 (len A330) */
.text415D90_code 0x802A1000 : AT(0x415D90) {
.text_415D90 0x802A1000 : AT(0x415D90) {
build/src/code_415D90.o(.text);
}
@ -317,7 +317,7 @@ SECTIONS
}
/* 0x80280000 7E0E80-7E4D00 (len 3E80) */
.text7E0E80_code 0x80280000 : AT(0x7E0E80) {
.text_7E0E80 0x80280000 : AT(0x7E0E80) {
build/src/code_7e0e80.o(.text);
build/src/code_7E2AA0.o(.text);
build/src/code_7E3700.o(.text);
@ -329,7 +329,7 @@ SECTIONS
}
/* 0x802B7000 E20EB0-E215C0 (len 710) */
.textE20EB0_code 0x802B7000 : AT(0xE20EB0) {
.text_E20EB0 0x802B7000 : AT(0xE20EB0) {
build/src/code_e20eb0.o(.text);
}

View File

@ -48,15 +48,15 @@ s32 func_800363FC(void) {
}
s32 func_80036430(void) {
PlayerStatus* pPlayerStatus = &gPlayerStatus;
PlayerStatus* playerStatus = &gPlayerStatus;
gMapTransitionAlpha = 0xFF;
D_800A0942 = 0x14;
D_800A0944 = 0x01;
pPlayerStatus->flags |= 0x1000;
playerStatus->flags |= 0x1000;
return pPlayerStatus->flags;
return playerStatus->flags;
}
INCLUDE_ASM("code_111f0_len_860", func_8003646C);

View File

@ -4,17 +4,48 @@ INCLUDE_ASM("code_1a1f0_len_5390", get_defeated);
INCLUDE_ASM("code_1a1f0_len_5390", set_defeated);
INCLUDE_API_ASM("code_1a1f0_len_5390", GetCamLookAtObjVector);
ApiStatus GetCamLookAtObjVector(ScriptInstance* script, s32 isInitialCall) {
// Almost certainly a CURRENT_CAM macro
script->varTable[0] = (&gCameras[gCurrentCameraID])->lookAt_obj[0];
script->varTable[1] = (&gCameras[gCurrentCameraID])->lookAt_obj[1];
script->varTable[2] = (&gCameras[gCurrentCameraID])->lookAt_obj[2];
return ApiStatus_DONE2;
}
INCLUDE_API_ASM("code_1a1f0_len_5390", HasMerleeCasts);
INCLUDE_API_ASM("code_1a1f0_len_5390", OnDefeatEnemy);
INCLUDE_API_ASM("code_1a1f0_len_5390", OnFleeBattleDrops);
ApiStatus OnFleeBattleDrops(ScriptInstance* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PlayerData* playerData = &gPlayerData;
if (isInitialCall) {
script->functionTemp[0] = 0;
script->functionTemp[1] = 40;
script->functionTemp[2] = 0;
}
script->functionTemp[2]++;
if (script->functionTemp[2] >= 5) {
if (rand_int(100) < 50) {
if (playerData->coins != 0) {
playerData->coins--;
make_item_entity_delayed(ItemId_COIN, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight,
playerStatus->position.z, 3, 0, 0);
}
}
script->functionTemp[2] = 0;
}
return --script->functionTemp[1] == 0;
}
INCLUDE_ASM("code_1a1f0_len_5390", func_8003F7CC);
INCLUDE_ASM("code_1a1f0_len_5390", func_8004135C);
void func_8004135C() {
}
INCLUDE_ASM("code_1a1f0_len_5390", func_80041364);
@ -24,16 +55,35 @@ INCLUDE_ASM("code_1a1f0_len_5390", show_first_strike_message);
INCLUDE_ASM("code_1a1f0_len_5390", func_80041F10);
INCLUDE_ASM("code_1a1f0_len_5390", func_8004304C);
s32 func_8004304C(void) {
EncounterStatus* currentEncounter = &gCurrentEncounter;
s32 ret = currentEncounter->unk_98;
if (ret != 0) {
func_80137D88(0, currentEncounter->unk_90);
ret = func_80137E10(0, 0, 0, 0);
}
return ret;
}
INCLUDE_ASM("code_1a1f0_len_5390", func_8004309C);
INCLUDE_ASM("code_1a1f0_len_5390", func_800431D4);
void func_800431D4() {
}
INCLUDE_ASM("code_1a1f0_len_5390", func_800431DC);
INCLUDE_ASM("code_1a1f0_len_5390", create_npcs);
INCLUDE_ASM("code_1a1f0_len_5390", func_80044140);
void func_80044140() {
}
INCLUDE_ASM("code_1a1f0_len_5390", func_80044148);
s32 func_80044148(void) {
s32 ret = gGameState == 3;
if (gCurrentEncounter.hitType == 5) {
ret = 1;
}
return ret;
}

View File

@ -41,7 +41,15 @@ ApiStatus StartBattleWith(ScriptInstance* script, s32 isInitialCall) {
INCLUDE_API_ASM("code_1f580_len_1940", StartBossBattle);
INCLUDE_API_ASM("code_1f580_len_1940", SetBattleMusic);
ApiStatus SetBattleMusic(ScriptInstance* script, s32 isInitialCall) {
Bytecode songID = get_variable(script, *script->ptrReadPos);
EncounterStatus* currentEncounter = &gCurrentEncounter;
currentEncounter->allowFleeing = 1;
currentEncounter->songID = songID;
currentEncounter->unk_18 = -1;
return ApiStatus_DONE2;
}
INCLUDE_API_ASM("code_1f580_len_1940", BindNpcAI);

View File

@ -26,7 +26,7 @@ INCLUDE_ASM("code_362a0_len_2f70", get_collider_type_by_id);
INCLUDE_ASM("code_362a0_len_2f70", func_8005BDD8);
INCLUDE_ASM("code_362a0_len_2f70", get_collider_center);
void INCLUDE_ASM("code_362a0_len_2f70", get_collider_center, s32 colliderID, f32* x, f32* y, f32* z);
INCLUDE_ASM("code_362a0_len_2f70", test_ray_triangle_general);

View File

@ -1,3 +1,31 @@
#include "common.h"
INCLUDE_ASM("code_39210_len_aa0", get_npc_pos);
void get_npc_pos(s32 arg0, f32* outX, f32* outY, f32* outZ, s32* arg4) {
PlayerStatus* playerStatus = &gPlayerStatus;
Npc* npc;
s32 phi_v0;
*outX = 0.0f;
*outY = 0.0f;
*outZ = 0.0f;
*arg4 = 0;
if (arg0 == -1) {
*outX = playerStatus->position.x;
*outY = playerStatus->position.y;
*outZ = playerStatus->position.z;
phi_v0 = playerStatus->flags & 6;
} else {
npc = get_npc_unsafe(arg0);
*outX = npc->pos.x;
*outY = npc->pos.y;
*outZ = npc->pos.z;
phi_v0 = npc->flags & 0x800;
}
if (phi_v0 != 0) {
*arg4 = 1;
}
}
INCLUDE_ASM("code_39210_len_aa0", func_8005DECC);

Some files were not shown because too many files have changed in this diff Show More