1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-04 15:04:31 +00:00

Decomp game.c (#129)

* decomp most of game.c

* improve GameState_DrawInputDisplay matching

* fix merge conflicts

* pr suggestions

* remove builtin math functions
This commit is contained in:
krimtonz 2020-05-14 18:11:33 -05:00 committed by GitHub
parent efa9742984
commit 44ffb7ec62
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 1494 additions and 1977 deletions

1423
asm/game.s

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,142 @@
.rdata
glabel D_80144D50
.asciz "../game.c"
.balign 4
glabel D_80144D5C
.asciz " %08x (game_alloc)\n"
# EUC-JP: %08x (game_alloc) | % 08x bytes (game_alloc) remaining until Hailal's demise
.balign 4
glabel D_80144D8C
.asciz "../game.c"
.balign 4
.text
glabel GameState_Draw
/* B3B88C 800C46EC 27BDFF80 */ addiu $sp, $sp, -0x80
/* B3B890 800C46F0 AFBF0014 */ sw $ra, 0x14($sp)
/* B3B894 800C46F4 AFA40080 */ sw $a0, 0x80($sp)
/* B3B898 800C46F8 3C068014 */ lui $a2, %hi(D_80144D50) # $a2, 0x8014
/* B3B89C 800C46FC AFA50084 */ sw $a1, 0x84($sp)
/* B3B8A0 800C4700 24C64D50 */ addiu $a2, %lo(D_80144D50) # addiu $a2, $a2, 0x4d50
/* B3B8A4 800C4704 27A40064 */ addiu $a0, $sp, 0x64
/* B3B8A8 800C4708 0C031AB1 */ jal Graph_OpenDisps
/* B3B8AC 800C470C 240702EA */ li $a3, 746
/* B3B8B0 800C4710 8FAE0084 */ lw $t6, 0x84($sp)
/* B3B8B4 800C4714 8DC402C0 */ lw $a0, 0x2c0($t6)
/* B3B8B8 800C4718 0C031B08 */ jal Graph_GfxPlusOne
/* B3B8BC 800C471C AFA40078 */ sw $a0, 0x78($sp)
/* B3B8C0 800C4720 8FAF0084 */ lw $t7, 0x84($sp)
/* B3B8C4 800C4724 AFA2007C */ sw $v0, 0x7c($sp)
/* B3B8C8 800C4728 3C19DE00 */ lui $t9, 0xde00
/* B3B8CC 800C472C 8DE302B0 */ lw $v1, 0x2b0($t7)
/* B3B8D0 800C4730 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B3B8D4 800C4734 24010001 */ li $at, 1
/* B3B8D8 800C4738 24780008 */ addiu $t8, $v1, 8
/* B3B8DC 800C473C ADF802B0 */ sw $t8, 0x2b0($t7)
/* B3B8E0 800C4740 AC790000 */ sw $t9, ($v1)
/* B3B8E4 800C4744 8FA8007C */ lw $t0, 0x7c($sp)
/* B3B8E8 800C4748 AC680004 */ sw $t0, 4($v1)
/* B3B8EC 800C474C 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* B3B8F0 800C4750 84490184 */ lh $t1, 0x184($v0)
/* B3B8F4 800C4754 55210006 */ bnel $t1, $at, .L800C4770
/* B3B8F8 800C4758 8FAA0080 */ lw $t2, 0x80($sp)
/* B3B8FC 800C475C 0C03107C */ jal GameState_SetFBFilter
/* B3B900 800C4760 27A4007C */ addiu $a0, $sp, 0x7c
/* B3B904 800C4764 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B3B908 800C4768 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* B3B90C 800C476C 8FAA0080 */ lw $t2, 0x80($sp)
.L800C4770:
/* B3B910 800C4770 3C038016 */ lui $v1, %hi(sLastButtonPressed) # $v1, 0x8016
/* B3B914 800C4774 246365C0 */ addiu $v1, %lo(sLastButtonPressed) # addiu $v1, $v1, 0x65c0
/* B3B918 800C4778 954B0014 */ lhu $t3, 0x14($t2)
/* B3B91C 800C477C 954C0020 */ lhu $t4, 0x20($t2)
/* B3B920 800C4780 016C6825 */ or $t5, $t3, $t4
/* B3B924 800C4784 A46D0000 */ sh $t5, ($v1)
/* B3B928 800C4788 844E1032 */ lh $t6, 0x1032($v0)
/* B3B92C 800C478C 31A4FFFF */ andi $a0, $t5, 0xffff
/* B3B930 800C4790 55C00006 */ bnezl $t6, .L800C47AC
/* B3B934 800C4794 8458011C */ lh $t8, 0x11c($v0)
/* B3B938 800C4798 0C031156 */ jal GameState_DrawInputDisplay
/* B3B93C 800C479C 27A5007C */ addiu $a1, $sp, 0x7c
/* B3B940 800C47A0 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B3B944 800C47A4 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* B3B948 800C47A8 8458011C */ lh $t8, 0x11c($v0)
.L800C47AC:
/* B3B94C 800C47AC 330F0001 */ andi $t7, $t8, 1
/* B3B950 800C47B0 51E00010 */ beql $t7, $zero, .L800C47F4
/* B3B954 800C47B4 845900D4 */ lh $t9, 0xd4($v0)
/* B3B958 800C47B8 0C03EEE3 */ jal GfxPrint_Ctor
/* B3B95C 800C47BC 27A4002C */ addiu $a0, $sp, 0x2c
/* B3B960 800C47C0 27A4002C */ addiu $a0, $sp, 0x2c
/* B3B964 800C47C4 0C03EF07 */ jal GfxPrint_Open
/* B3B968 800C47C8 8FA5007C */ lw $a1, 0x7c($sp)
/* B3B96C 800C47CC 0C03BA94 */ jal func_800EEA50
/* B3B970 800C47D0 27A4002C */ addiu $a0, $sp, 0x2c
/* B3B974 800C47D4 0C03EF19 */ jal GfxPrint_Close
/* B3B978 800C47D8 27A4002C */ addiu $a0, $sp, 0x2c
/* B3B97C 800C47DC AFA2007C */ sw $v0, 0x7c($sp)
/* B3B980 800C47E0 0C03EF05 */ jal GfxPrint_Dtor
/* B3B984 800C47E4 27A4002C */ addiu $a0, $sp, 0x2c
/* B3B988 800C47E8 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B3B98C 800C47EC 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* B3B990 800C47F0 845900D4 */ lh $t9, 0xd4($v0)
.L800C47F4:
/* B3B994 800C47F4 07230010 */ bgezl $t9, .L800C4838
/* B3B998 800C47F8 8FA9007C */ lw $t1, 0x7c($sp)
/* B3B99C 800C47FC 0C034F7E */ jal DebugArena_Display
/* B3B9A0 800C4800 00000000 */ nop
/* B3B9A4 800C4804 0C03F616 */ jal SystemArena_Display
/* B3B9A8 800C4808 00000000 */ nop
/* B3B9AC 800C480C 8FA40080 */ lw $a0, 0x80($sp)
/* B3B9B0 800C4810 0C030EE2 */ jal THA_GetSize
/* B3B9B4 800C4814 24840074 */ addiu $a0, $a0, 0x74
/* B3B9B8 800C4818 3C048014 */ lui $a0, %hi(D_80144D5C) # $a0, 0x8014
/* B3B9BC 800C481C 24844D5C */ addiu $a0, %lo(D_80144D5C) # addiu $a0, $a0, 0x4d5c
/* B3B9C0 800C4820 0C00084C */ jal osSyncPrintf
/* B3B9C4 800C4824 00402825 */ move $a1, $v0
/* B3B9C8 800C4828 3C088016 */ lui $t0, %hi(gGameInfo) # $t0, 0x8016
/* B3B9CC 800C482C 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* B3B9D0 800C4830 A50000D4 */ sh $zero, 0xd4($t0)
/* B3B9D4 800C4834 8FA9007C */ lw $t1, 0x7c($sp)
.L800C4838:
/* B3B9D8 800C4838 3C0BDF00 */ lui $t3, 0xdf00
/* B3B9DC 800C483C 252A0008 */ addiu $t2, $t1, 8
/* B3B9E0 800C4840 AFAA007C */ sw $t2, 0x7c($sp)
/* B3B9E4 800C4844 AD200004 */ sw $zero, 4($t1)
/* B3B9E8 800C4848 AD2B0000 */ sw $t3, ($t1)
/* B3B9EC 800C484C 8FA5007C */ lw $a1, 0x7c($sp)
/* B3B9F0 800C4850 0C031B0A */ jal Graph_BranchDlist
/* B3B9F4 800C4854 8FA40078 */ lw $a0, 0x78($sp)
/* B3B9F8 800C4858 8FAC007C */ lw $t4, 0x7c($sp)
/* B3B9FC 800C485C 8FAD0084 */ lw $t5, 0x84($sp)
/* B3BA00 800C4860 3C068014 */ lui $a2, %hi(D_80144D8C) # $a2, 0x8014
/* B3BA04 800C4864 24C64D8C */ addiu $a2, %lo(D_80144D8C) # addiu $a2, $a2, 0x4d8c
/* B3BA08 800C4868 ADAC02C0 */ sw $t4, 0x2c0($t5)
/* B3BA0C 800C486C 8FA50084 */ lw $a1, 0x84($sp)
/* B3BA10 800C4870 27A40064 */ addiu $a0, $sp, 0x64
/* B3BA14 800C4874 0C031AD5 */ jal Graph_CloseDisps
/* B3BA18 800C4878 24070320 */ li $a3, 800
/* B3BA1C 800C487C 0C018F5F */ jal func_80063D7C
/* B3BA20 800C4880 8FA40084 */ lw $a0, 0x84($sp)
/* B3BA24 800C4884 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* B3BA28 800C4888 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* B3BA2C 800C488C 3C048016 */ lui $a0, %hi(D_801664D0) # $a0, 0x8016
/* B3BA30 800C4890 248464D0 */ addiu $a0, %lo(D_801664D0) # addiu $a0, $a0, 0x64d0
/* B3BA34 800C4894 85D800D4 */ lh $t8, 0xd4($t6)
/* B3BA38 800C4898 53000009 */ beql $t8, $zero, .L800C48C0
/* B3BA3C 800C489C 8FBF0014 */ lw $ra, 0x14($sp)
/* B3BA40 800C48A0 0C032671 */ jal SpeedMeter_DrawTimeEntries
/* B3BA44 800C48A4 8FA50084 */ lw $a1, 0x84($sp)
/* B3BA48 800C48A8 3C048016 */ lui $a0, %hi(D_801664D0) # $a0, 0x8016
/* B3BA4C 800C48AC 248464D0 */ addiu $a0, %lo(D_801664D0) # addiu $a0, $a0, 0x64d0
/* B3BA50 800C48B0 8FA50084 */ lw $a1, 0x84($sp)
/* B3BA54 800C48B4 0C032841 */ jal SpeedMeter_DrawAllocEntries
/* B3BA58 800C48B8 8FA60080 */ lw $a2, 0x80($sp)
/* B3BA5C 800C48BC 8FBF0014 */ lw $ra, 0x14($sp)
.L800C48C0:
/* B3BA60 800C48C0 27BD0080 */ addiu $sp, $sp, 0x80
/* B3BA64 800C48C4 03E00008 */ jr $ra
/* B3BA68 800C48C8 00000000 */ nop

View file

@ -0,0 +1,111 @@
.rdata
glabel D_80144D30
.incbin "baserom.z64", 0xBBBED0, 0x20
.text
glabel GameState_DrawInputDisplay
/* B3B6F8 800C4558 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B3B6FC 800C455C AFB30014 */ sw $s3, 0x14($sp)
/* B3B700 800C4560 AFB20010 */ sw $s2, 0x10($sp)
/* B3B704 800C4564 AFB1000C */ sw $s1, 0xc($sp)
/* B3B708 800C4568 AFB00008 */ sw $s0, 8($sp)
/* B3B70C 800C456C AFA40018 */ sw $a0, 0x18($sp)
/* B3B710 800C4570 8CA20000 */ lw $v0, ($a1)
/* B3B714 800C4574 3087FFFF */ andi $a3, $a0, 0xffff
/* B3B718 800C4578 3C03E700 */ lui $v1, 0xe700
/* B3B71C 800C457C 00402025 */ move $a0, $v0
/* B3B720 800C4580 AC830000 */ sw $v1, ($a0)
/* B3B724 800C4584 AC800004 */ sw $zero, 4($a0)
/* B3B728 800C4588 24420008 */ addiu $v0, $v0, 8
/* B3B72C 800C458C 00402025 */ move $a0, $v0
/* B3B730 800C4590 3C0EEF30 */ lui $t6, 0xef30
/* B3B734 800C4594 AC8E0000 */ sw $t6, ($a0)
/* B3B738 800C4598 AC800004 */ sw $zero, 4($a0)
/* B3B73C 800C459C 3C128014 */ lui $s2, %hi(D_80144D30) # $s2, 0x8014
/* B3B740 800C45A0 24420008 */ addiu $v0, $v0, 8
/* B3B744 800C45A4 26524D30 */ addiu $s2, %lo(D_80144D30) # addiu $s2, $s2, 0x4d30
/* B3B748 800C45A8 00002025 */ move $a0, $zero
/* B3B74C 800C45AC 3C10F700 */ lui $s0, 0xf700
/* B3B750 800C45B0 3C11F600 */ lui $s1, 0xf600
/* B3B754 800C45B4 24130010 */ li $s3, 16
/* B3B758 800C45B8 240A0001 */ li $t2, 1
/* B3B75C 800C45BC 240B0002 */ li $t3, 2
.L800C45C0:
/* B3B760 800C45C0 240F0001 */ li $t7, 1
/* B3B764 800C45C4 008FC004 */ sllv $t8, $t7, $a0
/* B3B768 800C45C8 00F8C824 */ and $t9, $a3, $t8
/* B3B76C 800C45CC 1320001C */ beqz $t9, .L800C4640
/* B3B770 800C45D0 00047040 */ sll $t6, $a0, 1
/* B3B774 800C45D4 00403025 */ move $a2, $v0
/* B3B778 800C45D8 ACD00000 */ sw $s0, ($a2)
/* B3B77C 800C45DC 024E4021 */ addu $t0, $s2, $t6
/* B3B780 800C45E0 95090000 */ lhu $t1, ($t0)
/* B3B784 800C45E4 000A6080 */ sll $t4, $t2, 2
/* B3B788 800C45E8 258C00E1 */ addiu $t4, $t4, 0xe1
/* B3B78C 800C45EC 00097C00 */ sll $t7, $t1, 0x10
/* B3B790 800C45F0 319903FF */ andi $t9, $t4, 0x3ff
/* B3B794 800C45F4 012FC025 */ or $t8, $t1, $t7
/* B3B798 800C45F8 00046880 */ sll $t5, $a0, 2
/* B3B79C 800C45FC 00197380 */ sll $t6, $t9, 0xe
/* B3B7A0 800C4600 25AD00E2 */ addiu $t5, $t5, 0xe2
/* B3B7A4 800C4604 ACD80004 */ sw $t8, 4($a2)
/* B3B7A8 800C4608 24420008 */ addiu $v0, $v0, 8
/* B3B7AC 800C460C 01D17825 */ or $t7, $t6, $s1
/* B3B7B0 800C4610 00403025 */ move $a2, $v0
/* B3B7B4 800C4614 31B903FF */ andi $t9, $t5, 0x3ff
/* B3B7B8 800C4618 00197380 */ sll $t6, $t9, 0xe
/* B3B7BC 800C461C 35F8037C */ ori $t8, $t7, 0x37c
/* B3B7C0 800C4620 35CF0370 */ ori $t7, $t6, 0x370
/* B3B7C4 800C4624 ACCF0004 */ sw $t7, 4($a2)
/* B3B7C8 800C4628 ACD80000 */ sw $t8, ($a2)
/* B3B7CC 800C462C 24420008 */ addiu $v0, $v0, 8
/* B3B7D0 800C4630 00403025 */ move $a2, $v0
/* B3B7D4 800C4634 ACC30000 */ sw $v1, ($a2)
/* B3B7D8 800C4638 ACC00004 */ sw $zero, 4($a2)
/* B3B7DC 800C463C 24420008 */ addiu $v0, $v0, 8
.L800C4640:
/* B3B7E0 800C4640 24180001 */ li $t8, 1
/* B3B7E4 800C4644 0158C804 */ sllv $t9, $t8, $t2
/* B3B7E8 800C4648 00F97024 */ and $t6, $a3, $t9
/* B3B7EC 800C464C 11C0001C */ beqz $t6, .L800C46C0
/* B3B7F0 800C4650 00403025 */ move $a2, $v0
/* B3B7F4 800C4654 00047840 */ sll $t7, $a0, 1
/* B3B7F8 800C4658 024FC021 */ addu $t8, $s2, $t7
/* B3B7FC 800C465C ACD00000 */ sw $s0, ($a2)
/* B3B800 800C4660 97080002 */ lhu $t0, 2($t8)
/* B3B804 800C4664 000B4880 */ sll $t1, $t3, 2
/* B3B808 800C4668 252900E1 */ addiu $t1, $t1, 0xe1
/* B3B80C 800C466C 0008CC00 */ sll $t9, $t0, 0x10
/* B3B810 800C4670 312F03FF */ andi $t7, $t1, 0x3ff
/* B3B814 800C4674 01197025 */ or $t6, $t0, $t9
/* B3B818 800C4678 000FC380 */ sll $t8, $t7, 0xe
/* B3B81C 800C467C 000A6080 */ sll $t4, $t2, 2
/* B3B820 800C4680 258C00E2 */ addiu $t4, $t4, 0xe2
/* B3B824 800C4684 0311C825 */ or $t9, $t8, $s1
/* B3B828 800C4688 ACCE0004 */ sw $t6, 4($a2)
/* B3B82C 800C468C 24420008 */ addiu $v0, $v0, 8
/* B3B830 800C4690 00403025 */ move $a2, $v0
/* B3B834 800C4694 318F03FF */ andi $t7, $t4, 0x3ff
/* B3B838 800C4698 000FC380 */ sll $t8, $t7, 0xe
/* B3B83C 800C469C 372E037C */ ori $t6, $t9, 0x37c
/* B3B840 800C46A0 37190370 */ ori $t9, $t8, 0x370
/* B3B844 800C46A4 ACD90004 */ sw $t9, 4($a2)
/* B3B848 800C46A8 ACCE0000 */ sw $t6, ($a2)
/* B3B84C 800C46AC 24420008 */ addiu $v0, $v0, 8
/* B3B850 800C46B0 00403025 */ move $a2, $v0
/* B3B854 800C46B4 ACC30000 */ sw $v1, ($a2)
/* B3B858 800C46B8 ACC00004 */ sw $zero, 4($a2)
/* B3B85C 800C46BC 24420008 */ addiu $v0, $v0, 8
.L800C46C0:
/* B3B860 800C46C0 01602025 */ move $a0, $t3
/* B3B864 800C46C4 254A0002 */ addiu $t2, $t2, 2
/* B3B868 800C46C8 1573FFBD */ bne $t3, $s3, .L800C45C0
/* B3B86C 800C46CC 256B0002 */ addiu $t3, $t3, 2
/* B3B870 800C46D0 ACA20000 */ sw $v0, ($a1)
/* B3B874 800C46D4 8FB30014 */ lw $s3, 0x14($sp)
/* B3B878 800C46D8 8FB20010 */ lw $s2, 0x10($sp)
/* B3B87C 800C46DC 8FB1000C */ lw $s1, 0xc($sp)
/* B3B880 800C46E0 8FB00008 */ lw $s0, 8($sp)
/* B3B884 800C46E4 03E00008 */ jr $ra
/* B3B888 800C46E8 27BD0018 */ addiu $sp, $sp, 0x18

View file

@ -0,0 +1,143 @@
.rdata
glabel D_80144E28
.asciz "!!\n"
# EUC-JP: !! | Hyal temporary release!
.balign 4
glabel D_80144E3C
.asciz "%c"
.balign 4
glabel D_80144E40
.asciz "\x1b[31m"
.balign 4
glabel D_80144E48
.asciz "\n"
# EUC-JP: | Not enough memory. Change Hyrule size to maximum possible
.balign 4
glabel D_80144E88
.asciz "(hyral=%08x max=%08x free=%08x alloc=%08x)\n"
.balign 4
glabel D_80144EB4
.asciz "\x1b[m"
.balign 4
glabel D_80144EB8
.asciz " %u \n"
# EUC-JP: %u | Hyal re-allocation size =%u bytes
.balign 4
glabel D_80144EDC
.asciz "../game.c"
.balign 4
glabel D_80144EE8
.asciz "\n"
# EUC-JP: | Successful Hyal Reacquisition
.balign 4
glabel D_80144EFC
.asciz "\n"
# EUC-JP: | Hyal reacquisition failure
.balign 4
glabel D_80144F10
.asciz "../game.c"
.balign 4
.text
glabel GameState_Realloc
/* B3C0C0 800C4F20 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B3C0C4 800C4F24 AFBF001C */ sw $ra, 0x1c($sp)
/* B3C0C8 800C4F28 AFA50044 */ sw $a1, 0x44($sp)
/* B3C0CC 800C4F2C 8C8E0078 */ lw $t6, 0x78($a0)
/* B3C0D0 800C4F30 00803025 */ move $a2, $a0
/* B3C0D4 800C4F34 24840074 */ addiu $a0, $a0, 0x74
/* B3C0D8 800C4F38 AFA40020 */ sw $a0, 0x20($sp)
/* B3C0DC 800C4F3C AFA60040 */ sw $a2, 0x40($sp)
/* B3C0E0 800C4F40 0C030EFE */ jal THA_Dt
/* B3C0E4 800C4F44 AFAE0028 */ sw $t6, 0x28($sp)
/* B3C0E8 800C4F48 8FA60040 */ lw $a2, 0x40($sp)
/* B3C0EC 800C4F4C 8FA50028 */ lw $a1, 0x28($sp)
/* B3C0F0 800C4F50 24C40084 */ addiu $a0, $a2, 0x84
/* B3C0F4 800C4F54 0C0315C9 */ jal GameAlloc_Free
/* B3C0F8 800C4F58 AFA40024 */ sw $a0, 0x24($sp)
/* B3C0FC 800C4F5C 3C048014 */ lui $a0, %hi(D_80144E28) # $a0, 0x8014
/* B3C100 800C4F60 0C00084C */ jal osSyncPrintf
/* B3C104 800C4F64 24844E28 */ addiu $a0, %lo(D_80144E28) # addiu $a0, $a0, 0x4e28
/* B3C108 800C4F68 27A40034 */ addiu $a0, $sp, 0x34
/* B3C10C 800C4F6C 27A50030 */ addiu $a1, $sp, 0x30
/* B3C110 800C4F70 0C03F622 */ jal SystemArena_GetSizes
/* B3C114 800C4F74 27A6002C */ addiu $a2, $sp, 0x2c
/* B3C118 800C4F78 8FB80034 */ lw $t8, 0x34($sp)
/* B3C11C 800C4F7C 8FAF0044 */ lw $t7, 0x44($sp)
/* B3C120 800C4F80 3C048014 */ lui $a0, %hi(D_80144E3C) # $a0, 0x8014
/* B3C124 800C4F84 2719FFF0 */ addiu $t9, $t8, -0x10
/* B3C128 800C4F88 032F082B */ sltu $at, $t9, $t7
/* B3C12C 800C4F8C 10200017 */ beqz $at, .L800C4FEC
/* B3C130 800C4F90 24844E3C */ addiu $a0, %lo(D_80144E3C) # addiu $a0, $a0, 0x4e3c
/* B3C134 800C4F94 0C00084C */ jal osSyncPrintf
/* B3C138 800C4F98 24050007 */ li $a1, 7
/* B3C13C 800C4F9C 3C048014 */ lui $a0, %hi(D_80144E40) # $a0, 0x8014
/* B3C140 800C4FA0 0C00084C */ jal osSyncPrintf
/* B3C144 800C4FA4 24844E40 */ addiu $a0, %lo(D_80144E40) # addiu $a0, $a0, 0x4e40
/* B3C148 800C4FA8 3C048014 */ lui $a0, %hi(D_80144E48) # $a0, 0x8014
/* B3C14C 800C4FAC 0C00084C */ jal osSyncPrintf
/* B3C150 800C4FB0 24844E48 */ addiu $a0, %lo(D_80144E48) # addiu $a0, $a0, 0x4e48
/* B3C154 800C4FB4 8FA8002C */ lw $t0, 0x2c($sp)
/* B3C158 800C4FB8 3C048014 */ lui $a0, %hi(D_80144E88) # $a0, 0x8014
/* B3C15C 800C4FBC 24844E88 */ addiu $a0, %lo(D_80144E88) # addiu $a0, $a0, 0x4e88
/* B3C160 800C4FC0 8FA50044 */ lw $a1, 0x44($sp)
/* B3C164 800C4FC4 8FA60034 */ lw $a2, 0x34($sp)
/* B3C168 800C4FC8 8FA70030 */ lw $a3, 0x30($sp)
/* B3C16C 800C4FCC 0C00084C */ jal osSyncPrintf
/* B3C170 800C4FD0 AFA80010 */ sw $t0, 0x10($sp)
/* B3C174 800C4FD4 3C048014 */ lui $a0, %hi(D_80144EB4) # $a0, 0x8014
/* B3C178 800C4FD8 0C00084C */ jal osSyncPrintf
/* B3C17C 800C4FDC 24844EB4 */ addiu $a0, %lo(D_80144EB4) # addiu $a0, $a0, 0x4eb4
/* B3C180 800C4FE0 8FA90034 */ lw $t1, 0x34($sp)
/* B3C184 800C4FE4 252AFFF0 */ addiu $t2, $t1, -0x10
/* B3C188 800C4FE8 AFAA0044 */ sw $t2, 0x44($sp)
.L800C4FEC:
/* B3C18C 800C4FEC 3C048014 */ lui $a0, %hi(D_80144EB8) # $a0, 0x8014
/* B3C190 800C4FF0 24844EB8 */ addiu $a0, %lo(D_80144EB8) # addiu $a0, $a0, 0x4eb8
/* B3C194 800C4FF4 0C00084C */ jal osSyncPrintf
/* B3C198 800C4FF8 8FA50044 */ lw $a1, 0x44($sp)
/* B3C19C 800C4FFC 3C068014 */ lui $a2, %hi(D_80144EDC) # $a2, 0x8014
/* B3C1A0 800C5000 24C64EDC */ addiu $a2, %lo(D_80144EDC) # addiu $a2, $a2, 0x4edc
/* B3C1A4 800C5004 8FA40024 */ lw $a0, 0x24($sp)
/* B3C1A8 800C5008 8FA50044 */ lw $a1, 0x44($sp)
/* B3C1AC 800C500C 0C03158F */ jal GameAlloc_MallocDebug
/* B3C1B0 800C5010 24070409 */ li $a3, 1033
/* B3C1B4 800C5014 10400009 */ beqz $v0, .L800C503C
/* B3C1B8 800C5018 00402825 */ move $a1, $v0
/* B3C1BC 800C501C 8FA40020 */ lw $a0, 0x20($sp)
/* B3C1C0 800C5020 0C030EF5 */ jal THA_Ct
/* B3C1C4 800C5024 8FA60044 */ lw $a2, 0x44($sp)
/* B3C1C8 800C5028 3C048014 */ lui $a0, %hi(D_80144EE8) # $a0, 0x8014
/* B3C1CC 800C502C 0C00084C */ jal osSyncPrintf
/* B3C1D0 800C5030 24844EE8 */ addiu $a0, %lo(D_80144EE8) # addiu $a0, $a0, 0x4ee8
/* B3C1D4 800C5034 1000000F */ b .L800C5074
/* B3C1D8 800C5038 8FBF001C */ lw $ra, 0x1c($sp)
.L800C503C:
/* B3C1DC 800C503C 8FA40020 */ lw $a0, 0x20($sp)
/* B3C1E0 800C5040 00002825 */ move $a1, $zero
/* B3C1E4 800C5044 0C030EF5 */ jal THA_Ct
/* B3C1E8 800C5048 00003025 */ move $a2, $zero
/* B3C1EC 800C504C 3C048014 */ lui $a0, %hi(D_80144EFC) # $a0, 0x8014
/* B3C1F0 800C5050 0C00084C */ jal osSyncPrintf
/* B3C1F4 800C5054 24844EFC */ addiu $a0, %lo(D_80144EFC) # addiu $a0, $a0, 0x4efc
/* B3C1F8 800C5058 0C03F616 */ jal SystemArena_Display
/* B3C1FC 800C505C 00000000 */ nop
/* B3C200 800C5060 3C048014 */ lui $a0, %hi(D_80144F10) # $a0, 0x8014
/* B3C204 800C5064 24844F10 */ addiu $a0, %lo(D_80144F10) # addiu $a0, $a0, 0x4f10
/* B3C208 800C5068 0C0359C3 */ jal Fault_AddHungupAndCrash
/* B3C20C 800C506C 24050414 */ li $a1, 1044
/* B3C210 800C5070 8FBF001C */ lw $ra, 0x1c($sp)
.L800C5074:
/* B3C214 800C5074 27BD0040 */ addiu $sp, $sp, 0x40
/* B3C218 800C5078 03E00008 */ jr $ra
/* B3C21C 800C507C 00000000 */ nop

View file

@ -0,0 +1,266 @@
.late_rodata
glabel D_801450E8
.float 0.833
.text
glabel GameState_Update
/* B3BC68 800C4AC8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B3BC6C 800C4ACC AFBF0014 */ sw $ra, 0x14($sp)
/* B3BC70 800C4AD0 AFA40020 */ sw $a0, 0x20($sp)
/* B3BC74 800C4AD4 8C860000 */ lw $a2, ($a0)
/* B3BC78 800C4AD8 00C02025 */ move $a0, $a2
/* B3BC7C 800C4ADC 0C031233 */ jal GameState_SetFrameBuffer
/* B3BC80 800C4AE0 AFA6001C */ sw $a2, 0x1c($sp)
/* B3BC84 800C4AE4 8FA40020 */ lw $a0, 0x20($sp)
/* B3BC88 800C4AE8 8C990004 */ lw $t9, 4($a0)
/* B3BC8C 800C4AEC 0320F809 */ jalr $t9
/* B3BC90 800C4AF0 00000000 */ nop
/* B3BC94 800C4AF4 0C0310D1 */ jal func_800C4344
/* B3BC98 800C4AF8 8FA40020 */ lw $a0, 0x20($sp)
/* B3BC9C 800C4AFC 3C078016 */ lui $a3, %hi(gGameInfo) # $a3, 0x8016
/* B3BCA0 800C4B00 24E7FA90 */ addiu $a3, %lo(gGameInfo) # addiu $a3, $a3, -0x570
/* B3BCA4 800C4B04 8CE20000 */ lw $v0, ($a3)
/* B3BCA8 800C4B08 24040001 */ li $a0, 1
/* B3BCAC 800C4B0C 8FA6001C */ lw $a2, 0x1c($sp)
/* B3BCB0 800C4B10 84430152 */ lh $v1, 0x152($v0)
/* B3BCB4 800C4B14 1483002D */ bne $a0, $v1, .L800C4BCC
/* B3BCB8 800C4B18 28610002 */ slti $at, $v1, 2
/* B3BCBC 800C4B1C 84430134 */ lh $v1, 0x134($v0)
/* B3BCC0 800C4B20 3C0F8001 */ lui $t7, %hi(gViConfigMode) # $t7, 0x8001
/* B3BCC4 800C4B24 25EF3910 */ addiu $t7, %lo(gViConfigMode) # addiu $t7, $t7, 0x3910
/* B3BCC8 800C4B28 04610010 */ bgez $v1, .L800C4B6C
/* B3BCCC 800C4B2C 3C188001 */ lui $t8, %hi(gViConfigFeatures) # $t8, 0x8001
/* B3BCD0 800C4B30 A4400134 */ sh $zero, 0x134($v0)
/* B3BCD4 800C4B34 ACCF0284 */ sw $t7, 0x284($a2)
/* B3BCD8 800C4B38 8F18943C */ lw $t8, %lo(gViConfigFeatures)($t8)
/* B3BCDC 800C4B3C 3C018001 */ lui $at, %hi(gViConfigXScale)
/* B3BCE0 800C4B40 24050002 */ li $a1, 2
/* B3BCE4 800C4B44 ACD802E4 */ sw $t8, 0x2e4($a2)
/* B3BCE8 800C4B48 C4249440 */ lwc1 $f4, %lo(gViConfigXScale)($at)
/* B3BCEC 800C4B4C 3C018001 */ lui $at, %hi(gViConfigYScale)
/* B3BCF0 800C4B50 E4C402F4 */ swc1 $f4, 0x2f4($a2)
/* B3BCF4 800C4B54 C4269444 */ lwc1 $f6, %lo(gViConfigYScale)($at)
/* B3BCF8 800C4B58 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B3BCFC 800C4B5C 44810000 */ mtc1 $at, $f0
/* B3BD00 800C4B60 E4C602F8 */ swc1 $f6, 0x2f8($a2)
/* B3BD04 800C4B64 1000006D */ b .L800C4D1C
/* B3BD08 800C4B68 8CE20000 */ lw $v0, ($a3)
.L800C4B6C:
/* B3BD0C 800C4B6C 18600013 */ blez $v1, .L800C4BBC
/* B3BD10 800C4B70 3C048016 */ lui $a0, %hi(D_80166528) # $a0, 0x8016
/* B3BD14 800C4B74 8FA50020 */ lw $a1, 0x20($sp)
/* B3BD18 800C4B78 24846528 */ addiu $a0, %lo(D_80166528) # addiu $a0, $a0, 0x6528
/* B3BD1C 800C4B7C AFA6001C */ sw $a2, 0x1c($sp)
/* B3BD20 800C4B80 0C02B2BE */ jal func_800ACAF8
/* B3BD24 800C4B84 24A50014 */ addiu $a1, $a1, 0x14
/* B3BD28 800C4B88 8FA6001C */ lw $a2, 0x1c($sp)
/* B3BD2C 800C4B8C 3C038016 */ lui $v1, %hi(D_80166528) # $v1, 0x8016
/* B3BD30 800C4B90 24636528 */ addiu $v1, %lo(D_80166528) # addiu $v1, $v1, 0x6528
/* B3BD34 800C4B94 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B3BD38 800C4B98 44810000 */ mtc1 $at, $f0
/* B3BD3C 800C4B9C ACC30284 */ sw $v1, 0x284($a2)
/* B3BD40 800C4BA0 8C690080 */ lw $t1, 0x80($v1)
/* B3BD44 800C4BA4 3C078016 */ lui $a3, %hi(gGameInfo) # $a3, 0x8016
/* B3BD48 800C4BA8 24E7FA90 */ addiu $a3, %lo(gGameInfo) # addiu $a3, $a3, -0x570
/* B3BD4C 800C4BAC E4C002F4 */ swc1 $f0, 0x2f4($a2)
/* B3BD50 800C4BB0 E4C002F8 */ swc1 $f0, 0x2f8($a2)
/* B3BD54 800C4BB4 ACC902E4 */ sw $t1, 0x2e4($a2)
/* B3BD58 800C4BB8 8CE20000 */ lw $v0, ($a3)
.L800C4BBC:
/* B3BD5C 800C4BBC 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B3BD60 800C4BC0 44810000 */ mtc1 $at, $f0
/* B3BD64 800C4BC4 10000055 */ b .L800C4D1C
/* B3BD68 800C4BC8 24050002 */ li $a1, 2
.L800C4BCC:
/* B3BD6C 800C4BCC 1420004F */ bnez $at, .L800C4D0C
/* B3BD70 800C4BD0 24050002 */ li $a1, 2
/* B3BD74 800C4BD4 3C0A8001 */ lui $t2, %hi(gViConfigMode) # $t2, 0x8001
/* B3BD78 800C4BD8 254A3910 */ addiu $t2, %lo(gViConfigMode) # addiu $t2, $t2, 0x3910
/* B3BD7C 800C4BDC ACCA0284 */ sw $t2, 0x284($a2)
/* B3BD80 800C4BE0 3C0B8001 */ lui $t3, %hi(gViConfigFeatures) # $t3, 0x8001
/* B3BD84 800C4BE4 8D6B943C */ lw $t3, %lo(gViConfigFeatures)($t3)
/* B3BD88 800C4BE8 3C018001 */ lui $at, %hi(gViConfigXScale)
/* B3BD8C 800C4BEC 3C198001 */ lui $t9, %hi(osViModeMpalLan1) # $t9, 0x8001
/* B3BD90 800C4BF0 ACCB02E4 */ sw $t3, 0x2e4($a2)
/* B3BD94 800C4BF4 C4289440 */ lwc1 $f8, %lo(gViConfigXScale)($at)
/* B3BD98 800C4BF8 3C018001 */ lui $at, %hi(gViConfigYScale)
/* B3BD9C 800C4BFC 3C188001 */ lui $t8, %hi(osViModePalLan1) # $t8, 0x8001
/* B3BDA0 800C4C00 E4C802F4 */ swc1 $f8, 0x2f4($a2)
/* B3BDA4 800C4C04 C42A9444 */ lwc1 $f10, %lo(gViConfigYScale)($at)
/* B3BDA8 800C4C08 24010006 */ li $at, 6
/* B3BDAC 800C4C0C 3C0A8001 */ lui $t2, %hi(osViModeFpalLan1) # $t2, 0x8001
/* B3BDB0 800C4C10 E4CA02F8 */ swc1 $f10, 0x2f8($a2)
/* B3BDB4 800C4C14 8CE20000 */ lw $v0, ($a3)
/* B3BDB8 800C4C18 24050002 */ li $a1, 2
/* B3BDBC 800C4C1C 3C0D8001 */ lui $t5, %hi(osViModeNtscLan1) # $t5, 0x8001
/* B3BDC0 800C4C20 84430152 */ lh $v1, 0x152($v0)
/* B3BDC4 800C4C24 2739AE50 */ addiu $t9, %lo(osViModeMpalLan1) # addiu $t9, $t9, -0x51b0
/* B3BDC8 800C4C28 2718ACA0 */ addiu $t8, %lo(osViModePalLan1) # addiu $t8, $t8, -0x5360
/* B3BDCC 800C4C2C 10610006 */ beq $v1, $at, .L800C4C48
/* B3BDD0 800C4C30 254AAF20 */ addiu $t2, %lo(osViModeFpalLan1) # addiu $t2, $t2, -0x50e0
/* B3BDD4 800C4C34 14A3000C */ bne $a1, $v1, .L800C4C68
/* B3BDD8 800C4C38 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000
/* B3BDDC 800C4C3C 25080300 */ addiu $t0, %lo(osTvType) # addiu $t0, $t0, 0x300
/* B3BDE0 800C4C40 8D0C0000 */ lw $t4, ($t0)
/* B3BDE4 800C4C44 148C0008 */ bne $a0, $t4, .L800C4C68
.L800C4C48:
/* B3BDE8 800C4C48 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B3BDEC 800C4C4C 44810000 */ mtc1 $at, $f0
/* B3BDF0 800C4C50 25ADAE00 */ addiu $t5, %lo(osViModeNtscLan1) # addiu $t5, $t5, -0x5200
/* B3BDF4 800C4C54 ACCD0284 */ sw $t5, 0x284($a2)
/* B3BDF8 800C4C58 E4C002F8 */ swc1 $f0, 0x2f8($a2)
/* B3BDFC 800C4C5C 8CE20000 */ lw $v0, ($a3)
/* B3BE00 800C4C60 24050002 */ li $a1, 2
/* B3BE04 800C4C64 84430152 */ lh $v1, 0x152($v0)
.L800C4C68:
/* B3BE08 800C4C68 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B3BE0C 800C4C6C 44810000 */ mtc1 $at, $f0
/* B3BE10 800C4C70 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000
/* B3BE14 800C4C74 24010005 */ li $at, 5
/* B3BE18 800C4C78 10610006 */ beq $v1, $at, .L800C4C94
/* B3BE1C 800C4C7C 25080300 */ addiu $t0, %lo(osTvType) # addiu $t0, $t0, 0x300
/* B3BE20 800C4C80 54A30009 */ bnel $a1, $v1, .L800C4CA8
/* B3BE24 800C4C84 24010004 */ li $at, 4
/* B3BE28 800C4C88 8D0E0000 */ lw $t6, ($t0)
/* B3BE2C 800C4C8C 54AE0006 */ bnel $a1, $t6, .L800C4CA8
/* B3BE30 800C4C90 24010004 */ li $at, 4
.L800C4C94:
/* B3BE34 800C4C94 ACD90284 */ sw $t9, 0x284($a2)
/* B3BE38 800C4C98 E4C002F8 */ swc1 $f0, 0x2f8($a2)
/* B3BE3C 800C4C9C 8CE20000 */ lw $v0, ($a3)
/* B3BE40 800C4CA0 84430152 */ lh $v1, 0x152($v0)
/* B3BE44 800C4CA4 24010004 */ li $at, 4
.L800C4CA8:
/* B3BE48 800C4CA8 50610007 */ beql $v1, $at, .L800C4CC8
/* B3BE4C 800C4CAC ACD80284 */ sw $t8, 0x284($a2)
/* B3BE50 800C4CB0 54A30009 */ bnel $a1, $v1, .L800C4CD8
/* B3BE54 800C4CB4 24010003 */ li $at, 3
/* B3BE58 800C4CB8 8D0F0000 */ lw $t7, ($t0)
/* B3BE5C 800C4CBC 55E00006 */ bnezl $t7, .L800C4CD8
/* B3BE60 800C4CC0 24010003 */ li $at, 3
/* B3BE64 800C4CC4 ACD80284 */ sw $t8, 0x284($a2)
.L800C4CC8:
/* B3BE68 800C4CC8 E4C002F8 */ swc1 $f0, 0x2f8($a2)
/* B3BE6C 800C4CCC 8CE20000 */ lw $v0, ($a3)
/* B3BE70 800C4CD0 84430152 */ lh $v1, 0x152($v0)
/* B3BE74 800C4CD4 24010003 */ li $at, 3
.L800C4CD8:
/* B3BE78 800C4CD8 50610007 */ beql $v1, $at, .L800C4CF8
/* B3BE7C 800C4CDC ACCA0284 */ sw $t2, 0x284($a2)
/* B3BE80 800C4CE0 54A3000F */ bnel $a1, $v1, .L800C4D20
/* B3BE84 800C4CE4 844B1074 */ lh $t3, 0x1074($v0)
/* B3BE88 800C4CE8 8D090000 */ lw $t1, ($t0)
/* B3BE8C 800C4CEC 5520000C */ bnezl $t1, .L800C4D20
/* B3BE90 800C4CF0 844B1074 */ lh $t3, 0x1074($v0)
/* B3BE94 800C4CF4 ACCA0284 */ sw $t2, 0x284($a2)
.L800C4CF8:
/* B3BE98 800C4CF8 3C018014 */ lui $at, %hi(D_801450E8)
/* B3BE9C 800C4CFC C43050E8 */ lwc1 $f16, %lo(D_801450E8)($at)
/* B3BEA0 800C4D00 E4D002F8 */ swc1 $f16, 0x2f8($a2)
/* B3BEA4 800C4D04 10000005 */ b .L800C4D1C
/* B3BEA8 800C4D08 8CE20000 */ lw $v0, ($a3)
.L800C4D0C:
/* B3BEAC 800C4D0C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B3BEB0 800C4D10 ACC00284 */ sw $zero, 0x284($a2)
/* B3BEB4 800C4D14 44810000 */ mtc1 $at, $f0
/* B3BEB8 800C4D18 8CE20000 */ lw $v0, ($a3)
.L800C4D1C:
/* B3BEBC 800C4D1C 844B1074 */ lh $t3, 0x1074($v0)
.L800C4D20:
/* B3BEC0 800C4D20 24030015 */ li $v1, 21
/* B3BEC4 800C4D24 546B0046 */ bnel $v1, $t3, .L800C4E40
/* B3BEC8 800C4D28 84490190 */ lh $t1, 0x190($v0)
/* B3BECC 800C4D2C 844C1092 */ lh $t4, 0x1092($v0)
/* B3BED0 800C4D30 24090030 */ li $t1, 48
/* B3BED4 800C4D34 506C000F */ beql $v1, $t4, .L800C4D74
/* B3BED8 800C4D38 84431078 */ lh $v1, 0x1078($v0)
/* B3BEDC 800C4D3C A4431092 */ sh $v1, 0x1092($v0)
/* B3BEE0 800C4D40 8CED0000 */ lw $t5, ($a3)
/* B3BEE4 800C4D44 3C048001 */ lui $a0, %hi(gViConfigAdditionalScanLines) # $a0, 0x8001
/* B3BEE8 800C4D48 24849438 */ addiu $a0, %lo(gViConfigAdditionalScanLines) # addiu $a0, $a0, -0x6bc8
/* B3BEEC 800C4D4C A5A01076 */ sh $zero, 0x1076($t5)
/* B3BEF0 800C4D50 8CF90000 */ lw $t9, ($a3)
/* B3BEF4 800C4D54 908E0000 */ lbu $t6, ($a0)
/* B3BEF8 800C4D58 A72E1078 */ sh $t6, 0x1078($t9)
/* B3BEFC 800C4D5C 8CEF0000 */ lw $t7, ($a3)
/* B3BF00 800C4D60 A5E0107A */ sh $zero, 0x107a($t7)
/* B3BF04 800C4D64 8CF80000 */ lw $t8, ($a3)
/* B3BF08 800C4D68 A700107C */ sh $zero, 0x107c($t8)
/* B3BF0C 800C4D6C 8CE20000 */ lw $v0, ($a3)
/* B3BF10 800C4D70 84431078 */ lh $v1, 0x1078($v0)
.L800C4D74:
/* B3BF14 800C4D74 3C048001 */ lui $a0, %hi(gViConfigAdditionalScanLines)
/* B3BF18 800C4D78 24849438 */ addiu $a0, %lo(gViConfigAdditionalScanLines) # addiu $a0, $a0, -0x6bc8
/* B3BF1C 800C4D7C 04630005 */ bgezl $v1, .L800C4D94
/* B3BF20 800C4D80 28610031 */ slti $at, $v1, 0x31
/* B3BF24 800C4D84 A4401078 */ sh $zero, 0x1078($v0)
/* B3BF28 800C4D88 8CE20000 */ lw $v0, ($a3)
/* B3BF2C 800C4D8C 84431078 */ lh $v1, 0x1078($v0)
/* B3BF30 800C4D90 28610031 */ slti $at, $v1, 0x31
.L800C4D94:
/* B3BF34 800C4D94 54200005 */ bnezl $at, .L800C4DAC
/* B3BF38 800C4D98 844A107A */ lh $t2, 0x107a($v0)
/* B3BF3C 800C4D9C A4491078 */ sh $t1, 0x1078($v0)
/* B3BF40 800C4DA0 8CE20000 */ lw $v0, ($a3)
/* B3BF44 800C4DA4 84431078 */ lh $v1, 0x1078($v0)
/* B3BF48 800C4DA8 844A107A */ lh $t2, 0x107a($v0)
.L800C4DAC:
/* B3BF4C 800C4DAC 55430006 */ bnel $t2, $v1, .L800C4DC8
/* B3BF50 800C4DB0 A443107A */ sh $v1, 0x107a($v0)
/* B3BF54 800C4DB4 844B107C */ lh $t3, 0x107c($v0)
/* B3BF58 800C4DB8 844C1076 */ lh $t4, 0x1076($v0)
/* B3BF5C 800C4DBC 516C0020 */ beql $t3, $t4, .L800C4E40
/* B3BF60 800C4DC0 84490190 */ lh $t1, 0x190($v0)
/* B3BF64 800C4DC4 A443107A */ sh $v1, 0x107a($v0)
.L800C4DC8:
/* B3BF68 800C4DC8 8CE20000 */ lw $v0, ($a3)
/* B3BF6C 800C4DCC 3C014370 */ li $at, 0x43700000 # 0.000000
/* B3BF70 800C4DD0 844D1076 */ lh $t5, 0x1076($v0)
/* B3BF74 800C4DD4 A44D107C */ sh $t5, 0x107c($v0)
/* B3BF78 800C4DD8 8CE20000 */ lw $v0, ($a3)
/* B3BF7C 800C4DDC 844E1078 */ lh $t6, 0x1078($v0)
/* B3BF80 800C4DE0 A08E0000 */ sb $t6, ($a0)
/* B3BF84 800C4DE4 84591076 */ lh $t9, 0x1076($v0)
/* B3BF88 800C4DE8 31CF00FF */ andi $t7, $t6, 0xff
/* B3BF8C 800C4DEC 1720000E */ bnez $t9, .L800C4E28
/* B3BF90 800C4DF0 00000000 */ nop
/* B3BF94 800C4DF4 448F9000 */ mtc1 $t7, $f18
/* B3BF98 800C4DF8 44810000 */ mtc1 $at, $f0
/* B3BF9C 800C4DFC 05E10005 */ bgez $t7, .L800C4E14
/* B3BFA0 800C4E00 46809120 */ cvt.s.w $f4, $f18
/* B3BFA4 800C4E04 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B3BFA8 800C4E08 44813000 */ mtc1 $at, $f6
/* B3BFAC 800C4E0C 00000000 */ nop
/* B3BFB0 800C4E10 46062100 */ add.s $f4, $f4, $f6
.L800C4E14:
/* B3BFB4 800C4E14 46002200 */ add.s $f8, $f4, $f0
/* B3BFB8 800C4E18 3C018001 */ lui $at, %hi(gViConfigYScale)
/* B3BFBC 800C4E1C 46080283 */ div.s $f10, $f0, $f8
/* B3BFC0 800C4E20 10000003 */ b .L800C4E30
/* B3BFC4 800C4E24 E42A9444 */ swc1 $f10, %lo(gViConfigYScale)($at)
.L800C4E28:
/* B3BFC8 800C4E28 3C018001 */ lui $at, %hi(gViConfigYScale)
/* B3BFCC 800C4E2C E4209444 */ swc1 $f0, %lo(gViConfigYScale)($at)
.L800C4E30:
/* B3BFD0 800C4E30 24180001 */ li $t8, 1
/* B3BFD4 800C4E34 3C018001 */ lui $at, %hi(D_80009430) # $at, 0x8001
/* B3BFD8 800C4E38 A0389430 */ sb $t8, %lo(D_80009430)($at)
/* B3BFDC 800C4E3C 84490190 */ lh $t1, 0x190($v0)
.L800C4E40:
/* B3BFE0 800C4E40 50A90008 */ beql $a1, $t1, .L800C4E64
/* B3BFE4 800C4E44 8FA20020 */ lw $v0, 0x20($sp)
/* B3BFE8 800C4E48 8FA40020 */ lw $a0, 0x20($sp)
/* B3BFEC 800C4E4C 00C02825 */ move $a1, $a2
/* B3BFF0 800C4E50 0C0311BB */ jal GameState_Draw
/* B3BFF4 800C4E54 AFA6001C */ sw $a2, 0x1c($sp)
/* B3BFF8 800C4E58 0C03127D */ jal func_800C49F4
/* B3BFFC 800C4E5C 8FA4001C */ lw $a0, 0x1c($sp)
/* B3C000 800C4E60 8FA20020 */ lw $v0, 0x20($sp)
.L800C4E64:
/* B3C004 800C4E64 8C4A009C */ lw $t2, 0x9c($v0)
/* B3C008 800C4E68 254B0001 */ addiu $t3, $t2, 1
/* B3C00C 800C4E6C AC4B009C */ sw $t3, 0x9c($v0)
/* B3C010 800C4E70 8FBF0014 */ lw $ra, 0x14($sp)
/* B3C014 800C4E74 27BD0020 */ addiu $sp, $sp, 0x20
/* B3C018 800C4E78 03E00008 */ jr $ra
/* B3C01C 800C4E7C 00000000 */ nop

View file

@ -175,9 +175,9 @@ glabel Graph_Update
/* B3D42C 800C628C AC4D0004 */ sw $t5, 4($v0) /* B3D42C 800C628C AC4D0004 */ sw $t5, 4($v0)
/* B3D430 800C6290 0C031AD5 */ jal Graph_CloseDisps /* B3D430 800C6290 0C031AD5 */ jal Graph_CloseDisps
/* B3D434 800C6294 AC480000 */ sw $t0, ($v0) /* B3D434 800C6294 AC480000 */ sw $t0, ($v0)
/* B3D438 800C6298 0C0312A6 */ jal func_800C4A98 /* B3D438 800C6298 0C0312A6 */ jal GameState_ReqPadData
/* B3D43C 800C629C 8FA400CC */ lw $a0, 0xcc($sp) /* B3D43C 800C629C 8FA400CC */ lw $a0, 0xcc($sp)
/* B3D440 800C62A0 0C0312B2 */ jal func_800C4AC8 /* B3D440 800C62A0 0C0312B2 */ jal GameState_Update
/* B3D444 800C62A4 8FA400CC */ lw $a0, 0xcc($sp) /* B3D444 800C62A4 8FA400CC */ lw $a0, 0xcc($sp)
/* B3D448 800C62A8 3C068014 */ lui $a2, %hi(D_80145308) # $a2, 0x8014 /* B3D448 800C62A8 3C068014 */ lui $a2, %hi(D_80145308) # $a2, 0x8014
/* B3D44C 800C62AC 24C65308 */ addiu $a2, %lo(D_80145308) # addiu $a2, $a2, 0x5308 /* B3D44C 800C62AC 24C65308 */ addiu $a2, %lo(D_80145308) # addiu $a2, $a2, 0x5308

View file

@ -28,7 +28,7 @@ glabel func_8003E3AC
/* AB55B0 8003E410 24C68AB4 */ addiu $a2, %lo(D_80138AB4) # addiu $a2, $a2, -0x754c /* AB55B0 8003E410 24C68AB4 */ addiu $a2, %lo(D_80138AB4) # addiu $a2, $a2, -0x754c
/* AB55B4 8003E414 8FA40018 */ lw $a0, 0x18($sp) /* AB55B4 8003E414 8FA40018 */ lw $a0, 0x18($sp)
/* AB55B8 8003E418 8FA50024 */ lw $a1, 0x24($sp) /* AB55B8 8003E418 8FA50024 */ lw $a1, 0x24($sp)
/* AB55BC 8003E41C 0C031521 */ jal Game_Alloc /* AB55BC 8003E41C 0C031521 */ jal GameState_AllocEnd
/* AB55C0 8003E420 2407175B */ li $a3, 5979 /* AB55C0 8003E420 2407175B */ li $a3, 5979
/* AB55C4 8003E424 8FA8001C */ lw $t0, 0x1c($sp) /* AB55C4 8003E424 8FA8001C */ lw $t0, 0x1c($sp)
/* AB55C8 8003E428 3C048014 */ lui $a0, %hi(D_80138AC4) # $a0, 0x8014 /* AB55C8 8003E428 3C048014 */ lui $a0, %hi(D_80138AC4) # $a0, 0x8014

View file

@ -173,7 +173,7 @@ glabel func_801109B0
/* B87C34 80110A94 24C64D78 */ addiu $a2, %lo(D_80154D78) # addiu $a2, $a2, 0x4d78 /* B87C34 80110A94 24C64D78 */ addiu $a2, %lo(D_80154D78) # addiu $a2, $a2, 0x4d78
/* B87C38 80110A98 8FA40058 */ lw $a0, 0x58($sp) /* B87C38 80110A98 8FA40058 */ lw $a0, 0x58($sp)
/* B87C3C 80110A9C 8FA5002C */ lw $a1, 0x2c($sp) /* B87C3C 80110A9C 8FA5002C */ lw $a1, 0x2c($sp)
/* B87C40 80110AA0 0C031521 */ jal Game_Alloc /* B87C40 80110AA0 0C031521 */ jal GameState_AllocEnd
/* B87C44 80110AA4 2407009F */ li $a3, 159 /* B87C44 80110AA4 2407009F */ li $a3, 159
/* B87C48 80110AA8 3C048015 */ lui $a0, %hi(D_80154D8C) # $a0, 0x8015 /* B87C48 80110AA8 3C048015 */ lui $a0, %hi(D_80154D8C) # $a0, 0x8015
/* B87C4C 80110AAC AE020130 */ sw $v0, 0x130($s0) /* B87C4C 80110AAC AE020130 */ sw $v0, 0x130($s0)
@ -202,7 +202,7 @@ glabel func_801109B0
/* B87CA4 80110B04 24C64DF8 */ addiu $a2, %lo(D_80154DF8) # addiu $a2, $a2, 0x4df8 /* B87CA4 80110B04 24C64DF8 */ addiu $a2, %lo(D_80154DF8) # addiu $a2, $a2, 0x4df8
/* B87CA8 80110B08 8FA40058 */ lw $a0, 0x58($sp) /* B87CA8 80110B08 8FA40058 */ lw $a0, 0x58($sp)
/* B87CAC 80110B0C 24050480 */ li $a1, 1152 /* B87CAC 80110B0C 24050480 */ li $a1, 1152
/* B87CB0 80110B10 0C031521 */ jal Game_Alloc /* B87CB0 80110B10 0C031521 */ jal GameState_AllocEnd
/* B87CB4 80110B14 240700A6 */ li $a3, 166 /* B87CB4 80110B14 240700A6 */ li $a3, 166
/* B87CB8 80110B18 3C048015 */ lui $a0, %hi(D_80154E0C) # $a0, 0x8015 /* B87CB8 80110B18 3C048015 */ lui $a0, %hi(D_80154E0C) # $a0, 0x8015
/* B87CBC 80110B1C AE020134 */ sw $v0, 0x134($s0) /* B87CBC 80110B1C AE020134 */ sw $v0, 0x134($s0)
@ -270,7 +270,7 @@ glabel func_801109B0
/* B87DA0 80110C00 24C64EB0 */ addiu $a2, %lo(D_80154EB0) # addiu $a2, $a2, 0x4eb0 /* B87DA0 80110C00 24C64EB0 */ addiu $a2, %lo(D_80154EB0) # addiu $a2, $a2, 0x4eb0
/* B87DA4 80110C04 8FA40058 */ lw $a0, 0x58($sp) /* B87DA4 80110C04 8FA40058 */ lw $a0, 0x58($sp)
/* B87DA8 80110C08 24054000 */ li $a1, 16384 /* B87DA8 80110C08 24054000 */ li $a1, 16384
/* B87DAC 80110C0C 0C031521 */ jal Game_Alloc /* B87DAC 80110C0C 0C031521 */ jal GameState_AllocEnd
/* B87DB0 80110C10 240700BE */ li $a3, 190 /* B87DB0 80110C10 240700BE */ li $a3, 190
/* B87DB4 80110C14 3C048015 */ lui $a0, %hi(D_80154EC4) # $a0, 0x8015 /* B87DB4 80110C14 3C048015 */ lui $a0, %hi(D_80154EC4) # $a0, 0x8015
/* B87DB8 80110C18 AE020138 */ sw $v0, 0x138($s0) /* B87DB8 80110C18 AE020138 */ sw $v0, 0x138($s0)

View file

@ -52,7 +52,7 @@ glabel func_800272B0
/* A9E4CC 8002732C 8FA40028 */ lw $a0, 0x28($sp) /* A9E4CC 8002732C 8FA40028 */ lw $a0, 0x28($sp)
/* A9E4D0 80027330 24070121 */ li $a3, 289 /* A9E4D0 80027330 24070121 */ li $a3, 289
/* A9E4D4 80027334 00002812 */ mflo $a1 /* A9E4D4 80027334 00002812 */ mflo $a1
/* A9E4D8 80027338 0C031521 */ jal Game_Alloc /* A9E4D8 80027338 0C031521 */ jal GameState_AllocEnd
/* A9E4DC 8002733C 00000000 */ nop /* A9E4DC 8002733C 00000000 */ nop
/* A9E4E0 80027340 3C118011 */ lui $s1, %hi(EffectSS2Info) # $s1, 0x8011 /* A9E4E0 80027340 3C118011 */ lui $s1, %hi(EffectSS2Info) # $s1, 0x8011
/* A9E4E4 80027344 263158B0 */ addiu $s1, %lo(EffectSS2Info) # addiu $s1, $s1, 0x58b0 /* A9E4E4 80027344 263158B0 */ addiu $s1, %lo(EffectSS2Info) # addiu $s1, $s1, 0x58b0

View file

@ -61,7 +61,7 @@ glabel Gameplay_Init
/* B33C58 800BCAB8 00000000 */ nop /* B33C58 800BCAB8 00000000 */ nop
/* B33C5C 800BCABC 3C05001D */ lui $a1, (0x001D4790 >> 16) # lui $a1, 0x1d /* B33C5C 800BCABC 3C05001D */ lui $a1, (0x001D4790 >> 16) # lui $a1, 0x1d
/* B33C60 800BCAC0 34A54790 */ ori $a1, (0x001D4790 & 0xFFFF) # ori $a1, $a1, 0x4790 /* B33C60 800BCAC0 34A54790 */ ori $a1, (0x001D4790 & 0xFFFF) # ori $a1, $a1, 0x4790
/* B33C64 800BCAC4 0C0313C8 */ jal func_800C4F20 /* B33C64 800BCAC4 0C0313C8 */ jal GameState_Realloc
/* B33C68 800BCAC8 02202025 */ move $a0, $s1 /* B33C68 800BCAC8 02202025 */ move $a0, $s1
/* B33C6C 800BCACC 0C02EF6D */ jal KaleidoManager_Init /* B33C6C 800BCACC 0C02EF6D */ jal KaleidoManager_Init
/* B33C70 800BCAD0 02202025 */ move $a0, $s1 /* B33C70 800BCAD0 02202025 */ move $a0, $s1
@ -495,7 +495,7 @@ glabel Gameplay_Init
/* B342B4 800BD114 24C64244 */ addiu $a2, %lo(D_80144244) # addiu $a2, $a2, 0x4244 /* B342B4 800BD114 24C64244 */ addiu $a2, %lo(D_80144244) # addiu $a2, $a2, 0x4244
/* B342B8 800BD118 02202025 */ move $a0, $s1 /* B342B8 800BD118 02202025 */ move $a0, $s1
/* B342BC 800BD11C 00402825 */ move $a1, $v0 /* B342BC 800BD11C 00402825 */ move $a1, $v0
/* B342C0 800BD120 0C031521 */ jal Game_Alloc /* B342C0 800BD120 0C031521 */ jal GameState_AllocEnd
/* B342C4 800BD124 24070B66 */ li $a3, 2918 /* B342C4 800BD124 24070B66 */ li $a3, 2918
/* B342C8 800BD128 8FA9007C */ lw $t1, 0x7c($sp) /* B342C8 800BD128 8FA9007C */ lw $t1, 0x7c($sp)
/* B342CC 800BD12C 24460008 */ addiu $a2, $v0, 8 /* B342CC 800BD12C 24460008 */ addiu $a2, $v0, 8

View file

@ -171,7 +171,7 @@ glabel func_80096FE8
/* B0E354 800971B4 24C6F1BC */ addiu $a2, %lo(D_8013F1BC) # addiu $a2, $a2, -0xe44 /* B0E354 800971B4 24C6F1BC */ addiu $a2, %lo(D_8013F1BC) # addiu $a2, $a2, -0xe44
/* B0E358 800971B8 8FA40040 */ lw $a0, 0x40($sp) /* B0E358 800971B8 8FA40040 */ lw $a0, 0x40($sp)
/* B0E35C 800971BC 02602825 */ move $a1, $s3 /* B0E35C 800971BC 02602825 */ move $a1, $s3
/* B0E360 800971C0 0C031521 */ jal Game_Alloc /* B0E360 800971C0 0C031521 */ jal GameState_AllocEnd
/* B0E364 800971C4 240703B2 */ li $a3, 946 /* B0E364 800971C4 240703B2 */ li $a3, 946
/* B0E368 800971C8 8FAB0044 */ lw $t3, 0x44($sp) /* B0E368 800971C8 8FAB0044 */ lw $t3, 0x44($sp)
/* B0E36C 800971CC 3C048014 */ lui $a0, %hi(D_8013F1C8) # $a0, 0x8014 /* B0E36C 800971CC 3C048014 */ lui $a0, %hi(D_8013F1C8) # $a0, 0x8014

View file

@ -5,7 +5,7 @@ glabel func_800A9CD4
/* B20E80 800A9CE0 3C068014 */ lui $a2, %hi(D_80140F88) # $a2, 0x8014 /* B20E80 800A9CE0 3C068014 */ lui $a2, %hi(D_80140F88) # $a2, 0x8014
/* B20E84 800A9CE4 24C60F88 */ addiu $a2, %lo(D_80140F88) # addiu $a2, $a2, 0xf88 /* B20E84 800A9CE4 24C60F88 */ addiu $a2, %lo(D_80140F88) # addiu $a2, $a2, 0xf88
/* B20E88 800A9CE8 34058000 */ li $a1, 32768 /* B20E88 800A9CE8 34058000 */ li $a1, 32768
/* B20E8C 800A9CEC 0C031521 */ jal Game_Alloc /* B20E8C 800A9CEC 0C031521 */ jal GameState_AllocEnd
/* B20E90 800A9CF0 2407050E */ li $a3, 1294 /* B20E90 800A9CF0 2407050E */ li $a3, 1294
/* B20E94 800A9CF4 8FAE001C */ lw $t6, 0x1c($sp) /* B20E94 800A9CF4 8FAE001C */ lw $t6, 0x1c($sp)
/* B20E98 800A9CF8 3C048014 */ lui $a0, %hi(D_80140F94) # $a0, 0x8014 /* B20E98 800A9CF8 3C048014 */ lui $a0, %hi(D_80140F94) # $a0, 0x8014

View file

@ -1110,7 +1110,7 @@ glabel L800AF25C
/* B265CC 800AF42C AFA50044 */ sw $a1, 0x44($sp) /* B265CC 800AF42C AFA50044 */ sw $a1, 0x44($sp)
/* B265D0 800AF430 AFA20030 */ sw $v0, 0x30($sp) /* B265D0 800AF430 AFA20030 */ sw $v0, 0x30($sp)
/* B265D4 800AF434 8FA40048 */ lw $a0, 0x48($sp) /* B265D4 800AF434 8FA40048 */ lw $a0, 0x48($sp)
/* B265D8 800AF438 0C031521 */ jal Game_Alloc /* B265D8 800AF438 0C031521 */ jal GameState_AllocEnd
/* B265DC 800AF43C 2407041E */ li $a3, 1054 /* B265DC 800AF43C 2407041E */ li $a3, 1054
/* B265E0 800AF440 14400007 */ bnez $v0, .L800AF460 /* B265E0 800AF440 14400007 */ bnez $v0, .L800AF460
/* B265E4 800AF444 AE020128 */ sw $v0, 0x128($s0) /* B265E4 800AF444 AE020128 */ sw $v0, 0x128($s0)
@ -1143,7 +1143,7 @@ glabel L800AF25C
/* B2664C 800AF4AC AFA50044 */ sw $a1, 0x44($sp) /* B2664C 800AF4AC AFA50044 */ sw $a1, 0x44($sp)
/* B26650 800AF4B0 AFA3002C */ sw $v1, 0x2c($sp) /* B26650 800AF4B0 AFA3002C */ sw $v1, 0x2c($sp)
/* B26654 800AF4B4 8FA40048 */ lw $a0, 0x48($sp) /* B26654 800AF4B4 8FA40048 */ lw $a0, 0x48($sp)
/* B26658 800AF4B8 0C031521 */ jal Game_Alloc /* B26658 800AF4B8 0C031521 */ jal GameState_AllocEnd
/* B2665C 800AF4BC 24070424 */ li $a3, 1060 /* B2665C 800AF4BC 24070424 */ li $a3, 1060
/* B26660 800AF4C0 14400007 */ bnez $v0, .L800AF4E0 /* B26660 800AF4C0 14400007 */ bnez $v0, .L800AF4E0
/* B26664 800AF4C4 AE02012C */ sw $v0, 0x12c($s0) /* B26664 800AF4C4 AE02012C */ sw $v0, 0x12c($s0)
@ -1180,7 +1180,7 @@ glabel L800AF25C
/* B266DC 800AF53C 24070430 */ li $a3, 1072 /* B266DC 800AF53C 24070430 */ li $a3, 1072
/* B266E0 800AF540 01CF1023 */ subu $v0, $t6, $t7 /* B266E0 800AF540 01CF1023 */ subu $v0, $t6, $t7
/* B266E4 800AF544 00022840 */ sll $a1, $v0, 1 /* B266E4 800AF544 00022840 */ sll $a1, $v0, 1
/* B266E8 800AF548 0C031521 */ jal Game_Alloc /* B266E8 800AF548 0C031521 */ jal GameState_AllocEnd
/* B266EC 800AF54C AFA20044 */ sw $v0, 0x44($sp) /* B266EC 800AF54C AFA20044 */ sw $v0, 0x44($sp)
/* B266F0 800AF550 14400007 */ bnez $v0, .L800AF570 /* B266F0 800AF550 14400007 */ bnez $v0, .L800AF570
/* B266F4 800AF554 AE020130 */ sw $v0, 0x130($s0) /* B266F4 800AF554 AE020130 */ sw $v0, 0x130($s0)
@ -1219,7 +1219,7 @@ glabel L800AF25C
/* B26770 800AF5D0 2407043D */ li $a3, 1085 /* B26770 800AF5D0 2407043D */ li $a3, 1085
/* B26774 800AF5D4 01CF1023 */ subu $v0, $t6, $t7 /* B26774 800AF5D4 01CF1023 */ subu $v0, $t6, $t7
/* B26778 800AF5D8 00022840 */ sll $a1, $v0, 1 /* B26778 800AF5D8 00022840 */ sll $a1, $v0, 1
/* B2677C 800AF5DC 0C031521 */ jal Game_Alloc /* B2677C 800AF5DC 0C031521 */ jal GameState_AllocEnd
/* B26780 800AF5E0 AFA20044 */ sw $v0, 0x44($sp) /* B26780 800AF5E0 AFA20044 */ sw $v0, 0x44($sp)
/* B26784 800AF5E4 14400007 */ bnez $v0, .L800AF604 /* B26784 800AF5E4 14400007 */ bnez $v0, .L800AF604
/* B26788 800AF5E8 AE020130 */ sw $v0, 0x130($s0) /* B26788 800AF5E8 AE020130 */ sw $v0, 0x130($s0)
@ -1265,7 +1265,7 @@ glabel L800AF658
/* B2681C 800AF67C AFA5002C */ sw $a1, 0x2c($sp) /* B2681C 800AF67C AFA5002C */ sw $a1, 0x2c($sp)
/* B26820 800AF680 AFA20030 */ sw $v0, 0x30($sp) /* B26820 800AF680 AFA20030 */ sw $v0, 0x30($sp)
/* B26824 800AF684 8FA40048 */ lw $a0, 0x48($sp) /* B26824 800AF684 8FA40048 */ lw $a0, 0x48($sp)
/* B26828 800AF688 0C031521 */ jal Game_Alloc /* B26828 800AF688 0C031521 */ jal GameState_AllocEnd
/* B2682C 800AF68C 24070467 */ li $a3, 1127 /* B2682C 800AF68C 24070467 */ li $a3, 1127
/* B26830 800AF690 14400007 */ bnez $v0, .L800AF6B0 /* B26830 800AF690 14400007 */ bnez $v0, .L800AF6B0
/* B26834 800AF694 AE020128 */ sw $v0, 0x128($s0) /* B26834 800AF694 AE020128 */ sw $v0, 0x128($s0)
@ -1294,7 +1294,7 @@ glabel L800AF658
/* B2688C 800AF6EC AFA5002C */ sw $a1, 0x2c($sp) /* B2688C 800AF6EC AFA5002C */ sw $a1, 0x2c($sp)
/* B26890 800AF6F0 AFA30030 */ sw $v1, 0x30($sp) /* B26890 800AF6F0 AFA30030 */ sw $v1, 0x30($sp)
/* B26894 800AF6F4 8FA40048 */ lw $a0, 0x48($sp) /* B26894 800AF6F4 8FA40048 */ lw $a0, 0x48($sp)
/* B26898 800AF6F8 0C031521 */ jal Game_Alloc /* B26898 800AF6F8 0C031521 */ jal GameState_AllocEnd
/* B2689C 800AF6FC 2407046C */ li $a3, 1132 /* B2689C 800AF6FC 2407046C */ li $a3, 1132
/* B268A0 800AF700 14400007 */ bnez $v0, .L800AF720 /* B268A0 800AF700 14400007 */ bnez $v0, .L800AF720
/* B268A4 800AF704 AE020130 */ sw $v0, 0x130($s0) /* B268A4 800AF704 AE020130 */ sw $v0, 0x130($s0)
@ -1329,7 +1329,7 @@ glabel L800AF750
/* B2690C 800AF76C AFA5002C */ sw $a1, 0x2c($sp) /* B2690C 800AF76C AFA5002C */ sw $a1, 0x2c($sp)
/* B26910 800AF770 AFA20030 */ sw $v0, 0x30($sp) /* B26910 800AF770 AFA20030 */ sw $v0, 0x30($sp)
/* B26914 800AF774 8FA40048 */ lw $a0, 0x48($sp) /* B26914 800AF774 8FA40048 */ lw $a0, 0x48($sp)
/* B26918 800AF778 0C031521 */ jal Game_Alloc /* B26918 800AF778 0C031521 */ jal GameState_AllocEnd
/* B2691C 800AF77C 24070483 */ li $a3, 1155 /* B2691C 800AF77C 24070483 */ li $a3, 1155
/* B26920 800AF780 14400007 */ bnez $v0, .L800AF7A0 /* B26920 800AF780 14400007 */ bnez $v0, .L800AF7A0
/* B26924 800AF784 AE020128 */ sw $v0, 0x128($s0) /* B26924 800AF784 AE020128 */ sw $v0, 0x128($s0)
@ -1352,7 +1352,7 @@ glabel L800AF750
/* B26964 800AF7C4 24C61B98 */ addiu $a2, %lo(D_80141B98) # addiu $a2, $a2, 0x1b98 /* B26964 800AF7C4 24C61B98 */ addiu $a2, %lo(D_80141B98) # addiu $a2, $a2, 0x1b98
/* B26968 800AF7C8 8FA40048 */ lw $a0, 0x48($sp) /* B26968 800AF7C8 8FA40048 */ lw $a0, 0x48($sp)
/* B2696C 800AF7CC 8FA5002C */ lw $a1, 0x2c($sp) /* B2696C 800AF7CC 8FA5002C */ lw $a1, 0x2c($sp)
/* B26970 800AF7D0 0C031521 */ jal Game_Alloc /* B26970 800AF7D0 0C031521 */ jal GameState_AllocEnd
/* B26974 800AF7D4 2407048A */ li $a3, 1162 /* B26974 800AF7D4 2407048A */ li $a3, 1162
/* B26978 800AF7D8 14400007 */ bnez $v0, .L800AF7F8 /* B26978 800AF7D8 14400007 */ bnez $v0, .L800AF7F8
/* B2697C 800AF7DC AE02012C */ sw $v0, 0x12c($s0) /* B2697C 800AF7DC AE02012C */ sw $v0, 0x12c($s0)
@ -1382,7 +1382,7 @@ glabel L800AF750
/* B269D8 800AF838 AFA8002C */ sw $t0, 0x2c($sp) /* B269D8 800AF838 AFA8002C */ sw $t0, 0x2c($sp)
/* B269DC 800AF83C AFA30030 */ sw $v1, 0x30($sp) /* B269DC 800AF83C AFA30030 */ sw $v1, 0x30($sp)
/* B269E0 800AF840 8FA40048 */ lw $a0, 0x48($sp) /* B269E0 800AF840 8FA40048 */ lw $a0, 0x48($sp)
/* B269E4 800AF844 0C031521 */ jal Game_Alloc /* B269E4 800AF844 0C031521 */ jal GameState_AllocEnd
/* B269E8 800AF848 24070492 */ li $a3, 1170 /* B269E8 800AF848 24070492 */ li $a3, 1170
/* B269EC 800AF84C 14400007 */ bnez $v0, .L800AF86C /* B269EC 800AF84C 14400007 */ bnez $v0, .L800AF86C
/* B269F0 800AF850 AE020130 */ sw $v0, 0x130($s0) /* B269F0 800AF850 AE020130 */ sw $v0, 0x130($s0)
@ -1426,7 +1426,7 @@ glabel L800AF8B8
/* B26A7C 800AF8DC AFA5002C */ sw $a1, 0x2c($sp) /* B26A7C 800AF8DC AFA5002C */ sw $a1, 0x2c($sp)
/* B26A80 800AF8E0 AFA20030 */ sw $v0, 0x30($sp) /* B26A80 800AF8E0 AFA20030 */ sw $v0, 0x30($sp)
/* B26A84 800AF8E4 8FA40048 */ lw $a0, 0x48($sp) /* B26A84 800AF8E4 8FA40048 */ lw $a0, 0x48($sp)
/* B26A88 800AF8E8 0C031521 */ jal Game_Alloc /* B26A88 800AF8E8 0C031521 */ jal GameState_AllocEnd
/* B26A8C 800AF8EC 2407049E */ li $a3, 1182 /* B26A8C 800AF8EC 2407049E */ li $a3, 1182
/* B26A90 800AF8F0 14400007 */ bnez $v0, .L800AF910 /* B26A90 800AF8F0 14400007 */ bnez $v0, .L800AF910
/* B26A94 800AF8F4 AE020128 */ sw $v0, 0x128($s0) /* B26A94 800AF8F4 AE020128 */ sw $v0, 0x128($s0)
@ -1459,7 +1459,7 @@ glabel L800AF8B8
/* B26AFC 800AF95C 24C61CC0 */ addiu $a2, %lo(D_80141CC0) # addiu $a2, $a2, 0x1cc0 /* B26AFC 800AF95C 24C61CC0 */ addiu $a2, %lo(D_80141CC0) # addiu $a2, $a2, 0x1cc0
/* B26B00 800AF960 8FA40048 */ lw $a0, 0x48($sp) /* B26B00 800AF960 8FA40048 */ lw $a0, 0x48($sp)
/* B26B04 800AF964 8FA5002C */ lw $a1, 0x2c($sp) /* B26B04 800AF964 8FA5002C */ lw $a1, 0x2c($sp)
/* B26B08 800AF968 0C031521 */ jal Game_Alloc /* B26B08 800AF968 0C031521 */ jal GameState_AllocEnd
/* B26B0C 800AF96C 240704A4 */ li $a3, 1188 /* B26B0C 800AF96C 240704A4 */ li $a3, 1188
/* B26B10 800AF970 14400007 */ bnez $v0, .L800AF990 /* B26B10 800AF970 14400007 */ bnez $v0, .L800AF990
/* B26B14 800AF974 AE020130 */ sw $v0, 0x130($s0) /* B26B14 800AF974 AE020130 */ sw $v0, 0x130($s0)
@ -1492,7 +1492,7 @@ glabel L800AF9B8
/* B26B74 800AF9D4 AFA5002C */ sw $a1, 0x2c($sp) /* B26B74 800AF9D4 AFA5002C */ sw $a1, 0x2c($sp)
/* B26B78 800AF9D8 AFA20030 */ sw $v0, 0x30($sp) /* B26B78 800AF9D8 AFA20030 */ sw $v0, 0x30($sp)
/* B26B7C 800AF9DC 8FA40048 */ lw $a0, 0x48($sp) /* B26B7C 800AF9DC 8FA40048 */ lw $a0, 0x48($sp)
/* B26B80 800AF9E0 0C031521 */ jal Game_Alloc /* B26B80 800AF9E0 0C031521 */ jal GameState_AllocEnd
/* B26B84 800AF9E4 240704AC */ li $a3, 1196 /* B26B84 800AF9E4 240704AC */ li $a3, 1196
/* B26B88 800AF9E8 14400007 */ bnez $v0, .L800AFA08 /* B26B88 800AF9E8 14400007 */ bnez $v0, .L800AFA08
/* B26B8C 800AF9EC AE020128 */ sw $v0, 0x128($s0) /* B26B8C 800AF9EC AE020128 */ sw $v0, 0x128($s0)
@ -1521,7 +1521,7 @@ glabel L800AF9B8
/* B26BE4 800AFA44 AFA5002C */ sw $a1, 0x2c($sp) /* B26BE4 800AFA44 AFA5002C */ sw $a1, 0x2c($sp)
/* B26BE8 800AFA48 AFA30030 */ sw $v1, 0x30($sp) /* B26BE8 800AFA48 AFA30030 */ sw $v1, 0x30($sp)
/* B26BEC 800AFA4C 8FA40048 */ lw $a0, 0x48($sp) /* B26BEC 800AFA4C 8FA40048 */ lw $a0, 0x48($sp)
/* B26BF0 800AFA50 0C031521 */ jal Game_Alloc /* B26BF0 800AFA50 0C031521 */ jal GameState_AllocEnd
/* B26BF4 800AFA54 240704B3 */ li $a3, 1203 /* B26BF4 800AFA54 240704B3 */ li $a3, 1203
/* B26BF8 800AFA58 14400007 */ bnez $v0, .L800AFA78 /* B26BF8 800AFA58 14400007 */ bnez $v0, .L800AFA78
/* B26BFC 800AFA5C AE02012C */ sw $v0, 0x12c($s0) /* B26BFC 800AFA5C AE02012C */ sw $v0, 0x12c($s0)
@ -1551,7 +1551,7 @@ glabel L800AF9B8
/* B26C58 800AFAB8 AFA8002C */ sw $t0, 0x2c($sp) /* B26C58 800AFAB8 AFA8002C */ sw $t0, 0x2c($sp)
/* B26C5C 800AFABC AFA30030 */ sw $v1, 0x30($sp) /* B26C5C 800AFABC AFA30030 */ sw $v1, 0x30($sp)
/* B26C60 800AFAC0 8FA40048 */ lw $a0, 0x48($sp) /* B26C60 800AFAC0 8FA40048 */ lw $a0, 0x48($sp)
/* B26C64 800AFAC4 0C031521 */ jal Game_Alloc /* B26C64 800AFAC4 0C031521 */ jal GameState_AllocEnd
/* B26C68 800AFAC8 240704BB */ li $a3, 1211 /* B26C68 800AFAC8 240704BB */ li $a3, 1211
/* B26C6C 800AFACC 14400007 */ bnez $v0, .L800AFAEC /* B26C6C 800AFACC 14400007 */ bnez $v0, .L800AFAEC
/* B26C70 800AFAD0 AE020130 */ sw $v0, 0x130($s0) /* B26C70 800AFAD0 AE020130 */ sw $v0, 0x130($s0)
@ -1596,7 +1596,7 @@ glabel L800AFB3C
/* B26D00 800AFB60 AFA5002C */ sw $a1, 0x2c($sp) /* B26D00 800AFB60 AFA5002C */ sw $a1, 0x2c($sp)
/* B26D04 800AFB64 AFA20030 */ sw $v0, 0x30($sp) /* B26D04 800AFB64 AFA20030 */ sw $v0, 0x30($sp)
/* B26D08 800AFB68 8FA40048 */ lw $a0, 0x48($sp) /* B26D08 800AFB68 8FA40048 */ lw $a0, 0x48($sp)
/* B26D0C 800AFB6C 0C031521 */ jal Game_Alloc /* B26D0C 800AFB6C 0C031521 */ jal GameState_AllocEnd
/* B26D10 800AFB70 240704CA */ li $a3, 1226 /* B26D10 800AFB70 240704CA */ li $a3, 1226
/* B26D14 800AFB74 14400007 */ bnez $v0, .L800AFB94 /* B26D14 800AFB74 14400007 */ bnez $v0, .L800AFB94
/* B26D18 800AFB78 AE020128 */ sw $v0, 0x128($s0) /* B26D18 800AFB78 AE020128 */ sw $v0, 0x128($s0)
@ -1625,7 +1625,7 @@ glabel L800AFB3C
/* B26D70 800AFBD0 AFA5002C */ sw $a1, 0x2c($sp) /* B26D70 800AFBD0 AFA5002C */ sw $a1, 0x2c($sp)
/* B26D74 800AFBD4 AFA30030 */ sw $v1, 0x30($sp) /* B26D74 800AFBD4 AFA30030 */ sw $v1, 0x30($sp)
/* B26D78 800AFBD8 8FA40048 */ lw $a0, 0x48($sp) /* B26D78 800AFBD8 8FA40048 */ lw $a0, 0x48($sp)
/* B26D7C 800AFBDC 0C031521 */ jal Game_Alloc /* B26D7C 800AFBDC 0C031521 */ jal GameState_AllocEnd
/* B26D80 800AFBE0 240704CF */ li $a3, 1231 /* B26D80 800AFBE0 240704CF */ li $a3, 1231
/* B26D84 800AFBE4 14400007 */ bnez $v0, .L800AFC04 /* B26D84 800AFBE4 14400007 */ bnez $v0, .L800AFC04
/* B26D88 800AFBE8 AE020130 */ sw $v0, 0x130($s0) /* B26D88 800AFBE8 AE020130 */ sw $v0, 0x130($s0)
@ -1660,7 +1660,7 @@ glabel L800AFC2C
/* B26DF0 800AFC50 AFA5002C */ sw $a1, 0x2c($sp) /* B26DF0 800AFC50 AFA5002C */ sw $a1, 0x2c($sp)
/* B26DF4 800AFC54 AFA20030 */ sw $v0, 0x30($sp) /* B26DF4 800AFC54 AFA20030 */ sw $v0, 0x30($sp)
/* B26DF8 800AFC58 8FA40048 */ lw $a0, 0x48($sp) /* B26DF8 800AFC58 8FA40048 */ lw $a0, 0x48($sp)
/* B26DFC 800AFC5C 0C031521 */ jal Game_Alloc /* B26DFC 800AFC5C 0C031521 */ jal GameState_AllocEnd
/* B26E00 800AFC60 240704E9 */ li $a3, 1257 /* B26E00 800AFC60 240704E9 */ li $a3, 1257
/* B26E04 800AFC64 14400007 */ bnez $v0, .L800AFC84 /* B26E04 800AFC64 14400007 */ bnez $v0, .L800AFC84
/* B26E08 800AFC68 AE020128 */ sw $v0, 0x128($s0) /* B26E08 800AFC68 AE020128 */ sw $v0, 0x128($s0)
@ -1689,7 +1689,7 @@ glabel L800AFC2C
/* B26E60 800AFCC0 AFA5002C */ sw $a1, 0x2c($sp) /* B26E60 800AFCC0 AFA5002C */ sw $a1, 0x2c($sp)
/* B26E64 800AFCC4 AFA30030 */ sw $v1, 0x30($sp) /* B26E64 800AFCC4 AFA30030 */ sw $v1, 0x30($sp)
/* B26E68 800AFCC8 8FA40048 */ lw $a0, 0x48($sp) /* B26E68 800AFCC8 8FA40048 */ lw $a0, 0x48($sp)
/* B26E6C 800AFCCC 0C031521 */ jal Game_Alloc /* B26E6C 800AFCCC 0C031521 */ jal GameState_AllocEnd
/* B26E70 800AFCD0 240704EE */ li $a3, 1262 /* B26E70 800AFCD0 240704EE */ li $a3, 1262
/* B26E74 800AFCD4 14400007 */ bnez $v0, .L800AFCF4 /* B26E74 800AFCD4 14400007 */ bnez $v0, .L800AFCF4
/* B26E78 800AFCD8 AE020130 */ sw $v0, 0x130($s0) /* B26E78 800AFCD8 AE020130 */ sw $v0, 0x130($s0)
@ -1724,7 +1724,7 @@ glabel L800AFD1C
/* B26EE0 800AFD40 AFA5002C */ sw $a1, 0x2c($sp) /* B26EE0 800AFD40 AFA5002C */ sw $a1, 0x2c($sp)
/* B26EE4 800AFD44 AFA20030 */ sw $v0, 0x30($sp) /* B26EE4 800AFD44 AFA20030 */ sw $v0, 0x30($sp)
/* B26EE8 800AFD48 8FA40048 */ lw $a0, 0x48($sp) /* B26EE8 800AFD48 8FA40048 */ lw $a0, 0x48($sp)
/* B26EEC 800AFD4C 0C031521 */ jal Game_Alloc /* B26EEC 800AFD4C 0C031521 */ jal GameState_AllocEnd
/* B26EF0 800AFD50 240704F7 */ li $a3, 1271 /* B26EF0 800AFD50 240704F7 */ li $a3, 1271
/* B26EF4 800AFD54 14400007 */ bnez $v0, .L800AFD74 /* B26EF4 800AFD54 14400007 */ bnez $v0, .L800AFD74
/* B26EF8 800AFD58 AE020128 */ sw $v0, 0x128($s0) /* B26EF8 800AFD58 AE020128 */ sw $v0, 0x128($s0)
@ -1757,7 +1757,7 @@ glabel L800AFD1C
/* B26F60 800AFDC0 24C61FF8 */ addiu $a2, %lo(D_80141FF8) # addiu $a2, $a2, 0x1ff8 /* B26F60 800AFDC0 24C61FF8 */ addiu $a2, %lo(D_80141FF8) # addiu $a2, $a2, 0x1ff8
/* B26F64 800AFDC4 8FA40048 */ lw $a0, 0x48($sp) /* B26F64 800AFDC4 8FA40048 */ lw $a0, 0x48($sp)
/* B26F68 800AFDC8 8FA5002C */ lw $a1, 0x2c($sp) /* B26F68 800AFDC8 8FA5002C */ lw $a1, 0x2c($sp)
/* B26F6C 800AFDCC 0C031521 */ jal Game_Alloc /* B26F6C 800AFDCC 0C031521 */ jal GameState_AllocEnd
/* B26F70 800AFDD0 240704FD */ li $a3, 1277 /* B26F70 800AFDD0 240704FD */ li $a3, 1277
/* B26F74 800AFDD4 14400007 */ bnez $v0, .L800AFDF4 /* B26F74 800AFDD4 14400007 */ bnez $v0, .L800AFDF4
/* B26F78 800AFDD8 AE020130 */ sw $v0, 0x130($s0) /* B26F78 800AFDD8 AE020130 */ sw $v0, 0x130($s0)
@ -1792,7 +1792,7 @@ glabel L800AFE1C
/* B26FE0 800AFE40 AFA5002C */ sw $a1, 0x2c($sp) /* B26FE0 800AFE40 AFA5002C */ sw $a1, 0x2c($sp)
/* B26FE4 800AFE44 AFA20030 */ sw $v0, 0x30($sp) /* B26FE4 800AFE44 AFA20030 */ sw $v0, 0x30($sp)
/* B26FE8 800AFE48 8FA40048 */ lw $a0, 0x48($sp) /* B26FE8 800AFE48 8FA40048 */ lw $a0, 0x48($sp)
/* B26FEC 800AFE4C 0C031521 */ jal Game_Alloc /* B26FEC 800AFE4C 0C031521 */ jal GameState_AllocEnd
/* B26FF0 800AFE50 24070506 */ li $a3, 1286 /* B26FF0 800AFE50 24070506 */ li $a3, 1286
/* B26FF4 800AFE54 14400007 */ bnez $v0, .L800AFE74 /* B26FF4 800AFE54 14400007 */ bnez $v0, .L800AFE74
/* B26FF8 800AFE58 AE020128 */ sw $v0, 0x128($s0) /* B26FF8 800AFE58 AE020128 */ sw $v0, 0x128($s0)
@ -1821,7 +1821,7 @@ glabel L800AFE1C
/* B27050 800AFEB0 AFA5002C */ sw $a1, 0x2c($sp) /* B27050 800AFEB0 AFA5002C */ sw $a1, 0x2c($sp)
/* B27054 800AFEB4 AFA30030 */ sw $v1, 0x30($sp) /* B27054 800AFEB4 AFA30030 */ sw $v1, 0x30($sp)
/* B27058 800AFEB8 8FA40048 */ lw $a0, 0x48($sp) /* B27058 800AFEB8 8FA40048 */ lw $a0, 0x48($sp)
/* B2705C 800AFEBC 0C031521 */ jal Game_Alloc /* B2705C 800AFEBC 0C031521 */ jal GameState_AllocEnd
/* B27060 800AFEC0 2407050B */ li $a3, 1291 /* B27060 800AFEC0 2407050B */ li $a3, 1291
/* B27064 800AFEC4 14400007 */ bnez $v0, .L800AFEE4 /* B27064 800AFEC4 14400007 */ bnez $v0, .L800AFEE4
/* B27068 800AFEC8 AE020130 */ sw $v0, 0x130($s0) /* B27068 800AFEC8 AE020130 */ sw $v0, 0x130($s0)
@ -1858,7 +1858,7 @@ glabel L800AFF14
/* B270D8 800AFF38 AFA5002C */ sw $a1, 0x2c($sp) /* B270D8 800AFF38 AFA5002C */ sw $a1, 0x2c($sp)
/* B270DC 800AFF3C AFA20030 */ sw $v0, 0x30($sp) /* B270DC 800AFF3C AFA20030 */ sw $v0, 0x30($sp)
/* B270E0 800AFF40 8FA40048 */ lw $a0, 0x48($sp) /* B270E0 800AFF40 8FA40048 */ lw $a0, 0x48($sp)
/* B270E4 800AFF44 0C031521 */ jal Game_Alloc /* B270E4 800AFF44 0C031521 */ jal GameState_AllocEnd
/* B270E8 800AFF48 24070515 */ li $a3, 1301 /* B270E8 800AFF48 24070515 */ li $a3, 1301
/* B270EC 800AFF4C 14400007 */ bnez $v0, .L800AFF6C /* B270EC 800AFF4C 14400007 */ bnez $v0, .L800AFF6C
/* B270F0 800AFF50 AE020128 */ sw $v0, 0x128($s0) /* B270F0 800AFF50 AE020128 */ sw $v0, 0x128($s0)
@ -1887,7 +1887,7 @@ glabel L800AFF14
/* B27148 800AFFA8 AFA5002C */ sw $a1, 0x2c($sp) /* B27148 800AFFA8 AFA5002C */ sw $a1, 0x2c($sp)
/* B2714C 800AFFAC AFA30030 */ sw $v1, 0x30($sp) /* B2714C 800AFFAC AFA30030 */ sw $v1, 0x30($sp)
/* B27150 800AFFB0 8FA40048 */ lw $a0, 0x48($sp) /* B27150 800AFFB0 8FA40048 */ lw $a0, 0x48($sp)
/* B27154 800AFFB4 0C031521 */ jal Game_Alloc /* B27154 800AFFB4 0C031521 */ jal GameState_AllocEnd
/* B27158 800AFFB8 2407051A */ li $a3, 1306 /* B27158 800AFFB8 2407051A */ li $a3, 1306
/* B2715C 800AFFBC 14400007 */ bnez $v0, .L800AFFDC /* B2715C 800AFFBC 14400007 */ bnez $v0, .L800AFFDC
/* B27160 800AFFC0 AE020130 */ sw $v0, 0x130($s0) /* B27160 800AFFC0 AE020130 */ sw $v0, 0x130($s0)
@ -1922,7 +1922,7 @@ glabel L800B0004
/* B271C8 800B0028 AFA5002C */ sw $a1, 0x2c($sp) /* B271C8 800B0028 AFA5002C */ sw $a1, 0x2c($sp)
/* B271CC 800B002C AFA20030 */ sw $v0, 0x30($sp) /* B271CC 800B002C AFA20030 */ sw $v0, 0x30($sp)
/* B271D0 800B0030 8FA40048 */ lw $a0, 0x48($sp) /* B271D0 800B0030 8FA40048 */ lw $a0, 0x48($sp)
/* B271D4 800B0034 0C031521 */ jal Game_Alloc /* B271D4 800B0034 0C031521 */ jal GameState_AllocEnd
/* B271D8 800B0038 24070533 */ li $a3, 1331 /* B271D8 800B0038 24070533 */ li $a3, 1331
/* B271DC 800B003C 14400007 */ bnez $v0, .L800B005C /* B271DC 800B003C 14400007 */ bnez $v0, .L800B005C
/* B271E0 800B0040 AE020128 */ sw $v0, 0x128($s0) /* B271E0 800B0040 AE020128 */ sw $v0, 0x128($s0)
@ -1951,7 +1951,7 @@ glabel L800B0004
/* B27238 800B0098 AFA5002C */ sw $a1, 0x2c($sp) /* B27238 800B0098 AFA5002C */ sw $a1, 0x2c($sp)
/* B2723C 800B009C AFA30030 */ sw $v1, 0x30($sp) /* B2723C 800B009C AFA30030 */ sw $v1, 0x30($sp)
/* B27240 800B00A0 8FA40048 */ lw $a0, 0x48($sp) /* B27240 800B00A0 8FA40048 */ lw $a0, 0x48($sp)
/* B27244 800B00A4 0C031521 */ jal Game_Alloc /* B27244 800B00A4 0C031521 */ jal GameState_AllocEnd
/* B27248 800B00A8 24070538 */ li $a3, 1336 /* B27248 800B00A8 24070538 */ li $a3, 1336
/* B2724C 800B00AC 14400007 */ bnez $v0, .L800B00CC /* B2724C 800B00AC 14400007 */ bnez $v0, .L800B00CC
/* B27250 800B00B0 AE020130 */ sw $v0, 0x130($s0) /* B27250 800B00B0 AE020130 */ sw $v0, 0x130($s0)
@ -1986,7 +1986,7 @@ glabel L800B00F4
/* B272B8 800B0118 AFA5002C */ sw $a1, 0x2c($sp) /* B272B8 800B0118 AFA5002C */ sw $a1, 0x2c($sp)
/* B272BC 800B011C AFA20030 */ sw $v0, 0x30($sp) /* B272BC 800B011C AFA20030 */ sw $v0, 0x30($sp)
/* B272C0 800B0120 8FA40048 */ lw $a0, 0x48($sp) /* B272C0 800B0120 8FA40048 */ lw $a0, 0x48($sp)
/* B272C4 800B0124 0C031521 */ jal Game_Alloc /* B272C4 800B0124 0C031521 */ jal GameState_AllocEnd
/* B272C8 800B0128 24070541 */ li $a3, 1345 /* B272C8 800B0128 24070541 */ li $a3, 1345
/* B272CC 800B012C 14400007 */ bnez $v0, .L800B014C /* B272CC 800B012C 14400007 */ bnez $v0, .L800B014C
/* B272D0 800B0130 AE020128 */ sw $v0, 0x128($s0) /* B272D0 800B0130 AE020128 */ sw $v0, 0x128($s0)
@ -2015,7 +2015,7 @@ glabel L800B00F4
/* B27328 800B0188 AFA5002C */ sw $a1, 0x2c($sp) /* B27328 800B0188 AFA5002C */ sw $a1, 0x2c($sp)
/* B2732C 800B018C AFA30030 */ sw $v1, 0x30($sp) /* B2732C 800B018C AFA30030 */ sw $v1, 0x30($sp)
/* B27330 800B0190 8FA40048 */ lw $a0, 0x48($sp) /* B27330 800B0190 8FA40048 */ lw $a0, 0x48($sp)
/* B27334 800B0194 0C031521 */ jal Game_Alloc /* B27334 800B0194 0C031521 */ jal GameState_AllocEnd
/* B27338 800B0198 24070546 */ li $a3, 1350 /* B27338 800B0198 24070546 */ li $a3, 1350
/* B2733C 800B019C 14400007 */ bnez $v0, .L800B01BC /* B2733C 800B019C 14400007 */ bnez $v0, .L800B01BC
/* B27340 800B01A0 AE020130 */ sw $v0, 0x130($s0) /* B27340 800B01A0 AE020130 */ sw $v0, 0x130($s0)
@ -2050,7 +2050,7 @@ glabel L800B01E4
/* B273A8 800B0208 AFA5002C */ sw $a1, 0x2c($sp) /* B273A8 800B0208 AFA5002C */ sw $a1, 0x2c($sp)
/* B273AC 800B020C AFA20030 */ sw $v0, 0x30($sp) /* B273AC 800B020C AFA20030 */ sw $v0, 0x30($sp)
/* B273B0 800B0210 8FA40048 */ lw $a0, 0x48($sp) /* B273B0 800B0210 8FA40048 */ lw $a0, 0x48($sp)
/* B273B4 800B0214 0C031521 */ jal Game_Alloc /* B273B4 800B0214 0C031521 */ jal GameState_AllocEnd
/* B273B8 800B0218 2407054F */ li $a3, 1359 /* B273B8 800B0218 2407054F */ li $a3, 1359
/* B273BC 800B021C 14400007 */ bnez $v0, .L800B023C /* B273BC 800B021C 14400007 */ bnez $v0, .L800B023C
/* B273C0 800B0220 AE020128 */ sw $v0, 0x128($s0) /* B273C0 800B0220 AE020128 */ sw $v0, 0x128($s0)
@ -2079,7 +2079,7 @@ glabel L800B01E4
/* B27418 800B0278 AFA5002C */ sw $a1, 0x2c($sp) /* B27418 800B0278 AFA5002C */ sw $a1, 0x2c($sp)
/* B2741C 800B027C AFA30030 */ sw $v1, 0x30($sp) /* B2741C 800B027C AFA30030 */ sw $v1, 0x30($sp)
/* B27420 800B0280 8FA40048 */ lw $a0, 0x48($sp) /* B27420 800B0280 8FA40048 */ lw $a0, 0x48($sp)
/* B27424 800B0284 0C031521 */ jal Game_Alloc /* B27424 800B0284 0C031521 */ jal GameState_AllocEnd
/* B27428 800B0288 24070554 */ li $a3, 1364 /* B27428 800B0288 24070554 */ li $a3, 1364
/* B2742C 800B028C 14400007 */ bnez $v0, .L800B02AC /* B2742C 800B028C 14400007 */ bnez $v0, .L800B02AC
/* B27430 800B0290 AE020130 */ sw $v0, 0x130($s0) /* B27430 800B0290 AE020130 */ sw $v0, 0x130($s0)
@ -2114,7 +2114,7 @@ glabel L800B02D4
/* B27498 800B02F8 AFA5002C */ sw $a1, 0x2c($sp) /* B27498 800B02F8 AFA5002C */ sw $a1, 0x2c($sp)
/* B2749C 800B02FC AFA20030 */ sw $v0, 0x30($sp) /* B2749C 800B02FC AFA20030 */ sw $v0, 0x30($sp)
/* B274A0 800B0300 8FA40048 */ lw $a0, 0x48($sp) /* B274A0 800B0300 8FA40048 */ lw $a0, 0x48($sp)
/* B274A4 800B0304 0C031521 */ jal Game_Alloc /* B274A4 800B0304 0C031521 */ jal GameState_AllocEnd
/* B274A8 800B0308 2407055D */ li $a3, 1373 /* B274A8 800B0308 2407055D */ li $a3, 1373
/* B274AC 800B030C 14400007 */ bnez $v0, .L800B032C /* B274AC 800B030C 14400007 */ bnez $v0, .L800B032C
/* B274B0 800B0310 AE020128 */ sw $v0, 0x128($s0) /* B274B0 800B0310 AE020128 */ sw $v0, 0x128($s0)
@ -2143,7 +2143,7 @@ glabel L800B02D4
/* B27508 800B0368 AFA5002C */ sw $a1, 0x2c($sp) /* B27508 800B0368 AFA5002C */ sw $a1, 0x2c($sp)
/* B2750C 800B036C AFA30030 */ sw $v1, 0x30($sp) /* B2750C 800B036C AFA30030 */ sw $v1, 0x30($sp)
/* B27510 800B0370 8FA40048 */ lw $a0, 0x48($sp) /* B27510 800B0370 8FA40048 */ lw $a0, 0x48($sp)
/* B27514 800B0374 0C031521 */ jal Game_Alloc /* B27514 800B0374 0C031521 */ jal GameState_AllocEnd
/* B27518 800B0378 24070562 */ li $a3, 1378 /* B27518 800B0378 24070562 */ li $a3, 1378
/* B2751C 800B037C 14400007 */ bnez $v0, .L800B039C /* B2751C 800B037C 14400007 */ bnez $v0, .L800B039C
/* B27520 800B0380 AE020130 */ sw $v0, 0x130($s0) /* B27520 800B0380 AE020130 */ sw $v0, 0x130($s0)
@ -2180,7 +2180,7 @@ glabel L800B03CC
/* B27590 800B03F0 AFA5002C */ sw $a1, 0x2c($sp) /* B27590 800B03F0 AFA5002C */ sw $a1, 0x2c($sp)
/* B27594 800B03F4 AFA20030 */ sw $v0, 0x30($sp) /* B27594 800B03F4 AFA20030 */ sw $v0, 0x30($sp)
/* B27598 800B03F8 8FA40048 */ lw $a0, 0x48($sp) /* B27598 800B03F8 8FA40048 */ lw $a0, 0x48($sp)
/* B2759C 800B03FC 0C031521 */ jal Game_Alloc /* B2759C 800B03FC 0C031521 */ jal GameState_AllocEnd
/* B275A0 800B0400 2407057D */ li $a3, 1405 /* B275A0 800B0400 2407057D */ li $a3, 1405
/* B275A4 800B0404 14400007 */ bnez $v0, .L800B0424 /* B275A4 800B0404 14400007 */ bnez $v0, .L800B0424
/* B275A8 800B0408 AE020128 */ sw $v0, 0x128($s0) /* B275A8 800B0408 AE020128 */ sw $v0, 0x128($s0)
@ -2209,7 +2209,7 @@ glabel L800B03CC
/* B27600 800B0460 AFA5002C */ sw $a1, 0x2c($sp) /* B27600 800B0460 AFA5002C */ sw $a1, 0x2c($sp)
/* B27604 800B0464 AFA30030 */ sw $v1, 0x30($sp) /* B27604 800B0464 AFA30030 */ sw $v1, 0x30($sp)
/* B27608 800B0468 8FA40048 */ lw $a0, 0x48($sp) /* B27608 800B0468 8FA40048 */ lw $a0, 0x48($sp)
/* B2760C 800B046C 0C031521 */ jal Game_Alloc /* B2760C 800B046C 0C031521 */ jal GameState_AllocEnd
/* B27610 800B0470 24070582 */ li $a3, 1410 /* B27610 800B0470 24070582 */ li $a3, 1410
/* B27614 800B0474 14400007 */ bnez $v0, .L800B0494 /* B27614 800B0474 14400007 */ bnez $v0, .L800B0494
/* B27618 800B0478 AE020130 */ sw $v0, 0x130($s0) /* B27618 800B0478 AE020130 */ sw $v0, 0x130($s0)
@ -2246,7 +2246,7 @@ glabel L800B04C4
/* B27688 800B04E8 AFA5002C */ sw $a1, 0x2c($sp) /* B27688 800B04E8 AFA5002C */ sw $a1, 0x2c($sp)
/* B2768C 800B04EC AFA20030 */ sw $v0, 0x30($sp) /* B2768C 800B04EC AFA20030 */ sw $v0, 0x30($sp)
/* B27690 800B04F0 8FA40048 */ lw $a0, 0x48($sp) /* B27690 800B04F0 8FA40048 */ lw $a0, 0x48($sp)
/* B27694 800B04F4 0C031521 */ jal Game_Alloc /* B27694 800B04F4 0C031521 */ jal GameState_AllocEnd
/* B27698 800B04F8 2407058C */ li $a3, 1420 /* B27698 800B04F8 2407058C */ li $a3, 1420
/* B2769C 800B04FC 14400007 */ bnez $v0, .L800B051C /* B2769C 800B04FC 14400007 */ bnez $v0, .L800B051C
/* B276A0 800B0500 AE020128 */ sw $v0, 0x128($s0) /* B276A0 800B0500 AE020128 */ sw $v0, 0x128($s0)
@ -2275,7 +2275,7 @@ glabel L800B04C4
/* B276F8 800B0558 AFA5002C */ sw $a1, 0x2c($sp) /* B276F8 800B0558 AFA5002C */ sw $a1, 0x2c($sp)
/* B276FC 800B055C AFA30030 */ sw $v1, 0x30($sp) /* B276FC 800B055C AFA30030 */ sw $v1, 0x30($sp)
/* B27700 800B0560 8FA40048 */ lw $a0, 0x48($sp) /* B27700 800B0560 8FA40048 */ lw $a0, 0x48($sp)
/* B27704 800B0564 0C031521 */ jal Game_Alloc /* B27704 800B0564 0C031521 */ jal GameState_AllocEnd
/* B27708 800B0568 24070591 */ li $a3, 1425 /* B27708 800B0568 24070591 */ li $a3, 1425
/* B2770C 800B056C 14400007 */ bnez $v0, .L800B058C /* B2770C 800B056C 14400007 */ bnez $v0, .L800B058C
/* B27710 800B0570 AE020130 */ sw $v0, 0x130($s0) /* B27710 800B0570 AE020130 */ sw $v0, 0x130($s0)
@ -2312,7 +2312,7 @@ glabel L800B05BC
/* B27780 800B05E0 AFA5002C */ sw $a1, 0x2c($sp) /* B27780 800B05E0 AFA5002C */ sw $a1, 0x2c($sp)
/* B27784 800B05E4 AFA20030 */ sw $v0, 0x30($sp) /* B27784 800B05E4 AFA20030 */ sw $v0, 0x30($sp)
/* B27788 800B05E8 8FA40048 */ lw $a0, 0x48($sp) /* B27788 800B05E8 8FA40048 */ lw $a0, 0x48($sp)
/* B2778C 800B05EC 0C031521 */ jal Game_Alloc /* B2778C 800B05EC 0C031521 */ jal GameState_AllocEnd
/* B27790 800B05F0 240705AB */ li $a3, 1451 /* B27790 800B05F0 240705AB */ li $a3, 1451
/* B27794 800B05F4 14400007 */ bnez $v0, .L800B0614 /* B27794 800B05F4 14400007 */ bnez $v0, .L800B0614
/* B27798 800B05F8 AE020128 */ sw $v0, 0x128($s0) /* B27798 800B05F8 AE020128 */ sw $v0, 0x128($s0)
@ -2341,7 +2341,7 @@ glabel L800B05BC
/* B277F0 800B0650 AFA5002C */ sw $a1, 0x2c($sp) /* B277F0 800B0650 AFA5002C */ sw $a1, 0x2c($sp)
/* B277F4 800B0654 AFA30030 */ sw $v1, 0x30($sp) /* B277F4 800B0654 AFA30030 */ sw $v1, 0x30($sp)
/* B277F8 800B0658 8FA40048 */ lw $a0, 0x48($sp) /* B277F8 800B0658 8FA40048 */ lw $a0, 0x48($sp)
/* B277FC 800B065C 0C031521 */ jal Game_Alloc /* B277FC 800B065C 0C031521 */ jal GameState_AllocEnd
/* B27800 800B0660 240705B0 */ li $a3, 1456 /* B27800 800B0660 240705B0 */ li $a3, 1456
/* B27804 800B0664 14400007 */ bnez $v0, .L800B0684 /* B27804 800B0664 14400007 */ bnez $v0, .L800B0684
/* B27808 800B0668 AE020130 */ sw $v0, 0x130($s0) /* B27808 800B0668 AE020130 */ sw $v0, 0x130($s0)
@ -2378,7 +2378,7 @@ glabel L800B06B4
/* B27878 800B06D8 AFA5002C */ sw $a1, 0x2c($sp) /* B27878 800B06D8 AFA5002C */ sw $a1, 0x2c($sp)
/* B2787C 800B06DC AFA20030 */ sw $v0, 0x30($sp) /* B2787C 800B06DC AFA20030 */ sw $v0, 0x30($sp)
/* B27880 800B06E0 8FA40048 */ lw $a0, 0x48($sp) /* B27880 800B06E0 8FA40048 */ lw $a0, 0x48($sp)
/* B27884 800B06E4 0C031521 */ jal Game_Alloc /* B27884 800B06E4 0C031521 */ jal GameState_AllocEnd
/* B27888 800B06E8 240705BA */ li $a3, 1466 /* B27888 800B06E8 240705BA */ li $a3, 1466
/* B2788C 800B06EC 14400007 */ bnez $v0, .L800B070C /* B2788C 800B06EC 14400007 */ bnez $v0, .L800B070C
/* B27890 800B06F0 AE020128 */ sw $v0, 0x128($s0) /* B27890 800B06F0 AE020128 */ sw $v0, 0x128($s0)
@ -2407,7 +2407,7 @@ glabel L800B06B4
/* B278E8 800B0748 AFA5002C */ sw $a1, 0x2c($sp) /* B278E8 800B0748 AFA5002C */ sw $a1, 0x2c($sp)
/* B278EC 800B074C AFA30030 */ sw $v1, 0x30($sp) /* B278EC 800B074C AFA30030 */ sw $v1, 0x30($sp)
/* B278F0 800B0750 8FA40048 */ lw $a0, 0x48($sp) /* B278F0 800B0750 8FA40048 */ lw $a0, 0x48($sp)
/* B278F4 800B0754 0C031521 */ jal Game_Alloc /* B278F4 800B0754 0C031521 */ jal GameState_AllocEnd
/* B278F8 800B0758 240705BF */ li $a3, 1471 /* B278F8 800B0758 240705BF */ li $a3, 1471
/* B278FC 800B075C 14400007 */ bnez $v0, .L800B077C /* B278FC 800B075C 14400007 */ bnez $v0, .L800B077C
/* B27900 800B0760 AE020130 */ sw $v0, 0x130($s0) /* B27900 800B0760 AE020130 */ sw $v0, 0x130($s0)
@ -2444,7 +2444,7 @@ glabel L800B07AC
/* B27970 800B07D0 AFA5002C */ sw $a1, 0x2c($sp) /* B27970 800B07D0 AFA5002C */ sw $a1, 0x2c($sp)
/* B27974 800B07D4 AFA20030 */ sw $v0, 0x30($sp) /* B27974 800B07D4 AFA20030 */ sw $v0, 0x30($sp)
/* B27978 800B07D8 8FA40048 */ lw $a0, 0x48($sp) /* B27978 800B07D8 8FA40048 */ lw $a0, 0x48($sp)
/* B2797C 800B07DC 0C031521 */ jal Game_Alloc /* B2797C 800B07DC 0C031521 */ jal GameState_AllocEnd
/* B27980 800B07E0 240705C9 */ li $a3, 1481 /* B27980 800B07E0 240705C9 */ li $a3, 1481
/* B27984 800B07E4 14400007 */ bnez $v0, .L800B0804 /* B27984 800B07E4 14400007 */ bnez $v0, .L800B0804
/* B27988 800B07E8 AE020128 */ sw $v0, 0x128($s0) /* B27988 800B07E8 AE020128 */ sw $v0, 0x128($s0)
@ -2473,7 +2473,7 @@ glabel L800B07AC
/* B279E0 800B0840 AFA5002C */ sw $a1, 0x2c($sp) /* B279E0 800B0840 AFA5002C */ sw $a1, 0x2c($sp)
/* B279E4 800B0844 AFA30030 */ sw $v1, 0x30($sp) /* B279E4 800B0844 AFA30030 */ sw $v1, 0x30($sp)
/* B279E8 800B0848 8FA40048 */ lw $a0, 0x48($sp) /* B279E8 800B0848 8FA40048 */ lw $a0, 0x48($sp)
/* B279EC 800B084C 0C031521 */ jal Game_Alloc /* B279EC 800B084C 0C031521 */ jal GameState_AllocEnd
/* B279F0 800B0850 240705CE */ li $a3, 1486 /* B279F0 800B0850 240705CE */ li $a3, 1486
/* B279F4 800B0854 14400007 */ bnez $v0, .L800B0874 /* B279F4 800B0854 14400007 */ bnez $v0, .L800B0874
/* B279F8 800B0858 AE020130 */ sw $v0, 0x130($s0) /* B279F8 800B0858 AE020130 */ sw $v0, 0x130($s0)
@ -2510,7 +2510,7 @@ glabel L800B08A4
/* B27A68 800B08C8 AFA5002C */ sw $a1, 0x2c($sp) /* B27A68 800B08C8 AFA5002C */ sw $a1, 0x2c($sp)
/* B27A6C 800B08CC AFA20030 */ sw $v0, 0x30($sp) /* B27A6C 800B08CC AFA20030 */ sw $v0, 0x30($sp)
/* B27A70 800B08D0 8FA40048 */ lw $a0, 0x48($sp) /* B27A70 800B08D0 8FA40048 */ lw $a0, 0x48($sp)
/* B27A74 800B08D4 0C031521 */ jal Game_Alloc /* B27A74 800B08D4 0C031521 */ jal GameState_AllocEnd
/* B27A78 800B08D8 240705E8 */ li $a3, 1512 /* B27A78 800B08D8 240705E8 */ li $a3, 1512
/* B27A7C 800B08DC 14400007 */ bnez $v0, .L800B08FC /* B27A7C 800B08DC 14400007 */ bnez $v0, .L800B08FC
/* B27A80 800B08E0 AE020128 */ sw $v0, 0x128($s0) /* B27A80 800B08E0 AE020128 */ sw $v0, 0x128($s0)
@ -2539,7 +2539,7 @@ glabel L800B08A4
/* B27AD8 800B0938 AFA5002C */ sw $a1, 0x2c($sp) /* B27AD8 800B0938 AFA5002C */ sw $a1, 0x2c($sp)
/* B27ADC 800B093C AFA30030 */ sw $v1, 0x30($sp) /* B27ADC 800B093C AFA30030 */ sw $v1, 0x30($sp)
/* B27AE0 800B0940 8FA40048 */ lw $a0, 0x48($sp) /* B27AE0 800B0940 8FA40048 */ lw $a0, 0x48($sp)
/* B27AE4 800B0944 0C031521 */ jal Game_Alloc /* B27AE4 800B0944 0C031521 */ jal GameState_AllocEnd
/* B27AE8 800B0948 240705ED */ li $a3, 1517 /* B27AE8 800B0948 240705ED */ li $a3, 1517
/* B27AEC 800B094C 14400007 */ bnez $v0, .L800B096C /* B27AEC 800B094C 14400007 */ bnez $v0, .L800B096C
/* B27AF0 800B0950 AE020130 */ sw $v0, 0x130($s0) /* B27AF0 800B0950 AE020130 */ sw $v0, 0x130($s0)
@ -2574,7 +2574,7 @@ glabel L800B0994
/* B27B58 800B09B8 AFA5002C */ sw $a1, 0x2c($sp) /* B27B58 800B09B8 AFA5002C */ sw $a1, 0x2c($sp)
/* B27B5C 800B09BC AFA20030 */ sw $v0, 0x30($sp) /* B27B5C 800B09BC AFA20030 */ sw $v0, 0x30($sp)
/* B27B60 800B09C0 8FA40048 */ lw $a0, 0x48($sp) /* B27B60 800B09C0 8FA40048 */ lw $a0, 0x48($sp)
/* B27B64 800B09C4 0C031521 */ jal Game_Alloc /* B27B64 800B09C4 0C031521 */ jal GameState_AllocEnd
/* B27B68 800B09C8 240705F6 */ li $a3, 1526 /* B27B68 800B09C8 240705F6 */ li $a3, 1526
/* B27B6C 800B09CC 14400007 */ bnez $v0, .L800B09EC /* B27B6C 800B09CC 14400007 */ bnez $v0, .L800B09EC
/* B27B70 800B09D0 AE020128 */ sw $v0, 0x128($s0) /* B27B70 800B09D0 AE020128 */ sw $v0, 0x128($s0)
@ -2603,7 +2603,7 @@ glabel L800B0994
/* B27BC8 800B0A28 AFA5002C */ sw $a1, 0x2c($sp) /* B27BC8 800B0A28 AFA5002C */ sw $a1, 0x2c($sp)
/* B27BCC 800B0A2C AFA30030 */ sw $v1, 0x30($sp) /* B27BCC 800B0A2C AFA30030 */ sw $v1, 0x30($sp)
/* B27BD0 800B0A30 8FA40048 */ lw $a0, 0x48($sp) /* B27BD0 800B0A30 8FA40048 */ lw $a0, 0x48($sp)
/* B27BD4 800B0A34 0C031521 */ jal Game_Alloc /* B27BD4 800B0A34 0C031521 */ jal GameState_AllocEnd
/* B27BD8 800B0A38 240705FB */ li $a3, 1531 /* B27BD8 800B0A38 240705FB */ li $a3, 1531
/* B27BDC 800B0A3C 14400007 */ bnez $v0, .L800B0A5C /* B27BDC 800B0A3C 14400007 */ bnez $v0, .L800B0A5C
/* B27BE0 800B0A40 AE020130 */ sw $v0, 0x130($s0) /* B27BE0 800B0A40 AE020130 */ sw $v0, 0x130($s0)
@ -2638,7 +2638,7 @@ glabel L800B0A84
/* B27C48 800B0AA8 AFA5002C */ sw $a1, 0x2c($sp) /* B27C48 800B0AA8 AFA5002C */ sw $a1, 0x2c($sp)
/* B27C4C 800B0AAC AFA20030 */ sw $v0, 0x30($sp) /* B27C4C 800B0AAC AFA20030 */ sw $v0, 0x30($sp)
/* B27C50 800B0AB0 8FA40048 */ lw $a0, 0x48($sp) /* B27C50 800B0AB0 8FA40048 */ lw $a0, 0x48($sp)
/* B27C54 800B0AB4 0C031521 */ jal Game_Alloc /* B27C54 800B0AB4 0C031521 */ jal GameState_AllocEnd
/* B27C58 800B0AB8 24070604 */ li $a3, 1540 /* B27C58 800B0AB8 24070604 */ li $a3, 1540
/* B27C5C 800B0ABC 14400007 */ bnez $v0, .L800B0ADC /* B27C5C 800B0ABC 14400007 */ bnez $v0, .L800B0ADC
/* B27C60 800B0AC0 AE020128 */ sw $v0, 0x128($s0) /* B27C60 800B0AC0 AE020128 */ sw $v0, 0x128($s0)
@ -2667,7 +2667,7 @@ glabel L800B0A84
/* B27CB8 800B0B18 AFA5002C */ sw $a1, 0x2c($sp) /* B27CB8 800B0B18 AFA5002C */ sw $a1, 0x2c($sp)
/* B27CBC 800B0B1C AFA30030 */ sw $v1, 0x30($sp) /* B27CBC 800B0B1C AFA30030 */ sw $v1, 0x30($sp)
/* B27CC0 800B0B20 8FA40048 */ lw $a0, 0x48($sp) /* B27CC0 800B0B20 8FA40048 */ lw $a0, 0x48($sp)
/* B27CC4 800B0B24 0C031521 */ jal Game_Alloc /* B27CC4 800B0B24 0C031521 */ jal GameState_AllocEnd
/* B27CC8 800B0B28 24070609 */ li $a3, 1545 /* B27CC8 800B0B28 24070609 */ li $a3, 1545
/* B27CCC 800B0B2C 14400007 */ bnez $v0, .L800B0B4C /* B27CCC 800B0B2C 14400007 */ bnez $v0, .L800B0B4C
/* B27CD0 800B0B30 AE020130 */ sw $v0, 0x130($s0) /* B27CD0 800B0B30 AE020130 */ sw $v0, 0x130($s0)
@ -2702,7 +2702,7 @@ glabel L800B0B74
/* B27D38 800B0B98 AFA5002C */ sw $a1, 0x2c($sp) /* B27D38 800B0B98 AFA5002C */ sw $a1, 0x2c($sp)
/* B27D3C 800B0B9C AFA20030 */ sw $v0, 0x30($sp) /* B27D3C 800B0B9C AFA20030 */ sw $v0, 0x30($sp)
/* B27D40 800B0BA0 8FA40048 */ lw $a0, 0x48($sp) /* B27D40 800B0BA0 8FA40048 */ lw $a0, 0x48($sp)
/* B27D44 800B0BA4 0C031521 */ jal Game_Alloc /* B27D44 800B0BA4 0C031521 */ jal GameState_AllocEnd
/* B27D48 800B0BA8 24070618 */ li $a3, 1560 /* B27D48 800B0BA8 24070618 */ li $a3, 1560
/* B27D4C 800B0BAC 14400007 */ bnez $v0, .L800B0BCC /* B27D4C 800B0BAC 14400007 */ bnez $v0, .L800B0BCC
/* B27D50 800B0BB0 AE020128 */ sw $v0, 0x128($s0) /* B27D50 800B0BB0 AE020128 */ sw $v0, 0x128($s0)
@ -2731,7 +2731,7 @@ glabel L800B0B74
/* B27DA8 800B0C08 AFA5002C */ sw $a1, 0x2c($sp) /* B27DA8 800B0C08 AFA5002C */ sw $a1, 0x2c($sp)
/* B27DAC 800B0C0C AFA30030 */ sw $v1, 0x30($sp) /* B27DAC 800B0C0C AFA30030 */ sw $v1, 0x30($sp)
/* B27DB0 800B0C10 8FA40048 */ lw $a0, 0x48($sp) /* B27DB0 800B0C10 8FA40048 */ lw $a0, 0x48($sp)
/* B27DB4 800B0C14 0C031521 */ jal Game_Alloc /* B27DB4 800B0C14 0C031521 */ jal GameState_AllocEnd
/* B27DB8 800B0C18 2407061D */ li $a3, 1565 /* B27DB8 800B0C18 2407061D */ li $a3, 1565
/* B27DBC 800B0C1C 14400007 */ bnez $v0, .L800B0C3C /* B27DBC 800B0C1C 14400007 */ bnez $v0, .L800B0C3C
/* B27DC0 800B0C20 AE020130 */ sw $v0, 0x130($s0) /* B27DC0 800B0C20 AE020130 */ sw $v0, 0x130($s0)
@ -2766,7 +2766,7 @@ glabel L800B0C64
/* B27E28 800B0C88 AFA5002C */ sw $a1, 0x2c($sp) /* B27E28 800B0C88 AFA5002C */ sw $a1, 0x2c($sp)
/* B27E2C 800B0C8C AFA20030 */ sw $v0, 0x30($sp) /* B27E2C 800B0C8C AFA20030 */ sw $v0, 0x30($sp)
/* B27E30 800B0C90 8FA40048 */ lw $a0, 0x48($sp) /* B27E30 800B0C90 8FA40048 */ lw $a0, 0x48($sp)
/* B27E34 800B0C94 0C031521 */ jal Game_Alloc /* B27E34 800B0C94 0C031521 */ jal GameState_AllocEnd
/* B27E38 800B0C98 24070626 */ li $a3, 1574 /* B27E38 800B0C98 24070626 */ li $a3, 1574
/* B27E3C 800B0C9C 14400007 */ bnez $v0, .L800B0CBC /* B27E3C 800B0C9C 14400007 */ bnez $v0, .L800B0CBC
/* B27E40 800B0CA0 AE020128 */ sw $v0, 0x128($s0) /* B27E40 800B0CA0 AE020128 */ sw $v0, 0x128($s0)
@ -2795,7 +2795,7 @@ glabel L800B0C64
/* B27E98 800B0CF8 AFA5002C */ sw $a1, 0x2c($sp) /* B27E98 800B0CF8 AFA5002C */ sw $a1, 0x2c($sp)
/* B27E9C 800B0CFC AFA30030 */ sw $v1, 0x30($sp) /* B27E9C 800B0CFC AFA30030 */ sw $v1, 0x30($sp)
/* B27EA0 800B0D00 8FA40048 */ lw $a0, 0x48($sp) /* B27EA0 800B0D00 8FA40048 */ lw $a0, 0x48($sp)
/* B27EA4 800B0D04 0C031521 */ jal Game_Alloc /* B27EA4 800B0D04 0C031521 */ jal GameState_AllocEnd
/* B27EA8 800B0D08 2407062B */ li $a3, 1579 /* B27EA8 800B0D08 2407062B */ li $a3, 1579
/* B27EAC 800B0D0C 14400007 */ bnez $v0, .L800B0D2C /* B27EAC 800B0D0C 14400007 */ bnez $v0, .L800B0D2C
/* B27EB0 800B0D10 AE020130 */ sw $v0, 0x130($s0) /* B27EB0 800B0D10 AE020130 */ sw $v0, 0x130($s0)
@ -2830,7 +2830,7 @@ glabel L800B0D54
/* B27F18 800B0D78 AFA5002C */ sw $a1, 0x2c($sp) /* B27F18 800B0D78 AFA5002C */ sw $a1, 0x2c($sp)
/* B27F1C 800B0D7C AFA20030 */ sw $v0, 0x30($sp) /* B27F1C 800B0D7C AFA20030 */ sw $v0, 0x30($sp)
/* B27F20 800B0D80 8FA40048 */ lw $a0, 0x48($sp) /* B27F20 800B0D80 8FA40048 */ lw $a0, 0x48($sp)
/* B27F24 800B0D84 0C031521 */ jal Game_Alloc /* B27F24 800B0D84 0C031521 */ jal GameState_AllocEnd
/* B27F28 800B0D88 24070634 */ li $a3, 1588 /* B27F28 800B0D88 24070634 */ li $a3, 1588
/* B27F2C 800B0D8C 14400007 */ bnez $v0, .L800B0DAC /* B27F2C 800B0D8C 14400007 */ bnez $v0, .L800B0DAC
/* B27F30 800B0D90 AE020128 */ sw $v0, 0x128($s0) /* B27F30 800B0D90 AE020128 */ sw $v0, 0x128($s0)
@ -2859,7 +2859,7 @@ glabel L800B0D54
/* B27F88 800B0DE8 AFA5002C */ sw $a1, 0x2c($sp) /* B27F88 800B0DE8 AFA5002C */ sw $a1, 0x2c($sp)
/* B27F8C 800B0DEC AFA30030 */ sw $v1, 0x30($sp) /* B27F8C 800B0DEC AFA30030 */ sw $v1, 0x30($sp)
/* B27F90 800B0DF0 8FA40048 */ lw $a0, 0x48($sp) /* B27F90 800B0DF0 8FA40048 */ lw $a0, 0x48($sp)
/* B27F94 800B0DF4 0C031521 */ jal Game_Alloc /* B27F94 800B0DF4 0C031521 */ jal GameState_AllocEnd
/* B27F98 800B0DF8 24070639 */ li $a3, 1593 /* B27F98 800B0DF8 24070639 */ li $a3, 1593
/* B27F9C 800B0DFC 14400007 */ bnez $v0, .L800B0E1C /* B27F9C 800B0DFC 14400007 */ bnez $v0, .L800B0E1C
/* B27FA0 800B0E00 AE020130 */ sw $v0, 0x130($s0) /* B27FA0 800B0E00 AE020130 */ sw $v0, 0x130($s0)

View file

@ -102,7 +102,7 @@ glabel func_800B0E50
/* B28068 800B0EC8 24C62C74 */ addiu $a2, %lo(D_80142C74) # addiu $a2, $a2, 0x2c74 /* B28068 800B0EC8 24C62C74 */ addiu $a2, %lo(D_80142C74) # addiu $a2, $a2, 0x2c74
/* B2806C 800B0ECC 8FA40020 */ lw $a0, 0x20($sp) /* B2806C 800B0ECC 8FA40020 */ lw $a0, 0x20($sp)
/* B28070 800B0ED0 24052580 */ li $a1, 9600 /* B28070 800B0ED0 24052580 */ li $a1, 9600
/* B28074 800B0ED4 0C031521 */ jal Game_Alloc /* B28074 800B0ED4 0C031521 */ jal GameState_AllocEnd
/* B28078 800B0ED8 24070664 */ li $a3, 1636 /* B28078 800B0ED8 24070664 */ li $a3, 1636
/* B2807C 800B0EDC 14400007 */ bnez $v0, .L800B0EFC /* B2807C 800B0EDC 14400007 */ bnez $v0, .L800B0EFC
/* B28080 800B0EE0 AE020134 */ sw $v0, 0x134($s0) /* B28080 800B0EE0 AE020134 */ sw $v0, 0x134($s0)
@ -117,7 +117,7 @@ glabel func_800B0E50
/* B280A0 800B0F00 24C62CAC */ addiu $a2, %lo(D_80142CAC) # addiu $a2, $a2, 0x2cac /* B280A0 800B0F00 24C62CAC */ addiu $a2, %lo(D_80142CAC) # addiu $a2, $a2, 0x2cac
/* B280A4 800B0F04 8FA40020 */ lw $a0, 0x20($sp) /* B280A4 800B0F04 8FA40020 */ lw $a0, 0x20($sp)
/* B280A8 800B0F08 24051000 */ li $a1, 4096 /* B280A8 800B0F08 24051000 */ li $a1, 4096
/* B280AC 800B0F0C 0C031521 */ jal Game_Alloc /* B280AC 800B0F0C 0C031521 */ jal GameState_AllocEnd
/* B280B0 800B0F10 24070667 */ li $a3, 1639 /* B280B0 800B0F10 24070667 */ li $a3, 1639
/* B280B4 800B0F14 14400007 */ bnez $v0, .L800B0F34 /* B280B4 800B0F14 14400007 */ bnez $v0, .L800B0F34
/* B280B8 800B0F18 AE02013C */ sw $v0, 0x13c($s0) /* B280B8 800B0F18 AE02013C */ sw $v0, 0x13c($s0)
@ -135,7 +135,7 @@ glabel func_800B0E50
/* B280E4 800B0F44 00000000 */ nop /* B280E4 800B0F44 00000000 */ nop
.L800B0F48: .L800B0F48:
/* B280E8 800B0F48 24C62CE4 */ addiu $a2, %lo(D_80142CE4) /* B280E8 800B0F48 24C62CE4 */ addiu $a2, %lo(D_80142CE4)
/* B280EC 800B0F4C 0C031521 */ jal Game_Alloc /* B280EC 800B0F4C 0C031521 */ jal GameState_AllocEnd
/* B280F0 800B0F50 2407066B */ li $a3, 1643 /* B280F0 800B0F50 2407066B */ li $a3, 1643
/* B280F4 800B0F54 14400007 */ bnez $v0, .L800B0F74 /* B280F4 800B0F54 14400007 */ bnez $v0, .L800B0F74
/* B280F8 800B0F58 AE020134 */ sw $v0, 0x134($s0) /* B280F8 800B0F58 AE020134 */ sw $v0, 0x134($s0)
@ -155,7 +155,7 @@ glabel func_800B0E50
/* B2812C 800B0F8C 24C62D1C */ addiu $a2, %lo(D_80142D1C) # addiu $a2, $a2, 0x2d1c /* B2812C 800B0F8C 24C62D1C */ addiu $a2, %lo(D_80142D1C) # addiu $a2, $a2, 0x2d1c
/* B28130 800B0F90 8FA40020 */ lw $a0, 0x20($sp) /* B28130 800B0F90 8FA40020 */ lw $a0, 0x20($sp)
/* B28134 800B0F94 24050C00 */ li $a1, 3072 /* B28134 800B0F94 24050C00 */ li $a1, 3072
/* B28138 800B0F98 0C031521 */ jal Game_Alloc /* B28138 800B0F98 0C031521 */ jal GameState_AllocEnd
/* B2813C 800B0F9C 24070670 */ li $a3, 1648 /* B2813C 800B0F9C 24070670 */ li $a3, 1648
/* B28140 800B0FA0 14400007 */ bnez $v0, .L800B0FC0 /* B28140 800B0FA0 14400007 */ bnez $v0, .L800B0FC0
/* B28144 800B0FA4 AE02013C */ sw $v0, 0x13c($s0) /* B28144 800B0FA4 AE02013C */ sw $v0, 0x13c($s0)
@ -174,7 +174,7 @@ glabel func_800B0E50
.L800B0FD4: .L800B0FD4:
/* B28174 800B0FD4 3C068014 */ lui $a2, %hi(D_80142D54) # $a2, 0x8014 /* B28174 800B0FD4 3C068014 */ lui $a2, %hi(D_80142D54) # $a2, 0x8014
/* B28178 800B0FD8 24C62D54 */ addiu $a2, %lo(D_80142D54) # addiu $a2, $a2, 0x2d54 /* B28178 800B0FD8 24C62D54 */ addiu $a2, %lo(D_80142D54) # addiu $a2, $a2, 0x2d54
/* B2817C 800B0FDC 0C031521 */ jal Game_Alloc /* B2817C 800B0FDC 0C031521 */ jal GameState_AllocEnd
/* B28180 800B0FE0 24070675 */ li $a3, 1653 /* B28180 800B0FE0 24070675 */ li $a3, 1653
/* B28184 800B0FE4 14400007 */ bnez $v0, .L800B1004 /* B28184 800B0FE4 14400007 */ bnez $v0, .L800B1004
/* B28188 800B0FE8 AE02013C */ sw $v0, 0x13c($s0) /* B28188 800B0FE8 AE02013C */ sw $v0, 0x13c($s0)

View file

@ -22,7 +22,7 @@ glabel func_80811A20
/* 0DD2C 80811A6C 24C62F54 */ addiu $a2, $a2, %lo(D_80812F54) ## $a2 = 80812F54 /* 0DD2C 80811A6C 24C62F54 */ addiu $a2, $a2, %lo(D_80812F54) ## $a2 = 80812F54
/* 0DD30 80811A70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 0DD30 80811A70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0DD34 80811A74 8FA5002C */ lw $a1, 0x002C($sp) /* 0DD34 80811A74 8FA5002C */ lw $a1, 0x002C($sp)
/* 0DD38 80811A78 0C031521 */ jal Game_Alloc /* 0DD38 80811A78 0C031521 */ jal GameState_AllocEnd
/* 0DD3C 80811A7C 24070D40 */ addiu $a3, $zero, 0x0D40 ## $a3 = 00000D40 /* 0DD3C 80811A7C 24070D40 */ addiu $a3, $zero, 0x0D40 ## $a3 = 00000D40
/* 0DD40 80811A80 14400007 */ bne $v0, $zero, .L80811AA0 /* 0DD40 80811A80 14400007 */ bne $v0, $zero, .L80811AA0
@ -53,7 +53,7 @@ glabel func_80811A20
/* 0DD9C 80811ADC AFA5002C */ sw $a1, 0x002C($sp) /* 0DD9C 80811ADC AFA5002C */ sw $a1, 0x002C($sp)
/* 0DDA0 80811AE0 AFA30030 */ sw $v1, 0x0030($sp) /* 0DDA0 80811AE0 AFA30030 */ sw $v1, 0x0030($sp)
/* 0DDA4 80811AE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 0DDA4 80811AE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0DDA8 80811AE8 0C031521 */ jal Game_Alloc /* 0DDA8 80811AE8 0C031521 */ jal GameState_AllocEnd
/* 0DDAC 80811AEC 24070D46 */ addiu $a3, $zero, 0x0D46 ## $a3 = 00000D46 /* 0DDAC 80811AEC 24070D46 */ addiu $a3, $zero, 0x0D46 ## $a3 = 00000D46
/* 0DDB0 80811AF0 14400007 */ bne $v0, $zero, .L80811B10 /* 0DDB0 80811AF0 14400007 */ bne $v0, $zero, .L80811B10

View file

@ -73,7 +73,7 @@ glabel func_80801E44
/* 013CC 80801F5C AFA5002C */ sw $a1, 0x002C($sp) /* 013CC 80801F5C AFA5002C */ sw $a1, 0x002C($sp)
/* 013D0 80801F60 AFA30030 */ sw $v1, 0x0030($sp) /* 013D0 80801F60 AFA30030 */ sw $v1, 0x0030($sp)
/* 013D4 80801F64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 013D4 80801F64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013D8 80801F68 0C031521 */ jal Game_Alloc /* 013D8 80801F68 0C031521 */ jal GameState_AllocEnd
/* 013DC 80801F6C 2407045A */ addiu $a3, $zero, 0x045A ## $a3 = 0000045A /* 013DC 80801F6C 2407045A */ addiu $a3, $zero, 0x045A ## $a3 = 0000045A
/* 013E0 80801F70 AE020238 */ sw $v0, 0x0238($s0) ## 00000238 /* 013E0 80801F70 AE020238 */ sw $v0, 0x0238($s0) ## 00000238
/* 013E4 80801F74 3C078080 */ lui $a3, %hi(D_808035DC) ## $a3 = 80800000 /* 013E4 80801F74 3C078080 */ lui $a3, %hi(D_808035DC) ## $a3 = 80800000

View file

@ -1,29 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .bss
glabel gSpeedMeter
.space 0x20
glabel D_801664F0
.space 0x10
glabel D_80166500
.space 0x10
glabel D_80166510
.space 0x18
glabel D_80166528
.space 0x88
glabel D_801665B0
.space 0x10
glabel D_801665C0
.space 0x10

View file

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel D_8012D210
.incbin "baserom.z64", 0xBA43B0, 0x20

View file

@ -1,212 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
.align 4
glabel D_80144D10
.asciz "last_button=%04x\n"
.balign 4
glabel D_80144D24
.asciz "%08x"
.balign 4
glabel D_80144D2C
.asciz "%c"
.balign 4
glabel D_80144D30
.incbin "baserom.z64", 0xBBBED0, 0x20
glabel D_80144D50
.asciz "../game.c"
.balign 4
glabel D_80144D5C
.asciz " %08x (game_alloc)\n"
# EUC-JP: %08x (game_alloc) | % 08x bytes (game_alloc) remaining until Hailal's demise
.balign 4
glabel D_80144D8C
.asciz "../game.c"
.balign 4
glabel D_80144D98
.asciz "../game.c"
.balign 4
glabel D_80144DA4
.asciz "../game.c"
.balign 4
glabel D_80144DB0
.asciz "../game.c"
.balign 4
glabel D_80144DBC
.asciz "../game.c"
.balign 4
glabel D_80144DC8
.asciz " %u \n"
# EUC-JP: %u | Hyal secured size =% u bytes
.balign 4
glabel D_80144DE8
.asciz "../game.c"
.balign 4
glabel D_80144DF4
.asciz "\n"
# EUC-JP: | Success in securing hyal
.balign 4
glabel D_80144E08
.asciz "\n"
# EUC-JP: | Hyal securing failure
.balign 4
glabel D_80144E1C
.asciz "../game.c"
.balign 4
glabel D_80144E28
.asciz "!!\n"
# EUC-JP: !! | Hyal temporary release!
.balign 4
glabel D_80144E3C
.asciz "%c"
.balign 4
glabel D_80144E40
.asciz "\x1b[31m"
.balign 4
glabel D_80144E48
.asciz "\n"
# EUC-JP: | Not enough memory. Change Hyrule size to maximum possible
.balign 4
glabel D_80144E88
.asciz "(hyral=%08x max=%08x free=%08x alloc=%08x)\n"
.balign 4
glabel D_80144EB4
.asciz "\x1b[m"
.balign 4
glabel D_80144EB8
.asciz " %u \n"
# EUC-JP: %u | Hyal re-allocation size =%u bytes
.balign 4
glabel D_80144EDC
.asciz "../game.c"
.balign 4
glabel D_80144EE8
.asciz "\n"
# EUC-JP: | Successful Hyal Reacquisition
.balign 4
glabel D_80144EFC
.asciz "\n"
# EUC-JP: | Hyal reacquisition failure
.balign 4
glabel D_80144F10
.asciz "../game.c"
.balign 4
glabel D_80144F1C
.asciz "game \n"
# EUC-JP: | Constructor start
.balign 4
glabel D_80144F38
.asciz "game_set_next_game_null %d us\n"
# EUC-JP: | Processing time
.balign 4
glabel D_80144F60
.asciz "gamealloc_init %d us\n"
# EUC-JP: | Processing time
.balign 4
glabel D_80144F80
.asciz "init %d us\n"
# EUC-JP: | Processing time
.balign 4
glabel D_80144F98
.asciz "this->cleanup"
.balign 4
glabel D_80144FA8
.asciz "../game.c"
.balign 4
glabel D_80144FB4
.asciz " %d us\n"
# EUC-JP: | processing time
.balign 4
glabel D_80144FD4
.asciz "game \n"
# EUC-JP: | Constructor end
.balign 4
glabel D_80144FF0
.asciz "game \n"
# EUC-JP: | Destructor start
.balign 4
glabel D_80145008
.asciz "this->cleanup"
.balign 4
glabel D_80145018
.asciz "../game.c"
.balign 4
glabel D_80145024
.asciz "game \n"
# EUC-JP: | Destructor end
.balign 4
glabel D_8014503C
.asciz "\n"
# EUC-JP: | Hyrule is gone
.balign 4
glabel D_80145054
.asciz " %d %d \n"
# EUC-JP: %d %d | Hailal on the verge of destruction has% d bytes of reserve (% d bytes left before destruction)
.balign 4
glabel D_8014509C
.asciz "\n"
# EUC-JP: | Hyrule has perished
.balign 4
glabel D_801450B8
.asciz "\x1b[32m"
.balign 4
glabel D_801450C0
.asciz "game_alloc(%08x) %08x-%08x [%s:%d]\n"
.balign 4
glabel D_801450E4
.asciz "\x1b[m"
.balign 4
glabel D_801450E8
.float 0.833

View file

@ -80,16 +80,6 @@ s32 osRecvMesg(OSMesgQueue* mq, OSMesg* msg, s32 flag);
void __createSpeedParam(void); void __createSpeedParam(void);
void __osInitialize_common(void); void __osInitialize_common(void);
void __osInitialize_autodetect(); void __osInitialize_autodetect();
// ? __ull_rshift(?);
// ? __ull_rem(?);
// ? __ull_div(?);
// ? __ll_lshift(?);
// ? __ll_rem(?);
// ? __ll_div(?);
// ? __ll_mul(?);
// ? __ull_divremi(?);
// ? __ll_mod(?);
// ? __ll_rshift(?);
void __osExceptionPreamble(); void __osExceptionPreamble();
// ? __osException(?); // ? __osException(?);
void __osEnqueueAndYield(OSThread**); void __osEnqueueAndYield(OSThread**);
@ -801,9 +791,9 @@ void SaveContext_Init(void);
void func_8006375C(s32 arg0, s32 arg1, float* d_80855320); void func_8006375C(s32 arg0, s32 arg1, float* d_80855320);
// ? func_8006376C(?); // ? func_8006376C(?);
// ? func_80063828(?); // ? func_80063828(?);
// ? func_8006390C(?); void func_8006390C(Input* input);
// ? func_80063C04(?); // ? func_80063C04(?);
// ? func_80063D7C(?); void func_80063D7C(GraphicsContext* gfxCtx);
void DebugDisplay_Init(void); void DebugDisplay_Init(void);
DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX, DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX,
f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type, f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type,
@ -1316,15 +1306,15 @@ s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
// ? func_800ACAF8(?); // ? func_800ACAF8(?);
// ? func_800ACE70(?); // ? func_800ACE70(?);
// ? func_800ACE90(?); // ? func_800ACE90(?);
// ? func_800ACE98(?); void func_800ACE98(struct_801664F0*, Gfx**);
// ? func_800AD000(?); // ? func_800AD000(?);
// ? func_800AD054(?); // ? func_800AD054(?);
// ? func_800AD080(?); // ? func_800AD080(?);
// ? func_800AD394(?); // ? func_800AD394(?);
void func_800AD5C0(UNK_PTR, Gfx**); void func_800AD5C0(VisMonoStruct*, Gfx**);
// ? func_800AD920(?); // ? func_800AD920(?);
// ? func_800AD950(?); // ? func_800AD950(?);
// ? func_800AD958(?); void func_800AD958(struct_801664F0*, Gfx**);
// ? func_800ADBB0(?); // ? func_800ADBB0(?);
// ? func_800AE2C0(?); // ? func_800AE2C0(?);
// ? func_800AEFC8(?); // ? func_800AEFC8(?);
@ -1524,22 +1514,22 @@ void AudioMgr_Start(AudioMgr* audioMgr, void* stack, OSPri pri, OSId id, SchedCo
void TitleSetup_InitImpl(GameState* gameState); void TitleSetup_InitImpl(GameState* gameState);
void TitleSetup_Destroy(GameState* gameState); void TitleSetup_Destroy(GameState* gameState);
void TitleSetup_Init(GameState* gameState); void TitleSetup_Init(GameState* gameState);
// ? func_800C4130(?); void GameState_FaultPrint(void);
// ? func_800C41F0(?); void GameState_SetFBFilter(Gfx** gfx);
// ? func_800C4344(?); // ? func_800C4344(?);
// ? func_800C4558(?); void GameState_DrawInputDisplay(u16 input, Gfx** gfx);
// ? func_800C46EC(?); void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx);
// ? func_800C48CC(?); void GameState_SetFrameBuffer(GraphicsContext* gfxCtx);
// ? func_800C49F4(?); // ? func_800C49F4(?);
// ? func_800C4A98(?); void GameState_ReqPadData(GameState* gameState);
// ? func_800C4AC8(?); void GameState_Update(GameState* gameState);
// ? func_800C4E80(?); void GameState_InitArena(GameState* gameState, size_t size);
// ? func_800C4F20(?); void GameState_Realloc(GameState* gameState, size_t size);
// ? func_800C5080(?); void GameState_Init(GameState* gameState, GameStateFunc init, GraphicsContext* gfxCtx);
// ? func_800C5360(?); void GameState_Destroy(GameState* gameState);
// ? func_800C546C(?); GameStateFunc GameState_GetInit(GameState* gameState);
// ? func_800C547C(?); u32 GameState_IsRunning(GameState* gameState);
void* Game_Alloc(GameState* gameState, size_t size, char* file, s32 line); void* GameState_AllocEnd(GameState* gameState, size_t size, char* file, s32 line);
void func_800C55D0(GameAlloc* this); void func_800C55D0(GameAlloc* this);
void* GameAlloc_MallocDebug(GameAlloc* this, u32 size, const char* file, s32 line); void* GameAlloc_MallocDebug(GameAlloc* this, u32 size, const char* file, s32 line);
void* GameAlloc_Malloc(GameAlloc* this, u32 size); void* GameAlloc_Malloc(GameAlloc* this, u32 size);
@ -1550,7 +1540,7 @@ void Graph_FaultClient();
void Graph_DisassembleUCode(void* arg0); void Graph_DisassembleUCode(void* arg0);
void Graph_UCodeFaultClient(void* arg0); void Graph_UCodeFaultClient(void* arg0);
void* Graph_InitTHGA(GraphicsContext* gfxCtx); void* Graph_InitTHGA(GraphicsContext* gfxCtx);
GameStateOverlay* Graph_GetNextGameState(); GameStateOverlay* Graph_GetNextGameState(GameState* gameState);
void Graph_Init(GraphicsContext* gfxCtx); void Graph_Init(GraphicsContext* gfxCtx);
void Graph_Destroy(GraphicsContext* gfxCtx); void Graph_Destroy(GraphicsContext* gfxCtx);
void Graph_TaskSet00(GraphicsContext* gfxCtx); void Graph_TaskSet00(GraphicsContext* gfxCtx);

View file

@ -39,7 +39,14 @@
#define bREG(r) BASE_REG(28, r) #define bREG(r) BASE_REG(28, r)
#define R_RUN_SPEED_LIMIT REG(45) #define R_RUN_SPEED_LIMIT REG(45)
#define R_ENABLE_ARENA_DBG SREG(0)
#define R_UPDATE_RATE SREG(30) #define R_UPDATE_RATE SREG(30)
#define R_ENABLE_AUDIO_DBG SREG(36)
#define R_FB_FILTER_TYPE SREG(80)
#define R_FB_FILTER_PRIM_COLOR(c) SREG(81 + c)
#define R_FB_FILTER_A SREG(84)
#define R_FB_FILTER_ENV_COLOR(c) SREG(85 + c)
#define R_ENABLE_FB_FILTER SREG(88)
#define R_PAUSE_MENU_MODE SREG(94) #define R_PAUSE_MENU_MODE SREG(94)
#define R_C_UP_ICON_X YREG(88) #define R_C_UP_ICON_X YREG(88)
#define R_C_UP_ICON_Y YREG(89) #define R_C_UP_ICON_Y YREG(89)
@ -88,5 +95,6 @@
#define R_ITEM_AMMO_Y(i) VREG(68 + i) #define R_ITEM_AMMO_Y(i) VREG(68 + i)
#define R_ITEM_ICON_WIDTH(i) VREG(76 + i) #define R_ITEM_ICON_WIDTH(i) VREG(76 + i)
#define R_ITEM_BTN_WIDTH(i) VREG(80 + i) #define R_ITEM_BTN_WIDTH(i) VREG(80 + i)
#define R_DISABLE_INPUT_DISPLAY HREG(47)
#endif #endif

View file

@ -88,6 +88,8 @@ extern u8 osAppNmiBuffer[];
extern u8 D_80009320[]; extern u8 D_80009320[];
extern u8 D_800093F0[]; extern u8 D_800093F0[];
extern u8 D_80009430; extern u8 D_80009430;
extern u32 D_80009460;
extern u32 gDmaMgrDmaBuffSize;
extern volatile u8 gViConfigUseDefault; extern volatile u8 gViConfigUseDefault;
extern u8 gViConfigAdditionalScanLines; extern u8 gViConfigAdditionalScanLines;
extern u32 gViConfigFeatures; extern u32 gViConfigFeatures;

View file

@ -971,11 +971,15 @@ typedef struct {
/* 0x10 */ GameAllocEntry* head; /* 0x10 */ GameAllocEntry* head;
} GameAlloc; // size = 0x14 } GameAlloc; // size = 0x14
struct GameState;
typedef void (*GameStateFunc)(struct GameState* gameState);
typedef struct GameState { typedef struct GameState {
/* 0x00 */ GraphicsContext* gfxCtx; /* 0x00 */ GraphicsContext* gfxCtx;
/* 0x04 */ void (*main)(struct GameState*); /* 0x04 */ GameStateFunc main;
/* 0x08 */ void (*destroy)(struct GameState*); // "cleanup" /* 0x08 */ GameStateFunc destroy; // "cleanup"
/* 0x0C */ void (*init)(struct GameState*); /* 0x0C */ GameStateFunc init;
/* 0x10 */ u32 size; /* 0x10 */ u32 size;
/* 0x14 */ Input input[4]; /* 0x14 */ Input input[4];
/* 0x74 */ TwoHeadArena tha; /* 0x74 */ TwoHeadArena tha;
@ -1693,11 +1697,21 @@ typedef struct {
} JpegContext; // size = 0xB8 } JpegContext; // size = 0xB8
typedef struct { typedef struct {
/* 0x00 */ char unk_00[0x08]; /* 0x00 */ s32 colorFormat;
/* 0x08 */ Color_RGBA8 color; /* 0x04 */ s32 setScissor;
/* 0x0C */ char unk_0C[0x0C]; /* 0x08 */ Color_RGBA8 primColor;
/* 0x0C */ Color_RGBA8 envColor;
/* 0x10 */ u16* texture;
/* 0x14 */ Gfx* monoDList;
} VisMonoStruct; // size = 0x18 } VisMonoStruct; // size = 0x18
typedef struct {
/* 0x00 */ u32 type;
/* 0x04 */ u32 setScissor;
/* 0x08 */ Color_RGBA8 color;
/* 0x0C */ Color_RGBA8 envColor;
} struct_801664F0; // size = 0x10
typedef struct { typedef struct {
/* 0x000 */ u8 rumbleEnable[4]; /* 0x000 */ u8 rumbleEnable[4];
/* 0x004 */ u8 unk_04[0x40]; /* 0x004 */ u8 unk_04[0x40];

5
spec
View file

@ -404,10 +404,7 @@ beginseg
include "build/data/code_800C3C20.data.o" include "build/data/code_800C3C20.data.o"
include "build/src/code/audioMgr.o" include "build/src/code/audioMgr.o"
include "build/src/code/title_setup.o" include "build/src/code/title_setup.o"
include "build/asm/game.o" include "build/src/code/game.o"
include "build/data/game.data.o"
include "build/data/game.rodata.o"
include "build/data/game.bss.o"
include "build/src/code/gamealloc.o" include "build/src/code/gamealloc.o"
include "build/src/code/graph.o" include "build/src/code/graph.o"
include "build/src/code/listalloc.o" include "build/src/code/listalloc.o"

View file

@ -11,7 +11,7 @@ const char* sDmaMgrCurFileName;
s32 sDmaMgrCurFileLine; s32 sDmaMgrCurFileLine;
u32 D_80009460 = 0; u32 D_80009460 = 0;
u32 sDmaMgrDmaBuffSize = 0x2000; u32 gDmaMgrDmaBuffSize = 0x2000;
u32 sDmaMgrDataExistError = 0; u32 sDmaMgrDataExistError = 0;
const char* sDmaMgrFileNames[0x5FC] = { const char* sDmaMgrFileNames[0x5FC] = {
"makerom", "makerom",
@ -1577,7 +1577,7 @@ s32 DmaMgr_DMARomToRam(u32 rom, u32 ram, u32 size) {
u32 buffSize; u32 buffSize;
u32 pad[2]; u32 pad[2];
buffSize = sDmaMgrDmaBuffSize; buffSize = gDmaMgrDmaBuffSize;
if (buffSize == 0) { if (buffSize == 0) {
buffSize = 0x2000; buffSize = 0x2000;
} }

View file

@ -1,12 +1,5 @@
#include <global.h> #include <global.h>
typedef struct {
/* 0x00 */ u32 type;
/* 0x04 */ u32 setScissor;
/* 0x08 */ Color_RGBA8 color;
/* 0x0C */ u32 unk_0C;
} struct_801664F0;
Gfx D_8012AC00[] = { Gfx D_8012AC00[] = {
gsDPSetOtherMode(G_AD_PATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_CONV | G_TF_POINT | G_TT_NONE | G_TL_TILE | gsDPSetOtherMode(G_AD_PATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_CONV | G_TF_POINT | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE, G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,

526
src/code/game.c Normal file
View file

@ -0,0 +1,526 @@
#include <global.h>
#include "vt.h"
typedef struct {
/* 0x0000 */ OSViMode viMode;
/* 0x0050 */ char unk_50[0x30];
/* 0x0080 */ u32 viFeatures;
/* 0x0084 */ char unk_84[4];
} unk_80166528;
SpeedMeter D_801664D0;
struct_801664F0 D_801664F0;
struct_801664F0 D_80166500;
VisMonoStruct sMonoColors;
unk_80166528 D_80166528;
FaultClient sGameFaultClient;
u16 sLastButtonPressed;
char sBtnChars[] = {
'A', 'B', 'Z', 'S', 'u', 'l', 'd', 'r', '*', '+', 'L', 'R', 'u', 'd', 'l', 'r', '\0',
};
void GameState_FaultPrint(void) {
s32 i;
osSyncPrintf("last_button=%04x\n", sLastButtonPressed);
FaultDrawer_DrawText(120, 180, "%08x", sLastButtonPressed);
for (i = 0; i < ARRAY_COUNT(sBtnChars); i++) {
if (sLastButtonPressed & (1 << i)) {
FaultDrawer_DrawText((i * 8) + 0x78, 0xBE, "%c", sBtnChars[i]);
}
}
}
void GameState_SetFBFilter(Gfx** gfx) {
Gfx* gfxP;
gfxP = *gfx;
if ((R_FB_FILTER_TYPE > 0) && (R_FB_FILTER_TYPE < 5)) {
D_801664F0.type = R_FB_FILTER_TYPE;
D_801664F0.color.r = R_FB_FILTER_PRIM_COLOR(0);
D_801664F0.color.g = R_FB_FILTER_PRIM_COLOR(1);
D_801664F0.color.b = R_FB_FILTER_PRIM_COLOR(2);
D_801664F0.color.a = R_FB_FILTER_A;
func_800ACE98(&D_801664F0, &gfxP);
} else if ((R_FB_FILTER_TYPE == 5) || (R_FB_FILTER_TYPE == 6)) {
D_80166500.type = (R_FB_FILTER_TYPE == 6);
D_80166500.color.r = R_FB_FILTER_PRIM_COLOR(0);
D_80166500.color.g = R_FB_FILTER_PRIM_COLOR(1);
D_80166500.color.b = R_FB_FILTER_PRIM_COLOR(2);
D_80166500.color.a = R_FB_FILTER_A;
D_80166500.envColor.r = R_FB_FILTER_ENV_COLOR(0);
D_80166500.envColor.g = R_FB_FILTER_ENV_COLOR(1);
D_80166500.envColor.b = R_FB_FILTER_ENV_COLOR(2);
D_80166500.envColor.a = R_FB_FILTER_A;
func_800AD958(&D_80166500, &gfxP);
} else if (R_FB_FILTER_TYPE == 7) {
sMonoColors.colorFormat = 0;
sMonoColors.primColor.r = R_FB_FILTER_PRIM_COLOR(0);
sMonoColors.primColor.g = R_FB_FILTER_PRIM_COLOR(1);
sMonoColors.primColor.b = R_FB_FILTER_PRIM_COLOR(2);
sMonoColors.primColor.a = R_FB_FILTER_A;
sMonoColors.envColor.r = R_FB_FILTER_ENV_COLOR(0);
sMonoColors.envColor.g = R_FB_FILTER_ENV_COLOR(1);
sMonoColors.envColor.b = R_FB_FILTER_ENV_COLOR(2);
sMonoColors.envColor.a = R_FB_FILTER_A;
func_800AD5C0(&sMonoColors, &gfxP);
}
*gfx = gfxP;
}
void func_800C4344(GameState* gameState) {
Input* selectedInput;
s32 hexDumpSize;
u16 hReg82;
if (HREG(80) == 0x14) {
__osMalloc_FreeBlockTest_Enable = HREG(82);
}
if (HREG(80) == 0xC) {
selectedInput = &gameState->input[HREG(81) < 4U ? HREG(81) : 0];
hReg82 = HREG(82);
HREG(83) = selectedInput->cur.in.button;
HREG(84) = selectedInput->press.in.button;
HREG(85) = selectedInput->rel.in.x;
HREG(86) = selectedInput->rel.in.y;
HREG(87) = selectedInput->rel.in.x;
HREG(88) = selectedInput->rel.in.y;
HREG(89) = selectedInput->cur.in.x;
HREG(90) = selectedInput->cur.in.y;
HREG(93) = (selectedInput->cur.in.button == hReg82);
HREG(94) = (~(selectedInput->cur.in.button | ~hReg82) == 0);
HREG(95) = (~(selectedInput->press.in.button | ~hReg82) == 0);
}
if (D_8012DBC0 != 0) {
func_8006390C(&gameState->input[1]);
}
D_80009460 = HREG(60);
gDmaMgrDmaBuffSize = SREG(21) != 0 ? ALIGN16(SREG(21)) : 0x2000;
gSystemArenaLogSeverity = HREG(61);
gZeldaArenaLogSeverity = HREG(62);
if (HREG(80) == 8) {
if (HREG(94) != 8) {
HREG(94) = 8;
HREG(81) = 0;
HREG(82) = 0;
HREG(83) = 0;
}
if (HREG(81) < 0) {
HREG(81) = 0;
// & 0xFFFFFFFF necessary for matching.
hexDumpSize = (HREG(83) == 0 ? 0x100 : HREG(83) * 0x10) & 0xFFFFFFFF;
LogUtils_LogHexDump(PHYSICAL_TO_VIRTUAL(HREG(82) << 8), hexDumpSize);
}
}
}
#ifdef NON_MATCHING
// Regalloc mostly
void GameState_DrawInputDisplay(u16 input, Gfx** gfx) {
static const u16 sInpDispBtnColors[] = {
GPACK_RGBA5551(31, 31, 0, 1), GPACK_RGBA5551(31, 31, 0, 1), GPACK_RGBA5551(31, 31, 0, 1),
GPACK_RGBA5551(31, 31, 0, 1), GPACK_RGBA5551(15, 15, 15, 1), GPACK_RGBA5551(15, 15, 15, 1),
GPACK_RGBA5551(31, 0, 31, 1), GPACK_RGBA5551(0, 31, 31, 1), GPACK_RGBA5551(15, 15, 15, 1),
GPACK_RGBA5551(15, 15, 15, 1), GPACK_RGBA5551(15, 15, 15, 1), GPACK_RGBA5551(15, 15, 15, 1),
GPACK_RGBA5551(31, 0, 0, 1), GPACK_RGBA5551(15, 15, 15, 1), GPACK_RGBA5551(0, 31, 15, 1),
GPACK_RGBA5551(0, 0, 31, 1),
};
s32 i, j;
s32 lrx, lry, ulx, uly;
Gfx* gfxP = *gfx;
gDPPipeSync(gfxP++);
gDPSetOtherMode(gfxP++,
G_AD_PATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_CONV | G_TF_POINT | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_NONE | G_CYC_FILL | G_PM_NPRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | G_RM_NOOP | G_RM_NOOP2);
for (i = 0, j = 1; i < 0x10; i++, j++) {
if (input & (1 << i)) {
gDPSetFillColor(gfxP++, (sInpDispBtnColors[i] << 0x10) | sInpDispBtnColors[i]);
ulx = i * 4 + 226;
uly = 220;
lrx = j * 4 + 225;
lry = 223;
gDPFillRectangle(gfxP++, ulx, uly, lrx, lry);
gDPPipeSync(gfxP++);
}
};
*gfx = gfxP;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/game/GameState_DrawInputDisplay.s")
#endif
void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) {
Gfx* newDList;
Gfx* polyOpaP;
Gfx* dispRefs[5];
char pad[0x10];
GfxPrint printChars[2];
Graph_OpenDisps(dispRefs, gfxCtx, "../game.c", 746);
newDList = Graph_GfxPlusOne(polyOpaP = gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, newDList);
if (R_ENABLE_FB_FILTER == 1) {
GameState_SetFBFilter(&newDList);
}
sLastButtonPressed = gameState->input[0].press.in.button | gameState->input[0].cur.in.button;
if (R_DISABLE_INPUT_DISPLAY == 0) {
GameState_DrawInputDisplay(sLastButtonPressed, &newDList);
}
if (R_ENABLE_AUDIO_DBG & 1) {
GfxPrint_Ctor(printChars);
GfxPrint_Open(printChars, newDList);
func_800EEA50(printChars);
newDList = GfxPrint_Close(printChars);
GfxPrint_Dtor(printChars);
}
if (R_ENABLE_ARENA_DBG < 0) {
DebugArena_Display();
SystemArena_Display();
//% 08x bytes left until the death of Hyrule (game_alloc)
osSyncPrintf("ハイラル滅亡まであと %08x バイト(game_alloc)\n", THA_GetSize(&gameState->tha));
R_ENABLE_ARENA_DBG = 0;
}
if (1) {
gSPEndDisplayList(newDList++);
Graph_BranchDlist(polyOpaP, newDList);
gfxCtx->polyOpa.p = newDList;
}
Graph_CloseDisps(dispRefs, gfxCtx, "../game.c", 800);
func_80063D7C(gfxCtx);
if (R_ENABLE_ARENA_DBG != 0) {
SpeedMeter_DrawTimeEntries(&D_801664D0, gfxCtx);
SpeedMeter_DrawAllocEntries(&D_801664D0, gfxCtx, gameState);
}
}
void GameState_SetFrameBuffer(GraphicsContext* gfxCtx) {
Gfx* dispRef[5];
Graph_OpenDisps(dispRef, gfxCtx, "../game.c", 814);
gSPSegment(gfxCtx->polyOpa.p++, 0, 0);
gSPSegment(gfxCtx->polyOpa.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(gfxCtx->polyOpa.p++, 0xE, gZBuffer);
gSPSegment(gfxCtx->polyXlu.p++, 0, 0);
gSPSegment(gfxCtx->polyXlu.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(gfxCtx->polyXlu.p++, 0xE, gZBuffer);
gSPSegment(gfxCtx->overlay.p++, 0, 0);
gSPSegment(gfxCtx->overlay.p++, 0xF, gfxCtx->curFrameBuffer);
gSPSegment(gfxCtx->overlay.p++, 0xE, gZBuffer);
Graph_CloseDisps(dispRef, gfxCtx, "../game.c", 838);
}
void func_800C49F4(GraphicsContext* gfxCtx) {
Gfx* newDlist;
Gfx* polyOpaP;
Gfx* dispRefs[5];
Graph_OpenDisps(dispRefs, gfxCtx, "../game.c", 846);
newDlist = Graph_GfxPlusOne(polyOpaP = gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, newDlist);
// necessary to match
if (1) {
gSPEndDisplayList(newDlist++);
Graph_BranchDlist(polyOpaP, newDlist);
gfxCtx->polyOpa.p = newDlist;
}
Graph_CloseDisps(dispRefs, gfxCtx, "../game.c", 865);
}
void GameState_ReqPadData(GameState* gameState) {
PadMgr_RequestPadData(&gPadMgr, &gameState->input, 1);
}
#ifdef NON_MATCHING
// Minor reodering and regalloc
void GameState_Update(GameState* gameState) {
GraphicsContext* gfxCtx = gameState->gfxCtx;
GameState_SetFrameBuffer(gameState->gfxCtx);
gameState->main(gameState);
func_800C4344(gameState);
if (SREG(63) == 1) {
if (SREG(48) < 0) {
SREG(48) = 0;
gfxCtx->viMode = &gViConfigMode;
gfxCtx->viFeatures = gViConfigFeatures;
gfxCtx->xScale = gViConfigXScale;
gfxCtx->yScale = gViConfigYScale;
} else if (SREG(48) > 0) {
func_800ACAF8(&D_80166528, gameState->input, gfxCtx);
gfxCtx->viMode = &D_80166528.viMode;
gfxCtx->xScale = 1.0f;
gfxCtx->yScale = 1.0f;
gfxCtx->viFeatures = D_80166528.viFeatures;
}
} else if (SREG(63) >= 2) {
gfxCtx->viMode = &gViConfigMode;
gfxCtx->viFeatures = gViConfigFeatures;
gfxCtx->xScale = gViConfigXScale;
gfxCtx->yScale = gViConfigYScale;
if (SREG(63) == 6 || (SREG(63) == 2 && osTvType == 1)) {
gfxCtx->viMode = &osViModeNtscLan1;
gfxCtx->yScale = 1.0f;
}
if (SREG(63) == 5 || (SREG(63) == 2 && osTvType == 2)) {
gfxCtx->viMode = &osViModeMpalLan1;
gfxCtx->yScale = 1.0f;
}
if (SREG(63) == 4 || (SREG(63) == 2 && osTvType == 0)) {
gfxCtx->viMode = &osViModePalLan1;
gfxCtx->yScale = 1.0f;
}
if (SREG(63) == 3 || (SREG(63) == 2 && osTvType == 0)) {
gfxCtx->viMode = &osViModeFpalLan1;
gfxCtx->yScale = 0.833f;
}
} else {
gfxCtx->viMode = NULL;
}
if (HREG(80) == 0x15) {
if (HREG(95) != 0x15) {
HREG(95) = 0x15;
HREG(81) = 0;
HREG(82) = gViConfigAdditionalScanLines;
HREG(83) = 0;
HREG(84) = 0;
}
HREG(82) = CLAMP(HREG(82), 0, 0x30);
if ((HREG(83) != HREG(82)) || HREG(84) != HREG(81)) {
HREG(83) = HREG(82);
HREG(84) = HREG(81);
gViConfigAdditionalScanLines = HREG(82);
gViConfigYScale = HREG(81) == 0 ? 240.0f / ((u8)HREG(82) + 240.0f) : 1.0f;
D_80009430 = 1;
}
}
if (SREG(94) != 2) {
GameState_Draw(gameState, gameState->gfxCtx);
func_800C49F4(gameState->gfxCtx);
}
gameState->frames++;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/game/GameState_Update.s")
#endif
void GameState_InitArena(GameState* gameState, size_t size) {
void* arena;
// Hyrule reserved size =% u bytes
osSyncPrintf("ハイラル確保 サイズ=%u バイト\n");
arena = GameAlloc_MallocDebug(&gameState->alloc, size, "../game.c", 992);
if (arena != NULL) {
THA_Ct(&gameState->tha, arena, size);
// Successful Hyral
osSyncPrintf("ハイラル確保成功\n");
} else {
THA_Ct(&gameState->tha, NULL, 0);
// Failure to secure Hyrule
osSyncPrintf("ハイラル確保失敗\n");
Fault_AddHungupAndCrash("../game.c", 999);
}
}
#ifdef NON_MATCHING
// stack
void GameState_Realloc(GameState* gameState, size_t size) {
s32 pad;
void* gameArena;
u32 systemMaxFree;
u32 systemFree;
u32 systemAlloc;
void* thaBufp;
thaBufp = gameState->tha.bufp;
THA_Dt(&gameState->tha);
GameAlloc_Free(&gameState->alloc, thaBufp);
// Hyrule temporarily released !!
osSyncPrintf("ハイラル一時解放!!\n");
SystemArena_GetSizes(&systemMaxFree, &systemFree, &systemAlloc);
if ((systemMaxFree - 0x10) < size) {
osSyncPrintf("%c", 7);
osSyncPrintf(VT_FGCOL(RED));
// Not enough memory. Change the hyral size to the largest possible value
osSyncPrintf("メモリが足りません。ハイラルサイズを可能な最大値に変更します\n");
osSyncPrintf("(hyral=%08x max=%08x free=%08x alloc=%08x)\n", size, systemMaxFree, systemFree, systemAlloc);
osSyncPrintf(VT_RST);
size = systemMaxFree - 0x10;
}
// Hyral reallocate size =% u bytes
osSyncPrintf("ハイラル再確保 サイズ=%u バイト\n", size);
gameArena = GameAlloc_MallocDebug(&gameState->alloc, size, "../game.c", 1033);
if (gameArena != NULL) {
THA_Ct(&gameState->tha, gameArena, size);
// Successful reacquisition of Hyrule
osSyncPrintf("ハイラル再確保成功\n");
} else {
THA_Ct(&gameState->tha, NULL, 0);
// Failure to secure Hyral
osSyncPrintf("ハイラル再確保失敗\n");
SystemArena_Display();
Fault_AddHungupAndCrash("../game.c", 1044);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/game/GameState_Realloc.s")
#endif
void GameState_Init(GameState* gameState, GameStateFunc init, GraphicsContext* gfxCtx) {
u64 startTime;
u64 endTime;
// game constructor start
osSyncPrintf("game コンストラクタ開始\n");
gameState->gfxCtx = gfxCtx;
gameState->frames = 0;
gameState->main = NULL;
gameState->destroy = NULL;
gameState->running = 1;
startTime = osGetTime();
gameState->size = 0;
gameState->init = NULL;
endTime = osGetTime();
// game_set_next_game_null processing time% d us
osSyncPrintf("game_set_next_game_null 処理時間 %d us\n", OS_CYCLES_TO_USEC(endTime - startTime));
startTime = endTime;
GameAlloc_Init(&gameState->alloc);
endTime = osGetTime();
// gamealloc_init processing time% d us
osSyncPrintf("gamealloc_init 処理時間 %d us\n", OS_CYCLES_TO_USEC(endTime - startTime));
startTime = endTime;
GameState_InitArena(gameState, 0x100000);
SREG(30) = 3;
init(gameState);
endTime = osGetTime();
// init processing time% d us
osSyncPrintf("init 処理時間 %d us\n", OS_CYCLES_TO_USEC(endTime - startTime));
startTime = endTime;
LogUtils_CheckNullPointer("this->cleanup", gameState->destroy, "../game.c", 1088);
func_800ACE70(&D_801664F0);
func_800AD920(&D_80166500);
func_800AD000(&sMonoColors);
if (SREG(48) == 0) {
func_800ACA28(&D_80166528);
}
SpeedMeter_Init(&D_801664D0);
func_800AA0B4();
osSendMesg(&gameState->gfxCtx->queue, NULL, OS_MESG_BLOCK);
endTime = osGetTime();
// Other initialization processing time% d us
osSyncPrintf("その他初期化 処理時間 %d us\n", OS_CYCLES_TO_USEC(endTime - startTime));
Fault_AddClient(&sGameFaultClient, &GameState_FaultPrint, NULL, NULL);
// game constructor end
osSyncPrintf("game コンストラクタ終了\n");
}
void GameState_Destroy(GameState* gameState) {
// game destructor start
osSyncPrintf("game デストラクタ開始\n");
func_800C3C20();
func_800F3054();
osRecvMesg(&gameState->gfxCtx->queue, NULL, OS_MESG_BLOCK);
LogUtils_CheckNullPointer("this->cleanup", gameState->destroy, "../game.c", 1139);
if (gameState->destroy != NULL) {
gameState->destroy(gameState);
}
func_800AA0F0();
SpeedMeter_Destroy(&D_801664D0);
func_800ACE90(&D_801664F0);
func_800AD950(&D_80166500);
func_800AD054(&sMonoColors);
if (SREG(48) == 0) {
func_800ACA90(&D_80166528);
}
THA_Dt(&gameState->tha);
GameAlloc_Cleanup(&gameState->alloc);
SystemArena_Display();
Fault_RemoveClient(&sGameFaultClient);
// game destructor end
osSyncPrintf("game デストラクタ終了\n");
}
GameStateFunc GameState_GetInit(GameState* gameState) {
return gameState->init;
}
size_t GameState_GetSize(GameState* gameState) {
return gameState->size;
}
u32 GameState_IsRunning(GameState* gameState) {
return gameState->running;
}
void* GameState_AllocEnd(GameState* gameState, size_t size, char* file, s32 line) {
void* ret;
if (THA_IsCrash(&gameState->tha)) {
osSyncPrintf("ハイラルは滅亡している\n");
ret = NULL;
} else if (THA_GetSize(&gameState->tha) < size) {
// Hyral on the verge of extinction does not have% d bytes left (% d bytes until extinction)
osSyncPrintf("滅亡寸前のハイラルには %d バイトの余力もない(滅亡まであと %d バイト)\n", size,
THA_GetSize(&gameState->tha));
ret = NULL;
} else {
ret = THA_AllocEndAlign16(&gameState->tha, size);
if (THA_IsCrash(&gameState->tha)) {
// Hyrule has been destroyed
osSyncPrintf("ハイラルは滅亡してしまった\n");
ret = NULL;
}
}
if (ret != NULL) {
osSyncPrintf(VT_FGCOL(GREEN));
osSyncPrintf("game_alloc(%08x) %08x-%08x [%s:%d]\n", size, ret, (u32)ret + size, file, line);
osSyncPrintf(VT_RST);
}
return ret;
}
void* GameState_AllocEndAlign16(GameState* gameState, size_t size) {
return THA_AllocEndAlign16(&gameState->tha, size);
}
s32 GameState_GetArenaSize(GameState* gameState) {
return THA_GetSize(&gameState->tha);
}

View file

@ -105,10 +105,10 @@ void* Graph_InitTHGA(GraphicsContext* gfxCtx) {
gfxCtx->unk_014 = 0; gfxCtx->unk_014 = 0;
} }
GameStateOverlay* Graph_GetNextGameState() { GameStateOverlay* Graph_GetNextGameState(GameState* gameState) {
void* gameStateInitFunc; void* gameStateInitFunc;
gameStateInitFunc = func_800C546C(); gameStateInitFunc = GameState_GetInit(gameState);
if (gameStateInitFunc == TitleSetup_Init) { if (gameStateInitFunc == TitleSetup_Init) {
return &gGameStateOverlayTable[0]; return &gGameStateOverlayTable[0];
} }
@ -285,8 +285,8 @@ void Graph_Update(GraphicsContext* gfxCtx, GameState* gameState) {
gDPNoOpString(gfxCtx->overlay.p++, "OVERLAY_DISP 開始", 0); gDPNoOpString(gfxCtx->overlay.p++, "OVERLAY_DISP 開始", 0);
Graph_CloseDisps(dispRefs, gfxCtx, "../graph.c", 975); Graph_CloseDisps(dispRefs, gfxCtx, "../graph.c", 975);
func_800C4A98(gameState); // Game_ReqPadData GameState_ReqPadData(gameState);
func_800C4AC8(gameState); // Game_SetGameFrame GameState_Update(gameState);
Graph_OpenDisps(dispRefs2, gfxCtx, "../graph.c", 987); Graph_OpenDisps(dispRefs2, gfxCtx, "../graph.c", 987);
gDPNoOpString(gfxCtx->work.p++, "WORK_DISP 終了", 0); gDPNoOpString(gfxCtx->work.p++, "WORK_DISP 終了", 0);
@ -435,14 +435,14 @@ void Graph_ThreadEntry(void* arg0) {
sprintf(faultMsg, "CLASS SIZE= %d bytes", size); sprintf(faultMsg, "CLASS SIZE= %d bytes", size);
Fault_AddHungupAndCrashImpl("GAME CLASS MALLOC FAILED", faultMsg); Fault_AddHungupAndCrashImpl("GAME CLASS MALLOC FAILED", faultMsg);
} }
func_800C5080(gameState, ovl->init, &gfxCtx); // Game_Ct GameState_Init(gameState, ovl->init, &gfxCtx);
while (func_800C547C(gameState)) { // Game_IsGameStateRunning while (GameState_IsRunning(gameState)) {
Graph_Update(&gfxCtx, gameState); Graph_Update(&gfxCtx, gameState);
} }
nextOvl = Graph_GetNextGameState(gameState); nextOvl = Graph_GetNextGameState(gameState);
func_800C5360(gameState); // Game_Dt GameState_Destroy(gameState);
SystemArena_FreeDebug(gameState, "../graph.c", 1227); SystemArena_FreeDebug(gameState, "../graph.c", 1227);
Overlay_FreeGameState(ovl); Overlay_FreeGameState(ovl);
} }

View file

@ -66,7 +66,7 @@ void Main(void* arg0) {
DebugArena_Init(debugHeap, debugHeapSize); DebugArena_Init(debugHeap, debugHeapSize);
func_800636C0(); func_800636C0();
SREG(0) = 0; R_ENABLE_ARENA_DBG = 0;
osCreateMesgQueue(&sSiIntMsgQ, sSiIntMsgBuf, 1); osCreateMesgQueue(&sSiIntMsgQ, sSiIntMsgBuf, 1);
osSetEventMesg(5, &sSiIntMsgQ, 0); osSetEventMesg(5, &sSiIntMsgQ, 0);

View file

@ -21,7 +21,7 @@ MtxF* sMatrixStack; // "Matrix_stack"
MtxF* sCurrentMatrix; // "Matrix_now" MtxF* sCurrentMatrix; // "Matrix_now"
void Matrix_Init(GameState* gameState) { void Matrix_Init(GameState* gameState) {
sCurrentMatrix = Game_Alloc(gameState, 20 * sizeof(MtxF), "../sys_matrix.c", 153); sCurrentMatrix = GameState_AllocEnd(gameState, 20 * sizeof(MtxF), "../sys_matrix.c", 153);
sMatrixStack = sCurrentMatrix; sMatrixStack = sCurrentMatrix;
} }

View file

@ -40,7 +40,7 @@ void func_801109B0(GlobalContext* globalCtx) {
// Translates to: "Permanent PARAMETER Segment = %x" // Translates to: "Permanent PARAMETER Segment = %x"
osSyncPrintf("常駐PARAMETERセグメント=%x\n", parameterSize); osSyncPrintf("常駐PARAMETERセグメント=%x\n", parameterSize);
interfaceCtx->parameterSegment = Game_Alloc(&globalCtx->state, parameterSize, "../z_construct.c", 159); interfaceCtx->parameterSegment = GameState_AllocEnd(&globalCtx->state, parameterSize, "../z_construct.c", 159);
osSyncPrintf("parameter->parameterSegment=%x", interfaceCtx->parameterSegment); osSyncPrintf("parameter->parameterSegment=%x", interfaceCtx->parameterSegment);
@ -50,7 +50,7 @@ void func_801109B0(GlobalContext* globalCtx) {
DmaMgr_SendRequest1(interfaceCtx->parameterSegment, parameterStart, parameterSize, "../z_construct.c", 162); DmaMgr_SendRequest1(interfaceCtx->parameterSegment, parameterStart, parameterSize, "../z_construct.c", 162);
interfaceCtx->do_actionSegment = Game_Alloc(&globalCtx->state, 0x480, "../z_construct.c", 166); interfaceCtx->do_actionSegment = GameState_AllocEnd(&globalCtx->state, 0x480, "../z_construct.c", 166);
// Translates to: "DO Action Texture Initialization" // Translates to: "DO Action Texture Initialization"
osSyncPrintf("DOアクション テクスチャ初期=%x\n", 0x480); osSyncPrintf("DOアクション テクスチャ初期=%x\n", 0x480);
@ -84,7 +84,7 @@ void func_801109B0(GlobalContext* globalCtx) {
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->do_actionSegment + 0x300), do_actionStart + do_actionOffset, 0x180, DmaMgr_SendRequest1((void*)((u32)interfaceCtx->do_actionSegment + 0x300), do_actionStart + do_actionOffset, 0x180,
"../z_construct.c", 178); "../z_construct.c", 178);
interfaceCtx->icon_itemSegment = Game_Alloc(&globalCtx->state, 0x4000, "../z_construct.c", 190); interfaceCtx->icon_itemSegment = GameState_AllocEnd(&globalCtx->state, 0x4000, "../z_construct.c", 190);
// Translates to: "Icon Item Texture Initialization = %x" // Translates to: "Icon Item Texture Initialization = %x"
osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 0x4000); osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 0x4000);
@ -201,7 +201,7 @@ void func_80110F68(GlobalContext* globalCtx) {
View_Init(&msgCtx->view, globalCtx->state.gfxCtx); View_Init(&msgCtx->view, globalCtx->state.gfxCtx);
msgCtx->textboxSegment = Game_Alloc(&globalCtx->state, 0x2200, "../z_construct.c", 349); msgCtx->textboxSegment = GameState_AllocEnd(&globalCtx->state, 0x2200, "../z_construct.c", 349);
osSyncPrintf("message->fukidashiSegment=%x\n", msgCtx->textboxSegment); osSyncPrintf("message->fukidashiSegment=%x\n", msgCtx->textboxSegment);

View file

@ -53,7 +53,7 @@ void KaleidoManager_Init(GlobalContext* globalCtx) {
osSyncPrintf(VT_FGCOL(GREEN)); osSyncPrintf(VT_FGCOL(GREEN));
osSyncPrintf("KaleidoArea の最大サイズは %d バイトを確保します\n", largestOvl); osSyncPrintf("KaleidoArea の最大サイズは %d バイトを確保します\n", largestOvl);
osSyncPrintf(VT_RST); osSyncPrintf(VT_RST);
sKaleidoAreaPtr = Game_Alloc(&globalCtx->state, largestOvl, "../z_kaleido_manager.c", 150); sKaleidoAreaPtr = GameState_AllocEnd(&globalCtx->state, largestOvl, "../z_kaleido_manager.c", 150);
LogUtils_CheckNullPointer("KaleidoArea_allocp", sKaleidoAreaPtr, "../z_kaleido_manager.c", 151); LogUtils_CheckNullPointer("KaleidoArea_allocp", sKaleidoAreaPtr, "../z_kaleido_manager.c", 151);
osSyncPrintf(VT_FGCOL(GREEN)); osSyncPrintf(VT_FGCOL(GREEN));
osSyncPrintf("KaleidoArea %08x - %08x\n", sKaleidoAreaPtr, (u32)sKaleidoAreaPtr + largestOvl); osSyncPrintf("KaleidoArea %08x - %08x\n", sKaleidoAreaPtr, (u32)sKaleidoAreaPtr + largestOvl);

View file

@ -232,7 +232,7 @@ void Map_Init(GlobalContext* globalCtx) {
interfaceCtx->unk_258 = -1; interfaceCtx->unk_258 = -1;
interfaceCtx->unk_25A = -1; interfaceCtx->unk_25A = -1;
interfaceCtx->mapSegment = Game_Alloc(&globalCtx->state, 0x1000, "../z_map_exp.c", 457); interfaceCtx->mapSegment = GameState_AllocEnd(&globalCtx->state, 0x1000, "../z_map_exp.c", 457);
// Translates to " TEXTURE INITIALIZATION scene_data_ID=%d mapSegment=%x" // Translates to " TEXTURE INITIALIZATION scene_data_ID=%d mapSegment=%x"
osSyncPrintf("\n\n\n テクスチャ初期化 scene_data_ID=%d\nmapSegment=%x\n\n", globalCtx->sceneNum, osSyncPrintf("\n\n\n テクスチャ初期化 scene_data_ID=%d\nmapSegment=%x\n\n", globalCtx->sceneNum,
interfaceCtx->mapSegment, globalCtx); interfaceCtx->mapSegment, globalCtx);

View file

@ -57,7 +57,7 @@ void MapMark_Init(GlobalContext* globalCtx) {
MapMarkDataOverlay* overlay = &sMapMarkDataOvl; MapMarkDataOverlay* overlay = &sMapMarkDataOvl;
u32 overlaySize = (u32)overlay->vramEnd - (u32)overlay->vramStart; u32 overlaySize = (u32)overlay->vramEnd - (u32)overlay->vramStart;
overlay->loadedRamAddr = Game_Alloc(&globalCtx->state, overlaySize, "../z_map_mark.c", 235); overlay->loadedRamAddr = GameState_AllocEnd(&globalCtx->state, overlaySize, "../z_map_mark.c", 235);
LogUtils_CheckNullPointer("dlftbl->allocp", overlay->loadedRamAddr, "../z_map_mark.c", 236); LogUtils_CheckNullPointer("dlftbl->allocp", overlay->loadedRamAddr, "../z_map_mark.c", 236);
Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr); Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr);

View file

@ -213,7 +213,7 @@ void Gameplay_Init(GlobalContext* globalCtx) {
} }
SystemArena_Display(); SystemArena_Display();
func_800C4F20(globalCtx, 0x1D4790); GameState_Realloc(globalCtx, 0x1D4790);
KaleidoManager_Init(globalCtx); KaleidoManager_Init(globalCtx);
View_Init(&globalCtx->view, gfxCtx); View_Init(&globalCtx->view, gfxCtx);
func_800F6828(0); func_800F6828(0);
@ -371,7 +371,7 @@ void Gameplay_Init(GlobalContext* globalCtx) {
osSyncPrintf("ZELDA ALLOC SIZE=%x\n", THA_GetSize(&globalCtx->state.tha)); osSyncPrintf("ZELDA ALLOC SIZE=%x\n", THA_GetSize(&globalCtx->state.tha));
zAllocSize = THA_GetSize(&globalCtx->state.tha); zAllocSize = THA_GetSize(&globalCtx->state.tha);
zAlloc = Game_Alloc(&globalCtx->state, zAllocSize, "../z_play.c", 2918); zAlloc = GameState_AllocEnd(&globalCtx->state, zAllocSize, "../z_play.c", 2918);
zAllocAligned = (void*)(((u32)zAlloc + 8) & ~0xF); zAllocAligned = (void*)(((u32)zAlloc + 8) & ~0xF);
ZeldaArena_Init(zAllocAligned, zAllocSize - (u32)zAllocAligned + (u32)zAlloc); ZeldaArena_Init(zAllocAligned, zAllocSize - (u32)zAllocAligned + (u32)zAlloc);
osSyncPrintf("ゼルダヒープ %08x-%08x\n", zAllocAligned, osSyncPrintf("ゼルダヒープ %08x-%08x\n", zAllocAligned,
@ -1150,7 +1150,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
TransitionFade_Draw(&globalCtx->transitionFade, &gfxP); TransitionFade_Draw(&globalCtx->transitionFade, &gfxP);
if (D_801614B0.a > 0x00) { if (D_801614B0.a > 0x00) {
D_80161498.color.rgba = D_801614B0.rgba; D_80161498.primColor.rgba = D_801614B0.rgba;
func_800AD5C0(&D_80161498, &gfxP); func_800AD5C0(&D_80161498, &gfxP);
} }
@ -1456,7 +1456,7 @@ void* Gameplay_LoadFile(GlobalContext* globalCtx, RomFile* file) {
void* allocp; void* allocp;
size = file->vromEnd - file->vromStart; size = file->vromEnd - file->vromStart;
allocp = Game_Alloc(&globalCtx->state, size, "../z_play.c", 4692); allocp = GameState_AllocEnd(&globalCtx->state, size, "../z_play.c", 4692);
DmaMgr_SendRequest1(allocp, file->vromStart, size, "../z_play.c", 4694); DmaMgr_SendRequest1(allocp, file->vromStart, size, "../z_play.c", 4694);
return allocp; return allocp;

View file

@ -566,7 +566,7 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
osSyncPrintf(VT_FGCOL(YELLOW)); osSyncPrintf(VT_FGCOL(YELLOW));
// Translates to: "ROOM BUFFER SIZE=%08x(%5.1fK)" // Translates to: "ROOM BUFFER SIZE=%08x(%5.1fK)"
osSyncPrintf("部屋バッファサイズ=%08x(%5.1fK)\n", maxRoomSize, (f64)(maxRoomSize * 0.0009765625f)); osSyncPrintf("部屋バッファサイズ=%08x(%5.1fK)\n", maxRoomSize, (f64)(maxRoomSize * 0.0009765625f));
roomCtx->bufPtrs[0] = Game_Alloc(&globalCtx->state, maxRoomSize, "../z_room.c", 946); roomCtx->bufPtrs[0] = GameState_AllocEnd(&globalCtx->state, maxRoomSize, "../z_room.c", 946);
// Translates to: "ROOM BUFFER INITIAL POINTER=%08x" // Translates to: "ROOM BUFFER INITIAL POINTER=%08x"
osSyncPrintf("部屋バッファ開始ポインタ=%08x\n", roomCtx->bufPtrs[0]); osSyncPrintf("部屋バッファ開始ポインタ=%08x\n", roomCtx->bufPtrs[0]);
roomCtx->bufPtrs[1] = (void*)((s32)roomCtx->bufPtrs[0] + maxRoomSize); roomCtx->bufPtrs[1] = (void*)((s32)roomCtx->bufPtrs[0] + maxRoomSize);

View file

@ -82,7 +82,7 @@ void Sample_SetupView(SampleContext* this) {
void Sample_LoadTitleStatic(SampleContext* this) { void Sample_LoadTitleStatic(SampleContext* this) {
u32 size = _title_staticSegmentRomEnd - _title_staticSegmentRomStart; u32 size = _title_staticSegmentRomEnd - _title_staticSegmentRomStart;
this->staticSegment = Game_Alloc(&this->state, size, "../z_sample.c", 163); this->staticSegment = GameState_AllocEnd(&this->state, size, "../z_sample.c", 163);
DmaMgr_SendRequest1(this->staticSegment, _title_staticSegmentRomStart, size, "../z_sample.c", 164); DmaMgr_SendRequest1(this->staticSegment, _title_staticSegmentRomStart, size, "../z_sample.c", 164);
} }

View file

@ -72,7 +72,7 @@ void Object_InitBank(GlobalContext* globalCtx, ObjectContext* objectCtx) {
osSyncPrintf(VT_RST); osSyncPrintf(VT_RST);
objectCtx->spaceStart = objectCtx->status[0].segment = objectCtx->spaceStart = objectCtx->status[0].segment =
Game_Alloc(&globalCtx->state, spaceSize, "../z_scene.c", 219); GameState_AllocEnd(&globalCtx->state, spaceSize, "../z_scene.c", 219);
objectCtx->spaceEnd = (void*)((s32)objectCtx->spaceStart + spaceSize); objectCtx->spaceEnd = (void*)((s32)objectCtx->spaceStart + spaceSize);
objectCtx->mainKeepIndex = Object_Spawn(objectCtx, OBJECT_GAMEPLAY_KEEP); objectCtx->mainKeepIndex = Object_Spawn(objectCtx, OBJECT_GAMEPLAY_KEEP);

View file

@ -164,7 +164,7 @@ void Title_Init(TitleContext* this) {
u32 size = (u32)_nintendo_rogo_staticSegmentRomEnd - (u32)_nintendo_rogo_staticSegmentRomStart; u32 size = (u32)_nintendo_rogo_staticSegmentRomEnd - (u32)_nintendo_rogo_staticSegmentRomStart;
u32 pad; u32 pad;
this->staticSegment = Game_Alloc(&this->state, size, "../z_title.c", 611); this->staticSegment = GameState_AllocEnd(&this->state, size, "../z_title.c", 611);
osSyncPrintf("z_title.c\n"); osSyncPrintf("z_title.c\n");
if (this->staticSegment == NULL) { if (this->staticSegment == NULL) {
__assert("this->staticSegment != NULL", "../z_title.c", 614); __assert("this->staticSegment != NULL", "../z_title.c", 614);

View file

@ -113,7 +113,7 @@ func_800A2000 SkelAnime_GetFrameCount
func_800A457C SkelAnime_Init func_800A457C SkelAnime_Init
func_800A49FC SkelAnime_FrameUpdateMatrix func_800A49FC SkelAnime_FrameUpdateMatrix
func_800A51A0 SkelAnime_ChangeAnim func_800A51A0 SkelAnime_ChangeAnim
func_800C5484 Game_Alloc func_800C5484 GameState_AllocEnd
func_800C69CC Graph_Alloc func_800C69CC Graph_Alloc
func_800D0664 atan2s func_800D0664 atan2s
func_800D07D4 atan2f func_800D07D4 atan2f