z_select decompiled, 1 non matching left (#202)

* First pass z_select

* lots of progress. 2 non matchings and data stuff needed

* match Select_LoadGame

* z_select almost ok, 1 func left

* remove comments

* remove comments and add description

* remove unused flg_set asm

* set_next_gamestate macro

* pr suggestions 1

* pr suggestions 2

* map -> scene

* pr suggestions 3

Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
This commit is contained in:
fig02 2020-06-13 22:59:58 -04:00 committed by GitHub
parent df3bfbc168
commit 031d946db7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 721 additions and 1675 deletions

View File

@ -513,12 +513,12 @@ glabel Graph_Update
/* 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
/* B3D94C 800C67AC 3C0C8080 */ lui $t4, %hi(Select_Init) # $t4, 0x8080
/* B3D950 800C67B0 01415827 */ nor $t3, $t2, $at
/* B3D954 800C67B4 15600009 */ bnez $t3, .L800C67DC
/* B3D958 800C67B8 3C018016 */ lui $at, %hi(gSaveContext+0x135c) # $at, 0x8016
/* B3D95C 800C67BC AC20F9BC */ sw $zero, %lo(gSaveContext+0x135c)($at)
/* B3D960 800C67C0 258C1E44 */ addiu $t4, %lo(func_80801E44) # addiu $t4, $t4, 0x1e44
/* B3D960 800C67C0 258C1E44 */ addiu $t4, %lo(Select_Init) # addiu $t4, $t4, 0x1e44
/* B3D964 800C67C4 240D0240 */ li $t5, 576
/* B3D968 800C67C8 AC4D0010 */ sw $t5, 0x10($v0)
/* B3D96C 800C67CC AC4C000C */ sw $t4, 0xc($v0)

View File

@ -5,7 +5,7 @@ glabel func_80070718
/* AE78C4 80070724 AFBF0024 */ sw $ra, 0x24($sp)
/* AE78C8 80070728 AFA40068 */ sw $a0, 0x68($sp)
/* AE78CC 8007072C AFA5006C */ sw $a1, 0x6c($sp)
/* AE78D0 80070730 0C03EEE3 */ jal GfxPrint_Ctor
/* AE78D0 80070730 0C03EEE3 */ jal GfxPrint_Init
/* AE78D4 80070734 02002025 */ move $a0, $s0
/* AE78D8 80070738 8FAE006C */ lw $t6, 0x6c($sp)
/* AE78DC 8007073C 02002025 */ move $a0, $s0
@ -333,7 +333,7 @@ glabel func_80070718
/* AE7D9C 80070BFC 02002025 */ move $a0, $s0
/* AE7DA0 80070C00 8FAC006C */ lw $t4, 0x6c($sp)
/* AE7DA4 80070C04 02002025 */ move $a0, $s0
/* AE7DA8 80070C08 0C03EF05 */ jal GfxPrint_Dtor
/* AE7DA8 80070C08 0C03EF05 */ jal GfxPrint_Destroy
/* AE7DAC 80070C0C AD820000 */ sw $v0, ($t4)
/* AE7DB0 80070C10 8FBF0024 */ lw $ra, 0x24($sp)
/* AE7DB4 80070C14 8FB00020 */ lw $s0, 0x20($sp)

View File

@ -27,7 +27,7 @@ glabel func_8010F494
/* B86640 8010F4A0 AFBF0024 */ sw $ra, 0x24($sp)
/* B86644 8010F4A4 AFA40060 */ sw $a0, 0x60($sp)
/* B86648 8010F4A8 AFA50064 */ sw $a1, 0x64($sp)
/* B8664C 8010F4AC 0C03EEE3 */ jal GfxPrint_Ctor
/* B8664C 8010F4AC 0C03EEE3 */ jal GfxPrint_Init
/* B86650 8010F4B0 02002025 */ move $a0, $s0
/* B86654 8010F4B4 8FAE0064 */ lw $t6, 0x64($sp)
/* B86658 8010F4B8 02002025 */ move $a0, $s0
@ -76,7 +76,7 @@ glabel func_8010F494
/* B86704 8010F564 02002025 */ move $a0, $s0
/* B86708 8010F568 8FB90064 */ lw $t9, 0x64($sp)
/* B8670C 8010F56C 02002025 */ move $a0, $s0
/* B86710 8010F570 0C03EF05 */ jal GfxPrint_Dtor
/* B86710 8010F570 0C03EF05 */ jal GfxPrint_Destroy
/* B86714 8010F574 AF220000 */ sw $v0, ($t9)
/* B86718 8010F578 8FBF0024 */ lw $ra, 0x24($sp)
/* B8671C 8010F57C 8FB00020 */ lw $s0, 0x20($sp)

View File

@ -134,7 +134,7 @@ glabel func_80815CE0
/* 024C8 80815CE8 27B00030 */ addiu $s0, $sp, 0x0030 ## $s0 = FFFFFFD0
/* 024CC 80815CEC AFBF0024 */ sw $ra, 0x0024($sp)
/* 024D0 80815CF0 AFA40060 */ sw $a0, 0x0060($sp)
/* 024D4 80815CF4 0C03EEE3 */ jal GfxPrint_Ctor
/* 024D4 80815CF4 0C03EEE3 */ jal GfxPrint_Init
/* 024D8 80815CF8 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFD0
/* 024DC 80815CFC 8FAE0060 */ lw $t6, 0x0060($sp)
/* 024E0 80815D00 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFD0
@ -344,7 +344,7 @@ glabel func_80815CE0
/* 0278C 80815FAC 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFD0
/* 02790 80815FB0 8FB80060 */ lw $t8, 0x0060($sp)
/* 02794 80815FB4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFD0
/* 02798 80815FB8 0C03EF05 */ jal GfxPrint_Dtor
/* 02798 80815FB8 0C03EF05 */ jal GfxPrint_Destroy
/* 0279C 80815FBC AF020000 */ sw $v0, 0x0000($t8) ## 00000000
/* 027A0 80815FC0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 027A4 80815FC4 8FB00020 */ lw $s0, 0x0020($sp)

View File

@ -30,8 +30,8 @@ glabel func_808106F4
/* 0CA20 80810760 3C028016 */ lui $v0, %hi(gSaveContext)
/* 0CA24 80810764 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 0CA28 80810768 AC40135C */ sw $zero, 0x135C($v0) ## 8015F9BC
/* 0CA2C 8081076C 3C198080 */ lui $t9, %hi(func_80801E44)
/* 0CA30 80810770 27391E44 */ addiu $t9, %lo(func_80801E44)
/* 0CA2C 8081076C 3C198080 */ lui $t9, %hi(Select_Init)
/* 0CA30 80810770 27391E44 */ addiu $t9, %lo(Select_Init)
/* 0CA34 80810774 24080240 */ addiu $t0, $zero, 0x0240 ## $t0 = 00000240
/* 0CA38 80810778 AE080010 */ sw $t0, 0x0010($s0) ## 00000010
/* 0CA3C 8081077C AE19000C */ sw $t9, 0x000C($s0) ## 0000000C

View File

@ -1,4 +1,4 @@
glabel func_80800CB4
glabel Select_UpdateMenu
/* 00124 80800CB4 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00128 80800CB8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0012C 80800CBC AFB00020 */ sw $s0, 0x0020($sp)

View File

@ -1,8 +0,0 @@
glabel func_80800B90
/* 00000 80800B90 3C0E8080 */ lui $t6, %hi(Title_Init)
/* 00004 80800B94 25CE0878 */ addiu $t6, %lo(Title_Init)
/* 00008 80800B98 240F01E8 */ addiu $t7, $zero, 0x01E8 ## $t7 = 000001E8
/* 0000C 80800B9C AC800098 */ sw $zero, 0x0098($a0) ## 00000098
/* 00010 80800BA0 AC8F0010 */ sw $t7, 0x0010($a0) ## 00000010
/* 00014 80800BA4 03E00008 */ jr $ra
/* 00018 80800BA8 AC8E000C */ sw $t6, 0x000C($a0) ## 0000000C

View File

@ -1,68 +0,0 @@
glabel func_80800BAC
/* 0001C 80800BAC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00020 80800BB0 AFA40020 */ sw $a0, 0x0020($sp)
/* 00024 80800BB4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00028 80800BB8 3C048080 */ lui $a0, %hi(D_808025E0) ## $a0 = 80800000
/* 0002C 80800BBC AFB00018 */ sw $s0, 0x0018($sp)
/* 00030 80800BC0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00034 80800BC4 0C00084C */ jal osSyncPrintf
/* 00038 80800BC8 248425E0 */ addiu $a0, $a0, %lo(D_808025E0) ## $a0 = 808025E0
/* 0003C 80800BCC 3C108016 */ lui $s0, %hi(gSaveContext)
/* 00040 80800BD0 2610E660 */ addiu $s0, %lo(gSaveContext)
/* 00044 80800BD4 3C048080 */ lui $a0, %hi(D_808025E8) ## $a0 = 80800000
/* 00048 80800BD8 248425E8 */ addiu $a0, $a0, %lo(D_808025E8) ## $a0 = 808025E8
/* 0004C 80800BDC 0C00084C */ jal osSyncPrintf
/* 00050 80800BE0 8E051354 */ lw $a1, 0x1354($s0) ## 8015F9B4
/* 00054 80800BE4 3C048080 */ lui $a0, %hi(D_80802604) ## $a0 = 80800000
/* 00058 80800BE8 0C00084C */ jal osSyncPrintf
/* 0005C 80800BEC 24842604 */ addiu $a0, $a0, %lo(D_80802604) ## $a0 = 80802604
/* 00060 80800BF0 8E0E1354 */ lw $t6, 0x1354($s0) ## 8015F9B4
/* 00064 80800BF4 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
/* 00068 80800BF8 55C1000A */ bnel $t6, $at, .L80800C24
/* 0006C 80800BFC 3C041000 */ lui $a0, 0x1000 ## $a0 = 10000000
/* 00070 80800C00 0C02A0B2 */ jal func_800A82C8
/* 00074 80800C04 00000000 */ nop
/* 00078 80800C08 820F0033 */ lb $t7, 0x0033($s0) ## 8015E693
/* 0007C 80800C0C A2000033 */ sb $zero, 0x0033($s0) ## 8015E693
/* 00080 80800C10 82180033 */ lb $t8, 0x0033($s0) ## 8015E693
/* 00084 80800C14 A60013F4 */ sh $zero, 0x13F4($s0) ## 8015FA54
/* 00088 80800C18 A60F13F6 */ sh $t7, 0x13F6($s0) ## 8015FA56
/* 0008C 80800C1C A2180032 */ sb $t8, 0x0032($s0) ## 8015E692
/* 00090 80800C20 3C041000 */ lui $a0, 0x1000 ## $a0 = 10000000
.L80800C24:
/* 00094 80800C24 A20013E6 */ sb $zero, 0x13E6($s0) ## 8015FA46
/* 00098 80800C28 A20013E5 */ sb $zero, 0x13E5($s0) ## 8015FA45
/* 0009C 80800C2C A20013E4 */ sb $zero, 0x13E4($s0) ## 8015FA44
/* 000A0 80800C30 A20013E3 */ sb $zero, 0x13E3($s0) ## 8015FA43
/* 000A4 80800C34 A20013E2 */ sb $zero, 0x13E2($s0) ## 8015FA42
/* 000A8 80800C38 A60013EC */ sh $zero, 0x13EC($s0) ## 8015FA4C
/* 000AC 80800C3C A60013EA */ sh $zero, 0x13EA($s0) ## 8015FA4A
/* 000B0 80800C40 A60013E8 */ sh $zero, 0x13E8($s0) ## 8015FA48
/* 000B4 80800C44 A20013E7 */ sb $zero, 0x13E7($s0) ## 8015FA47
/* 000B8 80800C48 0C03E803 */ jal Audio_SetBGM
/* 000BC 80800C4C 348400FF */ ori $a0, $a0, 0x00FF ## $a0 = 100000FF
/* 000C0 80800C50 8FAA0024 */ lw $t2, 0x0024($sp)
/* 000C4 80800C54 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF
/* 000C8 80800C58 8FA30020 */ lw $v1, 0x0020($sp)
/* 000CC 80800C5C 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
/* 000D0 80800C60 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 000D4 80800C64 AE001364 */ sw $zero, 0x1364($s0) ## 8015F9C4
/* 000D8 80800C68 A60B1378 */ sh $t3, 0x1378($s0) ## 8015F9D8
/* 000DC 80800C6C A20213E0 */ sb $v0, 0x13E0($s0) ## 8015FA40
/* 000E0 80800C70 A20213E1 */ sb $v0, 0x13E1($s0) ## 8015FA41
/* 000E4 80800C74 A20C13C7 */ sb $t4, 0x13C7($s0) ## 8015FA27
/* 000E8 80800C78 3C018012 */ lui $at, %hi(D_8011FB30)
/* 000EC 80800C7C AE0A0000 */ sw $t2, 0x0000($s0) ## 8015E660
/* 000F0 80800C80 A020FB30 */ sb $zero, %lo(D_8011FB30)($at)
/* 000F4 80800C84 3C0D800C */ lui $t5, %hi(Gameplay_Init)
/* 000F8 80800C88 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
/* 000FC 80800C8C 35CE2518 */ ori $t6, $t6, 0x2518 ## $t6 = 00012518
/* 00100 80800C90 25ADCA64 */ addiu $t5, %lo(Gameplay_Init)
/* 00104 80800C94 AC600098 */ sw $zero, 0x0098($v1) ## 00000098
/* 00108 80800C98 AC6D000C */ sw $t5, 0x000C($v1) ## 0000000C
/* 0010C 80800C9C AC6E0010 */ sw $t6, 0x0010($v1) ## 00000010
/* 00110 80800CA0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00114 80800CA4 8FB00018 */ lw $s0, 0x0018($sp)
/* 00118 80800CA8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0011C 80800CAC 03E00008 */ jr $ra
/* 00120 80800CB0 00000000 */ nop

View File

@ -1,126 +0,0 @@
glabel func_80801614
/* 00A84 80801614 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00A88 80801618 AFB30028 */ sw $s3, 0x0028($sp)
/* 00A8C 8080161C 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 00A90 80801620 AFB20024 */ sw $s2, 0x0024($sp)
/* 00A94 80801624 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 00A98 80801628 AFBF003C */ sw $ra, 0x003C($sp)
/* 00A9C 8080162C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00AA0 80801630 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 00AA4 80801634 AFB70038 */ sw $s7, 0x0038($sp)
/* 00AA8 80801638 AFB60034 */ sw $s6, 0x0034($sp)
/* 00AAC 8080163C AFB50030 */ sw $s5, 0x0030($sp)
/* 00AB0 80801640 AFB4002C */ sw $s4, 0x002C($sp)
/* 00AB4 80801644 AFB10020 */ sw $s1, 0x0020($sp)
/* 00AB8 80801648 AFB0001C */ sw $s0, 0x001C($sp)
/* 00ABC 8080164C AFAE0010 */ sw $t6, 0x0010($sp)
/* 00AC0 80801650 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00AC4 80801654 2406009B */ addiu $a2, $zero, 0x009B ## $a2 = 0000009B
/* 00AC8 80801658 0C03ECEB */ jal GfxPrint_SetColor
/* 00ACC 8080165C 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 00AD0 80801660 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00AD4 80801664 2405000C */ addiu $a1, $zero, 0x000C ## $a1 = 0000000C
/* 00AD8 80801668 0C03ED07 */ jal GfxPrint_SetPos
/* 00ADC 8080166C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00AE0 80801670 3C058080 */ lui $a1, %hi(D_808032D8) ## $a1 = 80800000
/* 00AE4 80801674 24A532D8 */ addiu $a1, $a1, %lo(D_808032D8) ## $a1 = 808032D8
/* 00AE8 80801678 0C03EF2D */ jal GfxPrint_Printf
/* 00AEC 8080167C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00AF0 80801680 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 00AF4 80801684 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00AF8 80801688 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00AFC 8080168C 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00B00 80801690 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00B04 80801694 0C03ECEB */ jal GfxPrint_SetColor
/* 00B08 80801698 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
/* 00B0C 8080169C 3C168080 */ lui $s6, %hi(D_808032F8) ## $s6 = 80800000
/* 00B10 808016A0 3C158080 */ lui $s5, %hi(D_808032EC) ## $s5 = 80800000
/* 00B14 808016A4 26B532EC */ addiu $s5, $s5, %lo(D_808032EC) ## $s5 = 808032EC
/* 00B18 808016A8 26D632F8 */ addiu $s6, $s6, %lo(D_808032F8) ## $s6 = 808032F8
/* 00B1C 808016AC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00B20 808016B0 24170014 */ addiu $s7, $zero, 0x0014 ## $s7 = 00000014
/* 00B24 808016B4 2414000C */ addiu $s4, $zero, 0x000C ## $s4 = 0000000C
/* 00B28 808016B8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
.L808016BC:
/* 00B2C 808016BC 24050009 */ addiu $a1, $zero, 0x0009 ## $a1 = 00000009
/* 00B30 808016C0 0C03ED07 */ jal GfxPrint_SetPos
/* 00B34 808016C4 26060004 */ addiu $a2, $s0, 0x0004 ## $a2 = 00000004
/* 00B38 808016C8 8E78020C */ lw $t8, 0x020C($s3) ## 0000020C
/* 00B3C 808016CC 8E6201D0 */ lw $v0, 0x01D0($s3) ## 000001D0
/* 00B40 808016D0 8E6901D8 */ lw $t1, 0x01D8($s3) ## 000001D8
/* 00B44 808016D4 0310C821 */ addu $t9, $t8, $s0
/* 00B48 808016D8 03224021 */ addu $t0, $t9, $v0
/* 00B4C 808016DC 0102001A */ div $zero, $t0, $v0
/* 00B50 808016E0 00008810 */ mfhi $s1
/* 00B54 808016E4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00B58 808016E8 14400002 */ bne $v0, $zero, .L808016F4
/* 00B5C 808016EC 00000000 */ nop
/* 00B60 808016F0 0007000D */ break 7
.L808016F4:
/* 00B64 808016F4 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 00B68 808016F8 14410004 */ bne $v0, $at, .L8080170C
/* 00B6C 808016FC 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00B70 80801700 15010002 */ bne $t0, $at, .L8080170C
/* 00B74 80801704 00000000 */ nop
/* 00B78 80801708 0006000D */ break 6
.L8080170C:
/* 00B7C 8080170C 240500C8 */ addiu $a1, $zero, 0x00C8 ## $a1 = 000000C8
/* 00B80 80801710 1629000A */ bne $s1, $t1, .L8080173C
/* 00B84 80801714 240600C8 */ addiu $a2, $zero, 0x00C8 ## $a2 = 000000C8
/* 00B88 80801718 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 00B8C 8080171C AFAA0010 */ sw $t2, 0x0010($sp)
/* 00B90 80801720 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00B94 80801724 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00B98 80801728 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00B9C 8080172C 0C03ECEB */ jal GfxPrint_SetColor
/* 00BA0 80801730 24070014 */ addiu $a3, $zero, 0x0014 ## $a3 = 00000014
/* 00BA4 80801734 10000005 */ beq $zero, $zero, .L8080174C
/* 00BA8 80801738 00000000 */ nop
.L8080173C:
/* 00BAC 8080173C 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
/* 00BB0 80801740 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00BB4 80801744 0C03ECEB */ jal GfxPrint_SetColor
/* 00BB8 80801748 24070037 */ addiu $a3, $zero, 0x0037 ## $a3 = 00000037
.L8080174C:
/* 00BBC 8080174C 02340019 */ multu $s1, $s4
/* 00BC0 80801750 8E6C01D4 */ lw $t4, 0x01D4($s3) ## 000001D4
/* 00BC4 80801754 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00BC8 80801758 00006812 */ mflo $t5
/* 00BCC 8080175C 018D7021 */ addu $t6, $t4, $t5
/* 00BD0 80801760 8DC60000 */ lw $a2, 0x0000($t6) ## 00000000
/* 00BD4 80801764 14C00002 */ bne $a2, $zero, .L80801770
/* 00BD8 80801768 00000000 */ nop
/* 00BDC 8080176C 02A03025 */ or $a2, $s5, $zero ## $a2 = 808032EC
.L80801770:
/* 00BE0 80801770 0C03EF2D */ jal GfxPrint_Printf
/* 00BE4 80801774 02C02825 */ or $a1, $s6, $zero ## $a1 = 808032F8
/* 00BE8 80801778 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00BEC 8080177C 5617FFCF */ bnel $s0, $s7, .L808016BC
/* 00BF0 80801780 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00BF4 80801784 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 00BF8 80801788 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00BFC 8080178C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00C00 80801790 2405009B */ addiu $a1, $zero, 0x009B ## $a1 = 0000009B
/* 00C04 80801794 24060037 */ addiu $a2, $zero, 0x0037 ## $a2 = 00000037
/* 00C08 80801798 0C03ECEB */ jal GfxPrint_SetColor
/* 00C0C 8080179C 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 00C10 808017A0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00C14 808017A4 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
/* 00C18 808017A8 0C03ED07 */ jal GfxPrint_SetPos
/* 00C1C 808017AC 2406001A */ addiu $a2, $zero, 0x001A ## $a2 = 0000001A
/* 00C20 808017B0 3C058080 */ lui $a1, %hi(D_808032FC) ## $a1 = 80800000
/* 00C24 808017B4 24A532FC */ addiu $a1, $a1, %lo(D_808032FC) ## $a1 = 808032FC
/* 00C28 808017B8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00C2C 808017BC 0C03EF2D */ jal GfxPrint_Printf
/* 00C30 808017C0 8E660208 */ lw $a2, 0x0208($s3) ## 00000208
/* 00C34 808017C4 8FBF003C */ lw $ra, 0x003C($sp)
/* 00C38 808017C8 8FB0001C */ lw $s0, 0x001C($sp)
/* 00C3C 808017CC 8FB10020 */ lw $s1, 0x0020($sp)
/* 00C40 808017D0 8FB20024 */ lw $s2, 0x0024($sp)
/* 00C44 808017D4 8FB30028 */ lw $s3, 0x0028($sp)
/* 00C48 808017D8 8FB4002C */ lw $s4, 0x002C($sp)
/* 00C4C 808017DC 8FB50030 */ lw $s5, 0x0030($sp)
/* 00C50 808017E0 8FB60034 */ lw $s6, 0x0034($sp)
/* 00C54 808017E4 8FB70038 */ lw $s7, 0x0038($sp)
/* 00C58 808017E8 03E00008 */ jr $ra
/* 00C5C 808017EC 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View File

@ -1,36 +0,0 @@
glabel func_808017F0
/* 00C60 808017F0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00C64 808017F4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00C68 808017F8 AFBF001C */ sw $ra, 0x001C($sp)
/* 00C6C 808017FC AFA50024 */ sw $a1, 0x0024($sp)
/* 00C70 80801800 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00C74 80801804 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 00C78 80801808 0C03ED07 */ jal GfxPrint_SetPos
/* 00C7C 8080180C 2406000F */ addiu $a2, $zero, 0x000F ## $a2 = 0000000F
/* 00C80 80801810 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 00C84 80801814 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00C88 80801818 8FA40024 */ lw $a0, 0x0024($sp)
/* 00C8C 8080181C 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00C90 80801820 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00C94 80801824 0C03ECEB */ jal GfxPrint_SetColor
/* 00C98 80801828 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
/* 00C9C 8080182C 0C03F66B */ jal Math_Rand_ZeroOne ## Rand.Next() float
/* 00CA0 80801830 00000000 */ nop
/* 00CA4 80801834 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 00CA8 80801838 44812000 */ mtc1 $at, $f4 ## $f4 = 12.00
/* 00CAC 8080183C 3C068080 */ lui $a2, %hi(D_808025A8) ## $a2 = 80800000
/* 00CB0 80801840 3C058080 */ lui $a1, %hi(D_8080344C) ## $a1 = 80800000
/* 00CB4 80801844 46040182 */ mul.s $f6, $f0, $f4
/* 00CB8 80801848 24A5344C */ addiu $a1, $a1, %lo(D_8080344C) ## $a1 = 8080344C
/* 00CBC 8080184C 8FA40024 */ lw $a0, 0x0024($sp)
/* 00CC0 80801850 4600320D */ trunc.w.s $f8, $f6
/* 00CC4 80801854 44184000 */ mfc1 $t8, $f8
/* 00CC8 80801858 00000000 */ nop
/* 00CCC 8080185C 0018C880 */ sll $t9, $t8, 2
/* 00CD0 80801860 00D93021 */ addu $a2, $a2, $t9
/* 00CD4 80801864 0C03EF2D */ jal GfxPrint_Printf
/* 00CD8 80801868 8CC625A8 */ lw $a2, %lo(D_808025A8)($a2)
/* 00CDC 8080186C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00CE0 80801870 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00CE4 80801874 03E00008 */ jr $ra
/* 00CE8 80801878 00000000 */ nop

View File

@ -1,30 +0,0 @@
glabel func_8080187C
/* 00CEC 8080187C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00CF0 80801880 AFA40020 */ sw $a0, 0x0020($sp)
/* 00CF4 80801884 AFBF001C */ sw $ra, 0x001C($sp)
/* 00CF8 80801888 AFA50024 */ sw $a1, 0x0024($sp)
/* 00CFC 8080188C AFA60028 */ sw $a2, 0x0028($sp)
/* 00D00 80801890 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00D04 80801894 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 00D08 80801898 0C03ED07 */ jal GfxPrint_SetPos
/* 00D0C 8080189C 2406001A */ addiu $a2, $zero, 0x001A ## $a2 = 0000001A
/* 00D10 808018A0 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 00D14 808018A4 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00D18 808018A8 8FA40024 */ lw $a0, 0x0024($sp)
/* 00D1C 808018AC 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00D20 808018B0 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00D24 808018B4 0C03ECEB */ jal GfxPrint_SetColor
/* 00D28 808018B8 24070037 */ addiu $a3, $zero, 0x0037 ## $a3 = 00000037
/* 00D2C 808018BC 8FAF0028 */ lw $t7, 0x0028($sp)
/* 00D30 808018C0 3C068080 */ lui $a2, %hi(D_808025D8) ## $a2 = 80800000
/* 00D34 808018C4 3C058080 */ lui $a1, %hi(D_80803470) ## $a1 = 80800000
/* 00D38 808018C8 000FC080 */ sll $t8, $t7, 2
/* 00D3C 808018CC 00D83021 */ addu $a2, $a2, $t8
/* 00D40 808018D0 8CC625D8 */ lw $a2, %lo(D_808025D8)($a2)
/* 00D44 808018D4 24A53470 */ addiu $a1, $a1, %lo(D_80803470) ## $a1 = 80803470
/* 00D48 808018D8 0C03EF2D */ jal GfxPrint_Printf
/* 00D4C 808018DC 8FA40024 */ lw $a0, 0x0024($sp)
/* 00D50 808018E0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00D54 808018E4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00D58 808018E8 03E00008 */ jr $ra
/* 00D5C 808018EC 00000000 */ nop

View File

@ -1,127 +0,0 @@
glabel func_808018F0
/* 00D60 808018F0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00D64 808018F4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00D68 808018F8 AFBF001C */ sw $ra, 0x001C($sp)
/* 00D6C 808018FC AFA5002C */ sw $a1, 0x002C($sp)
/* 00D70 80801900 AFA60030 */ sw $a2, 0x0030($sp)
/* 00D74 80801904 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00D78 80801908 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 00D7C 8080190C 0C03ED07 */ jal GfxPrint_SetPos
/* 00D80 80801910 24060019 */ addiu $a2, $zero, 0x0019 ## $a2 = 00000019
/* 00D84 80801914 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 00D88 80801918 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00D8C 8080191C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00D90 80801920 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00D94 80801924 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00D98 80801928 0C03ECEB */ jal GfxPrint_SetColor
/* 00D9C 8080192C 24070037 */ addiu $a3, $zero, 0x0037 ## $a3 = 00000037
/* 00DA0 80801930 97A20032 */ lhu $v0, 0x0032($sp)
/* 00DA4 80801934 34018001 */ ori $at, $zero, 0x8001 ## $at = 00008001
/* 00DA8 80801938 0041082A */ slt $at, $v0, $at
/* 00DAC 8080193C 1420000B */ bne $at, $zero, .L8080196C
/* 00DB0 80801940 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
/* 00DB4 80801944 34210010 */ ori $at, $at, 0x0010 ## $at = FFFF0010
/* 00DB8 80801948 00417821 */ addu $t7, $v0, $at
/* 00DBC 8080194C 2DE1000B */ sltiu $at, $t7, 0x000B
/* 00DC0 80801950 10200049 */ beq $at, $zero, .L80801A78
/* 00DC4 80801954 000F7880 */ sll $t7, $t7, 2
/* 00DC8 80801958 3C018080 */ lui $at, %hi(jtbl_808035EC) ## $at = 80800000
/* 00DCC 8080195C 002F0821 */ addu $at, $at, $t7
/* 00DD0 80801960 8C2F35EC */ lw $t7, %lo(jtbl_808035EC)($at)
/* 00DD4 80801964 01E00008 */ jr $t7
/* 00DD8 80801968 00000000 */ nop
.L8080196C:
/* 00DDC 8080196C 10400006 */ beq $v0, $zero, .L80801988
/* 00DE0 80801970 3C188080 */ lui $t8, %hi(D_80803478) ## $t8 = 80800000
/* 00DE4 80801974 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00DE8 80801978 10410009 */ beq $v0, $at, .L808019A0
/* 00DEC 8080197C 34198000 */ ori $t9, $zero, 0x8000 ## $t9 = 00008000
/* 00DF0 80801980 1000003D */ beq $zero, $zero, .L80801A78
/* 00DF4 80801984 00000000 */ nop
.L80801988:
/* 00DF8 80801988 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00DFC 8080198C 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00E00 80801990 27183478 */ addiu $t8, $t8, %lo(D_80803478) ## $t8 = 80803478
/* 00E04 80801994 AFB80024 */ sw $t8, 0x0024($sp)
/* 00E08 80801998 10000037 */ beq $zero, $zero, .L80801A78
/* 00E0C 8080199C A440000C */ sh $zero, 0x000C($v0) ## 8015E66C
.L808019A0:
/* 00E10 808019A0 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00E14 808019A4 3C088080 */ lui $t0, %hi(D_8080348C) ## $t0 = 80800000
/* 00E18 808019A8 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00E1C 808019AC 2508348C */ addiu $t0, $t0, %lo(D_8080348C) ## $t0 = 8080348C
/* 00E20 808019B0 AFA80024 */ sw $t0, 0x0024($sp)
/* 00E24 808019B4 10000030 */ beq $zero, $zero, .L80801A78
/* 00E28 808019B8 A459000C */ sh $t9, 0x000C($v0) ## 8015E66C
glabel L808019BC
/* 00E2C 808019BC 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00E30 808019C0 3C0A8080 */ lui $t2, %hi(D_808034A0) ## $t2 = 80800000
/* 00E34 808019C4 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00E38 808019C8 254A34A0 */ addiu $t2, $t2, %lo(D_808034A0) ## $t2 = 808034A0
/* 00E3C 808019CC 34098000 */ ori $t1, $zero, 0x8000 ## $t1 = 00008000
/* 00E40 808019D0 A449000C */ sh $t1, 0x000C($v0) ## 8015E66C
/* 00E44 808019D4 10000028 */ beq $zero, $zero, .L80801A78
/* 00E48 808019D8 AFAA0024 */ sw $t2, 0x0024($sp)
glabel L808019DC
/* 00E4C 808019DC 3C0B8080 */ lui $t3, %hi(D_808034AC) ## $t3 = 80800000
/* 00E50 808019E0 256B34AC */ addiu $t3, $t3, %lo(D_808034AC) ## $t3 = 808034AC
/* 00E54 808019E4 10000024 */ beq $zero, $zero, .L80801A78
/* 00E58 808019E8 AFAB0024 */ sw $t3, 0x0024($sp)
glabel L808019EC
/* 00E5C 808019EC 3C0C8080 */ lui $t4, %hi(D_808034B8) ## $t4 = 80800000
/* 00E60 808019F0 258C34B8 */ addiu $t4, $t4, %lo(D_808034B8) ## $t4 = 808034B8
/* 00E64 808019F4 10000020 */ beq $zero, $zero, .L80801A78
/* 00E68 808019F8 AFAC0024 */ sw $t4, 0x0024($sp)
glabel L808019FC
/* 00E6C 808019FC 3C0D8080 */ lui $t5, %hi(D_808034C4) ## $t5 = 80800000
/* 00E70 80801A00 25AD34C4 */ addiu $t5, $t5, %lo(D_808034C4) ## $t5 = 808034C4
/* 00E74 80801A04 1000001C */ beq $zero, $zero, .L80801A78
/* 00E78 80801A08 AFAD0024 */ sw $t5, 0x0024($sp)
glabel L80801A0C
/* 00E7C 80801A0C 3C0E8080 */ lui $t6, %hi(D_808034D0) ## $t6 = 80800000
/* 00E80 80801A10 25CE34D0 */ addiu $t6, $t6, %lo(D_808034D0) ## $t6 = 808034D0
/* 00E84 80801A14 10000018 */ beq $zero, $zero, .L80801A78
/* 00E88 80801A18 AFAE0024 */ sw $t6, 0x0024($sp)
glabel L80801A1C
/* 00E8C 80801A1C 3C0F8080 */ lui $t7, %hi(D_808034DC) ## $t7 = 80800000
/* 00E90 80801A20 25EF34DC */ addiu $t7, $t7, %lo(D_808034DC) ## $t7 = 808034DC
/* 00E94 80801A24 10000014 */ beq $zero, $zero, .L80801A78
/* 00E98 80801A28 AFAF0024 */ sw $t7, 0x0024($sp)
glabel L80801A2C
/* 00E9C 80801A2C 3C188080 */ lui $t8, %hi(D_808034E8) ## $t8 = 80800000
/* 00EA0 80801A30 271834E8 */ addiu $t8, $t8, %lo(D_808034E8) ## $t8 = 808034E8
/* 00EA4 80801A34 10000010 */ beq $zero, $zero, .L80801A78
/* 00EA8 80801A38 AFB80024 */ sw $t8, 0x0024($sp)
glabel L80801A3C
/* 00EAC 80801A3C 3C198080 */ lui $t9, %hi(D_808034F4) ## $t9 = 80800000
/* 00EB0 80801A40 273934F4 */ addiu $t9, $t9, %lo(D_808034F4) ## $t9 = 808034F4
/* 00EB4 80801A44 1000000C */ beq $zero, $zero, .L80801A78
/* 00EB8 80801A48 AFB90024 */ sw $t9, 0x0024($sp)
glabel L80801A4C
/* 00EBC 80801A4C 3C088080 */ lui $t0, %hi(D_80803500) ## $t0 = 80800000
/* 00EC0 80801A50 25083500 */ addiu $t0, $t0, %lo(D_80803500) ## $t0 = 80803500
/* 00EC4 80801A54 10000008 */ beq $zero, $zero, .L80801A78
/* 00EC8 80801A58 AFA80024 */ sw $t0, 0x0024($sp)
glabel L80801A5C
/* 00ECC 80801A5C 3C098080 */ lui $t1, %hi(D_8080350C) ## $t1 = 80800000
/* 00ED0 80801A60 2529350C */ addiu $t1, $t1, %lo(D_8080350C) ## $t1 = 8080350C
/* 00ED4 80801A64 10000004 */ beq $zero, $zero, .L80801A78
/* 00ED8 80801A68 AFA90024 */ sw $t1, 0x0024($sp)
glabel L80801A6C
/* 00EDC 80801A6C 3C0A8080 */ lui $t2, %hi(D_80803518) ## $t2 = 80800000
/* 00EE0 80801A70 254A3518 */ addiu $t2, $t2, %lo(D_80803518) ## $t2 = 80803518
/* 00EE4 80801A74 AFAA0024 */ sw $t2, 0x0024($sp)
.L80801A78:
/* 00EE8 80801A78 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00EEC 80801A7C 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00EF0 80801A80 944B000C */ lhu $t3, 0x000C($v0) ## 8015E66C
/* 00EF4 80801A84 3C058080 */ lui $a1, %hi(D_80803524) ## $a1 = 80800000
/* 00EF8 80801A88 24A53524 */ addiu $a1, $a1, %lo(D_80803524) ## $a1 = 80803524
/* 00EFC 80801A8C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00F00 80801A90 8FA60024 */ lw $a2, 0x0024($sp)
/* 00F04 80801A94 0C03EF2D */ jal GfxPrint_Printf
/* 00F08 80801A98 A44B141A */ sh $t3, 0x141A($v0) ## 8015FA7A
/* 00F0C 80801A9C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00F10 80801AA0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00F14 80801AA4 03E00008 */ jr $ra
/* 00F18 80801AA8 00000000 */ nop

View File

@ -1,82 +0,0 @@
glabel func_80801AAC
/* 00F1C 80801AAC 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 00F20 80801AB0 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00F24 80801AB4 AFBE0030 */ sw $s8, 0x0030($sp)
/* 00F28 80801AB8 AFB2002C */ sw $s2, 0x002C($sp)
/* 00F2C 80801ABC AFB10028 */ sw $s1, 0x0028($sp)
/* 00F30 80801AC0 AFB00024 */ sw $s0, 0x0024($sp)
/* 00F34 80801AC4 8C910000 */ lw $s1, 0x0000($a0) ## 00000000
/* 00F38 80801AC8 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00F3C 80801ACC 3C068080 */ lui $a2, %hi(D_80803530) ## $a2 = 80800000
/* 00F40 80801AD0 03A0F025 */ or $s8, $sp, $zero ## $s8 = FFFFFF90
/* 00F44 80801AD4 24C63530 */ addiu $a2, $a2, %lo(D_80803530) ## $a2 = 80803530
/* 00F48 80801AD8 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFE4
/* 00F4C 80801ADC 240703A2 */ addiu $a3, $zero, 0x03A2 ## $a3 = 000003A2
/* 00F50 80801AE0 0C031AB1 */ jal Graph_OpenDisps
/* 00F54 80801AE4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00F58 80801AE8 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
/* 00F5C 80801AEC 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 00F60 80801AF0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00F64 80801AF4 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 00F68 80801AF8 AE2E02C0 */ sw $t6, 0x02C0($s1) ## 000002C0
/* 00F6C 80801AFC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00F70 80801B00 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00F74 80801B04 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00F78 80801B08 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 00F7C 80801B0C 0C025492 */ jal func_80095248
/* 00F80 80801B10 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 00F84 80801B14 241800F0 */ addiu $t8, $zero, 0x00F0 ## $t8 = 000000F0
/* 00F88 80801B18 24190140 */ addiu $t9, $zero, 0x0140 ## $t9 = 00000140
/* 00F8C 80801B1C 265000A8 */ addiu $s0, $s2, 0x00A8 ## $s0 = 000000A8
/* 00F90 80801B20 02002025 */ or $a0, $s0, $zero ## $a0 = 000000A8
/* 00F94 80801B24 AFD9004C */ sw $t9, 0x004C($s8) ## FFFFFFDC
/* 00F98 80801B28 AFD80044 */ sw $t8, 0x0044($s8) ## FFFFFFD4
/* 00F9C 80801B2C AFC00040 */ sw $zero, 0x0040($s8) ## FFFFFFD0
/* 00FA0 80801B30 AFC00048 */ sw $zero, 0x0048($s8) ## FFFFFFD8
/* 00FA4 80801B34 0C02A93F */ jal View_SetViewport
/* 00FA8 80801B38 27C50040 */ addiu $a1, $s8, 0x0040 ## $a1 = FFFFFFD0
/* 00FAC 80801B3C 02002025 */ or $a0, $s0, $zero ## $a0 = 000000A8
/* 00FB0 80801B40 0C02AA94 */ jal func_800AAA50
/* 00FB4 80801B44 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
/* 00FB8 80801B48 0C025050 */ jal func_80094140
/* 00FBC 80801B4C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00FC0 80801B50 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFF60
/* 00FC4 80801B54 27B00010 */ addiu $s0, $sp, 0x0010 ## $s0 = FFFFFF70
/* 00FC8 80801B58 0C03EEE3 */ jal GfxPrint_Ctor
/* 00FCC 80801B5C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 00FD0 80801B60 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 00FD4 80801B64 0C03EF07 */ jal GfxPrint_Open
/* 00FD8 80801B68 8E2502C0 */ lw $a1, 0x02C0($s1) ## 000002C0
/* 00FDC 80801B6C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00FE0 80801B70 0C200585 */ jal func_80801614
/* 00FE4 80801B74 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF70
/* 00FE8 80801B78 3C078016 */ lui $a3, %hi(gSaveContext+4)
/* 00FEC 80801B7C 8CE6E664 */ lw $a2, %lo(gSaveContext+4)($a3)
/* 00FF0 80801B80 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00FF4 80801B84 0C20061F */ jal func_8080187C
/* 00FF8 80801B88 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF70
/* 00FFC 80801B8C 3C078016 */ lui $a3, %hi(gSaveContext+8)
/* 01000 80801B90 8CE7E668 */ lw $a3, %lo(gSaveContext+8)($a3)
/* 01004 80801B94 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 01008 80801B98 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF70
/* 0100C 80801B9C 0C20063C */ jal func_808018F0
/* 01010 80801BA0 30E6FFFF */ andi $a2, $a3, 0xFFFF ## $a2 = 00000000
/* 01014 80801BA4 0C03EF19 */ jal GfxPrint_Close
/* 01018 80801BA8 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 0101C 80801BAC AE2202C0 */ sw $v0, 0x02C0($s1) ## 000002C0
/* 01020 80801BB0 0C03EF05 */ jal GfxPrint_Dtor
/* 01024 80801BB4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 01028 80801BB8 3C068080 */ lui $a2, %hi(D_80803540) ## $a2 = 80800000
/* 0102C 80801BBC 24C63540 */ addiu $a2, $a2, %lo(D_80803540) ## $a2 = 80803540
/* 01030 80801BC0 27C40054 */ addiu $a0, $s8, 0x0054 ## $a0 = FFFFFFE4
/* 01034 80801BC4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01038 80801BC8 0C031AD5 */ jal Graph_CloseDisps
/* 0103C 80801BCC 240703C6 */ addiu $a3, $zero, 0x03C6 ## $a3 = 000003C6
/* 01040 80801BD0 8FDF0034 */ lw $ra, 0x0034($s8) ## FFFFFFC4
/* 01044 80801BD4 03C0E825 */ or $sp, $s8, $zero ## $sp = FFFFFF90
/* 01048 80801BD8 8FD00024 */ lw $s0, 0x0024($s8) ## FFFFFFB4
/* 0104C 80801BDC 8FD10028 */ lw $s1, 0x0028($s8) ## FFFFFFB8
/* 01050 80801BE0 8FD2002C */ lw $s2, 0x002C($s8) ## FFFFFFBC
/* 01054 80801BE4 8FDE0030 */ lw $s8, 0x0030($s8) ## FFFFFFC0
/* 01058 80801BE8 03E00008 */ jr $ra
/* 0105C 80801BEC 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000

View File

@ -1,70 +0,0 @@
glabel func_80801BF0
/* 01060 80801BF0 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 01064 80801BF4 AFBF0034 */ sw $ra, 0x0034($sp)
/* 01068 80801BF8 AFBE0030 */ sw $s8, 0x0030($sp)
/* 0106C 80801BFC AFB1002C */ sw $s1, 0x002C($sp)
/* 01070 80801C00 AFB00028 */ sw $s0, 0x0028($sp)
/* 01074 80801C04 AFA40070 */ sw $a0, 0x0070($sp)
/* 01078 80801C08 8C910000 */ lw $s1, 0x0000($a0) ## 00000000
/* 0107C 80801C0C 3C068080 */ lui $a2, %hi(D_80803550) ## $a2 = 80800000
/* 01080 80801C10 03A0F025 */ or $s8, $sp, $zero ## $s8 = FFFFFF90
/* 01084 80801C14 24C63550 */ addiu $a2, $a2, %lo(D_80803550) ## $a2 = 80803550
/* 01088 80801C18 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFE4
/* 0108C 80801C1C 240703D1 */ addiu $a3, $zero, 0x03D1 ## $a3 = 000003D1
/* 01090 80801C20 0C031AB1 */ jal Graph_OpenDisps
/* 01094 80801C24 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01098 80801C28 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
/* 0109C 80801C2C 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
/* 010A0 80801C30 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 010A4 80801C34 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 010A8 80801C38 AE2F02C0 */ sw $t7, 0x02C0($s1) ## 000002C0
/* 010AC 80801C3C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 010B0 80801C40 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 010B4 80801C44 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 010B8 80801C48 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 010BC 80801C4C 0C025492 */ jal func_80095248
/* 010C0 80801C50 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 010C4 80801C54 8FD00070 */ lw $s0, 0x0070($s8) ## 00000000
/* 010C8 80801C58 241900F0 */ addiu $t9, $zero, 0x00F0 ## $t9 = 000000F0
/* 010CC 80801C5C 24080140 */ addiu $t0, $zero, 0x0140 ## $t0 = 00000140
/* 010D0 80801C60 261000A8 */ addiu $s0, $s0, 0x00A8 ## $s0 = 000000A8
/* 010D4 80801C64 02002025 */ or $a0, $s0, $zero ## $a0 = 000000A8
/* 010D8 80801C68 AFC8004C */ sw $t0, 0x004C($s8) ## FFFFFFDC
/* 010DC 80801C6C AFD90044 */ sw $t9, 0x0044($s8) ## FFFFFFD4
/* 010E0 80801C70 AFC00040 */ sw $zero, 0x0040($s8) ## FFFFFFD0
/* 010E4 80801C74 AFC00048 */ sw $zero, 0x0048($s8) ## FFFFFFD8
/* 010E8 80801C78 0C02A93F */ jal View_SetViewport
/* 010EC 80801C7C 27C50040 */ addiu $a1, $s8, 0x0040 ## $a1 = FFFFFFD0
/* 010F0 80801C80 02002025 */ or $a0, $s0, $zero ## $a0 = 000000A8
/* 010F4 80801C84 0C02AA94 */ jal func_800AAA50
/* 010F8 80801C88 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
/* 010FC 80801C8C 0C025050 */ jal func_80094140
/* 01100 80801C90 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01104 80801C94 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFF60
/* 01108 80801C98 27B00010 */ addiu $s0, $sp, 0x0010 ## $s0 = FFFFFF70
/* 0110C 80801C9C 0C03EEE3 */ jal GfxPrint_Ctor
/* 01110 80801CA0 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 01114 80801CA4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 01118 80801CA8 0C03EF07 */ jal GfxPrint_Open
/* 0111C 80801CAC 8E2502C0 */ lw $a1, 0x02C0($s1) ## 000002C0
/* 01120 80801CB0 8FC40070 */ lw $a0, 0x0070($s8) ## 00000000
/* 01124 80801CB4 0C2005FC */ jal func_808017F0
/* 01128 80801CB8 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF70
/* 0112C 80801CBC 0C03EF19 */ jal GfxPrint_Close
/* 01130 80801CC0 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 01134 80801CC4 AE2202C0 */ sw $v0, 0x02C0($s1) ## 000002C0
/* 01138 80801CC8 0C03EF05 */ jal GfxPrint_Dtor
/* 0113C 80801CCC 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF70
/* 01140 80801CD0 3C068080 */ lui $a2, %hi(D_80803560) ## $a2 = 80800000
/* 01144 80801CD4 24C63560 */ addiu $a2, $a2, %lo(D_80803560) ## $a2 = 80803560
/* 01148 80801CD8 27C40054 */ addiu $a0, $s8, 0x0054 ## $a0 = FFFFFFE4
/* 0114C 80801CDC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01150 80801CE0 0C031AD5 */ jal Graph_CloseDisps
/* 01154 80801CE4 240703EE */ addiu $a3, $zero, 0x03EE ## $a3 = 000003EE
/* 01158 80801CE8 8FDF0034 */ lw $ra, 0x0034($s8) ## FFFFFFC4
/* 0115C 80801CEC 03C0E825 */ or $sp, $s8, $zero ## $sp = FFFFFF90
/* 01160 80801CF0 8FD00028 */ lw $s0, 0x0028($s8) ## FFFFFFB8
/* 01164 80801CF4 8FD1002C */ lw $s1, 0x002C($s8) ## FFFFFFBC
/* 01168 80801CF8 8FDE0030 */ lw $s8, 0x0030($s8) ## FFFFFFC0
/* 0116C 80801CFC 03E00008 */ jr $ra
/* 01170 80801D00 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000

View File

@ -1,59 +0,0 @@
glabel func_80801D04
/* 01174 80801D04 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 01178 80801D08 AFBF001C */ sw $ra, 0x001C($sp)
/* 0117C 80801D0C AFB10018 */ sw $s1, 0x0018($sp)
/* 01180 80801D10 AFB00014 */ sw $s0, 0x0014($sp)
/* 01184 80801D14 8C910000 */ lw $s1, 0x0000($a0) ## 00000000
/* 01188 80801D18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0118C 80801D1C 3C068080 */ lui $a2, %hi(D_80803570) ## $a2 = 80800000
/* 01190 80801D20 24C63570 */ addiu $a2, $a2, %lo(D_80803570) ## $a2 = 80803570
/* 01194 80801D24 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 01198 80801D28 240703F5 */ addiu $a3, $zero, 0x03F5 ## $a3 = 000003F5
/* 0119C 80801D2C 0C031AB1 */ jal Graph_OpenDisps
/* 011A0 80801D30 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 011A4 80801D34 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
/* 011A8 80801D38 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 011AC 80801D3C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 011B0 80801D40 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 011B4 80801D44 AE2E02C0 */ sw $t6, 0x02C0($s1) ## 000002C0
/* 011B8 80801D48 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 011BC 80801D4C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 011C0 80801D50 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 011C4 80801D54 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 011C8 80801D58 0C025492 */ jal func_80095248
/* 011CC 80801D5C AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 011D0 80801D60 241800F0 */ addiu $t8, $zero, 0x00F0 ## $t8 = 000000F0
/* 011D4 80801D64 24190140 */ addiu $t9, $zero, 0x0140 ## $t9 = 00000140
/* 011D8 80801D68 260400A8 */ addiu $a0, $s0, 0x00A8 ## $a0 = 000000A8
/* 011DC 80801D6C AFA40020 */ sw $a0, 0x0020($sp)
/* 011E0 80801D70 AFB90030 */ sw $t9, 0x0030($sp)
/* 011E4 80801D74 AFB80028 */ sw $t8, 0x0028($sp)
/* 011E8 80801D78 AFA00024 */ sw $zero, 0x0024($sp)
/* 011EC 80801D7C AFA0002C */ sw $zero, 0x002C($sp)
/* 011F0 80801D80 0C02A93F */ jal View_SetViewport
/* 011F4 80801D84 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFD4
/* 011F8 80801D88 8FA40020 */ lw $a0, 0x0020($sp)
/* 011FC 80801D8C 0C02AA94 */ jal func_800AAA50
/* 01200 80801D90 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
/* 01204 80801D94 8E080098 */ lw $t0, 0x0098($s0) ## 00000098
/* 01208 80801D98 15000005 */ bne $t0, $zero, .L80801DB0
/* 0120C 80801D9C 00000000 */ nop
/* 01210 80801DA0 0C2006FC */ jal func_80801BF0
/* 01214 80801DA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01218 80801DA8 10000003 */ beq $zero, $zero, .L80801DB8
/* 0121C 80801DAC 00000000 */ nop
.L80801DB0:
/* 01220 80801DB0 0C2006AB */ jal func_80801AAC
/* 01224 80801DB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80801DB8:
/* 01228 80801DB8 3C068080 */ lui $a2, %hi(D_80803580) ## $a2 = 80800000
/* 0122C 80801DBC 24C63580 */ addiu $a2, $a2, %lo(D_80803580) ## $a2 = 80803580
/* 01230 80801DC0 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 01234 80801DC4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01238 80801DC8 0C031AD5 */ jal Graph_CloseDisps
/* 0123C 80801DCC 2407040D */ addiu $a3, $zero, 0x040D ## $a3 = 0000040D
/* 01240 80801DD0 8FBF001C */ lw $ra, 0x001C($sp)
/* 01244 80801DD4 8FB00014 */ lw $s0, 0x0014($sp)
/* 01248 80801DD8 8FB10018 */ lw $s1, 0x0018($sp)
/* 0124C 80801DDC 03E00008 */ jr $ra
/* 01250 80801DE0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View File

@ -1,11 +0,0 @@
glabel func_80801DE4
/* 01254 80801DE4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01258 80801DE8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0125C 80801DEC 0C20032D */ jal func_80800CB4
/* 01260 80801DF0 AFA40018 */ sw $a0, 0x0018($sp)
/* 01264 80801DF4 0C200741 */ jal func_80801D04
/* 01268 80801DF8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0126C 80801DFC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01270 80801E00 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01274 80801E04 03E00008 */ jr $ra
/* 01278 80801E08 00000000 */ nop

View File

@ -1,15 +0,0 @@
glabel func_80801E0C
/* 0127C 80801E0C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01280 80801E10 AFA40018 */ sw $a0, 0x0018($sp)
/* 01284 80801E14 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01288 80801E18 3C048080 */ lui $a0, %hi(D_80803590) ## $a0 = 80800000
/* 0128C 80801E1C 24843590 */ addiu $a0, $a0, %lo(D_80803590) ## $a0 = 80803590
/* 01290 80801E20 0C00084C */ jal osSyncPrintf
/* 01294 80801E24 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007
/* 01298 80801E28 3C048080 */ lui $a0, %hi(D_80803594) ## $a0 = 80800000
/* 0129C 80801E2C 0C00084C */ jal osSyncPrintf
/* 012A0 80801E30 24843594 */ addiu $a0, $a0, %lo(D_80803594) ## $a0 = 80803594
/* 012A4 80801E34 8FBF0014 */ lw $ra, 0x0014($sp)
/* 012A8 80801E38 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 012AC 80801E3C 03E00008 */ jr $ra
/* 012B0 80801E40 00000000 */ nop

View File

@ -1,97 +0,0 @@
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)
/* 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
/* 012CC 80801E5C 25CE1DE4 */ addiu $t6, $t6, %lo(func_80801DE4) ## $t6 = 80801DE4
/* 012D0 80801E60 25EF1E0C */ addiu $t7, $t7, %lo(func_80801E0C) ## $t7 = 80801E0C
/* 012D4 80801E64 27181FC0 */ addiu $t8, $t8, %lo(D_80801FC0) ## $t8 = 80801FC0
/* 012D8 80801E68 24190013 */ addiu $t9, $zero, 0x0013 ## $t9 = 00000013
/* 012DC 80801E6C 24080025 */ addiu $t0, $zero, 0x0025 ## $t0 = 00000025
/* 012E0 80801E70 24090033 */ addiu $t1, $zero, 0x0033 ## $t1 = 00000033
/* 012E4 80801E74 240A003B */ addiu $t2, $zero, 0x003B ## $t2 = 0000003B
/* 012E8 80801E78 240B0049 */ addiu $t3, $zero, 0x0049 ## $t3 = 00000049
/* 012EC 80801E7C 240C005B */ addiu $t4, $zero, 0x005B ## $t4 = 0000005B
/* 012F0 80801E80 240D007E */ addiu $t5, $zero, 0x007E ## $t5 = 0000007E
/* 012F4 80801E84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 012F8 80801E88 AC8E0004 */ sw $t6, 0x0004($a0) ## 00000004
/* 012FC 80801E8C AC8F0008 */ sw $t7, 0x0008($a0) ## 00000008
/* 01300 80801E90 AC9801D4 */ sw $t8, 0x01D4($a0) ## 000001D4
/* 01304 80801E94 AC80020C */ sw $zero, 0x020C($a0) ## 0000020C
/* 01308 80801E98 AC8001D8 */ sw $zero, 0x01D8($a0) ## 000001D8
/* 0130C 80801E9C AC8001E0 */ sw $zero, 0x01E0($a0) ## 000001E0
/* 01310 80801EA0 AC9901E4 */ sw $t9, 0x01E4($a0) ## 000001E4
/* 01314 80801EA4 AC8801E8 */ sw $t0, 0x01E8($a0) ## 000001E8
/* 01318 80801EA8 AC8901EC */ sw $t1, 0x01EC($a0) ## 000001EC
/* 0131C 80801EAC AC8A01F0 */ sw $t2, 0x01F0($a0) ## 000001F0
/* 01320 80801EB0 AC8B01F4 */ sw $t3, 0x01F4($a0) ## 000001F4
/* 01324 80801EB4 AC8C01F8 */ sw $t4, 0x01F8($a0) ## 000001F8
/* 01328 80801EB8 AC8001DC */ sw $zero, 0x01DC($a0) ## 000001DC
/* 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
/* 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
/* 01348 80801ED8 2484FA90 */ addiu $a0, %lo(gGameInfo)
/* 0134C 80801EDC AE0E01C8 */ sw $t6, 0x01C8($s0) ## 000001C8
/* 01350 80801EE0 AE00021C */ sw $zero, 0x021C($s0) ## 0000021C
/* 01354 80801EE4 AE000220 */ sw $zero, 0x0220($s0) ## 00000220
/* 01358 80801EE8 AE000224 */ sw $zero, 0x0224($s0) ## 00000224
/* 0135C 80801EEC AE000228 */ sw $zero, 0x0228($s0) ## 00000228
/* 01360 80801EF0 AE00022C */ sw $zero, 0x022C($s0) ## 0000022C
/* 01364 80801EF4 AE000230 */ sw $zero, 0x0230($s0) ## 00000230
/* 01368 80801EF8 AE000234 */ sw $zero, 0x0234($s0) ## 00000234
/* 0136C 80801EFC 8C820000 */ lw $v0, 0x0000($a0) ## 8015FA90
/* 01370 80801F00 3C0B01AA */ lui $t3, %hi(_z_select_staticSegmentRomEnd)
/* 01374 80801F04 3C068080 */ lui $a2, %hi(D_808035CC) ## $a2 = 80800000
/* 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
/* 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
/* 01398 80801F28 00000000 */ nop
/* 0139C 80801F2C AE0301D8 */ sw $v1, 0x01D8($s0) ## 000001D8
/* 013A0 80801F30 8C980000 */ lw $t8, 0x0000($a0) ## 8015FA90
/* 013A4 80801F34 87191436 */ lh $t9, 0x1436($t8) ## 00001436
/* 013A8 80801F38 AE19020C */ sw $t9, 0x020C($s0) ## 0000020C
/* 013AC 80801F3C 8C880000 */ lw $t0, 0x0000($a0) ## 8015FA90
/* 013B0 80801F40 85091438 */ lh $t1, 0x1438($t0) ## 00001438
/* 013B4 80801F44 AE0901DC */ sw $t1, 0x01DC($s0) ## 000001DC
/* 013B8 80801F48 8C820000 */ lw $v0, 0x0000($a0) ## 8015FA90
.L80801F4C:
/* 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)
/* 013D4 80801F64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013D8 80801F68 0C031521 */ jal GameState_Alloc
/* 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)
/* 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
/* 01400 80801F90 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 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)
/* 0141C 80801FAC AC6D0008 */ sw $t5, 0x0008($v1) ## 8015E668
/* 01420 80801FB0 AC6E0004 */ sw $t6, 0x0004($v1) ## 8015E664
/* 01424 80801FB4 03E00008 */ jr $ra
/* 01428 80801FB8 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 0142C 80801FBC 00000000 */ nop

View File

@ -1,407 +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 purpose registers
.section .data
.balign 16
glabel D_80801FC0
.word D_80802608
.word func_80800BAC
.word 0x000000CD
.word D_80802614
.word func_80800BAC
.word 0x000000DB
.word D_80802620
.word func_80800BAC
.word 0x000000E4
.word D_8080262C
.word func_80800BAC
.word 0x000000EA
.word D_80802638
.word func_80800BAC
.word 0x000000EE
.word D_80802644
.word func_80800BAC
.word 0x000000FC
.word D_80802650
.word func_80800BAC
.word 0x00000102
.word D_8080265C
.word func_80800BAC
.word 0x00000108
.word D_80802668
.word func_80800BAC
.word 0x0000010E
.word D_80802674
.word func_80800BAC
.word 0x00000117
.word D_80802680
.word func_80800BAC
.word 0x0000011E
.word D_8080268C
.word func_80800BAC
.word 0x00000123
.word D_80802698
.word func_80800BAC
.word 0x00000129
.word D_808026A4
.word func_80800BAC
.word 0x00000130
.word D_808026B0
.word func_80800BAC
.word 0x00000138
.word D_808026BC
.word func_80800BAC
.word 0x0000013D
.word D_808026C8
.word func_80800BAC
.word 0x00000147
.word D_808026D4
.word func_80800BAC
.word 0x0000014D
.word D_808026E0
.word func_80800BAC
.word 0x00000157
.word D_808026EC
.word func_80800BAC
.word 0x00000053
.word D_808026FC
.word func_80800BAC
.word 0x0000006B
.word D_80802710
.word func_80800BAC
.word 0x0000003B
.word D_80802728
.word func_80800BAC
.word 0x0000007A
.word D_80802744
.word func_80800BAC
.word 0x0000031C
.word D_80802760
.word func_80800BAC
.word 0x0000004B
.word D_80802780
.word func_80800BAC
.word 0x0000002D
.word D_80802798
.word func_80800BAC
.word 0x00000315
.word D_808027B8
.word func_80800BAC
.word 0x0000036D
.word D_808027D8
.word func_80800BAC
.word 0x00000371
.word D_808027FC
.word func_80800BAC
.word 0x0000043F
.word D_80802818
.word func_80800BAC
.word 0x00000400
.word D_80802830
.word func_80800BAC
.word 0x0000045F
.word D_80802840
.word func_80800BAC
.word 0x00000507
.word D_80802860
.word func_80800BAC
.word 0x0000004F
.word D_80802888
.word func_80800BAC
.word 0x000005D0
.word D_808028B0
.word func_80800BAC
.word 0x0000007E
.word D_808028C4
.word func_80800BAC
.word 0x00000072
.word D_808028DC
.word func_80800BAC
.word 0x00000063
.word D_808028F0
.word func_80800BAC
.word 0x00000550
.word D_80802910
.word func_80800BAC
.word 0x00000033
.word D_80802930
.word func_80800BAC
.word 0x000000B1
.word D_80802944
.word func_80800BAC
.word 0x000000AD
.word D_80802954
.word func_80800BAC
.word 0x00000171
.word D_80802970
.word func_80800BAC
.word 0x000000BB
.word D_80802984
.word func_80800BAC
.word 0x000002FD
.word D_808029A0
.word func_80800BAC
.word 0x0000043B
.word D_808029B8
.word func_80800BAC
.word 0x000000C9
.word D_808029E4
.word func_80800BAC
.word 0x0000009C
.word D_80802A04
.word func_80800BAC
.word 0x00000433
.word D_80802A24
.word func_80800BAC
.word 0x00000437
.word D_80802A44
.word func_80800BAC
.word 0x000002F9
.word D_80802A54
.word func_80800BAC
.word 0x0000030D
.word D_80802A68
.word func_80800BAC
.word 0x00000398
.word D_80802A8C
.word func_80800BAC
.word 0x0000039C
.word D_80802AB0
.word func_80800BAC
.word 0x00000043
.word D_80802AD0
.word func_80800BAC
.word 0x000003A0
.word D_80802ADC
.word func_80800BAC
.word 0x000000B7
.word D_80802AEC
.word func_80800BAC
.word 0x000000C1
.word D_80802B04
.word func_80800BAC
.word 0x0000037C
.word D_80802B18
.word func_80800BAC
.word 0x00000380
.word D_80802B2C
.word func_80800BAC
.word 0x00000384
.word D_80802B48
.word func_80800BAC
.word 0x00000388
.word D_80802B64
.word func_80800BAC
.word 0x00000390
.word D_80802B80
.word func_80800BAC
.word 0x00000530
.word D_80802B90
.word func_80800BAC
.word 0x00000008
.word D_80802BB4
.word func_80800BAC
.word 0x00000000
.word D_80802BD8
.word func_80800BAC
.word 0x0000040F
.word D_80802C04
.word func_80800BAC
.word 0x00000004
.word D_80802C28
.word func_80800BAC
.word 0x0000040B
.word D_80802C54
.word func_80800BAC
.word 0x00000028
.word D_80802C7C
.word func_80800BAC
.word 0x00000301
.word D_80802CA8
.word func_80800BAC
.word 0x00000169
.word D_80802CC0
.word func_80800BAC
.word 0x0000000C
.word D_80802CE0
.word func_80800BAC
.word 0x00000098
.word D_80802D00
.word func_80800BAC
.word 0x00000037
.word D_80802D20
.word func_80800BAC
.word 0x00000413
.word D_80802D44
.word func_80800BAC
.word 0x00000165
.word D_80802D58
.word func_80800BAC
.word 0x00000305
.word D_80802D74
.word func_80800BAC
.word 0x00000010
.word D_80802D8C
.word func_80800BAC
.word 0x00000417
.word D_80802DAC
.word func_80800BAC
.word 0x00000082
.word D_80802DD4
.word func_80800BAC
.word 0x0000008D
.word D_80802E08
.word func_80800BAC
.word 0x000005EC
.word D_80802E34
.word func_80800BAC
.word 0x0000041B
.word D_80802E48
.word func_80800BAC
.word 0x0000041F
.word D_80802E64
.word func_80800BAC
.word 0x00000088
.word D_80802E7C
.word func_80800BAC
.word 0x0000044F
.word D_80802E90
.word func_80800BAC
.word 0x00000467
.word D_80802EB4
.word func_80800BAC
.word 0x00000517
.word D_80802EE4
.word func_80800BAC
.word 0x00000179
.word D_80802F04
.word func_80800BAC
.word 0x000001B5
.word D_80802F24
.word func_80800BAC
.word 0x000003DC
.word D_80802F44
.word func_80800BAC
.word 0x000003E4
.word D_80802F64
.word func_80800BAC
.word 0x0000056C
.word D_80802F80
.word func_80800BAC
.word 0x00000486
.word D_80802F9C
.word func_80800BAC
.word 0x0000048E
.word D_80802FBC
.word func_80800BAC
.word 0x00000496
.word D_80802FD8
.word func_80800BAC
.word 0x0000049E
.word D_80802FF4
.word func_80800BAC
.word 0x000004AE
.word D_80803010
.word func_80800BAC
.word 0x00000570
.word D_8080302C
.word func_80800BAC
.word 0x0000003F
.word D_80803048
.word func_80800BAC
.word 0x00000598
.word D_80803064
.word func_80800BAC
.word 0x0000059C
.word D_80803080
.word func_80800BAC
.word 0x000005A0
.word D_8080309C
.word func_80800BAC
.word 0x000005A4
.word D_808030B8
.word func_80800BAC
.word 0x000005A8
.word D_808030D4
.word func_80800BAC
.word 0x000005AC
.word D_808030F0
.word func_80800BAC
.word 0x000005B0
.word D_8080310C
.word func_80800BAC
.word 0x000005B4
.word D_80803128
.word func_80800BAC
.word 0x000005B8
.word D_80803144
.word func_80800BAC
.word 0x000005BC
.word D_80803164
.word func_80800BAC
.word 0x000005C0
.word D_80803184
.word func_80800BAC
.word 0x000005C4
.word D_808031A4
.word func_80800BAC
.word 0x000005FC
.word D_808031C4
.word func_80800BAC
.word 0x000000A0
.word D_808031DC
.word func_80800BAC
.word 0x00000520
.word D_80803204
.word func_80800BAC
.word 0x00000018
.word D_80803218
.word func_80800BAC
.word 0x00000094
.word D_8080322C
.word func_80800BAC
.word 0x00000024
.word D_80803240
.word func_80800BAC
.word 0x0000001C
.word D_80803260
.word func_80800BAC
.word 0x00000020
.word D_80803280
.word func_80800BAC
.word 0x00000047
.word D_8080328C
.word func_80800BAC
.word 0x000002EA
.word D_8080329C
.word func_80800BAC
.word 0x000000B6
.word D_808032B0
.word func_80800BAC
.word 0x00000076
.word D_808032D0
.word func_80800B90
.word 0x00000000
glabel D_808025A8
.word D_80803304
.word D_80803320
.word D_80803334
.word D_8080334C
.word D_80803360
.word D_80803374
.word D_80803388
.word D_808033A0
.word D_808033B8
.word D_808033D8
.word D_808033FC
.word D_8080341C
glabel D_808025D8
.word D_80803450
.word D_80803460

View File

@ -1,450 +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 purpose registers
.section .rodata
.balign 16
glabel D_808025E0
.asciz ""
.balign 4
glabel D_808025E8
.asciz "\n\n\n_%x\n\n\n"
.balign 4
glabel D_80802604
.asciz "\x1b[m"
.balign 4
glabel D_80802608
.asciz " 1:SPOT00"
.balign 4
glabel D_80802614
.asciz " 2:SPOT01"
.balign 4
glabel D_80802620
.asciz " 3:SPOT02"
.balign 4
glabel D_8080262C
.asciz " 4:SPOT03"
.balign 4
glabel D_80802638
.asciz " 5:SPOT04"
.balign 4
glabel D_80802644
.asciz " 6:SPOT05"
.balign 4
glabel D_80802650
.asciz " 7:SPOT06"
.balign 4
glabel D_8080265C
.asciz " 8:SPOT07"
.balign 4
glabel D_80802668
.asciz " 9:SPOT08"
.balign 4
glabel D_80802674
.asciz "10:SPOT09"
.balign 4
glabel D_80802680
.asciz "11:SPOT10"
.balign 4
glabel D_8080268C
.asciz "12:SPOT11"
.balign 4
glabel D_80802698
.asciz "13:SPOT12"
.balign 4
glabel D_808026A4
.asciz "14:SPOT13"
.balign 4
glabel D_808026B0
.asciz "15:SPOT15"
.balign 4
glabel D_808026BC
.asciz "16:SPOT16"
.balign 4
glabel D_808026C8
.asciz "17:SPOT17"
.balign 4
glabel D_808026D4
.asciz "18:SPOT18"
.balign 4
glabel D_808026E0
.asciz "19:SPOT20"
.balign 4
glabel D_808026EC
.word 0x32303A8D, 0x8EC48EB7, 0x8EC98ECF, 0x00000000
glabel D_808026FC
.word 0x32313A8D, 0x8EB98EDD, 0x8EBC8EDE, 0x8EAC8EC9, 0x8ECF0000
glabel D_80802710
.word 0x32323A8D, 0x8EBC8EAC, 0x8EC38EB7, 0x8EBC8EDE, 0x8EAE8EB3, 0x00000000
glabel D_80802728
.word 0x32333A8C, 0x8ECA8EB2, 0x8ED78ED9, 0x8D8EC68E, 0xDC8C8EB9, 0x8EDE8EB0, 0x8ED10000
glabel D_80802744
.word 0x32343A8D, 0x8ECA8EB6, 0x8EBC8EC0, 0x8EC48ECB, 0x8EDE8EBA, 0x8ED08EB1, 0x8EC50000
glabel D_80802760
.word 0x32353A8D, 0x8ECA8EB6, 0x8EBC8EC0, 0x8EC48ECB, 0x8EDE8EBA, 0x8ED08EB1, 0x8EC52032, 0x00000000
glabel D_80802780
.word 0x32363A8D, 0x8EB58EB3, 0x8EB9208E, 0xC9208ECA, 0x8EB68EB1, 0x8EC50000
glabel D_80802798
.word 0x32373A8D, 0x8EC08EDE, 0x8EB28ED6, 0x8EB38EBE, 0x8EB28EC9, 0x8EB28EBD, 0x8EDE8ED0, 0x00000000
glabel D_808027B8
.word 0x32383A8D, 0x8EC48ECB, 0x8EDE8EBA, 0x8ED0208E, 0xD68EB38E, 0xBE8EB220, 0x8EB18EC5, 0x00000000
glabel D_808027D8
.word 0x32393A8D, 0x8ECF8ECE, 0x8EB38EBE, 0x8EB7208E, 0xD68EB38E, 0xBE8EB28E, 0xC98EB28E, 0xBD8EDE8E, 0xD0000000
glabel D_808027FC
.word 0x33303A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EBB8E, 0xB28EBC8E, 0xAD8EB38E, 0xBE8EDD00
glabel D_80802818
.word 0x33313A8C, 0x8ECA8EB2, 0x8ED78ED9, 0x8D8EC58E, 0xB68EC68E, 0xDC000000
glabel D_80802830
.word 0x33323A8D, 0x8EC28ED8, 0x8ECE8EDE, 0x8ED80000
glabel D_80802840
.word 0x33333A8C, 0x8ECE8EDE, 0x8ED18EC1, 0x8EAD8EB3, 0x8ECE8EDE, 0x8EB08ED8, 0x8EDD8EB8, 0x8EDE0000
glabel D_80802860
.word 0x33343A8C, 0x8EDB8EDD, 0x8EDB8EDD, 0x8D8ECE8E, 0xDE8EB88E, 0xBC8EDE8E, 0xAE8EB320, 0x8EBF8EB3, 0x8EBA2031, 0x00000000
glabel D_80802888
.word 0x33353A8C, 0x8EDB8EDD, 0x8EDB8EDD, 0x8D8ECE8E, 0xDE8EB88E, 0xBC8EDE8E, 0xAE8EB320, 0x8EBF8EB3, 0x8EBA2032, 0x00000000
glabel D_808028B0
.word 0x33363A8D, 0x8ED08ECA, 0x8ED8208E, 0xBA8EDE8E, 0xD4000000
glabel D_808028C4
.word 0x33373A8D, 0x8ECF8ECE, 0x8EB3208E, 0xC9208EB8, 0x8EBD8ED8, 0x8ED40000
glabel D_808028DC
.word 0x33383A8D, 0x8EC08EB6, 0x8ED78ECA, 0x8EDE8EBA, 0x8ED40000
glabel D_808028F0
.word 0x33393A8D, 0x8EB78EDD, 0x208C8EBD, 0x8EC08ED9, 0x8EC18EAD, 0x8ED7208E, 0xCA8EB38E, 0xBD000000
glabel D_80802910
.word 0x34303A8D, 0x8EBC8EDE, 0x8EAE8EB3, 0x8EB68ECF, 0x8EC1208E, 0xB28ED88E, 0xB88EDE8E, 0xC1000000
glabel D_80802930
.word 0x34313A8D, 0x8EBC8EDE, 0x8EAE8EB3, 0x8EB68ECF, 0x8EC10000
glabel D_80802944
.word 0x34323A8D, 0x8EB38ED7, 0x8EDB8EBC, 0x8EDE0000
glabel D_80802954
.word 0x34333A8D, 0x8EC48EB7, 0x8EC98EBC, 0x8EDD8EC3, 0x8EDE8EDD, 0x208ECF8E, 0xB4000000
glabel D_80802970
.word 0x34343A8D, 0x8ED88EDD, 0x8EB88EC9, 0x8EB28EB4, 0x00000000
glabel D_80802984
.word 0x34353A8C, 0x8EB68EB6, 0x8ED88EBA, 0x8D8ED18E, 0xD78EC98E, 0xC58EB68E, 0xDE8ED400
glabel D_808029A0
.word 0x34363A8D, 0x8EB38ED7, 0x8EDB8EBC, 0x8EDE8EC9, 0x208EB28E, 0xB4000000
glabel D_808029B8
.word 0x34373A8D, 0x8EBA8EB7, 0x8ED88EC9, 0x8ED18ED7, 0x208ED38E, 0xC98EBC8E, 0xD88EB78E, 0xAE8EB38E, 0xC08EDE8E, 0xB28EC98E, 0xB28EB400
glabel D_808029E4
.word 0x34383A8D, 0x8EBA8EB7, 0x8ED88EC9, 0x8ED18ED7, 0x208ECC8E, 0xC08EBA8E, 0xDE8EC98E, 0xB28EB400
glabel D_80802A04
.word 0x34393A8D, 0x8EBA8EB7, 0x8ED88EC9, 0x8ED18ED7, 0x208C8ED0, 0x8EC48EDE, 0x8D8EC98E, 0xB28EB400
glabel D_80802A24
.word 0x35303A8D, 0x8EBA8EB7, 0x8ED88EC9, 0x8ED18ED7, 0x208C8EBB, 0x8ED88EB1, 0x8D8EC98E, 0xB28EB400
glabel D_80802A44
.word 0x35313A8D, 0x8EB38ECF, 0x8EBA8EDE, 0x8ED40000
glabel D_80802A54
.word 0x35323A8D, 0x8ECA8EB6, 0x8ED38ED8, 0x8EC98EB2, 0x8EB40000
glabel D_80802A68
.word 0x35333A8D, 0x8EB38ED7, 0x8EDB8EBC, 0x8EDE208E, 0xB28EC78E, 0xB58ECA8E, 0xDE8EBB8E, 0xDD8EC98E, 0xB28EB400
glabel D_80802A8C
.word 0x35343A8D, 0x8EB68EB6, 0x8ED88EBA, 0x8ED18ED7, 0x208C8EB2, 0x8EDD8ECA, 0x8EDF8D8E, 0xC98EB28E, 0xB4000000
glabel D_80802AB0
.word 0x35353A8C, 0x8ECA8EB2, 0x8ED88EB1, 0x8D208EB9, 0x8EDD8EB7, 0x8EAD8EB3, 0x8EBC8EDE, 0x8EAE0000
glabel D_80802AD0
.word 0x35363A8C, 0x8EC38EDD, 0x8EC40000
glabel D_80802ADC
.word 0x35373A8D, 0x8EC08EC3, 0x8EC98ED0, 0x8EBE0000
glabel D_80802AEC
.word 0x35383A8D, 0x8EBA8EB7, 0x8ED88EBF, 0x8EDE8EB8, 0x8EC98ED0, 0x8EBE0000
glabel D_80802B04
.word 0x35393A8C, 0x8EBA8EDE, 0x8EDB8EDD, 0x8D8EC98E, 0xD08EBE00
glabel D_80802B18
.word 0x36303A8C, 0x8EBF8EDE, 0x8EB08ED7, 0x8D8EC98E, 0xD08EBE00
glabel D_80802B2C
.word 0x36313A8C, 0x8EB68EB6, 0x8ED88EBA, 0x8D8ED18E, 0xD720208E, 0xB88EBD8E, 0xD88ED400
glabel D_80802B48
.word 0x36323A8D, 0x8EBC8EDE, 0x8EAE8EB3, 0x8EB68ECF, 0x8EC1208E, 0xB88EBD8E, 0xD88ED400
glabel D_80802B64
.word 0x36333A8D, 0x8EB38ED7, 0x8EDB8EBC, 0x8EDE208E, 0xD68ED98E, 0xC98ED08E, 0xBE000000
glabel D_80802B80
.word 0x36343A8D, 0x8EB58ED2, 0x8EDD8ED4, 0x00000000
glabel D_80802B90
.word 0x36353A8C, 0x8EB98EDE, 0x8ED98EC4, 0x8EDE8D8E, 0xC98EBC8E, 0xAD8EB38E, 0xDA8EDD8E, 0xBC8EDE8E, 0xAE8EB300
glabel D_80802BB4
.word 0x36363A8D, 0x8ED68EB3, 0x8EBE8EB2, 0x8EC98EB7, 0x8EC9208C, 0x8EC08EDE, 0x8EDD8EBC, 0x8EDE8EAE, 0x8EDD0000
glabel D_80802BD8
.word 0x36373A8D, 0x8ED68EB3, 0x8EBE8EB2, 0x8EC98EB7, 0x8EC9208C, 0x8EC08EDE, 0x8EDD8EBC, 0x8EDE8EAE, 0x8EDD208E, 0xCE8EDE8E, 0xBD000000
glabel D_80802C04
.word 0x36383A8C, 0x8EC48EDE, 0x8EC48EDE, 0x8EDD8EBA, 0x8EDE208E, 0xC08EDE8E, 0xDD8EBC8E, 0xDE8EAE8E, 0xDD000000
glabel D_80802C28
.word 0x36393A8C, 0x8EC48EDE, 0x8EC48EDE, 0x8EDD8EBA, 0x8EDE208E, 0xC08EDE8E, 0xDD8EBC8E, 0xDE8EAE8E, 0xDD208ECE, 0x8EDE8EBD, 0x00000000
glabel D_80802C54
.word 0x37303A8D, 0x8EB78EAE, 0x8EC08EDE, 0x8EB28EB7, 0x8EDE8EAE, 0x208C8EC0, 0x8EDE8EDD, 0x8EBC8EDE, 0x8EAE8EDD, 0x00000000
glabel D_80802C7C
.word 0x37313A8D, 0x8EB78EAE, 0x8EC08EDE, 0x8EB28EB7, 0x8EDE8EAE, 0x208C8EC0, 0x8EDE8EDD, 0x8EBC8EDE, 0x8EAE8EDD, 0x208ECE8E, 0xDE8EBD00
glabel D_80802CA8
.word 0x37323A8D, 0x8ED38ED8, 0x8EC98EBC, 0x8EDD8EC3, 0x8EDE8EDD, 0x00000000
glabel D_80802CC0
.word 0x37333A8D, 0x8ED38ED8, 0x8EC98EBC, 0x8EDD8EC3, 0x8EDE8EDD, 0x208C8ECE, 0x8EDE8EBD, 0x00000000
glabel D_80802CE0
.word 0x37343A8D, 0x8EB28EC4, 0x8EDE8EBC, 0x8EC0208C, 0x8EC08EDE, 0x8EDD8EBC, 0x8EDE8EAE, 0x8EDD0000
glabel D_80802D00
.word 0x37353A8D, 0x8ECA8EB6, 0x8EBC8EC0, 0x208C8EC0, 0x8EDE8EDD, 0x8EBC8EDE, 0x8EAE8EDD, 0x00000000
glabel D_80802D20
.word 0x37363A8D, 0x8ECA8EB6, 0x8EBC8EC0, 0x208C8EC0, 0x8EDE8EDD, 0x8EBC8EDE, 0x8EAE8EDD, 0x208ECE8E, 0xDE8EBD00
glabel D_80802D44
.word 0x37373A8D, 0x8ECB8EC9, 0x8EBC8EDD, 0x8EC38EDE, 0x8EDD0000
glabel D_80802D58
.word 0x37383A8D, 0x8ECB8EC9, 0x8EBC8EDD, 0x8EC38EDE, 0x8EDD208C, 0x8ECE8EDE, 0x8EBD0000
glabel D_80802D74
.word 0x37393A8D, 0x8ED08EBD, 0x8EDE8EC9, 0x8EBC8EDD, 0x8EC38EDE, 0x8EDD0000
glabel D_80802D8C
.word 0x38303A8D, 0x8ED08EBD, 0x8EDE8EC9, 0x8EBC8EDD, 0x8EC38EDE, 0x8EDD208C, 0x8ECE8EDE, 0x8EBD0000
glabel D_80802DAC
.word 0x38313A8D, 0x8EBC8EDE, 0x8EAC8EBC, 0x8EDD8EBF, 0x8EDE8EB3, 0x208C8EC0, 0x8EDE8EDD, 0x8EBC8EDE, 0x8EAE8EDD, 0x00000000
glabel D_80802DD4
.word 0x38323A8D, 0x8EBC8EDE, 0x8EAC8EBC, 0x8EDD8EBF, 0x8EDE8EB3, 0x208C8EC0, 0x8EDE8EDD, 0x8EBC8EDE, 0x8EAE8EDD, 0x208EB18E, 0xB28EB18E, 0xDD8EC58E, 0xAF8EB800
glabel D_80802E08
.word 0x38333A8D, 0x8EBC8EDE, 0x8EAC8EBC, 0x8EDD8EBF, 0x8EDE8EB3, 0x208C8EC0, 0x8EDE8EDD, 0x8EBC8EDE, 0x8EAE8EDD, 0x208ECE8E, 0xDE8EBD00
glabel D_80802E34
.word 0x38343A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC98E, 0xC48EB300
glabel D_80802E48
.word 0x38353A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC98E, 0xC48EB38C, 0x8ECE8EDE, 0x8EBD0000
glabel D_80802E64
.word 0x38363A8D, 0x8EBA8EB5, 0x8ED88EC9, 0x8EC48EDE, 0x8EB38EB8, 0x8EC20000
glabel D_80802E7C
.word 0x38373A8D, 0x8ECA8EB6, 0x8EBC8EC0, 0x8C8ED88E, 0xDA8EB000
glabel D_80802E90
.word 0x38383A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC18E, 0xB6208C8E, 0xC08EDE8E, 0xDD8EBC8E, 0xDE8EAE8E, 0xDD000000
glabel D_80802EB4
.word 0x38393A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EBB8E, 0xB28EBC8E, 0xAD8EB38E, 0xBE8EDD20, 0x8C8EC38E, 0xDE8ED320, 0x26208ECA, 0x8EDE8EC4, 0x8ED90000
glabel D_80802EE4
.word 0x39303A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC98E, 0xC48EB320, 0x8EBF8EC9, 0x8EBA8EDE, 0x20310000
glabel D_80802F04
.word 0x39313A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC98E, 0xC48EB320, 0x8EBF8EC9, 0x8EBA8EDE, 0x20320000
glabel D_80802F24
.word 0x39323A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC98E, 0xC48EB320, 0x8EBF8EC9, 0x8EBA8EDE, 0x20330000
glabel D_80802F44
.word 0x39333A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC98E, 0xC48EB320, 0x8EBF8EC9, 0x8EBA8EDE, 0x20340000
glabel D_80802F64
.word 0x39343A8C, 0x8EB68EDE, 0x8EC98EDD, 0x8D8EC18E, 0xB6208EBF, 0x8EC98EBA, 0x8EDE0000
glabel D_80802F80
.word 0x39353A8C, 0x8EB98EDE, 0x8ED98EC4, 0x8EDE8D8E, 0xC28EB38E, 0xDB20312D, 0x32000000
glabel D_80802F9C
.word 0x39363A8C, 0x8EB98EDE, 0x8ED98EC4, 0x8EDE8D8E, 0xC28EB38E, 0xDB20332D, 0x3420392D, 0x31300000
glabel D_80802FBC
.word 0x39373A8C, 0x8EB98EDE, 0x8ED98EC4, 0x8EDE8D8E, 0xC28EB38E, 0xDB20352D, 0x36000000
glabel D_80802FD8
.word 0x39383A8C, 0x8EB98EDE, 0x8ED98EC4, 0x8EDE8D8E, 0xC28EB38E, 0xDB20372D, 0x38000000
glabel D_80802FF4
.word 0x39393A8C, 0x8EB98EDE, 0x8ED98EC4, 0x8EDE8D8E, 0xC28EB38E, 0xDB203131, 0x2D313200
glabel D_80803010
.word 0x3130303A, 0x8C8EB98E, 0xDE8ED98E, 0xC48EDE8D, 0x8EC28EB3, 0x8EDB2031, 0x33000000
glabel D_8080302C
.word 0x3130313A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203000
glabel D_80803048
.word 0x3130323A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203100
glabel D_80803064
.word 0x3130333A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203200
glabel D_80803080
.word 0x3130343A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203300
glabel D_8080309C
.word 0x3130353A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203400
glabel D_808030B8
.word 0x3130363A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203500
glabel D_808030D4
.word 0x3130373A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203600
glabel D_808030F0
.word 0x3130383A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203700
glabel D_8080310C
.word 0x3130393A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203800
glabel D_80803128
.word 0x3131303A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203900
glabel D_80803144
.word 0x3131313A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203130, 0x00000000
glabel D_80803164
.word 0x3131323A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203131, 0x00000000
glabel D_80803184
.word 0x3131333A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203132, 0x00000000
glabel D_808031A4
.word 0x3131343A, 0x8D8EB68E, 0xB88EBC8E, 0xC48ECB8E, 0xDE8EBA8E, 0xD08EB18E, 0xC5203133, 0x00000000
glabel D_808031C4
.word 0x3131353A, 0x8C8ECA8E, 0xB28ED78E, 0xD9208EC3, 0x8EDE8ED3, 0x00000000
glabel D_808031DC
.word 0x3131363A, 0x8D8ECD8E, 0xDE8EAF8E, 0xBC8EC220, 0x288EC08E, 0xB68ED78E, 0xCA8EDE8E, 0xBA8C8EDC, 0x8EB08ECC, 0x8EDF2900
glabel D_80803204
.word 0x3131373A, 0x8D8EBB8E, 0xBB8C8EC3, 0x8EBD8EC4, 0x00000000
glabel D_80803218
.word 0x3131383A, 0x8C8EC38E, 0xBD8EC48E, 0xCF8EAF8E, 0xCC8EDF00
glabel D_8080322C
.word 0x3131393A, 0x8C8EC38E, 0xBD8EC48E, 0xD98EB08E, 0xD1000000
glabel D_80803240
.word 0x3132303A, 0x8D8EC18E, 0xAD8EB38C, 0x8EBD8EC0, 0x8EDB8ECC, 0x8EAB8EBD, 0x8D8ECD8E, 0xDE8ED400
glabel D_80803260
.word 0x3132313A, 0x8C8ECE8E, 0xDE8EBD8E, 0xBD8EC08E, 0xDB8ECC8E, 0xAB8EBD8D, 0x8ECD8EDE, 0x8ED40000
glabel D_80803280
.asciz "122:Sutaru"
.balign 4
glabel D_8080328C
.asciz "123:jikkenjyou"
.balign 4
glabel D_8080329C
.word 0x3132343A, 0x64657074, 0x688C8EC3, 0x8EBD8EC4, 0x00000000
glabel D_808032B0
.word 0x3132353A, 0x8C8ECA8E, 0xB28ED78E, 0xD98D8EC6, 0x8EDC8C8E, 0xB98EDE8E, 0xB08ED132, 0x00000000
glabel D_808032D0
.asciz "title"
.balign 4
glabel D_808032D8
.asciz "ZELDA MAP SELECT"
.balign 4
glabel D_808032EC
.asciz "**Null**"
.balign 4
glabel D_808032F8
.word 0x25730000
glabel D_808032FC
.asciz "OPT=%d"
.balign 4
glabel D_80803304
.word 0x8D8EBC8E, 0xCA8EDE8E, 0xD78EB88E, 0xB58ECF8E, 0xC18EB88E, 0xC08EDE8E, 0xBB8EB200
glabel D_80803320
.word 0x8D8EC18E, 0xAE8EAF8E, 0xC4208ECF, 0x8EAF8EC3, 0x8EC80000
glabel D_80803334
.word 0x8C8EB38E, 0xAA8EB28E, 0xC4208EB1, 0x208ED38E, 0xB08ED28E, 0xDD8EC400
glabel D_8080334C
.word 0x8C8EDB8E, 0xB08EC48E, 0xDE8D8EC1, 0x8EAD8EB3, 0x00000000
glabel D_80803360
.word 0x8D8EC58E, 0xB3208EDC, 0x8EB08EB7, 0x8EDD8EB8, 0x8EDE0000
glabel D_80803374
.word 0x8D8EB28E, 0xCF208EC2, 0x8EB88EAF, 0x8EC38ECF, 0x8EBD0000
glabel D_80803388
.word 0x8D8EBA8E, 0xBC8EAE8E, 0xB38EBC8E, 0xDE8EAC8E, 0xC58EB28E, 0xD6000000
glabel D_808033A0
.word 0x8C8EBA8E, 0xB08ECB8E, 0xB0208ECC, 0x8EDE8EDA, 0x8EB28EB8, 0x00000000
glabel D_808033B8
.word 0x8C428ED2, 0x8EDD8EA6, 0x8EBE8EAF, 0x8EC48EBC, 0x8EC38EB8, 0x8EC08EDE, 0x8EBB8EB2, 0x00000000
glabel D_808033D8
.word 0x8D8EBC8E, 0xDE8EAF8E, 0xC48C8EB6, 0x8EDE8ECF, 0x8EDD8D8E, 0xC98C8EBA, 0x8D8EC38E, 0xDE8EB18E, 0xAF8EC000
glabel D_808033FC
.word 0x8D8EB28E, 0xCF8EBC8E, 0xCA8EDE8E, 0xD78EB88E, 0xB58ECF8E, 0xC18EB88E, 0xC08EDE8E, 0xBB8EB200
glabel D_8080341C
.word 0x8D8EB18E, 0xDC8EC38E, 0xC58EB28E, 0xB18EDC8E, 0xC38EC58E, 0xB28EA18E, 0xCB8EC48E, 0xD48EBD8E, 0xD08ECB8E, 0xC48ED48E, 0xBD8ED08E, 0xA1000000
glabel D_8080344C
.word 0x25730000
glabel D_80803450
.word 0x8D313728, 0x8EDC8EB6, 0x8ED38EC9, 0x29000000
glabel D_80803460
.word 0x8D35288E, 0xDC8EB68E, 0xBD8EB78E, 0xDE290000
glabel D_80803470
.asciz "Age:%s"
.balign 4
glabel D_80803478
.word 0x8D208ED6, 0x8ED9208C, 0x8EBA8EDE, 0x8EDB8EDD, 0x00000000
glabel D_8080348C
.word 0x8D8EB58E, 0xCB8ED920, 0x8C8EBC8E, 0xDE8EAC8E, 0xD7000000
glabel D_808034A0
.word 0x8EC38EDE, 0x8ED33030, 0x00000000
glabel D_808034AC
.word 0x8EC38EDE, 0x8ED33031, 0x00000000
glabel D_808034B8
.word 0x8EC38EDE, 0x8ED33032, 0x00000000
glabel D_808034C4
.word 0x8EC38EDE, 0x8ED33033, 0x00000000
glabel D_808034D0
.word 0x8EC38EDE, 0x8ED33034, 0x00000000
glabel D_808034DC
.word 0x8EC38EDE, 0x8ED33035, 0x00000000
glabel D_808034E8
.word 0x8EC38EDE, 0x8ED33036, 0x00000000
glabel D_808034F4
.word 0x8EC38EDE, 0x8ED33037, 0x00000000
glabel D_80803500
.word 0x8EC38EDE, 0x8ED33038, 0x00000000
glabel D_8080350C
.word 0x8EC38EDE, 0x8ED33039, 0x00000000
glabel D_80803518
.asciz "0A"
.balign 4
glabel D_80803524
.word 0x53746167, 0x653A8C25, 0x73000000
glabel D_80803530
.asciz "../z_select.c"
.balign 4
glabel D_80803540
.asciz "../z_select.c"
.balign 4
glabel D_80803550
.asciz "../z_select.c"
.balign 4
glabel D_80803560
.asciz "../z_select.c"
.balign 4
glabel D_80803570
.asciz "../z_select.c"
.balign 4
glabel D_80803580
.asciz "../z_select.c"
.balign 4
glabel D_80803590
.word 0x25630000
glabel D_80803594
.asciz "*** view_cleanup ***\n"
.balign 4
glabel D_808035CC
.asciz "../z_select.c"
.balign 4
glabel D_808035DC
.asciz "../z_select.c"
.balign 4
glabel jtbl_808035EC
.word L808019BC
.word L808019DC
.word L808019EC
.word L808019FC
.word L80801A0C
.word L80801A1C
.word L80801A2C
.word L80801A3C
.word L80801A4C
.word L80801A5C
.word L80801A6C
.word 0x00000000, 0x00000000

View File

@ -27,7 +27,7 @@ glabel D_8012ABC0
.word GfxPrint_SetColor
.word GfxPrint_Printf
.word GfxPrint_SetPosPx
.word GfxPrint_Ctor
.word GfxPrint_Init
.word GfxPrint_Open
.word GfxPrint_Close
.word GfxPrint_Dtor
.word GfxPrint_Destroy

View File

@ -2272,8 +2272,8 @@ void GfxPrint_PrintCharImpl(GfxPrint*, u8);
void GfxPrint_PrintChar(GfxPrint*, u8);
void GfxPrint_PrintStringWithSize(GfxPrint*, const void*, size_t, size_t);
GfxPrint* GfxPrint_Callback(GfxPrint*, const char*, size_t);
void GfxPrint_Ctor(GfxPrint*);
void GfxPrint_Dtor(GfxPrint*);
void GfxPrint_Init(GfxPrint*);
void GfxPrint_Destroy(GfxPrint*);
void GfxPrint_Open(GfxPrint*, Gfx*);
Gfx* GfxPrint_Close(GfxPrint*);
void GfxPrint_VPrintf(GfxPrint*, const char*, va_list);
@ -2548,8 +2548,8 @@ void func_80112098(GlobalContext* globalCtx);
void Title_Init(TitleContext*);
void Title_Destroy(TitleContext* this);
void func_80801E44(GameState*); // Select_Init
void func_80801E0C(GameState*); // Select_Destroy
void Select_Init(SelectContext*);
void Select_Destroy(SelectContext*);
void Opening_Init(OpeningContext* this);
void Opening_Destroy(OpeningContext* this);
void func_80811A20(GameState*); // FileChoose_Init

View File

@ -72,11 +72,15 @@
#define VTX_T(x,y,z,s,t,cr,cg,cb,a) { { x, y, z }, 0, { s, t }, { cr, cg, cb, a } }
#define VIEWPORT_INIT(viewport, by, rx, ty, lx) \
viewport.bottomY = by; \
viewport.rightX = rx; \
viewport.topY = ty; \
viewport.leftX = lx;
#define SET_FULLSCREEN_VIEWPORT(view) \
{ \
Viewport viewport; \
viewport.bottomY = SCREEN_HEIGHT; \
viewport.rightX = SCREEN_WIDTH; \
viewport.topY = 0; \
viewport.leftX = 0; \
View_SetViewport(view, &viewport); \
}
#define CHECK_PAD(state, combo) (~(state.in.button | ~(combo)) == 0)

View File

@ -1136,6 +1136,40 @@ typedef struct {
/* 0x01E2 */ char unk_1E2[0x06];
} TitleContext; // size = 0x1E8
typedef struct {
/* 0x00 */ char* name;
/* 0x04 */ void (*loadFunc)(struct SelectContext*, s32);
/* 0x08 */ s32 entranceIndex;
} SceneSelectEntry; // size = 0xC
typedef struct {
/* 0x0000 */ GameState state;
/* 0x00A4 */ s32 unk_A4;
/* 0x00A8 */ View view;
/* 0x01D0 */ s32 count;
/* 0x01D4 */ SceneSelectEntry* scenes;
/* 0x01D8 */ s32 currentScene;
/* 0x01DC */ s32 unk_1DC;
/* 0x01E0 */ s32 unk_1E0[7];
/* 0x01FC */ s32 unk_1FC;
/* 0x0200 */ s32 unk_200;
/* 0x0204 */ s32 unk_204;
/* 0x0208 */ s32 opt;
/* 0x020C */ s32 unk_20C;
/* 0x0210 */ s32 unk_210;
/* 0x0214 */ s32 unk_214;
/* 0x0218 */ s32 unk_218;
/* 0x021C */ s32 unk_21C;
/* 0x0220 */ s32 unk_220;
/* 0x0224 */ s32 unk_224;
/* 0x0228 */ s32 unk_228;
/* 0x022C */ s32 unk_22C;
/* 0x0230 */ s32 unk_230;
/* 0x0234 */ s32 unk_234;
/* 0x0238 */ void* staticSegment;
/* 0x023C */ s32 unk_23C;
} SelectContext; // size = 0x240
typedef struct {
/* 0x0000 */ GameState state;
/* 0x00A4 */ void* staticSegment;

6
spec
View File

@ -559,9 +559,11 @@ endseg
beginseg
name "ovl_select"
include "build/src/overlays/gamestates/ovl_select/z_select.o"
include "build/data/overlays/gamestates/z_select.data.o"
include "build/data/overlays/gamestates/z_select.rodata.o"
#ifdef NON_MATCHING
include "build/src/overlays/gamestates/ovl_select/ovl_select_reloc.o"
#else
include "build/data/overlays/gamestates/z_select.reloc.o"
#endif
endseg
beginseg

View File

@ -50,7 +50,7 @@ void FlagSet_Update(GlobalContext* globalCtx) {
gfx = Graph_GfxPlusOne(polyOpa);
gSPDisplayList(gfxCtx->overlay.p++, gfx);
GfxPrint_Ctor(&printer);
GfxPrint_Init(&printer);
GfxPrint_Open(&printer, gfx);
GfxPrint_SetColor(&printer, 0xFA, 0x32, 0x32, 0xFF);
GfxPrint_SetPos(&printer, 4, 13);
@ -137,7 +137,7 @@ void FlagSet_Update(GlobalContext* globalCtx) {
}
gfx = GfxPrint_Close(&printer);
GfxPrint_Dtor(&printer);
GfxPrint_Destroy(&printer);
gSPEndDisplayList(gfx++);
Graph_BranchDlist(polyOpa, gfx);
gfxCtx->polyOpa.p = gfx;

View File

@ -175,11 +175,11 @@ void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx) {
}
if (R_ENABLE_AUDIO_DBG & 1) {
GfxPrint_Ctor(&printChars);
GfxPrint_Init(&printChars);
GfxPrint_Open(&printChars, newDList);
func_800EEA50(&printChars);
newDList = GfxPrint_Close(&printChars);
GfxPrint_Dtor(&printChars);
GfxPrint_Destroy(&printChars);
}
if (R_ENABLE_ARENA_DBG < 0) {

View File

@ -341,7 +341,7 @@ GfxPrint* GfxPrint_Callback(GfxPrint* this, const char* str, size_t size) {
return this;
}
void GfxPrint_Ctor(GfxPrint* this) {
void GfxPrint_Init(GfxPrint* this) {
this->flag &= ~GFXPRINT_OPEN;
this->callback = &GfxPrint_Callback;
@ -364,7 +364,7 @@ void GfxPrint_Ctor(GfxPrint* this) {
}
}
void GfxPrint_Dtor(GfxPrint* this) {
void GfxPrint_Destroy(GfxPrint* this) {
}
void GfxPrint_Open(GfxPrint* this, Gfx* dlist) {

View File

@ -112,7 +112,7 @@ GameStateOverlay* Graph_GetNextGameState(GameState* gameState) {
if (gameStateInitFunc == TitleSetup_Init) {
return &gGameStateOverlayTable[0];
}
if (gameStateInitFunc == func_80801E44) {
if (gameStateInitFunc == Select_Init) {
return &gGameStateOverlayTable[1];
}
if (gameStateInitFunc == Title_Init) {
@ -389,7 +389,7 @@ void Graph_Update(GraphicsContext* gfxCtx, GameState* gameState) {
if (D_8012DBC0 && CHECK_PAD(gameState->input[0].press, Z_TRIG) &&
CHECK_PAD(gameState->input[0].cur, L_TRIG | R_TRIG)) {
gSaveContext.gameMode = 0;
SET_NEXT_GAMESTATE(gameState, func_80801E44, char[0x240]); // TODO : SelectContext
SET_NEXT_GAMESTATE(gameState, Select_Init, SelectContext);
gameState->running = false;
}

View File

@ -56,7 +56,6 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
u32 pad2[3];
Gfx* gfx;
Gfx* dispRefs[5];
Viewport viewport;
uly = this->y;
lry = this->y + 2;
@ -78,8 +77,8 @@ void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx) {
View_Init(&view, gfxCtx);
view.flags = 0xA;
VIEWPORT_INIT(viewport, SCREEN_HEIGHT, SCREEN_WIDTH, 0, 0);
View_SetViewport(&view, &viewport);
SET_FULLSCREEN_VIEWPORT(&view);
gfx = gfxCtx->overlay.p;
func_800AB9EC(&view, 0xF, &gfx);
@ -123,8 +122,6 @@ void SpeedMeter_DrawAllocEntry(SpeedMeterAllocEntry* this, GraphicsContext* gfxC
View view;
Gfx* gfx;
Gfx* dispRefs[5];
Viewport viewport;
u32 pad2;
if (this->maxval == 0) {
osSyncPrintf(VT_FGCOL(RED));
@ -136,9 +133,8 @@ void SpeedMeter_DrawAllocEntry(SpeedMeterAllocEntry* this, GraphicsContext* gfxC
View_Init(&view, gfxCtx);
view.flags = 0xA;
VIEWPORT_INIT(viewport, SCREEN_HEIGHT, SCREEN_WIDTH, 0, 0);
SET_FULLSCREEN_VIEWPORT(&view);
View_SetViewport(&view, &viewport);
gfx = gfxCtx->overlay.p;
func_800AB9EC(&view, 0xF, &gfx);

View File

@ -224,7 +224,7 @@ void func_80063D7C(GraphicsContext* gfxCtx) {
Gfx* dispRefs[4]; // stores state of GfxCtx next ptrs
Graph_OpenDisps(dispRefs, gfxCtx, "../z_debug.c", 628);
GfxPrint_Ctor(&gfxPrint);
GfxPrint_Init(&gfxPrint);
sp78 = gfxCtx->polyOpa.p;
tempRet = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, tempRet);
@ -245,5 +245,5 @@ void func_80063D7C(GraphicsContext* gfxCtx) {
gfxCtx->polyOpa.p = sp7C;
if (0) {}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_debug.c", 664);
GfxPrint_Dtor(&gfxPrint);
GfxPrint_Destroy(&gfxPrint);
}

View File

@ -59,7 +59,7 @@ void Cutscene_DrawDebugInfo(GlobalContext* globalCtx, Gfx** dlist, CutsceneConte
GfxPrint printer;
u8 pad2[8];
GfxPrint_Ctor(&printer);
GfxPrint_Init(&printer);
GfxPrint_Open(&printer, *dlist);
GfxPrint_SetPos(&printer, 22, 25);
GfxPrint_SetColor(&printer, 255, 255, 55, 32);
@ -70,7 +70,7 @@ void Cutscene_DrawDebugInfo(GlobalContext* globalCtx, Gfx** dlist, CutsceneConte
GfxPrint_SetPos(&printer, 4, 26);
GfxPrint_Printf(&printer, "%s", "SKIP=(START) or (Cursole Right)");
*dlist = GfxPrint_Close(&printer);
GfxPrint_Dtor(&printer);
GfxPrint_Destroy(&printer);
}
void func_8006450C(GlobalContext* globalCtx, CutsceneContext* csCtx) {

View File

@ -10,7 +10,7 @@
GameStateOverlay gGameStateOverlayTable[] = {
GAMESTATE_OVERLAY_INTERNAL(TitleSetup_Init, TitleSetup_Destroy, sizeof(GameState)),
GAMESTATE_OVERLAY(select, func_80801E44, func_80801E0C, 0x240), // TODO : sizeof(SelectContext)
GAMESTATE_OVERLAY(select, Select_Init, Select_Destroy, sizeof(SelectContext)),
GAMESTATE_OVERLAY(title, Title_Init, Title_Destroy, sizeof(TitleContext)),
GAMESTATE_OVERLAY_INTERNAL(Gameplay_Init, Gameplay_Destroy, sizeof(GlobalContext)),
GAMESTATE_OVERLAY(opening, Opening_Init, Opening_Destroy, sizeof(OpeningContext)),

View File

@ -3094,14 +3094,7 @@ void func_8008A8B8(GlobalContext* globalCtx, s32 topY, s32 bottomY, s32 leftX, s
}
void func_8008A994(InterfaceContext* interfaceCtx) {
Viewport viewport;
// clang-format off
viewport.bottomY = SCREEN_HEIGHT; viewport.rightX = SCREEN_WIDTH;
viewport.topY = 0; viewport.leftX = 0;
// clang-format on
View_SetViewport(&interfaceCtx->view, &viewport);
SET_FULLSCREEN_VIEWPORT(&interfaceCtx->view);
func_800AB2C4(&interfaceCtx->view);
}

View File

@ -1135,14 +1135,12 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
if ((globalCtx->transitionMode == 3) || (globalCtx->transitionMode == 11) ||
(globalCtx->transitionCtx.transitionType >= 56)) {
View view; // 0xA0
Viewport viewport; // 0x90
View_Init(&view, gfxCtx);
view.flags = 2 | 8;
VIEWPORT_INIT(viewport, SCREEN_HEIGHT, SCREEN_WIDTH, 0, 0);
SET_FULLSCREEN_VIEWPORT(&view);
View_SetViewport(&view, &viewport);
func_800AB9EC(&view, 15, &gfxP);
globalCtx->transitionCtx.draw(&globalCtx->transitionCtx.data, &gfxP);
}

View File

@ -52,31 +52,31 @@ void Sample_Destroy(SampleContext* this) {
void Sample_SetupView(SampleContext* this) {
View* view;
GraphicsContext* gfxCtx;
Viewport viewport;
Vec3f v1;
Vec3f v2;
Vec3f v3;
view = &this->view;
gfxCtx = this->state.gfxCtx;
View_Init(view, gfxCtx);
VIEWPORT_INIT(viewport, SCREEN_HEIGHT, SCREEN_WIDTH, 0, 0);
View_SetViewport(view, &viewport);
SET_FULLSCREEN_VIEWPORT(view);
func_800AA460(view, 60, 10, 12800);
v1.x = 0;
v1.y = 0;
v2.x = 0;
v2.y = 0;
v2.z = 0;
v3.x = 0;
v3.z = 0;
v1.z = 3000;
v3.y = 1;
{
Vec3f v1;
Vec3f v2;
Vec3f v3;
func_800AA358(view, &v1, &v2, &v3);
v1.x = 0;
v1.y = 0;
v2.x = 0;
v2.y = 0;
v2.z = 0;
v3.x = 0;
v3.z = 0;
v1.z = 3000;
v3.y = 1;
func_800AA358(view, &v1, &v2, &v3);
}
}
void Sample_LoadTitleStatic(SampleContext* this) {

View File

@ -1,25 +1,630 @@
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80800B90.s")
/*
* File: z_select.c
* Overlay: ovl_select
* Description: Debug Scene Select Menu
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80800BAC.s")
#include <ultra64.h>
#include <global.h>
#include <vt.h>
#include <alloca.h>
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80800CB4.s")
void Select_LoadTitle(SelectContext* this) {
this->state.running = false;
SET_NEXT_GAMESTATE(&this->state, Title_Init, TitleContext);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80801614.s")
void Select_LoadGame(SelectContext* this, s32 entranceIndex) {
osSyncPrintf(VT_FGCOL(BLUE));
osSyncPrintf("\n\n\n_%x\n\n\n", gSaveContext.fileNum);
osSyncPrintf(VT_RST);
if (gSaveContext.fileNum == 0xFF) {
func_800A82C8();
gSaveContext.unk_13F6 = gSaveContext.magic;
gSaveContext.magic = 0;
gSaveContext.unk_13F4 = 0;
gSaveContext.magicLevel = gSaveContext.magic;
}
gSaveContext.buttonStatus[4] = BTN_ENABLED;
gSaveContext.buttonStatus[3] = BTN_ENABLED;
gSaveContext.buttonStatus[2] = BTN_ENABLED;
gSaveContext.buttonStatus[1] = BTN_ENABLED;
gSaveContext.buttonStatus[0] = BTN_ENABLED;
gSaveContext.unk_13E7 = gSaveContext.unk_13E8 = gSaveContext.unk_13EA = gSaveContext.unk_13EC = 0;
Audio_SetBGM(NA_BGM_STOP);
gSaveContext.entranceIndex = entranceIndex;
gSaveContext.respawnFlag = 0;
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = -1;
gSaveContext.seqIndex = 0xFF;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.unk_13C7 = 1;
D_8011FB30 = 0;
this->state.running = false;
SET_NEXT_GAMESTATE(&this->state, Gameplay_Init, GlobalContext)
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_808017F0.s")
static SceneSelectEntry sScenes[] = {
{ " 1:SPOT00", Select_LoadGame, 0x00CD },
{ " 2:SPOT01", Select_LoadGame, 0x00DB },
{ " 3:SPOT02", Select_LoadGame, 0x00E4 },
{ " 4:SPOT03", Select_LoadGame, 0x00EA },
{ " 5:SPOT04", Select_LoadGame, 0x00EE },
{ " 6:SPOT05", Select_LoadGame, 0x00FC },
{ " 7:SPOT06", Select_LoadGame, 0x0102 },
{ " 8:SPOT07", Select_LoadGame, 0x0108 },
{ " 9:SPOT08", Select_LoadGame, 0x010E },
{ "10:SPOT09", Select_LoadGame, 0x0117 },
{ "11:SPOT10", Select_LoadGame, 0x011E },
{ "12:SPOT11", Select_LoadGame, 0x0123 },
{ "13:SPOT12", Select_LoadGame, 0x0129 },
{ "14:SPOT13", Select_LoadGame, 0x0130 },
{ "15:SPOT15", Select_LoadGame, 0x0138 },
{ "16:SPOT16", Select_LoadGame, 0x013D },
{ "17:SPOT17", Select_LoadGame, 0x0147 },
{ "18:SPOT18", Select_LoadGame, 0x014D },
{ "19:SPOT20", Select_LoadGame, 0x0157 },
{ "20:\x8Dトキノマ", Select_LoadGame, 0x0053 },
{ "21:\x8Dケンジャノマ", Select_LoadGame, 0x006B },
{ "22:\x8Dシャテキジョウ", Select_LoadGame, 0x003B },
{ "23:\x8Cハイラル\x8Dニワ\x8Cゲーム", Select_LoadGame, 0x007A },
{ "24:\x8Dハカシタトビコミアナ", Select_LoadGame, 0x031C },
{ "25:\x8Dハカシタトビコミアナ 2", Select_LoadGame, 0x004B },
{ "26:\x8Dオウケ ノ ハカアナ", Select_LoadGame, 0x002D },
{ "27:\x8Dダイヨウセイノイズミ", Select_LoadGame, 0x0315 },
{ "28:\x8Dトビコミ ヨウセイ アナ", Select_LoadGame, 0x036D },
{ "29:\x8Dマホウセキ ヨウセイノイズミ", Select_LoadGame, 0x0371 },
{ "30:\x8Cガノン\x8Dサイシュウセン", Select_LoadGame, 0x043F },
{ "31:\x8Cハイラル\x8Dナカニワ", Select_LoadGame, 0x0400 },
{ "32:\x8Dツリボリ", Select_LoadGame, 0x045F },
{ "33:\x8Cボムチュウボーリング", Select_LoadGame, 0x0507 },
{ "34:\x8Cロンロン\x8Dボクジョウ ソウコ 1", Select_LoadGame, 0x004F },
{ "35:\x8Cロンロン\x8Dボクジョウ ソウコ 2", Select_LoadGame, 0x05D0 },
{ "36:\x8Dミハリ ゴヤ", Select_LoadGame, 0x007E },
{ "37:\x8Dマホウ ノ クスリヤ", Select_LoadGame, 0x0072 },
{ "38:\x8Dタカラバコヤ", Select_LoadGame, 0x0063 },
{ "39:\x8Dキン \x8Cスタルチュラ ハウス", Select_LoadGame, 0x0550 },
{ "40:\x8Dジョウカマチ イリグチ", Select_LoadGame, 0x0033 },
{ "41:\x8Dジョウカマチ", Select_LoadGame, 0x00B1 },
{ "42:\x8Dウラロジ", Select_LoadGame, 0x00AD },
{ "43:\x8Dトキノシンデン マエ", Select_LoadGame, 0x0171 },
{ "44:\x8Dリンクノイエ", Select_LoadGame, 0x00BB },
{ "45:\x8Cカカリコ\x8Dムラノナガヤ", Select_LoadGame, 0x02FD },
{ "46:\x8Dウラロジノ イエ", Select_LoadGame, 0x043B },
{ "47:\x8Dコキリノムラ モノシリキョウダイノイエ", Select_LoadGame, 0x00C9 },
{ "48:\x8Dコキリノムラ フタゴノイエ", Select_LoadGame, 0x009C },
{ "49:\x8Dコキリノムラ \x8Cミド\x8Dノイエ", Select_LoadGame, 0x0433 },
{ "50:\x8Dコキリノムラ \x8Cサリア\x8Dノイエ", Select_LoadGame, 0x0437 },
{ "51:\x8Dウマゴヤ", Select_LoadGame, 0x02F9 },
{ "52:\x8Dハカモリノイエ", Select_LoadGame, 0x030D },
{ "53:\x8Dウラロジ イヌオバサンノイエ", Select_LoadGame, 0x0398 },
{ "54:\x8Dカカリコムラ \x8Cインパ\x8Dノイエ", Select_LoadGame, 0x039C },
{ "55:\x8Cハイリア\x8D ケンキュウジョ", Select_LoadGame, 0x0043 },
{ "56:\x8Cテント", Select_LoadGame, 0x03A0 },
{ "57:\x8Dタテノミセ", Select_LoadGame, 0x00B7 },
{ "58:\x8Dコキリゾクノミセ", Select_LoadGame, 0x00C1 },
{ "59:\x8Cゴロン\x8Dノミセ", Select_LoadGame, 0x037C },
{ "60:\x8Cゾーラ\x8Dノミセ", Select_LoadGame, 0x0380 },
{ "61:\x8Cカカリコ\x8Dムラ クスリヤ", Select_LoadGame, 0x0384 },
{ "62:\x8Dジョウカマチ クスリヤ", Select_LoadGame, 0x0388 },
{ "63:\x8Dウラロジ ヨルノミセ", Select_LoadGame, 0x0390 },
{ "64:\x8Dオメンヤ", Select_LoadGame, 0x0530 },
{ "65:\x8Cゲルド\x8Dノシュウレンジョウ", Select_LoadGame, 0x0008 },
{ "66:\x8Dヨウセイノキノ \x8Cダンジョン", Select_LoadGame, 0x0000 },
{ "67:\x8Dヨウセイノキノ \x8Cダンジョン ボス", Select_LoadGame, 0x040F },
{ "68:\x8Cドドンゴ ダンジョン", Select_LoadGame, 0x0004 },
{ "69:\x8Cドドンゴ ダンジョン ボス", Select_LoadGame, 0x040B },
{ "70:\x8Dキョダイギョ \x8Cダンジョン", Select_LoadGame, 0x0028 },
{ "71:\x8Dキョダイギョ \x8Cダンジョン ボス", Select_LoadGame, 0x0301 },
{ "72:\x8Dモリノシンデン", Select_LoadGame, 0x0169 },
{ "73:\x8Dモリノシンデン \x8Cボス", Select_LoadGame, 0x000C },
{ "74:\x8Dイドシタ \x8Cダンジョン", Select_LoadGame, 0x0098 },
{ "75:\x8Dハカシタ \x8Cダンジョン", Select_LoadGame, 0x0037 },
{ "76:\x8Dハカシタ \x8Cダンジョン ボス", Select_LoadGame, 0x0413 },
{ "77:\x8Dヒノシンデン", Select_LoadGame, 0x0165 },
{ "78:\x8Dヒノシンデン \x8Cボス", Select_LoadGame, 0x0305 },
{ "79:\x8Dミズノシンデン", Select_LoadGame, 0x0010 },
{ "80:\x8Dミズノシンデン \x8Cボス", Select_LoadGame, 0x0417 },
{ "81:\x8Dジャシンゾウ \x8Cダンジョン", Select_LoadGame, 0x0082 },
{ "82:\x8Dジャシンゾウ \x8Cダンジョン アイアンナック", Select_LoadGame, 0x008D },
{ "83:\x8Dジャシンゾウ \x8Cダンジョン ボス", Select_LoadGame, 0x05EC },
{ "84:\x8Cガノン\x8Dノトウ", Select_LoadGame, 0x041B },
{ "85:\x8Cガノン\x8Dノトウ\x8Cボス", Select_LoadGame, 0x041F },
{ "86:\x8Dコオリノドウクツ", Select_LoadGame, 0x0088 },
{ "87:\x8Dハカシタ\x8Cリレー", Select_LoadGame, 0x044F },
{ "88:\x8Cガノン\x8Dチカ \x8Cダンジョン", Select_LoadGame, 0x0467 },
{ "89:\x8Cガノン\x8Dサイシュウセン \x8Cデモ & バトル", Select_LoadGame, 0x0517 },
{ "90:\x8Cガノン\x8Dノトウ ソノゴ 1", Select_LoadGame, 0x0179 },
{ "91:\x8Cガノン\x8Dノトウ ソノゴ 2", Select_LoadGame, 0x01B5 },
{ "92:\x8Cガノン\x8Dノトウ ソノゴ 3", Select_LoadGame, 0x03DC },
{ "93:\x8Cガノン\x8Dノトウ ソノゴ 4", Select_LoadGame, 0x03E4 },
{ "94:\x8Cガノン\x8Dチカ ソノゴ", Select_LoadGame, 0x056C },
{ "95:\x8Cゲルド\x8Dツウロ 1-2", Select_LoadGame, 0x0486 },
{ "96:\x8Cゲルド\x8Dツウロ 3-4 9-10", Select_LoadGame, 0x048E },
{ "97:\x8Cゲルド\x8Dツウロ 5-6", Select_LoadGame, 0x0496 },
{ "98:\x8Cゲルド\x8Dツウロ 7-8", Select_LoadGame, 0x049E },
{ "99:\x8Cゲルド\x8Dツウロ 11-12", Select_LoadGame, 0x04AE },
{ "100:\x8Cゲルド\x8Dツウロ 13", Select_LoadGame, 0x0570 },
{ "101:\x8Dカクシトビコミアナ 0", Select_LoadGame, 0x003F },
{ "102:\x8Dカクシトビコミアナ 1", Select_LoadGame, 0x0598 },
{ "103:\x8Dカクシトビコミアナ 2", Select_LoadGame, 0x059C },
{ "104:\x8Dカクシトビコミアナ 3", Select_LoadGame, 0x05A0 },
{ "105:\x8Dカクシトビコミアナ 4", Select_LoadGame, 0x05A4 },
{ "106:\x8Dカクシトビコミアナ 5", Select_LoadGame, 0x05A8 },
{ "107:\x8Dカクシトビコミアナ 6", Select_LoadGame, 0x05AC },
{ "108:\x8Dカクシトビコミアナ 7", Select_LoadGame, 0x05B0 },
{ "109:\x8Dカクシトビコミアナ 8", Select_LoadGame, 0x05B4 },
{ "110:\x8Dカクシトビコミアナ 9", Select_LoadGame, 0x05B8 },
{ "111:\x8Dカクシトビコミアナ 10", Select_LoadGame, 0x05BC },
{ "112:\x8Dカクシトビコミアナ 11", Select_LoadGame, 0x05C0 },
{ "113:\x8Dカクシトビコミアナ 12", Select_LoadGame, 0x05C4 },
{ "114:\x8Dカクシトビコミアナ 13", Select_LoadGame, 0x05FC },
{ "115:\x8Cハイラル デモ", Select_LoadGame, 0x00A0 },
{ "116:\x8Dベッシツ (タカラバコ\x8Cワープ)", Select_LoadGame, 0x0520 },
{ "117:\x8Dササ\x8Cテスト", Select_LoadGame, 0x0018 },
{ "118:\x8Cテストマップ", Select_LoadGame, 0x0094 },
{ "119:\x8Cテストルーム", Select_LoadGame, 0x0024 },
{ "120:\x8Dチュウ\x8Cスタロフォス\x8Dベヤ", Select_LoadGame, 0x001C },
{ "121:\x8Cボススタロフォス\x8Dベヤ", Select_LoadGame, 0x0020 },
{ "122:Sutaru", Select_LoadGame, 0x0047 },
{ "123:jikkenjyou", Select_LoadGame, 0x02EA },
{ "124:depth\x8Cテスト", Select_LoadGame, 0x00B6 },
{ "125:\x8Cハイラル\x8Dニワ\x8Cゲーム2", Select_LoadGame, 0x0076 },
{ "title", Select_LoadTitle, 0x0000 },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_8080187C.s")
#ifdef NON_MATCHING
// mostly regalloc, a good amount of instruction ordering. confirmed equivalent in game.
void Select_UpdateMenu(SelectContext* this) {
Input* controller1;
s32 pad;
SceneSelectEntry* selectedScene;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_808018F0.s")
controller1 = &this->state.input[0];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80801AAC.s")
if (this->unk_21C == 0) {
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80801BF0.s")
if (CHECK_PAD(controller1->press, A_BUTTON) || CHECK_PAD(controller1->press, START_BUTTON)) {
selectedScene = &this->scenes[this->currentScene];
if (selectedScene->loadFunc != NULL) {
selectedScene->loadFunc(this, selectedScene->entranceIndex);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80801D04.s")
if (CHECK_PAD(controller1->press, B_BUTTON)) {
if (LINK_AGE_IN_YEARS == YEARS_ADULT) {
gSaveContext.linkAge = 1;
} else {
gSaveContext.linkAge = 0;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80801DE4.s")
if (CHECK_PAD(controller1->press, Z_TRIG)) {
if (gSaveContext.cutsceneIndex == 0x8000) {
gSaveContext.cutsceneIndex = 0;
} else if (gSaveContext.cutsceneIndex == 0) {
gSaveContext.cutsceneIndex = 0xFFF0;
} else if (gSaveContext.cutsceneIndex == 0xFFF0) {
gSaveContext.cutsceneIndex = 0xFFF1;
} else if (gSaveContext.cutsceneIndex == 0xFFF1) {
gSaveContext.cutsceneIndex = 0xFFF2;
} else if (gSaveContext.cutsceneIndex == 0xFFF2) {
gSaveContext.cutsceneIndex = 0xFFF3;
} else if (gSaveContext.cutsceneIndex == 0xFFF3) {
gSaveContext.cutsceneIndex = 0xFFF4;
} else if (gSaveContext.cutsceneIndex == 0xFFF4) {
gSaveContext.cutsceneIndex = 0xFFF5;
} else if (gSaveContext.cutsceneIndex == 0xFFF5) {
gSaveContext.cutsceneIndex = 0xFFF6;
} else if (gSaveContext.cutsceneIndex == 0xFFF6) {
gSaveContext.cutsceneIndex = 0xFFF7;
} else if (gSaveContext.cutsceneIndex == 0xFFF7) {
gSaveContext.cutsceneIndex = 0xFFF8;
} else if (gSaveContext.cutsceneIndex == 0xFFF8) {
gSaveContext.cutsceneIndex = 0xFFF9;
} else if (gSaveContext.cutsceneIndex == 0xFFF9) {
gSaveContext.cutsceneIndex = 0xFFFA;
} else if (gSaveContext.cutsceneIndex == 0xFFFA) {
gSaveContext.cutsceneIndex = 0x8000;
}
} else if (CHECK_PAD(controller1->press, R_TRIG)) {
if (gSaveContext.cutsceneIndex == 0x8000) {
gSaveContext.cutsceneIndex = 0xFFFA;
} else if (gSaveContext.cutsceneIndex == 0) {
gSaveContext.cutsceneIndex = 0x8000;
} else if (gSaveContext.cutsceneIndex == 0xFFF0) {
gSaveContext.cutsceneIndex = 0;
} else if (gSaveContext.cutsceneIndex == 0xFFF1) {
gSaveContext.cutsceneIndex = 0xFFF0;
} else if (gSaveContext.cutsceneIndex == 0xFFF2) {
gSaveContext.cutsceneIndex = 0xFFF1;
} else if (gSaveContext.cutsceneIndex == 0xFFF3) {
gSaveContext.cutsceneIndex = 0xFFF2;
} else if (gSaveContext.cutsceneIndex == 0xFFF4) {
gSaveContext.cutsceneIndex = 0xFFF3;
} else if (gSaveContext.cutsceneIndex == 0xFFF5) {
gSaveContext.cutsceneIndex = 0xFFF4;
} else if (gSaveContext.cutsceneIndex == 0xFFF6) {
gSaveContext.cutsceneIndex = 0xFFF5;
} else if (gSaveContext.cutsceneIndex == 0xFFF7) {
gSaveContext.cutsceneIndex = 0xFFF6;
} else if (gSaveContext.cutsceneIndex == 0xFFF8) {
gSaveContext.cutsceneIndex = 0xFFF7;
} else if (gSaveContext.cutsceneIndex == 0xFFF9) {
gSaveContext.cutsceneIndex = 0xFFF8;
} else if (gSaveContext.cutsceneIndex == 0xFFFA) {
gSaveContext.cutsceneIndex = 0xFFF9;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80801E0C.s")
gSaveContext.nightFlag = 0;
if (gSaveContext.cutsceneIndex == 0) {
gSaveContext.nightFlag = 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/func_80801E44.s")
// user can change "opt", but it doesn't do anything
if (CHECK_PAD(controller1->press, U_CBUTTONS)) {
this->opt--;
}
if (CHECK_PAD(controller1->press, D_CBUTTONS)) {
this->opt++;
}
if (CHECK_PAD(controller1->press, U_JPAD)) {
if (this->unk_22C == 1) {
this->unk_224 = 0;
}
if (this->unk_224 == 0) {
this->unk_224 = 0x14;
this->unk_22C = 1;
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
this->unk_220 = SREG(30);
}
}
if (CHECK_PAD(controller1->cur, U_JPAD) && this->unk_224 == 0) {
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
this->unk_220 = SREG(30) * 3;
}
if (CHECK_PAD(controller1->press, D_JPAD)) {
if (this->unk_230 == 1) {
this->unk_228 = 0;
}
if (this->unk_228 == 0) {
this->unk_228 = 0x14;
this->unk_230 = 1;
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
this->unk_220 = -SREG(30);
}
}
if (CHECK_PAD(controller1->cur, D_JPAD) && (this->unk_228 == 0)) {
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
this->unk_220 = -SREG(30) * 3;
}
if (CHECK_PAD(controller1->press, L_JPAD) || CHECK_PAD(controller1->cur, L_JPAD)) {
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
this->unk_220 = SREG(30);
}
if (CHECK_PAD(controller1->press, R_JPAD) || CHECK_PAD(controller1->cur, R_JPAD)) {
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_IMPACT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
this->unk_220 = -SREG(30);
}
}
if (CHECK_PAD(controller1->press, L_TRIG)) {
this->unk_1DC = (++this->unk_1DC + 7) % 7;
this->currentScene = this->unk_20C = this->unk_1E0[this->unk_1DC];
}
this->unk_21C += this->unk_220;
if (this->unk_21C < -7) {
this->unk_220 = 0;
this->unk_21C = 0;
this->currentScene = (++this->currentScene + this->count) % this->count;
if (this->currentScene == ((this->unk_20C + this->count + 0x13) % this->count)) {
this->unk_20C = (++this->unk_20C + this->count) % this->count;
}
}
if (this->unk_21C >= 8) {
this->unk_220 = 0;
this->unk_21C = 0;
if (this->currentScene == this->unk_20C) {
this->unk_20C = ((this->unk_20C - 2) + this->count) % this->count;
}
this->currentScene = ((--this->currentScene) + this->count) % this->count;
if (this->currentScene == ((this->unk_20C + this->count) % this->count)) {
this->unk_20C = (--this->unk_20C + this->count) % this->count;
}
}
this->currentScene = (this->currentScene + this->count) % this->count;
this->unk_20C = (this->unk_20C + this->count) % this->count;
dREG(80) = this->currentScene;
dREG(81) = this->unk_20C;
dREG(82) = this->unk_1DC;
if (this->unk_224 != 0) {
this->unk_224--;
}
if (this->unk_224 == 0) {
this->unk_22C = 0;
}
if (this->unk_228 != 0) {
this->unk_228--;
}
if (this->unk_228 == 0) {
this->unk_230 = 0;
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/Select_UpdateMenu.s")
#endif
void Select_PrintMenu(SelectContext* this, GfxPrint* printer) {
s32 scene;
s32 i;
char* name;
GfxPrint_SetColor(printer, 255, 155, 150, 255);
GfxPrint_SetPos(printer, 12, 2);
GfxPrint_Printf(printer, "ZELDA MAP SELECT");
GfxPrint_SetColor(printer, 255, 255, 255, 255);
for (i = 0; i < 20; i++) {
GfxPrint_SetPos(printer, 9, i + 4);
scene = ((this->unk_20C + i) + this->count) % this->count;
if (scene == this->currentScene) {
GfxPrint_SetColor(printer, 255, 20, 20, 255);
} else {
GfxPrint_SetColor(printer, 200, 200, 55, 255);
}
name = this->scenes[scene].name;
if (name == NULL) {
name = "**Null**";
}
GfxPrint_Printf(printer, "%s", name);
};
GfxPrint_SetColor(printer, 155, 55, 150, 255);
GfxPrint_SetPos(printer, 20, 26);
GfxPrint_Printf(printer, "OPT=%d", this->opt);
}
static char* sLoadingMessages[] = {
"\x8Dシバラクオマチクダサイ", // "Please wait a minute"
"\x8Dチョット マッテネ", // "Hold on a sec"
"\x8Cウェイト ア モーメント", // "Wait a moment"
"\x8Cロード\x8Dチュウ", // "Loading"
"\x8Dナウ ワーキング", // "Now working"
"\x8Dイマ ツクッテマス", // "Now creating"
"\x8Dコショウジャナイヨ", // "It's not broken"
"\x8Cコーヒー ブレイク", // "Coffee Break"
"\x8C\Bメンヲセットシテクダサイ", // "Please set B side"
"\x8Dジット\x8Cガマン\x8D\x8C\x8Dデアッタ", // "Be patient, now"
"\x8Dイマシバラクオマチクダサイ", // "Please wait just a minute"
"\x8Dアワテナイアワテナイ。ヒトヤスミヒトヤスミ。", // "Don't worry, don't worry. Take a break, take a break"
};
void Select_PrintLoadingMessage(SelectContext* this, GfxPrint* printer) {
s32 randomMsg;
GfxPrint_SetPos(printer, 0xA, 0xF);
GfxPrint_SetColor(printer, 255, 255, 255, 255);
randomMsg = Math_Rand_ZeroOne() * ARRAY_COUNT(sLoadingMessages);
GfxPrint_Printf(printer, "%s", sLoadingMessages[randomMsg]);
}
static char* sAgeLabels[] = {
"\x8D"
"17(ワカモノ)", // "17(young)"
"\x8D"
"5(ワカスギ)", // "5(very young)"
};
void Select_PrintAgeSetting(SelectContext* this, GfxPrint* printer, s32 age) {
GfxPrint_SetPos(printer, 4, 26);
GfxPrint_SetColor(printer, 255, 255, 55, 255);
GfxPrint_Printf(printer, "Age:%s", sAgeLabels[age]);
}
void Select_PrintCutsceneSetting(SelectContext* this, GfxPrint* printer, u16 csIndex) {
char* label;
GfxPrint_SetPos(printer, 4, 25);
GfxPrint_SetColor(printer, 255, 255, 55, 255);
switch (csIndex) {
case 0:
label = "\x8D ヨル \x8Cゴロン";
gSaveContext.dayTime = 0;
break;
case 0x8000:
// clang-format off
gSaveContext.dayTime = 0x8000; label = "\x8Dオヒル \x8Cジャラ";
// clang-format on
break;
case 0xFFF0:
// clang-format off
gSaveContext.dayTime = 0x8000; label = "デモ00";
// clang-format on
break;
case 0xFFF1:
label = "デモ01";
break;
case 0xFFF2:
label = "デモ02";
break;
case 0xFFF3:
label = "デモ03";
break;
case 0xFFF4:
label = "デモ04";
break;
case 0xFFF5:
label = "デモ05";
break;
case 0xFFF6:
label = "デモ06";
break;
case 0xFFF7:
label = "デモ07";
break;
case 0xFFF8:
label = "デモ08";
break;
case 0xFFF9:
label = "デモ09";
break;
case 0xFFFA:
label = "デモ0A";
break;
};
gSaveContext.environmentTime = gSaveContext.dayTime;
GfxPrint_Printf(printer, "Stage:\x8C%s", label);
}
void Select_DrawMenu(SelectContext* this) {
s32 arg;
GfxPrint* printer;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = this->state.gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_select.c", 930);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL);
func_80095248(gfxCtx, 0, 0, 0);
SET_FULLSCREEN_VIEWPORT(&this->view)
func_800AAA50(&this->view, 0xF);
func_80094140(gfxCtx);
printer = alloca(sizeof(GfxPrint));
GfxPrint_Init(printer);
GfxPrint_Open(printer, gfxCtx->polyOpa.p);
Select_PrintMenu(this, printer);
arg = gSaveContext.linkAge;
Select_PrintAgeSetting(this, printer, arg);
arg = gSaveContext.cutsceneIndex;
Select_PrintCutsceneSetting(this, printer, arg);
gfxCtx->polyOpa.p = GfxPrint_Close(printer);
GfxPrint_Destroy(printer);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_select.c", 966);
}
void Select_DrawLoadingScreen(SelectContext* this) {
s32 pad;
GfxPrint* printer;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = this->state.gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_select.c", 977);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL);
func_80095248(gfxCtx, 0, 0, 0);
SET_FULLSCREEN_VIEWPORT(&this->view)
func_800AAA50(&this->view, 0xF);
func_80094140(gfxCtx);
printer = alloca(sizeof(GfxPrint));
GfxPrint_Init(printer);
GfxPrint_Open(printer, gfxCtx->polyOpa.p);
Select_PrintLoadingMessage(this, printer);
gfxCtx->polyOpa.p = GfxPrint_Close(printer);
GfxPrint_Destroy(printer);
Graph_CloseDisps(dispRefs, gfxCtx, "../z_select.c", 1006);
}
void Select_Draw(SelectContext* this) {
s32 pad;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = this->state.gfxCtx;
Graph_OpenDisps(dispRefs, gfxCtx, "../z_select.c", 1013);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL);
func_80095248(gfxCtx, 0, 0, 0);
SET_FULLSCREEN_VIEWPORT(&this->view)
func_800AAA50(&this->view, 0xF);
if (!this->state.running) {
Select_DrawLoadingScreen(this);
} else {
Select_DrawMenu(this);
}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_select.c", 1037);
}
void Select_Main(SelectContext* this) {
Select_UpdateMenu(this);
Select_Draw(this);
}
void Select_Destroy(SelectContext* this) {
osSyncPrintf("%c", 7);
// "view_cleanup will hang, so it won't be called"
osSyncPrintf("*** view_cleanupはハングアップするので、呼ばない ***\n");
}
void Select_Init(SelectContext* this) {
u32 size;
s32 pad[2];
this->state.main = Select_Main;
this->state.destroy = Select_Destroy;
this->scenes = sScenes;
this->unk_20C = 0;
this->currentScene = 0;
this->unk_1E0[0] = 0;
this->unk_1E0[1] = 0x13;
this->unk_1E0[2] = 0x25;
this->unk_1E0[3] = 0x33;
this->unk_1E0[4] = 0x3B;
this->unk_1E0[5] = 0x49;
this->unk_1E0[6] = 0x5B;
this->unk_1DC = 0;
this->opt = 0;
this->count = 126;
View_Init(&this->view, this->state.gfxCtx);
this->view.flags = 0xA;
this->unk_21C = 0;
this->unk_220 = 0;
this->unk_224 = 0;
this->unk_228 = 0;
this->unk_22C = 0;
this->unk_230 = 0;
this->unk_234 = 0;
size = (u32)_z_select_staticSegmentRomEnd - (u32)_z_select_staticSegmentRomStart;
if ((dREG(80) >= 0) && (dREG(80) < this->count)) {
this->currentScene = dREG(80);
this->unk_20C = dREG(81);
this->unk_1DC = dREG(82);
}
SREG(30) = 1;
this->staticSegment = GameState_Alloc(this, size, "../z_select.c", 1114);
DmaMgr_SendRequest1(this->staticSegment, _z_select_staticSegmentRomStart, size, "../z_select.c", 1115);
gSaveContext.cutsceneIndex = 0x8000;
gSaveContext.linkAge = 1;
}

View File

@ -19,7 +19,7 @@ void Title_PrintBuildInfo(Gfx** gfxp) {
g = *gfxp;
g = func_8009411C(g);
printer = alloca(sizeof(GfxPrint));
GfxPrint_Ctor(printer);
GfxPrint_Init(printer);
GfxPrint_Open(printer, g);
GfxPrint_SetColor(printer, 0xFF, 0x9B, 0xFF, 0xFF);
GfxPrint_SetPos(printer, 9, 21);
@ -30,7 +30,7 @@ void Title_PrintBuildInfo(Gfx** gfxp) {
GfxPrint_SetPos(printer, 7, 24);
GfxPrint_Printf(printer, "[Date:%s]", gBuildDate);
g = GfxPrint_Close(printer);
GfxPrint_Dtor(printer);
GfxPrint_Destroy(printer);
*gfxp = g;
}