mirror of https://github.com/zeldaret/oot.git
				
				
				
			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:
		
							parent
							
								
									efa9742984
								
							
						
					
					
						commit
						44ffb7ec62
					
				
							
								
								
									
										1423
									
								
								asm/game.s
								
								
								
								
							
							
						
						
									
										1423
									
								
								asm/game.s
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -175,9 +175,9 @@ glabel Graph_Update
 | 
			
		|||
/* B3D42C 800C628C AC4D0004 */  sw    $t5, 4($v0)
 | 
			
		||||
/* B3D430 800C6290 0C031AD5 */  jal   Graph_CloseDisps
 | 
			
		||||
/* 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)
 | 
			
		||||
/* B3D440 800C62A0 0C0312B2 */  jal   func_800C4AC8
 | 
			
		||||
/* B3D440 800C62A0 0C0312B2 */  jal   GameState_Update
 | 
			
		||||
/* B3D444 800C62A4 8FA400CC */   lw    $a0, 0xcc($sp)
 | 
			
		||||
/* B3D448 800C62A8 3C068014 */  lui   $a2, %hi(D_80145308) # $a2, 0x8014
 | 
			
		||||
/* B3D44C 800C62AC 24C65308 */  addiu $a2, %lo(D_80145308) # addiu $a2, $a2, 0x5308
 | 
			
		||||
| 
						 | 
				
			
			@ -327,7 +327,7 @@ glabel Graph_Update
 | 
			
		|||
.L800C64E4:
 | 
			
		||||
/* B3D684 800C64E4 3C04A404 */  lui   $a0, 0xa404
 | 
			
		||||
/* B3D688 800C64E8 04610009 */  bgez  $v1, .L800C6510
 | 
			
		||||
/* B3D68C 800C64EC 00000000 */   nop   
 | 
			
		||||
/* B3D68C 800C64EC 00000000 */   nop
 | 
			
		||||
/* B3D690 800C64F0 0C000AC4 */  jal   LogUtils_LogHexDump
 | 
			
		||||
/* B3D694 800C64F4 24050020 */   li    $a1, 32
 | 
			
		||||
/* B3D698 800C64F8 3C04A410 */  lui   $a0, 0xa410
 | 
			
		||||
| 
						 | 
				
			
			@ -431,7 +431,7 @@ glabel Graph_Update
 | 
			
		|||
.L800C6668:
 | 
			
		||||
/* B3D808 800C6668 8FA900C4 */  lw    $t1, 0xc4($sp)
 | 
			
		||||
/* B3D80C 800C666C 15200009 */  bnez  $t1, .L800C6694
 | 
			
		||||
/* B3D810 800C6670 00000000 */   nop   
 | 
			
		||||
/* B3D810 800C6670 00000000 */   nop
 | 
			
		||||
/* B3D814 800C6674 0C031770 */  jal   Graph_TaskSet00
 | 
			
		||||
/* B3D818 800C6678 02002025 */   move  $a0, $s0
 | 
			
		||||
/* B3D81C 800C667C 8E0A02D8 */  lw    $t2, 0x2d8($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -442,9 +442,9 @@ glabel Graph_Update
 | 
			
		|||
/* B3D830 800C6690 AE0D02E8 */  sw    $t5, 0x2e8($s0)
 | 
			
		||||
.L800C6694:
 | 
			
		||||
/* B3D834 800C6694 0C03CC15 */  jal   func_800F3054
 | 
			
		||||
/* B3D838 800C6698 00000000 */   nop   
 | 
			
		||||
/* B3D838 800C6698 00000000 */   nop
 | 
			
		||||
/* B3D83C 800C669C 0C001A78 */  jal   osGetTime
 | 
			
		||||
/* B3D840 800C66A0 00000000 */   nop   
 | 
			
		||||
/* B3D840 800C66A0 00000000 */   nop
 | 
			
		||||
/* B3D844 800C66A4 3C048017 */  lui   $a0, %hi(D_8016A568) # $a0, 0x8017
 | 
			
		||||
/* B3D848 800C66A8 2484A568 */  addiu $a0, %lo(D_8016A568) # addiu $a0, $a0, -0x5a98
 | 
			
		||||
/* B3D84C 800C66AC 8C8E0000 */  lw    $t6, ($a0)
 | 
			
		||||
| 
						 | 
				
			
			@ -510,7 +510,7 @@ glabel Graph_Update
 | 
			
		|||
/* B3D934 800C6794 94580020 */  lhu   $t8, 0x20($v0)
 | 
			
		||||
/* B3D938 800C6798 0301C827 */  nor   $t9, $t8, $at
 | 
			
		||||
/* B3D93C 800C679C 1720000F */  bnez  $t9, .L800C67DC
 | 
			
		||||
/* B3D940 800C67A0 00000000 */   nop   
 | 
			
		||||
/* B3D940 800C67A0 00000000 */   nop
 | 
			
		||||
/* B3D944 800C67A4 944A0014 */  lhu   $t2, 0x14($v0)
 | 
			
		||||
/* B3D948 800C67A8 2401FFCF */  li    $at, -49
 | 
			
		||||
/* B3D94C 800C67AC 3C0C8080 */  lui   $t4, %hi(func_80801E44) # $t4, 0x8080
 | 
			
		||||
| 
						 | 
				
			
			@ -553,4 +553,4 @@ glabel Graph_Update
 | 
			
		|||
/* B3D9D4 800C6834 8FB00018 */  lw    $s0, 0x18($sp)
 | 
			
		||||
/* B3D9D8 800C6838 27BD00C8 */  addiu $sp, $sp, 0xc8
 | 
			
		||||
/* B3D9DC 800C683C 03E00008 */  jr    $ra
 | 
			
		||||
/* B3D9E0 800C6840 00000000 */   nop   
 | 
			
		||||
/* B3D9E0 800C6840 00000000 */   nop
 | 
			
		||||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ glabel func_8003E3AC
 | 
			
		|||
/* AB55B0 8003E410 24C68AB4 */  addiu $a2, %lo(D_80138AB4) # addiu $a2, $a2, -0x754c
 | 
			
		||||
/* AB55B4 8003E414 8FA40018 */  lw    $a0, 0x18($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
 | 
			
		||||
/* AB55C4 8003E424 8FA8001C */  lw    $t0, 0x1c($sp)
 | 
			
		||||
/* AB55C8 8003E428 3C048014 */  lui   $a0, %hi(D_80138AC4) # $a0, 0x8014
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +43,7 @@ glabel func_8003E3AC
 | 
			
		|||
/* AB55E8 8003E448 8FBF0014 */  lw    $ra, 0x14($sp)
 | 
			
		||||
/* AB55EC 8003E44C 27BD0018 */  addiu $sp, $sp, 0x18
 | 
			
		||||
/* AB55F0 8003E450 03E00008 */  jr    $ra
 | 
			
		||||
/* AB55F4 8003E454 00000000 */   nop   
 | 
			
		||||
/* AB55F4 8003E454 00000000 */   nop
 | 
			
		||||
 | 
			
		||||
/* AB55F8 8003E458 27BDFFE0 */  addiu $sp, $sp, -0x20
 | 
			
		||||
/* AB55FC 8003E45C AFBF0014 */  sw    $ra, 0x14($sp)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ glabel D_80154FE8
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80155028
 | 
			
		||||
    .asciz "PARAMETER領域=%x\n" 
 | 
			
		||||
    .asciz "PARAMETER領域=%x\n"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
.text
 | 
			
		||||
| 
						 | 
				
			
			@ -173,7 +173,7 @@ glabel func_801109B0
 | 
			
		|||
/* B87C34 80110A94 24C64D78 */  addiu $a2, %lo(D_80154D78) # addiu $a2, $a2, 0x4d78
 | 
			
		||||
/* B87C38 80110A98 8FA40058 */  lw    $a0, 0x58($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
 | 
			
		||||
/* B87C48 80110AA8 3C048015 */  lui   $a0, %hi(D_80154D8C) # $a0, 0x8015
 | 
			
		||||
/* B87C4C 80110AAC AE020130 */  sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -182,7 +182,7 @@ glabel func_801109B0
 | 
			
		|||
/* B87C58 80110AB8 00402825 */   move  $a1, $v0
 | 
			
		||||
/* B87C5C 80110ABC 8E040130 */  lw    $a0, 0x130($s0)
 | 
			
		||||
/* B87C60 80110AC0 14800008 */  bnez  $a0, .L80110AE4
 | 
			
		||||
/* B87C64 80110AC4 00000000 */   nop   
 | 
			
		||||
/* B87C64 80110AC4 00000000 */   nop
 | 
			
		||||
/* B87C68 80110AC8 3C048015 */  lui   $a0, %hi(D_80154DAC) # $a0, 0x8015
 | 
			
		||||
/* B87C6C 80110ACC 3C058015 */  lui   $a1, %hi(D_80154DD0) # $a1, 0x8015
 | 
			
		||||
/* B87C70 80110AD0 24A54DD0 */  addiu $a1, %lo(D_80154DD0) # addiu $a1, $a1, 0x4dd0
 | 
			
		||||
| 
						 | 
				
			
			@ -202,7 +202,7 @@ glabel func_801109B0
 | 
			
		|||
/* B87CA4 80110B04 24C64DF8 */  addiu $a2, %lo(D_80154DF8) # addiu $a2, $a2, 0x4df8
 | 
			
		||||
/* B87CA8 80110B08 8FA40058 */  lw    $a0, 0x58($sp)
 | 
			
		||||
/* B87CAC 80110B0C 24050480 */  li    $a1, 1152
 | 
			
		||||
/* B87CB0 80110B10 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B87CB0 80110B10 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B87CB4 80110B14 240700A6 */   li    $a3, 166
 | 
			
		||||
/* B87CB8 80110B18 3C048015 */  lui   $a0, %hi(D_80154E0C) # $a0, 0x8015
 | 
			
		||||
/* 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
 | 
			
		||||
/* B87DA4 80110C04 8FA40058 */  lw    $a0, 0x58($sp)
 | 
			
		||||
/* B87DA8 80110C08 24054000 */  li    $a1, 16384
 | 
			
		||||
/* B87DAC 80110C0C 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B87DAC 80110C0C 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B87DB0 80110C10 240700BE */   li    $a3, 190
 | 
			
		||||
/* B87DB4 80110C14 3C048015 */  lui   $a0, %hi(D_80154EC4) # $a0, 0x8015
 | 
			
		||||
/* B87DB8 80110C18 AE020138 */  sw    $v0, 0x138($s0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,8 +52,8 @@ glabel func_800272B0
 | 
			
		|||
/* A9E4CC 8002732C 8FA40028 */  lw    $a0, 0x28($sp)
 | 
			
		||||
/* A9E4D0 80027330 24070121 */  li    $a3, 289
 | 
			
		||||
/* A9E4D4 80027334 00002812 */  mflo  $a1
 | 
			
		||||
/* A9E4D8 80027338 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* A9E4DC 8002733C 00000000 */   nop   
 | 
			
		||||
/* A9E4D8 80027338 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* A9E4DC 8002733C 00000000 */   nop
 | 
			
		||||
/* A9E4E0 80027340 3C118011 */  lui   $s1, %hi(EffectSS2Info) # $s1, 0x8011
 | 
			
		||||
/* A9E4E4 80027344 263158B0 */  addiu $s1, %lo(EffectSS2Info) # addiu $s1, $s1, 0x58b0
 | 
			
		||||
/* A9E4E8 80027348 AE220000 */  sw    $v0, ($s1)
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ glabel func_800272B0
 | 
			
		|||
/* A9E528 80027388 01636021 */  addu  $t4, $t3, $v1
 | 
			
		||||
/* A9E52C 8002738C 006C082B */  sltu  $at, $v1, $t4
 | 
			
		||||
/* A9E530 80027390 1020000C */  beqz  $at, .L800273C4
 | 
			
		||||
/* A9E534 80027394 00000000 */   nop   
 | 
			
		||||
/* A9E534 80027394 00000000 */   nop
 | 
			
		||||
.L80027398:
 | 
			
		||||
/* A9E538 80027398 0C009D4F */  jal   Effect_SS_ResetEntry
 | 
			
		||||
/* A9E53C 8002739C 02002025 */   move  $a0, $s0
 | 
			
		||||
| 
						 | 
				
			
			@ -88,7 +88,7 @@ glabel func_800272B0
 | 
			
		|||
/* A9E554 800273B4 01CFC021 */  addu  $t8, $t6, $t7
 | 
			
		||||
/* A9E558 800273B8 0218082B */  sltu  $at, $s0, $t8
 | 
			
		||||
/* A9E55C 800273BC 1420FFF6 */  bnez  $at, .L80027398
 | 
			
		||||
/* A9E560 800273C0 00000000 */   nop   
 | 
			
		||||
/* A9E560 800273C0 00000000 */   nop
 | 
			
		||||
.L800273C4:
 | 
			
		||||
/* A9E564 800273C4 3C018011 */  lui   $at, %hi(D_801159C0) # $at, 0x8011
 | 
			
		||||
/* A9E568 800273C8 3C028011 */  lui   $v0, %hi(D_801159CC) # $v0, 0x8011
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ glabel Gameplay_Init
 | 
			
		|||
/* B33C58 800BCAB8 00000000 */   nop
 | 
			
		||||
/* B33C5C 800BCABC 3C05001D */  lui   $a1, (0x001D4790 >> 16) # lui $a1, 0x1d
 | 
			
		||||
/* 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
 | 
			
		||||
/* B33C6C 800BCACC 0C02EF6D */  jal   KaleidoManager_Init
 | 
			
		||||
/* 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
 | 
			
		||||
/* B342B8 800BD118 02202025 */  move  $a0, $s1
 | 
			
		||||
/* B342BC 800BD11C 00402825 */  move  $a1, $v0
 | 
			
		||||
/* B342C0 800BD120 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B342C0 800BD120 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B342C4 800BD124 24070B66 */   li    $a3, 2918
 | 
			
		||||
/* B342C8 800BD128 8FA9007C */  lw    $t1, 0x7c($sp)
 | 
			
		||||
/* B342CC 800BD12C 24460008 */  addiu $a2, $v0, 8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -95,7 +95,7 @@ glabel func_80096FE8
 | 
			
		|||
/* B0E248 800970A8 92AB1D34 */  lbu   $t3, 0x1d34($s5)
 | 
			
		||||
/* B0E24C 800970AC 00008825 */  move  $s1, $zero
 | 
			
		||||
/* B0E250 800970B0 19600029 */  blez  $t3, .L80097158
 | 
			
		||||
/* B0E254 800970B4 00000000 */   nop   
 | 
			
		||||
/* B0E254 800970B4 00000000 */   nop
 | 
			
		||||
/* B0E258 800970B8 82470000 */  lb    $a3, ($s2)
 | 
			
		||||
.L800970BC:
 | 
			
		||||
/* B0E25C 800970BC 3C048014 */  lui   $a0, %hi(D_8013F164) # $a0, 0x8014
 | 
			
		||||
| 
						 | 
				
			
			@ -155,23 +155,23 @@ glabel func_80096FE8
 | 
			
		|||
/* B0E318 80097178 468021A0 */   cvt.s.w $f6, $f4
 | 
			
		||||
/* B0E31C 8009717C 3C014F80 */  li    $at, 0x4F800000 # 0.000000
 | 
			
		||||
/* B0E320 80097180 44814000 */  mtc1  $at, $f8
 | 
			
		||||
/* B0E324 80097184 00000000 */  nop   
 | 
			
		||||
/* B0E324 80097184 00000000 */  nop
 | 
			
		||||
/* B0E328 80097188 46083180 */  add.s $f6, $f6, $f8
 | 
			
		||||
.L8009718C:
 | 
			
		||||
/* B0E32C 8009718C 3C013A80 */  li    $at, 0x3A800000 # 0.000000
 | 
			
		||||
/* B0E330 80097190 44815000 */  mtc1  $at, $f10
 | 
			
		||||
/* B0E334 80097194 00000000 */  nop   
 | 
			
		||||
/* B0E334 80097194 00000000 */  nop
 | 
			
		||||
/* B0E338 80097198 460A3402 */  mul.s $f16, $f6, $f10
 | 
			
		||||
/* B0E33C 8009719C 460084A1 */  cvt.d.s $f18, $f16
 | 
			
		||||
/* B0E340 800971A0 44079000 */  mfc1  $a3, $f18
 | 
			
		||||
/* B0E344 800971A4 44069800 */  mfc1  $a2, $f19
 | 
			
		||||
/* B0E348 800971A8 0C00084C */  jal   osSyncPrintf
 | 
			
		||||
/* B0E34C 800971AC 00000000 */   nop   
 | 
			
		||||
/* B0E34C 800971AC 00000000 */   nop
 | 
			
		||||
/* B0E350 800971B0 3C068014 */  lui   $a2, %hi(D_8013F1BC) # $a2, 0x8014
 | 
			
		||||
/* B0E354 800971B4 24C6F1BC */  addiu $a2, %lo(D_8013F1BC) # addiu $a2, $a2, -0xe44
 | 
			
		||||
/* B0E358 800971B8 8FA40040 */  lw    $a0, 0x40($sp)
 | 
			
		||||
/* B0E35C 800971BC 02602825 */  move  $a1, $s3
 | 
			
		||||
/* B0E360 800971C0 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B0E360 800971C0 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B0E364 800971C4 240703B2 */   li    $a3, 946
 | 
			
		||||
/* B0E368 800971C8 8FAB0044 */  lw    $t3, 0x44($sp)
 | 
			
		||||
/* B0E36C 800971CC 3C048014 */  lui   $a0, %hi(D_8013F1C8) # $a0, 0x8014
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@ glabel func_800A9CD4
 | 
			
		|||
/* B20E80 800A9CE0 3C068014 */  lui   $a2, %hi(D_80140F88) # $a2, 0x8014
 | 
			
		||||
/* B20E84 800A9CE4 24C60F88 */  addiu $a2, %lo(D_80140F88) # addiu $a2, $a2, 0xf88
 | 
			
		||||
/* B20E88 800A9CE8 34058000 */  li    $a1, 32768
 | 
			
		||||
/* B20E8C 800A9CEC 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B20E8C 800A9CEC 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B20E90 800A9CF0 2407050E */   li    $a3, 1294
 | 
			
		||||
/* B20E94 800A9CF4 8FAE001C */  lw    $t6, 0x1c($sp)
 | 
			
		||||
/* B20E98 800A9CF8 3C048014 */  lui   $a0, %hi(D_80140F94) # $a0, 0x8014
 | 
			
		||||
| 
						 | 
				
			
			@ -20,5 +20,5 @@ glabel func_800A9CD4
 | 
			
		|||
/* B20EB8 800A9D18 8FBF0014 */  lw    $ra, 0x14($sp)
 | 
			
		||||
/* B20EBC 800A9D1C 27BD0018 */  addiu $sp, $sp, 0x18
 | 
			
		||||
/* B20EC0 800A9D20 03E00008 */  jr    $ra
 | 
			
		||||
/* B20EC4 800A9D24 00000000 */   nop   
 | 
			
		||||
/* B20EC4 800A9D24 00000000 */   nop
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -173,7 +173,7 @@ glabel D_80141CA0
 | 
			
		|||
 | 
			
		||||
glabel D_80141CB0
 | 
			
		||||
    .asciz "SIZE = %d\n"
 | 
			
		||||
    # EUC-JP: SIZE = %d 
 | 
			
		||||
    # EUC-JP: SIZE = %d
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80141CC0
 | 
			
		||||
| 
						 | 
				
			
			@ -326,7 +326,7 @@ glabel D_80141FD8
 | 
			
		|||
 | 
			
		||||
glabel D_80141FE8
 | 
			
		||||
    .asciz "SIZE = %d\n"
 | 
			
		||||
    # EUC-JP: SIZE = %d 
 | 
			
		||||
    # EUC-JP: SIZE = %d
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80141FF8
 | 
			
		||||
| 
						 | 
				
			
			@ -434,15 +434,15 @@ glabel D_80142218
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142240
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142250
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142260
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142270
 | 
			
		||||
| 
						 | 
				
			
			@ -450,15 +450,15 @@ glabel D_80142270
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142298
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801422A8
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801422B8
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801422C8
 | 
			
		||||
| 
						 | 
				
			
			@ -466,15 +466,15 @@ glabel D_801422C8
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801422F0
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142300
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142310
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142320
 | 
			
		||||
| 
						 | 
				
			
			@ -482,15 +482,15 @@ glabel D_80142320
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142348
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142358
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142368
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142378
 | 
			
		||||
| 
						 | 
				
			
			@ -498,15 +498,15 @@ glabel D_80142378
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801423A0
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801423B0
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801423C0
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801423D0
 | 
			
		||||
| 
						 | 
				
			
			@ -514,11 +514,11 @@ glabel D_801423D0
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801423F8
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142408
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142418
 | 
			
		||||
| 
						 | 
				
			
			@ -530,15 +530,15 @@ glabel D_80142428
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142450
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142460
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142470
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_80142480
 | 
			
		||||
| 
						 | 
				
			
			@ -546,15 +546,15 @@ glabel D_80142480
 | 
			
		|||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801424A8
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801424B8
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801424C8
 | 
			
		||||
    .asciz "../z_vr_box.c" 
 | 
			
		||||
    .asciz "../z_vr_box.c"
 | 
			
		||||
    .balign 4
 | 
			
		||||
 | 
			
		||||
glabel D_801424D8
 | 
			
		||||
| 
						 | 
				
			
			@ -977,7 +977,7 @@ glabel func_800AF218
 | 
			
		|||
/* B263EC 800AF24C 002E0821 */  addu  $at, $at, $t6
 | 
			
		||||
/* B263F0 800AF250 8C2E2DC0 */  lw    $t6, %lo(jtbl_80142DC0)($at)
 | 
			
		||||
/* B263F4 800AF254 01C00008 */  jr    $t6
 | 
			
		||||
/* B263F8 800AF258 00000000 */   nop   
 | 
			
		||||
/* B263F8 800AF258 00000000 */   nop
 | 
			
		||||
 | 
			
		||||
glabel L800AF25C
 | 
			
		||||
/* B263FC 800AF25C 3C088016 */  lui   $t0, %hi(gSaveContext) # $t0, 0x8016
 | 
			
		||||
| 
						 | 
				
			
			@ -1052,10 +1052,10 @@ glabel L800AF25C
 | 
			
		|||
/* B26500 800AF360 8FAC0048 */  lw    $t4, 0x48($sp)
 | 
			
		||||
/* B26504 800AF364 444AF800 */  cfc1  $t2, $31
 | 
			
		||||
/* B26508 800AF368 44CBF800 */  ctc1  $t3, $31
 | 
			
		||||
/* B2650C 800AF36C 00000000 */  nop   
 | 
			
		||||
/* B2650C 800AF36C 00000000 */  nop
 | 
			
		||||
/* B26510 800AF370 46003224 */  cvt.w.s $f8, $f6
 | 
			
		||||
/* B26514 800AF374 444BF800 */  cfc1  $t3, $31
 | 
			
		||||
/* B26518 800AF378 00000000 */  nop   
 | 
			
		||||
/* B26518 800AF378 00000000 */  nop
 | 
			
		||||
/* B2651C 800AF37C 316B0078 */  andi  $t3, $t3, 0x78
 | 
			
		||||
/* B26520 800AF380 51600013 */  beql  $t3, $zero, .L800AF3D0
 | 
			
		||||
/* B26524 800AF384 440B4000 */   mfc1  $t3, $f8
 | 
			
		||||
| 
						 | 
				
			
			@ -1063,13 +1063,13 @@ glabel L800AF25C
 | 
			
		|||
/* B2652C 800AF38C 240B0001 */  li    $t3, 1
 | 
			
		||||
/* B26530 800AF390 46083201 */  sub.s $f8, $f6, $f8
 | 
			
		||||
/* B26534 800AF394 44CBF800 */  ctc1  $t3, $31
 | 
			
		||||
/* B26538 800AF398 00000000 */  nop   
 | 
			
		||||
/* B26538 800AF398 00000000 */  nop
 | 
			
		||||
/* B2653C 800AF39C 46004224 */  cvt.w.s $f8, $f8
 | 
			
		||||
/* B26540 800AF3A0 444BF800 */  cfc1  $t3, $31
 | 
			
		||||
/* B26544 800AF3A4 00000000 */  nop   
 | 
			
		||||
/* B26544 800AF3A4 00000000 */  nop
 | 
			
		||||
/* B26548 800AF3A8 316B0078 */  andi  $t3, $t3, 0x78
 | 
			
		||||
/* B2654C 800AF3AC 15600005 */  bnez  $t3, .L800AF3C4
 | 
			
		||||
/* B26550 800AF3B0 00000000 */   nop   
 | 
			
		||||
/* B26550 800AF3B0 00000000 */   nop
 | 
			
		||||
/* B26554 800AF3B4 440B4000 */  mfc1  $t3, $f8
 | 
			
		||||
/* B26558 800AF3B8 3C018000 */  lui   $at, 0x8000
 | 
			
		||||
/* B2655C 800AF3BC 10000007 */  b     .L800AF3DC
 | 
			
		||||
| 
						 | 
				
			
			@ -1079,9 +1079,9 @@ glabel L800AF25C
 | 
			
		|||
/* B26568 800AF3C8 240BFFFF */   li    $t3, -1
 | 
			
		||||
/* B2656C 800AF3CC 440B4000 */  mfc1  $t3, $f8
 | 
			
		||||
.L800AF3D0:
 | 
			
		||||
/* B26570 800AF3D0 00000000 */  nop   
 | 
			
		||||
/* B26570 800AF3D0 00000000 */  nop
 | 
			
		||||
/* B26574 800AF3D4 0560FFFB */  bltz  $t3, .L800AF3C4
 | 
			
		||||
/* B26578 800AF3D8 00000000 */   nop   
 | 
			
		||||
/* B26578 800AF3D8 00000000 */   nop
 | 
			
		||||
.L800AF3DC:
 | 
			
		||||
/* B2657C 800AF3DC 3C010001 */  lui   $at, 1
 | 
			
		||||
/* B26580 800AF3E0 002C0821 */  addu  $at, $at, $t4
 | 
			
		||||
| 
						 | 
				
			
			@ -1110,7 +1110,7 @@ glabel L800AF25C
 | 
			
		|||
/* B265CC 800AF42C AFA50044 */  sw    $a1, 0x44($sp)
 | 
			
		||||
/* B265D0 800AF430 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B265E0 800AF440 14400007 */  bnez  $v0, .L800AF460
 | 
			
		||||
/* B265E4 800AF444 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1143,7 +1143,7 @@ glabel L800AF25C
 | 
			
		|||
/* B2664C 800AF4AC AFA50044 */  sw    $a1, 0x44($sp)
 | 
			
		||||
/* B26650 800AF4B0 AFA3002C */  sw    $v1, 0x2c($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
 | 
			
		||||
/* B26660 800AF4C0 14400007 */  bnez  $v0, .L800AF4E0
 | 
			
		||||
/* B26664 800AF4C4 AE02012C */   sw    $v0, 0x12c($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1180,7 +1180,7 @@ glabel L800AF25C
 | 
			
		|||
/* B266DC 800AF53C 24070430 */  li    $a3, 1072
 | 
			
		||||
/* B266E0 800AF540 01CF1023 */  subu  $v0, $t6, $t7
 | 
			
		||||
/* 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)
 | 
			
		||||
/* B266F0 800AF550 14400007 */  bnez  $v0, .L800AF570
 | 
			
		||||
/* B266F4 800AF554 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1219,7 +1219,7 @@ glabel L800AF25C
 | 
			
		|||
/* B26770 800AF5D0 2407043D */  li    $a3, 1085
 | 
			
		||||
/* B26774 800AF5D4 01CF1023 */  subu  $v0, $t6, $t7
 | 
			
		||||
/* 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)
 | 
			
		||||
/* B26784 800AF5E4 14400007 */  bnez  $v0, .L800AF604
 | 
			
		||||
/* B26788 800AF5E8 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1265,7 +1265,7 @@ glabel L800AF658
 | 
			
		|||
/* B2681C 800AF67C AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26820 800AF680 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26830 800AF690 14400007 */  bnez  $v0, .L800AF6B0
 | 
			
		||||
/* B26834 800AF694 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1294,7 +1294,7 @@ glabel L800AF658
 | 
			
		|||
/* B2688C 800AF6EC AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26890 800AF6F0 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B268A0 800AF700 14400007 */  bnez  $v0, .L800AF720
 | 
			
		||||
/* B268A4 800AF704 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1329,7 +1329,7 @@ glabel L800AF750
 | 
			
		|||
/* B2690C 800AF76C AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26910 800AF770 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26920 800AF780 14400007 */  bnez  $v0, .L800AF7A0
 | 
			
		||||
/* 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
 | 
			
		||||
/* B26968 800AF7C8 8FA40048 */  lw    $a0, 0x48($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
 | 
			
		||||
/* B26978 800AF7D8 14400007 */  bnez  $v0, .L800AF7F8
 | 
			
		||||
/* B2697C 800AF7DC AE02012C */   sw    $v0, 0x12c($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1382,7 +1382,7 @@ glabel L800AF750
 | 
			
		|||
/* B269D8 800AF838 AFA8002C */  sw    $t0, 0x2c($sp)
 | 
			
		||||
/* B269DC 800AF83C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B269EC 800AF84C 14400007 */  bnez  $v0, .L800AF86C
 | 
			
		||||
/* B269F0 800AF850 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1426,7 +1426,7 @@ glabel L800AF8B8
 | 
			
		|||
/* B26A7C 800AF8DC AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26A80 800AF8E0 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26A90 800AF8F0 14400007 */  bnez  $v0, .L800AF910
 | 
			
		||||
/* 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
 | 
			
		||||
/* B26B00 800AF960 8FA40048 */  lw    $a0, 0x48($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
 | 
			
		||||
/* B26B10 800AF970 14400007 */  bnez  $v0, .L800AF990
 | 
			
		||||
/* B26B14 800AF974 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1492,7 +1492,7 @@ glabel L800AF9B8
 | 
			
		|||
/* B26B74 800AF9D4 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26B78 800AF9D8 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26B88 800AF9E8 14400007 */  bnez  $v0, .L800AFA08
 | 
			
		||||
/* B26B8C 800AF9EC AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1521,7 +1521,7 @@ glabel L800AF9B8
 | 
			
		|||
/* B26BE4 800AFA44 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26BE8 800AFA48 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B26BF8 800AFA58 14400007 */  bnez  $v0, .L800AFA78
 | 
			
		||||
/* B26BFC 800AFA5C AE02012C */   sw    $v0, 0x12c($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1551,7 +1551,7 @@ glabel L800AF9B8
 | 
			
		|||
/* B26C58 800AFAB8 AFA8002C */  sw    $t0, 0x2c($sp)
 | 
			
		||||
/* B26C5C 800AFABC AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B26C6C 800AFACC 14400007 */  bnez  $v0, .L800AFAEC
 | 
			
		||||
/* B26C70 800AFAD0 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1596,7 +1596,7 @@ glabel L800AFB3C
 | 
			
		|||
/* B26D00 800AFB60 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26D04 800AFB64 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26D14 800AFB74 14400007 */  bnez  $v0, .L800AFB94
 | 
			
		||||
/* B26D18 800AFB78 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1625,7 +1625,7 @@ glabel L800AFB3C
 | 
			
		|||
/* B26D70 800AFBD0 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26D74 800AFBD4 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B26D84 800AFBE4 14400007 */  bnez  $v0, .L800AFC04
 | 
			
		||||
/* B26D88 800AFBE8 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1660,7 +1660,7 @@ glabel L800AFC2C
 | 
			
		|||
/* B26DF0 800AFC50 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26DF4 800AFC54 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26E04 800AFC64 14400007 */  bnez  $v0, .L800AFC84
 | 
			
		||||
/* B26E08 800AFC68 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1689,7 +1689,7 @@ glabel L800AFC2C
 | 
			
		|||
/* B26E60 800AFCC0 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26E64 800AFCC4 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B26E74 800AFCD4 14400007 */  bnez  $v0, .L800AFCF4
 | 
			
		||||
/* B26E78 800AFCD8 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1724,7 +1724,7 @@ glabel L800AFD1C
 | 
			
		|||
/* B26EE0 800AFD40 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26EE4 800AFD44 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26EF4 800AFD54 14400007 */  bnez  $v0, .L800AFD74
 | 
			
		||||
/* 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
 | 
			
		||||
/* B26F64 800AFDC4 8FA40048 */  lw    $a0, 0x48($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
 | 
			
		||||
/* B26F74 800AFDD4 14400007 */  bnez  $v0, .L800AFDF4
 | 
			
		||||
/* B26F78 800AFDD8 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1792,7 +1792,7 @@ glabel L800AFE1C
 | 
			
		|||
/* B26FE0 800AFE40 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B26FE4 800AFE44 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B26FF4 800AFE54 14400007 */  bnez  $v0, .L800AFE74
 | 
			
		||||
/* B26FF8 800AFE58 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1821,7 +1821,7 @@ glabel L800AFE1C
 | 
			
		|||
/* B27050 800AFEB0 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27054 800AFEB4 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27064 800AFEC4 14400007 */  bnez  $v0, .L800AFEE4
 | 
			
		||||
/* B27068 800AFEC8 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1858,7 +1858,7 @@ glabel L800AFF14
 | 
			
		|||
/* B270D8 800AFF38 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B270DC 800AFF3C AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B270EC 800AFF4C 14400007 */  bnez  $v0, .L800AFF6C
 | 
			
		||||
/* B270F0 800AFF50 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1887,7 +1887,7 @@ glabel L800AFF14
 | 
			
		|||
/* B27148 800AFFA8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2714C 800AFFAC AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B2715C 800AFFBC 14400007 */  bnez  $v0, .L800AFFDC
 | 
			
		||||
/* B27160 800AFFC0 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1922,7 +1922,7 @@ glabel L800B0004
 | 
			
		|||
/* B271C8 800B0028 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B271CC 800B002C AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B271DC 800B003C 14400007 */  bnez  $v0, .L800B005C
 | 
			
		||||
/* B271E0 800B0040 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1951,7 +1951,7 @@ glabel L800B0004
 | 
			
		|||
/* B27238 800B0098 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2723C 800B009C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B2724C 800B00AC 14400007 */  bnez  $v0, .L800B00CC
 | 
			
		||||
/* B27250 800B00B0 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1986,7 +1986,7 @@ glabel L800B00F4
 | 
			
		|||
/* B272B8 800B0118 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B272BC 800B011C AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B272CC 800B012C 14400007 */  bnez  $v0, .L800B014C
 | 
			
		||||
/* B272D0 800B0130 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2015,7 +2015,7 @@ glabel L800B00F4
 | 
			
		|||
/* B27328 800B0188 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2732C 800B018C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B2733C 800B019C 14400007 */  bnez  $v0, .L800B01BC
 | 
			
		||||
/* B27340 800B01A0 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2050,7 +2050,7 @@ glabel L800B01E4
 | 
			
		|||
/* B273A8 800B0208 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B273AC 800B020C AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B273BC 800B021C 14400007 */  bnez  $v0, .L800B023C
 | 
			
		||||
/* B273C0 800B0220 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2079,7 +2079,7 @@ glabel L800B01E4
 | 
			
		|||
/* B27418 800B0278 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2741C 800B027C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B2742C 800B028C 14400007 */  bnez  $v0, .L800B02AC
 | 
			
		||||
/* B27430 800B0290 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2114,7 +2114,7 @@ glabel L800B02D4
 | 
			
		|||
/* B27498 800B02F8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2749C 800B02FC AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B274AC 800B030C 14400007 */  bnez  $v0, .L800B032C
 | 
			
		||||
/* B274B0 800B0310 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2143,7 +2143,7 @@ glabel L800B02D4
 | 
			
		|||
/* B27508 800B0368 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2750C 800B036C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B2751C 800B037C 14400007 */  bnez  $v0, .L800B039C
 | 
			
		||||
/* B27520 800B0380 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2180,7 +2180,7 @@ glabel L800B03CC
 | 
			
		|||
/* B27590 800B03F0 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27594 800B03F4 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B275A4 800B0404 14400007 */  bnez  $v0, .L800B0424
 | 
			
		||||
/* B275A8 800B0408 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2209,7 +2209,7 @@ glabel L800B03CC
 | 
			
		|||
/* B27600 800B0460 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27604 800B0464 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27614 800B0474 14400007 */  bnez  $v0, .L800B0494
 | 
			
		||||
/* B27618 800B0478 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2246,7 +2246,7 @@ glabel L800B04C4
 | 
			
		|||
/* B27688 800B04E8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2768C 800B04EC AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B2769C 800B04FC 14400007 */  bnez  $v0, .L800B051C
 | 
			
		||||
/* B276A0 800B0500 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2275,7 +2275,7 @@ glabel L800B04C4
 | 
			
		|||
/* B276F8 800B0558 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B276FC 800B055C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B2770C 800B056C 14400007 */  bnez  $v0, .L800B058C
 | 
			
		||||
/* B27710 800B0570 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2312,7 +2312,7 @@ glabel L800B05BC
 | 
			
		|||
/* B27780 800B05E0 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27784 800B05E4 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27794 800B05F4 14400007 */  bnez  $v0, .L800B0614
 | 
			
		||||
/* B27798 800B05F8 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2341,7 +2341,7 @@ glabel L800B05BC
 | 
			
		|||
/* B277F0 800B0650 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B277F4 800B0654 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27804 800B0664 14400007 */  bnez  $v0, .L800B0684
 | 
			
		||||
/* B27808 800B0668 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2378,7 +2378,7 @@ glabel L800B06B4
 | 
			
		|||
/* B27878 800B06D8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B2787C 800B06DC AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B2788C 800B06EC 14400007 */  bnez  $v0, .L800B070C
 | 
			
		||||
/* B27890 800B06F0 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2407,7 +2407,7 @@ glabel L800B06B4
 | 
			
		|||
/* B278E8 800B0748 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B278EC 800B074C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B278FC 800B075C 14400007 */  bnez  $v0, .L800B077C
 | 
			
		||||
/* B27900 800B0760 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2444,7 +2444,7 @@ glabel L800B07AC
 | 
			
		|||
/* B27970 800B07D0 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27974 800B07D4 AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27984 800B07E4 14400007 */  bnez  $v0, .L800B0804
 | 
			
		||||
/* B27988 800B07E8 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2473,7 +2473,7 @@ glabel L800B07AC
 | 
			
		|||
/* B279E0 800B0840 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B279E4 800B0844 AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B279F4 800B0854 14400007 */  bnez  $v0, .L800B0874
 | 
			
		||||
/* B279F8 800B0858 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2510,7 +2510,7 @@ glabel L800B08A4
 | 
			
		|||
/* B27A68 800B08C8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27A6C 800B08CC AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27A7C 800B08DC 14400007 */  bnez  $v0, .L800B08FC
 | 
			
		||||
/* B27A80 800B08E0 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2539,7 +2539,7 @@ glabel L800B08A4
 | 
			
		|||
/* B27AD8 800B0938 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27ADC 800B093C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27AEC 800B094C 14400007 */  bnez  $v0, .L800B096C
 | 
			
		||||
/* B27AF0 800B0950 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2574,7 +2574,7 @@ glabel L800B0994
 | 
			
		|||
/* B27B58 800B09B8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27B5C 800B09BC AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27B6C 800B09CC 14400007 */  bnez  $v0, .L800B09EC
 | 
			
		||||
/* B27B70 800B09D0 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2603,7 +2603,7 @@ glabel L800B0994
 | 
			
		|||
/* B27BC8 800B0A28 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27BCC 800B0A2C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27BDC 800B0A3C 14400007 */  bnez  $v0, .L800B0A5C
 | 
			
		||||
/* B27BE0 800B0A40 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2638,7 +2638,7 @@ glabel L800B0A84
 | 
			
		|||
/* B27C48 800B0AA8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27C4C 800B0AAC AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27C5C 800B0ABC 14400007 */  bnez  $v0, .L800B0ADC
 | 
			
		||||
/* B27C60 800B0AC0 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2667,7 +2667,7 @@ glabel L800B0A84
 | 
			
		|||
/* B27CB8 800B0B18 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27CBC 800B0B1C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27CCC 800B0B2C 14400007 */  bnez  $v0, .L800B0B4C
 | 
			
		||||
/* B27CD0 800B0B30 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2702,7 +2702,7 @@ glabel L800B0B74
 | 
			
		|||
/* B27D38 800B0B98 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27D3C 800B0B9C AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27D4C 800B0BAC 14400007 */  bnez  $v0, .L800B0BCC
 | 
			
		||||
/* B27D50 800B0BB0 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2731,7 +2731,7 @@ glabel L800B0B74
 | 
			
		|||
/* B27DA8 800B0C08 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27DAC 800B0C0C AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27DBC 800B0C1C 14400007 */  bnez  $v0, .L800B0C3C
 | 
			
		||||
/* B27DC0 800B0C20 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2766,7 +2766,7 @@ glabel L800B0C64
 | 
			
		|||
/* B27E28 800B0C88 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27E2C 800B0C8C AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27E3C 800B0C9C 14400007 */  bnez  $v0, .L800B0CBC
 | 
			
		||||
/* B27E40 800B0CA0 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2795,7 +2795,7 @@ glabel L800B0C64
 | 
			
		|||
/* B27E98 800B0CF8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27E9C 800B0CFC AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27EAC 800B0D0C 14400007 */  bnez  $v0, .L800B0D2C
 | 
			
		||||
/* B27EB0 800B0D10 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2830,7 +2830,7 @@ glabel L800B0D54
 | 
			
		|||
/* B27F18 800B0D78 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27F1C 800B0D7C AFA20030 */  sw    $v0, 0x30($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
 | 
			
		||||
/* B27F2C 800B0D8C 14400007 */  bnez  $v0, .L800B0DAC
 | 
			
		||||
/* B27F30 800B0D90 AE020128 */   sw    $v0, 0x128($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2859,7 +2859,7 @@ glabel L800B0D54
 | 
			
		|||
/* B27F88 800B0DE8 AFA5002C */  sw    $a1, 0x2c($sp)
 | 
			
		||||
/* B27F8C 800B0DEC AFA30030 */  sw    $v1, 0x30($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
 | 
			
		||||
/* B27F9C 800B0DFC 14400007 */  bnez  $v0, .L800B0E1C
 | 
			
		||||
/* B27FA0 800B0E00 AE020130 */   sw    $v0, 0x130($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -2886,5 +2886,5 @@ glabel L800B0E3C
 | 
			
		|||
/* B27FE0 800B0E40 8FB00020 */  lw    $s0, 0x20($sp)
 | 
			
		||||
/* B27FE4 800B0E44 27BD0048 */  addiu $sp, $sp, 0x48
 | 
			
		||||
/* B27FE8 800B0E48 03E00008 */  jr    $ra
 | 
			
		||||
/* B27FEC 800B0E4C 00000000 */   nop   
 | 
			
		||||
/* B27FEC 800B0E4C 00000000 */   nop
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -102,7 +102,7 @@ glabel func_800B0E50
 | 
			
		|||
/* B28068 800B0EC8 24C62C74 */  addiu $a2, %lo(D_80142C74) # addiu $a2, $a2, 0x2c74
 | 
			
		||||
/* B2806C 800B0ECC 8FA40020 */  lw    $a0, 0x20($sp)
 | 
			
		||||
/* B28070 800B0ED0 24052580 */  li    $a1, 9600
 | 
			
		||||
/* B28074 800B0ED4 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B28074 800B0ED4 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B28078 800B0ED8 24070664 */   li    $a3, 1636
 | 
			
		||||
/* B2807C 800B0EDC 14400007 */  bnez  $v0, .L800B0EFC
 | 
			
		||||
/* 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
 | 
			
		||||
/* B280A4 800B0F04 8FA40020 */  lw    $a0, 0x20($sp)
 | 
			
		||||
/* B280A8 800B0F08 24051000 */  li    $a1, 4096
 | 
			
		||||
/* B280AC 800B0F0C 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B280AC 800B0F0C 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B280B0 800B0F10 24070667 */   li    $a3, 1639
 | 
			
		||||
/* B280B4 800B0F14 14400007 */  bnez  $v0, .L800B0F34
 | 
			
		||||
/* B280B8 800B0F18 AE02013C */   sw    $v0, 0x13c($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -132,10 +132,10 @@ glabel func_800B0E50
 | 
			
		|||
/* B280D8 800B0F38 0C02BBF2 */  jal   func_800AEFC8
 | 
			
		||||
/* B280DC 800B0F3C 87A5002A */   lh    $a1, 0x2a($sp)
 | 
			
		||||
/* B280E0 800B0F40 10000033 */  b     .L800B1010
 | 
			
		||||
/* B280E4 800B0F44 00000000 */   nop   
 | 
			
		||||
/* B280E4 800B0F44 00000000 */   nop
 | 
			
		||||
.L800B0F48:
 | 
			
		||||
/* 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
 | 
			
		||||
/* B280F4 800B0F54 14400007 */  bnez  $v0, .L800B0F74
 | 
			
		||||
/* 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
 | 
			
		||||
/* B28130 800B0F90 8FA40020 */  lw    $a0, 0x20($sp)
 | 
			
		||||
/* B28134 800B0F94 24050C00 */  li    $a1, 3072
 | 
			
		||||
/* B28138 800B0F98 0C031521 */  jal   Game_Alloc
 | 
			
		||||
/* B28138 800B0F98 0C031521 */  jal   GameState_AllocEnd
 | 
			
		||||
/* B2813C 800B0F9C 24070670 */   li    $a3, 1648
 | 
			
		||||
/* B28140 800B0FA0 14400007 */  bnez  $v0, .L800B0FC0
 | 
			
		||||
/* B28144 800B0FA4 AE02013C */   sw    $v0, 0x13c($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -170,11 +170,11 @@ glabel func_800B0E50
 | 
			
		|||
/* B28164 800B0FC4 0C02BC5E */  jal   func_800AF178
 | 
			
		||||
/* B28168 800B0FC8 24050006 */   li    $a1, 6
 | 
			
		||||
/* B2816C 800B0FCC 10000010 */  b     .L800B1010
 | 
			
		||||
/* B28170 800B0FD0 00000000 */   nop   
 | 
			
		||||
/* B28170 800B0FD0 00000000 */   nop
 | 
			
		||||
.L800B0FD4:
 | 
			
		||||
/* B28174 800B0FD4 3C068014 */  lui   $a2, %hi(D_80142D54) # $a2, 0x8014
 | 
			
		||||
/* 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
 | 
			
		||||
/* B28184 800B0FE4 14400007 */  bnez  $v0, .L800B1004
 | 
			
		||||
/* B28188 800B0FE8 AE02013C */   sw    $v0, 0x13c($s0)
 | 
			
		||||
| 
						 | 
				
			
			@ -197,4 +197,4 @@ glabel func_800B0E50
 | 
			
		|||
/* B281C0 800B1020 8FB00018 */  lw    $s0, 0x18($sp)
 | 
			
		||||
/* B281C4 800B1024 27BD0020 */  addiu $sp, $sp, 0x20
 | 
			
		||||
/* B281C8 800B1028 03E00008 */  jr    $ra
 | 
			
		||||
/* B281CC 800B102C 00000000 */   nop   
 | 
			
		||||
/* B281CC 800B102C 00000000 */   nop
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,82 +2,82 @@ glabel func_80811A20
 | 
			
		|||
/* 0DCE0 80811A20 3C0F8016 */  lui     $t7, %hi(gGameInfo)
 | 
			
		||||
/* 0DCE4 80811A24 8DEFFA90 */  lw      $t7, %lo(gGameInfo)($t7)
 | 
			
		||||
/* 0DCE8 80811A28 27BDFFC0 */  addiu   $sp, $sp, 0xFFC0           ## $sp = FFFFFFC0
 | 
			
		||||
/* 0DCEC 80811A2C AFB00020 */  sw      $s0, 0x0020($sp)           
 | 
			
		||||
/* 0DCEC 80811A2C AFB00020 */  sw      $s0, 0x0020($sp)
 | 
			
		||||
/* 0DCF0 80811A30 3C0201AA */  lui     $v0, %hi(_title_staticSegmentRomStart)
 | 
			
		||||
/* 0DCF4 80811A34 3C1801AF */  lui     $t8, %hi(_title_staticSegmentRomEnd)
 | 
			
		||||
/* 0DCF8 80811A38 00808025 */  or      $s0, $a0, $zero            ## $s0 = 00000000
 | 
			
		||||
/* 0DCFC 80811A3C AFBF0024 */  sw      $ra, 0x0024($sp)           
 | 
			
		||||
/* 0DCFC 80811A3C AFBF0024 */  sw      $ra, 0x0024($sp)
 | 
			
		||||
/* 0DD00 80811A40 240E0001 */  addiu   $t6, $zero, 0x0001         ## $t6 = 00000001
 | 
			
		||||
/* 0DD04 80811A44 2718B440 */  addiu   $t8, %lo(_title_staticSegmentRomEnd)
 | 
			
		||||
/* 0DD08 80811A48 24424000 */  addiu   $v0, %lo(_title_staticSegmentRomStart)
 | 
			
		||||
/* 0DD0C 80811A4C 03022823 */  subu    $a1, $t8, $v0              
 | 
			
		||||
/* 0DD0C 80811A4C 03022823 */  subu    $a1, $t8, $v0
 | 
			
		||||
/* 0DD10 80811A50 3C048081 */  lui     $a0, %hi(D_80812F48)       ## $a0 = 80810000
 | 
			
		||||
/* 0DD14 80811A54 A5EE0110 */  sh      $t6, 0x0110($t7)           ## 80160110
 | 
			
		||||
/* 0DD18 80811A58 AFA5002C */  sw      $a1, 0x002C($sp)           
 | 
			
		||||
/* 0DD1C 80811A5C AFA20030 */  sw      $v0, 0x0030($sp)           
 | 
			
		||||
/* 0DD18 80811A58 AFA5002C */  sw      $a1, 0x002C($sp)
 | 
			
		||||
/* 0DD1C 80811A5C AFA20030 */  sw      $v0, 0x0030($sp)
 | 
			
		||||
/* 0DD20 80811A60 0C00084C */  jal     osSyncPrintf
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
/* 0DD24 80811A64 24842F48 */  addiu   $a0, $a0, %lo(D_80812F48)  ## $a0 = 80812F48
 | 
			
		||||
/* 0DD28 80811A68 3C068081 */  lui     $a2, %hi(D_80812F54)       ## $a2 = 80810000
 | 
			
		||||
/* 0DD2C 80811A6C 24C62F54 */  addiu   $a2, $a2, %lo(D_80812F54)  ## $a2 = 80812F54
 | 
			
		||||
/* 0DD30 80811A70 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
 | 
			
		||||
/* 0DD34 80811A74 8FA5002C */  lw      $a1, 0x002C($sp)           
 | 
			
		||||
/* 0DD38 80811A78 0C031521 */  jal     Game_Alloc
 | 
			
		||||
              
 | 
			
		||||
/* 0DD34 80811A74 8FA5002C */  lw      $a1, 0x002C($sp)
 | 
			
		||||
/* 0DD38 80811A78 0C031521 */  jal     GameState_AllocEnd
 | 
			
		||||
 | 
			
		||||
/* 0DD3C 80811A7C 24070D40 */  addiu   $a3, $zero, 0x0D40         ## $a3 = 00000D40
 | 
			
		||||
/* 0DD40 80811A80 14400007 */  bne     $v0, $zero, .L80811AA0     
 | 
			
		||||
/* 0DD40 80811A80 14400007 */  bne     $v0, $zero, .L80811AA0
 | 
			
		||||
/* 0DD44 80811A84 AE0200A8 */  sw      $v0, 0x00A8($s0)           ## 000000A8
 | 
			
		||||
/* 0DD48 80811A88 3C048081 */  lui     $a0, %hi(D_80812F68)       ## $a0 = 80810000
 | 
			
		||||
/* 0DD4C 80811A8C 3C058081 */  lui     $a1, %hi(D_80812F84)       ## $a1 = 80810000
 | 
			
		||||
/* 0DD50 80811A90 24A52F84 */  addiu   $a1, $a1, %lo(D_80812F84)  ## $a1 = 80812F84
 | 
			
		||||
/* 0DD54 80811A94 24842F68 */  addiu   $a0, $a0, %lo(D_80812F68)  ## $a0 = 80812F68
 | 
			
		||||
/* 0DD58 80811A98 0C0007FC */  jal     __assert
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
/* 0DD5C 80811A9C 24060D41 */  addiu   $a2, $zero, 0x0D41         ## $a2 = 00000D41
 | 
			
		||||
.L80811AA0:
 | 
			
		||||
/* 0DD60 80811AA0 8E0400A8 */  lw      $a0, 0x00A8($s0)           ## 000000A8
 | 
			
		||||
/* 0DD64 80811AA4 3C078081 */  lui     $a3, %hi(D_80812F98)       ## $a3 = 80810000
 | 
			
		||||
/* 0DD68 80811AA8 24190D42 */  addiu   $t9, $zero, 0x0D42         ## $t9 = 00000D42
 | 
			
		||||
/* 0DD6C 80811AAC AFB90010 */  sw      $t9, 0x0010($sp)           
 | 
			
		||||
/* 0DD6C 80811AAC AFB90010 */  sw      $t9, 0x0010($sp)
 | 
			
		||||
/* 0DD70 80811AB0 24E72F98 */  addiu   $a3, $a3, %lo(D_80812F98)  ## $a3 = 80812F98
 | 
			
		||||
/* 0DD74 80811AB4 8FA50030 */  lw      $a1, 0x0030($sp)           
 | 
			
		||||
/* 0DD78 80811AB8 0C0006A8 */  jal     DmaMgr_SendRequest1              
 | 
			
		||||
/* 0DD7C 80811ABC 8FA6002C */  lw      $a2, 0x002C($sp)           
 | 
			
		||||
/* 0DD74 80811AB4 8FA50030 */  lw      $a1, 0x0030($sp)
 | 
			
		||||
/* 0DD78 80811AB8 0C0006A8 */  jal     DmaMgr_SendRequest1
 | 
			
		||||
/* 0DD7C 80811ABC 8FA6002C */  lw      $a2, 0x002C($sp)
 | 
			
		||||
/* 0DD80 80811AC0 3C0301AF */  lui     $v1, %hi(_parameter_staticSegmentRomStart)
 | 
			
		||||
/* 0DD84 80811AC4 3C0801AF */  lui     $t0, %hi(_parameter_staticSegmentRomEnd)
 | 
			
		||||
/* 0DD88 80811AC8 2508FB00 */  addiu   $t0, %lo(_parameter_staticSegmentRomEnd)
 | 
			
		||||
/* 0DD8C 80811ACC 2463C000 */  addiu   $v1, %lo(_parameter_staticSegmentRomStart)
 | 
			
		||||
/* 0DD90 80811AD0 01032823 */  subu    $a1, $t0, $v1              
 | 
			
		||||
/* 0DD90 80811AD0 01032823 */  subu    $a1, $t0, $v1
 | 
			
		||||
/* 0DD94 80811AD4 3C068081 */  lui     $a2, %hi(D_80812FAC)       ## $a2 = 80810000
 | 
			
		||||
/* 0DD98 80811AD8 24C62FAC */  addiu   $a2, $a2, %lo(D_80812FAC)  ## $a2 = 80812FAC
 | 
			
		||||
/* 0DD9C 80811ADC AFA5002C */  sw      $a1, 0x002C($sp)           
 | 
			
		||||
/* 0DDA0 80811AE0 AFA30030 */  sw      $v1, 0x0030($sp)           
 | 
			
		||||
/* 0DD9C 80811ADC AFA5002C */  sw      $a1, 0x002C($sp)
 | 
			
		||||
/* 0DDA0 80811AE0 AFA30030 */  sw      $v1, 0x0030($sp)
 | 
			
		||||
/* 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
 | 
			
		||||
/* 0DDB0 80811AF0 14400007 */  bne     $v0, $zero, .L80811B10     
 | 
			
		||||
/* 0DDB0 80811AF0 14400007 */  bne     $v0, $zero, .L80811B10
 | 
			
		||||
/* 0DDB4 80811AF4 AE0200AC */  sw      $v0, 0x00AC($s0)           ## 000000AC
 | 
			
		||||
/* 0DDB8 80811AF8 3C048081 */  lui     $a0, %hi(D_80812FC0)       ## $a0 = 80810000
 | 
			
		||||
/* 0DDBC 80811AFC 3C058081 */  lui     $a1, %hi(D_80812FE0)       ## $a1 = 80810000
 | 
			
		||||
/* 0DDC0 80811B00 24A52FE0 */  addiu   $a1, $a1, %lo(D_80812FE0)  ## $a1 = 80812FE0
 | 
			
		||||
/* 0DDC4 80811B04 24842FC0 */  addiu   $a0, $a0, %lo(D_80812FC0)  ## $a0 = 80812FC0
 | 
			
		||||
/* 0DDC8 80811B08 0C0007FC */  jal     __assert
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
/* 0DDCC 80811B0C 24060D47 */  addiu   $a2, $zero, 0x0D47         ## $a2 = 00000D47
 | 
			
		||||
.L80811B10:
 | 
			
		||||
/* 0DDD0 80811B10 8E0400AC */  lw      $a0, 0x00AC($s0)           ## 000000AC
 | 
			
		||||
/* 0DDD4 80811B14 3C078081 */  lui     $a3, %hi(D_80812FF4)       ## $a3 = 80810000
 | 
			
		||||
/* 0DDD8 80811B18 24090D48 */  addiu   $t1, $zero, 0x0D48         ## $t1 = 00000D48
 | 
			
		||||
/* 0DDDC 80811B1C AFA90010 */  sw      $t1, 0x0010($sp)           
 | 
			
		||||
/* 0DDDC 80811B1C AFA90010 */  sw      $t1, 0x0010($sp)
 | 
			
		||||
/* 0DDE0 80811B20 24E72FF4 */  addiu   $a3, $a3, %lo(D_80812FF4)  ## $a3 = 80812FF4
 | 
			
		||||
/* 0DDE4 80811B24 8FA50030 */  lw      $a1, 0x0030($sp)           
 | 
			
		||||
/* 0DDE8 80811B28 0C0006A8 */  jal     DmaMgr_SendRequest1              
 | 
			
		||||
/* 0DDEC 80811B2C 8FA6002C */  lw      $a2, 0x002C($sp)           
 | 
			
		||||
/* 0DDF0 80811B30 0C034204 */  jal     Matrix_Init              
 | 
			
		||||
/* 0DDE4 80811B24 8FA50030 */  lw      $a1, 0x0030($sp)
 | 
			
		||||
/* 0DDE8 80811B28 0C0006A8 */  jal     DmaMgr_SendRequest1
 | 
			
		||||
/* 0DDEC 80811B2C 8FA6002C */  lw      $a2, 0x002C($sp)
 | 
			
		||||
/* 0DDF0 80811B30 0C034204 */  jal     Matrix_Init
 | 
			
		||||
/* 0DDF4 80811B34 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
 | 
			
		||||
/* 0DDF8 80811B38 260400B8 */  addiu   $a0, $s0, 0x00B8           ## $a0 = 000000B8
 | 
			
		||||
/* 0DDFC 80811B3C 0C02A89E */  jal     View_Init              
 | 
			
		||||
/* 0DDFC 80811B3C 0C02A89E */  jal     View_Init
 | 
			
		||||
/* 0DE00 80811B40 8E050000 */  lw      $a1, 0x0000($s0)           ## 00000000
 | 
			
		||||
/* 0DE04 80811B44 3C0A8081 */  lui     $t2, %hi(func_80810DAC)    ## $t2 = 80810000
 | 
			
		||||
/* 0DE08 80811B48 3C0B8081 */  lui     $t3, %hi(func_80811A18)       ## $t3 = 80810000
 | 
			
		||||
| 
						 | 
				
			
			@ -85,25 +85,25 @@ glabel func_80811A20
 | 
			
		|||
/* 0DE10 80811B50 256B1A18 */  addiu   $t3, $t3, %lo(func_80811A18)  ## $t3 = 80811A18
 | 
			
		||||
/* 0DE14 80811B54 AE0A0004 */  sw      $t2, 0x0004($s0)           ## 00000004
 | 
			
		||||
/* 0DE18 80811B58 AE0B0008 */  sw      $t3, 0x0008($s0)           ## 00000008
 | 
			
		||||
/* 0DE1C 80811B5C 0C2044EA */  jal     func_808113A8              
 | 
			
		||||
/* 0DE1C 80811B5C 0C2044EA */  jal     func_808113A8
 | 
			
		||||
/* 0DE20 80811B60 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
 | 
			
		||||
/* 0DE24 80811B64 3401E760 */  ori     $at, $zero, 0xE760         ## $at = 0000E760
 | 
			
		||||
/* 0DE28 80811B68 0C01BBC4 */  jal     func_8006EF10              
 | 
			
		||||
/* 0DE2C 80811B6C 02012021 */  addu    $a0, $s0, $at              
 | 
			
		||||
/* 0DE28 80811B68 0C01BBC4 */  jal     func_8006EF10
 | 
			
		||||
/* 0DE2C 80811B6C 02012021 */  addu    $a0, $s0, $at
 | 
			
		||||
/* 0DE30 80811B70 3C04F000 */  lui     $a0, 0xF000                ## $a0 = F0000000
 | 
			
		||||
/* 0DE34 80811B74 0C03E803 */  jal     Audio_SetBGM
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
/* 0DE38 80811B78 3484000A */  ori     $a0, $a0, 0x000A           ## $a0 = F000000A
 | 
			
		||||
/* 0DE3C 80811B7C 240C0001 */  addiu   $t4, $zero, 0x0001         ## $t4 = 00000001
 | 
			
		||||
/* 0DE40 80811B80 AFAC0010 */  sw      $t4, 0x0010($sp)           
 | 
			
		||||
/* 0DE40 80811B80 AFAC0010 */  sw      $t4, 0x0010($sp)
 | 
			
		||||
/* 0DE44 80811B84 00002025 */  or      $a0, $zero, $zero          ## $a0 = 00000000
 | 
			
		||||
/* 0DE48 80811B88 24050057 */  addiu   $a1, $zero, 0x0057         ## $a1 = 00000057
 | 
			
		||||
/* 0DE4C 80811B8C 00003025 */  or      $a2, $zero, $zero          ## $a2 = 00000000
 | 
			
		||||
/* 0DE50 80811B90 0C03D786 */  jal     func_800F5E18              
 | 
			
		||||
/* 0DE50 80811B90 0C03D786 */  jal     func_800F5E18
 | 
			
		||||
/* 0DE54 80811B94 24070007 */  addiu   $a3, $zero, 0x0007         ## $a3 = 00000007
 | 
			
		||||
/* 0DE58 80811B98 8FBF0024 */  lw      $ra, 0x0024($sp)           
 | 
			
		||||
/* 0DE5C 80811B9C 8FB00020 */  lw      $s0, 0x0020($sp)           
 | 
			
		||||
/* 0DE58 80811B98 8FBF0024 */  lw      $ra, 0x0024($sp)
 | 
			
		||||
/* 0DE5C 80811B9C 8FB00020 */  lw      $s0, 0x0020($sp)
 | 
			
		||||
/* 0DE60 80811BA0 27BD0040 */  addiu   $sp, $sp, 0x0040           ## $sp = 00000000
 | 
			
		||||
/* 0DE64 80811BA4 03E00008 */  jr      $ra                        
 | 
			
		||||
/* 0DE64 80811BA4 03E00008 */  jr      $ra
 | 
			
		||||
/* 0DE68 80811BA8 00000000 */  nop
 | 
			
		||||
/* 0DE6C 80811BAC 00000000 */  nop
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
glabel func_80801E44
 | 
			
		||||
/* 012B4 80801E44 27BDFFC0 */  addiu   $sp, $sp, 0xFFC0           ## $sp = FFFFFFC0
 | 
			
		||||
/* 012B8 80801E48 AFB00020 */  sw      $s0, 0x0020($sp)           
 | 
			
		||||
/* 012BC 80801E4C AFBF0024 */  sw      $ra, 0x0024($sp)           
 | 
			
		||||
/* 012B8 80801E48 AFB00020 */  sw      $s0, 0x0020($sp)
 | 
			
		||||
/* 012BC 80801E4C AFBF0024 */  sw      $ra, 0x0024($sp)
 | 
			
		||||
/* 012C0 80801E50 3C0E8080 */  lui     $t6, %hi(func_80801DE4)    ## $t6 = 80800000
 | 
			
		||||
/* 012C4 80801E54 3C0F8080 */  lui     $t7, %hi(func_80801E0C)    ## $t7 = 80800000
 | 
			
		||||
/* 012C8 80801E58 3C188080 */  lui     $t8, %hi(D_80801FC0)       ## $t8 = 80800000
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +32,7 @@ glabel func_80801E44
 | 
			
		|||
/* 0132C 80801EBC AC800208 */  sw      $zero, 0x0208($a0)         ## 00000208
 | 
			
		||||
/* 01330 80801EC0 AC8D01D0 */  sw      $t5, 0x01D0($a0)           ## 000001D0
 | 
			
		||||
/* 01334 80801EC4 8E050000 */  lw      $a1, 0x0000($s0)           ## 00000000
 | 
			
		||||
/* 01338 80801EC8 0C02A89E */  jal     View_Init              
 | 
			
		||||
/* 01338 80801EC8 0C02A89E */  jal     View_Init
 | 
			
		||||
/* 0133C 80801ECC 248400A8 */  addiu   $a0, $a0, 0x00A8           ## $a0 = 000000A8
 | 
			
		||||
/* 01340 80801ED0 3C048016 */  lui     $a0, %hi(gGameInfo)
 | 
			
		||||
/* 01344 80801ED4 240E000A */  addiu   $t6, $zero, 0x000A         ## $t6 = 0000000A
 | 
			
		||||
| 
						 | 
				
			
			@ -51,11 +51,11 @@ glabel func_80801E44
 | 
			
		|||
/* 01378 80801F08 84431434 */  lh      $v1, 0x1434($v0)           ## 00001434
 | 
			
		||||
/* 0137C 80801F0C 240A0001 */  addiu   $t2, $zero, 0x0001         ## $t2 = 00000001
 | 
			
		||||
/* 01380 80801F10 24C635CC */  addiu   $a2, $a2, %lo(D_808035CC)  ## $a2 = 808035CC
 | 
			
		||||
/* 01384 80801F14 0460000D */  bltz    $v1, .L80801F4C            
 | 
			
		||||
/* 01384 80801F14 0460000D */  bltz    $v1, .L80801F4C
 | 
			
		||||
/* 01388 80801F18 256B0200 */  addiu   $t3, %lo(_z_select_staticSegmentRomEnd)
 | 
			
		||||
/* 0138C 80801F1C 8E0F01D0 */  lw      $t7, 0x01D0($s0)           ## 000001D0
 | 
			
		||||
/* 01390 80801F20 006F082A */  slt     $at, $v1, $t7              
 | 
			
		||||
/* 01394 80801F24 10200009 */  beq     $at, $zero, .L80801F4C     
 | 
			
		||||
/* 01390 80801F20 006F082A */  slt     $at, $v1, $t7
 | 
			
		||||
/* 01394 80801F24 10200009 */  beq     $at, $zero, .L80801F4C
 | 
			
		||||
/* 01398 80801F28 00000000 */  nop
 | 
			
		||||
/* 0139C 80801F2C AE0301D8 */  sw      $v1, 0x01D8($s0)           ## 000001D8
 | 
			
		||||
/* 013A0 80801F30 8C980000 */  lw      $t8, 0x0000($a0)           ## 8015FA90
 | 
			
		||||
| 
						 | 
				
			
			@ -69,29 +69,29 @@ glabel func_80801E44
 | 
			
		|||
/* 013BC 80801F4C 3C0301AA */  lui     $v1, %hi(_z_select_staticSegmentRomStart)
 | 
			
		||||
/* 013C0 80801F50 2463E000 */  addiu   $v1, %lo(_z_select_staticSegmentRomStart)
 | 
			
		||||
/* 013C4 80801F54 A44A0110 */  sh      $t2, 0x0110($v0)           ## 00000110
 | 
			
		||||
/* 013C8 80801F58 01632823 */  subu    $a1, $t3, $v1              
 | 
			
		||||
/* 013CC 80801F5C AFA5002C */  sw      $a1, 0x002C($sp)           
 | 
			
		||||
/* 013D0 80801F60 AFA30030 */  sw      $v1, 0x0030($sp)           
 | 
			
		||||
/* 013C8 80801F58 01632823 */  subu    $a1, $t3, $v1
 | 
			
		||||
/* 013CC 80801F5C AFA5002C */  sw      $a1, 0x002C($sp)
 | 
			
		||||
/* 013D0 80801F60 AFA30030 */  sw      $v1, 0x0030($sp)
 | 
			
		||||
/* 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
 | 
			
		||||
/* 013E0 80801F70 AE020238 */  sw      $v0, 0x0238($s0)           ## 00000238
 | 
			
		||||
/* 013E4 80801F74 3C078080 */  lui     $a3, %hi(D_808035DC)       ## $a3 = 80800000
 | 
			
		||||
/* 013E8 80801F78 240C045B */  addiu   $t4, $zero, 0x045B         ## $t4 = 0000045B
 | 
			
		||||
/* 013EC 80801F7C AFAC0010 */  sw      $t4, 0x0010($sp)           
 | 
			
		||||
/* 013EC 80801F7C AFAC0010 */  sw      $t4, 0x0010($sp)
 | 
			
		||||
/* 013F0 80801F80 24E735DC */  addiu   $a3, $a3, %lo(D_808035DC)  ## $a3 = 808035DC
 | 
			
		||||
/* 013F4 80801F84 8FA6002C */  lw      $a2, 0x002C($sp)           
 | 
			
		||||
/* 013F8 80801F88 8FA50030 */  lw      $a1, 0x0030($sp)           
 | 
			
		||||
/* 013FC 80801F8C 0C0006A8 */  jal     DmaMgr_SendRequest1              
 | 
			
		||||
/* 013F4 80801F84 8FA6002C */  lw      $a2, 0x002C($sp)
 | 
			
		||||
/* 013F8 80801F88 8FA50030 */  lw      $a1, 0x0030($sp)
 | 
			
		||||
/* 013FC 80801F8C 0C0006A8 */  jal     DmaMgr_SendRequest1
 | 
			
		||||
/* 01400 80801F90 00402025 */  or      $a0, $v0, $zero            ## $a0 = 00000000
 | 
			
		||||
/* 01404 80801F94 8FBF0024 */  lw      $ra, 0x0024($sp)           
 | 
			
		||||
/* 01404 80801F94 8FBF0024 */  lw      $ra, 0x0024($sp)
 | 
			
		||||
/* 01408 80801F98 3C038016 */  lui     $v1, %hi(gSaveContext)
 | 
			
		||||
/* 0140C 80801F9C 2463E660 */  addiu   $v1, %lo(gSaveContext)
 | 
			
		||||
/* 01410 80801FA0 340D8000 */  ori     $t5, $zero, 0x8000         ## $t5 = 00008000
 | 
			
		||||
/* 01414 80801FA4 240E0001 */  addiu   $t6, $zero, 0x0001         ## $t6 = 00000001
 | 
			
		||||
/* 01418 80801FA8 8FB00020 */  lw      $s0, 0x0020($sp)           
 | 
			
		||||
/* 01418 80801FA8 8FB00020 */  lw      $s0, 0x0020($sp)
 | 
			
		||||
/* 0141C 80801FAC AC6D0008 */  sw      $t5, 0x0008($v1)           ## 8015E668
 | 
			
		||||
/* 01420 80801FB0 AC6E0004 */  sw      $t6, 0x0004($v1)           ## 8015E664
 | 
			
		||||
/* 01424 80801FB4 03E00008 */  jr      $ra                        
 | 
			
		||||
/* 01424 80801FB4 03E00008 */  jr      $ra
 | 
			
		||||
/* 01428 80801FB8 27BD0040 */  addiu   $sp, $sp, 0x0040           ## $sp = 00000000
 | 
			
		||||
/* 0142C 80801FBC 00000000 */  nop
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -80,16 +80,6 @@ s32 osRecvMesg(OSMesgQueue* mq, OSMesg* msg, s32 flag);
 | 
			
		|||
void __createSpeedParam(void);
 | 
			
		||||
void __osInitialize_common(void);
 | 
			
		||||
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();
 | 
			
		||||
// ? __osException(?);
 | 
			
		||||
void __osEnqueueAndYield(OSThread**);
 | 
			
		||||
| 
						 | 
				
			
			@ -801,9 +791,9 @@ void SaveContext_Init(void);
 | 
			
		|||
void func_8006375C(s32 arg0, s32 arg1, float* d_80855320);
 | 
			
		||||
// ? func_8006376C(?);
 | 
			
		||||
// ? func_80063828(?);
 | 
			
		||||
// ? func_8006390C(?);
 | 
			
		||||
void func_8006390C(Input* input);
 | 
			
		||||
// ? func_80063C04(?);
 | 
			
		||||
// ? func_80063D7C(?);
 | 
			
		||||
void func_80063D7C(GraphicsContext* gfxCtx);
 | 
			
		||||
void DebugDisplay_Init(void);
 | 
			
		||||
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,
 | 
			
		||||
| 
						 | 
				
			
			@ -1316,15 +1306,15 @@ s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
 | 
			
		|||
// ? func_800ACAF8(?);
 | 
			
		||||
// ? func_800ACE70(?);
 | 
			
		||||
// ? func_800ACE90(?);
 | 
			
		||||
// ? func_800ACE98(?);
 | 
			
		||||
void func_800ACE98(struct_801664F0*, Gfx**);
 | 
			
		||||
// ? func_800AD000(?);
 | 
			
		||||
// ? func_800AD054(?);
 | 
			
		||||
// ? func_800AD080(?);
 | 
			
		||||
// ? func_800AD394(?);
 | 
			
		||||
void func_800AD5C0(UNK_PTR, Gfx**);
 | 
			
		||||
void func_800AD5C0(VisMonoStruct*, Gfx**);
 | 
			
		||||
// ? func_800AD920(?);
 | 
			
		||||
// ? func_800AD950(?);
 | 
			
		||||
// ? func_800AD958(?);
 | 
			
		||||
void func_800AD958(struct_801664F0*, Gfx**);
 | 
			
		||||
// ? func_800ADBB0(?);
 | 
			
		||||
// ? func_800AE2C0(?);
 | 
			
		||||
// ? 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_Destroy(GameState* gameState);
 | 
			
		||||
void TitleSetup_Init(GameState* gameState);
 | 
			
		||||
// ? func_800C4130(?);
 | 
			
		||||
// ? func_800C41F0(?);
 | 
			
		||||
void GameState_FaultPrint(void);
 | 
			
		||||
void GameState_SetFBFilter(Gfx** gfx);
 | 
			
		||||
// ? func_800C4344(?);
 | 
			
		||||
// ? func_800C4558(?);
 | 
			
		||||
// ? func_800C46EC(?);
 | 
			
		||||
// ? func_800C48CC(?);
 | 
			
		||||
void GameState_DrawInputDisplay(u16 input, Gfx** gfx);
 | 
			
		||||
void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx);
 | 
			
		||||
void GameState_SetFrameBuffer(GraphicsContext* gfxCtx);
 | 
			
		||||
// ? func_800C49F4(?);
 | 
			
		||||
// ? func_800C4A98(?);
 | 
			
		||||
// ? func_800C4AC8(?);
 | 
			
		||||
// ? func_800C4E80(?);
 | 
			
		||||
// ? func_800C4F20(?);
 | 
			
		||||
// ? func_800C5080(?);
 | 
			
		||||
// ? func_800C5360(?);
 | 
			
		||||
// ? func_800C546C(?);
 | 
			
		||||
// ? func_800C547C(?);
 | 
			
		||||
void* Game_Alloc(GameState* gameState, size_t size, char* file, s32 line);
 | 
			
		||||
void GameState_ReqPadData(GameState* gameState);
 | 
			
		||||
void GameState_Update(GameState* gameState);
 | 
			
		||||
void GameState_InitArena(GameState* gameState, size_t size);
 | 
			
		||||
void GameState_Realloc(GameState* gameState, size_t size);
 | 
			
		||||
void GameState_Init(GameState* gameState, GameStateFunc init, GraphicsContext* gfxCtx);
 | 
			
		||||
void GameState_Destroy(GameState* gameState);
 | 
			
		||||
GameStateFunc GameState_GetInit(GameState* gameState);
 | 
			
		||||
u32 GameState_IsRunning(GameState* gameState);
 | 
			
		||||
void* GameState_AllocEnd(GameState* gameState, size_t size, char* file, s32 line);
 | 
			
		||||
void func_800C55D0(GameAlloc* this);
 | 
			
		||||
void* GameAlloc_MallocDebug(GameAlloc* this, u32 size, const char* file, s32 line);
 | 
			
		||||
void* GameAlloc_Malloc(GameAlloc* this, u32 size);
 | 
			
		||||
| 
						 | 
				
			
			@ -1550,7 +1540,7 @@ void Graph_FaultClient();
 | 
			
		|||
void Graph_DisassembleUCode(void* arg0);
 | 
			
		||||
void Graph_UCodeFaultClient(void* arg0);
 | 
			
		||||
void* Graph_InitTHGA(GraphicsContext* gfxCtx);
 | 
			
		||||
GameStateOverlay* Graph_GetNextGameState();
 | 
			
		||||
GameStateOverlay* Graph_GetNextGameState(GameState* gameState);
 | 
			
		||||
void Graph_Init(GraphicsContext* gfxCtx);
 | 
			
		||||
void Graph_Destroy(GraphicsContext* gfxCtx);
 | 
			
		||||
void Graph_TaskSet00(GraphicsContext* gfxCtx);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										108
									
								
								include/regs.h
								
								
								
								
							
							
						
						
									
										108
									
								
								include/regs.h
								
								
								
								
							| 
						 | 
				
			
			@ -38,55 +38,63 @@
 | 
			
		|||
#define kREG(r) BASE_REG(27, r)
 | 
			
		||||
#define bREG(r) BASE_REG(28, r)
 | 
			
		||||
 | 
			
		||||
#define R_RUN_SPEED_LIMIT        REG(45)
 | 
			
		||||
#define R_UPDATE_RATE           SREG(30)
 | 
			
		||||
#define R_PAUSE_MENU_MODE       SREG(94)
 | 
			
		||||
#define R_C_UP_ICON_X           YREG(88)
 | 
			
		||||
#define R_C_UP_ICON_Y           YREG(89)
 | 
			
		||||
#define R_MAGIC_FILL_COLOR(i)   ZREG(0 + i)
 | 
			
		||||
#define R_C_BTN_COLOR(i)        ZREG(39 + i)
 | 
			
		||||
#define R_B_BTN_COLOR(i)        ZREG(43 + i)
 | 
			
		||||
#define R_START_LABEL_DD(i)     ZREG(48 + i)
 | 
			
		||||
#define R_START_LABEL_Y(i)      ZREG(51 + i)
 | 
			
		||||
#define R_START_LABEL_X(i)      ZREG(54 + i)
 | 
			
		||||
#define R_C_UP_BTN_X            ZREG(62)
 | 
			
		||||
#define R_C_UP_BTN_Y            ZREG(63)
 | 
			
		||||
#define R_START_BTN_X           ZREG(68)
 | 
			
		||||
#define R_START_BTN_Y           ZREG(69)
 | 
			
		||||
#define R_ITEM_BTN_X(i)         ZREG(70 + i)
 | 
			
		||||
#define R_ITEM_BTN_Y(i)         ZREG(74 + i)
 | 
			
		||||
#define R_ITEM_BTN_DD(i)        ZREG(78 + i)
 | 
			
		||||
#define R_ITEM_ICON_X(i)        ZREG(82 + i)
 | 
			
		||||
#define R_ITEM_ICON_Y(i)        ZREG(86 + i)
 | 
			
		||||
#define R_ITEM_ICON_DD(i)       ZREG(90 + i)
 | 
			
		||||
#define R_A_BTN_Y               XREG(16)
 | 
			
		||||
#define R_A_BTN_X               XREG(17)
 | 
			
		||||
#define R_A_ICON_Y              XREG(19)
 | 
			
		||||
#define R_A_ICON_X              XREG(20)
 | 
			
		||||
#define R_A_BTN_COLOR(i)        XREG(22 + i)
 | 
			
		||||
#define R_MAGIC_BAR_SMALL_Y     XREG(48)
 | 
			
		||||
#define R_MAGIC_BAR_X           XREG(49)
 | 
			
		||||
#define R_MAGIC_BAR_LARGE_Y     XREG(50)
 | 
			
		||||
#define R_MAGIC_FILL_X          XREG(51)
 | 
			
		||||
#define R_B_LABEL_DD            WREG(0)
 | 
			
		||||
#define R_OW_MINIMAP_X          WREG(29)
 | 
			
		||||
#define R_OW_MINIMAP_Y          WREG(30)
 | 
			
		||||
#define R_MINIMAP_TOGGLED       WREG(31)
 | 
			
		||||
#define R_B_LABEL_X(i)          WREG(40 + i)
 | 
			
		||||
#define R_B_LABEL_Y(i)          WREG(43 + i)
 | 
			
		||||
#define R_DGN_MINIMAP_X         WREG(68)
 | 
			
		||||
#define R_DGN_MINIMAP_Y         WREG(69)
 | 
			
		||||
#define R_MAP_INDEX             VREG(11)
 | 
			
		||||
#define R_MAP_TEX_INDEX_BASE    VREG(12)
 | 
			
		||||
#define R_MAP_TEX_INDEX         VREG(13)
 | 
			
		||||
#define R_COMPASS_SCALE_X       VREG(14)
 | 
			
		||||
#define R_COMPASS_SCALE_Y       VREG(15)
 | 
			
		||||
#define R_COMPASS_OFFSET_X      VREG(16)
 | 
			
		||||
#define R_COMPASS_OFFSET_Y      VREG(17)
 | 
			
		||||
#define R_MINIMAP_COLOR(i)      VREG(18 + i)
 | 
			
		||||
#define R_ITEM_AMMO_X(i)        VREG(64 + i)
 | 
			
		||||
#define R_ITEM_AMMO_Y(i)        VREG(68 + i)
 | 
			
		||||
#define R_ITEM_ICON_WIDTH(i)    VREG(76 + i)
 | 
			
		||||
#define R_ITEM_BTN_WIDTH(i)     VREG(80 + i)
 | 
			
		||||
#define R_RUN_SPEED_LIMIT           REG(45)
 | 
			
		||||
#define R_ENABLE_ARENA_DBG          SREG(0)
 | 
			
		||||
#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_C_UP_ICON_X               YREG(88)
 | 
			
		||||
#define R_C_UP_ICON_Y               YREG(89)
 | 
			
		||||
#define R_MAGIC_FILL_COLOR(i)       ZREG(0 + i)
 | 
			
		||||
#define R_C_BTN_COLOR(i)            ZREG(39 + i)
 | 
			
		||||
#define R_B_BTN_COLOR(i)            ZREG(43 + i)
 | 
			
		||||
#define R_START_LABEL_DD(i)         ZREG(48 + i)
 | 
			
		||||
#define R_START_LABEL_Y(i)          ZREG(51 + i)
 | 
			
		||||
#define R_START_LABEL_X(i)          ZREG(54 + i)
 | 
			
		||||
#define R_C_UP_BTN_X                ZREG(62)
 | 
			
		||||
#define R_C_UP_BTN_Y                ZREG(63)
 | 
			
		||||
#define R_START_BTN_X               ZREG(68)
 | 
			
		||||
#define R_START_BTN_Y               ZREG(69)
 | 
			
		||||
#define R_ITEM_BTN_X(i)             ZREG(70 + i)
 | 
			
		||||
#define R_ITEM_BTN_Y(i)             ZREG(74 + i)
 | 
			
		||||
#define R_ITEM_BTN_DD(i)            ZREG(78 + i)
 | 
			
		||||
#define R_ITEM_ICON_X(i)            ZREG(82 + i)
 | 
			
		||||
#define R_ITEM_ICON_Y(i)            ZREG(86 + i)
 | 
			
		||||
#define R_ITEM_ICON_DD(i)           ZREG(90 + i)
 | 
			
		||||
#define R_A_BTN_Y                   XREG(16)
 | 
			
		||||
#define R_A_BTN_X                   XREG(17)
 | 
			
		||||
#define R_A_ICON_Y                  XREG(19)
 | 
			
		||||
#define R_A_ICON_X                  XREG(20)
 | 
			
		||||
#define R_A_BTN_COLOR(i)            XREG(22 + i)
 | 
			
		||||
#define R_MAGIC_BAR_SMALL_Y         XREG(48)
 | 
			
		||||
#define R_MAGIC_BAR_X               XREG(49)
 | 
			
		||||
#define R_MAGIC_BAR_LARGE_Y         XREG(50)
 | 
			
		||||
#define R_MAGIC_FILL_X              XREG(51)
 | 
			
		||||
#define R_B_LABEL_DD                WREG(0)
 | 
			
		||||
#define R_OW_MINIMAP_X              WREG(29)
 | 
			
		||||
#define R_OW_MINIMAP_Y              WREG(30)
 | 
			
		||||
#define R_MINIMAP_TOGGLED           WREG(31)
 | 
			
		||||
#define R_B_LABEL_X(i)              WREG(40 + i)
 | 
			
		||||
#define R_B_LABEL_Y(i)              WREG(43 + i)
 | 
			
		||||
#define R_DGN_MINIMAP_X             WREG(68)
 | 
			
		||||
#define R_DGN_MINIMAP_Y             WREG(69)
 | 
			
		||||
#define R_MAP_INDEX                 VREG(11)
 | 
			
		||||
#define R_MAP_TEX_INDEX_BASE        VREG(12)
 | 
			
		||||
#define R_MAP_TEX_INDEX             VREG(13)
 | 
			
		||||
#define R_COMPASS_SCALE_X           VREG(14)
 | 
			
		||||
#define R_COMPASS_SCALE_Y           VREG(15)
 | 
			
		||||
#define R_COMPASS_OFFSET_X          VREG(16)
 | 
			
		||||
#define R_COMPASS_OFFSET_Y          VREG(17)
 | 
			
		||||
#define R_MINIMAP_COLOR(i)          VREG(18 + i)
 | 
			
		||||
#define R_ITEM_AMMO_X(i)            VREG(64 + i)
 | 
			
		||||
#define R_ITEM_AMMO_Y(i)            VREG(68 + i)
 | 
			
		||||
#define R_ITEM_ICON_WIDTH(i)        VREG(76 + i)
 | 
			
		||||
#define R_ITEM_BTN_WIDTH(i)         VREG(80 + i)
 | 
			
		||||
#define R_DISABLE_INPUT_DISPLAY     HREG(47)
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -88,6 +88,8 @@ extern u8 osAppNmiBuffer[];
 | 
			
		|||
extern u8 D_80009320[];
 | 
			
		||||
extern u8 D_800093F0[];
 | 
			
		||||
extern u8 D_80009430;
 | 
			
		||||
extern u32 D_80009460;
 | 
			
		||||
extern u32 gDmaMgrDmaBuffSize;
 | 
			
		||||
extern volatile u8 gViConfigUseDefault;
 | 
			
		||||
extern u8 gViConfigAdditionalScanLines;
 | 
			
		||||
extern u32 gViConfigFeatures;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -971,11 +971,15 @@ typedef struct {
 | 
			
		|||
    /* 0x10 */ GameAllocEntry* head;
 | 
			
		||||
} GameAlloc; // size = 0x14
 | 
			
		||||
 | 
			
		||||
struct GameState;
 | 
			
		||||
 | 
			
		||||
typedef void (*GameStateFunc)(struct GameState* gameState);
 | 
			
		||||
 | 
			
		||||
typedef struct GameState {
 | 
			
		||||
    /* 0x00 */ GraphicsContext* gfxCtx;
 | 
			
		||||
    /* 0x04 */ void (*main)(struct GameState*);
 | 
			
		||||
    /* 0x08 */ void (*destroy)(struct GameState*); // "cleanup"
 | 
			
		||||
    /* 0x0C */ void (*init)(struct GameState*);
 | 
			
		||||
    /* 0x04 */ GameStateFunc main;
 | 
			
		||||
    /* 0x08 */ GameStateFunc destroy; // "cleanup"
 | 
			
		||||
    /* 0x0C */ GameStateFunc init;
 | 
			
		||||
    /* 0x10 */ u32 size;
 | 
			
		||||
    /* 0x14 */ Input input[4];
 | 
			
		||||
    /* 0x74 */ TwoHeadArena tha;
 | 
			
		||||
| 
						 | 
				
			
			@ -1693,11 +1697,21 @@ typedef struct {
 | 
			
		|||
} JpegContext; // size = 0xB8
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    /* 0x00 */ char unk_00[0x08];
 | 
			
		||||
    /* 0x08 */ Color_RGBA8 color;
 | 
			
		||||
    /* 0x0C */ char unk_0C[0x0C];
 | 
			
		||||
    /* 0x00 */ s32 colorFormat;
 | 
			
		||||
    /* 0x04 */ s32 setScissor;
 | 
			
		||||
    /* 0x08 */ Color_RGBA8 primColor;
 | 
			
		||||
    /* 0x0C */ Color_RGBA8 envColor;
 | 
			
		||||
    /* 0x10 */ u16* texture;
 | 
			
		||||
    /* 0x14 */ Gfx* monoDList;
 | 
			
		||||
} 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 {
 | 
			
		||||
    /* 0x000 */ u8 rumbleEnable[4];
 | 
			
		||||
    /* 0x004 */ u8 unk_04[0x40];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										5
									
								
								spec
								
								
								
								
							
							
						
						
									
										5
									
								
								spec
								
								
								
								
							| 
						 | 
				
			
			@ -404,10 +404,7 @@ beginseg
 | 
			
		|||
    include "build/data/code_800C3C20.data.o"
 | 
			
		||||
    include "build/src/code/audioMgr.o"
 | 
			
		||||
    include "build/src/code/title_setup.o"
 | 
			
		||||
    include "build/asm/game.o"
 | 
			
		||||
    include "build/data/game.data.o"
 | 
			
		||||
    include "build/data/game.rodata.o"
 | 
			
		||||
    include "build/data/game.bss.o"
 | 
			
		||||
    include "build/src/code/game.o"
 | 
			
		||||
    include "build/src/code/gamealloc.o"
 | 
			
		||||
    include "build/src/code/graph.o"
 | 
			
		||||
    include "build/src/code/listalloc.o"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,7 @@ const char* sDmaMgrCurFileName;
 | 
			
		|||
s32 sDmaMgrCurFileLine;
 | 
			
		||||
 | 
			
		||||
u32 D_80009460 = 0;
 | 
			
		||||
u32 sDmaMgrDmaBuffSize = 0x2000;
 | 
			
		||||
u32 gDmaMgrDmaBuffSize = 0x2000;
 | 
			
		||||
u32 sDmaMgrDataExistError = 0;
 | 
			
		||||
const char* sDmaMgrFileNames[0x5FC] = {
 | 
			
		||||
    "makerom",
 | 
			
		||||
| 
						 | 
				
			
			@ -1577,7 +1577,7 @@ s32 DmaMgr_DMARomToRam(u32 rom, u32 ram, u32 size) {
 | 
			
		|||
    u32 buffSize;
 | 
			
		||||
    u32 pad[2];
 | 
			
		||||
 | 
			
		||||
    buffSize = sDmaMgrDmaBuffSize;
 | 
			
		||||
    buffSize = gDmaMgrDmaBuffSize;
 | 
			
		||||
    if (buffSize == 0) {
 | 
			
		||||
        buffSize = 0x2000;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,5 @@
 | 
			
		|||
#include <global.h>
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    /* 0x00 */ u32 type;
 | 
			
		||||
    /* 0x04 */ u32 setScissor;
 | 
			
		||||
    /* 0x08 */ Color_RGBA8 color;
 | 
			
		||||
    /* 0x0C */ u32 unk_0C;
 | 
			
		||||
} struct_801664F0;
 | 
			
		||||
 | 
			
		||||
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 |
 | 
			
		||||
                         G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -105,10 +105,10 @@ void* Graph_InitTHGA(GraphicsContext* gfxCtx) {
 | 
			
		|||
    gfxCtx->unk_014 = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
GameStateOverlay* Graph_GetNextGameState() {
 | 
			
		||||
GameStateOverlay* Graph_GetNextGameState(GameState* gameState) {
 | 
			
		||||
    void* gameStateInitFunc;
 | 
			
		||||
 | 
			
		||||
    gameStateInitFunc = func_800C546C();
 | 
			
		||||
    gameStateInitFunc = GameState_GetInit(gameState);
 | 
			
		||||
    if (gameStateInitFunc == TitleSetup_Init) {
 | 
			
		||||
        return &gGameStateOverlayTable[0];
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -285,8 +285,8 @@ void Graph_Update(GraphicsContext* gfxCtx, GameState* gameState) {
 | 
			
		|||
    gDPNoOpString(gfxCtx->overlay.p++, "OVERLAY_DISP 開始", 0);
 | 
			
		||||
    Graph_CloseDisps(dispRefs, gfxCtx, "../graph.c", 975);
 | 
			
		||||
 | 
			
		||||
    func_800C4A98(gameState); // Game_ReqPadData
 | 
			
		||||
    func_800C4AC8(gameState); // Game_SetGameFrame
 | 
			
		||||
    GameState_ReqPadData(gameState);
 | 
			
		||||
    GameState_Update(gameState);
 | 
			
		||||
 | 
			
		||||
    Graph_OpenDisps(dispRefs2, gfxCtx, "../graph.c", 987);
 | 
			
		||||
    gDPNoOpString(gfxCtx->work.p++, "WORK_DISP 終了", 0);
 | 
			
		||||
| 
						 | 
				
			
			@ -435,14 +435,14 @@ void Graph_ThreadEntry(void* arg0) {
 | 
			
		|||
            sprintf(faultMsg, "CLASS SIZE= %d bytes", size);
 | 
			
		||||
            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);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        nextOvl = Graph_GetNextGameState(gameState);
 | 
			
		||||
        func_800C5360(gameState); // Game_Dt
 | 
			
		||||
        GameState_Destroy(gameState);
 | 
			
		||||
        SystemArena_FreeDebug(gameState, "../graph.c", 1227);
 | 
			
		||||
        Overlay_FreeGameState(ovl);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ void Main(void* arg0) {
 | 
			
		|||
    DebugArena_Init(debugHeap, debugHeapSize);
 | 
			
		||||
    func_800636C0();
 | 
			
		||||
 | 
			
		||||
    SREG(0) = 0;
 | 
			
		||||
    R_ENABLE_ARENA_DBG = 0;
 | 
			
		||||
 | 
			
		||||
    osCreateMesgQueue(&sSiIntMsgQ, sSiIntMsgBuf, 1);
 | 
			
		||||
    osSetEventMesg(5, &sSiIntMsgQ, 0);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,7 @@ MtxF* sMatrixStack;   // "Matrix_stack"
 | 
			
		|||
MtxF* sCurrentMatrix; // "Matrix_now"
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,7 +40,7 @@ void func_801109B0(GlobalContext* globalCtx) {
 | 
			
		|||
    // Translates to: "Permanent PARAMETER Segment = %x"
 | 
			
		||||
    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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,7 @@ void func_801109B0(GlobalContext* globalCtx) {
 | 
			
		|||
 | 
			
		||||
    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"
 | 
			
		||||
    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,
 | 
			
		||||
                        "../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"
 | 
			
		||||
    osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 0x4000);
 | 
			
		||||
| 
						 | 
				
			
			@ -201,7 +201,7 @@ void func_80110F68(GlobalContext* globalCtx) {
 | 
			
		|||
 | 
			
		||||
    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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ void KaleidoManager_Init(GlobalContext* globalCtx) {
 | 
			
		|||
    osSyncPrintf(VT_FGCOL(GREEN));
 | 
			
		||||
    osSyncPrintf("KaleidoArea の最大サイズは %d バイトを確保します\n", largestOvl);
 | 
			
		||||
    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);
 | 
			
		||||
    osSyncPrintf(VT_FGCOL(GREEN));
 | 
			
		||||
    osSyncPrintf("KaleidoArea %08x - %08x\n", sKaleidoAreaPtr, (u32)sKaleidoAreaPtr + largestOvl);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -232,7 +232,7 @@ void Map_Init(GlobalContext* globalCtx) {
 | 
			
		|||
    interfaceCtx->unk_258 = -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 "MAP TEXTURE INITIALIZATION scene_data_ID=%d mapSegment=%x"
 | 
			
		||||
    osSyncPrintf("\n\n\nMAP テクスチャ初期化   scene_data_ID=%d\nmapSegment=%x\n\n", globalCtx->sceneNum,
 | 
			
		||||
                 interfaceCtx->mapSegment, globalCtx);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,7 +57,7 @@ void MapMark_Init(GlobalContext* globalCtx) {
 | 
			
		|||
    MapMarkDataOverlay* overlay = &sMapMarkDataOvl;
 | 
			
		||||
    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);
 | 
			
		||||
 | 
			
		||||
    Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -213,7 +213,7 @@ void Gameplay_Init(GlobalContext* globalCtx) {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    SystemArena_Display();
 | 
			
		||||
    func_800C4F20(globalCtx, 0x1D4790);
 | 
			
		||||
    GameState_Realloc(globalCtx, 0x1D4790);
 | 
			
		||||
    KaleidoManager_Init(globalCtx);
 | 
			
		||||
    View_Init(&globalCtx->view, gfxCtx);
 | 
			
		||||
    func_800F6828(0);
 | 
			
		||||
| 
						 | 
				
			
			@ -371,7 +371,7 @@ void Gameplay_Init(GlobalContext* globalCtx) {
 | 
			
		|||
 | 
			
		||||
    osSyncPrintf("ZELDA ALLOC SIZE=%x\n", 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);
 | 
			
		||||
    ZeldaArena_Init(zAllocAligned, zAllocSize - (u32)zAllocAligned + (u32)zAlloc);
 | 
			
		||||
    osSyncPrintf("ゼルダヒープ %08x-%08x\n", zAllocAligned,
 | 
			
		||||
| 
						 | 
				
			
			@ -1150,7 +1150,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
 | 
			
		|||
            TransitionFade_Draw(&globalCtx->transitionFade, &gfxP);
 | 
			
		||||
 | 
			
		||||
            if (D_801614B0.a > 0x00) {
 | 
			
		||||
                D_80161498.color.rgba = D_801614B0.rgba;
 | 
			
		||||
                D_80161498.primColor.rgba = D_801614B0.rgba;
 | 
			
		||||
                func_800AD5C0(&D_80161498, &gfxP);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1456,7 +1456,7 @@ void* Gameplay_LoadFile(GlobalContext* globalCtx, RomFile* file) {
 | 
			
		|||
    void* allocp;
 | 
			
		||||
 | 
			
		||||
    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);
 | 
			
		||||
 | 
			
		||||
    return allocp;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -566,7 +566,7 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
 | 
			
		|||
    osSyncPrintf(VT_FGCOL(YELLOW));
 | 
			
		||||
    // Translates to: "ROOM BUFFER SIZE=%08x(%5.1fK)"
 | 
			
		||||
    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"
 | 
			
		||||
    osSyncPrintf("部屋バッファ開始ポインタ=%08x\n", roomCtx->bufPtrs[0]);
 | 
			
		||||
    roomCtx->bufPtrs[1] = (void*)((s32)roomCtx->bufPtrs[0] + maxRoomSize);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,7 +82,7 @@ void Sample_SetupView(SampleContext* this) {
 | 
			
		|||
void Sample_LoadTitleStatic(SampleContext* this) {
 | 
			
		||||
    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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,7 +72,7 @@ void Object_InitBank(GlobalContext* globalCtx, ObjectContext* objectCtx) {
 | 
			
		|||
    osSyncPrintf(VT_RST);
 | 
			
		||||
 | 
			
		||||
    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->mainKeepIndex = Object_Spawn(objectCtx, OBJECT_GAMEPLAY_KEEP);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -164,7 +164,7 @@ void Title_Init(TitleContext* this) {
 | 
			
		|||
    u32 size = (u32)_nintendo_rogo_staticSegmentRomEnd - (u32)_nintendo_rogo_staticSegmentRomStart;
 | 
			
		||||
    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");
 | 
			
		||||
    if (this->staticSegment == NULL) {
 | 
			
		||||
        __assert("this->staticSegment != NULL", "../z_title.c", 614);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -113,7 +113,7 @@ func_800A2000 SkelAnime_GetFrameCount
 | 
			
		|||
func_800A457C SkelAnime_Init
 | 
			
		||||
func_800A49FC SkelAnime_FrameUpdateMatrix
 | 
			
		||||
func_800A51A0 SkelAnime_ChangeAnim
 | 
			
		||||
func_800C5484 Game_Alloc
 | 
			
		||||
func_800C5484 GameState_AllocEnd
 | 
			
		||||
func_800C69CC Graph_Alloc
 | 
			
		||||
func_800D0664 atan2s
 | 
			
		||||
func_800D07D4 atan2f
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue