1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 09:03:36 +00:00

Merge pull request #12 from Random06457/master

Decompiled z_title.c
This commit is contained in:
Roman971 2020-03-20 01:01:21 +01:00 committed by GitHub
commit 9f434ad733
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 224 additions and 740 deletions

View File

@ -286,12 +286,12 @@ glabel func_800C5C2C
/* B3CDF8 800C5C58 3C0F8080 */ lui $t7, %hi(func_80801E44) # $t7, 0x8080
/* B3CDFC 800C5C5C 25EF1E44 */ addiu $t7, %lo(func_80801E44) # addiu $t7, $t7, 0x1e44
/* B3CE00 800C5C60 144F0004 */ bne $v0, $t7, .L800C5C74
/* B3CE04 800C5C64 3C188080 */ lui $t8, %hi(func_80800878) # $t8, 0x8080
/* B3CE04 800C5C64 3C188080 */ lui $t8, %hi(Title_Init) # $t8, 0x8080
/* B3CE08 800C5C68 3C028012 */ lui $v0, %hi(D_8011F860) # $v0, 0x8012
/* B3CE0C 800C5C6C 10000022 */ b .L800C5CF8
/* B3CE10 800C5C70 2442F860 */ addiu $v0, %lo(D_8011F860) # addiu $v0, $v0, -0x7a0
.L800C5C74:
/* B3CE14 800C5C74 27180878 */ addiu $t8, %lo(func_80800878) # addiu $t8, $t8, 0x878
/* B3CE14 800C5C74 27180878 */ addiu $t8, %lo(Title_Init) # addiu $t8, $t8, 0x878
/* B3CE18 800C5C78 14580004 */ bne $v0, $t8, .L800C5C8C
/* B3CE1C 800C5C7C 3C19800C */ lui $t9, %hi(func_800BCA64) # $t9, 0x800c
/* B3CE20 800C5C80 3C028012 */ lui $v0, %hi(D_8011F890) # $v0, 0x8012

View File

@ -1,91 +0,0 @@
.rdata
glabel D_808009C0
.asciz "NOT MARIO CLUB VERSION"
.balign 4
glabel D_808009D8
.asciz "[Creator:%s]"
.balign 4
glabel D_808009E8
.asciz "[Date:%s]"
.balign 4
.text
glabel func_80800000
/* 00000 80800000 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00004 80800004 AFBF003C */ sw $ra, 0x003C($sp)
/* 00008 80800008 AFBE0038 */ sw $s8, 0x0038($sp)
/* 0000C 8080000C AFB10034 */ sw $s1, 0x0034($sp)
/* 00010 80800010 AFB00030 */ sw $s0, 0x0030($sp)
/* 00014 80800014 AFA40040 */ sw $a0, 0x0040($sp)
/* 00018 80800018 8C910000 */ lw $s1, 0x0000($a0) ## 00000000
/* 0001C 8080001C 03A0F025 */ or $s8, $sp, $zero ## $s8 = FFFFFFC0
/* 00020 80800020 0C025047 */ jal func_8009411C
/* 00024 80800024 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00028 80800028 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFF90
/* 0002C 8080002C 27B00018 */ addiu $s0, $sp, 0x0018 ## $s0 = FFFFFFA8
/* 00030 80800030 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
/* 00034 80800034 0C03EEE3 */ jal GfxPrint_Ctor
/* 00038 80800038 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 0003C 8080003C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 00040 80800040 0C03EF07 */ jal GfxPrint_Open
/* 00044 80800044 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00048 80800048 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 0004C 8080004C AFAF0010 */ sw $t7, 0x0010($sp)
/* 00050 80800050 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 00054 80800054 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00058 80800058 2406009B */ addiu $a2, $zero, 0x009B ## $a2 = 0000009B
/* 0005C 8080005C 0C03ECEB */ jal GfxPrint_SetColor
/* 00060 80800060 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
/* 00064 80800064 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 00068 80800068 24050009 */ addiu $a1, $zero, 0x0009 ## $a1 = 00000009
/* 0006C 8080006C 0C03ED07 */ jal GfxPrint_SetPos
/* 00070 80800070 24060015 */ addiu $a2, $zero, 0x0015 ## $a2 = 00000015
/* 00074 80800074 3C058080 */ lui $a1, %hi(D_808009C0) ## $a1 = 80800000
/* 00078 80800078 24A509C0 */ addiu $a1, $a1, %lo(D_808009C0) ## $a1 = 808009C0
/* 0007C 8080007C 0C03EF2D */ jal GfxPrint_Printf
/* 00080 80800080 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 00084 80800084 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 00088 80800088 AFB80010 */ sw $t8, 0x0010($sp)
/* 0008C 8080008C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 00090 80800090 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00094 80800094 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00098 80800098 0C03ECEB */ jal GfxPrint_SetColor
/* 0009C 8080009C 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
/* 000A0 808000A0 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 000A4 808000A4 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007
/* 000A8 808000A8 0C03ED07 */ jal GfxPrint_SetPos
/* 000AC 808000AC 24060017 */ addiu $a2, $zero, 0x0017 ## $a2 = 00000017
/* 000B0 808000B0 3C058080 */ lui $a1, %hi(D_808009D8) ## $a1 = 80800000
/* 000B4 808000B4 3C068001 */ lui $a2, 0x8001 ## $a2 = 80010000
/* 000B8 808000B8 24C62340 */ addiu $a2, $a2, 0x2340 ## $a2 = 80012340
/* 000BC 808000BC 24A509D8 */ addiu $a1, $a1, %lo(D_808009D8) ## $a1 = 808009D8
/* 000C0 808000C0 0C03EF2D */ jal GfxPrint_Printf
/* 000C4 808000C4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 000C8 808000C8 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 000CC 808000CC 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007
/* 000D0 808000D0 0C03ED07 */ jal GfxPrint_SetPos
/* 000D4 808000D4 24060018 */ addiu $a2, $zero, 0x0018 ## $a2 = 00000018
/* 000D8 808000D8 3C058080 */ lui $a1, %hi(D_808009E8) ## $a1 = 80800000
/* 000DC 808000DC 3C068001 */ lui $a2, 0x8001 ## $a2 = 80010000
/* 000E0 808000E0 24C62350 */ addiu $a2, $a2, 0x2350 ## $a2 = 80012350
/* 000E4 808000E4 24A509E8 */ addiu $a1, $a1, %lo(D_808009E8) ## $a1 = 808009E8
/* 000E8 808000E8 0C03EF2D */ jal GfxPrint_Printf
/* 000EC 808000EC 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 000F0 808000F0 0C03EF19 */ jal GfxPrint_Close
/* 000F4 808000F4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 000F8 808000F8 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
/* 000FC 808000FC 0C03EF05 */ jal GfxPrint_Dtor
/* 00100 80800100 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8
/* 00104 80800104 8FD90040 */ lw $t9, 0x0040($s8) ## 00000000
/* 00108 80800108 03C0E825 */ or $sp, $s8, $zero ## $sp = FFFFFFC0
/* 0010C 8080010C AF310000 */ sw $s1, 0x0000($t9) ## 00000000
/* 00110 80800110 8FDF003C */ lw $ra, 0x003C($s8) ## FFFFFFFC
/* 00114 80800114 8FD10034 */ lw $s1, 0x0034($s8) ## FFFFFFF4
/* 00118 80800118 8FD00030 */ lw $s0, 0x0030($s8) ## FFFFFFF0
/* 0011C 8080011C 8FDE0038 */ lw $s8, 0x0038($s8) ## FFFFFFF8
/* 00120 80800120 03E00008 */ jr $ra
/* 00124 80800124 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View File

@ -1,38 +0,0 @@
glabel func_80800134
/* 00134 80800134 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00138 80800138 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0013C 8080013C AFA70054 */ sw $a3, 0x0054($sp)
/* 00140 80800140 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00144 80800144 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00
/* 00148 80800148 44867000 */ mtc1 $a2, $f14 ## $f14 = 0.00
/* 0014C 8080014C C7A40054 */ lwc1 $f4, 0x0054($sp)
/* 00150 80800150 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 00154 80800154 AFA40048 */ sw $a0, 0x0048($sp)
/* 00158 80800158 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0015C 8080015C 248400A8 */ addiu $a0, $a0, 0x00A8 ## $a0 = 000000A8
/* 00160 80800160 AFA4001C */ sw $a0, 0x001C($sp)
/* 00164 80800164 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 00168 80800168 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000
/* 0016C 8080016C 3C074648 */ lui $a3, 0x4648 ## $a3 = 46480000
/* 00170 80800170 E7A00028 */ swc1 $f0, 0x0028($sp)
/* 00174 80800174 E7A00020 */ swc1 $f0, 0x0020($sp)
/* 00178 80800178 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 0017C 8080017C E7A00030 */ swc1 $f0, 0x0030($sp)
/* 00180 80800180 E7A0002C */ swc1 $f0, 0x002C($sp)
/* 00184 80800184 E7AC0038 */ swc1 $f12, 0x0038($sp)
/* 00188 80800188 E7AE003C */ swc1 $f14, 0x003C($sp)
/* 0018C 8080018C E7A40040 */ swc1 $f4, 0x0040($sp)
/* 00190 80800190 0C02A918 */ jal func_800AA460
/* 00194 80800194 E7A60024 */ swc1 $f6, 0x0024($sp)
/* 00198 80800198 8FA4001C */ lw $a0, 0x001C($sp)
/* 0019C 8080019C 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF0
/* 001A0 808001A0 27A6002C */ addiu $a2, $sp, 0x002C ## $a2 = FFFFFFE4
/* 001A4 808001A4 0C02A8D6 */ jal func_800AA358
/* 001A8 808001A8 27A70020 */ addiu $a3, $sp, 0x0020 ## $a3 = FFFFFFD8
/* 001AC 808001AC 8FA4001C */ lw $a0, 0x001C($sp)
/* 001B0 808001B0 0C02AA94 */ jal func_800AAA50
/* 001B4 808001B4 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
/* 001B8 808001B8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001BC 808001BC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 001C0 808001C0 03E00008 */ jr $ra
/* 001C4 808001C4 00000000 */ nop

View File

@ -1,376 +0,0 @@
.rdata
glabel D_808009F4
.asciz "../z_title.c"
.balign 4
glabel D_80800A04
.asciz "../z_title.c"
.balign 4
glabel D_80800A14
.asciz "../z_title.c"
.balign 4
.late_rodata
glabel D_80800A9C
.word 0xC59AA92F
glabel D_80800AA0
.word 0x457A28AB
glabel D_80800AA4
.word 0x448BE2AE, 0x00000000, 0x00000000
.text
glabel func_808001C8
/* 001C8 808001C8 27BDFF10 */ addiu $sp, $sp, 0xFF10 ## $sp = FFFFFF10
/* 001CC 808001CC AFBF0024 */ sw $ra, 0x0024($sp)
/* 001D0 808001D0 AFB00020 */ sw $s0, 0x0020($sp)
/* 001D4 808001D4 8C850000 */ lw $a1, 0x0000($a0) ## 00000000
/* 001D8 808001D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001DC 808001DC 3C068080 */ lui $a2, %hi(D_808009F4) ## $a2 = 80800000
/* 001E0 808001E0 24C609F4 */ addiu $a2, $a2, %lo(D_808009F4) ## $a2 = 808009F4
/* 001E4 808001E4 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFB8
/* 001E8 808001E8 2407018B */ addiu $a3, $zero, 0x018B ## $a3 = 0000018B
/* 001EC 808001EC 0C031AB1 */ jal func_800C6AC4
/* 001F0 808001F0 AFA500B8 */ sw $a1, 0x00B8($sp)
/* 001F4 808001F4 3C01428A */ lui $at, 0x428A ## $at = 428A0000
/* 001F8 808001F8 44810000 */ mtc1 $at, $f0 ## $f0 = 69.00
/* 001FC 808001FC 3C018080 */ lui $at, %hi(D_80800A9C) ## $at = 80800000
/* 00200 80800200 C4240A9C */ lwc1 $f4, %lo(D_80800A9C)($at)
/* 00204 80800204 3C018080 */ lui $at, %hi(D_80800AA0) ## $at = 80800000
/* 00208 80800208 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 0020C 8080020C C4260AA0 */ lwc1 $f6, %lo(D_80800AA0)($at)
/* 00210 80800210 3C018080 */ lui $at, %hi(D_80800AA4) ## $at = 80800000
/* 00214 80800214 C4280AA4 */ lwc1 $f8, %lo(D_80800AA4)($at)
/* 00218 80800218 E7A000DC */ swc1 $f0, 0x00DC($sp)
/* 0021C 8080021C E7A000E0 */ swc1 $f0, 0x00E0($sp)
/* 00220 80800220 E7A000E4 */ swc1 $f0, 0x00E4($sp)
/* 00224 80800224 E7A400C4 */ swc1 $f4, 0x00C4($sp)
/* 00228 80800228 E7A600C8 */ swc1 $f6, 0x00C8($sp)
/* 0022C 8080022C E7A200D0 */ swc1 $f2, 0x00D0($sp)
/* 00230 80800230 E7A200D4 */ swc1 $f2, 0x00D4($sp)
/* 00234 80800234 E7A200D8 */ swc1 $f2, 0x00D8($sp)
/* 00238 80800238 E7A800CC */ swc1 $f8, 0x00CC($sp)
/* 0023C 8080023C 8E070000 */ lw $a3, 0x0000($s0) ## 00000000
/* 00240 80800240 27A400D0 */ addiu $a0, $sp, 0x00D0 ## $a0 = FFFFFFE0
/* 00244 80800244 27A500C4 */ addiu $a1, $sp, 0x00C4 ## $a1 = FFFFFFD4
/* 00248 80800248 0C00BAAF */ jal func_8002EABC
/* 0024C 8080024C 27A600DC */ addiu $a2, $sp, 0x00DC ## $a2 = FFFFFFEC
/* 00250 80800250 8FA800B8 */ lw $t0, 0x00B8($sp)
/* 00254 80800254 3C0FDB02 */ lui $t7, 0xDB02 ## $t7 = DB020000
/* 00258 80800258 24180018 */ addiu $t8, $zero, 0x0018 ## $t8 = 00000018
/* 0025C 8080025C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00260 80800260 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00264 80800264 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00268 80800268 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 0026C 8080026C AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 00270 80800270 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 00274 80800274 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 00278 80800278 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 0027C 8080027C 3C0F8080 */ lui $t7, %hi(D_808009B0) ## $t7 = 80800000
/* 00280 80800280 3C0EDC08 */ lui $t6, 0xDC08 ## $t6 = DC080000
/* 00284 80800284 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00288 80800288 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0
/* 0028C 8080028C 35CE060A */ ori $t6, $t6, 0x060A ## $t6 = DC08060A
/* 00290 80800290 25EF09B0 */ addiu $t7, $t7, %lo(D_808009B0) ## $t7 = 808009B0
/* 00294 80800294 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00298 80800298 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 0029C 8080029C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 002A0 808002A0 3C0E8080 */ lui $t6, %hi(D_808009A8) ## $t6 = 80800000
/* 002A4 808002A4 3C19DC08 */ lui $t9, 0xDC08 ## $t9 = DC080000
/* 002A8 808002A8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 002AC 808002AC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 002B0 808002B0 3739090A */ ori $t9, $t9, 0x090A ## $t9 = DC08090A
/* 002B4 808002B4 25CE09A8 */ addiu $t6, $t6, %lo(D_808009A8) ## $t6 = 808009A8
/* 002B8 808002B8 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 002BC 808002BC AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 002C0 808002C0 3C064316 */ lui $a2, 0x4316 ## $a2 = 43160000
/* 002C4 808002C4 3C074396 */ lui $a3, 0x4396 ## $a3 = 43960000
/* 002C8 808002C8 0C20004D */ jal func_80800134
/* 002CC 808002CC AFA800B8 */ sw $t0, 0x00B8($sp)
/* 002D0 808002D0 0C024F46 */ jal func_80093D18
/* 002D4 808002D4 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
/* 002D8 808002D8 3C01C254 */ lui $at, 0xC254 ## $at = C2540000
/* 002DC 808002DC 44816000 */ mtc1 $at, $f12 ## $f12 = -53.00
/* 002E0 808002E0 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000
/* 002E4 808002E4 44817000 */ mtc1 $at, $f14 ## $f14 = -5.00
/* 002E8 808002E8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 002EC 808002EC 0C034261 */ jal Matrix_Translate
/* 002F0 808002F0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 002F4 808002F4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 002F8 808002F8 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 002FC 808002FC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00300 80800300 44066000 */ mfc1 $a2, $f12
/* 00304 80800304 0C0342A3 */ jal Matrix_Scale
/* 00308 80800308 46006386 */ mov.s $f14, $f12
/* 0030C 8080030C 3C058080 */ lui $a1, %hi(D_808009A0) ## $a1 = 80800000
/* 00310 80800310 84A509A0 */ lh $a1, %lo(D_808009A0)($a1)
/* 00314 80800314 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 00318 80800318 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 0031C 8080031C 0C034421 */ jal Matrix_RotateXYZ
/* 00320 80800320 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00324 80800324 8FA800B8 */ lw $t0, 0x00B8($sp)
/* 00328 80800328 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 0032C 8080032C 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
/* 00330 80800330 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00334 80800334 3C058080 */ lui $a1, %hi(D_80800A04) ## $a1 = 80800000
/* 00338 80800338 24A50A04 */ addiu $a1, $a1, %lo(D_80800A04) ## $a1 = 80800A04
/* 0033C 8080033C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00340 80800340 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
/* 00344 80800344 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00348 80800348 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
/* 0034C 8080034C 240601A8 */ addiu $a2, $zero, 0x01A8 ## $a2 = 000001A8
/* 00350 80800350 AFA800B8 */ sw $t0, 0x00B8($sp)
/* 00354 80800354 0C0346A2 */ jal Matrix_NewMtx
/* 00358 80800358 AFA20098 */ sw $v0, 0x0098($sp)
/* 0035C 8080035C 8FA30098 */ lw $v1, 0x0098($sp)
/* 00360 80800360 8FA800B8 */ lw $t0, 0x00B8($sp)
/* 00364 80800364 3C0F0100 */ lui $t7, 0x0100 ## $t7 = 01000000
/* 00368 80800368 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 0036C 8080036C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00370 80800370 25EF2720 */ addiu $t7, $t7, 0x2720 ## $t7 = 01002720
/* 00374 80800374 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000
/* 00378 80800378 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 0037C 8080037C AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0
/* 00380 80800380 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00384 80800384 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 00388 80800388 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
/* 0038C 8080038C 0C025131 */ jal func_800944C4
/* 00390 80800390 AFA800B8 */ sw $t0, 0x00B8($sp)
/* 00394 80800394 8FA800B8 */ lw $t0, 0x00B8($sp)
/* 00398 80800398 3C05E700 */ lui $a1, 0xE700 ## $a1 = E7000000
/* 0039C 8080039C 3C0EE300 */ lui $t6, 0xE300 ## $t6 = E3000000
/* 003A0 808003A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 003A4 808003A4 35CE0A01 */ ori $t6, $t6, 0x0A01 ## $t6 = E3000A01
/* 003A8 808003A8 3C0F0010 */ lui $t7, 0x0010 ## $t7 = 00100000
/* 003AC 808003AC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 003B0 808003B0 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 003B4 808003B4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 003B8 808003B8 AC450000 */ sw $a1, 0x0000($v0) ## 00000000
/* 003BC 808003BC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 003C0 808003C0 3C09F200 */ lui $t1, 0xF200 ## $t1 = F2000000
/* 003C4 808003C4 3C1F070B */ lui $ra, 0x070B ## $ra = 070B0000
/* 003C8 808003C8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 003CC 808003CC AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0
/* 003D0 808003D0 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 003D4 808003D4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 003D8 808003D8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 003DC 808003DC 3C0E0C18 */ lui $t6, 0x0C18 ## $t6 = 0C180000
/* 003E0 808003E0 3C19E200 */ lui $t9, 0xE200 ## $t9 = E2000000
/* 003E4 808003E4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 003E8 808003E8 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 003EC 808003EC 3739001C */ ori $t9, $t9, 0x001C ## $t9 = E200001C
/* 003F0 808003F0 35CE4340 */ ori $t6, $t6, 0x4340 ## $t6 = 0C184340
/* 003F4 808003F4 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 003F8 808003F8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 003FC 808003FC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00400 80800400 3C19350C */ lui $t9, 0x350C ## $t9 = 350C0000
/* 00404 80800404 3C18FC26 */ lui $t8, 0xFC26 ## $t8 = FC260000
/* 00408 80800408 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 0040C 8080040C AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
/* 00410 80800410 37187E60 */ ori $t8, $t8, 0x7E60 ## $t8 = FC267E60
/* 00414 80800414 3739F37F */ ori $t9, $t9, 0xF37F ## $t9 = 350CF37F
/* 00418 80800418 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
/* 0041C 8080041C AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00420 80800420 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00424 80800424 3C18AAFF */ lui $t8, 0xAAFF ## $t8 = AAFF0000
/* 00428 80800428 3718FFFF */ ori $t8, $t8, 0xFFFF ## $t8 = AAFFFFFF
/* 0042C 8080042C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 00430 80800430 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 00434 80800434 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
/* 00438 80800438 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 0043C 8080043C AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 00440 80800440 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00444 80800444 340FFF80 */ ori $t7, $zero, 0xFF80 ## $t7 = 0000FF80
/* 00448 80800448 3C0EFB00 */ lui $t6, 0xFB00 ## $t6 = FB000000
/* 0044C 8080044C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00450 80800450 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0
/* 00454 80800454 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00458 80800458 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 0045C 8080045C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00460 80800460 3C0E0100 */ lui $t6, 0x0100 ## $t6 = 01000000
/* 00464 80800464 25CE1800 */ addiu $t6, $t6, 0x1800 ## $t6 = 01001800
/* 00468 80800468 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 0046C 8080046C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 00470 80800470 3C19FD90 */ lui $t9, 0xFD90 ## $t9 = FD900000
/* 00474 80800474 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00478 80800478 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 0047C 8080047C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00480 80800480 3C190701 */ lui $t9, 0x0701 ## $t9 = 07010000
/* 00484 80800484 3C18F590 */ lui $t8, 0xF590 ## $t8 = F5900000
/* 00488 80800488 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 0048C 8080048C AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
/* 00490 80800490 37180100 */ ori $t8, $t8, 0x0100 ## $t8 = F5900100
/* 00494 80800494 37396C52 */ ori $t9, $t9, 0x6C52 ## $t9 = 07016C52
/* 00498 80800498 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
/* 0049C 8080049C AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 004A0 808004A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 004A4 808004A4 3C0FE600 */ lui $t7, 0xE600 ## $t7 = E6000000
/* 004A8 808004A8 3C19F300 */ lui $t9, 0xF300 ## $t9 = F3000000
/* 004AC 808004AC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 004B0 808004B0 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 004B4 808004B4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 004B8 808004B8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 004BC 808004BC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 004C0 808004C0 3C0E071F */ lui $t6, 0x071F ## $t6 = 071F0000
/* 004C4 808004C4 35CEF200 */ ori $t6, $t6, 0xF200 ## $t6 = 071FF200
/* 004C8 808004C8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 004CC 808004CC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 004D0 808004D0 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 004D4 808004D4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 004D8 808004D8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 004DC 808004DC 3C19F588 */ lui $t9, 0xF588 ## $t9 = F5880000
/* 004E0 808004E0 3C0E0101 */ lui $t6, 0x0101 ## $t6 = 01010000
/* 004E4 808004E4 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 004E8 808004E8 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
/* 004EC 808004EC AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 004F0 808004F0 AC450000 */ sw $a1, 0x0000($v0) ## 00000000
/* 004F4 808004F4 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 004F8 808004F8 35CE6C52 */ ori $t6, $t6, 0x6C52 ## $t6 = 01016C52
/* 004FC 808004FC 37390900 */ ori $t9, $t9, 0x0900 ## $t9 = F5880900
/* 00500 80800500 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00504 80800504 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 00508 80800508 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 0050C 8080050C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00510 80800510 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00514 80800514 3C180107 */ lui $t8, 0x0107 ## $t8 = 01070000
/* 00518 80800518 3718C07C */ ori $t8, $t8, 0xC07C ## $t8 = 0107C07C
/* 0051C 8080051C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00520 80800520 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
/* 00524 80800524 3C0A0100 */ lui $t2, 0x0100 ## $t2 = 01000000
/* 00528 80800528 254A0000 */ addiu $t2, $t2, 0x0000 ## $t2 = 01000000
/* 0052C 8080052C 37FFF056 */ ori $ra, $ra, 0xF056 ## $ra = 070BF056
/* 00530 80800530 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00534 80800534 2407005E */ addiu $a3, $zero, 0x005E ## $a3 = 0000005E
/* 00538 80800538 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 0053C 8080053C 3C0D0700 */ lui $t5, 0x0700 ## $t5 = 07000000
/* 00540 80800540 3C0CF590 */ lui $t4, 0xF590 ## $t4 = F5900000
/* 00544 80800544 240B0180 */ addiu $t3, $zero, 0x0180 ## $t3 = 00000180
/* 00548 80800548 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 0054C 8080054C AC490000 */ sw $t1, 0x0000($v0) ## 00000000
.L80800550:
/* 00550 80800550 008B0019 */ multu $a0, $t3
/* 00554 80800554 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00558 80800558 3C0EFD90 */ lui $t6, 0xFD90 ## $t6 = FD900000
/* 0055C 8080055C 24E50002 */ addiu $a1, $a3, 0x0002 ## $a1 = 00000060
/* 00560 80800560 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00564 80800564 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0
/* 00568 80800568 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 0056C 8080056C 3C01E448 */ lui $at, 0xE448 ## $at = E4480000
/* 00570 80800570 34214000 */ ori $at, $at, 0x4000 ## $at = E4484000
/* 00574 80800574 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000001
/* 00578 80800578 00007812 */ mflo $t7
/* 0057C 8080057C 014FC021 */ addu $t8, $t2, $t7
/* 00580 80800580 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 00584 80800584 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00588 80800588 3C0FE600 */ lui $t7, 0xE600 ## $t7 = E6000000
/* 0058C 8080058C 30C6FFFF */ andi $a2, $a2, 0xFFFF ## $a2 = 00000001
/* 00590 80800590 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00594 80800594 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0
/* 00598 80800598 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 0059C 8080059C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 005A0 808005A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 005A4 808005A4 3C19F300 */ lui $t9, 0xF300 ## $t9 = F3000000
/* 005A8 808005A8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 005AC 808005AC AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 005B0 808005B0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 005B4 808005B4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 005B8 808005B8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 005BC 808005BC 3C0FE700 */ lui $t7, 0xE700 ## $t7 = E7000000
/* 005C0 808005C0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 005C4 808005C4 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 005C8 808005C8 AC5F0004 */ sw $ra, 0x0004($v0) ## 00000004
/* 005CC 808005CC AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 005D0 808005D0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 005D4 808005D4 3C19F588 */ lui $t9, 0xF588 ## $t9 = F5880000
/* 005D8 808005D8 37393000 */ ori $t9, $t9, 0x3000 ## $t9 = F5883000
/* 005DC 808005DC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 005E0 808005E0 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 005E4 808005E4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 005E8 808005E8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 005EC 808005EC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 005F0 808005F0 3C0F002F */ lui $t7, 0x002F ## $t7 = 002F0000
/* 005F4 808005F4 35EFC004 */ ori $t7, $t7, 0xC004 ## $t7 = 002FC004
/* 005F8 808005F8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 005FC 808005FC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 00600 80800600 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00604 80800604 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00608 80800608 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 0060C 8080060C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 00610 80800610 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 00614 80800614 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00618 80800618 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 0061C 8080061C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00620 80800620 00047880 */ sll $t7, $a0, 2
/* 00624 80800624 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000001
/* 00628 80800628 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 0062C 8080062C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 00630 80800630 861901DC */ lh $t9, 0x01DC($s0) ## 000001DC
/* 00634 80800634 332E007F */ andi $t6, $t9, 0x007F ## $t6 = 00000000
/* 00638 80800638 01CFC023 */ subu $t8, $t6, $t7
/* 0063C 8080063C 860E01DE */ lh $t6, 0x01DE($s0) ## 000001DE
/* 00640 80800640 33190FFF */ andi $t9, $t8, 0x0FFF ## $t9 = 00000008
/* 00644 80800644 31CF0FFF */ andi $t7, $t6, 0x0FFF ## $t7 = 00000000
/* 00648 80800648 000FC300 */ sll $t8, $t7, 12
/* 0064C 8080064C 03097025 */ or $t6, $t8, $t1 ## $t6 = F2000008
/* 00650 80800650 01D97825 */ or $t7, $t6, $t9 ## $t7 = F2000008
/* 00654 80800654 3C180100 */ lui $t8, 0x0100 ## $t8 = 01000000
/* 00658 80800658 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 0065C 8080065C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 00660 80800660 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00664 80800664 0005C880 */ sll $t9, $a1, 2
/* 00668 80800668 332F0FFF */ andi $t7, $t9, 0x0FFF ## $t7 = 00000008
/* 0066C 8080066C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 00670 80800670 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 00674 80800674 01E1C025 */ or $t8, $t7, $at ## $t8 = E4484008
/* 00678 80800678 3C010018 */ lui $at, 0x0018 ## $at = 00180000
/* 0067C 8080067C 00077080 */ sll $t6, $a3, 2
/* 00680 80800680 31D90FFF */ andi $t9, $t6, 0x0FFF ## $t9 = 00000008
/* 00684 80800684 34214000 */ ori $at, $at, 0x4000 ## $at = 00184000
/* 00688 80800688 03217825 */ or $t7, $t9, $at ## $t7 = 00184008
/* 0068C 8080068C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00690 80800690 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00694 80800694 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 00698 80800698 3C0EE100 */ lui $t6, 0xE100 ## $t6 = E1000000
/* 0069C 8080069C 28C10010 */ slti $at, $a2, 0x0010
/* 006A0 808006A0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 006A4 808006A4 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 006A8 808006A8 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 006AC 808006AC AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 006B0 808006B0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 006B4 808006B4 3C180400 */ lui $t8, 0x0400 ## $t8 = 04000000
/* 006B8 808006B8 37180400 */ ori $t8, $t8, 0x0400 ## $t8 = 04000400
/* 006BC 808006BC 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 006C0 808006C0 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0
/* 006C4 808006C4 3C0FF100 */ lui $t7, 0xF100 ## $t7 = F1000000
/* 006C8 808006C8 30A7FFFF */ andi $a3, $a1, 0xFFFF ## $a3 = 00000060
/* 006CC 808006CC AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 006D0 808006D0 1420FF9F */ bne $at, $zero, .L80800550
/* 006D4 808006D4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 006D8 808006D8 860E01D6 */ lh $t6, 0x01D6($s0) ## 000001D6
/* 006DC 808006DC 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
/* 006E0 808006E0 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
/* 006E4 808006E4 AFB90014 */ sw $t9, 0x0014($sp)
/* 006E8 808006E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 006EC 808006EC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 006F0 808006F0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 006F4 808006F4 0C01D9CB */ jal func_8007672C
/* 006F8 808006F8 AFAE0010 */ sw $t6, 0x0010($sp)
/* 006FC 808006FC 3C0F8080 */ lui $t7, %hi(D_808009A0) ## $t7 = 80800000
/* 00700 80800700 85EF09A0 */ lh $t7, %lo(D_808009A0)($t7)
/* 00704 80800704 3C018080 */ lui $at, %hi(D_808009A0) ## $at = 80800000
/* 00708 80800708 3C068080 */ lui $a2, %hi(D_80800A14) ## $a2 = 80800000
/* 0070C 8080070C 25F8012C */ addiu $t8, $t7, 0x012C ## $t8 = 8080012C
/* 00710 80800710 A43809A0 */ sh $t8, %lo(D_808009A0)($at)
/* 00714 80800714 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
/* 00718 80800718 24C60A14 */ addiu $a2, $a2, %lo(D_80800A14) ## $a2 = 80800A14
/* 0071C 8080071C 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFB8
/* 00720 80800720 0C031AD5 */ jal func_800C6B54
/* 00724 80800724 240701E3 */ addiu $a3, $zero, 0x01E3 ## $a3 = 000001E3
/* 00728 80800728 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0072C 8080072C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00730 80800730 27BD00F0 */ addiu $sp, $sp, 0x00F0 ## $sp = 00000000
/* 00734 80800734 03E00008 */ jr $ra
/* 00738 80800738 00000000 */ nop

View File

@ -1,86 +0,0 @@
.rdata
glabel D_80800A24
.asciz "../z_title.c"
.balign 4
glabel D_80800A34
.asciz "../z_title.c"
.balign 4
.text
glabel func_8080073C
/* 0073C 8080073C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00740 80800740 AFBF001C */ sw $ra, 0x001C($sp)
/* 00744 80800744 AFB10018 */ sw $s1, 0x0018($sp)
/* 00748 80800748 AFB00014 */ sw $s0, 0x0014($sp)
/* 0074C 8080074C 8C850000 */ lw $a1, 0x0000($a0) ## 00000000
/* 00750 80800750 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00754 80800754 3C068080 */ lui $a2, %hi(D_80800A24) ## $a2 = 80800000
/* 00758 80800758 24C60A24 */ addiu $a2, $a2, %lo(D_80800A24) ## $a2 = 80800A24
/* 0075C 8080075C 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00760 80800760 240701EE */ addiu $a3, $zero, 0x01EE ## $a3 = 000001EE
/* 00764 80800764 0C031AB1 */ jal func_800C6AC4
/* 00768 80800768 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0076C 8080076C 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
/* 00770 80800770 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 00774 80800774 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 00778 80800778 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 0077C 8080077C AE2E02C0 */ sw $t6, 0x02C0($s1) ## 000002C0
/* 00780 80800780 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 00784 80800784 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 00788 80800788 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
/* 0078C 8080078C 37390004 */ ori $t9, $t9, 0x0004 ## $t9 = DB060004
/* 00790 80800790 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00794 80800794 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 00798 80800798 AE3802C0 */ sw $t8, 0x02C0($s1) ## 000002C0
/* 0079C 8080079C AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 007A0 808007A0 8E0800A4 */ lw $t0, 0x00A4($s0) ## 000000A4
/* 007A4 808007A4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 007A8 808007A8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 007AC 808007AC AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 007B0 808007B0 0C025492 */ jal func_80095248
/* 007B4 808007B4 8E040000 */ lw $a0, 0x0000($s0) ## 00000000
/* 007B8 808007B8 0C20004A */ jal func_80800128
/* 007BC 808007BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007C0 808007C0 0C200072 */ jal func_808001C8
/* 007C4 808007C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007C8 808007C8 3C098013 */ lui $t1, 0x8013 ## $t1 = 80130000
/* 007CC 808007CC 8D29DBC0 */ lw $t1, -0x2440($t1) ## 8012DBC0
/* 007D0 808007D0 51200008 */ beql $t1, $zero, .L808007F4
/* 007D4 808007D4 920C01E1 */ lbu $t4, 0x01E1($s0) ## 000001E1
/* 007D8 808007D8 8E2A02C0 */ lw $t2, 0x02C0($s1) ## 000002C0
/* 007DC 808007DC 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFDC
/* 007E0 808007E0 0C200000 */ jal func_80800000
/* 007E4 808007E4 AFAA002C */ sw $t2, 0x002C($sp)
/* 007E8 808007E8 8FAB002C */ lw $t3, 0x002C($sp)
/* 007EC 808007EC AE2B02C0 */ sw $t3, 0x02C0($s1) ## 000002C0
/* 007F0 808007F0 920C01E1 */ lbu $t4, 0x01E1($s0) ## 000001E1
.L808007F4:
/* 007F4 808007F4 3C068080 */ lui $a2, %hi(D_80800A34) ## $a2 = 80800000
/* 007F8 808007F8 24C60A34 */ addiu $a2, $a2, %lo(D_80800A34) ## $a2 = 80800A34
/* 007FC 808007FC 1180000E */ beq $t4, $zero, .L80800838
/* 00800 80800800 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00804 80800804 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000
/* 00808 80800808 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660
/* 0080C 8080080C 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
/* 00810 80800810 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 00814 80800814 A04313E0 */ sb $v1, 0x13E0($v0) ## 8015FA40
/* 00818 80800818 A04313E1 */ sb $v1, 0x13E1($v0) ## 8015FA41
/* 0081C 8080081C AC4D135C */ sw $t5, 0x135C($v0) ## 8015F9BC
/* 00820 80800820 3C0E8080 */ lui $t6, 0x8080 ## $t6 = 80800000
/* 00824 80800824 25CE3CAC */ addiu $t6, $t6, 0x3CAC ## $t6 = 80803CAC
/* 00828 80800828 240F01D0 */ addiu $t7, $zero, 0x01D0 ## $t7 = 000001D0
/* 0082C 8080082C AE000098 */ sw $zero, 0x0098($s0) ## 00000098
/* 00830 80800830 AE0F0010 */ sw $t7, 0x0010($s0) ## 00000010
/* 00834 80800834 AE0E000C */ sw $t6, 0x000C($s0) ## 0000000C
.L80800838:
/* 00838 80800838 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
/* 0083C 8080083C 0C031AD5 */ jal func_800C6B54
/* 00840 80800840 2407021D */ addiu $a3, $zero, 0x021D ## $a3 = 0000021D
/* 00844 80800844 8FBF001C */ lw $ra, 0x001C($sp)
/* 00848 80800848 8FB00014 */ lw $s0, 0x0014($sp)
/* 0084C 8080084C 8FB10018 */ lw $s1, 0x0018($sp)
/* 00850 80800850 03E00008 */ jr $ra
/* 00854 80800854 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View File

@ -1,100 +0,0 @@
.rdata
glabel D_80800A44
.asciz "../z_title.c"
.balign 4
glabel D_80800A54
.asciz "z_title.c\n"
.balign 4
glabel D_80800A60
.asciz "this->staticSegment != NULL"
.balign 4
glabel D_80800A7C
.asciz "../z_title.c"
.balign 4
glabel D_80800A8C
.asciz "../z_title.c"
.balign 4
.text
glabel func_80800878
/* 00878 80800878 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0087C 8080087C 3C0201AA */ lui $v0, 0x01AA ## $v0 = 01AA0000
/* 00880 80800880 3C0E01AA */ lui $t6, 0x01AA ## $t6 = 01AA0000
/* 00884 80800884 25CE3DC0 */ addiu $t6, $t6, 0x3DC0 ## $t6 = 01AA3DC0
/* 00888 80800888 24421000 */ addiu $v0, $v0, 0x1000 ## $v0 = 01AA1000
/* 0088C 8080088C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00890 80800890 AFB00020 */ sw $s0, 0x0020($sp)
/* 00894 80800894 01C22823 */ subu $a1, $t6, $v0
/* 00898 80800898 3C068080 */ lui $a2, %hi(D_80800A44) ## $a2 = 80800000
/* 0089C 8080089C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 008A0 808008A0 24C60A44 */ addiu $a2, $a2, %lo(D_80800A44) ## $a2 = 80800A44
/* 008A4 808008A4 AFA50028 */ sw $a1, 0x0028($sp)
/* 008A8 808008A8 AFA2002C */ sw $v0, 0x002C($sp)
/* 008AC 808008AC 0C031521 */ jal Game_Alloc
/* 008B0 808008B0 24070263 */ addiu $a3, $zero, 0x0263 ## $a3 = 00000263
/* 008B4 808008B4 3C048080 */ lui $a0, %hi(D_80800A54) ## $a0 = 80800000
/* 008B8 808008B8 AE0200A4 */ sw $v0, 0x00A4($s0) ## 000000A4
/* 008BC 808008BC 0C00084C */ jal osSyncPrintf
/* 008C0 808008C0 24840A54 */ addiu $a0, $a0, %lo(D_80800A54) ## $a0 = 80800A54
/* 008C4 808008C4 8E0400A4 */ lw $a0, 0x00A4($s0) ## 000000A4
/* 008C8 808008C8 3C058080 */ lui $a1, %hi(D_80800A7C) ## $a1 = 80800000
/* 008CC 808008CC 24A50A7C */ addiu $a1, $a1, %lo(D_80800A7C) ## $a1 = 80800A7C
/* 008D0 808008D0 14800005 */ bne $a0, $zero, .L808008E8
/* 008D4 808008D4 24060266 */ addiu $a2, $zero, 0x0266 ## $a2 = 00000266
/* 008D8 808008D8 3C048080 */ lui $a0, %hi(D_80800A60) ## $a0 = 80800000
/* 008DC 808008DC 0C0007FC */ jal __assert
/* 008E0 808008E0 24840A60 */ addiu $a0, $a0, %lo(D_80800A60) ## $a0 = 80800A60
/* 008E4 808008E4 8E0400A4 */ lw $a0, 0x00A4($s0) ## 000000A4
.L808008E8:
/* 008E8 808008E8 3C078080 */ lui $a3, %hi(D_80800A8C) ## $a3 = 80800000
/* 008EC 808008EC 240F0267 */ addiu $t7, $zero, 0x0267 ## $t7 = 00000267
/* 008F0 808008F0 AFAF0010 */ sw $t7, 0x0010($sp)
/* 008F4 808008F4 24E70A8C */ addiu $a3, $a3, %lo(D_80800A8C) ## $a3 = 80800A8C
/* 008F8 808008F8 8FA5002C */ lw $a1, 0x002C($sp)
/* 008FC 808008FC 0C0006A8 */ jal DmaMgr_SendRequest1
/* 00900 80800900 8FA60028 */ lw $a2, 0x0028($sp)
/* 00904 80800904 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000
/* 00908 80800908 8F39FA90 */ lw $t9, -0x0570($t9) ## 8015FA90
/* 0090C 8080090C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00910 80800910 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00914 80800914 0C034204 */ jal Matrix_Init
/* 00918 80800918 A7380110 */ sh $t8, 0x0110($t9) ## 80160110
/* 0091C 8080091C 260400A8 */ addiu $a0, $s0, 0x00A8 ## $a0 = 000000A8
/* 00920 80800920 0C02A89E */ jal func_800AA278
/* 00924 80800924 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
/* 00928 80800928 3C088080 */ lui $t0, %hi(func_8080073C) ## $t0 = 80800000
/* 0092C 8080092C 3C098080 */ lui $t1, %hi(func_80800858) ## $t1 = 80800000
/* 00930 80800930 2508073C */ addiu $t0, $t0, %lo(func_8080073C) ## $t0 = 8080073C
/* 00934 80800934 25290858 */ addiu $t1, $t1, %lo(func_80800858) ## $t1 = 80800858
/* 00938 80800938 AE080004 */ sw $t0, 0x0004($s0) ## 00000004
/* 0093C 8080093C AE090008 */ sw $t1, 0x0008($s0) ## 00000008
/* 00940 80800940 A20001E1 */ sb $zero, 0x01E1($s0) ## 000001E1
/* 00944 80800944 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 00948 80800948 3C018016 */ lui $at, 0x8016 ## $at = 80160000
/* 0094C 8080094C AC2AF9B4 */ sw $t2, -0x064C($at) ## 8015F9B4
/* 00950 80800950 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00954 80800954 0C02A735 */ jal func_800A9CD4
/* 00958 80800958 260501D0 */ addiu $a1, $s0, 0x01D0 ## $a1 = 000001D0
/* 0095C 8080095C 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
/* 00960 80800960 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 00964 80800964 240DFFFD */ addiu $t5, $zero, 0xFFFD ## $t5 = FFFFFFFD
/* 00968 80800968 240E003C */ addiu $t6, $zero, 0x003C ## $t6 = 0000003C
/* 0096C 8080096C A60001DC */ sh $zero, 0x01DC($s0) ## 000001DC
/* 00970 80800970 A60B01D4 */ sh $t3, 0x01D4($s0) ## 000001D4
/* 00974 80800974 A60C01D6 */ sh $t4, 0x01D6($s0) ## 000001D6
/* 00978 80800978 A60D01D8 */ sh $t5, 0x01D8($s0) ## 000001D8
/* 0097C 8080097C A60E01DA */ sh $t6, 0x01DA($s0) ## 000001DA
/* 00980 80800980 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00984 80800984 8FB00020 */ lw $s0, 0x0020($sp)
/* 00988 80800988 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 0098C 8080098C 03E00008 */ jr $ra
/* 00990 80800990 00000000 */ nop
/* 00994 80800994 00000000 */ nop
/* 00998 80800998 00000000 */ nop
/* 0099C 8080099C 00000000 */ nop

View File

@ -1,15 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel D_808009A0
.word 0x00000000, 0x00000000
glabel D_808009A8
.word 0x64646400, 0x64646400
glabel D_808009B0
.word 0xFFFFFF00, 0xFFFFFF00, 0x45454500, 0x00000000

View File

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_80800AB0
.incbin "baserom/ovl_title", 0xAB0, 0x000000E0

View File

@ -2384,5 +2384,7 @@ void func_801109B0(GlobalContext* globalCtx);
void func_80110F68(GlobalContext* globalCtx);
void func_80112098(GlobalContext* globalCtx);
void func_80800878(TitleContext*);
void Title_Init(TitleContext*);
void Opening_Init(OpeningContext* this);
#endif

View File

@ -921,6 +921,7 @@ DECLARE_ROM_SEGMENT(g_pn_55)
DECLARE_ROM_SEGMENT(g_pn_56)
DECLARE_ROM_SEGMENT(g_pn_57)
DECLARE_ROM_SEGMENT(nintendo_rogo_static)
DECLARE_ROM_SEGMENT(title_static)
DECLARE_ROM_SEGMENT(parameter_static)
DECLARE_ROM_SEGMENT(vr_cloud2_static)

View File

@ -697,7 +697,7 @@ extern volatile u32 D_8012D290;
extern Mtx gMtxClear;
extern MtxF gMtxFClear;
//extern ? D_8012DBB0;
//extern ? D_8012DBC0;
extern u32 D_8012DBC0;
extern volatile u32 gIrqMgrResetStatus;
extern u32 D_8012DBA0;
extern u32 D_8012DBA4;

View File

@ -808,6 +808,11 @@ typedef struct
/* 0x04 */ u32 vromEnd;
} RomFile; // size = 0x8
typedef struct
{
/* 0x00 */ void* read_buff;
} Sram; // size = 0x4
typedef struct GameAllocEntry
{
/* 0x00 */ struct GameAllocEntry* next;
@ -840,10 +845,17 @@ typedef struct GameState
typedef struct
{
/* 0x0000 */ GameState state;
/* 0x00A4 */ char unk_A4[0x12C];
/* 0x01D0 */ UNK_TYPE unk_1D0;
/* 0x01D4 */ char unk_1D4[0xD];
/* 0x01E1 */ u8 unk_1E1;
/* 0x00A4 */ void* staticSegment;
/* 0x00A8 */ View view;
/* 0x01D0 */ Sram sram;
/* 0x01D4 */ u16 unk_1D4; // not used in mq dbg (some sort of timer that doesn't seem to affect anything)
/* 0x01D6 */ s16 coverAlpha;
/* 0x01D8 */ s16 addAlpha; // not used in mq dbg
/* 0x01DA */ u16 visibleDuration; // not used in mq dbg
/* 0x01DC */ s16 ult;
/* 0x01DE */ s16 uls;
/* 0x01E0 */ char unk_1E0;
/* 0x01E1 */ u8 exit;
/* 0x01E2 */ char unk_1E2[6];
} TitleContext; // size = 0x1E8

3
spec
View File

@ -615,8 +615,7 @@ endseg
beginseg
name "ovl_title"
include "build/src/overlays/gamestates/ovl_title/z_title.o"
include "build/data/overlays/gamestates/z_title.data.o"
include "build/data/overlays/gamestates/z_title.reloc.o"
include "build/src/overlays/gamestates/ovl_title/z_title_reloc.o"
address 0x80800000
endseg

View File

@ -6,7 +6,7 @@ void TitleSetup_InitImpl(GameState* gameState)
osSyncPrintf("ゼルダ共通データ初期化\n");
SaveContext_Init();
gameState->running = false;
gameState->init = func_80800878; gameState->size = sizeof(TitleContext);
gameState->init = Title_Init; gameState->size = sizeof(TitleContext);
}
void TitleSetup_Destroy(GameState* gameState)

View File

@ -6,23 +6,209 @@
#include <ultra64.h>
#include <global.h>
#include <alloca.h>
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s")
extern Gfx D_01002720[];
extern u8 D_01001800[];
extern u8 D_01000000[];
void func_80800128(TitleContext* this)
void Title_PrintBuildInfo(Gfx** gfxp)
{
this->unk_1E1 = 1;
Gfx* g;
GfxPrint* printer;
g = *gfxp;
g = func_8009411C(g);
printer = alloca(0x30);
GfxPrint_Ctor(printer);
GfxPrint_Open(printer, g);
GfxPrint_SetColor(printer, 0xFF, 0x9B, 0xFF, 0xFF);
GfxPrint_SetPos(printer, 9, 21);
GfxPrint_Printf(printer, "NOT MARIO CLUB VERSION");
GfxPrint_SetColor(printer, 0xFF, 0xFF, 0xFF, 0xFF);
GfxPrint_SetPos(printer, 7, 23);
GfxPrint_Printf(printer, "[Creator:%s]", gBuildTeam);
GfxPrint_SetPos(printer, 7, 24);
GfxPrint_Printf(printer, "[Date:%s]", gBuildDate);
g = GfxPrint_Close(printer);
GfxPrint_Dtor(printer);
*gfxp = g;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s")
void func_80800858(TitleContext* this)
// Note: In other rom versions this function also updates unk_1D4, coverAlpha, addAlpha, visibleDuration to calculate the fade-in/fade-out + the duration of the n64 logo animation
void Title_Calc(TitleContext* this)
{
func_800A9AD0(this, &this->unk_1D0);
this->exit = 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s")
void Title_InitView(TitleContext* this, f32 x, f32 y, f32 z)
{
View* view;
Vec3f v1;
Vec3f v2;
Vec3f v3;
view = &this->view;
v3.z = 0;
v3.x = 0;
v2.z = 0;
v2.y = 0;
v2.x = 0;
v1.x = x;
v1.y = y;
v1.z = z;
v3.y = 1.0;
func_800AA460(view, 30.0f, 10.0f, 12800.0f);
func_800AA358(view, &v1, &v2, &v3);
func_800AAA50(view, 0xF);
}
void Title_Draw(TitleContext* this)
{
static s16 sTitleRotY = 0;
static u32 D_808009A4 = 0;
static Lights1 sTitleLights = gdSPDefLights1(0x64, 0x64, 0x64, 0xFF, 0xFF, 0xFF, 0x45, 0x45, 0x45);
u16 y;
u16 idx;
char pad1[0x4];
Vec3f v3;
Vec3f v1;
Vec3f v2;
char pad2[0x8];
GraphicsContext* gfxCtx = this->state.gfxCtx;
Gfx* gfxArr[4];
func_800C6AC4(&gfxArr, this->state.gfxCtx, "../z_title.c", 395);
v3.x = 69;
v3.y = 69;
v3.z = 69;
v2.x = -4949.148;
v2.y = 4002.5417;
v1.x = 0;
v1.y = 0;
v1.z = 0;
v2.z = 1119.0837;
func_8002EABC(&v1, &v2, &v3, this->state.gfxCtx);
gSPSetLights1(gfxCtx->polyOpa.p++, sTitleLights);
Title_InitView(this, 0, 150.0, 300.0);
func_80093D18(this->state.gfxCtx);
Matrix_Translate(-53.0, -5.0, 0, MTXMODE_NEW);
Matrix_Scale(1.0, 1.0, 1.0, MTXMODE_APPLY);
Matrix_RotateXYZ(0, sTitleRotY, 0, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(this->state.gfxCtx, "../z_title.c", 424), G_MTX_LOAD);
gSPDisplayList(gfxCtx->polyOpa.p++, &D_01002720);
func_800944C4(this->state.gfxCtx);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_2CYCLE);
gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_XLU_SURF2, G_RM_OPA_CI | CVG_DST_WRAP);
gDPSetCombineLERP(gfxCtx->polyOpa.p++, TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, 0, 0, 0, TEXEL0, PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 170, 255, 255, 255);
gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 255, 128);
gDPLoadMultiBlock(gfxCtx->polyOpa.p++,
&D_01001800,
0x100,
1,
G_IM_FMT_I,
G_IM_SIZ_8b,
32, 32,
0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
5, 5,
2, 11);
for (idx = 0, y = 94; idx < 16; idx++, y += 2)
{
gDPLoadTextureBlock(gfxCtx->polyOpa.p++,
&D_01000000[0x180 * idx],
G_IM_FMT_I,
G_IM_SIZ_8b,
192, 2,
0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gDPSetTileSize(gfxCtx->polyOpa.p++, 1, this->uls, (this->ult & 0x7F) - idx*4, 0, 0);
gSPTextureRectangle(gfxCtx->polyOpa.p++, 388, y << 2, 1156, (y+2)<<2, G_TX_RENDERTILE, 0, 0, 1024, 1024);
}
func_8007672C(this->state.gfxCtx, 0, 0, 0, (s16)this->coverAlpha, 2);
sTitleRotY += 300;
func_800C6B54(&gfxArr, this->state.gfxCtx, "../z_title.c", 483);
}
void Title_Update(TitleContext* this)
{
GraphicsContext* gfxCtx = this->state.gfxCtx;
u32 pad;
Gfx* gfxArr[4];
u32 pad2;
Gfx* gfx[2];
func_800C6AC4(&gfxArr, this->state.gfxCtx, "../z_title.c", 494);
gSPSegment(gfxCtx->polyOpa.p++, 0, NULL);
gSPSegment(gfxCtx->polyOpa.p++, 1, this->staticSegment);
func_80095248(this->state.gfxCtx, 0, 0, 0);
Title_Calc(this);
Title_Draw(this);
if (D_8012DBC0)
{
gfx[0] = gfxCtx->polyOpa.p;
Title_PrintBuildInfo(&gfx);
gfxCtx->polyOpa.p = gfx[0];
}
if (this->exit)
{
gSaveContext.seq_index = -1;
gSaveContext.night_sfx = -1;
gSaveContext.game_mode = 1;
this->state.running = false;
this->state.init = Opening_Init; this->state.size = sizeof(OpeningContext);
}
func_800C6B54(&gfxArr, this->state.gfxCtx, "../z_title.c", 541);
}
void Title_Destroy(TitleContext* this)
{
func_800A9AD0(this, &this->sram);
}
void Title_Init(TitleContext* this)
{
u32 size = (u32)_nintendo_rogo_staticSegmentRomEnd - (u32)_nintendo_rogo_staticSegmentRomStart;
u32 pad;
this->staticSegment = Game_Alloc(&this->state, size, "../z_title.c", 611);
osSyncPrintf("z_title.c\n");
if (this->staticSegment == NULL)
{
__assert("this->staticSegment != NULL", "../z_title.c", 614);
}
DmaMgr_SendRequest1(this->staticSegment, (u32)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", 615);
R_UPDATE_RATE = 1;
Matrix_Init(&this->state);
func_800AA278(&this->view, this->state.gfxCtx);
this->state.main = Title_Update;
this->state.destroy = Title_Destroy;
this->exit = false;
gSaveContext.file_num = 0xFF;
func_800A9CD4(&this->state, &this->sram);
this->ult = 0;
this->unk_1D4 = 0x14;
this->coverAlpha = 0xFF;
this->addAlpha = -3;
this->visibleDuration = 0x3C;
}

View File

@ -275,6 +275,7 @@ D_01AA3DC0 = 0x01AA3DC0;
D_01AA1000 = 0x01AA1000;
D_01002720 = 0x01002720;
D_01001800 = 0x01001800;
D_01000000 = 0x01000000;
// z_shot_sun
D_02007020 = 0x02007020;