Decompiles most FBDemo and transition functions (#92)

* Decompile fbdemo (transition) files

* run format.sh

* reformat vtx array, fill in a couple unk

* match TransitionTriforce_IsDone

* add VTX macro, add DW_ wrapping around triangle macros

* use new VTX macro, name graphic assets

* Naming updates

* pr updates

* naming updates

* remove symbols for COLOR_BUFFER, D_08000000, and D_09000000
This commit is contained in:
krimtonz 2020-04-30 13:41:09 -05:00 committed by GitHub
parent 16b304d548
commit 5525365f7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 1905 additions and 2153 deletions

View File

@ -1,318 +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 .text
.align 4
glabel func_800B29D0
/* B29B70 800B29D0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B29B74 800B29D4 AFBF0034 */ sw $ra, 0x34($sp)
/* B29B78 800B29D8 AFB00030 */ sw $s0, 0x30($sp)
/* B29B7C 800B29DC 908E0008 */ lbu $t6, 8($a0)
/* B29B80 800B29E0 00808025 */ move $s0, $a0
/* B29B84 800B29E4 A080000A */ sb $zero, 0xa($a0)
/* B29B88 800B29E8 11C00004 */ beqz $t6, .L800B29FC
/* B29B8C 800B29EC 26050010 */ addiu $a1, $s0, 0x10
/* B29B90 800B29F0 240F014D */ li $t7, 333
/* B29B94 800B29F4 10000003 */ b .L800B2A04
/* B29B98 800B29F8 A48F000E */ sh $t7, 0xe($a0)
.L800B29FC:
/* B29B9C 800B29FC 24180264 */ li $t8, 612
/* B29BA0 800B2A00 A618000E */ sh $t8, 0xe($s0)
.L800B2A04:
/* B29BA4 800B2A04 3C014120 */ li $at, 0x41200000 # 0.000000
/* B29BA8 800B2A08 44812000 */ mtc1 $at, $f4
/* B29BAC 800B2A0C 3C014648 */ li $at, 0x46480000 # 0.000000
/* B29BB0 800B2A10 44813000 */ mtc1 $at, $f6
/* B29BB4 800B2A14 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29BB8 800B2A18 44814000 */ mtc1 $at, $f8
/* B29BBC 800B2A1C 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa
/* B29BC0 800B2A20 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab
/* B29BC4 800B2A24 26040018 */ addiu $a0, $s0, 0x18
/* B29BC8 800B2A28 3C064270 */ li $a2, 0x42700000 # 0.000000
/* B29BCC 800B2A2C E7A40010 */ swc1 $f4, 0x10($sp)
/* B29BD0 800B2A30 E7A60014 */ swc1 $f6, 0x14($sp)
/* B29BD4 800B2A34 0C0404C0 */ jal guPerspective
/* B29BD8 800B2A38 E7A80018 */ swc1 $f8, 0x18($sp)
/* B29BDC 800B2A3C 44800000 */ mtc1 $zero, $f0
/* B29BE0 800B2A40 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29BE4 800B2A44 44815000 */ mtc1 $at, $f10
/* B29BE8 800B2A48 44050000 */ mfc1 $a1, $f0
/* B29BEC 800B2A4C 44060000 */ mfc1 $a2, $f0
/* B29BF0 800B2A50 26040058 */ addiu $a0, $s0, 0x58
/* B29BF4 800B2A54 3C0743C8 */ lui $a3, 0x43c8
/* B29BF8 800B2A58 E7A00010 */ swc1 $f0, 0x10($sp)
/* B29BFC 800B2A5C E7A00014 */ swc1 $f0, 0x14($sp)
/* B29C00 800B2A60 E7A00018 */ swc1 $f0, 0x18($sp)
/* B29C04 800B2A64 E7A0001C */ swc1 $f0, 0x1c($sp)
/* B29C08 800B2A68 E7A00024 */ swc1 $f0, 0x24($sp)
/* B29C0C 800B2A6C 0C04078D */ jal guLookAtReflect
/* B29C10 800B2A70 E7AA0020 */ swc1 $f10, 0x20($sp)
/* B29C14 800B2A74 8FBF0034 */ lw $ra, 0x34($sp)
/* B29C18 800B2A78 8FB00030 */ lw $s0, 0x30($sp)
/* B29C1C 800B2A7C 27BD0038 */ addiu $sp, $sp, 0x38
/* B29C20 800B2A80 03E00008 */ jr $ra
/* B29C24 800B2A84 00000000 */ nop
glabel func_800B2A88
/* B29C28 800B2A88 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B29C2C 800B2A8C AFBF0014 */ sw $ra, 0x14($sp)
/* B29C30 800B2A90 AFA40018 */ sw $a0, 0x18($sp)
/* B29C34 800B2A94 0C001114 */ jal bzero
/* B29C38 800B2A98 24050218 */ li $a1, 536
/* B29C3C 800B2A9C 8FBF0014 */ lw $ra, 0x14($sp)
/* B29C40 800B2AA0 8FA20018 */ lw $v0, 0x18($sp)
/* B29C44 800B2AA4 27BD0018 */ addiu $sp, $sp, 0x18
/* B29C48 800B2AA8 03E00008 */ jr $ra
/* B29C4C 800B2AAC 00000000 */ nop
glabel func_800B2AB0
/* B29C50 800B2AB0 03E00008 */ jr $ra
/* B29C54 800B2AB4 AFA40000 */ sw $a0, ($sp)
glabel func_800B2AB8
/* B29C58 800B2AB8 908E0008 */ lbu $t6, 8($a0)
/* B29C5C 800B2ABC 3C028016 */ lui $v0, %hi(gSaveContext+0x1419)
/* B29C60 800B2AC0 11C0001B */ beqz $t6, .L800B2B30
/* B29C64 800B2AC4 00000000 */ nop
/* B29C68 800B2AC8 3C028016 */ lui $v0, %hi(gSaveContext+0x1419) # $v0, 0x8016
/* B29C6C 800B2ACC 9042FA79 */ lbu $v0, %lo(gSaveContext+0x1419)($v0)
/* B29C70 800B2AD0 948F000E */ lhu $t7, 0xe($a0)
/* B29C74 800B2AD4 240A0264 */ li $t2, 612
/* B29C78 800B2AD8 0002C080 */ sll $t8, $v0, 2
/* B29C7C 800B2ADC 0302C023 */ subu $t8, $t8, $v0
/* B29C80 800B2AE0 0305001A */ div $zero, $t8, $a1
/* B29C84 800B2AE4 14A00002 */ bnez $a1, .L800B2AF0
/* B29C88 800B2AE8 00000000 */ nop
/* B29C8C 800B2AEC 0007000D */ break 7
.L800B2AF0:
/* B29C90 800B2AF0 2401FFFF */ li $at, -1
/* B29C94 800B2AF4 14A10004 */ bne $a1, $at, .L800B2B08
/* B29C98 800B2AF8 3C018000 */ lui $at, 0x8000
/* B29C9C 800B2AFC 17010002 */ bne $t8, $at, .L800B2B08
/* B29CA0 800B2B00 00000000 */ nop
/* B29CA4 800B2B04 0006000D */ break 6
.L800B2B08:
/* B29CA8 800B2B08 0000C812 */ mflo $t9
/* B29CAC 800B2B0C 01F94021 */ addu $t0, $t7, $t9
/* B29CB0 800B2B10 3109FFFF */ andi $t1, $t0, 0xffff
/* B29CB4 800B2B14 29210264 */ slti $at, $t1, 0x264
/* B29CB8 800B2B18 1420001D */ bnez $at, .L800B2B90
/* B29CBC 800B2B1C A488000E */ sh $t0, 0xe($a0)
/* B29CC0 800B2B20 240B0001 */ li $t3, 1
/* B29CC4 800B2B24 A48A000E */ sh $t2, 0xe($a0)
/* B29CC8 800B2B28 03E00008 */ jr $ra
/* B29CCC 800B2B2C A08B000A */ sb $t3, 0xa($a0)
.L800B2B30:
/* B29CD0 800B2B30 9042FA79 */ lbu $v0, %lo(gSaveContext+0x1419)($v0)
/* B29CD4 800B2B34 948C000E */ lhu $t4, 0xe($a0)
/* B29CD8 800B2B38 2419014D */ li $t9, 333
/* B29CDC 800B2B3C 00026880 */ sll $t5, $v0, 2
/* B29CE0 800B2B40 01A26823 */ subu $t5, $t5, $v0
/* B29CE4 800B2B44 01A5001A */ div $zero, $t5, $a1
/* B29CE8 800B2B48 14A00002 */ bnez $a1, .L800B2B54
/* B29CEC 800B2B4C 00000000 */ nop
/* B29CF0 800B2B50 0007000D */ break 7
.L800B2B54:
/* B29CF4 800B2B54 2401FFFF */ li $at, -1
/* B29CF8 800B2B58 14A10004 */ bne $a1, $at, .L800B2B6C
/* B29CFC 800B2B5C 3C018000 */ lui $at, 0x8000
/* B29D00 800B2B60 15A10002 */ bne $t5, $at, .L800B2B6C
/* B29D04 800B2B64 00000000 */ nop
/* B29D08 800B2B68 0006000D */ break 6
.L800B2B6C:
/* B29D0C 800B2B6C 00007012 */ mflo $t6
/* B29D10 800B2B70 018EC023 */ subu $t8, $t4, $t6
/* B29D14 800B2B74 330FFFFF */ andi $t7, $t8, 0xffff
/* B29D18 800B2B78 29E1014E */ slti $at, $t7, 0x14e
/* B29D1C 800B2B7C 10200004 */ beqz $at, .L800B2B90
/* B29D20 800B2B80 A498000E */ sh $t8, 0xe($a0)
/* B29D24 800B2B84 24080001 */ li $t0, 1
/* B29D28 800B2B88 A499000E */ sh $t9, 0xe($a0)
/* B29D2C 800B2B8C A088000A */ sb $t0, 0xa($a0)
.L800B2B90:
/* B29D30 800B2B90 03E00008 */ jr $ra
/* B29D34 800B2B94 00000000 */ nop
glabel func_800B2B98
/* B29D38 800B2B98 27BDFF80 */ addiu $sp, $sp, -0x80
/* B29D3C 800B2B9C AFBF0024 */ sw $ra, 0x24($sp)
/* B29D40 800B2BA0 AFB00020 */ sw $s0, 0x20($sp)
/* B29D44 800B2BA4 AFA50084 */ sw $a1, 0x84($sp)
/* B29D48 800B2BA8 8CAF0000 */ lw $t7, ($a1)
/* B29D4C 800B2BAC 3C018014 */ lui $at, %hi(D_801430A0)
/* B29D50 800B2BB0 C42030A0 */ lwc1 $f0, %lo(D_801430A0)($at)
/* B29D54 800B2BB4 AFAF007C */ sw $t7, 0x7c($sp)
/* B29D58 800B2BB8 90820009 */ lbu $v0, 9($a0)
/* B29D5C 800B2BBC 00808025 */ move $s0, $a0
/* B29D60 800B2BC0 44050000 */ mfc1 $a1, $f0
/* B29D64 800B2BC4 0002C080 */ sll $t8, $v0, 2
/* B29D68 800B2BC8 0302C023 */ subu $t8, $t8, $v0
/* B29D6C 800B2BCC 0018C180 */ sll $t8, $t8, 6
/* B29D70 800B2BD0 00982021 */ addu $a0, $a0, $t8
/* B29D74 800B2BD4 38590001 */ xori $t9, $v0, 1
/* B29D78 800B2BD8 24840098 */ addiu $a0, $a0, 0x98
/* B29D7C 800B2BDC A2190009 */ sb $t9, 9($s0)
/* B29D80 800B2BE0 44060000 */ mfc1 $a2, $f0
/* B29D84 800B2BE4 AFA40078 */ sw $a0, 0x78($sp)
/* B29D88 800B2BE8 0C040078 */ jal func_801001E0
/* B29D8C 800B2BEC 3C073F80 */ li $a3, 0x3F800000 # 0.000000
/* B29D90 800B2BF0 44800000 */ mtc1 $zero, $f0
/* B29D94 800B2BF4 8FA40078 */ lw $a0, 0x78($sp)
/* B29D98 800B2BF8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29D9C 800B2BFC 44812000 */ mtc1 $at, $f4
/* B29DA0 800B2C00 24840040 */ addiu $a0, $a0, 0x40
/* B29DA4 800B2C04 44050000 */ mfc1 $a1, $f0
/* B29DA8 800B2C08 44060000 */ mfc1 $a2, $f0
/* B29DAC 800B2C0C 44070000 */ mfc1 $a3, $f0
/* B29DB0 800B2C10 AFA40030 */ sw $a0, 0x30($sp)
/* B29DB4 800B2C14 0C040FE9 */ jal func_80103FA4
/* B29DB8 800B2C18 E7A40010 */ swc1 $f4, 0x10($sp)
/* B29DBC 800B2C1C 44800000 */ mtc1 $zero, $f0
/* B29DC0 800B2C20 8FA40078 */ lw $a0, 0x78($sp)
/* B29DC4 800B2C24 44050000 */ mfc1 $a1, $f0
/* B29DC8 800B2C28 24840080 */ addiu $a0, $a0, 0x80
/* B29DCC 800B2C2C 44060000 */ mfc1 $a2, $f0
/* B29DD0 800B2C30 44070000 */ mfc1 $a3, $f0
/* B29DD4 800B2C34 0C041708 */ jal func_80105C20
/* B29DD8 800B2C38 AFA4002C */ sw $a0, 0x2c($sp)
/* B29DDC 800B2C3C 8FA8007C */ lw $t0, 0x7c($sp)
/* B29DE0 800B2C40 3C0AE700 */ lui $t2, 0xe700
/* B29DE4 800B2C44 27A4007C */ addiu $a0, $sp, 0x7c
/* B29DE8 800B2C48 25090008 */ addiu $t1, $t0, 8
/* B29DEC 800B2C4C AFA9007C */ sw $t1, 0x7c($sp)
/* B29DF0 800B2C50 AD000004 */ sw $zero, 4($t0)
/* B29DF4 800B2C54 AD0A0000 */ sw $t2, ($t0)
/* B29DF8 800B2C58 9606000E */ lhu $a2, 0xe($s0)
/* B29DFC 800B2C5C 9605000C */ lhu $a1, 0xc($s0)
/* B29E00 800B2C60 AFA00010 */ sw $zero, 0x10($sp)
/* B29E04 800B2C64 0C02536E */ jal Gfx_BranchTexScroll
/* B29E08 800B2C68 00003825 */ move $a3, $zero
/* B29E0C 800B2C6C 8FAB007C */ lw $t3, 0x7c($sp)
/* B29E10 800B2C70 3C0DDB06 */ lui $t5, (0xDB060020 >> 16) # lui $t5, 0xdb06
/* B29E14 800B2C74 35AD0020 */ ori $t5, (0xDB060020 & 0xFFFF) # ori $t5, $t5, 0x20
/* B29E18 800B2C78 256C0008 */ addiu $t4, $t3, 8
/* B29E1C 800B2C7C AFAC007C */ sw $t4, 0x7c($sp)
/* B29E20 800B2C80 AD620004 */ sw $v0, 4($t3)
/* B29E24 800B2C84 AD6D0000 */ sw $t5, ($t3)
/* B29E28 800B2C88 8FA2007C */ lw $v0, 0x7c($sp)
/* B29E2C 800B2C8C 3C18FA00 */ lui $t8, (0xFA000080 >> 16) # lui $t8, 0xfa00
/* B29E30 800B2C90 37180080 */ ori $t8, (0xFA000080 & 0xFFFF) # ori $t8, $t8, 0x80
/* B29E34 800B2C94 244F0008 */ addiu $t7, $v0, 8
/* B29E38 800B2C98 AFAF007C */ sw $t7, 0x7c($sp)
/* B29E3C 800B2C9C AC580000 */ sw $t8, ($v0)
/* B29E40 800B2CA0 920B0001 */ lbu $t3, 1($s0)
/* B29E44 800B2CA4 92080000 */ lbu $t0, ($s0)
/* B29E48 800B2CA8 920F0002 */ lbu $t7, 2($s0)
/* B29E4C 800B2CAC 000B6400 */ sll $t4, $t3, 0x10
/* B29E50 800B2CB0 00084E00 */ sll $t1, $t0, 0x18
/* B29E54 800B2CB4 012C6825 */ or $t5, $t1, $t4
/* B29E58 800B2CB8 000FC200 */ sll $t8, $t7, 8
/* B29E5C 800B2CBC 01B8C825 */ or $t9, $t5, $t8
/* B29E60 800B2CC0 372800FF */ ori $t0, $t9, 0xff
/* B29E64 800B2CC4 AC480004 */ sw $t0, 4($v0)
/* B29E68 800B2CC8 8FAA007C */ lw $t2, 0x7c($sp)
/* B29E6C 800B2CCC 3C09DA38 */ lui $t1, (0xDA380007 >> 16) # lui $t1, 0xda38
/* B29E70 800B2CD0 35290007 */ ori $t1, (0xDA380007 & 0xFFFF) # ori $t1, $t1, 7
/* B29E74 800B2CD4 254B0008 */ addiu $t3, $t2, 8
/* B29E78 800B2CD8 AFAB007C */ sw $t3, 0x7c($sp)
/* B29E7C 800B2CDC 260C0018 */ addiu $t4, $s0, 0x18
/* B29E80 800B2CE0 AD4C0004 */ sw $t4, 4($t2)
/* B29E84 800B2CE4 AD490000 */ sw $t1, ($t2)
/* B29E88 800B2CE8 8FAE007C */ lw $t6, 0x7c($sp)
/* B29E8C 800B2CEC 3C0DDB0E */ lui $t5, 0xdb0e
/* B29E90 800B2CF0 3C0ADA38 */ lui $t2, (0xDA380005 >> 16) # lui $t2, 0xda38
/* B29E94 800B2CF4 25CF0008 */ addiu $t7, $t6, 8
/* B29E98 800B2CF8 AFAF007C */ sw $t7, 0x7c($sp)
/* B29E9C 800B2CFC ADCD0000 */ sw $t5, ($t6)
/* B29EA0 800B2D00 96180010 */ lhu $t8, 0x10($s0)
/* B29EA4 800B2D04 354A0005 */ ori $t2, (0xDA380005 & 0xFFFF) # ori $t2, $t2, 5
/* B29EA8 800B2D08 260B0058 */ addiu $t3, $s0, 0x58
/* B29EAC 800B2D0C ADD80004 */ sw $t8, 4($t6)
/* B29EB0 800B2D10 8FB9007C */ lw $t9, 0x7c($sp)
/* B29EB4 800B2D14 3C0EDA38 */ lui $t6, (0xDA380003 >> 16) # lui $t6, 0xda38
/* B29EB8 800B2D18 35CE0003 */ ori $t6, (0xDA380003 & 0xFFFF) # ori $t6, $t6, 3
/* B29EBC 800B2D1C 27280008 */ addiu $t0, $t9, 8
/* B29EC0 800B2D20 AFA8007C */ sw $t0, 0x7c($sp)
/* B29EC4 800B2D24 AF2B0004 */ sw $t3, 4($t9)
/* B29EC8 800B2D28 AF2A0000 */ sw $t2, ($t9)
/* B29ECC 800B2D2C 8FA9007C */ lw $t1, 0x7c($sp)
/* B29ED0 800B2D30 3C03DA38 */ lui $v1, (0xDA380001 >> 16) # lui $v1, 0xda38
/* B29ED4 800B2D34 34630001 */ ori $v1, (0xDA380001 & 0xFFFF) # ori $v1, $v1, 1
/* B29ED8 800B2D38 252C0008 */ addiu $t4, $t1, 8
/* B29EDC 800B2D3C AFAC007C */ sw $t4, 0x7c($sp)
/* B29EE0 800B2D40 AD2E0000 */ sw $t6, ($t1)
/* B29EE4 800B2D44 8FAF0078 */ lw $t7, 0x78($sp)
/* B29EE8 800B2D48 3C0EDE00 */ lui $t6, 0xde00
/* B29EEC 800B2D4C AD2F0004 */ sw $t7, 4($t1)
/* B29EF0 800B2D50 8FAD007C */ lw $t5, 0x7c($sp)
/* B29EF4 800B2D54 3C0F8013 */ lui $t7, %hi(D_8012BA90) # $t7, 0x8013
/* B29EF8 800B2D58 25EFBA90 */ addiu $t7, %lo(D_8012BA90) # addiu $t7, $t7, -0x4570
/* B29EFC 800B2D5C 25B80008 */ addiu $t8, $t5, 8
/* B29F00 800B2D60 AFB8007C */ sw $t8, 0x7c($sp)
/* B29F04 800B2D64 ADA30000 */ sw $v1, ($t5)
/* B29F08 800B2D68 8FB90030 */ lw $t9, 0x30($sp)
/* B29F0C 800B2D6C ADB90004 */ sw $t9, 4($t5)
/* B29F10 800B2D70 8FA8007C */ lw $t0, 0x7c($sp)
/* B29F14 800B2D74 3C19E700 */ lui $t9, 0xe700
/* B29F18 800B2D78 250A0008 */ addiu $t2, $t0, 8
/* B29F1C 800B2D7C AFAA007C */ sw $t2, 0x7c($sp)
/* B29F20 800B2D80 AD030000 */ sw $v1, ($t0)
/* B29F24 800B2D84 8FAB002C */ lw $t3, 0x2c($sp)
/* B29F28 800B2D88 AD0B0004 */ sw $t3, 4($t0)
/* B29F2C 800B2D8C 8FA9007C */ lw $t1, 0x7c($sp)
/* B29F30 800B2D90 252C0008 */ addiu $t4, $t1, 8
/* B29F34 800B2D94 AFAC007C */ sw $t4, 0x7c($sp)
/* B29F38 800B2D98 AD2F0004 */ sw $t7, 4($t1)
/* B29F3C 800B2D9C AD2E0000 */ sw $t6, ($t1)
/* B29F40 800B2DA0 8FAD007C */ lw $t5, 0x7c($sp)
/* B29F44 800B2DA4 25B80008 */ addiu $t8, $t5, 8
/* B29F48 800B2DA8 AFB8007C */ sw $t8, 0x7c($sp)
/* B29F4C 800B2DAC ADA00004 */ sw $zero, 4($t5)
/* B29F50 800B2DB0 ADB90000 */ sw $t9, ($t5)
/* B29F54 800B2DB4 8FAA0084 */ lw $t2, 0x84($sp)
/* B29F58 800B2DB8 8FA8007C */ lw $t0, 0x7c($sp)
/* B29F5C 800B2DBC AD480000 */ sw $t0, ($t2)
/* B29F60 800B2DC0 8FBF0024 */ lw $ra, 0x24($sp)
/* B29F64 800B2DC4 8FB00020 */ lw $s0, 0x20($sp)
/* B29F68 800B2DC8 27BD0080 */ addiu $sp, $sp, 0x80
/* B29F6C 800B2DCC 03E00008 */ jr $ra
/* B29F70 800B2DD0 00000000 */ nop
glabel func_800B2DD4
/* B29F74 800B2DD4 03E00008 */ jr $ra
/* B29F78 800B2DD8 9082000A */ lbu $v0, 0xa($a0)
glabel func_800B2DDC
/* B29F7C 800B2DDC 24010001 */ li $at, 1
/* B29F80 800B2DE0 14A10003 */ bne $a1, $at, .L800B2DF0
/* B29F84 800B2DE4 240E0001 */ li $t6, 1
/* B29F88 800B2DE8 10000002 */ b .L800B2DF4
/* B29F8C 800B2DEC A08E0008 */ sb $t6, 8($a0)
.L800B2DF0:
/* B29F90 800B2DF0 A0800008 */ sb $zero, 8($a0)
.L800B2DF4:
/* B29F94 800B2DF4 908F0008 */ lbu $t7, 8($a0)
/* B29F98 800B2DF8 2418014D */ li $t8, 333
/* B29F9C 800B2DFC 24190264 */ li $t9, 612
/* B29FA0 800B2E00 51E00004 */ beql $t7, $zero, .L800B2E14
/* B29FA4 800B2E04 A499000E */ sh $t9, 0xe($a0)
/* B29FA8 800B2E08 03E00008 */ jr $ra
/* B29FAC 800B2E0C A498000E */ sh $t8, 0xe($a0)
/* B29FB0 800B2E10 A499000E */ sh $t9, 0xe($a0)
.L800B2E14:
/* B29FB4 800B2E14 03E00008 */ jr $ra
/* B29FB8 800B2E18 00000000 */ nop
glabel func_800B2E1C
/* B29FBC 800B2E1C 03E00008 */ jr $ra
/* B29FC0 800B2E20 AC850000 */ sw $a1, ($a0)
glabel func_800B2E24
/* B29FC4 800B2E24 03E00008 */ jr $ra
/* B29FC8 800B2E28 AC850004 */ sw $a1, 4($a0)

View File

@ -1,485 +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 .text
.align 4
glabel func_800B2E30
/* B29FD0 800B2E30 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B29FD4 800B2E34 AFBF0034 */ sw $ra, 0x34($sp)
/* B29FD8 800B2E38 AFB00030 */ sw $s0, 0x30($sp)
/* B29FDC 800B2E3C 90820017 */ lbu $v0, 0x17($a0)
/* B29FE0 800B2E40 24030001 */ li $v1, 1
/* B29FE4 800B2E44 00808025 */ move $s0, $a0
/* B29FE8 800B2E48 1043000B */ beq $v0, $v1, .L800B2E78
/* B29FEC 800B2E4C A0800018 */ sb $zero, 0x18($a0)
/* B29FF0 800B2E50 24040002 */ li $a0, 2
/* B29FF4 800B2E54 1044000D */ beq $v0, $a0, .L800B2E8C
/* B29FF8 800B2E58 3C188013 */ lui $t8, %hi(D_8012C3A8) # $t8, 0x8013
/* B29FFC 800B2E5C 24010003 */ li $at, 3
/* B2A000 800B2E60 1041000D */ beq $v0, $at, .L800B2E98
/* B2A004 800B2E64 3C198013 */ lui $t9, %hi(D_8012C7A8) # $t9, 0x8013
/* B2A008 800B2E68 3C0E8013 */ lui $t6, %hi(D_8012BBA8) # $t6, 0x8013
/* B2A00C 800B2E6C 25CEBBA8 */ addiu $t6, %lo(D_8012BBA8) # addiu $t6, $t6, -0x4458
/* B2A010 800B2E70 1000000B */ b .L800B2EA0
/* B2A014 800B2E74 AE0E00A0 */ sw $t6, 0xa0($s0)
.L800B2E78:
/* B2A018 800B2E78 3C0F8013 */ lui $t7, %hi(D_8012BFA8) # $t7, 0x8013
/* B2A01C 800B2E7C 25EFBFA8 */ addiu $t7, %lo(D_8012BFA8) # addiu $t7, $t7, -0x4058
/* B2A020 800B2E80 AE0F00A0 */ sw $t7, 0xa0($s0)
/* B2A024 800B2E84 10000006 */ b .L800B2EA0
/* B2A028 800B2E88 24040002 */ li $a0, 2
.L800B2E8C:
/* B2A02C 800B2E8C 2718C3A8 */ addiu $t8, %lo(D_8012C3A8) # addiu $t8, $t8, -0x3c58
/* B2A030 800B2E90 10000003 */ b .L800B2EA0
/* B2A034 800B2E94 AE1800A0 */ sw $t8, 0xa0($s0)
.L800B2E98:
/* B2A038 800B2E98 2739C7A8 */ addiu $t9, %lo(D_8012C7A8) # addiu $t9, $t9, -0x3858
/* B2A03C 800B2E9C AE1900A0 */ sw $t9, 0xa0($s0)
.L800B2EA0:
/* B2A040 800B2EA0 92080016 */ lbu $t0, 0x16($s0)
/* B2A044 800B2EA4 24090014 */ li $t1, 20
/* B2A048 800B2EA8 240A000A */ li $t2, 10
/* B2A04C 800B2EAC 15000003 */ bnez $t0, .L800B2EBC
/* B2A050 800B2EB0 240B00FF */ li $t3, 255
/* B2A054 800B2EB4 10000002 */ b .L800B2EC0
/* B2A058 800B2EB8 AE090010 */ sw $t1, 0x10($s0)
.L800B2EBC:
/* B2A05C 800B2EBC AE0A0010 */ sw $t2, 0x10($s0)
.L800B2EC0:
/* B2A060 800B2EC0 92020015 */ lbu $v0, 0x15($s0)
/* B2A064 800B2EC4 14400003 */ bnez $v0, .L800B2ED4
/* B2A068 800B2EC8 00000000 */ nop
/* B2A06C 800B2ECC 10000018 */ b .L800B2F30
/* B2A070 800B2ED0 AE0B0000 */ sw $t3, ($s0)
.L800B2ED4:
/* B2A074 800B2ED4 14620004 */ bne $v1, $v0, .L800B2EE8
/* B2A078 800B2ED8 3C0CA0A0 */ lui $t4, (0xA0A0A0FF >> 16) # lui $t4, 0xa0a0
/* B2A07C 800B2EDC 358CA0FF */ ori $t4, (0xA0A0A0FF & 0xFFFF) # ori $t4, $t4, 0xa0ff
/* B2A080 800B2EE0 10000013 */ b .L800B2F30
/* B2A084 800B2EE4 AE0C0000 */ sw $t4, ($s0)
.L800B2EE8:
/* B2A088 800B2EE8 14820007 */ bne $a0, $v0, .L800B2F08
/* B2A08C 800B2EEC 240D00FF */ li $t5, 255
/* B2A090 800B2EF0 24020064 */ li $v0, 100
/* B2A094 800B2EF4 A2020000 */ sb $v0, ($s0)
/* B2A098 800B2EF8 A2020001 */ sb $v0, 1($s0)
/* B2A09C 800B2EFC A2020002 */ sb $v0, 2($s0)
/* B2A0A0 800B2F00 1000000B */ b .L800B2F30
/* B2A0A4 800B2F04 A20D0003 */ sb $t5, 3($s0)
.L800B2F08:
/* B2A0A8 800B2F08 920F0017 */ lbu $t7, 0x17($s0)
/* B2A0AC 800B2F0C 240E0028 */ li $t6, 40
/* B2A0B0 800B2F10 AE0E0010 */ sw $t6, 0x10($s0)
/* B2A0B4 800B2F14 146F0004 */ bne $v1, $t7, .L800B2F28
/* B2A0B8 800B2F18 3C19A0A0 */ lui $t9, (0xA0A0A0FF >> 16) # lui $t9, 0xa0a0
/* B2A0BC 800B2F1C 241800FF */ li $t8, 255
/* B2A0C0 800B2F20 10000003 */ b .L800B2F30
/* B2A0C4 800B2F24 AE180000 */ sw $t8, ($s0)
.L800B2F28:
/* B2A0C8 800B2F28 3739A0FF */ ori $t9, (0xA0A0A0FF & 0xFFFF) # ori $t9, $t9, 0xa0ff
/* B2A0CC 800B2F2C AE190000 */ sw $t9, ($s0)
.L800B2F30:
/* B2A0D0 800B2F30 92080014 */ lbu $t0, 0x14($s0)
/* B2A0D4 800B2F34 51000009 */ beql $t0, $zero, .L800B2F5C
/* B2A0D8 800B2F38 920C0017 */ lbu $t4, 0x17($s0)
/* B2A0DC 800B2F3C 92090015 */ lbu $t1, 0x15($s0)
/* B2A0E0 800B2F40 24010003 */ li $at, 3
/* B2A0E4 800B2F44 AE00000C */ sw $zero, 0xc($s0)
/* B2A0E8 800B2F48 15210012 */ bne $t1, $at, .L800B2F94
/* B2A0EC 800B2F4C 240A00FA */ li $t2, 250
/* B2A0F0 800B2F50 10000010 */ b .L800B2F94
/* B2A0F4 800B2F54 AE0A000C */ sw $t2, 0xc($s0)
/* B2A0F8 800B2F58 920C0017 */ lbu $t4, 0x17($s0)
.L800B2F5C:
/* B2A0FC 800B2F5C 240B01F4 */ li $t3, 500
/* B2A100 800B2F60 AE0B000C */ sw $t3, 0xc($s0)
/* B2A104 800B2F64 148C000B */ bne $a0, $t4, .L800B2F94
/* B2A108 800B2F68 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B2A10C 800B2F6C 3C0D8013 */ lui $t5, %hi(D_801333E8) # $t5, 0x8013
/* B2A110 800B2F70 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B2A114 800B2F74 25AD33E8 */ addiu $t5, %lo(D_801333E8) # addiu $t5, $t5, 0x33e8
/* B2A118 800B2F78 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B2A11C 800B2F7C 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B2A120 800B2F80 AFAD0014 */ sw $t5, 0x14($sp)
/* B2A124 800B2F84 AFA70010 */ sw $a3, 0x10($sp)
/* B2A128 800B2F88 24045804 */ li $a0, 22532
/* B2A12C 800B2F8C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B2A130 800B2F90 24060004 */ li $a2, 4
.L800B2F94:
/* B2A134 800B2F94 3C014120 */ li $at, 0x41200000 # 0.000000
/* B2A138 800B2F98 44812000 */ mtc1 $at, $f4
/* B2A13C 800B2F9C 3C014648 */ li $at, 0x46480000 # 0.000000
/* B2A140 800B2FA0 44813000 */ mtc1 $at, $f6
/* B2A144 800B2FA4 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2A148 800B2FA8 44814000 */ mtc1 $at, $f8
/* B2A14C 800B2FAC 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa
/* B2A150 800B2FB0 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab
/* B2A154 800B2FB4 26040020 */ addiu $a0, $s0, 0x20
/* B2A158 800B2FB8 2605001A */ addiu $a1, $s0, 0x1a
/* B2A15C 800B2FBC 3C064270 */ li $a2, 0x42700000 # 0.000000
/* B2A160 800B2FC0 E7A40010 */ swc1 $f4, 0x10($sp)
/* B2A164 800B2FC4 E7A60014 */ swc1 $f6, 0x14($sp)
/* B2A168 800B2FC8 0C0404C0 */ jal guPerspective
/* B2A16C 800B2FCC E7A80018 */ swc1 $f8, 0x18($sp)
/* B2A170 800B2FD0 44800000 */ mtc1 $zero, $f0
/* B2A174 800B2FD4 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2A178 800B2FD8 44815000 */ mtc1 $at, $f10
/* B2A17C 800B2FDC 44050000 */ mfc1 $a1, $f0
/* B2A180 800B2FE0 44060000 */ mfc1 $a2, $f0
/* B2A184 800B2FE4 26040060 */ addiu $a0, $s0, 0x60
/* B2A188 800B2FE8 3C0743C8 */ lui $a3, 0x43c8
/* B2A18C 800B2FEC E7A00010 */ swc1 $f0, 0x10($sp)
/* B2A190 800B2FF0 E7A00014 */ swc1 $f0, 0x14($sp)
/* B2A194 800B2FF4 E7A00018 */ swc1 $f0, 0x18($sp)
/* B2A198 800B2FF8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* B2A19C 800B2FFC E7A00024 */ swc1 $f0, 0x24($sp)
/* B2A1A0 800B3000 0C04078D */ jal guLookAtReflect
/* B2A1A4 800B3004 E7AA0020 */ swc1 $f10, 0x20($sp)
/* B2A1A8 800B3008 8FBF0034 */ lw $ra, 0x34($sp)
/* B2A1AC 800B300C 8FB00030 */ lw $s0, 0x30($sp)
/* B2A1B0 800B3010 27BD0038 */ addiu $sp, $sp, 0x38
/* B2A1B4 800B3014 03E00008 */ jr $ra
/* B2A1B8 800B3018 00000000 */ nop
glabel func_800B301C
/* B2A1BC 800B301C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B2A1C0 800B3020 AFBF0014 */ sw $ra, 0x14($sp)
/* B2A1C4 800B3024 AFA40018 */ sw $a0, 0x18($sp)
/* B2A1C8 800B3028 0C001114 */ jal bzero
/* B2A1CC 800B302C 24050228 */ li $a1, 552
/* B2A1D0 800B3030 8FBF0014 */ lw $ra, 0x14($sp)
/* B2A1D4 800B3034 8FA20018 */ lw $v0, 0x18($sp)
/* B2A1D8 800B3038 27BD0018 */ addiu $sp, $sp, 0x18
/* B2A1DC 800B303C 03E00008 */ jr $ra
/* B2A1E0 800B3040 00000000 */ nop
glabel func_800B3044
/* B2A1E4 800B3044 03E00008 */ jr $ra
/* B2A1E8 800B3048 AFA40000 */ sw $a0, ($sp)
glabel func_800B304C
/* B2A1EC 800B304C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B2A1F0 800B3050 AFBF0024 */ sw $ra, 0x24($sp)
/* B2A1F4 800B3054 AFB00020 */ sw $s0, 0x20($sp)
/* B2A1F8 800B3058 AFA5002C */ sw $a1, 0x2c($sp)
/* B2A1FC 800B305C 908E0014 */ lbu $t6, 0x14($a0)
/* B2A200 800B3060 00808025 */ move $s0, $a0
/* B2A204 800B3064 51C00031 */ beql $t6, $zero, .L800B312C
/* B2A208 800B3068 8E0F0010 */ lw $t7, 0x10($s0)
/* B2A20C 800B306C 8E02000C */ lw $v0, 0xc($s0)
/* B2A210 800B3070 54400012 */ bnezl $v0, .L800B30BC
/* B2A214 800B3074 8E190010 */ lw $t9, 0x10($s0)
/* B2A218 800B3078 920F0017 */ lbu $t7, 0x17($s0)
/* B2A21C 800B307C 24010002 */ li $at, 2
/* B2A220 800B3080 55E1000E */ bnel $t7, $at, .L800B30BC
/* B2A224 800B3084 8E190010 */ lw $t9, 0x10($s0)
/* B2A228 800B3088 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B2A22C 800B308C 3C188013 */ lui $t8, %hi(D_801333E8) # $t8, 0x8013
/* B2A230 800B3090 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B2A234 800B3094 271833E8 */ addiu $t8, %lo(D_801333E8) # addiu $t8, $t8, 0x33e8
/* B2A238 800B3098 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B2A23C 800B309C 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B2A240 800B30A0 AFB80014 */ sw $t8, 0x14($sp)
/* B2A244 800B30A4 AFA70010 */ sw $a3, 0x10($sp)
/* B2A248 800B30A8 24045803 */ li $a0, 22531
/* B2A24C 800B30AC 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B2A250 800B30B0 24060004 */ li $a2, 4
/* B2A254 800B30B4 8E02000C */ lw $v0, 0xc($s0)
/* B2A258 800B30B8 8E190010 */ lw $t9, 0x10($s0)
.L800B30BC:
/* B2A25C 800B30BC 24030003 */ li $v1, 3
/* B2A260 800B30C0 8FA9002C */ lw $t1, 0x2c($sp)
/* B2A264 800B30C4 03230019 */ multu $t9, $v1
/* B2A268 800B30C8 240D01F4 */ li $t5, 500
/* B2A26C 800B30CC 240E0001 */ li $t6, 1
/* B2A270 800B30D0 00004012 */ mflo $t0
/* B2A274 800B30D4 00000000 */ nop
/* B2A278 800B30D8 00000000 */ nop
/* B2A27C 800B30DC 0109001A */ div $zero, $t0, $t1
/* B2A280 800B30E0 15200002 */ bnez $t1, .L800B30EC
/* B2A284 800B30E4 00000000 */ nop
/* B2A288 800B30E8 0007000D */ break 7
.L800B30EC:
/* B2A28C 800B30EC 2401FFFF */ li $at, -1
/* B2A290 800B30F0 15210004 */ bne $t1, $at, .L800B3104
/* B2A294 800B30F4 3C018000 */ lui $at, 0x8000
/* B2A298 800B30F8 15010002 */ bne $t0, $at, .L800B3104
/* B2A29C 800B30FC 00000000 */ nop
/* B2A2A0 800B3100 0006000D */ break 6
.L800B3104:
/* B2A2A4 800B3104 00005012 */ mflo $t2
/* B2A2A8 800B3108 004A5821 */ addu $t3, $v0, $t2
/* B2A2AC 800B310C 296101F4 */ slti $at, $t3, 0x1f4
/* B2A2B0 800B3110 AE0B000C */ sw $t3, 0xc($s0)
/* B2A2B4 800B3114 14200029 */ bnez $at, .L800B31BC
/* B2A2B8 800B3118 01606025 */ move $t4, $t3
/* B2A2BC 800B311C AE0D000C */ sw $t5, 0xc($s0)
/* B2A2C0 800B3120 10000026 */ b .L800B31BC
/* B2A2C4 800B3124 A20E0018 */ sb $t6, 0x18($s0)
/* B2A2C8 800B3128 8E0F0010 */ lw $t7, 0x10($s0)
.L800B312C:
/* B2A2CC 800B312C 24030003 */ li $v1, 3
/* B2A2D0 800B3130 8FB9002C */ lw $t9, 0x2c($sp)
/* B2A2D4 800B3134 01E30019 */ multu $t7, $v1
/* B2A2D8 800B3138 8E09000C */ lw $t1, 0xc($s0)
/* B2A2DC 800B313C 920B0015 */ lbu $t3, 0x15($s0)
/* B2A2E0 800B3140 0000C012 */ mflo $t8
/* B2A2E4 800B3144 00000000 */ nop
/* B2A2E8 800B3148 00000000 */ nop
/* B2A2EC 800B314C 0319001A */ div $zero, $t8, $t9
/* B2A2F0 800B3150 00004012 */ mflo $t0
/* B2A2F4 800B3154 01285023 */ subu $t2, $t1, $t0
/* B2A2F8 800B3158 17200002 */ bnez $t9, .L800B3164
/* B2A2FC 800B315C 00000000 */ nop
/* B2A300 800B3160 0007000D */ break 7
.L800B3164:
/* B2A304 800B3164 2401FFFF */ li $at, -1
/* B2A308 800B3168 17210004 */ bne $t9, $at, .L800B317C
/* B2A30C 800B316C 3C018000 */ lui $at, 0x8000
/* B2A310 800B3170 17010002 */ bne $t8, $at, .L800B317C
/* B2A314 800B3174 00000000 */ nop
/* B2A318 800B3178 0006000D */ break 6
.L800B317C:
/* B2A31C 800B317C AE0A000C */ sw $t2, 0xc($s0)
/* B2A320 800B3180 506B0007 */ beql $v1, $t3, .L800B31A0
/* B2A324 800B3184 8E0E000C */ lw $t6, 0xc($s0)
/* B2A328 800B3188 1D40000C */ bgtz $t2, .L800B31BC
/* B2A32C 800B318C 240D0001 */ li $t5, 1
/* B2A330 800B3190 AE00000C */ sw $zero, 0xc($s0)
/* B2A334 800B3194 10000009 */ b .L800B31BC
/* B2A338 800B3198 A20D0018 */ sb $t5, 0x18($s0)
/* B2A33C 800B319C 8E0E000C */ lw $t6, 0xc($s0)
.L800B31A0:
/* B2A340 800B31A0 240F00FA */ li $t7, 250
/* B2A344 800B31A4 24180001 */ li $t8, 1
/* B2A348 800B31A8 29C100FB */ slti $at, $t6, 0xfb
/* B2A34C 800B31AC 50200004 */ beql $at, $zero, .L800B31C0
/* B2A350 800B31B0 8FBF0024 */ lw $ra, 0x24($sp)
/* B2A354 800B31B4 AE0F000C */ sw $t7, 0xc($s0)
/* B2A358 800B31B8 A2180018 */ sb $t8, 0x18($s0)
.L800B31BC:
/* B2A35C 800B31BC 8FBF0024 */ lw $ra, 0x24($sp)
.L800B31C0:
/* B2A360 800B31C0 8FB00020 */ lw $s0, 0x20($sp)
/* B2A364 800B31C4 27BD0028 */ addiu $sp, $sp, 0x28
/* B2A368 800B31C8 03E00008 */ jr $ra
/* B2A36C 800B31CC 00000000 */ nop
glabel func_800B31D0
/* B2A370 800B31D0 27BDFF80 */ addiu $sp, $sp, -0x80
/* B2A374 800B31D4 AFBF0024 */ sw $ra, 0x24($sp)
/* B2A378 800B31D8 AFB00020 */ sw $s0, 0x20($sp)
/* B2A37C 800B31DC AFA50084 */ sw $a1, 0x84($sp)
/* B2A380 800B31E0 8CAF0000 */ lw $t7, ($a1)
/* B2A384 800B31E4 3C0CE700 */ lui $t4, 0xe700
/* B2A388 800B31E8 00808025 */ move $s0, $a0
/* B2A38C 800B31EC AFAF007C */ sw $t7, 0x7c($sp)
/* B2A390 800B31F0 90820019 */ lbu $v0, 0x19($a0)
/* B2A394 800B31F4 240D0040 */ li $t5, 64
/* B2A398 800B31F8 24070010 */ li $a3, 16
/* B2A39C 800B31FC 0002C080 */ sll $t8, $v0, 2
/* B2A3A0 800B3200 0302C023 */ subu $t8, $t8, $v0
/* B2A3A4 800B3204 0018C180 */ sll $t8, $t8, 6
/* B2A3A8 800B3208 0098C821 */ addu $t9, $a0, $t8
/* B2A3AC 800B320C 272800A8 */ addiu $t0, $t9, 0xa8
/* B2A3B0 800B3210 AFA80078 */ sw $t0, 0x78($sp)
/* B2A3B4 800B3214 38490001 */ xori $t1, $v0, 1
/* B2A3B8 800B3218 A0890019 */ sb $t1, 0x19($a0)
/* B2A3BC 800B321C 8FAA007C */ lw $t2, 0x7c($sp)
/* B2A3C0 800B3220 27A4007C */ addiu $a0, $sp, 0x7c
/* B2A3C4 800B3224 254B0008 */ addiu $t3, $t2, 8
/* B2A3C8 800B3228 AFAB007C */ sw $t3, 0x7c($sp)
/* B2A3CC 800B322C AD400004 */ sw $zero, 4($t2)
/* B2A3D0 800B3230 AD4C0000 */ sw $t4, ($t2)
/* B2A3D4 800B3234 8E06000C */ lw $a2, 0xc($s0)
/* B2A3D8 800B3238 8E050008 */ lw $a1, 8($s0)
/* B2A3DC 800B323C 0C02536E */ jal Gfx_BranchTexScroll
/* B2A3E0 800B3240 AFAD0010 */ sw $t5, 0x10($sp)
/* B2A3E4 800B3244 8FAE007C */ lw $t6, 0x7c($sp)
/* B2A3E8 800B3248 3C18DB06 */ lui $t8, (0xDB060024 >> 16) # lui $t8, 0xdb06
/* B2A3EC 800B324C 37180024 */ ori $t8, (0xDB060024 & 0xFFFF) # ori $t8, $t8, 0x24
/* B2A3F0 800B3250 25CF0008 */ addiu $t7, $t6, 8
/* B2A3F4 800B3254 AFAF007C */ sw $t7, 0x7c($sp)
/* B2A3F8 800B3258 ADC20004 */ sw $v0, 4($t6)
/* B2A3FC 800B325C ADD80000 */ sw $t8, ($t6)
/* B2A400 800B3260 8FB9007C */ lw $t9, 0x7c($sp)
/* B2A404 800B3264 3C09DB06 */ lui $t1, (0xDB060020 >> 16) # lui $t1, 0xdb06
/* B2A408 800B3268 35290020 */ ori $t1, (0xDB060020 & 0xFFFF) # ori $t1, $t1, 0x20
/* B2A40C 800B326C 27280008 */ addiu $t0, $t9, 8
/* B2A410 800B3270 AFA8007C */ sw $t0, 0x7c($sp)
/* B2A414 800B3274 AF290000 */ sw $t1, ($t9)
/* B2A418 800B3278 8E0A00A0 */ lw $t2, 0xa0($s0)
/* B2A41C 800B327C 3C0DFA00 */ lui $t5, 0xfa00
/* B2A420 800B3280 3C018014 */ lui $at, %hi(D_801430B0)
/* B2A424 800B3284 AF2A0004 */ sw $t2, 4($t9)
/* B2A428 800B3288 8FAB007C */ lw $t3, 0x7c($sp)
/* B2A42C 800B328C 3C19FB00 */ lui $t9, 0xfb00
/* B2A430 800B3290 256C0008 */ addiu $t4, $t3, 8
/* B2A434 800B3294 AFAC007C */ sw $t4, 0x7c($sp)
/* B2A438 800B3298 AD6D0000 */ sw $t5, ($t3)
/* B2A43C 800B329C 8E0E0000 */ lw $t6, ($s0)
/* B2A440 800B32A0 260C0020 */ addiu $t4, $s0, 0x20
/* B2A444 800B32A4 AD6E0004 */ sw $t6, 4($t3)
/* B2A448 800B32A8 8FAF007C */ lw $t7, 0x7c($sp)
/* B2A44C 800B32AC 3C0BDA38 */ lui $t3, (0xDA380007 >> 16) # lui $t3, 0xda38
/* B2A450 800B32B0 356B0007 */ ori $t3, (0xDA380007 & 0xFFFF) # ori $t3, $t3, 7
/* B2A454 800B32B4 25F80008 */ addiu $t8, $t7, 8
/* B2A458 800B32B8 AFB8007C */ sw $t8, 0x7c($sp)
/* B2A45C 800B32BC ADF90000 */ sw $t9, ($t7)
/* B2A460 800B32C0 8E080000 */ lw $t0, ($s0)
/* B2A464 800B32C4 ADE80004 */ sw $t0, 4($t7)
/* B2A468 800B32C8 8FA9007C */ lw $t1, 0x7c($sp)
/* B2A46C 800B32CC 3C0FDB0E */ lui $t7, 0xdb0e
/* B2A470 800B32D0 252A0008 */ addiu $t2, $t1, 8
/* B2A474 800B32D4 AFAA007C */ sw $t2, 0x7c($sp)
/* B2A478 800B32D8 AD2C0004 */ sw $t4, 4($t1)
/* B2A47C 800B32DC AD2B0000 */ sw $t3, ($t1)
/* B2A480 800B32E0 8FAD007C */ lw $t5, 0x7c($sp)
/* B2A484 800B32E4 3C09DA38 */ li $t1, 0xDA380000 # 0.000000
/* B2A488 800B32E8 35290005 */ ori $t1, (0xDA380005 & 0xFFFF) # ori $t1, $t1, 5
/* B2A48C 800B32EC 25AE0008 */ addiu $t6, $t5, 8
/* B2A490 800B32F0 AFAE007C */ sw $t6, 0x7c($sp)
/* B2A494 800B32F4 ADAF0000 */ sw $t7, ($t5)
/* B2A498 800B32F8 9618001A */ lhu $t8, 0x1a($s0)
/* B2A49C 800B32FC 260A0060 */ addiu $t2, $s0, 0x60
/* B2A4A0 800B3300 ADB80004 */ sw $t8, 4($t5)
/* B2A4A4 800B3304 8FB9007C */ lw $t9, 0x7c($sp)
/* B2A4A8 800B3308 27280008 */ addiu $t0, $t9, 8
/* B2A4AC 800B330C AFA8007C */ sw $t0, 0x7c($sp)
/* B2A4B0 800B3310 AF2A0004 */ sw $t2, 4($t9)
/* B2A4B4 800B3314 AF290000 */ sw $t1, ($t9)
/* B2A4B8 800B3318 C42030B0 */ lwc1 $f0, %lo(D_801430B0)($at)
/* B2A4BC 800B331C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2A4C0 800B3320 44811000 */ mtc1 $at, $f2
/* B2A4C4 800B3324 00000000 */ nop
/* B2A4C8 800B3328 46020032 */ c.eq.s $f0, $f2
/* B2A4CC 800B332C 00000000 */ nop
/* B2A4D0 800B3330 45030011 */ bc1tl .L800B3378
/* B2A4D4 800B3334 44800000 */ mtc1 $zero, $f0
/* B2A4D8 800B3338 44050000 */ mfc1 $a1, $f0
/* B2A4DC 800B333C 44060000 */ mfc1 $a2, $f0
/* B2A4E0 800B3340 44071000 */ mfc1 $a3, $f2
/* B2A4E4 800B3344 0C040078 */ jal func_801001E0
/* B2A4E8 800B3348 8FA40078 */ lw $a0, 0x78($sp)
/* B2A4EC 800B334C 8FAB007C */ lw $t3, 0x7c($sp)
/* B2A4F0 800B3350 3C0DDA38 */ li $t5, 0xDA380000 # 0.000000
/* B2A4F4 800B3354 35AD0003 */ ori $t5, (0xDA380003 & 0xFFFF) # ori $t5, $t5, 3
/* B2A4F8 800B3358 256C0008 */ addiu $t4, $t3, 8
/* B2A4FC 800B335C AFAC007C */ sw $t4, 0x7c($sp)
/* B2A500 800B3360 AD6D0000 */ sw $t5, ($t3)
/* B2A504 800B3364 8FAE0078 */ lw $t6, 0x78($sp)
/* B2A508 800B3368 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2A50C 800B336C 44811000 */ mtc1 $at, $f2
/* B2A510 800B3370 AD6E0004 */ sw $t6, 4($t3)
/* B2A514 800B3374 44800000 */ mtc1 $zero, $f0
.L800B3378:
/* B2A518 800B3378 8FB00078 */ lw $s0, 0x78($sp)
/* B2A51C 800B337C 46000032 */ c.eq.s $f0, $f0
/* B2A520 800B3380 26100040 */ addiu $s0, $s0, 0x40
/* B2A524 800B3384 02002025 */ move $a0, $s0
/* B2A528 800B3388 4503000F */ bc1tl .L800B33C8
/* B2A52C 800B338C 46000032 */ c.eq.s $f0, $f0
/* B2A530 800B3390 44050000 */ mfc1 $a1, $f0
/* B2A534 800B3394 44060000 */ mfc1 $a2, $f0
/* B2A538 800B3398 44070000 */ mfc1 $a3, $f0
/* B2A53C 800B339C 0C040FE9 */ jal func_80103FA4
/* B2A540 800B33A0 E7A20010 */ swc1 $f2, 0x10($sp)
/* B2A544 800B33A4 8FAF007C */ lw $t7, 0x7c($sp)
/* B2A548 800B33A8 3C19DA38 */ li $t9, 0xDA380000 # 0.000000
/* B2A54C 800B33AC 37390001 */ ori $t9, (0xDA380001 & 0xFFFF) # ori $t9, $t9, 1
/* B2A550 800B33B0 25F80008 */ addiu $t8, $t7, 8
/* B2A554 800B33B4 AFB8007C */ sw $t8, 0x7c($sp)
/* B2A558 800B33B8 44800000 */ mtc1 $zero, $f0
/* B2A55C 800B33BC ADF00004 */ sw $s0, 4($t7)
/* B2A560 800B33C0 ADF90000 */ sw $t9, ($t7)
/* B2A564 800B33C4 46000032 */ c.eq.s $f0, $f0
.L800B33C8:
/* B2A568 800B33C8 8FB00078 */ lw $s0, 0x78($sp)
/* B2A56C 800B33CC 45000005 */ bc1f .L800B33E4
/* B2A570 800B33D0 26100080 */ addiu $s0, $s0, 0x80
/* B2A574 800B33D4 46000032 */ c.eq.s $f0, $f0
/* B2A578 800B33D8 00000000 */ nop
/* B2A57C 800B33DC 4503000E */ bc1tl .L800B3418
/* B2A580 800B33E0 8FAB007C */ lw $t3, 0x7c($sp)
.L800B33E4:
/* B2A584 800B33E4 44050000 */ mfc1 $a1, $f0
/* B2A588 800B33E8 44060000 */ mfc1 $a2, $f0
/* B2A58C 800B33EC 44070000 */ mfc1 $a3, $f0
/* B2A590 800B33F0 0C041708 */ jal func_80105C20
/* B2A594 800B33F4 02002025 */ move $a0, $s0
/* B2A598 800B33F8 8FA8007C */ lw $t0, 0x7c($sp)
/* B2A59C 800B33FC 3C0ADA38 */ lui $t2, (0xDA380001 >> 16) # lui $t2, 0xda38
/* B2A5A0 800B3400 354A0001 */ ori $t2, (0xDA380001 & 0xFFFF) # ori $t2, $t2, 1
/* B2A5A4 800B3404 25090008 */ addiu $t1, $t0, 8
/* B2A5A8 800B3408 AFA9007C */ sw $t1, 0x7c($sp)
/* B2A5AC 800B340C AD100004 */ sw $s0, 4($t0)
/* B2A5B0 800B3410 AD0A0000 */ sw $t2, ($t0)
/* B2A5B4 800B3414 8FAB007C */ lw $t3, 0x7c($sp)
.L800B3418:
/* B2A5B8 800B3418 3C0E8013 */ lui $t6, %hi(D_8012CDC8) # $t6, 0x8013
/* B2A5BC 800B341C 25CECDC8 */ addiu $t6, %lo(D_8012CDC8) # addiu $t6, $t6, -0x3238
/* B2A5C0 800B3420 256C0008 */ addiu $t4, $t3, 8
/* B2A5C4 800B3424 AFAC007C */ sw $t4, 0x7c($sp)
/* B2A5C8 800B3428 3C0DDE00 */ lui $t5, 0xde00
/* B2A5CC 800B342C AD6D0000 */ sw $t5, ($t3)
/* B2A5D0 800B3430 AD6E0004 */ sw $t6, 4($t3)
/* B2A5D4 800B3434 8FAF007C */ lw $t7, 0x7c($sp)
/* B2A5D8 800B3438 3C19E700 */ lui $t9, 0xe700
/* B2A5DC 800B343C 25F80008 */ addiu $t8, $t7, 8
/* B2A5E0 800B3440 AFB8007C */ sw $t8, 0x7c($sp)
/* B2A5E4 800B3444 ADE00004 */ sw $zero, 4($t7)
/* B2A5E8 800B3448 ADF90000 */ sw $t9, ($t7)
/* B2A5EC 800B344C 8FA90084 */ lw $t1, 0x84($sp)
/* B2A5F0 800B3450 8FA8007C */ lw $t0, 0x7c($sp)
/* B2A5F4 800B3454 AD280000 */ sw $t0, ($t1)
/* B2A5F8 800B3458 8FBF0024 */ lw $ra, 0x24($sp)
/* B2A5FC 800B345C 8FB00020 */ lw $s0, 0x20($sp)
/* B2A600 800B3460 27BD0080 */ addiu $sp, $sp, 0x80
/* B2A604 800B3464 03E00008 */ jr $ra
/* B2A608 800B3468 00000000 */ nop
glabel func_800B346C
/* B2A60C 800B346C 03E00008 */ jr $ra
/* B2A610 800B3470 90820018 */ lbu $v0, 0x18($a0)
glabel func_800B3474
/* B2A614 800B3474 30AE0080 */ andi $t6, $a1, 0x80
/* B2A618 800B3478 11C0000D */ beqz $t6, .L800B34B0
/* B2A61C 800B347C 24010001 */ li $at, 1
/* B2A620 800B3480 00057943 */ sra $t7, $a1, 5
/* B2A624 800B3484 0005C8C3 */ sra $t9, $a1, 3
/* B2A628 800B3488 00055043 */ sra $t2, $a1, 1
/* B2A62C 800B348C 31F80001 */ andi $t8, $t7, 1
/* B2A630 800B3490 33280003 */ andi $t0, $t9, 3
/* B2A634 800B3494 30A90001 */ andi $t1, $a1, 1
/* B2A638 800B3498 314B0003 */ andi $t3, $t2, 3
/* B2A63C 800B349C A0980014 */ sb $t8, 0x14($a0)
/* B2A640 800B34A0 A0880015 */ sb $t0, 0x15($a0)
/* B2A644 800B34A4 A0890016 */ sb $t1, 0x16($a0)
/* B2A648 800B34A8 03E00008 */ jr $ra
/* B2A64C 800B34AC A08B0017 */ sb $t3, 0x17($a0)
.L800B34B0:
/* B2A650 800B34B0 14A10003 */ bne $a1, $at, .L800B34C0
/* B2A654 800B34B4 240C0001 */ li $t4, 1
/* B2A658 800B34B8 03E00008 */ jr $ra
/* B2A65C 800B34BC A08C0014 */ sb $t4, 0x14($a0)
.L800B34C0:
/* B2A660 800B34C0 A0800014 */ sb $zero, 0x14($a0)
/* B2A664 800B34C4 03E00008 */ jr $ra
/* B2A668 800B34C8 00000000 */ nop
glabel func_800B34CC
/* B2A66C 800B34CC 03E00008 */ jr $ra
/* B2A670 800B34D0 AC850000 */ sw $a1, ($a0)
glabel func_800B34D4
/* B2A674 800B34D4 03E00008 */ jr $ra
/* B2A678 800B34D8 AC850004 */ sw $a1, 4($a0)

View File

@ -1,263 +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 .text
.align 4
glabel func_800B34E0
/* B2A680 800B34E0 90820000 */ lbu $v0, ($a0)
/* B2A684 800B34E4 24010001 */ li $at, 1
/* B2A688 800B34E8 10400011 */ beqz $v0, .L800B3530
/* B2A68C 800B34EC 00000000 */ nop
/* B2A690 800B34F0 10410005 */ beq $v0, $at, .L800B3508
/* B2A694 800B34F4 24010002 */ li $at, 2
/* B2A698 800B34F8 5041000D */ beql $v0, $at, .L800B3530
/* B2A69C 800B34FC A0800007 */ sb $zero, 7($a0)
/* B2A6A0 800B3500 1000000B */ b .L800B3530
/* B2A6A4 800B3504 00000000 */ nop
.L800B3508:
/* B2A6A8 800B3508 908E0002 */ lbu $t6, 2($a0)
/* B2A6AC 800B350C A4800008 */ sh $zero, 8($a0)
/* B2A6B0 800B3510 240F00FF */ li $t7, 255
/* B2A6B4 800B3514 11C00003 */ beqz $t6, .L800B3524
/* B2A6B8 800B3518 00000000 */ nop
/* B2A6BC 800B351C 10000004 */ b .L800B3530
/* B2A6C0 800B3520 A08F0007 */ sb $t7, 7($a0)
.L800B3524:
/* B2A6C4 800B3524 10000002 */ b .L800B3530
/* B2A6C8 800B3528 A0800007 */ sb $zero, 7($a0)
/* B2A6CC 800B352C A0800007 */ sb $zero, 7($a0)
.L800B3530:
/* B2A6D0 800B3530 03E00008 */ jr $ra
/* B2A6D4 800B3534 A0800001 */ sb $zero, 1($a0)
glabel func_800B3538
/* B2A6D8 800B3538 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B2A6DC 800B353C AFBF0014 */ sw $ra, 0x14($sp)
/* B2A6E0 800B3540 AFA40018 */ sw $a0, 0x18($sp)
/* B2A6E4 800B3544 0C001114 */ jal bzero
/* B2A6E8 800B3548 2405000C */ li $a1, 12
/* B2A6EC 800B354C 8FBF0014 */ lw $ra, 0x14($sp)
/* B2A6F0 800B3550 8FA20018 */ lw $v0, 0x18($sp)
/* B2A6F4 800B3554 27BD0018 */ addiu $sp, $sp, 0x18
/* B2A6F8 800B3558 03E00008 */ jr $ra
/* B2A6FC 800B355C 00000000 */ nop
glabel func_800B3560
/* B2A700 800B3560 03E00008 */ jr $ra
/* B2A704 800B3564 AFA40000 */ sw $a0, ($sp)
glabel func_800B3568
/* B2A708 800B3568 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B2A70C 800B356C AFBF0014 */ sw $ra, 0x14($sp)
/* B2A710 800B3570 90820000 */ lbu $v0, ($a0)
/* B2A714 800B3574 00803825 */ move $a3, $a0
/* B2A718 800B3578 24010001 */ li $at, 1
/* B2A71C 800B357C 50400063 */ beql $v0, $zero, .L800B370C
/* B2A720 800B3580 8FBF0014 */ lw $ra, 0x14($sp)
/* B2A724 800B3584 10410005 */ beq $v0, $at, .L800B359C
/* B2A728 800B3588 24010002 */ li $at, 2
/* B2A72C 800B358C 50410037 */ beql $v0, $at, .L800B366C
/* B2A730 800B3590 90ED0007 */ lbu $t5, 7($a3)
/* B2A734 800B3594 1000005D */ b .L800B370C
/* B2A738 800B3598 8FBF0014 */ lw $ra, 0x14($sp)
.L800B359C:
/* B2A73C 800B359C 94EE0008 */ lhu $t6, 8($a3)
/* B2A740 800B35A0 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A744 800B35A4 3C048014 */ lui $a0, %hi(D_801430C0) # $a0, 0x8014
/* B2A748 800B35A8 01C57821 */ addu $t7, $t6, $a1
/* B2A74C 800B35AC A4EF0008 */ sh $t7, 8($a3)
/* B2A750 800B35B0 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
/* B2A754 800B35B4 31F8FFFF */ andi $t8, $t7, 0xffff
/* B2A758 800B35B8 24190001 */ li $t9, 1
/* B2A75C 800B35BC 0302082A */ slt $at, $t8, $v0
/* B2A760 800B35C0 14200005 */ bnez $at, .L800B35D8
/* B2A764 800B35C4 248430C0 */ addiu $a0, %lo(D_801430C0) # addiu $a0, $a0, 0x30c0
/* B2A768 800B35C8 A4E20008 */ sh $v0, 8($a3)
/* B2A76C 800B35CC 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A770 800B35D0 A0F90001 */ sb $t9, 1($a3)
/* B2A774 800B35D4 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
.L800B35D8:
/* B2A778 800B35D8 54400007 */ bnezl $v0, .L800B35F8
/* B2A77C 800B35DC 94E80008 */ lhu $t0, 8($a3)
/* B2A780 800B35E0 0C00084C */ jal osSyncPrintf
/* B2A784 800B35E4 AFA70030 */ sw $a3, 0x30($sp)
/* B2A788 800B35E8 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A78C 800B35EC 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
/* B2A790 800B35F0 8FA70030 */ lw $a3, 0x30($sp)
/* B2A794 800B35F4 94E80008 */ lhu $t0, 8($a3)
.L800B35F8:
/* B2A798 800B35F8 3C01437F */ li $at, 0x437F0000 # 0.000000
/* B2A79C 800B35FC 44812000 */ mtc1 $at, $f4
/* B2A7A0 800B3600 44883000 */ mtc1 $t0, $f6
/* B2A7A4 800B3604 44829000 */ mtc1 $v0, $f18
/* B2A7A8 800B3608 05010005 */ bgez $t0, .L800B3620
/* B2A7AC 800B360C 46803220 */ cvt.s.w $f8, $f6
/* B2A7B0 800B3610 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B2A7B4 800B3614 44815000 */ mtc1 $at, $f10
/* B2A7B8 800B3618 00000000 */ nop
/* B2A7BC 800B361C 460A4200 */ add.s $f8, $f8, $f10
.L800B3620:
/* B2A7C0 800B3620 46082402 */ mul.s $f16, $f4, $f8
/* B2A7C4 800B3624 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B2A7C8 800B3628 240B00FF */ li $t3, 255
/* B2A7CC 800B362C 04410004 */ bgez $v0, .L800B3640
/* B2A7D0 800B3630 468091A0 */ cvt.s.w $f6, $f18
/* B2A7D4 800B3634 44815000 */ mtc1 $at, $f10
/* B2A7D8 800B3638 00000000 */ nop
/* B2A7DC 800B363C 460A3180 */ add.s $f6, $f6, $f10
.L800B3640:
/* B2A7E0 800B3640 46068103 */ div.s $f4, $f16, $f6
/* B2A7E4 800B3644 90EA0002 */ lbu $t2, 2($a3)
/* B2A7E8 800B3648 4600220D */ trunc.w.s $f8, $f4
/* B2A7EC 800B364C 44034000 */ mfc1 $v1, $f8
/* B2A7F0 800B3650 11400003 */ beqz $t2, .L800B3660
/* B2A7F4 800B3654 01636023 */ subu $t4, $t3, $v1
/* B2A7F8 800B3658 1000002B */ b .L800B3708
/* B2A7FC 800B365C A0EC0007 */ sb $t4, 7($a3)
.L800B3660:
/* B2A800 800B3660 10000029 */ b .L800B3708
/* B2A804 800B3664 A0E30007 */ sb $v1, 7($a3)
/* B2A808 800B3668 90ED0007 */ lbu $t5, 7($a3)
.L800B366C:
/* B2A80C 800B366C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B2A810 800B3670 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* B2A814 800B3674 A7AD002A */ sh $t5, 0x2a($sp)
/* B2A818 800B3678 84430D38 */ lh $v1, 0xd38($v0)
/* B2A81C 800B367C 50600021 */ beql $v1, $zero, .L800B3704
/* B2A820 800B3680 87A9002A */ lh $t1, 0x2a($sp)
/* B2A824 800B3684 0461000D */ bgez $v1, .L800B36BC
/* B2A828 800B3688 24440D38 */ addiu $a0, $v0, 0xd38
/* B2A82C 800B368C 27A4002A */ addiu $a0, $sp, 0x2a
/* B2A830 800B3690 240500FF */ li $a1, 255
/* B2A834 800B3694 240600FF */ li $a2, 255
/* B2A838 800B3698 0C01DE5F */ jal Math_ApproxS
/* B2A83C 800B369C AFA70030 */ sw $a3, 0x30($sp)
/* B2A840 800B36A0 10400017 */ beqz $v0, .L800B3700
/* B2A844 800B36A4 8FA70030 */ lw $a3, 0x30($sp)
/* B2A848 800B36A8 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* B2A84C 800B36AC 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* B2A850 800B36B0 240E0096 */ li $t6, 150
/* B2A854 800B36B4 10000012 */ b .L800B3700
/* B2A858 800B36B8 A5EE0D38 */ sh $t6, 0xd38($t7)
.L800B36BC:
/* B2A85C 800B36BC 24050014 */ li $a1, 20
/* B2A860 800B36C0 2406003C */ li $a2, 60
/* B2A864 800B36C4 0C01DE5F */ jal Math_ApproxS
/* B2A868 800B36C8 AFA70030 */ sw $a3, 0x30($sp)
/* B2A86C 800B36CC 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* B2A870 800B36D0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* B2A874 800B36D4 27A4002A */ addiu $a0, $sp, 0x2a
/* B2A878 800B36D8 00002825 */ move $a1, $zero
/* B2A87C 800B36DC 0C01DE5F */ jal Math_ApproxS
/* B2A880 800B36E0 87060D38 */ lh $a2, 0xd38($t8)
/* B2A884 800B36E4 10400006 */ beqz $v0, .L800B3700
/* B2A888 800B36E8 8FA70030 */ lw $a3, 0x30($sp)
/* B2A88C 800B36EC 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* B2A890 800B36F0 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* B2A894 800B36F4 24080001 */ li $t0, 1
/* B2A898 800B36F8 A7200D38 */ sh $zero, 0xd38($t9)
/* B2A89C 800B36FC A0E80001 */ sb $t0, 1($a3)
.L800B3700:
/* B2A8A0 800B3700 87A9002A */ lh $t1, 0x2a($sp)
.L800B3704:
/* B2A8A4 800B3704 A0E90007 */ sb $t1, 7($a3)
.L800B3708:
/* B2A8A8 800B3708 8FBF0014 */ lw $ra, 0x14($sp)
.L800B370C:
/* B2A8AC 800B370C 27BD0030 */ addiu $sp, $sp, 0x30
/* B2A8B0 800B3710 03E00008 */ jr $ra
/* B2A8B4 800B3714 00000000 */ nop
glabel func_800B3718
/* B2A8B8 800B3718 908E0007 */ lbu $t6, 7($a0)
/* B2A8BC 800B371C 3C188013 */ lui $t8, %hi(D_8012CEA0) # $t8, 0x8013
/* B2A8C0 800B3720 2718CEA0 */ addiu $t8, %lo(D_8012CEA0) # addiu $t8, $t8, -0x3160
/* B2A8C4 800B3724 19C0002B */ blez $t6, .L800B37D4
/* B2A8C8 800B3728 3C0FDE00 */ lui $t7, 0xde00
/* B2A8CC 800B372C 8CA20000 */ lw $v0, ($a1)
/* B2A8D0 800B3730 3C19FA00 */ lui $t9, 0xfa00
/* B2A8D4 800B3734 3C01F600 */ lui $at, 0xf600
/* B2A8D8 800B3738 24460008 */ addiu $a2, $v0, 8
/* B2A8DC 800B373C AC4F0000 */ sw $t7, ($v0)
/* B2A8E0 800B3740 AC580004 */ sw $t8, 4($v0)
/* B2A8E4 800B3744 ACD90000 */ sw $t9, ($a2)
/* B2A8E8 800B3748 24820004 */ addiu $v0, $a0, 4
/* B2A8EC 800B374C 90490000 */ lbu $t1, ($v0)
/* B2A8F0 800B3750 904C0001 */ lbu $t4, 1($v0)
/* B2A8F4 800B3754 90580002 */ lbu $t8, 2($v0)
/* B2A8F8 800B3758 904B0003 */ lbu $t3, 3($v0)
/* B2A8FC 800B375C 00095600 */ sll $t2, $t1, 0x18
/* B2A900 800B3760 000C6C00 */ sll $t5, $t4, 0x10
/* B2A904 800B3764 014D7025 */ or $t6, $t2, $t5
/* B2A908 800B3768 0018CA00 */ sll $t9, $t8, 8
/* B2A90C 800B376C 01D94025 */ or $t0, $t6, $t9
/* B2A910 800B3770 010B6025 */ or $t4, $t0, $t3
/* B2A914 800B3774 ACCC0004 */ sw $t4, 4($a2)
/* B2A918 800B3778 3C0A8013 */ lui $t2, %hi(gScreenWidth) # $t2, 0x8013
/* B2A91C 800B377C 8D4AD270 */ lw $t2, %lo(gScreenWidth)($t2)
/* B2A920 800B3780 3C198013 */ lui $t9, %hi(gScreenHeight) # $t9, 0x8013
/* B2A924 800B3784 8F39D274 */ lw $t9, %lo(gScreenHeight)($t9)
/* B2A928 800B3788 254DFFFF */ addiu $t5, $t2, -1
/* B2A92C 800B378C 24C30008 */ addiu $v1, $a2, 8
/* B2A930 800B3790 31AF03FF */ andi $t7, $t5, 0x3ff
/* B2A934 800B3794 2729FFFF */ addiu $t1, $t9, -1
/* B2A938 800B3798 312803FF */ andi $t0, $t1, 0x3ff
/* B2A93C 800B379C 000FC380 */ sll $t8, $t7, 0xe
/* B2A940 800B37A0 00601025 */ move $v0, $v1
/* B2A944 800B37A4 03017025 */ or $t6, $t8, $at
/* B2A948 800B37A8 00085880 */ sll $t3, $t0, 2
/* B2A94C 800B37AC 01CB6025 */ or $t4, $t6, $t3
/* B2A950 800B37B0 AC4C0000 */ sw $t4, ($v0)
/* B2A954 800B37B4 AC400004 */ sw $zero, 4($v0)
/* B2A958 800B37B8 24630008 */ addiu $v1, $v1, 8
/* B2A95C 800B37BC 00601025 */ move $v0, $v1
/* B2A960 800B37C0 3C0AE700 */ lui $t2, 0xe700
/* B2A964 800B37C4 AC4A0000 */ sw $t2, ($v0)
/* B2A968 800B37C8 AC400004 */ sw $zero, 4($v0)
/* B2A96C 800B37CC 24630008 */ addiu $v1, $v1, 8
/* B2A970 800B37D0 ACA30000 */ sw $v1, ($a1)
.L800B37D4:
/* B2A974 800B37D4 03E00008 */ jr $ra
/* B2A978 800B37D8 00000000 */ nop
glabel func_800B37DC
/* B2A97C 800B37DC 03E00008 */ jr $ra
/* B2A980 800B37E0 90820001 */ lbu $v0, 1($a0)
glabel func_800B37E4
/* B2A984 800B37E4 03E00008 */ jr $ra
/* B2A988 800B37E8 AC850004 */ sw $a1, 4($a0)
glabel func_800B37EC
/* B2A98C 800B37EC 24010001 */ li $at, 1
/* B2A990 800B37F0 14A10004 */ bne $a1, $at, .L800B3804
/* B2A994 800B37F4 24020001 */ li $v0, 1
/* B2A998 800B37F8 A0820000 */ sb $v0, ($a0)
/* B2A99C 800B37FC 03E00008 */ jr $ra
/* B2A9A0 800B3800 A0820002 */ sb $v0, 2($a0)
.L800B3804:
/* B2A9A4 800B3804 24010002 */ li $at, 2
/* B2A9A8 800B3808 14A10004 */ bne $a1, $at, .L800B381C
/* B2A9AC 800B380C 24020001 */ li $v0, 1
/* B2A9B0 800B3810 A0820000 */ sb $v0, ($a0)
/* B2A9B4 800B3814 03E00008 */ jr $ra
/* B2A9B8 800B3818 A0800002 */ sb $zero, 2($a0)
.L800B381C:
/* B2A9BC 800B381C 24010003 */ li $at, 3
/* B2A9C0 800B3820 14A10003 */ bne $a1, $at, .L800B3830
/* B2A9C4 800B3824 240E0002 */ li $t6, 2
/* B2A9C8 800B3828 03E00008 */ jr $ra
/* B2A9CC 800B382C A08E0000 */ sb $t6, ($a0)
.L800B3830:
/* B2A9D0 800B3830 A0800000 */ sb $zero, ($a0)
/* B2A9D4 800B3834 03E00008 */ jr $ra
/* B2A9D8 800B3838 00000000 */ nop

View File

@ -9,7 +9,7 @@
.align 4
glabel func_801001E0
glabel guScale
/* B77380 801001E0 3C014780 */ li $at, 0x47800000 # 0.000000
/* B77384 801001E4 44812000 */ mtc1 $at, $f4
/* B77388 801001E8 44853000 */ mtc1 $a1, $f6
@ -42,7 +42,7 @@ glabel func_801001E0
/* B773F4 80100254 AC8A0028 */ sw $t2, 0x28($a0)
/* B773F8 80100258 AC880008 */ sw $t0, 8($a0)
/* B773FC 8010025C 44095000 */ mfc1 $t1, $f10
/* B77400 80100260 00000000 */ nop
/* B77400 80100260 00000000 */ nop
/* B77404 80100264 00095402 */ srl $t2, $t1, 0x10
/* B77408 80100268 000A4400 */ sll $t0, $t2, 0x10
/* B7740C 8010026C AC880014 */ sw $t0, 0x14($a0)

View File

@ -36,7 +36,7 @@ glabel func_80103DC0
/* B7AFB0 80103E10 27BD0018 */ addiu $sp, $sp, 0x18
/* B7AFB4 80103E14 00601025 */ move $v0, $v1
/* B7AFB8 80103E18 03E00008 */ jr $ra
/* B7AFBC 80103E1C 00000000 */ nop
/* B7AFBC 80103E1C 00000000 */ nop
glabel func_80103E20
/* B7AFC0 80103E20 27BDFFB8 */ addiu $sp, $sp, -0x48
@ -69,11 +69,11 @@ glabel func_80103E20
/* B7B02C 80103E8C 02002025 */ move $a0, $s0
/* B7B030 80103E90 E7A00040 */ swc1 $f0, 0x40($sp)
/* B7B034 80103E94 46025482 */ mul.s $f18, $f10, $f2
/* B7B038 80103E98 00000000 */ nop
/* B7B038 80103E98 00000000 */ nop
/* B7B03C 80103E9C 46044182 */ mul.s $f6, $f8, $f4
/* B7B040 80103EA0 E7B2003C */ swc1 $f18, 0x3c($sp)
/* B7B044 80103EA4 46023282 */ mul.s $f10, $f6, $f2
/* B7B048 80103EA8 00000000 */ nop
/* B7B048 80103EA8 00000000 */ nop
/* B7B04C 80103EAC 460C2202 */ mul.s $f8, $f4, $f12
/* B7B050 80103EB0 E7AA0038 */ swc1 $f10, 0x38($sp)
/* B7B054 80103EB4 46024182 */ mul.s $f6, $f8, $f2
@ -89,7 +89,7 @@ glabel func_80103E20
/* B7B07C 80103EDC 460E2202 */ mul.s $f8, $f4, $f14
/* B7B080 80103EE0 C7B2003C */ lwc1 $f18, 0x3c($sp)
/* B7B084 80103EE4 460E3102 */ mul.s $f4, $f6, $f14
/* B7B088 80103EE8 00000000 */ nop
/* B7B088 80103EE8 00000000 */ nop
/* B7B08C 80103EEC 460A5082 */ mul.s $f2, $f10, $f10
/* B7B090 80103EF0 E7A80028 */ swc1 $f8, 0x28($sp)
/* B7B094 80103EF4 44814000 */ mtc1 $at, $f8
@ -135,9 +135,9 @@ glabel func_80103E20
/* B7B134 80103F94 8FB00018 */ lw $s0, 0x18($sp)
/* B7B138 80103F98 27BD0048 */ addiu $sp, $sp, 0x48
/* B7B13C 80103F9C 03E00008 */ jr $ra
/* B7B140 80103FA0 00000000 */ nop
/* B7B140 80103FA0 00000000 */ nop
glabel func_80103FA4
glabel guRotate
/* B7B144 80103FA4 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B7B148 80103FA8 44856000 */ mtc1 $a1, $f12
/* B7B14C 80103FAC 44867000 */ mtc1 $a2, $f14
@ -156,7 +156,7 @@ glabel func_80103FA4
/* B7B180 80103FE0 8FBF001C */ lw $ra, 0x1c($sp)
/* B7B184 80103FE4 27BD0060 */ addiu $sp, $sp, 0x60
/* B7B188 80103FE8 03E00008 */ jr $ra
/* B7B18C 80103FEC 00000000 */ nop
/* B7B18C 80103FEC 00000000 */ nop
glabel func_80103FF0
/* B7B190 80103FF0 3C058001 */ lui $a1, %hi(osViClock)
@ -169,7 +169,7 @@ glabel func_80103FF0
/* B7B1AC 8010400C 04810004 */ bgez $a0, .L80104020
/* B7B1B0 80104010 468021A0 */ cvt.s.w $f6, $f4
/* B7B1B4 80104014 44818000 */ mtc1 $at, $f16
/* B7B1B8 80104018 00000000 */ nop
/* B7B1B8 80104018 00000000 */ nop
/* B7B1BC 8010401C 46105280 */ add.s $f10, $f10, $f16
.L80104020:
/* B7B1C0 80104020 460A3483 */ div.s $f18, $f6, $f10
@ -182,10 +182,10 @@ glabel func_80103FF0
/* B7B1DC 8010403C 46049000 */ add.s $f0, $f18, $f4
/* B7B1E0 80104040 444FF800 */ cfc1 $t7, $31
/* B7B1E4 80104044 44C3F800 */ ctc1 $v1, $31
/* B7B1E8 80104048 00000000 */ nop
/* B7B1E8 80104048 00000000 */ nop
/* B7B1EC 8010404C 46000224 */ cvt.w.s $f8, $f0
/* B7B1F0 80104050 4443F800 */ cfc1 $v1, $31
/* B7B1F4 80104054 00000000 */ nop
/* B7B1F4 80104054 00000000 */ nop
/* B7B1F8 80104058 30630078 */ andi $v1, $v1, 0x78
/* B7B1FC 8010405C 50600013 */ beql $v1, $zero, .L801040AC
/* B7B200 80104060 44034000 */ mfc1 $v1, $f8
@ -193,13 +193,13 @@ glabel func_80103FF0
/* B7B208 80104068 24030001 */ li $v1, 1
/* B7B20C 8010406C 46080201 */ sub.s $f8, $f0, $f8
/* B7B210 80104070 44C3F800 */ ctc1 $v1, $31
/* B7B214 80104074 00000000 */ nop
/* B7B214 80104074 00000000 */ nop
/* B7B218 80104078 46004224 */ cvt.w.s $f8, $f8
/* B7B21C 8010407C 4443F800 */ cfc1 $v1, $31
/* B7B220 80104080 00000000 */ nop
/* B7B220 80104080 00000000 */ nop
/* B7B224 80104084 30630078 */ andi $v1, $v1, 0x78
/* B7B228 80104088 14600005 */ bnez $v1, .L801040A0
/* B7B22C 8010408C 00000000 */ nop
/* B7B22C 8010408C 00000000 */ nop
/* B7B230 80104090 44034000 */ mfc1 $v1, $f8
/* B7B234 80104094 3C018000 */ lui $at, 0x8000
/* B7B238 80104098 10000007 */ b .L801040B8
@ -209,9 +209,9 @@ glabel func_80103FF0
/* B7B244 801040A4 2403FFFF */ li $v1, -1
/* B7B248 801040A8 44034000 */ mfc1 $v1, $f8
.L801040AC:
/* B7B24C 801040AC 00000000 */ nop
/* B7B24C 801040AC 00000000 */ nop
/* B7B250 801040B0 0460FFFB */ bltz $v1, .L801040A0
/* B7B254 801040B4 00000000 */ nop
/* B7B254 801040B4 00000000 */ nop
.L801040B8:
/* B7B258 801040B8 44CFF800 */ ctc1 $t7, $31
/* B7B25C 801040BC 2C610084 */ sltiu $at, $v1, 0x84
@ -237,15 +237,15 @@ glabel func_80103FF0
/* B7B2A0 80104100 0163001A */ div $zero, $t3, $v1
/* B7B2A4 80104104 00001012 */ mflo $v0
/* B7B2A8 80104108 14600002 */ bnez $v1, .L80104114
/* B7B2AC 8010410C 00000000 */ nop
/* B7B2AC 8010410C 00000000 */ nop
/* B7B2B0 80104110 0007000D */ break 7
.L80104114:
/* B7B2B4 80104114 2401FFFF */ li $at, -1
/* B7B2B8 80104118 14610004 */ bne $v1, $at, .L8010412C
/* B7B2BC 8010411C 3C018000 */ lui $at, 0x8000
/* B7B2C0 80104120 15610002 */ bne $t3, $at, .L8010412C
/* B7B2C4 80104124 00000000 */ nop
/* B7B2C4 80104124 00000000 */ nop
/* B7B2C8 80104128 0006000D */ break 6
.L8010412C:
/* B7B2CC 8010412C 03E00008 */ jr $ra
/* B7B2D0 80104130 00000000 */ nop
/* B7B2D0 80104130 00000000 */ nop

View File

@ -9,11 +9,11 @@
.align 4
/* B7CDB0 80105C10 00000000 */ nop
/* B7CDB4 80105C14 00000000 */ nop
/* B7CDB8 80105C18 00000000 */ nop
/* B7CDBC 80105C1C 00000000 */ nop
glabel func_80105C20
/* B7CDB0 80105C10 00000000 */ nop
/* B7CDB4 80105C14 00000000 */ nop
/* B7CDB8 80105C18 00000000 */ nop
/* B7CDBC 80105C1C 00000000 */ nop
glabel guTranslate
/* B7CDC0 80105C20 3C014780 */ li $at, 0x47800000 # 0.000000
/* B7CDC4 80105C24 44812000 */ mtc1 $at, $f4
/* B7CDC8 80105C28 44853000 */ mtc1 $a1, $f6

View File

@ -1,4 +1,4 @@
glabel guLookAtReflect
glabel guLookAt
/* B78FD4 80101E34 27BDFF90 */ addiu $sp, $sp, -0x70
/* B78FD8 80101E38 44856000 */ mtc1 $a1, $f12
/* B78FDC 80101E3C 44867000 */ mtc1 $a2, $f14
@ -19,7 +19,7 @@ glabel guLookAtReflect
/* B79018 80101E78 E7A80018 */ swc1 $f8, 0x18($sp)
/* B7901C 80101E7C E7AA001C */ swc1 $f10, 0x1c($sp)
/* B79020 80101E80 E7B00020 */ swc1 $f16, 0x20($sp)
/* B79024 80101E84 0C0406E4 */ jal guLookAtReflectF
/* B79024 80101E84 0C0406E4 */ jal guLookAtF
/* B79028 80101E88 E7B20024 */ swc1 $f18, 0x24($sp)
/* B7902C 80101E8C 27A40030 */ addiu $a0, $sp, 0x30
/* B79030 80101E90 0C041938 */ jal func_801064E0
@ -27,4 +27,4 @@ glabel guLookAtReflect
/* B79038 80101E98 8FBF002C */ lw $ra, 0x2c($sp)
/* B7903C 80101E9C 27BD0070 */ addiu $sp, $sp, 0x70
/* B79040 80101EA0 03E00008 */ jr $ra
/* B79044 80101EA4 00000000 */ nop
/* B79044 80101EA4 00000000 */ nop

View File

@ -1,4 +1,4 @@
glabel guLookAtReflectF
glabel guLookAtF
/* B78D30 80101B90 27BDFF88 */ addiu $sp, $sp, -0x78
/* B78D34 80101B94 AFBF0044 */ sw $ra, 0x44($sp)
/* B78D38 80101B98 F7BE0038 */ sdc1 $f30, 0x38($sp)
@ -36,9 +36,9 @@ glabel guLookAtReflectF
/* B78DB8 80101C18 462A4103 */ div.d $f4, $f8, $f10
/* B78DBC 80101C1C 46202420 */ cvt.s.d $f16, $f4
/* B78DC0 80101C20 46101702 */ mul.s $f28, $f2, $f16
/* B78DC4 80101C24 00000000 */ nop
/* B78DC4 80101C24 00000000 */ nop
/* B78DC8 80101C28 46106182 */ mul.s $f6, $f12, $f16
/* B78DCC 80101C2C 00000000 */ nop
/* B78DCC 80101C2C 00000000 */ nop
/* B78DD0 80101C30 46107282 */ mul.s $f10, $f14, $f16
/* B78DD4 80101C34 E7A60054 */ swc1 $f6, 0x54($sp)
/* B78DD8 80101C38 C7A60098 */ lwc1 $f6, 0x98($sp)
@ -79,21 +79,21 @@ glabel guLookAtReflectF
/* B78E64 80101CC4 46245183 */ div.d $f6, $f10, $f4
/* B78E68 80101CC8 46203520 */ cvt.s.d $f20, $f6
/* B78E6C 80101CCC 4614B582 */ mul.s $f22, $f22, $f20
/* B78E70 80101CD0 00000000 */ nop
/* B78E70 80101CD0 00000000 */ nop
/* B78E74 80101CD4 4614C602 */ mul.s $f24, $f24, $f20
/* B78E78 80101CD8 00000000 */ nop
/* B78E78 80101CD8 00000000 */ nop
/* B78E7C 80101CDC 4614D682 */ mul.s $f26, $f26, $f20
/* B78E80 80101CE0 00000000 */ nop
/* B78E80 80101CE0 00000000 */ nop
/* B78E84 80101CE4 461AF202 */ mul.s $f8, $f30, $f26
/* B78E88 80101CE8 00000000 */ nop
/* B78E88 80101CE8 00000000 */ nop
/* B78E8C 80101CEC 46188282 */ mul.s $f10, $f16, $f24
/* B78E90 80101CF0 00000000 */ nop
/* B78E90 80101CF0 00000000 */ nop
/* B78E94 80101CF4 46168102 */ mul.s $f4, $f16, $f22
/* B78E98 80101CF8 00000000 */ nop
/* B78E98 80101CF8 00000000 */ nop
/* B78E9C 80101CFC 461AE182 */ mul.s $f6, $f28, $f26
/* B78EA0 80101D00 460A4081 */ sub.s $f2, $f8, $f10
/* B78EA4 80101D04 4618E202 */ mul.s $f8, $f28, $f24
/* B78EA8 80101D08 00000000 */ nop
/* B78EA8 80101D08 00000000 */ nop
/* B78EAC 80101D0C 4616F282 */ mul.s $f10, $f30, $f22
/* B78EB0 80101D10 46062301 */ sub.s $f12, $f4, $f6
/* B78EB4 80101D14 46021102 */ mul.s $f4, $f2, $f2
@ -117,7 +117,7 @@ glabel guLookAtReflectF
/* B78EFC 80101D5C C7A4007C */ lwc1 $f4, 0x7c($sp)
/* B78F00 80101D60 C7A80080 */ lwc1 $f8, 0x80($sp)
/* B78F04 80101D64 46162182 */ mul.s $f6, $f4, $f22
/* B78F08 80101D68 00000000 */ nop
/* B78F08 80101D68 00000000 */ nop
/* B78F0C 80101D6C 46184282 */ mul.s $f10, $f8, $f24
/* B78F10 80101D70 C7A80084 */ lwc1 $f8, 0x84($sp)
/* B78F14 80101D74 460A3100 */ add.s $f4, $f6, $f10
@ -148,7 +148,7 @@ glabel guLookAtReflectF
/* B78F78 80101DD8 E480002C */ swc1 $f0, 0x2c($a0)
/* B78F7C 80101DDC 46085100 */ add.s $f4, $f10, $f8
/* B78F80 80101DE0 461CD282 */ mul.s $f10, $f26, $f28
/* B78F84 80101DE4 00000000 */ nop
/* B78F84 80101DE4 00000000 */ nop
/* B78F88 80101DE8 461EC202 */ mul.s $f8, $f24, $f30
/* B78F8C 80101DEC 46002187 */ neg.s $f6, $f4
/* B78F90 80101DF0 E4860034 */ swc1 $f6, 0x34($a0)
@ -168,4 +168,3 @@ glabel guLookAtReflectF
/* B78FC8 80101E28 D7B40010 */ ldc1 $f20, 0x10($sp)
/* B78FCC 80101E2C 03E00008 */ jr $ra
/* B78FD0 80101E30 27BD0078 */ addiu $sp, $sp, 0x78

View File

@ -1,9 +1,9 @@
glabel func_800B1CFC
glabel TransitionUnk_InitData
/* B28E9C 800B1CFC 8C830004 */ lw $v1, 4($a0)
/* B28EA0 800B1D00 00001025 */ move $v0, $zero
/* B28EA4 800B1D04 24630001 */ addiu $v1, $v1, 1
/* B28EA8 800B1D08 1860002A */ blez $v1, .L800B1DB4
/* B28EAC 800B1D0C 00000000 */ nop
/* B28EAC 800B1D0C 00000000 */ nop
/* B28EB0 800B1D10 8C860000 */ lw $a2, ($a0)
/* B28EB4 800B1D14 24C60001 */ addiu $a2, $a2, 1
.L800B1D18:
@ -40,15 +40,15 @@ glabel func_800B1CFC
/* B28F2C 800B1D8C 24C60001 */ addiu $a2, $a2, 1
/* B28F30 800B1D90 00A6082A */ slt $at, $a1, $a2
/* B28F34 800B1D94 1420FFE7 */ bnez $at, .L800B1D34
/* B28F38 800B1D98 00000000 */ nop
/* B28F38 800B1D98 00000000 */ nop
/* B28F3C 800B1D9C 8C830004 */ lw $v1, 4($a0)
/* B28F40 800B1DA0 24630001 */ addiu $v1, $v1, 1
.L800B1DA4:
/* B28F44 800B1DA4 24420001 */ addiu $v0, $v0, 1
/* B28F48 800B1DA8 0043082A */ slt $at, $v0, $v1
/* B28F4C 800B1DAC 1420FFDA */ bnez $at, .L800B1D18
/* B28F50 800B1DB0 00000000 */ nop
/* B28F50 800B1DB0 00000000 */ nop
.L800B1DB4:
/* B28F54 800B1DB4 03E00008 */ jr $ra
/* B28F58 800B1DB8 00000000 */ nop
/* B28F58 800B1DB8 00000000 */ nop

View File

@ -16,7 +16,7 @@ glabel D_80142F28
.balign 4
.text
glabel func_800B18B0
glabel TransitionUnk_InitGraphics
/* B28A50 800B18B0 27BDFF90 */ addiu $sp, $sp, -0x70
/* B28A54 800B18B4 AFB00028 */ sw $s0, 0x28($sp)
/* B28A58 800B18B8 00808025 */ move $s0, $a0
@ -110,7 +110,7 @@ glabel func_800B18B0
/* B28BA0 800B1A00 2BE10002 */ slti $at, $ra, 2
.L800B1A04:
/* B28BA4 800B1A04 1420FFD0 */ bnez $at, .L800B1948
/* B28BA8 800B1A08 00000000 */ nop
/* B28BA8 800B1A08 00000000 */ nop
/* B28BAC 800B1A0C 18600087 */ blez $v1, .L800B1C2C
/* B28BB0 800B1A10 8E0700D8 */ lw $a3, 0xd8($s0)
/* B28BB4 800B1A14 3C16FD10 */ lui $s6, (0xFD10013F >> 16) # lui $s6, 0xfd10
@ -277,7 +277,7 @@ glabel func_800B18B0
/* B28E28 800B1C88 00002812 */ mflo $a1
/* B28E2C 800B1C8C 24A50002 */ addiu $a1, $a1, 2
/* B28E30 800B1C90 0C00084C */ jal osSyncPrintf
/* B28E34 800B1C94 00000000 */ nop
/* B28E34 800B1C94 00000000 */ nop
/* B28E38 800B1C98 8FA70050 */ lw $a3, 0x50($sp)
/* B28E3C 800B1C9C 3C048014 */ lui $a0, %hi(D_80142F18) # $a0, 0x8014
/* B28E40 800B1CA0 24842F18 */ addiu $a0, %lo(D_80142F18) # addiu $a0, $a0, 0x2f18

View File

@ -1,9 +1,9 @@
glabel func_800B2074
glabel TransitionUnk_SetData
/* B29214 800B2074 8C830004 */ lw $v1, 4($a0)
/* B29218 800B2078 00001025 */ move $v0, $zero
/* B2921C 800B207C 24630001 */ addiu $v1, $v1, 1
/* B29220 800B2080 1860003F */ blez $v1, .L800B2180
/* B29224 800B2084 00000000 */ nop
/* B29224 800B2084 00000000 */ nop
/* B29228 800B2088 8C860000 */ lw $a2, ($a0)
/* B2922C 800B208C 24C60001 */ addiu $a2, $a2, 1
.L800B2090:
@ -31,7 +31,7 @@ glabel func_800B2074
/* B2927C 800B20DC 01AE7821 */ addu $t7, $t5, $t6
/* B29280 800B20E0 4600218D */ trunc.w.s $f6, $f4
/* B29284 800B20E4 440C3000 */ mfc1 $t4, $f6
/* B29288 800B20E8 00000000 */ nop
/* B29288 800B20E8 00000000 */ nop
/* B2928C 800B20EC A5EC0000 */ sh $t4, ($t7)
/* B29290 800B20F0 8C980008 */ lw $t8, 8($a0)
/* B29294 800B20F4 57000004 */ bnezl $t8, .L800B2108
@ -57,7 +57,7 @@ glabel func_800B2074
/* B292E0 800B2140 032A5821 */ addu $t3, $t9, $t2
/* B292E4 800B2144 4600428D */ trunc.w.s $f10, $f8
/* B292E8 800B2148 44185000 */ mfc1 $t8, $f10
/* B292EC 800B214C 00000000 */ nop
/* B292EC 800B214C 00000000 */ nop
/* B292F0 800B2150 A5780002 */ sh $t8, 2($t3)
/* B292F4 800B2154 8C860000 */ lw $a2, ($a0)
/* B292F8 800B2158 24C60001 */ addiu $a2, $a2, 1
@ -70,8 +70,7 @@ glabel func_800B2074
/* B29310 800B2170 24420001 */ addiu $v0, $v0, 1
/* B29314 800B2174 0043082A */ slt $at, $v0, $v1
/* B29318 800B2178 1420FFC5 */ bnez $at, .L800B2090
/* B2931C 800B217C 00000000 */ nop
/* B2931C 800B217C 00000000 */ nop
.L800B2180:
/* B29320 800B2180 03E00008 */ jr $ra
/* B29324 800B2184 00000000 */ nop
/* B29324 800B2184 00000000 */ nop

View File

@ -1,4 +1,4 @@
glabel func_800B22B4
glabel TransitionUnk_Update
/* B29454 800B22B4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B29458 800B22B8 F7B60010 */ sdc1 $f22, 0x10($sp)
/* B2945C 800B22BC F7B40008 */ sdc1 $f20, 8($sp)
@ -35,16 +35,16 @@ glabel func_800B22B4
/* B294D0 800B2330 46041001 */ sub.s $f0, $f2, $f4
/* B294D4 800B2334 46083301 */ sub.s $f12, $f6, $f8
/* B294D8 800B2338 46000282 */ mul.s $f10, $f0, $f0
/* B294DC 800B233C 00000000 */ nop
/* B294DC 800B233C 00000000 */ nop
/* B294E0 800B2340 460C6102 */ mul.s $f4, $f12, $f12
/* B294E4 800B2344 46045180 */ add.s $f6, $f10, $f4
/* B294E8 800B2348 46123403 */ div.s $f16, $f6, $f18
/* B294EC 800B234C 4610A032 */ c.eq.s $f20, $f16
/* B294F0 800B2350 46008386 */ mov.s $f14, $f16
/* B294F4 800B2354 45010017 */ bc1t .L800B23B4
/* B294F8 800B2358 00000000 */ nop
/* B294F8 800B2358 00000000 */ nop
/* B294FC 800B235C 4616803C */ c.lt.s $f16, $f22
/* B29500 800B2360 00000000 */ nop
/* B29500 800B2360 00000000 */ nop
/* B29504 800B2364 45020003 */ bc1fl .L800B2374
/* B29508 800B2368 460E0203 */ div.s $f8, $f0, $f14
/* B2950C 800B236C 4600B386 */ mov.s $f14, $f22
@ -76,7 +76,7 @@ glabel func_800B22B4
/* B29568 800B23C8 24420001 */ addiu $v0, $v0, 1
/* B2956C 800B23CC 0043082A */ slt $at, $v0, $v1
/* B29570 800B23D0 1420FFC7 */ bnez $at, .L800B22F0
/* B29574 800B23D4 00000000 */ nop
/* B29574 800B23D4 00000000 */ nop
/* B29578 800B23D8 D7B40008 */ ldc1 $f20, 8($sp)
.L800B23DC:
/* B2957C 800B23DC D7B60010 */ ldc1 $f22, 0x10($sp)

View File

@ -1,82 +0,0 @@
.rdata
glabel D_80142F40
.asciz "fbdemo_cleanup(%08x)\n"
.balign 4
glabel D_80142F58
.asciz "msleep(100);\n"
.balign 4
glabel D_80142F68
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80142F78
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80142F88
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80142F98
.asciz "../z_fbdemo.c"
.balign 4
.text
glabel func_800B1DBC
/* B28F5C 800B1DBC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B28F60 800B1DC0 AFB00018 */ sw $s0, 0x18($sp)
/* B28F64 800B1DC4 00808025 */ move $s0, $a0
/* B28F68 800B1DC8 AFBF001C */ sw $ra, 0x1c($sp)
/* B28F6C 800B1DCC 3C048014 */ lui $a0, %hi(D_80142F40) # $a0, 0x8014
/* B28F70 800B1DD0 24842F40 */ addiu $a0, %lo(D_80142F40) # addiu $a0, $a0, 0x2f40
/* B28F74 800B1DD4 0C00084C */ jal osSyncPrintf
/* B28F78 800B1DD8 02002825 */ move $a1, $s0
/* B28F7C 800B1DDC 3C048014 */ lui $a0, %hi(D_80142F58) # $a0, 0x8014
/* B28F80 800B1DE0 0C00084C */ jal osSyncPrintf
/* B28F84 800B1DE4 24842F58 */ addiu $a0, %lo(D_80142F58) # addiu $a0, $a0, 0x2f58
/* B28F88 800B1DE8 0C03FD2B */ jal Sleep_Msec
/* B28F8C 800B1DEC 24040064 */ li $a0, 100
/* B28F90 800B1DF0 8E04000C */ lw $a0, 0xc($s0)
/* B28F94 800B1DF4 3C058014 */ lui $a1, %hi(D_80142F68) # $a1, 0x8014
/* B28F98 800B1DF8 24A52F68 */ addiu $a1, %lo(D_80142F68) # addiu $a1, $a1, 0x2f68
/* B28F9C 800B1DFC 50800005 */ beql $a0, $zero, .L800B1E14
/* B28FA0 800B1E00 8E040010 */ lw $a0, 0x10($s0)
/* B28FA4 800B1E04 0C03F5ED */ jal SystemArena_FreeDebug
/* B28FA8 800B1E08 240600B4 */ li $a2, 180
/* B28FAC 800B1E0C AE00000C */ sw $zero, 0xc($s0)
/* B28FB0 800B1E10 8E040010 */ lw $a0, 0x10($s0)
.L800B1E14:
/* B28FB4 800B1E14 3C058014 */ lui $a1, %hi(D_80142F78) # $a1, 0x8014
/* B28FB8 800B1E18 24A52F78 */ addiu $a1, %lo(D_80142F78) # addiu $a1, $a1, 0x2f78
/* B28FBC 800B1E1C 50800005 */ beql $a0, $zero, .L800B1E34
/* B28FC0 800B1E20 8E040014 */ lw $a0, 0x14($s0)
/* B28FC4 800B1E24 0C03F5ED */ jal SystemArena_FreeDebug
/* B28FC8 800B1E28 240600B5 */ li $a2, 181
/* B28FCC 800B1E2C AE000010 */ sw $zero, 0x10($s0)
/* B28FD0 800B1E30 8E040014 */ lw $a0, 0x14($s0)
.L800B1E34:
/* B28FD4 800B1E34 3C058014 */ lui $a1, %hi(D_80142F88) # $a1, 0x8014
/* B28FD8 800B1E38 24A52F88 */ addiu $a1, %lo(D_80142F88) # addiu $a1, $a1, 0x2f88
/* B28FDC 800B1E3C 50800005 */ beql $a0, $zero, .L800B1E54
/* B28FE0 800B1E40 8E0400D8 */ lw $a0, 0xd8($s0)
/* B28FE4 800B1E44 0C03F5ED */ jal SystemArena_FreeDebug
/* B28FE8 800B1E48 240600B6 */ li $a2, 182
/* B28FEC 800B1E4C AE000014 */ sw $zero, 0x14($s0)
/* B28FF0 800B1E50 8E0400D8 */ lw $a0, 0xd8($s0)
.L800B1E54:
/* B28FF4 800B1E54 3C058014 */ lui $a1, %hi(D_80142F98) # $a1, 0x8014
/* B28FF8 800B1E58 24A52F98 */ addiu $a1, %lo(D_80142F98) # addiu $a1, $a1, 0x2f98
/* B28FFC 800B1E5C 50800005 */ beql $a0, $zero, .L800B1E74
/* B29000 800B1E60 8FBF001C */ lw $ra, 0x1c($sp)
/* B29004 800B1E64 0C03F5ED */ jal SystemArena_FreeDebug
/* B29008 800B1E68 240600B7 */ li $a2, 183
/* B2900C 800B1E6C AE0000D8 */ sw $zero, 0xd8($s0)
/* B29010 800B1E70 8FBF001C */ lw $ra, 0x1c($sp)
.L800B1E74:
/* B29014 800B1E74 8FB00018 */ lw $s0, 0x18($sp)
/* B29018 800B1E78 27BD0020 */ addiu $sp, $sp, 0x20
/* B2901C 800B1E7C 03E00008 */ jr $ra
/* B29020 800B1E80 00000000 */ nop

View File

@ -1,175 +0,0 @@
.rdata
glabel D_80142FA8
.asciz "fbdemo_init(%08x, %d, %d)\n"
.balign 4
glabel D_80142FC4
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80142FD4
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80142FE4
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80142FF4
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80143004
.asciz "fbdemo_init allocation error\n"
.balign 4
glabel D_80143024
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80143034
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80143044
.asciz "../z_fbdemo.c"
.balign 4
glabel D_80143054
.asciz "../z_fbdemo.c"
.balign 4
.text
glabel func_800B1E84
/* B29024 800B1E84 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B29028 800B1E88 AFB00018 */ sw $s0, 0x18($sp)
/* B2902C 800B1E8C 00808025 */ move $s0, $a0
/* B29030 800B1E90 AFBF001C */ sw $ra, 0x1c($sp)
/* B29034 800B1E94 AFA5002C */ sw $a1, 0x2c($sp)
/* B29038 800B1E98 AFA60030 */ sw $a2, 0x30($sp)
/* B2903C 800B1E9C 3C048014 */ lui $a0, %hi(D_80142FA8) # $a0, 0x8014
/* B29040 800B1EA0 24842FA8 */ addiu $a0, %lo(D_80142FA8) # addiu $a0, $a0, 0x2fa8
/* B29044 800B1EA4 8FA70030 */ lw $a3, 0x30($sp)
/* B29048 800B1EA8 8FA6002C */ lw $a2, 0x2c($sp)
/* B2904C 800B1EAC 0C00084C */ jal osSyncPrintf
/* B29050 800B1EB0 02002825 */ move $a1, $s0
/* B29054 800B1EB4 02002025 */ move $a0, $s0
/* B29058 800B1EB8 0C001114 */ jal bzero
/* B2905C 800B1EBC 240500E0 */ li $a1, 224
/* B29060 800B1EC0 8FA2002C */ lw $v0, 0x2c($sp)
/* B29064 800B1EC4 8FA70030 */ lw $a3, 0x30($sp)
/* B29068 800B1EC8 AE000008 */ sw $zero, 8($s0)
/* B2906C 800B1ECC 000270C0 */ sll $t6, $v0, 3
/* B29070 800B1ED0 25CF0008 */ addiu $t7, $t6, 8
/* B29074 800B1ED4 24E30001 */ addiu $v1, $a3, 1
/* B29078 800B1ED8 01E30019 */ multu $t7, $v1
/* B2907C 800B1EDC 3C058014 */ lui $a1, %hi(D_80142FC4) # $a1, 0x8014
/* B29080 800B1EE0 AE020000 */ sw $v0, ($s0)
/* B29084 800B1EE4 AE070004 */ sw $a3, 4($s0)
/* B29088 800B1EE8 AFA30024 */ sw $v1, 0x24($sp)
/* B2908C 800B1EEC 24A52FC4 */ addiu $a1, %lo(D_80142FC4) # addiu $a1, $a1, 0x2fc4
/* B29090 800B1EF0 240600C3 */ li $a2, 195
/* B29094 800B1EF4 00002012 */ mflo $a0
/* B29098 800B1EF8 0C03F570 */ jal SystemArena_MallocDebug
/* B2909C 800B1EFC 00000000 */ nop
/* B290A0 800B1F00 8FA30024 */ lw $v1, 0x24($sp)
/* B290A4 800B1F04 AE02000C */ sw $v0, 0xc($s0)
/* B290A8 800B1F08 8FB8002C */ lw $t8, 0x2c($sp)
/* B290AC 800B1F0C 3C058014 */ lui $a1, %hi(D_80142FD4) # $a1, 0x8014
/* B290B0 800B1F10 24A52FD4 */ addiu $a1, %lo(D_80142FD4) # addiu $a1, $a1, 0x2fd4
/* B290B4 800B1F14 0018C900 */ sll $t9, $t8, 4
/* B290B8 800B1F18 27280010 */ addiu $t0, $t9, 0x10
/* B290BC 800B1F1C 01030019 */ multu $t0, $v1
/* B290C0 800B1F20 240600C4 */ li $a2, 196
/* B290C4 800B1F24 00002012 */ mflo $a0
/* B290C8 800B1F28 AFA40020 */ sw $a0, 0x20($sp)
/* B290CC 800B1F2C 0C03F570 */ jal SystemArena_MallocDebug
/* B290D0 800B1F30 00000000 */ nop
/* B290D4 800B1F34 8FA40020 */ lw $a0, 0x20($sp)
/* B290D8 800B1F38 3C058014 */ lui $a1, %hi(D_80142FE4) # $a1, 0x8014
/* B290DC 800B1F3C AE020010 */ sw $v0, 0x10($s0)
/* B290E0 800B1F40 24A52FE4 */ addiu $a1, %lo(D_80142FE4) # addiu $a1, $a1, 0x2fe4
/* B290E4 800B1F44 0C03F570 */ jal SystemArena_MallocDebug
/* B290E8 800B1F48 240600C5 */ li $a2, 197
/* B290EC 800B1F4C 8E0A0000 */ lw $t2, ($s0)
/* B290F0 800B1F50 8E090004 */ lw $t1, 4($s0)
/* B290F4 800B1F54 3C058014 */ lui $a1, %hi(D_80142FF4) # $a1, 0x8014
/* B290F8 800B1F58 000A58C0 */ sll $t3, $t2, 3
/* B290FC 800B1F5C 016A5821 */ addu $t3, $t3, $t2
/* B29100 800B1F60 256C0001 */ addiu $t4, $t3, 1
/* B29104 800B1F64 012C0019 */ multu $t1, $t4
/* B29108 800B1F68 AE020014 */ sw $v0, 0x14($s0)
/* B2910C 800B1F6C 24A52FF4 */ addiu $a1, %lo(D_80142FF4) # addiu $a1, $a1, 0x2ff4
/* B29110 800B1F70 240600C6 */ li $a2, 198
/* B29114 800B1F74 00002012 */ mflo $a0
/* B29118 800B1F78 000420C0 */ sll $a0, $a0, 3
/* B2911C 800B1F7C 0C03F570 */ jal SystemArena_MallocDebug
/* B29120 800B1F80 24840010 */ addiu $a0, $a0, 0x10
/* B29124 800B1F84 8E0D000C */ lw $t5, 0xc($s0)
/* B29128 800B1F88 AE0200D8 */ sw $v0, 0xd8($s0)
/* B2912C 800B1F8C 3C048014 */ lui $a0, %hi(D_80143004) # $a0, 0x8014
/* B29130 800B1F90 11A00009 */ beqz $t5, .L800B1FB8
/* B29134 800B1F94 00000000 */ nop
/* B29138 800B1F98 8E0E0010 */ lw $t6, 0x10($s0)
/* B2913C 800B1F9C 11C00006 */ beqz $t6, .L800B1FB8
/* B29140 800B1FA0 00000000 */ nop
/* B29144 800B1FA4 8E0F0014 */ lw $t7, 0x14($s0)
/* B29148 800B1FA8 11E00003 */ beqz $t7, .L800B1FB8
/* B2914C 800B1FAC 00000000 */ nop
/* B29150 800B1FB0 14400025 */ bnez $v0, .L800B2048
/* B29154 800B1FB4 00000000 */ nop
.L800B1FB8:
/* B29158 800B1FB8 0C00084C */ jal osSyncPrintf
/* B2915C 800B1FBC 24843004 */ addiu $a0, %lo(D_80143004) # addiu $a0, $a0, 0x3004
/* B29160 800B1FC0 8E04000C */ lw $a0, 0xc($s0)
/* B29164 800B1FC4 3C058014 */ lui $a1, %hi(D_80143024) # $a1, 0x8014
/* B29168 800B1FC8 24A53024 */ addiu $a1, %lo(D_80143024) # addiu $a1, $a1, 0x3024
/* B2916C 800B1FCC 50800005 */ beql $a0, $zero, .L800B1FE4
/* B29170 800B1FD0 8E040010 */ lw $a0, 0x10($s0)
/* B29174 800B1FD4 0C03F5ED */ jal SystemArena_FreeDebug
/* B29178 800B1FD8 240600CA */ li $a2, 202
/* B2917C 800B1FDC AE00000C */ sw $zero, 0xc($s0)
/* B29180 800B1FE0 8E040010 */ lw $a0, 0x10($s0)
.L800B1FE4:
/* B29184 800B1FE4 3C058014 */ lui $a1, %hi(D_80143034) # $a1, 0x8014
/* B29188 800B1FE8 24A53034 */ addiu $a1, %lo(D_80143034) # addiu $a1, $a1, 0x3034
/* B2918C 800B1FEC 50800005 */ beql $a0, $zero, .L800B2004
/* B29190 800B1FF0 8E040014 */ lw $a0, 0x14($s0)
/* B29194 800B1FF4 0C03F5ED */ jal SystemArena_FreeDebug
/* B29198 800B1FF8 240600CB */ li $a2, 203
/* B2919C 800B1FFC AE000010 */ sw $zero, 0x10($s0)
/* B291A0 800B2000 8E040014 */ lw $a0, 0x14($s0)
.L800B2004:
/* B291A4 800B2004 3C058014 */ lui $a1, %hi(D_80143044) # $a1, 0x8014
/* B291A8 800B2008 24A53044 */ addiu $a1, %lo(D_80143044) # addiu $a1, $a1, 0x3044
/* B291AC 800B200C 50800005 */ beql $a0, $zero, .L800B2024
/* B291B0 800B2010 8E0400D8 */ lw $a0, 0xd8($s0)
/* B291B4 800B2014 0C03F5ED */ jal SystemArena_FreeDebug
/* B291B8 800B2018 240600CC */ li $a2, 204
/* B291BC 800B201C AE000014 */ sw $zero, 0x14($s0)
/* B291C0 800B2020 8E0400D8 */ lw $a0, 0xd8($s0)
.L800B2024:
/* B291C4 800B2024 3C058014 */ lui $a1, %hi(D_80143054) # $a1, 0x8014
/* B291C8 800B2028 24A53054 */ addiu $a1, %lo(D_80143054) # addiu $a1, $a1, 0x3054
/* B291CC 800B202C 10800004 */ beqz $a0, .L800B2040
/* B291D0 800B2030 00000000 */ nop
/* B291D4 800B2034 0C03F5ED */ jal SystemArena_FreeDebug
/* B291D8 800B2038 240600CD */ li $a2, 205
/* B291DC 800B203C AE0000D8 */ sw $zero, 0xd8($s0)
.L800B2040:
/* B291E0 800B2040 10000007 */ b .L800B2060
/* B291E4 800B2044 00001025 */ move $v0, $zero
.L800B2048:
/* B291E8 800B2048 0C02C62C */ jal func_800B18B0
/* B291EC 800B204C 02002025 */ move $a0, $s0
/* B291F0 800B2050 0C02C73F */ jal func_800B1CFC
/* B291F4 800B2054 02002025 */ move $a0, $s0
/* B291F8 800B2058 AE000008 */ sw $zero, 8($s0)
/* B291FC 800B205C 02001025 */ move $v0, $s0
.L800B2060:
/* B29200 800B2060 8FBF001C */ lw $ra, 0x1c($sp)
/* B29204 800B2064 8FB00018 */ lw $s0, 0x18($sp)
/* B29208 800B2068 27BD0028 */ addiu $sp, $sp, 0x28
/* B2920C 800B206C 03E00008 */ jr $ra
/* B29210 800B2070 00000000 */ nop

View File

@ -1,79 +0,0 @@
glabel func_800B2188
/* B29328 800B2188 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B2932C 800B218C AFBF0014 */ sw $ra, 0x14($sp)
/* B29330 800B2190 8CA30000 */ lw $v1, ($a1)
/* B29334 800B2194 00A03825 */ move $a3, $a1
/* B29338 800B2198 3C058013 */ lui $a1, %hi(D_8012B000) # $a1, 0x8013
/* B2933C 800B219C 24A5B000 */ addiu $a1, %lo(D_8012B000) # addiu $a1, $a1, -0x5000
/* B29340 800B21A0 3C06DE00 */ lui $a2, 0xde00
/* B29344 800B21A4 AC660000 */ sw $a2, ($v1)
/* B29348 800B21A8 AC650004 */ sw $a1, 4($v1)
/* B2934C 800B21AC 24620008 */ addiu $v0, $v1, 8
/* B29350 800B21B0 AFA2003C */ sw $v0, 0x3c($sp)
/* B29354 800B21B4 AFA70044 */ sw $a3, 0x44($sp)
/* B29358 800B21B8 AFA50018 */ sw $a1, 0x18($sp)
/* B2935C 800B21BC 0C02C81D */ jal func_800B2074
/* B29360 800B21C0 AFA40040 */ sw $a0, 0x40($sp)
/* B29364 800B21C4 8FA2003C */ lw $v0, 0x3c($sp)
/* B29368 800B21C8 8FA40040 */ lw $a0, 0x40($sp)
/* B2936C 800B21CC 8FA50018 */ lw $a1, 0x18($sp)
/* B29370 800B21D0 00401825 */ move $v1, $v0
/* B29374 800B21D4 8FA70044 */ lw $a3, 0x44($sp)
/* B29378 800B21D8 3C0EDA38 */ lui $t6, (0xDA380007 >> 16) # lui $t6, 0xda38
/* B2937C 800B21DC 35CE0007 */ ori $t6, (0xDA380007 & 0xFFFF) # ori $t6, $t6, 7
/* B29380 800B21E0 248F0018 */ addiu $t7, $a0, 0x18
/* B29384 800B21E4 AC6F0004 */ sw $t7, 4($v1)
/* B29388 800B21E8 AC6E0000 */ sw $t6, ($v1)
/* B2938C 800B21EC 24420008 */ addiu $v0, $v0, 8
/* B29390 800B21F0 00401825 */ move $v1, $v0
/* B29394 800B21F4 3C18DA38 */ lui $t8, (0xDA380003 >> 16) # lui $t8, 0xda38
/* B29398 800B21F8 37180003 */ ori $t8, (0xDA380003 & 0xFFFF) # ori $t8, $t8, 3
/* B2939C 800B21FC 24990058 */ addiu $t9, $a0, 0x58
/* B293A0 800B2200 AC790004 */ sw $t9, 4($v1)
/* B293A4 800B2204 AC780000 */ sw $t8, ($v1)
/* B293A8 800B2208 24420008 */ addiu $v0, $v0, 8
/* B293AC 800B220C 3C08DB06 */ lui $t0, (0xDB060028 >> 16) # lui $t0, 0xdb06
/* B293B0 800B2210 35080028 */ ori $t0, (0xDB060028 & 0xFFFF) # ori $t0, $t0, 0x28
/* B293B4 800B2214 00401825 */ move $v1, $v0
/* B293B8 800B2218 AC680000 */ sw $t0, ($v1)
/* B293BC 800B221C 8C890008 */ lw $t1, 8($a0)
/* B293C0 800B2220 3C06DE00 */ lui $a2, 0xde00
/* B293C4 800B2224 24420008 */ addiu $v0, $v0, 8
/* B293C8 800B2228 15200004 */ bnez $t1, .L800B223C
/* B293CC 800B222C 3C0CDB06 */ lui $t4, (0xDB06002C >> 16) # lui $t4, 0xdb06
/* B293D0 800B2230 8C8A0010 */ lw $t2, 0x10($a0)
/* B293D4 800B2234 10000003 */ b .L800B2244
/* B293D8 800B2238 AC6A0004 */ sw $t2, 4($v1)
.L800B223C:
/* B293DC 800B223C 8C8B0014 */ lw $t3, 0x14($a0)
/* B293E0 800B2240 AC6B0004 */ sw $t3, 4($v1)
.L800B2244:
/* B293E4 800B2244 00401825 */ move $v1, $v0
/* B293E8 800B2248 358C002C */ ori $t4, (0xDB06002C & 0xFFFF) # ori $t4, $t4, 0x2c
/* B293EC 800B224C AC6C0000 */ sw $t4, ($v1)
/* B293F0 800B2250 8C8D00DC */ lw $t5, 0xdc($a0)
/* B293F4 800B2254 24420008 */ addiu $v0, $v0, 8
/* B293F8 800B2258 3C0FE700 */ lui $t7, 0xe700
/* B293FC 800B225C AC6D0004 */ sw $t5, 4($v1)
/* B29400 800B2260 00401825 */ move $v1, $v0
/* B29404 800B2264 AC660000 */ sw $a2, ($v1)
/* B29408 800B2268 AC650004 */ sw $a1, 4($v1)
/* B2940C 800B226C 24420008 */ addiu $v0, $v0, 8
/* B29410 800B2270 00401825 */ move $v1, $v0
/* B29414 800B2274 AC660000 */ sw $a2, ($v1)
/* B29418 800B2278 8C8E00D8 */ lw $t6, 0xd8($a0)
/* B2941C 800B227C 24420008 */ addiu $v0, $v0, 8
/* B29420 800B2280 AC6E0004 */ sw $t6, 4($v1)
/* B29424 800B2284 00401825 */ move $v1, $v0
/* B29428 800B2288 AC6F0000 */ sw $t7, ($v1)
/* B2942C 800B228C AC600004 */ sw $zero, 4($v1)
/* B29430 800B2290 8C980008 */ lw $t8, 8($a0)
/* B29434 800B2294 24420008 */ addiu $v0, $v0, 8
/* B29438 800B2298 3B190001 */ xori $t9, $t8, 1
/* B2943C 800B229C AC990008 */ sw $t9, 8($a0)
/* B29440 800B22A0 ACE20000 */ sw $v0, ($a3)
/* B29444 800B22A4 8FBF0014 */ lw $ra, 0x14($sp)
/* B29448 800B22A8 27BD0040 */ addiu $sp, $sp, 0x40
/* B2944C 800B22AC 03E00008 */ jr $ra
/* B29450 800B22B0 00000000 */ nop

View File

@ -1,4 +0,0 @@
glabel func_800B23E8
/* B29588 800B23E8 03E00008 */ jr $ra
/* B2958C 800B23EC AFA40000 */ sw $a0, ($sp)

View File

@ -1,4 +0,0 @@
glabel func_800B23F0
/* B29590 800B23F0 AFA40000 */ sw $a0, ($sp)
/* B29594 800B23F4 03E00008 */ jr $ra
/* B29598 800B23F8 00001025 */ move $v0, $zero

View File

@ -0,0 +1,128 @@
.rdata
glabel D_801430C0
.asciz "\x1b[41;37m除算! ZCommonGet fade_speed に0がはいってる\x1B[m"
# EUC-JP: ! ZCommonGet fade_speed | Divide by zero! Zero is entered in ZCommonGetfade_speed
.balign 4
.text
glabel TransitionFade_Update
/* B2A708 800B3568 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B2A70C 800B356C AFBF0014 */ sw $ra, 0x14($sp)
/* B2A710 800B3570 90820000 */ lbu $v0, ($a0)
/* B2A714 800B3574 00803825 */ move $a3, $a0
/* B2A718 800B3578 24010001 */ li $at, 1
/* B2A71C 800B357C 50400063 */ beql $v0, $zero, .L800B370C
/* B2A720 800B3580 8FBF0014 */ lw $ra, 0x14($sp)
/* B2A724 800B3584 10410005 */ beq $v0, $at, .L800B359C
/* B2A728 800B3588 24010002 */ li $at, 2
/* B2A72C 800B358C 50410037 */ beql $v0, $at, .L800B366C
/* B2A730 800B3590 90ED0007 */ lbu $t5, 7($a3)
/* B2A734 800B3594 1000005D */ b .L800B370C
/* B2A738 800B3598 8FBF0014 */ lw $ra, 0x14($sp)
.L800B359C:
/* B2A73C 800B359C 94EE0008 */ lhu $t6, 8($a3)
/* B2A740 800B35A0 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A744 800B35A4 3C048014 */ lui $a0, %hi(D_801430C0) # $a0, 0x8014
/* B2A748 800B35A8 01C57821 */ addu $t7, $t6, $a1
/* B2A74C 800B35AC A4EF0008 */ sh $t7, 8($a3)
/* B2A750 800B35B0 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
/* B2A754 800B35B4 31F8FFFF */ andi $t8, $t7, 0xffff
/* B2A758 800B35B8 24190001 */ li $t9, 1
/* B2A75C 800B35BC 0302082A */ slt $at, $t8, $v0
/* B2A760 800B35C0 14200005 */ bnez $at, .L800B35D8
/* B2A764 800B35C4 248430C0 */ addiu $a0, %lo(D_801430C0) # addiu $a0, $a0, 0x30c0
/* B2A768 800B35C8 A4E20008 */ sh $v0, 8($a3)
/* B2A76C 800B35CC 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A770 800B35D0 A0F90001 */ sb $t9, 1($a3)
/* B2A774 800B35D4 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
.L800B35D8:
/* B2A778 800B35D8 54400007 */ bnezl $v0, .L800B35F8
/* B2A77C 800B35DC 94E80008 */ lhu $t0, 8($a3)
/* B2A780 800B35E0 0C00084C */ jal osSyncPrintf
/* B2A784 800B35E4 AFA70030 */ sw $a3, 0x30($sp)
/* B2A788 800B35E8 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
/* B2A78C 800B35EC 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
/* B2A790 800B35F0 8FA70030 */ lw $a3, 0x30($sp)
/* B2A794 800B35F4 94E80008 */ lhu $t0, 8($a3)
.L800B35F8:
/* B2A798 800B35F8 3C01437F */ li $at, 0x437F0000 # 0.000000
/* B2A79C 800B35FC 44812000 */ mtc1 $at, $f4
/* B2A7A0 800B3600 44883000 */ mtc1 $t0, $f6
/* B2A7A4 800B3604 44829000 */ mtc1 $v0, $f18
/* B2A7A8 800B3608 05010005 */ bgez $t0, .L800B3620
/* B2A7AC 800B360C 46803220 */ cvt.s.w $f8, $f6
/* B2A7B0 800B3610 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B2A7B4 800B3614 44815000 */ mtc1 $at, $f10
/* B2A7B8 800B3618 00000000 */ nop
/* B2A7BC 800B361C 460A4200 */ add.s $f8, $f8, $f10
.L800B3620:
/* B2A7C0 800B3620 46082402 */ mul.s $f16, $f4, $f8
/* B2A7C4 800B3624 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B2A7C8 800B3628 240B00FF */ li $t3, 255
/* B2A7CC 800B362C 04410004 */ bgez $v0, .L800B3640
/* B2A7D0 800B3630 468091A0 */ cvt.s.w $f6, $f18
/* B2A7D4 800B3634 44815000 */ mtc1 $at, $f10
/* B2A7D8 800B3638 00000000 */ nop
/* B2A7DC 800B363C 460A3180 */ add.s $f6, $f6, $f10
.L800B3640:
/* B2A7E0 800B3640 46068103 */ div.s $f4, $f16, $f6
/* B2A7E4 800B3644 90EA0002 */ lbu $t2, 2($a3)
/* B2A7E8 800B3648 4600220D */ trunc.w.s $f8, $f4
/* B2A7EC 800B364C 44034000 */ mfc1 $v1, $f8
/* B2A7F0 800B3650 11400003 */ beqz $t2, .L800B3660
/* B2A7F4 800B3654 01636023 */ subu $t4, $t3, $v1
/* B2A7F8 800B3658 1000002B */ b .L800B3708
/* B2A7FC 800B365C A0EC0007 */ sb $t4, 7($a3)
.L800B3660:
/* B2A800 800B3660 10000029 */ b .L800B3708
/* B2A804 800B3664 A0E30007 */ sb $v1, 7($a3)
/* B2A808 800B3668 90ED0007 */ lbu $t5, 7($a3)
.L800B366C:
/* B2A80C 800B366C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B2A810 800B3670 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* B2A814 800B3674 A7AD002A */ sh $t5, 0x2a($sp)
/* B2A818 800B3678 84430D38 */ lh $v1, 0xd38($v0)
/* B2A81C 800B367C 50600021 */ beql $v1, $zero, .L800B3704
/* B2A820 800B3680 87A9002A */ lh $t1, 0x2a($sp)
/* B2A824 800B3684 0461000D */ bgez $v1, .L800B36BC
/* B2A828 800B3688 24440D38 */ addiu $a0, $v0, 0xd38
/* B2A82C 800B368C 27A4002A */ addiu $a0, $sp, 0x2a
/* B2A830 800B3690 240500FF */ li $a1, 255
/* B2A834 800B3694 240600FF */ li $a2, 255
/* B2A838 800B3698 0C01DE5F */ jal Math_ApproxS
/* B2A83C 800B369C AFA70030 */ sw $a3, 0x30($sp)
/* B2A840 800B36A0 10400017 */ beqz $v0, .L800B3700
/* B2A844 800B36A4 8FA70030 */ lw $a3, 0x30($sp)
/* B2A848 800B36A8 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* B2A84C 800B36AC 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* B2A850 800B36B0 240E0096 */ li $t6, 150
/* B2A854 800B36B4 10000012 */ b .L800B3700
/* B2A858 800B36B8 A5EE0D38 */ sh $t6, 0xd38($t7)
.L800B36BC:
/* B2A85C 800B36BC 24050014 */ li $a1, 20
/* B2A860 800B36C0 2406003C */ li $a2, 60
/* B2A864 800B36C4 0C01DE5F */ jal Math_ApproxS
/* B2A868 800B36C8 AFA70030 */ sw $a3, 0x30($sp)
/* B2A86C 800B36CC 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* B2A870 800B36D0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* B2A874 800B36D4 27A4002A */ addiu $a0, $sp, 0x2a
/* B2A878 800B36D8 00002825 */ move $a1, $zero
/* B2A87C 800B36DC 0C01DE5F */ jal Math_ApproxS
/* B2A880 800B36E0 87060D38 */ lh $a2, 0xd38($t8)
/* B2A884 800B36E4 10400006 */ beqz $v0, .L800B3700
/* B2A888 800B36E8 8FA70030 */ lw $a3, 0x30($sp)
/* B2A88C 800B36EC 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* B2A890 800B36F0 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* B2A894 800B36F4 24080001 */ li $t0, 1
/* B2A898 800B36F8 A7200D38 */ sh $zero, 0xd38($t9)
/* B2A89C 800B36FC A0E80001 */ sb $t0, 1($a3)
.L800B3700:
/* B2A8A0 800B3700 87A9002A */ lh $t1, 0x2a($sp)
.L800B3704:
/* B2A8A4 800B3704 A0E90007 */ sb $t1, 7($a3)
.L800B3708:
/* B2A8A8 800B3708 8FBF0014 */ lw $ra, 0x14($sp)
.L800B370C:
/* B2A8AC 800B370C 27BD0030 */ addiu $sp, $sp, 0x30
/* B2A8B0 800B3710 03E00008 */ jr $ra
/* B2A8B4 800B3714 00000000 */ nop

View File

@ -1,169 +1,10 @@
.include "macro.inc"
.rdata
glabel D_80143070
.asciz "rate=%f tx=%f ty=%f rotate=%f\n"
.balign 4
# 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 .text
.align 4
glabel func_800B2400
/* B295A0 800B2400 8C82000C */ lw $v0, 0xc($a0)
/* B295A4 800B2404 24010001 */ li $at, 1
/* B295A8 800B2408 10410002 */ beq $v0, $at, .L800B2414
/* B295AC 800B240C 24010002 */ li $at, 2
/* B295B0 800B2410 14410004 */ bne $v0, $at, .L800B2424
.L800B2414:
/* B295B4 800B2414 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B295B8 800B2418 44812000 */ mtc1 $at, $f4
/* B295BC 800B241C 03E00008 */ jr $ra
/* B295C0 800B2420 E4840004 */ swc1 $f4, 4($a0)
.L800B2424:
/* B295C4 800B2424 3C018014 */ lui $at, %hi(D_80143090)
/* B295C8 800B2428 C4263090 */ lwc1 $f6, %lo(D_80143090)($at)
/* B295CC 800B242C E4860004 */ swc1 $f6, 4($a0)
/* B295D0 800B2430 03E00008 */ jr $ra
/* B295D4 800B2434 00000000 */ nop
glabel func_800B2438
/* B295D8 800B2438 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B295DC 800B243C AFBF002C */ sw $ra, 0x2c($sp)
/* B295E0 800B2440 AFB00028 */ sw $s0, 0x28($sp)
/* B295E4 800B2444 00808025 */ move $s0, $a0
/* B295E8 800B2448 0C001114 */ jal bzero
/* B295EC 800B244C 240501E0 */ li $a1, 480
/* B295F0 800B2450 3C0142F0 */ li $at, 0x42F00000 # 0.000000
/* B295F4 800B2454 44812000 */ mtc1 $at, $f4
/* B295F8 800B2458 3C01C47A */ li $at, 0xC47A0000 # 0.000000
/* B295FC 800B245C 44813000 */ mtc1 $at, $f6
/* B29600 800B2460 3C01447A */ li $at, 0x447A0000 # 0.000000
/* B29604 800B2464 44814000 */ mtc1 $at, $f8
/* B29608 800B2468 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2960C 800B246C 44815000 */ mtc1 $at, $f10
/* B29610 800B2470 26040018 */ addiu $a0, $s0, 0x18
/* B29614 800B2474 3C05C320 */ lui $a1, 0xc320
/* B29618 800B2478 3C064320 */ lui $a2, 0x4320
/* B2961C 800B247C 3C07C2F0 */ lui $a3, 0xc2f0
/* B29620 800B2480 E7A40010 */ swc1 $f4, 0x10($sp)
/* B29624 800B2484 E7A60014 */ swc1 $f6, 0x14($sp)
/* B29628 800B2488 E7A80018 */ swc1 $f8, 0x18($sp)
/* B2962C 800B248C 0C041169 */ jal func_801045A4
/* B29630 800B2490 E7AA001C */ swc1 $f10, 0x1c($sp)
/* B29634 800B2494 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29638 800B2498 44818000 */ mtc1 $at, $f16
/* B2963C 800B249C 240E0002 */ li $t6, 2
/* B29640 800B24A0 AE0E000C */ sw $t6, 0xc($s0)
/* B29644 800B24A4 3C018014 */ lui $at, %hi(D_80143094)
/* B29648 800B24A8 E6100004 */ swc1 $f16, 4($s0)
/* B2964C 800B24AC C4323094 */ lwc1 $f18, %lo(D_80143094)($at)
/* B29650 800B24B0 240F0001 */ li $t7, 1
/* B29654 800B24B4 AE0F0010 */ sw $t7, 0x10($s0)
/* B29658 800B24B8 E6120008 */ swc1 $f18, 8($s0)
/* B2965C 800B24BC 8FBF002C */ lw $ra, 0x2c($sp)
/* B29660 800B24C0 02001025 */ move $v0, $s0
/* B29664 800B24C4 8FB00028 */ lw $s0, 0x28($sp)
/* B29668 800B24C8 03E00008 */ jr $ra
/* B2966C 800B24CC 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800B24D0
/* B29670 800B24D0 03E00008 */ jr $ra
/* B29674 800B24D4 AFA40000 */ sw $a0, ($sp)
glabel func_800B24D8
/* B29678 800B24D8 18A00042 */ blez $a1, .L800B25E4
/* B2967C 800B24DC 00A01025 */ move $v0, $a1
/* B29680 800B24E0 3C018014 */ lui $at, %hi(D_80143098)
/* B29684 800B24E4 C42C3098 */ lwc1 $f12, %lo(D_80143098)($at)
/* B29688 800B24E8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2968C 800B24EC 44811000 */ mtc1 $at, $f2
/* B29690 800B24F0 24080004 */ li $t0, 4
/* B29694 800B24F4 24070003 */ li $a3, 3
/* B29698 800B24F8 24060002 */ li $a2, 2
/* B2969C 800B24FC 24050001 */ li $a1, 1
/* B296A0 800B2500 8C83000C */ lw $v1, 0xc($a0)
.L800B2504:
/* B296A4 800B2504 2442FFFF */ addiu $v0, $v0, -1
/* B296A8 800B2508 14A3000D */ bne $a1, $v1, .L800B2540
/* B296AC 800B250C 00000000 */ nop
/* B296B0 800B2510 C4860008 */ lwc1 $f6, 8($a0)
/* B296B4 800B2514 C4840004 */ lwc1 $f4, 4($a0)
/* B296B8 800B2518 46061201 */ sub.s $f8, $f2, $f6
/* B296BC 800B251C 46082002 */ mul.s $f0, $f4, $f8
/* B296C0 800B2520 460C003C */ c.lt.s $f0, $f12
/* B296C4 800B2524 00000000 */ nop
/* B296C8 800B2528 45000003 */ bc1f .L800B2538
/* B296CC 800B252C 00000000 */ nop
/* B296D0 800B2530 1000002A */ b .L800B25DC
/* B296D4 800B2534 E48C0004 */ swc1 $f12, 4($a0)
.L800B2538:
/* B296D8 800B2538 10000028 */ b .L800B25DC
/* B296DC 800B253C E4800004 */ swc1 $f0, 4($a0)
.L800B2540:
/* B296E0 800B2540 14C3000C */ bne $a2, $v1, .L800B2574
/* B296E4 800B2544 00000000 */ nop
/* B296E8 800B2548 C48A0004 */ lwc1 $f10, 4($a0)
/* B296EC 800B254C C4900008 */ lwc1 $f16, 8($a0)
/* B296F0 800B2550 46105001 */ sub.s $f0, $f10, $f16
/* B296F4 800B2554 460C003C */ c.lt.s $f0, $f12
/* B296F8 800B2558 00000000 */ nop
/* B296FC 800B255C 45000003 */ bc1f .L800B256C
/* B29700 800B2560 00000000 */ nop
/* B29704 800B2564 1000001D */ b .L800B25DC
/* B29708 800B2568 E48C0004 */ swc1 $f12, 4($a0)
.L800B256C:
/* B2970C 800B256C 1000001B */ b .L800B25DC
/* B29710 800B2570 E4800004 */ swc1 $f0, 4($a0)
.L800B2574:
/* B29714 800B2574 14E3000D */ bne $a3, $v1, .L800B25AC
/* B29718 800B2578 00000000 */ nop
/* B2971C 800B257C C4860008 */ lwc1 $f6, 8($a0)
/* B29720 800B2580 C4920004 */ lwc1 $f18, 4($a0)
/* B29724 800B2584 46061101 */ sub.s $f4, $f2, $f6
/* B29728 800B2588 46049003 */ div.s $f0, $f18, $f4
/* B2972C 800B258C 4600103C */ c.lt.s $f2, $f0
/* B29730 800B2590 00000000 */ nop
/* B29734 800B2594 45000003 */ bc1f .L800B25A4
/* B29738 800B2598 00000000 */ nop
/* B2973C 800B259C 1000000F */ b .L800B25DC
/* B29740 800B25A0 E4820004 */ swc1 $f2, 4($a0)
.L800B25A4:
/* B29744 800B25A4 1000000D */ b .L800B25DC
/* B29748 800B25A8 E4800004 */ swc1 $f0, 4($a0)
.L800B25AC:
/* B2974C 800B25AC 1503000B */ bne $t0, $v1, .L800B25DC
/* B29750 800B25B0 00000000 */ nop
/* B29754 800B25B4 C4880004 */ lwc1 $f8, 4($a0)
/* B29758 800B25B8 C48A0008 */ lwc1 $f10, 8($a0)
/* B2975C 800B25BC 460A4000 */ add.s $f0, $f8, $f10
/* B29760 800B25C0 4600103C */ c.lt.s $f2, $f0
/* B29764 800B25C4 00000000 */ nop
/* B29768 800B25C8 45020004 */ bc1fl .L800B25DC
/* B2976C 800B25CC E4800004 */ swc1 $f0, 4($a0)
/* B29770 800B25D0 10000002 */ b .L800B25DC
/* B29774 800B25D4 E4820004 */ swc1 $f2, 4($a0)
/* B29778 800B25D8 E4800004 */ swc1 $f0, 4($a0)
.L800B25DC:
/* B2977C 800B25DC 5440FFC9 */ bnezl $v0, .L800B2504
/* B29780 800B25E0 8C83000C */ lw $v1, 0xc($a0)
.L800B25E4:
/* B29784 800B25E4 03E00008 */ jr $ra
/* B29788 800B25E8 00000000 */ nop
glabel func_800B25EC
/* B2978C 800B25EC 03E00008 */ jr $ra
/* B29790 800B25F0 AC850000 */ sw $a1, ($a0)
glabel func_800B25F4
/* B29794 800B25F4 03E00008 */ jr $ra
/* B29798 800B25F8 AC850010 */ sw $a1, 0x10($a0)
glabel func_800B25FC
/* B2979C 800B25FC 03E00008 */ jr $ra
/* B297A0 800B2600 AC85000C */ sw $a1, 0xc($a0)
glabel func_800B2604
.text
glabel TransitionTriforce_Draw
/* B297A4 800B2604 27BDFF68 */ addiu $sp, $sp, -0x98
/* B297A8 800B2608 AFBF002C */ sw $ra, 0x2c($sp)
/* B297AC 800B260C AFA40098 */ sw $a0, 0x98($sp)
@ -205,8 +46,8 @@ glabel func_800B2604
/* B2983C 800B269C 3C073F80 */ li $a3, 0x3F800000 # 0.000000
/* B29840 800B26A0 44056000 */ mfc1 $a1, $f12
/* B29844 800B26A4 44066000 */ mfc1 $a2, $f12
/* B29848 800B26A8 0C040078 */ jal func_801001E0
/* B2984C 800B26AC 00000000 */ nop
/* B29848 800B26A8 0C040078 */ jal guScale
/* B2984C 800B26AC 00000000 */ nop
/* B29850 800B26B0 44800000 */ mtc1 $zero, $f0
/* B29854 800B26B4 8FA40090 */ lw $a0, 0x90($sp)
/* B29858 800B26B8 3C013F80 */ li $at, 0x3F800000 # 0.000000
@ -216,7 +57,7 @@ glabel func_800B2604
/* B29868 800B26C8 44070000 */ mfc1 $a3, $f0
/* B2986C 800B26CC AFA40034 */ sw $a0, 0x34($sp)
/* B29870 800B26D0 8FA50080 */ lw $a1, 0x80($sp)
/* B29874 800B26D4 0C040FE9 */ jal func_80103FA4
/* B29874 800B26D4 0C040FE9 */ jal guRotate
/* B29878 800B26D8 E7B20010 */ swc1 $f18, 0x10($sp)
/* B2987C 800B26DC 44800000 */ mtc1 $zero, $f0
/* B29880 800B26E0 8FA40090 */ lw $a0, 0x90($sp)
@ -224,7 +65,7 @@ glabel func_800B2604
/* B29888 800B26E8 24840080 */ addiu $a0, $a0, 0x80
/* B2988C 800B26EC 44060000 */ mfc1 $a2, $f0
/* B29890 800B26F0 44070000 */ mfc1 $a3, $f0
/* B29894 800B26F4 0C041708 */ jal func_80105C20
/* B29894 800B26F4 0C041708 */ jal guTranslate
/* B29898 800B26F8 AFA40030 */ sw $a0, 0x30($sp)
/* B2989C 800B26FC 8FA20094 */ lw $v0, 0x94($sp)
/* B298A0 800B2700 8FA40030 */ lw $a0, 0x30($sp)
@ -288,7 +129,7 @@ glabel func_800B2604
/* B29988 800B27E8 AC4C0000 */ sw $t4, ($v0)
/* B2998C 800B27EC 24630008 */ addiu $v1, $v1, 8
/* B29990 800B27F0 AFA30094 */ sw $v1, 0x94($sp)
/* B29994 800B27F4 0C02CA51 */ jal func_800B2944
/* B29994 800B27F4 0C02CA51 */ jal TransitionTriforce_IsDone
/* B29998 800B27F8 00C02025 */ move $a0, $a2
/* B2999C 800B27FC 14400038 */ bnez $v0, .L800B28E0
/* B299A0 800B2800 8FA30094 */ lw $v1, 0x94($sp)
@ -376,48 +217,4 @@ glabel func_800B2604
/* B29AD4 800B2934 8FBF002C */ lw $ra, 0x2c($sp)
/* B29AD8 800B2938 27BD0098 */ addiu $sp, $sp, 0x98
/* B29ADC 800B293C 03E00008 */ jr $ra
/* B29AE0 800B2940 00000000 */ nop
glabel func_800B2944
/* B29AE4 800B2944 8C82000C */ lw $v0, 0xc($a0)
/* B29AE8 800B2948 24010001 */ li $at, 1
/* B29AEC 800B294C 10410002 */ beq $v0, $at, .L800B2958
/* B29AF0 800B2950 24010002 */ li $at, 2
/* B29AF4 800B2954 1441000B */ bne $v0, $at, .L800B2984
.L800B2958:
/* B29AF8 800B2958 3C018014 */ lui $at, %hi(D_8014309C)
/* B29AFC 800B295C C424309C */ lwc1 $f4, %lo(D_8014309C)($at)
/* B29B00 800B2960 C4860004 */ lwc1 $f6, 4($a0)
/* B29B04 800B2964 00001025 */ move $v0, $zero
/* B29B08 800B2968 4604303E */ c.le.s $f6, $f4
/* B29B0C 800B296C 00000000 */ nop
/* B29B10 800B2970 45000002 */ bc1f .L800B297C
/* B29B14 800B2974 00000000 */ nop
/* B29B18 800B2978 24020001 */ li $v0, 1
.L800B297C:
/* B29B1C 800B297C 03E00008 */ jr $ra
/* B29B20 800B2980 00000000 */ nop
.L800B2984:
/* B29B24 800B2984 24010003 */ li $at, 3
/* B29B28 800B2988 10410002 */ beq $v0, $at, .L800B2994
/* B29B2C 800B298C 24010004 */ li $at, 4
/* B29B30 800B2990 1441000B */ bne $v0, $at, .L800B29C0
.L800B2994:
/* B29B34 800B2994 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29B38 800B2998 44815000 */ mtc1 $at, $f10
/* B29B3C 800B299C C4880004 */ lwc1 $f8, 4($a0)
/* B29B40 800B29A0 00001025 */ move $v0, $zero
/* B29B44 800B29A4 4608503E */ c.le.s $f10, $f8
/* B29B48 800B29A8 00000000 */ nop
/* B29B4C 800B29AC 45000002 */ bc1f .L800B29B8
/* B29B50 800B29B0 00000000 */ nop
/* B29B54 800B29B4 24020001 */ li $v0, 1
.L800B29B8:
/* B29B58 800B29B8 03E00008 */ jr $ra
/* B29B5C 800B29BC 00000000 */ nop
.L800B29C0:
/* B29B60 800B29C0 00001025 */ move $v0, $zero
/* B29B64 800B29C4 03E00008 */ jr $ra
/* B29B68 800B29C8 00000000 */ nop
/* B29AE0 800B2940 00000000 */ nop

View File

@ -0,0 +1,48 @@
.late_rodata
glabel D_8014309C
.float 0.03
.text
glabel TransitionTriforce_IsDone
/* B29AE4 800B2944 8C82000C */ lw $v0, 0xc($a0)
/* B29AE8 800B2948 24010001 */ li $at, 1
/* B29AEC 800B294C 10410002 */ beq $v0, $at, .L800B2958
/* B29AF0 800B2950 24010002 */ li $at, 2
/* B29AF4 800B2954 1441000B */ bne $v0, $at, .L800B2984
.L800B2958:
/* B29AF8 800B2958 3C018014 */ lui $at, %hi(D_8014309C)
/* B29AFC 800B295C C424309C */ lwc1 $f4, %lo(D_8014309C)($at)
/* B29B00 800B2960 C4860004 */ lwc1 $f6, 4($a0)
/* B29B04 800B2964 00001025 */ move $v0, $zero
/* B29B08 800B2968 4604303E */ c.le.s $f6, $f4
/* B29B0C 800B296C 00000000 */ nop
/* B29B10 800B2970 45000002 */ bc1f .L800B297C
/* B29B14 800B2974 00000000 */ nop
/* B29B18 800B2978 24020001 */ li $v0, 1
.L800B297C:
/* B29B1C 800B297C 03E00008 */ jr $ra
/* B29B20 800B2980 00000000 */ nop
.L800B2984:
/* B29B24 800B2984 24010003 */ li $at, 3
/* B29B28 800B2988 10410002 */ beq $v0, $at, .L800B2994
/* B29B2C 800B298C 24010004 */ li $at, 4
/* B29B30 800B2990 1441000B */ bne $v0, $at, .L800B29C0
.L800B2994:
/* B29B34 800B2994 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29B38 800B2998 44815000 */ mtc1 $at, $f10
/* B29B3C 800B299C C4880004 */ lwc1 $f8, 4($a0)
/* B29B40 800B29A0 00001025 */ move $v0, $zero
/* B29B44 800B29A4 4608503E */ c.le.s $f10, $f8
/* B29B48 800B29A8 00000000 */ nop
/* B29B4C 800B29AC 45000002 */ bc1f .L800B29B8
/* B29B50 800B29B0 00000000 */ nop
/* B29B54 800B29B4 24020001 */ li $v0, 1
.L800B29B8:
/* B29B58 800B29B8 03E00008 */ jr $ra
/* B29B5C 800B29BC 00000000 */ nop
.L800B29C0:
/* B29B60 800B29C0 00001025 */ move $v0, $zero
/* B29B64 800B29C4 03E00008 */ jr $ra
/* B29B68 800B29C8 00000000 */ nop

View File

@ -0,0 +1,63 @@
glabel TransitionWipe1_Move
/* B29C58 800B2AB8 908E0008 */ lbu $t6, 8($a0)
/* B29C5C 800B2ABC 3C028016 */ lui $v0, %hi(gSaveContext+0x1419)
/* B29C60 800B2AC0 11C0001B */ beqz $t6, .L800B2B30
/* B29C64 800B2AC4 00000000 */ nop
/* B29C68 800B2AC8 3C028016 */ lui $v0, %hi(gSaveContext+0x1419) # $v0, 0x8016
/* B29C6C 800B2ACC 9042FA79 */ lbu $v0, %lo(gSaveContext+0x1419)($v0)
/* B29C70 800B2AD0 948F000E */ lhu $t7, 0xe($a0)
/* B29C74 800B2AD4 240A0264 */ li $t2, 612
/* B29C78 800B2AD8 0002C080 */ sll $t8, $v0, 2
/* B29C7C 800B2ADC 0302C023 */ subu $t8, $t8, $v0
/* B29C80 800B2AE0 0305001A */ div $zero, $t8, $a1
/* B29C84 800B2AE4 14A00002 */ bnez $a1, .L800B2AF0
/* B29C88 800B2AE8 00000000 */ nop
/* B29C8C 800B2AEC 0007000D */ break 7
.L800B2AF0:
/* B29C90 800B2AF0 2401FFFF */ li $at, -1
/* B29C94 800B2AF4 14A10004 */ bne $a1, $at, .L800B2B08
/* B29C98 800B2AF8 3C018000 */ lui $at, 0x8000
/* B29C9C 800B2AFC 17010002 */ bne $t8, $at, .L800B2B08
/* B29CA0 800B2B00 00000000 */ nop
/* B29CA4 800B2B04 0006000D */ break 6
.L800B2B08:
/* B29CA8 800B2B08 0000C812 */ mflo $t9
/* B29CAC 800B2B0C 01F94021 */ addu $t0, $t7, $t9
/* B29CB0 800B2B10 3109FFFF */ andi $t1, $t0, 0xffff
/* B29CB4 800B2B14 29210264 */ slti $at, $t1, 0x264
/* B29CB8 800B2B18 1420001D */ bnez $at, .L800B2B90
/* B29CBC 800B2B1C A488000E */ sh $t0, 0xe($a0)
/* B29CC0 800B2B20 240B0001 */ li $t3, 1
/* B29CC4 800B2B24 A48A000E */ sh $t2, 0xe($a0)
/* B29CC8 800B2B28 03E00008 */ jr $ra
/* B29CCC 800B2B2C A08B000A */ sb $t3, 0xa($a0)
.L800B2B30:
/* B29CD0 800B2B30 9042FA79 */ lbu $v0, %lo(gSaveContext+0x1419)($v0)
/* B29CD4 800B2B34 948C000E */ lhu $t4, 0xe($a0)
/* B29CD8 800B2B38 2419014D */ li $t9, 333
/* B29CDC 800B2B3C 00026880 */ sll $t5, $v0, 2
/* B29CE0 800B2B40 01A26823 */ subu $t5, $t5, $v0
/* B29CE4 800B2B44 01A5001A */ div $zero, $t5, $a1
/* B29CE8 800B2B48 14A00002 */ bnez $a1, .L800B2B54
/* B29CEC 800B2B4C 00000000 */ nop
/* B29CF0 800B2B50 0007000D */ break 7
.L800B2B54:
/* B29CF4 800B2B54 2401FFFF */ li $at, -1
/* B29CF8 800B2B58 14A10004 */ bne $a1, $at, .L800B2B6C
/* B29CFC 800B2B5C 3C018000 */ lui $at, 0x8000
/* B29D00 800B2B60 15A10002 */ bne $t5, $at, .L800B2B6C
/* B29D04 800B2B64 00000000 */ nop
/* B29D08 800B2B68 0006000D */ break 6
.L800B2B6C:
/* B29D0C 800B2B6C 00007012 */ mflo $t6
/* B29D10 800B2B70 018EC023 */ subu $t8, $t4, $t6
/* B29D14 800B2B74 330FFFFF */ andi $t7, $t8, 0xffff
/* B29D18 800B2B78 29E1014E */ slti $at, $t7, 0x14e
/* B29D1C 800B2B7C 10200004 */ beqz $at, .L800B2B90
/* B29D20 800B2B80 A498000E */ sh $t8, 0xe($a0)
/* B29D24 800B2B84 24080001 */ li $t0, 1
/* B29D28 800B2B88 A499000E */ sh $t9, 0xe($a0)
/* B29D2C 800B2B8C A088000A */ sb $t0, 0xa($a0)
.L800B2B90:
/* B29D30 800B2B90 03E00008 */ jr $ra
/* B29D34 800B2B94 00000000 */ nop

View File

@ -167,7 +167,7 @@ glabel Gameplay_Draw
/* B361D4 800BF034 02002025 */ move $a0, $s0
/* B361D8 800BF038 844A1074 */ lh $t2, 0x1074($v0)
/* B361DC 800BF03C 15410004 */ bne $t2, $at, .L800BF050
/* B361E0 800BF040 00000000 */ nop
/* B361E0 800BF040 00000000 */ nop
/* B361E4 800BF044 844B1078 */ lh $t3, 0x1078($v0)
/* B361E8 800BF048 5160027A */ beql $t3, $zero, .L800BFA34
/* B361EC 800BF04C 8E1901DC */ lw $t9, 0x1dc($s0)
@ -188,7 +188,7 @@ glabel Gameplay_Draw
/* B36224 800BF084 46802120 */ cvt.s.w $f4, $f4
/* B36228 800BF088 44072000 */ mfc1 $a3, $f4
/* B3622C 800BF08C 0C02A918 */ jal func_800AA460
/* B36230 800BF090 00000000 */ nop
/* B36230 800BF090 00000000 */ nop
/* B36234 800BF094 8FA40040 */ lw $a0, 0x40($sp)
/* B36238 800BF098 0C02AA94 */ jal func_800AAA50
/* B3623C 800BF09C 2405000F */ li $a1, 15
@ -214,7 +214,7 @@ glabel Gameplay_Draw
/* B3628C 800BF0EC 8FA40044 */ lw $a0, 0x44($sp)
/* B36290 800BF0F0 8FA2004C */ lw $v0, 0x4c($sp)
/* B36294 800BF0F4 44800000 */ mtc1 $zero, $f0
/* B36298 800BF0F8 00000000 */ nop
/* B36298 800BF0F8 00000000 */ nop
/* B3629C 800BF0FC E4401DD8 */ swc1 $f0, 0x1dd8($v0)
/* B362A0 800BF100 E4401DD4 */ swc1 $f0, 0x1dd4($v0)
/* B362A4 800BF104 E4401DD0 */ swc1 $f0, 0x1dd0($v0)
@ -255,7 +255,7 @@ glabel Gameplay_Draw
/* B36330 800BF190 8E2402C0 */ lw $a0, 0x2c0($s1)
/* B36334 800BF194 8449108C */ lh $t1, 0x108c($v0)
/* B36338 800BF198 1120004C */ beqz $t1, .L800BF2CC
/* B3633C 800BF19C 00000000 */ nop
/* B3633C 800BF19C 00000000 */ nop
/* B36340 800BF1A0 8E2402C0 */ lw $a0, 0x2c0($s1)
.L800BF1A4:
/* B36344 800BF1A4 0C031B08 */ jal Graph_GfxPlusOne
@ -275,7 +275,7 @@ glabel Gameplay_Draw
/* B3637C 800BF1DC 10410007 */ beq $v0, $at, .L800BF1FC
/* B36380 800BF1E0 2401000B */ li $at, 11
/* B36384 800BF1E4 10410005 */ beq $v0, $at, .L800BF1FC
/* B36388 800BF1E8 00000000 */ nop
/* B36388 800BF1E8 00000000 */ nop
/* B3638C 800BF1EC 8DAE23F0 */ lw $t6, 0x23f0($t5)
/* B36390 800BF1F0 29C10038 */ slti $at, $t6, 0x38
/* B36394 800BF1F4 5420001B */ bnezl $at, .L800BF264
@ -305,12 +305,12 @@ glabel Gameplay_Draw
/* B363F0 800BF250 02012021 */ addu $a0, $s0, $at
/* B363F4 800BF254 27A501D0 */ addiu $a1, $sp, 0x1d0
/* B363F8 800BF258 0320F809 */ jalr $t9
/* B363FC 800BF25C 00000000 */ nop
/* B363FC 800BF25C 00000000 */ nop
/* B36400 800BF260 3C010001 */ lui $at, (0x0001241C >> 16) # lui $at, 1
.L800BF264:
/* B36404 800BF264 3421241C */ ori $at, (0x0001241C & 0xFFFF) # ori $at, $at, 0x241c
/* B36408 800BF268 02012021 */ addu $a0, $s0, $at
/* B3640C 800BF26C 0C02CDC6 */ jal func_800B3718
/* B3640C 800BF26C 0C02CDC6 */ jal TransitionFade_Draw
/* B36410 800BF270 27A501D0 */ addiu $a1, $sp, 0x1d0
/* B36414 800BF274 3C028016 */ lui $v0, %hi(D_801614B0) # $v0, 0x8016
/* B36418 800BF278 244214B0 */ addiu $v0, %lo(D_801614B0) # addiu $v0, $v0, 0x14b0
@ -336,17 +336,17 @@ glabel Gameplay_Draw
/* B36464 800BF2C4 8FAF01D0 */ lw $t7, 0x1d0($sp)
/* B36468 800BF2C8 AE2F02C0 */ sw $t7, 0x2c0($s1)
.L800BF2CC:
/* B3646C 800BF2CC 3C188016 */ lui $t8, %hi(D_80161490) # $t8, 0x8016
/* B36470 800BF2D0 8F181490 */ lw $t8, %lo(D_80161490)($t8)
/* B3646C 800BF2CC 3C188016 */ lui $t8, %hi(gTrnsnUnkState) # $t8, 0x8016
/* B36470 800BF2D0 8F181490 */ lw $t8, %lo(gTrnsnUnkState)($t8)
/* B36474 800BF2D4 24010003 */ li $at, 3
/* B36478 800BF2D8 24050140 */ li $a1, 320
/* B3647C 800BF2DC 1701000D */ bne $t8, $at, .L800BF314
/* B36480 800BF2E0 240600F0 */ li $a2, 240
/* B36484 800BF2E4 8E2902C0 */ lw $t1, 0x2c0($s1)
/* B36488 800BF2E8 3C048016 */ lui $a0, %hi(D_801613B0) # $a0, 0x8016
/* B3648C 800BF2EC 248413B0 */ addiu $a0, %lo(D_801613B0) # addiu $a0, $a0, 0x13b0
/* B36488 800BF2E8 3C048016 */ lui $a0, %hi(sTrnsnUnk) # $a0, 0x8016
/* B3648C 800BF2EC 248413B0 */ addiu $a0, %lo(sTrnsnUnk) # addiu $a0, $a0, 0x13b0
/* B36490 800BF2F0 27A50088 */ addiu $a1, $sp, 0x88
/* B36494 800BF2F4 0C02C862 */ jal func_800B2188
/* B36494 800BF2F4 0C02C862 */ jal TransitionUnk_Draw
/* B36498 800BF2F8 AFA90088 */ sw $t1, 0x88($sp)
/* B3649C 800BF2FC 8FB90088 */ lw $t9, 0x88($sp)
/* B364A0 800BF300 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
@ -371,7 +371,7 @@ glabel Gameplay_Draw
/* B364E8 800BF348 5461000E */ bnel $v1, $at, .L800BF384
/* B364EC 800BF34C 28610004 */ slti $at, $v1, 4
/* B364F0 800BF350 0C01EFC4 */ jal MsgEvent_SendNullTask
/* B364F4 800BF354 00000000 */ nop
/* B364F4 800BF354 00000000 */ nop
/* B364F8 800BF358 0C030DDC */ jal func_800C3770
/* B364FC 800BF35C 8FA4003C */ lw $a0, 0x3c($sp)
/* B36500 800BF360 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
@ -493,7 +493,7 @@ glabel Gameplay_Draw
/* B366A8 800BF508 2401000A */ li $at, 10
.L800BF50C:
/* B366AC 800BF50C 14610005 */ bne $v1, $at, .L800BF524
/* B366B0 800BF510 00000000 */ nop
/* B366B0 800BF510 00000000 */ nop
/* B366B4 800BF514 844F1088 */ lh $t7, 0x1088($v0)
/* B366B8 800BF518 31F80001 */ andi $t8, $t7, 1
/* B366BC 800BF51C 53000007 */ beql $t8, $zero, .L800BF53C
@ -507,7 +507,7 @@ glabel Gameplay_Draw
/* B366D8 800BF538 2401000A */ li $at, 10
.L800BF53C:
/* B366DC 800BF53C 14610005 */ bne $v1, $at, .L800BF554
/* B366E0 800BF540 00000000 */ nop
/* B366E0 800BF540 00000000 */ nop
/* B366E4 800BF544 84491088 */ lh $t1, 0x1088($v0)
/* B366E8 800BF548 31390004 */ andi $t9, $t1, 4
/* B366EC 800BF54C 5320000A */ beql $t9, $zero, .L800BF578
@ -628,7 +628,7 @@ glabel Gameplay_Draw
/* B36894 800BF6F4 8FA50040 */ lw $a1, 0x40($sp)
/* B36898 800BF6F8 91AE0B13 */ lbu $t6, 0xb13($t5)
/* B3689C 800BF6FC 11C00003 */ beqz $t6, .L800BF70C
/* B368A0 800BF700 00000000 */ nop
/* B368A0 800BF700 00000000 */ nop
/* B368A4 800BF704 0C01D1C1 */ jal func_80074704
/* B368A8 800BF708 02203025 */ move $a2, $s1
.L800BF70C:
@ -677,7 +677,7 @@ glabel Gameplay_Draw
.L800BF7A4:
/* B36944 800BF7A4 918D0A3A */ lbu $t5, 0xa3a($t4)
/* B36948 800BF7A8 15A0001C */ bnez $t5, .L800BF81C
/* B3694C 800BF7AC 00000000 */ nop
/* B3694C 800BF7AC 00000000 */ nop
/* B36950 800BF7B0 C61000E0 */ lwc1 $f16, 0xe0($s0)
/* B36954 800BF7B4 C5920A28 */ lwc1 $f18, 0xa28($t4)
/* B36958 800BF7B8 27AE021C */ addiu $t6, $sp, 0x21c
@ -739,7 +739,7 @@ glabel Gameplay_Draw
/* B36A28 800BF888 24180003 */ li $t8, 3
/* B36A2C 800BF88C 3C028016 */ lui $v0, %hi(gGameInfo)
/* B36A30 800BF890 1581000D */ bne $t4, $at, .L800BF8C8
/* B36A34 800BF894 00000000 */ nop
/* B36A34 800BF894 00000000 */ nop
/* B36A38 800BF898 91CF0B09 */ lbu $t7, 0xb09($t6)
/* B36A3C 800BF89C 91C50B06 */ lbu $a1, 0xb06($t6)
/* B36A40 800BF8A0 91C60B07 */ lbu $a2, 0xb07($t6)
@ -775,7 +775,7 @@ glabel Gameplay_Draw
/* B36AA8 800BF908 2401000A */ li $at, 10
.L800BF90C:
/* B36AAC 800BF90C 14610004 */ bne $v1, $at, .L800BF920
/* B36AB0 800BF910 00000000 */ nop
/* B36AB0 800BF910 00000000 */ nop
/* B36AB4 800BF914 844A108E */ lh $t2, 0x108e($v0)
/* B36AB8 800BF918 51400006 */ beql $t2, $zero, .L800BF934
/* B36ABC 800BF91C 844B0190 */ lh $t3, 0x190($v0)
@ -787,10 +787,10 @@ glabel Gameplay_Draw
/* B36AD0 800BF930 844B0190 */ lh $t3, 0x190($v0)
.L800BF934:
/* B36AD4 800BF934 24010001 */ li $at, 1
/* B36AD8 800BF938 3C0D8016 */ lui $t5, %hi(D_80161490) # $t5, 0x8016
/* B36AD8 800BF938 3C0D8016 */ lui $t5, %hi(gTrnsnUnkState) # $t5, 0x8016
/* B36ADC 800BF93C 11610005 */ beq $t3, $at, .L800BF954
/* B36AE0 800BF940 3C0F8017 */ lui $t7, %hi(D_801759C0) # $t7, 0x8017
/* B36AE4 800BF944 8DAD1490 */ lw $t5, %lo(D_80161490)($t5)
/* B36AE4 800BF944 8DAD1490 */ lw $t5, %lo(gTrnsnUnkState)($t5)
/* B36AE8 800BF948 24010001 */ li $at, 1
/* B36AEC 800BF94C 55A10030 */ bnel $t5, $at, .L800BFA10
/* B36AF0 800BF950 84431074 */ lh $v1, 0x1074($v0)
@ -815,7 +815,7 @@ glabel Gameplay_Draw
/* B36B38 800BF998 87090190 */ lh $t1, 0x190($t8)
/* B36B3C 800BF99C 240D0002 */ li $t5, 2
/* B36B40 800BF9A0 1521000C */ bne $t1, $at, .L800BF9D4
/* B36B44 800BF9A4 00000000 */ nop
/* B36B44 800BF9A4 00000000 */ nop
/* B36B48 800BF9A8 8E3902DC */ lw $t9, 0x2dc($s1)
/* B36B4C 800BF9AC 3C010001 */ lui $at, 1
/* B36B50 800BF9B0 00300821 */ addu $at, $at, $s0
@ -828,8 +828,8 @@ glabel Gameplay_Draw
/* B36B6C 800BF9CC 10000003 */ b .L800BF9DC
/* B36B70 800BF9D0 A56A0190 */ sh $t2, 0x190($t3)
.L800BF9D4:
/* B36B74 800BF9D4 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B36B78 800BF9D8 AC2D1490 */ sw $t5, %lo(D_80161490)($at)
/* B36B74 800BF9D4 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B36B78 800BF9D8 AC2D1490 */ sw $t5, %lo(gTrnsnUnkState)($at)
.L800BF9DC:
/* B36B7C 800BF9DC 8FAC0070 */ lw $t4, 0x70($sp)
/* B36B80 800BF9E0 3C010001 */ lui $at, 1
@ -847,7 +847,7 @@ glabel Gameplay_Draw
.L800BFA10:
/* B36BB0 800BFA10 2401000A */ li $at, 10
/* B36BB4 800BFA14 14610004 */ bne $v1, $at, .L800BFA28
/* B36BB8 800BFA18 00000000 */ nop
/* B36BB8 800BFA18 00000000 */ nop
/* B36BBC 800BFA1C 84491086 */ lh $t1, 0x1086($v0)
/* B36BC0 800BFA20 51200004 */ beql $t1, $zero, .L800BFA34
/* B36BC4 800BFA24 8E1901DC */ lw $t9, 0x1dc($s0)

View File

@ -392,8 +392,8 @@ glabel Gameplay_Init
/* B34124 800BCF84 00003825 */ move $a3, $zero
/* B34128 800BCF88 0C0303B6 */ jal func_800C0ED8
/* B3412C 800BCF8C AFA00010 */ sw $zero, 0x10($sp)
/* B34130 800BCF90 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B34134 800BCF94 AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B34130 800BCF90 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B34134 800BCF94 AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
/* B34138 800BCF98 3C010001 */ lui $at, 1
/* B3413C 800BCF9C 00310821 */ addu $at, $at, $s1
/* B34140 800BCFA0 A020241B */ sb $zero, 0x241b($at)
@ -463,16 +463,16 @@ glabel Gameplay_Init
/* B34234 800BD094 3C010001 */ lui $at, (0x0001241C >> 16) # lui $at, 1
/* B34238 800BD098 3421241C */ ori $at, (0x0001241C & 0xFFFF) # ori $at, $at, 0x241c
/* B3423C 800BD09C 02218021 */ addu $s0, $s1, $at
/* B34240 800BD0A0 0C02CD4E */ jal func_800B3538
/* B34240 800BD0A0 0C02CD4E */ jal TransitionFade_Init
/* B34244 800BD0A4 02002025 */ move $a0, $s0
/* B34248 800BD0A8 02002025 */ move $a0, $s0
/* B3424C 800BD0AC 0C02CDFB */ jal func_800B37EC
/* B3424C 800BD0AC 0C02CDFB */ jal TransitionFade_SetType
/* B34250 800BD0B0 24050003 */ li $a1, 3
/* B34254 800BD0B4 3C05A0A0 */ lui $a1, (0xA0A0A0FF >> 16) # lui $a1, 0xa0a0
/* B34258 800BD0B8 34A5A0FF */ ori $a1, (0xA0A0A0FF & 0xFFFF) # ori $a1, $a1, 0xa0ff
/* B3425C 800BD0BC 0C02CDF9 */ jal func_800B37E4
/* B3425C 800BD0BC 0C02CDF9 */ jal TransitionFade_SetColor
/* B34260 800BD0C0 02002025 */ move $a0, $s0
/* B34264 800BD0C4 0C02CD38 */ jal func_800B34E0
/* B34264 800BD0C4 0C02CD38 */ jal TransitionFade_Start
/* B34268 800BD0C8 02002025 */ move $a0, $s0
/* B3426C 800BD0CC 3C048016 */ lui $a0, %hi(D_80161498) # $a0, 0x8016
/* B34270 800BD0D0 0C02B400 */ jal func_800AD000

View File

@ -497,7 +497,7 @@ glabel Gameplay_Update
/* B3465C 800BD4BC 1040059C */ beqz $v0, .L800BEB30
/* B34660 800BD4C0 00000000 */ nop
/* B34664 800BD4C4 9229241B */ lbu $t1, 0x241b($s1)
/* B34668 800BD4C8 3C028016 */ lui $v0, %hi(D_80161490) # $v0, 0x8016
/* B34668 800BD4C8 3C028016 */ lui $v0, %hi(gTrnsnUnkState) # $v0, 0x8016
/* B3466C 800BD4CC 15200007 */ bnez $t1, .L800BD4EC
/* B34670 800BD4D0 00000000 */ nop
/* B34674 800BD4D4 822A1E15 */ lb $t2, 0x1e15($s1)
@ -507,45 +507,45 @@ glabel Gameplay_Update
/* B34684 800BD4E4 240B0001 */ li $t3, 1
/* B34688 800BD4E8 A02B241B */ sb $t3, 0x241b($at)
.L800BD4EC:
/* B3468C 800BD4EC 8C421490 */ lw $v0, %lo(D_80161490)($v0)
/* B3468C 800BD4EC 8C421490 */ lw $v0, %lo(gTrnsnUnkState)($v0)
/* B34690 800BD4F0 24010002 */ li $at, 2
/* B34694 800BD4F4 50400022 */ beql $v0, $zero, .L800BD580
/* B34698 800BD4F8 9224241B */ lbu $a0, 0x241b($s1)
/* B3469C 800BD4FC 10410006 */ beq $v0, $at, .L800BD518
/* B346A0 800BD500 3C048016 */ lui $a0, %hi(D_801613B0)
/* B346A0 800BD500 3C048016 */ lui $a0, %hi(sTrnsnUnk)
/* B346A4 800BD504 24010003 */ li $at, 3
/* B346A8 800BD508 1041001A */ beq $v0, $at, .L800BD574
/* B346AC 800BD50C 3C048016 */ lui $a0, %hi(D_801613B0) # $a0, 0x8016
/* B346AC 800BD50C 3C048016 */ lui $a0, %hi(sTrnsnUnk) # $a0, 0x8016
/* B346B0 800BD510 1000001B */ b .L800BD580
/* B346B4 800BD514 9224241B */ lbu $a0, 0x241b($s1)
.L800BD518:
/* B346B8 800BD518 248413B0 */ addiu $a0, %lo(D_801613B0) # addiu $a0, $a0, 0x13b0
/* B346B8 800BD518 248413B0 */ addiu $a0, %lo(sTrnsnUnk) # addiu $a0, $a0, 0x13b0
/* B346BC 800BD51C 2405000A */ li $a1, 10
/* B346C0 800BD520 0C02C7A1 */ jal func_800B1E84
/* B346C0 800BD520 0C02C7A1 */ jal TransitionUnk_Init
/* B346C4 800BD524 24060007 */ li $a2, 7
/* B346C8 800BD528 14400007 */ bnez $v0, .L800BD548
/* B346CC 800BD52C 3C0C8017 */ lui $t4, %hi(D_801759C0) # $t4, 0x8017
/* B346D0 800BD530 3C048014 */ lui $a0, %hi(D_80144300) # $a0, 0x8014
/* B346D4 800BD534 0C00084C */ jal osSyncPrintf
/* B346D8 800BD538 24844300 */ addiu $a0, %lo(D_80144300) # addiu $a0, $a0, 0x4300
/* B346DC 800BD53C 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B346DC 800BD53C 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B346E0 800BD540 1000000E */ b .L800BD57C
/* B346E4 800BD544 AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B346E4 800BD544 AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
.L800BD548:
/* B346E8 800BD548 258C59C0 */ addiu $t4, %lo(D_801759C0) # addiu $t4, $t4, 0x59c0
/* B346EC 800BD54C 3C018016 */ lui $at, %hi(D_801613B0+0xdc) # $at, 0x8016
/* B346F0 800BD550 AC2C148C */ sw $t4, %lo(D_801613B0+0xdc)($at)
/* B346EC 800BD54C 3C018016 */ lui $at, %hi(sTrnsnUnk+0xdc) # $at, 0x8016
/* B346F0 800BD550 AC2C148C */ sw $t4, %lo(sTrnsnUnk+0xdc)($at)
/* B346F4 800BD554 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* B346F8 800BD558 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* B346FC 800BD55C 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B346FC 800BD55C 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B34700 800BD560 240D0003 */ li $t5, 3
/* B34704 800BD564 AC2D1490 */ sw $t5, %lo(D_80161490)($at)
/* B34704 800BD564 AC2D1490 */ sw $t5, %lo(gTrnsnUnkState)($at)
/* B34708 800BD568 240E0001 */ li $t6, 1
/* B3470C 800BD56C 10000003 */ b .L800BD57C
/* B34710 800BD570 A5EE0110 */ sh $t6, 0x110($t7)
.L800BD574:
/* B34714 800BD574 0C02C8FA */ jal func_800B23E8
/* B34718 800BD578 248413B0 */ addiu $a0, $a0, %lo(D_801613B0)
/* B34718 800BD578 248413B0 */ addiu $a0, $a0, %lo(sTrnsnUnk)
.L800BD57C:
/* B3471C 800BD57C 9224241B */ lbu $a0, 0x241b($s1)
.L800BD580:
@ -880,18 +880,18 @@ glabel Gameplay_Update
/* B34BD4 800BDA34 3C010001 */ lui $at, 1
/* B34BD8 800BDA38 00300821 */ addu $at, $at, $s0
/* B34BDC 800BDA3C A020241B */ sb $zero, 0x241b($at)
/* B34BE0 800BDA40 3C0E8016 */ lui $t6, %hi(D_80161490) # $t6, 0x8016
/* B34BE4 800BDA44 8DCE1490 */ lw $t6, %lo(D_80161490)($t6)
/* B34BE0 800BDA40 3C0E8016 */ lui $t6, %hi(gTrnsnUnkState) # $t6, 0x8016
/* B34BE4 800BDA44 8DCE1490 */ lw $t6, %lo(gTrnsnUnkState)($t6)
/* B34BE8 800BDA48 24010003 */ li $at, 3
/* B34BEC 800BDA4C 3C048016 */ lui $a0, %hi(D_801613B0) # $a0, 0x8016
/* B34BEC 800BDA4C 3C048016 */ lui $a0, %hi(sTrnsnUnk) # $a0, 0x8016
/* B34BF0 800BDA50 55C1000A */ bnel $t6, $at, .L800BDA7C
/* B34BF4 800BDA54 3C010001 */ lui $at, 1
/* B34BF8 800BDA58 0C02C76F */ jal func_800B1DBC
/* B34BFC 800BDA5C 248413B0 */ addiu $a0, %lo(D_801613B0) # addiu $a0, $a0, 0x13b0
/* B34BF8 800BDA58 0C02C76F */ jal TransitionUnk_Destroy
/* B34BFC 800BDA5C 248413B0 */ addiu $a0, %lo(sTrnsnUnk) # addiu $a0, $a0, 0x13b0
/* B34C00 800BDA60 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* B34C04 800BDA64 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* B34C08 800BDA68 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B34C0C 800BDA6C AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B34C08 800BDA68 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B34C0C 800BDA6C AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
/* B34C10 800BDA70 240F0003 */ li $t7, 3
/* B34C14 800BDA74 A70F0110 */ sh $t7, 0x110($t8)
.L800BDA78:
@ -1080,8 +1080,8 @@ glabel L800BDC40
/* B34EB0 800BDD10 1420000F */ bnez $at, .L800BDD50
/* B34EB4 800BDD14 24590001 */ addiu $t9, $v0, 1
/* B34EB8 800BDD18 8D29FA90 */ lw $t1, %lo(gGameInfo)($t1)
/* B34EBC 800BDD1C 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B34EC0 800BDD20 AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B34EBC 800BDD1C 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B34EC0 800BDD20 AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
/* B34EC4 800BDD24 3C010001 */ lui $at, 1
/* B34EC8 800BDD28 00300821 */ addu $at, $at, $s0
/* B34ECC 800BDD2C A5380110 */ sh $t8, 0x110($t1)
@ -1152,8 +1152,8 @@ glabel L800BDDCC
/* B34FC0 800BDE20 A020241B */ sb $zero, 0x241b($at)
.L800BDE24:
/* B34FC4 800BDE24 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* B34FC8 800BDE28 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B34FCC 800BDE2C AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B34FC8 800BDE28 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B34FCC 800BDE2C AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
/* B34FD0 800BDE30 3C010001 */ lui $at, 1
/* B34FD4 800BDE34 00300821 */ addu $at, $at, $s0
/* B34FD8 800BDE38 A58B0110 */ sh $t3, 0x110($t4)
@ -1224,8 +1224,8 @@ glabel L800BDEE0
/* B350CC 800BDF2C 10200086 */ beqz $at, .L800BE148
/* B350D0 800BDF30 00000000 */ nop
/* B350D4 800BDF34 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* B350D8 800BDF38 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B350DC 800BDF3C AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B350D8 800BDF38 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B350DC 800BDF3C AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
/* B350E0 800BDF40 3C010001 */ lui $at, 1
/* B350E4 800BDF44 00300821 */ addu $at, $at, $s0
/* B350E8 800BDF48 A70F0110 */ sh $t7, 0x110($t8)
@ -1307,12 +1307,12 @@ glabel L800BE034
/* B35208 800BE068 17010037 */ bne $t8, $at, .L800BE148
/* B3520C 800BE06C 00000000 */ nop
/* B35210 800BE070 92290B0B */ lbu $t1, 0xb0b($s1)
/* B35214 800BE074 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B35214 800BE074 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B35218 800BE078 24190003 */ li $t9, 3
/* B3521C 800BE07C 1D200032 */ bgtz $t1, .L800BE148
/* B35220 800BE080 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* B35224 800BE084 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* B35228 800BE088 AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B35228 800BE088 AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
/* B3522C 800BE08C 3C010001 */ lui $at, 1
/* B35230 800BE090 00300821 */ addu $at, $at, $s0
/* B35234 800BE094 A5590110 */ sh $t9, 0x110($t2)
@ -1353,8 +1353,8 @@ glabel L800BE0F0
/* B352B8 800BE118 1020000B */ beqz $at, .L800BE148
/* B352BC 800BE11C 00000000 */ nop
/* B352C0 800BE120 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* B352C4 800BE124 3C018016 */ lui $at, %hi(D_80161490) # $at, 0x8016
/* B352C8 800BE128 AC201490 */ sw $zero, %lo(D_80161490)($at)
/* B352C4 800BE124 3C018016 */ lui $at, %hi(gTrnsnUnkState) # $at, 0x8016
/* B352C8 800BE128 AC201490 */ sw $zero, %lo(gTrnsnUnkState)($at)
/* B352CC 800BE12C 3C010001 */ lui $at, 1
/* B352D0 800BE130 00300821 */ addu $at, $at, $s0
/* B352D4 800BE134 A70F0110 */ sh $t7, 0x110($t8)
@ -1381,8 +1381,8 @@ glabel L800BE148
/* B35320 800BE180 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* B35324 800BE184 87241052 */ lh $a0, 0x1052($t9)
.L800BE188:
/* B35328 800BE188 3C028016 */ lui $v0, %hi(D_80161490) # $v0, 0x8016
/* B3532C 800BE18C 8C421490 */ lw $v0, %lo(D_80161490)($v0)
/* B35328 800BE188 3C028016 */ lui $v0, %hi(gTrnsnUnkState) # $v0, 0x8016
/* B3532C 800BE18C 8C421490 */ lw $v0, %lo(gTrnsnUnkState)($v0)
/* B35330 800BE190 24010003 */ li $at, 3
/* B35334 800BE194 10410276 */ beq $v0, $at, .L800BEB70
/* B35338 800BE198 00000000 */ nop
@ -2045,7 +2045,7 @@ glabel L800BE148
.L800BEB20:
/* B35CC0 800BEB20 3421241C */ ori $at, (0x0001241C & 0xFFFF) # ori $at, $at, 0x241c
/* B35CC4 800BEB24 02012021 */ addu $a0, $s0, $at
/* B35CC8 800BEB28 0C02CD5A */ jal func_800B3568
/* B35CC8 800BEB28 0C02CD5A */ jal TransitionFade_Update
/* B35CCC 800BEB2C 84450110 */ lh $a1, 0x110($v0)
.L800BEB30:
/* B35CD0 800BEB30 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016

View File

@ -46,24 +46,24 @@ glabel func_800BC5E0
/* B337BC 800BC61C 00027143 */ sra $t6, $v0, 5
/* B337C0 800BC620 15C1001D */ bne $t6, $at, .L800BC698
/* B337C4 800BC624 AC820228 */ sw $v0, 0x228($a0)
/* B337C8 800BC628 3C0F800B */ lui $t7, %hi(func_800B301C) # $t7, 0x800b
/* B337CC 800BC62C 3C18800B */ lui $t8, %hi(func_800B3044) # $t8, 0x800b
/* B337D0 800BC630 3C19800B */ lui $t9, %hi(func_800B2E30) # $t9, 0x800b
/* B337D4 800BC634 3C08800B */ lui $t0, %hi(func_800B346C) # $t0, 0x800b
/* B337D8 800BC638 3C09800B */ lui $t1, %hi(func_800B31D0) # $t1, 0x800b
/* B337DC 800BC63C 3C0A800B */ lui $t2, %hi(func_800B304C) # $t2, 0x800b
/* B337E0 800BC640 3C0B800B */ lui $t3, %hi(func_800B3474) # $t3, 0x800b
/* B337E4 800BC644 3C0C800B */ lui $t4, %hi(func_800B34CC) # $t4, 0x800b
/* B337E8 800BC648 3C0D800B */ lui $t5, %hi(func_800B34D4) # $t5, 0x800b
/* B337EC 800BC64C 25EF301C */ addiu $t7, %lo(func_800B301C) # addiu $t7, $t7, 0x301c
/* B337F0 800BC650 27183044 */ addiu $t8, %lo(func_800B3044) # addiu $t8, $t8, 0x3044
/* B337F4 800BC654 27392E30 */ addiu $t9, %lo(func_800B2E30) # addiu $t9, $t9, 0x2e30
/* B337F8 800BC658 2508346C */ addiu $t0, %lo(func_800B346C) # addiu $t0, $t0, 0x346c
/* B337FC 800BC65C 252931D0 */ addiu $t1, %lo(func_800B31D0) # addiu $t1, $t1, 0x31d0
/* B33800 800BC660 254A304C */ addiu $t2, %lo(func_800B304C) # addiu $t2, $t2, 0x304c
/* B33804 800BC664 256B3474 */ addiu $t3, %lo(func_800B3474) # addiu $t3, $t3, 0x3474
/* B33808 800BC668 258C34CC */ addiu $t4, %lo(func_800B34CC) # addiu $t4, $t4, 0x34cc
/* B3380C 800BC66C 25AD34D4 */ addiu $t5, %lo(func_800B34D4) # addiu $t5, $t5, 0x34d4
/* B337C8 800BC628 3C0F800B */ lui $t7, %hi(TransitionCircle_Init) # $t7, 0x800b
/* B337CC 800BC62C 3C18800B */ lui $t8, %hi(TransitionCircle_Destroy) # $t8, 0x800b
/* B337D0 800BC630 3C19800B */ lui $t9, %hi(TransitionCircle_Start) # $t9, 0x800b
/* B337D4 800BC634 3C08800B */ lui $t0, %hi(TransitionCircle_IsDone) # $t0, 0x800b
/* B337D8 800BC638 3C09800B */ lui $t1, %hi(TransitionCircle_Draw) # $t1, 0x800b
/* B337DC 800BC63C 3C0A800B */ lui $t2, %hi(TransitionCircle_Update) # $t2, 0x800b
/* B337E0 800BC640 3C0B800B */ lui $t3, %hi(TransitionCircle_SetType) # $t3, 0x800b
/* B337E4 800BC644 3C0C800B */ lui $t4, %hi(TransitionCircle_SetColor) # $t4, 0x800b
/* B337E8 800BC648 3C0D800B */ lui $t5, %hi(TransitionCircle_SetEnvColor) # $t5, 0x800b
/* B337EC 800BC64C 25EF301C */ addiu $t7, %lo(TransitionCircle_Init) # addiu $t7, $t7, 0x301c
/* B337F0 800BC650 27183044 */ addiu $t8, %lo(TransitionCircle_Destroy) # addiu $t8, $t8, 0x3044
/* B337F4 800BC654 27392E30 */ addiu $t9, %lo(TransitionCircle_Start) # addiu $t9, $t9, 0x2e30
/* B337F8 800BC658 2508346C */ addiu $t0, %lo(TransitionCircle_IsDone) # addiu $t0, $t0, 0x346c
/* B337FC 800BC65C 252931D0 */ addiu $t1, %lo(TransitionCircle_Draw) # addiu $t1, $t1, 0x31d0
/* B33800 800BC660 254A304C */ addiu $t2, %lo(TransitionCircle_Update) # addiu $t2, $t2, 0x304c
/* B33804 800BC664 256B3474 */ addiu $t3, %lo(TransitionCircle_SetType) # addiu $t3, $t3, 0x3474
/* B33808 800BC668 258C34CC */ addiu $t4, %lo(TransitionCircle_SetColor) # addiu $t4, $t4, 0x34cc
/* B3380C 800BC66C 25AD34D4 */ addiu $t5, %lo(TransitionCircle_SetEnvColor) # addiu $t5, $t5, 0x34d4
/* B33810 800BC670 AC8F022C */ sw $t7, 0x22c($a0)
/* B33814 800BC674 AC980230 */ sw $t8, 0x230($a0)
/* B33818 800BC678 AC99023C */ sw $t9, 0x23c($a0)
@ -84,24 +84,24 @@ glabel func_800BC5E0
/* B33850 800BC6B0 002E0821 */ addu $at, $at, $t6
/* B33854 800BC6B4 8C2E4980 */ lw $t6, %lo(jtbl_80144980)($at)
/* B33858 800BC6B8 01C00008 */ jr $t6
/* B3385C 800BC6BC 00000000 */ nop
/* B3385C 800BC6BC 00000000 */ nop
glabel L800BC6C0
/* B33860 800BC6C0 3C0F800B */ lui $t7, %hi(func_800B2438) # $t7, 0x800b
/* B33864 800BC6C4 3C18800B */ lui $t8, %hi(func_800B24D0) # $t8, 0x800b
/* B33868 800BC6C8 3C19800B */ lui $t9, %hi(func_800B2400) # $t9, 0x800b
/* B3386C 800BC6CC 3C08800B */ lui $t0, %hi(func_800B2944) # $t0, 0x800b
/* B33870 800BC6D0 3C09800B */ lui $t1, %hi(func_800B2604) # $t1, 0x800b
/* B33874 800BC6D4 3C0A800B */ lui $t2, %hi(func_800B24D8) # $t2, 0x800b
/* B33878 800BC6D8 3C0B800B */ lui $t3, %hi(func_800B25F4) # $t3, 0x800b
/* B3387C 800BC6DC 3C0C800B */ lui $t4, %hi(func_800B25EC) # $t4, 0x800b
/* B33880 800BC6E0 25EF2438 */ addiu $t7, %lo(func_800B2438) # addiu $t7, $t7, 0x2438
/* B33884 800BC6E4 271824D0 */ addiu $t8, %lo(func_800B24D0) # addiu $t8, $t8, 0x24d0
/* B33888 800BC6E8 27392400 */ addiu $t9, %lo(func_800B2400) # addiu $t9, $t9, 0x2400
/* B3388C 800BC6EC 25082944 */ addiu $t0, %lo(func_800B2944) # addiu $t0, $t0, 0x2944
/* B33890 800BC6F0 25292604 */ addiu $t1, %lo(func_800B2604) # addiu $t1, $t1, 0x2604
/* B33894 800BC6F4 254A24D8 */ addiu $t2, %lo(func_800B24D8) # addiu $t2, $t2, 0x24d8
/* B33898 800BC6F8 256B25F4 */ addiu $t3, %lo(func_800B25F4) # addiu $t3, $t3, 0x25f4
/* B3389C 800BC6FC 258C25EC */ addiu $t4, %lo(func_800B25EC) # addiu $t4, $t4, 0x25ec
/* B33860 800BC6C0 3C0F800B */ lui $t7, %hi(TransitionTriforce_Init) # $t7, 0x800b
/* B33864 800BC6C4 3C18800B */ lui $t8, %hi(TransitionTriforce_Destroy) # $t8, 0x800b
/* B33868 800BC6C8 3C19800B */ lui $t9, %hi(TransitionTriforce_Start) # $t9, 0x800b
/* B3386C 800BC6CC 3C08800B */ lui $t0, %hi(TransitionTriforce_IsDone) # $t0, 0x800b
/* B33870 800BC6D0 3C09800B */ lui $t1, %hi(TransitionTriforce_Draw) # $t1, 0x800b
/* B33874 800BC6D4 3C0A800B */ lui $t2, %hi(TransitionTriforce_Update) # $t2, 0x800b
/* B33878 800BC6D8 3C0B800B */ lui $t3, %hi(TransitionTriforce_SetType) # $t3, 0x800b
/* B3387C 800BC6DC 3C0C800B */ lui $t4, %hi(TransitionTriforce_SetColor) # $t4, 0x800b
/* B33880 800BC6E0 25EF2438 */ addiu $t7, %lo(TransitionTriforce_Init) # addiu $t7, $t7, 0x2438
/* B33884 800BC6E4 271824D0 */ addiu $t8, %lo(TransitionTriforce_Destroy) # addiu $t8, $t8, 0x24d0
/* B33888 800BC6E8 27392400 */ addiu $t9, %lo(TransitionTriforce_Start) # addiu $t9, $t9, 0x2400
/* B3388C 800BC6EC 25082944 */ addiu $t0, %lo(TransitionTriforce_IsDone) # addiu $t0, $t0, 0x2944
/* B33890 800BC6F0 25292604 */ addiu $t1, %lo(TransitionTriforce_Draw) # addiu $t1, $t1, 0x2604
/* B33894 800BC6F4 254A24D8 */ addiu $t2, %lo(TransitionTriforce_Update) # addiu $t2, $t2, 0x24d8
/* B33898 800BC6F8 256B25F4 */ addiu $t3, %lo(TransitionTriforce_SetType) # addiu $t3, $t3, 0x25f4
/* B3389C 800BC6FC 258C25EC */ addiu $t4, %lo(TransitionTriforce_SetColor) # addiu $t4, $t4, 0x25ec
/* B338A0 800BC700 AC8F022C */ sw $t7, 0x22c($a0)
/* B338A4 800BC704 AC980230 */ sw $t8, 0x230($a0)
/* B338A8 800BC708 AC99023C */ sw $t9, 0x23c($a0)
@ -113,22 +113,22 @@ glabel L800BC6C0
/* B338C0 800BC720 10000056 */ b .L800BC87C
/* B338C4 800BC724 AC800248 */ sw $zero, 0x248($a0)
glabel L800BC728
/* B338C8 800BC728 3C0D800B */ lui $t5, %hi(func_800B2A88) # $t5, 0x800b
/* B338CC 800BC72C 3C0E800B */ lui $t6, %hi(func_800B2AB0) # $t6, 0x800b
/* B338D0 800BC730 3C0F800B */ lui $t7, %hi(func_800B29D0) # $t7, 0x800b
/* B338D4 800BC734 3C18800B */ lui $t8, %hi(func_800B2DD4) # $t8, 0x800b
/* B338D8 800BC738 3C19800B */ lui $t9, %hi(func_800B2B98) # $t9, 0x800b
/* B338DC 800BC73C 3C08800B */ lui $t0, %hi(func_800B2AB8) # $t0, 0x800b
/* B338E0 800BC740 3C09800B */ lui $t1, %hi(func_800B2DDC) # $t1, 0x800b
/* B338E4 800BC744 3C0A800B */ lui $t2, %hi(func_800B2E1C) # $t2, 0x800b
/* B338E8 800BC748 25AD2A88 */ addiu $t5, %lo(func_800B2A88) # addiu $t5, $t5, 0x2a88
/* B338EC 800BC74C 25CE2AB0 */ addiu $t6, %lo(func_800B2AB0) # addiu $t6, $t6, 0x2ab0
/* B338F0 800BC750 25EF29D0 */ addiu $t7, %lo(func_800B29D0) # addiu $t7, $t7, 0x29d0
/* B338F4 800BC754 27182DD4 */ addiu $t8, %lo(func_800B2DD4) # addiu $t8, $t8, 0x2dd4
/* B338F8 800BC758 27392B98 */ addiu $t9, %lo(func_800B2B98) # addiu $t9, $t9, 0x2b98
/* B338FC 800BC75C 25082AB8 */ addiu $t0, %lo(func_800B2AB8) # addiu $t0, $t0, 0x2ab8
/* B33900 800BC760 25292DDC */ addiu $t1, %lo(func_800B2DDC) # addiu $t1, $t1, 0x2ddc
/* B33904 800BC764 254A2E1C */ addiu $t2, %lo(func_800B2E1C) # addiu $t2, $t2, 0x2e1c
/* B338C8 800BC728 3C0D800B */ lui $t5, %hi(TransitionWipe_Init) # $t5, 0x800b
/* B338CC 800BC72C 3C0E800B */ lui $t6, %hi(TransitionWipe_Destroy) # $t6, 0x800b
/* B338D0 800BC730 3C0F800B */ lui $t7, %hi(TransitionWipe_Start) # $t7, 0x800b
/* B338D4 800BC734 3C18800B */ lui $t8, %hi(TransitionWipe_IsDone) # $t8, 0x800b
/* B338D8 800BC738 3C19800B */ lui $t9, %hi(TransitionWipe_Draw) # $t9, 0x800b
/* B338DC 800BC73C 3C08800B */ lui $t0, %hi(TransitionWipe_Update) # $t0, 0x800b
/* B338E0 800BC740 3C09800B */ lui $t1, %hi(TransitionWipe_SetType) # $t1, 0x800b
/* B338E4 800BC744 3C0A800B */ lui $t2, %hi(TransitionWipe_SetColor) # $t2, 0x800b
/* B338E8 800BC748 25AD2A88 */ addiu $t5, %lo(TransitionWipe_Init) # addiu $t5, $t5, 0x2a88
/* B338EC 800BC74C 25CE2AB0 */ addiu $t6, %lo(TransitionWipe_Destroy) # addiu $t6, $t6, 0x2ab0
/* B338F0 800BC750 25EF29D0 */ addiu $t7, %lo(TransitionWipe_Start) # addiu $t7, $t7, 0x29d0
/* B338F4 800BC754 27182DD4 */ addiu $t8, %lo(TransitionWipe_IsDone) # addiu $t8, $t8, 0x2dd4
/* B338F8 800BC758 27392B98 */ addiu $t9, %lo(TransitionWipe_Draw) # addiu $t9, $t9, 0x2b98
/* B338FC 800BC75C 25082AB8 */ addiu $t0, %lo(TransitionWipe_Update) # addiu $t0, $t0, 0x2ab8
/* B33900 800BC760 25292DDC */ addiu $t1, %lo(TransitionWipe_SetType) # addiu $t1, $t1, 0x2ddc
/* B33904 800BC764 254A2E1C */ addiu $t2, %lo(TransitionWipe_SetColor) # addiu $t2, $t2, 0x2e1c
/* B33908 800BC768 AC8D022C */ sw $t5, 0x22c($a0)
/* B3390C 800BC76C AC8E0230 */ sw $t6, 0x230($a0)
/* B33910 800BC770 AC8F023C */ sw $t7, 0x23c($a0)
@ -140,22 +140,22 @@ glabel L800BC728
/* B33928 800BC788 1000003C */ b .L800BC87C
/* B3392C 800BC78C AC800248 */ sw $zero, 0x248($a0)
glabel L800BC790
/* B33930 800BC790 3C0B800B */ lui $t3, %hi(func_800B3538) # $t3, 0x800b
/* B33934 800BC794 3C0C800B */ lui $t4, %hi(func_800B3560) # $t4, 0x800b
/* B33938 800BC798 3C0D800B */ lui $t5, %hi(func_800B34E0) # $t5, 0x800b
/* B3393C 800BC79C 3C0E800B */ lui $t6, %hi(func_800B37DC) # $t6, 0x800b
/* B33940 800BC7A0 3C0F800B */ lui $t7, %hi(func_800B3718) # $t7, 0x800b
/* B33944 800BC7A4 3C18800B */ lui $t8, %hi(func_800B3568) # $t8, 0x800b
/* B33948 800BC7A8 3C19800B */ lui $t9, %hi(func_800B37EC) # $t9, 0x800b
/* B3394C 800BC7AC 3C08800B */ lui $t0, %hi(func_800B37E4) # $t0, 0x800b
/* B33950 800BC7B0 256B3538 */ addiu $t3, %lo(func_800B3538) # addiu $t3, $t3, 0x3538
/* B33954 800BC7B4 258C3560 */ addiu $t4, %lo(func_800B3560) # addiu $t4, $t4, 0x3560
/* B33958 800BC7B8 25AD34E0 */ addiu $t5, %lo(func_800B34E0) # addiu $t5, $t5, 0x34e0
/* B3395C 800BC7BC 25CE37DC */ addiu $t6, %lo(func_800B37DC) # addiu $t6, $t6, 0x37dc
/* B33960 800BC7C0 25EF3718 */ addiu $t7, %lo(func_800B3718) # addiu $t7, $t7, 0x3718
/* B33964 800BC7C4 27183568 */ addiu $t8, %lo(func_800B3568) # addiu $t8, $t8, 0x3568
/* B33968 800BC7C8 273937EC */ addiu $t9, %lo(func_800B37EC) # addiu $t9, $t9, 0x37ec
/* B3396C 800BC7CC 250837E4 */ addiu $t0, %lo(func_800B37E4) # addiu $t0, $t0, 0x37e4
/* B33930 800BC790 3C0B800B */ lui $t3, %hi(TransitionFade_Init) # $t3, 0x800b
/* B33934 800BC794 3C0C800B */ lui $t4, %hi(TransitionFade_Destroy) # $t4, 0x800b
/* B33938 800BC798 3C0D800B */ lui $t5, %hi(TransitionFade_Start) # $t5, 0x800b
/* B3393C 800BC79C 3C0E800B */ lui $t6, %hi(TransitionFade_IsDone) # $t6, 0x800b
/* B33940 800BC7A0 3C0F800B */ lui $t7, %hi(TransitionFade_Draw) # $t7, 0x800b
/* B33944 800BC7A4 3C18800B */ lui $t8, %hi(TransitionFade_Update) # $t8, 0x800b
/* B33948 800BC7A8 3C19800B */ lui $t9, %hi(TransitionFade_SetType) # $t9, 0x800b
/* B3394C 800BC7AC 3C08800B */ lui $t0, %hi(TransitionFade_SetColor) # $t0, 0x800b
/* B33950 800BC7B0 256B3538 */ addiu $t3, %lo(TransitionFade_Init) # addiu $t3, $t3, 0x3538
/* B33954 800BC7B4 258C3560 */ addiu $t4, %lo(TransitionFade_Destroy) # addiu $t4, $t4, 0x3560
/* B33958 800BC7B8 25AD34E0 */ addiu $t5, %lo(TransitionFade_Start) # addiu $t5, $t5, 0x34e0
/* B3395C 800BC7BC 25CE37DC */ addiu $t6, %lo(TransitionFade_IsDone) # addiu $t6, $t6, 0x37dc
/* B33960 800BC7C0 25EF3718 */ addiu $t7, %lo(TransitionFade_Draw) # addiu $t7, $t7, 0x3718
/* B33964 800BC7C4 27183568 */ addiu $t8, %lo(TransitionFade_Update) # addiu $t8, $t8, 0x3568
/* B33968 800BC7C8 273937EC */ addiu $t9, %lo(TransitionFade_SetType) # addiu $t9, $t9, 0x37ec
/* B3396C 800BC7CC 250837E4 */ addiu $t0, %lo(TransitionFade_SetColor) # addiu $t0, $t0, 0x37e4
/* B33970 800BC7D0 AC8B022C */ sw $t3, 0x22c($a0)
/* B33974 800BC7D4 AC8C0230 */ sw $t4, 0x230($a0)
/* B33978 800BC7D8 AC8D023C */ sw $t5, 0x23c($a0)
@ -210,5 +210,5 @@ glabel L800BC85C
/* B33A1C 800BC87C 8FBF0014 */ lw $ra, 0x14($sp)
/* B33A20 800BC880 27BD0020 */ addiu $sp, $sp, 0x20
/* B33A24 800BC884 03E00008 */ jr $ra
/* B33A28 800BC888 00000000 */ nop
/* B33A28 800BC888 00000000 */ nop

View File

@ -312,7 +312,7 @@ glabel func_80091A24
/* B09074 80091ED4 E7A00024 */ swc1 $f0, 0x24($sp)
/* B09078 80091ED8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* B0907C 80091EDC E7A60020 */ swc1 $f6, 0x20($sp)
/* B09080 80091EE0 0C04078D */ jal guLookAtReflect
/* B09080 80091EE0 0C04078D */ jal guLookAt
/* B09084 80091EE4 E7A40018 */ swc1 $f4, 0x18($sp)
/* B09088 80091EE8 8FA30114 */ lw $v1, 0x114($sp)
/* B0908C 80091EEC 3C0FDA38 */ lui $t7, (0xDA380005 >> 16) # lui $t7, 0xda38
@ -466,5 +466,5 @@ glabel func_80091A24
/* B092DC 8009213C 8FBF0034 */ lw $ra, 0x34($sp)
/* B092E0 80092140 27BD0130 */ addiu $sp, $sp, 0x130
/* B092E4 80092144 03E00008 */ jr $ra
/* B092E8 80092148 00000000 */ nop
/* B092E8 80092148 00000000 */ nop

View File

@ -90,7 +90,7 @@ glabel func_800AB9EC
/* B22C64 800ABAC4 468021A0 */ cvt.s.w $f6, $f4
/* B22C68 800ABAC8 468084A0 */ cvt.s.w $f18, $f16
/* B22C6C 800ABACC 46003202 */ mul.s $f8, $f6, $f0
/* B22C70 800ABAD0 00000000 */ nop
/* B22C70 800ABAD0 00000000 */ nop
/* B22C74 800ABAD4 46009102 */ mul.s $f4, $f18, $f0
/* B22C78 800ABAD8 4600428D */ trunc.w.s $f10, $f8
/* B22C7C 800ABADC 4600218D */ trunc.w.s $f6, $f4
@ -111,7 +111,7 @@ glabel func_800AB9EC
/* B22CB8 800ABB18 37180008 */ ori $t8, (0xDC080008 & 0xFFFF) # ori $t8, $t8, 8
/* B22CBC 800ABB1C 468021A0 */ cvt.s.w $f6, $f4
/* B22CC0 800ABB20 46005402 */ mul.s $f16, $f10, $f0
/* B22CC4 800ABB24 00000000 */ nop
/* B22CC4 800ABB24 00000000 */ nop
/* B22CC8 800ABB28 46003202 */ mul.s $f8, $f6, $f0
/* B22CCC 800ABB2C 4600848D */ trunc.w.s $f18, $f16
/* B22CD0 800ABB30 4600428D */ trunc.w.s $f10, $f8
@ -157,9 +157,9 @@ glabel func_800AB9EC
/* B22D6C 800ABBCC 46000487 */ neg.s $f18, $f0
/* B22D70 800ABBD0 46001287 */ neg.s $f10, $f2
/* B22D74 800ABBD4 460C9102 */ mul.s $f4, $f18, $f12
/* B22D78 800ABBD8 00000000 */ nop
/* B22D78 800ABBD8 00000000 */ nop
/* B22D7C 800ABBDC 460C0182 */ mul.s $f6, $f0, $f12
/* B22D80 800ABBE0 00000000 */ nop
/* B22D80 800ABBE0 00000000 */ nop
/* B22D84 800ABBE4 460C5402 */ mul.s $f16, $f10, $f12
/* B22D88 800ABBE8 44052000 */ mfc1 $a1, $f4
/* B22D8C 800ABBEC 460C1482 */ mul.s $f18, $f2, $f12
@ -232,7 +232,7 @@ glabel func_800AB9EC
/* B22E90 800ABCF0 E7B20018 */ swc1 $f18, 0x18($sp)
/* B22E94 800ABCF4 44073000 */ mfc1 $a3, $f6
/* B22E98 800ABCF8 0C0404C0 */ jal guPerspective
/* B22E9C 800ABCFC 00000000 */ nop
/* B22E9C 800ABCFC 00000000 */ nop
/* B22EA0 800ABD00 02405025 */ move $t2, $s2
/* B22EA4 800ABD04 0200C025 */ move $t8, $s0
/* B22EA8 800ABD08 2659003C */ addiu $t9, $s2, 0x3c
@ -296,7 +296,7 @@ glabel func_800AB9EC
/* B22F88 800ABDE8 C60A0044 */ lwc1 $f10, 0x44($s0)
/* B22F8C 800ABDEC E7AA0020 */ swc1 $f10, 0x20($sp)
/* B22F90 800ABDF0 C6120048 */ lwc1 $f18, 0x48($s0)
/* B22F94 800ABDF4 0C04078D */ jal guLookAtReflect
/* B22F94 800ABDF4 0C04078D */ jal guLookAt
/* B22F98 800ABDF8 E7B20024 */ swc1 $f18, 0x24($sp)
/* B22F9C 800ABDFC 0240C025 */ move $t8, $s2
/* B22FA0 800ABE00 02007025 */ move $t6, $s0

View File

@ -1132,7 +1132,7 @@ Gfx* func_800946E4(Gfx* gfx);
Gfx* func_800947AC(Gfx* gfx);
void func_80094A14(GraphicsContext* gfxCtx);
void func_80094C50(GraphicsContext* gfxCtx);
void Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height);
Gfx* Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height);
Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y);
Gfx* Gfx_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height);
Gfx* Gfx_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2,
@ -1337,46 +1337,46 @@ void func_800B1030(SkyboxContext*, f32, f32, f32);
void func_800B10C4(SkyboxContext*, GraphicsContext*, s16, s16, f32, f32, f32);
// ? func_800B1744(?);
void PlayerCall_InitFuncPtrs();
// ? func_800B18B0(?);
// ? func_800B1CFC(?);
void func_800B1DBC(TransitionStruct*);
// ? func_800B1E84(?);
// ? func_800B2074(?);
void func_800B2188(TransitionStruct*, Gfx**);
void func_800B23E8(TransitionStruct*);
void func_800B2400(UNK_ARGS);
void func_800B2438(UNK_ARGS);
void func_800B24D0(UNK_ARGS);
void func_800B24D8(UNK_ARGS);
void func_800B25EC(UNK_ARGS);
void func_800B25F4(UNK_ARGS);
void func_800B2604(UNK_ARGS);
s32 func_800B2944(UNK_ARGS);
void func_800B29D0(UNK_ARGS);
void func_800B2A88(UNK_ARGS);
void func_800B2AB0(UNK_ARGS);
void func_800B2AB8(UNK_ARGS);
void func_800B2B98(UNK_ARGS);
s32 func_800B2DD4(UNK_ARGS);
void func_800B2DDC(UNK_ARGS);
void func_800B2E1C(UNK_ARGS);
void func_800B2E30(UNK_ARGS);
void func_800B301C(UNK_ARGS);
void func_800B3044(UNK_ARGS);
void func_800B304C(UNK_ARGS);
void func_800B31D0(UNK_ARGS);
s32 func_800B346C(UNK_ARGS);
void func_800B3474(UNK_ARGS);
void func_800B34CC(UNK_ARGS);
void func_800B34D4(UNK_ARGS);
void func_800B34E0(UNK_ARGS);
void func_800B3538(UNK_ARGS);
void func_800B3560(UNK_ARGS);
void func_800B3568(UNK_ARGS);
void func_800B3718(UNK_ARGS);
s32 func_800B37DC(UNK_ARGS);
void func_800B37E4(UNK_ARGS);
void func_800B37EC(UNK_ARGS);
void TransitionUnk_InitGraphics(TransitionUnk* this);
void TransitionUnk_InitData(TransitionUnk* this);
void TransitionUnk_Destroy(TransitionUnk* this);
TransitionUnk* TransitionUnk_Init(TransitionUnk* this, s32 row, s32 col);
void TransitionUnk_SetData(TransitionUnk* this);
void TransitionUnk_Draw(TransitionUnk* this, Gfx**);
void func_800B23E8(TransitionUnk* this);
void TransitionTriforce_Start(TransitionTriforce* this);
TransitionTriforce* TransitionTriforce_Init(TransitionTriforce* this);
void TransitionTriforce_Destroy(TransitionTriforce* this);
void TransitionTriforce_Update(TransitionTriforce* this, s32 updateRate);
void TransitionTriforce_SetColor(TransitionTriforce* this, u32 color);
void TransitionTriforce_SetType(TransitionTriforce* this, s32 type);
void TransitionTriforce_Draw(TransitionTriforce* this, Gfx** gfxP);
s32 TransitionTriforce_IsDone(TransitionTriforce* this);
void TransitionWipe_Start(TransitionWipe* this);
TransitionWipe* TransitionWipe_Init(TransitionWipe* this);
void TransitionWipe_Destroy(TransitionWipe* this);
void TransitionWipe_Update(TransitionWipe* this, s32 updateRate);
void TransitionWipe_Draw(TransitionWipe* this, Gfx** gfxP);
s32 TransitionWipe_IsDone(TransitionWipe* this);
void TransitionWipe_SetType(TransitionWipe* this, s32 type);
void TransitionWipe_SetColor(TransitionWipe* this, u32 color);
void TransitionCircle_Start(TransitionCircle* this);
TransitionCircle* TransitionCircle_Init(TransitionCircle* this);
void TransitionCircle_Destroy(TransitionCircle* this);
void TransitionCircle_Update(TransitionCircle* this, s32 updateRate);
void TransitionCircle_Draw(TransitionCircle* this, Gfx** gfxP);
s32 TransitionCircle_IsDone(TransitionCircle* this);
void TransitionCircle_SetType(TransitionCircle* this, s32 type);
void TransitionCircle_SetColor(TransitionCircle* this, u32 color);
void TransitionCircle_SetEnvColor(TransitionCircle* this, u32 color);
void TransitionFade_Start(TransitionFade* this);
TransitionFade* TransitionFade_Init(TransitionFade* this);
void TransitionFade_Destroy(TransitionFade* this);
void TransitionFade_Update(TransitionFade* this, s32 updateRate);
void TransitionFade_Draw(TransitionFade* this, Gfx** gfxP);
s32 TransitionFade_IsDone(TransitionFade* this);
void TransitionFade_SetColor(TransitionFade* this, u32 color);
void TransitionFade_SetType(TransitionFade* this, s32 type);
// ? func_800B3840(?);
// ? func_800B3898(?);
// ? func_800B38A4(?);
@ -2332,7 +2332,7 @@ u32 func_800FFA50(JpegDecoder* decoder, u16*, u32, u8, u32*);
// ? func_800FFE14(?);
// ? func_800FFF50(?);
// ? func_80100040(?);
// ? func_801001E0(?);
void guScale(Mtx* m, f32 x, f32 y, f32 z);
f32 sinf(f32);
s16 sins(u16);
// ? func_801004C0(?);
@ -2361,8 +2361,8 @@ s16 sins(u16);
// ? func_801019E0(?);
// ? func_80101AA4(?);
// ? guMtxIdentF(?);
// ? guLookAtReflectF(?);
void guLookAtReflect(Mtx*, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void guLookAtF(MtxF* mf, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
void guLookAt(Mtx*, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
// ? func_80101EB0(?);
// ? func_801021E4(?);
// ? osStopTimer(?);
@ -2388,7 +2388,7 @@ void guLookAtHilite(Mtx* m, LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye,
void guPosition(Mtx*, f32, f32, f32, f32, f32, f32, f32);
// ? func_80103DC0(?);
// ? func_80103E20(?);
// ? func_80103FA4(?);
void guRotate(Mtx*, f32 angle, f32 x, f32 y, f32 z);
// ? func_80103FF0(?);
// ? __osGetActiveQueue(?);
// ? func_80104160(?);
@ -2413,7 +2413,7 @@ void func_80104D00(u8 a0);
// ? func_80105788(?);
// ? func_80105A60(?);
// ? osAiGetLength(?);
// ? func_80105C20(?);
void guTranslate(Mtx* m, f32 x, f32 y, f32 z);
// ? func_80105CF0(?);
// s32 osReadMempak(OSMesgQueue* ctrlrqueue, u32 ctrlridx, s16 addr, PIF_mempak_data_t* data)
u8 osMempakAddrCRC(u16 addr);

View File

@ -14,6 +14,8 @@
#define ABS(x) ((x) >= 0 ? (x) : -(x))
#define DECR(x) ((x) == 0 ? 0 : ((x) -= 1))
#define CLAMP(x, min, max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x))
#define CLAMP_MAX(x, max) ((x) > (max) ? (max) : (x))
#define CLAMP_MIN(x, min) ((x) < (min) ? (min) : (x))
#define RGBA8(r, g, b, a) (((r & 0xFF) << 24) | ((g & 0xFF) << 16) | ((b & 0xFF) << 8) | ((a & 0xFF) << 0))
@ -52,4 +54,17 @@
#define LOG_TIME(exp, value, file, line) LOG(exp, value, "%lld", file, line)
#define LOG_NUM(exp, value, file, line) LOG(exp, value, "%d", file, line)
/*
* `x` vertex x
* `y` vertex y
* `z` vertex z
* `s` texture s coordinate
* `t` texture t coordinate
* `crnx` red component of color vertex, or x component of normal vertex
* `cgny` green component of color vertex, or y component of normal vertex
* `cbnz` blue component of color vertex, or z component of normal vertex
* `a` alpha
*/
#define VTX(x,y,z,s,t,crnx,cgny,cbnz,a) { { { x, y, z }, 0, { s, t }, { crnx, cgny, cbnz, a }, }, }
#endif

View File

@ -121,7 +121,7 @@
#define G_TEXRECT 0xe4 /* -28 */
/*
/*
* The following commands are the "generated" RDP commands; the user
* never sees them, the RSP microcode generates them.
*
@ -154,8 +154,8 @@
/* masks to build RDP triangle commands: */
#define G_RDP_TRI_FILL_MASK 0x08
#define G_RDP_TRI_SHADE_MASK 0x04
#define G_RDP_TRI_TXTR_MASK 0x02
#define G_RDP_TRI_ZBUFF_MASK 0x01
#define G_RDP_TRI_TXTR_MASK 0x02
#define G_RDP_TRI_ZBUFF_MASK 0x01
/*
* HACK:
@ -241,7 +241,7 @@
*
* DO NOT USE THE LOW 8 BITS OF GEOMETRYMODE:
* The weird bit-ordering is for the micro-code: the lower byte
* can be OR'd in with G_TRI_SHADE (11001100) to construct
* can be OR'd in with G_TRI_SHADE (11001100) to construct
* the triangle command directly. Don't break it...
*
* DO NOT USE THE HIGH 8 BITS OF GEOMETRYMODE:
@ -255,7 +255,7 @@
* appropriately and use primcolor to see anything.
*
* G_SHADING_SMOOTH enabled means use all 3 colors of the triangle.
* If it is not set, then do 'flat shading', where only one vertex color
* If it is not set, then do 'flat shading', where only one vertex color
* is used (and all 3 vertices are set to that same color by the ucode)
* See the man page for gSP1Triangle().
*
@ -760,27 +760,27 @@
Z_CMP | Z_UPD | CVG_DST_FULL | ALPHA_CVG_SEL | \
ZMODE_OPA | \
GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
#define RM_ZB_XLU_SURF(clk) \
Z_CMP | IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_XLU | \
GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
#define RM_ZB_OPA_DECAL(clk) \
Z_CMP | CVG_DST_FULL | ALPHA_CVG_SEL | ZMODE_DEC | \
GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
#define RM_ZB_XLU_DECAL(clk) \
Z_CMP | IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_DEC | \
GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
#define RM_ZB_CLD_SURF(clk) \
Z_CMP | IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_XLU | \
GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
#define RM_ZB_OVL_SURF(clk) \
Z_CMP | IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_DEC | \
GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
#define RM_ZB_PCL_SURF(clk) \
Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | \
G_AC_DITHER | \
@ -967,7 +967,7 @@
* element, we can't depend on the C compiler to align things
* properly.
*
* 64-bit structure alignment is enforced by wrapping structures with
* 64-bit structure alignment is enforced by wrapping structures with
* unions that contain a dummy "long long int". Why this works is
* explained in the ANSI C Spec, or on page 186 of the second edition
* of K&R, "The C Programming Language".
@ -1031,14 +1031,14 @@ typedef struct {
/* 20 bytes for above */
/* padding to bring structure size to 64 bit allignment */
char dummy[4];
char dummy[4];
} uSprite_t;
typedef union {
typedef union {
uSprite_t s;
/* Need to make sure this is 64 bit aligned */
/* Need to make sure this is 64 bit aligned */
long long int force_structure_allignment[3];
} uSprite;
@ -1105,7 +1105,7 @@ typedef union {
*/
#ifdef F3DEX_GBI_2
/* 0,4 are reserved by G_MTX */
# define G_MV_MMTX 2
# define G_MV_MMTX 2
# define G_MV_PMTX 6
# define G_MV_VIEWPORT 8
# define G_MV_LIGHT 10
@ -1163,7 +1163,7 @@ typedef union {
/*
* These are offsets from the address in the dmem table
*/
*/
#define G_MWO_NUMLIGHT 0x00
#define G_MWO_CLIP_RNX 0x04
#define G_MWO_CLIP_RNY 0x0c
@ -1245,7 +1245,7 @@ typedef union {
*
* Note: only directional (infinite) lights are currently supported.
*
* Note: the weird order is for the DMEM alignment benefit of
* Note: the weird order is for the DMEM alignment benefit of
* the microcode.
*
*/
@ -1566,7 +1566,7 @@ typedef struct {
/*
* Textured rectangles are 128 bits not 64 bits
*/
*/
typedef struct {
unsigned long w0;
unsigned long w1;
@ -1714,7 +1714,7 @@ _DW({ \
gsDma1p(G_VTX, v, sizeof(Vtx)*(n), ((n)-1)<<4|(v0))
#endif
#ifdef F3DEX_GBI_2
# define gSPViewport(pkt, v) \
gDma2p((pkt), G_MOVEMEM, (v), sizeof(Vp), G_MV_VIEWPORT, 0)
@ -1898,13 +1898,13 @@ _DW({ \
*** 1 Triangle
***/
#define gSP1Triangle(pkt, v0, v1, v2, flag) \
{ \
_DW({ \
Gfx *_g = (Gfx *)(pkt); \
\
_g->words.w0 = _SHIFTL(G_TRI1, 24, 8)| \
__gsSP1Triangle_w1f(v0, v1, v2, flag); \
_g->words.w1 = 0; \
}
})
#define gsSP1Triangle(v0, v1, v2, flag) \
{ \
_SHIFTL(G_TRI1, 24, 8)|__gsSP1Triangle_w1f(v0, v1, v2, flag), \
@ -1973,7 +1973,7 @@ _DW({ \
/***
*** 1 Triangle
***/
***/
#define gSP1Triangle(pkt, v0, v1, v2, flag) \
{ \
Gfx *_g = (Gfx *)(pkt); \
@ -2050,13 +2050,13 @@ _DW({ \
*** 2 Triangles
***/
#define gSP2Triangles(pkt, v00, v01, v02, flag0, v10, v11, v12, flag1) \
{ \
_DW({ \
Gfx *_g = (Gfx *)(pkt); \
\
_g->words.w0 = (_SHIFTL(G_TRI2, 24, 8)| \
__gsSP1Triangle_w1f(v00, v01, v02, flag0)); \
_g->words.w1 = __gsSP1Triangle_w1f(v10, v11, v12, flag1); \
}
})
#define gsSP2Triangles(v00, v01, v02, flag0, v10, v11, v12, flag1) \
{ \
@ -2141,7 +2141,7 @@ _DW({ \
* Insert values into Matrix
*
* where = element of matrix (byte offset)
* num = new element (32 bit value replacing 2 int or 2 frac matrix
* num = new element (32 bit value replacing 2 int or 2 frac matrix
* componants
*/
#ifdef F3DEX_GBI_2
@ -2169,7 +2169,7 @@ _DW({ \
#define gsSPForceMatrix(mptr) \
gsDma2p(G_MOVEMEM,(mptr),sizeof(Mtx),G_MV_MATRIX,0), \
gsMoveWd(G_MW_FORCEMTX,0,0x00010000)
#else /* F3DEX_GBI_2 */
#define gSPForceMatrix(pkt, mptr) \
{ \
@ -2217,7 +2217,7 @@ _DW({ \
/*
* gSPBranchLessZ Branch DL if (vtx.z) less than or equal (zval).
*
* dl = DL branch to
* dl = DL branch to
* vtx = Vertex
* zval = Screen depth
* near = Near plane
@ -2264,7 +2264,7 @@ _DW({ \
/*
* gSPBranchLessZraw Branch DL if (vtx.z) less than or equal (raw zval).
*
* dl = DL branch to
* dl = DL branch to
* vtx = Vertex
* zval = Raw value of screen depth
*/
@ -2365,7 +2365,7 @@ _DW({ \
#define NUMLIGHTS_7 7
/*
* n should be one of: NUMLIGHTS_0, NUMLIGHTS_1, ..., NUMLIGHTS_7
* NOTE: in addition to the number of directional lights specified,
* NOTE: in addition to the number of directional lights specified,
* there is always 1 ambient light
*/
#define gSPNumLights(pkt, n) \
@ -2377,7 +2377,7 @@ _DW({ \
#define LIGHT_2 2
#define LIGHT_3 3
#define LIGHT_4 4
#define LIGHT_5 5
#define LIGHT_5 5
#define LIGHT_6 6
#define LIGHT_7 7
#define LIGHT_8 8
@ -2607,7 +2607,7 @@ _DW({ \
* min, max: range 0 to 1000: 0=nearplane, 1000=farplane
* min is where fog begins (usually less than max and often 0)
* max is where fog is thickest (usually 1000)
*
*
*/
#define gSPFogFactor(pkt, fm, fo) \
gMoveWd(pkt, G_MW_FOG, G_MWO_FOG, \
@ -2647,7 +2647,7 @@ _DW({ \
_SHIFTL((level),11,3) | _SHIFTL((tile),8,3) | _SHIFTL((on),1,7)),\
(_SHIFTL((s),16,16) | _SHIFTL((t),0,16)) \
}
/*
/*
* Different version of SPTexture macro, has an additional parameter
* which is currently reserved in the microcode.
*/
@ -2686,7 +2686,7 @@ _DW({ \
_SHIFTL((level),11,3)|_SHIFTL((tile),8,3)|_SHIFTL((on),0,8)), \
(_SHIFTL((s),16,16)|_SHIFTL((t),0,16)) \
}
/*
/*
* Different version of SPTexture macro, has an additional parameter
* which is currently reserved in the microcode.
*/
@ -2886,7 +2886,7 @@ _DW({ \
gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 2, mode)
#endif
/* 'blendmask' is not supported anymore.
/* 'blendmask' is not supported anymore.
* The bits are reserved for future use.
* Fri May 26 13:45:55 PDT 1995
*/
@ -3092,7 +3092,7 @@ _DW({ \
*
* This command makes all othermode parameters set.
* Do not use this command in the same DL with another g*SPSetOtherMode DLs.
*
*
* [Usage]
* gDPSetOtherMode(pkt, modeA, modeB)
*
@ -3345,9 +3345,9 @@ _DW({ \
((height)-1) << G_TEXTURE_IMAGE_FRAC); \
}
/*
/*
* Allow tmem address and render tile to be specified.
* The S at the end means odd lines are already word Swapped
* The S at the end means odd lines are already word Swapped
*/
#define gDPLoadMultiBlockS(pkt, timg, tmem, rtile, fmt, siz, width, \
height, pal, cms, cmt, masks, maskt, shifts, shiftt) \
@ -3563,13 +3563,13 @@ _DW({ \
((width)-1) << G_TEXTURE_IMAGE_FRAC, \
((height)-1) << G_TEXTURE_IMAGE_FRAC)
/*
/*
* Allows tmem and render tile to be specified. Useful when loading
* several tiles at a time.
*
* Here is the static form of the pre-swapped texture block loading
* See gDPLoadTextureBlockS() for reference. Basically, just don't
* calculate DxT, use 0
* calculate DxT, use 0
*/
#define gsDPLoadMultiBlockS(timg, tmem, rtile, fmt, siz, width, height, \
@ -3653,7 +3653,7 @@ _DW({ \
}
/*
* 4-bit load block. Allows tmem and render tile to be specified. Useful when
* 4-bit load block. Allows tmem and render tile to be specified. Useful when
* loading multiple tiles. The S means odd lines are already word swapped.
*/
#define gDPLoadMultiBlock_4bS(pkt, timg, tmem, rtile, fmt, width, height,\
@ -4088,7 +4088,7 @@ _DW({ \
G_IM_FMT_RGBA, G_IM_SIZ_16b, 4*16, 1, \
pal, 0, 0, 0, 0, 0, 0)
#endif /* _HW_VERSION_1 */
#endif /* _HW_VERSION_1 */
/*
* Load a 256-entry palette (for 8-bit CI textures)
@ -4130,7 +4130,7 @@ _DW({ \
gsDPLoadSync(), \
gsDPLoadTLUTCmd(G_TX_LOADTILE, 255), \
gsDPPipeSync()
#else /* **** WORKAROUND hardware 1 load_tlut bug ****** */
#define gsDPLoadTLUT_pal256(dram) \
@ -4185,7 +4185,7 @@ _DW({ \
G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, count, \
0, 0, 0, 0, 0, 0, 0)
#endif /* _HW_VERSION_1 */
#endif /* _HW_VERSION_1 */
#define gDPSetScissor(pkt, mode, ulx, uly, lrx, lry) \
_DW({ \
@ -4340,7 +4340,7 @@ _DW({ \
}
/* Notice that textured rectangles are 128-bit commands, therefore
* gsDPTextureRectangle() should not be used in display lists
* gsDPTextureRectangle() should not be used in display lists
* under normal circumstances (use gsSPTextureRectangle()).
* That is also why there is no gDPTextureRectangle() macros.
*/
@ -4495,6 +4495,6 @@ _DW({ \
#endif
/* Private macro to wrap other macros in do {...} while (0) */
#define _DW(macro) do {macro} while (0)
#define _DW(macro) do {macro} while (0)
#endif

View File

@ -3491,7 +3491,7 @@ extern u8 D_801610DA;
//extern ? D_801612F0;
//extern ? D_80161358;
//extern ? D_80161360;
extern s32 D_80161490;
extern s32 gTrnsnUnkState;
extern Color_RGBA8 D_801614B0;
//extern ? D_801664D0;
//extern ? D_801664F0;

View File

@ -17,6 +17,7 @@
#include <z64animation.h>
#include <z64dma.h>
#include <z64math.h>
#include <z64transition.h>
#include <bgm.h>
#include <sfx.h>
#include <color.h>
@ -909,28 +910,25 @@ typedef struct {
} PreRenderContext; // size = 0xA4
typedef struct {
/* 0x00 */ char unk_00[0xDC];
/* 0xDC */ u16* unk_DC;
} TransitionStruct; // size = 0xE0
typedef struct {
/* 0x000 */ char unk_00[0x228];
/* 0x228 */ s32 unk_228;
/* 0x22C */ void (*unk_22C)(UNK_ARGS);
/* 0x230 */ void (*unk_230)(UNK_ARGS);
/* 0x234 */ void (*unk_234)(UNK_ARGS);
/* 0x238 */ void (*unk_238)(UNK_ARGS);
/* 0x23C */ void (*unk_23C)(UNK_ARGS);
/* 0x240 */ void (*unk_240)(UNK_ARGS);
/* 0x244 */ void (*unk_244)(UNK_ARGS);
/* 0x248 */ void (*unk_248)(UNK_ARGS);
/* 0x24C */ s32 (*unk_24C)(UNK_ARGS);
union {
TransitionFade fade;
TransitionCircle circle;
TransitionTriforce triforce;
TransitionWipe wipe;
char data[0x228];
};
/* 0x228 */ s32 transitionType;
/* 0x22C */ void* (*init)(void* transition);
/* 0x230 */ void (*destroy)(void* transition);
/* 0x234 */ void (*update)(void* transition, s32 updateRate);
/* 0x238 */ void (*draw)(void* transition, Gfx** gfxP);
/* 0x23C */ void (*start)(void* transition);
/* 0x240 */ void (*setType)(void* transition, s32 type);
/* 0x244 */ void (*setColor)(void* transition, u32 color);
/* 0x248 */ void (*setEnvColor)(void* transition, u32 color);
/* 0x24C */ s32 (*isDone)(void* transition);
} TransitionContext; // size = 0x250
typedef struct {
/* 0x00 */ char unk_00[0x0C];
} SubGlobalContext1241C; // size = 0xC
typedef struct {
/* 0x00 */ s16 id;
/* 0x02 */ Vec3s pos;
@ -1083,8 +1081,8 @@ typedef struct GlobalContext {
/* 0x12124 */ PreRenderContext preRenderCtx;
/* 0x121C8 */ TransitionContext transitionCtx;
/* 0x12418 */ char unk_12418[0x3];
/* 0x1241B */ u8 unk_1241B; // "fbdemo_wipe_modem"
/* 0x1241C */ SubGlobalContext1241C sub_1241C;
/* 0x1241B */ u8 transitionMode; // "fbdemo_wipe_modem"
/* 0x1241C */ TransitionFade transitionFade;
/* 0x12428 */ char unk_12428[0x3];
/* 0x1242B */ u8 unk_1242B;
/* 0x1242C */ Scene* loadedScene;

73
include/z64transition.h Normal file
View File

@ -0,0 +1,73 @@
#ifndef _Z64TRANSITION_H_
#include <ultra64.h>
#include <ultra64/gbi.h>
#include <color.h>
typedef struct {
/* 0x00 */ s32 row;
/* 0x04 */ s32 col;
/* 0x08 */ s32 frame;
/* 0x0C */ f32* unk_0C;
/* 0x10 */ Vtx* vtxFrame1;
/* 0x14 */ Vtx* vtxFrame2;
/* 0x18 */ Mtx projection;
/* 0x58 */ Mtx modelView;
/* 0x98 */ char unk_98[0x40];
/* 0xD8 */ Gfx* gfx; // "gfxtbl"
/* 0xDC */ u16* zBuffer;
} TransitionUnk; // size = 0xE0
typedef struct {
/* 0x000 */ Color_RGBA8 color;
/* 0x004 */ Color_RGBA8 envColor;
/* 0x008 */ u8 direction;
/* 0x009 */ u8 frame;
/* 0x00A */ u8 isDone;
/* 0x00C */ u16 texX;
/* 0x00E */ u16 texY;
/* 0x010 */ u16 normal;
/* 0x018 */ Mtx projection;
/* 0x058 */ Mtx lookAt;
/* 0x098 */ Mtx modelView[2][3];
} TransitionWipe; // size = 0x218
typedef struct {
/* 0x000 */ u8 fadeType;
/* 0x001 */ u8 isDone;
/* 0x002 */ u8 fadeDirection;
/* 0x004 */ Color_RGBA8 fadeColor;
/* 0x008 */ u16 fadeTimer;
} TransitionFade; // size = 0xC
typedef struct {
/* 0x000 */ Color_RGBA8 color;
/* 0x004 */ Color_RGBA8 envColor;
/* 0x008 */ s32 texX;
/* 0x00C */ s32 texY;
/* 0x010 */ s32 step;
/* 0x014 */ u8 unk_14;
/* 0x015 */ u8 typeColor;
/* 0x016 */ u8 speed;
/* 0x017 */ u8 effect;
/* 0x018 */ u8 isDone;
/* 0x019 */ u8 frame;
/* 0x01A */ u16 normal;
/* 0x020 */ Mtx projection;
/* 0x060 */ Mtx lookAt;
/* 0x0A0 */ char* texture;
/* 0x0A8 */ Mtx modelView[2][3];
} TransitionCircle; // size = 0x228;
typedef struct {
/* 0x000 */ Color_RGBA8 color;
/* 0x004 */ f32 transPos;
/* 0x008 */ f32 step;
/* 0x00C */ s32 state;
/* 0x010 */ s32 fadeDirection;
/* 0x018 */ Mtx projection;
/* 0x058 */ s32 frame;
/* 0x060 */ Mtx modelView[2][3];
} TransitionTriforce; // size = 0x1E0;
#endif

21
spec
View File

@ -381,19 +381,10 @@ beginseg
include "build/data/z_vr_box_draw.bss.o"
include "build/src/code/z_player_call.o"
include "build/src/code/z_fbdemo.o"
include "build/data/z_fbdemo.data.o"
include "build/asm/code_800B2400.o"
include "build/data/code_800B2400.data.o"
include "build/data/code_800B2400.rodata.o"
include "build/asm/code_800B29D0.o"
include "build/data/code_800B29D0.data.o"
include "build/data/code_800B29D0.rodata.o"
include "build/asm/code_800B2E30.o"
include "build/data/code_800B2E30.data.o"
include "build/data/code_800B2E30.rodata.o"
include "build/asm/code_800B34E0.o"
include "build/data/code_800B34E0.data.o"
include "build/data/code_800B34E0.rodata.o"
include "build/src/code/z_fbdemo_triforce.o"
include "build/src/code/z_fbdemo_wipe1.o"
include "build/src/code/z_fbdemo_circle.o"
include "build/src/code/z_fbdemo_fade.o"
include "build/src/code/db_camera.o"
include "build/data/db_camera.data.o"
include "build/data/db_camera.rodata.o"
@ -515,7 +506,7 @@ beginseg
include "build/asm/code_80101910.o"
include "build/data/code_80101910.bss.o"
include "build/asm/guMtxIdentF.o"
include "build/src/libultra_code/guLookAtRef.o"
include "build/src/libultra_code/guLookAt.o"
include "build/asm/code_80101EB0.o"
include "build/asm/code_80102330.o"
include "build/asm/code_80102420.o"
@ -1700,7 +1691,7 @@ endseg
beginseg
name "ovl_Demo_Tre_Lgt"
include "build/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.o"
include "build/data/overlays/actors/z_demo_tre_lgt.data.o"
include "build/data/overlays/actors/z_demo_tre_lgt.data.o"
include "build/data/overlays/actors/z_demo_tre_lgt.rodata.o"
include "build/data/overlays/actors/z_demo_tre_lgt.reloc.o"
endseg

View File

@ -1,20 +1,116 @@
#include <ultra64.h>
#include <global.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B18B0.s")
Gfx D_8012AFB0[] = {
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_FILL),
gsDPSetColorImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, 0x0F000000),
gsDPSetFillColor(RGBA8(0x42, 0x11, 0x42, 0x11)),
gsDPFillRectangle(0, 0, 319, 239),
gsDPPipeSync(),
gsDPSetFillColor(RGBA8(0x42, 0x3F, 0x42, 0x3F)),
gsDPFillRectangle(20, 20, 300, 220),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B1CFC.s")
Gfx D_8012B000[] = {
gsDPPipeSync(),
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_1PRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2),
gsSPEndDisplayList(),
};
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B1DBC.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/TransitionUnk_InitGraphics.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B1E84.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/TransitionUnk_InitData.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B2074.s")
void TransitionUnk_Destroy(TransitionUnk* this) {
osSyncPrintf("fbdemo_cleanup(%08x)\n", this);
osSyncPrintf("msleep(100);\n");
Sleep_Msec(100);
if (this->unk_0C != NULL) {
SystemArena_FreeDebug(this->unk_0C, "../z_fbdemo.c", 180);
this->unk_0C = NULL;
}
if (this->vtxFrame1 != NULL) {
SystemArena_FreeDebug(this->vtxFrame1, "../z_fbdemo.c", 181);
this->vtxFrame1 = NULL;
}
if (this->vtxFrame2 != NULL) {
SystemArena_FreeDebug(this->vtxFrame2, "../z_fbdemo.c", 182);
this->vtxFrame2 = NULL;
}
if (this->gfx != NULL) {
SystemArena_FreeDebug(this->gfx, "../z_fbdemo.c", 183);
this->gfx = NULL;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B2188.s")
TransitionUnk* TransitionUnk_Init(TransitionUnk* this, s32 row, s32 col) {
osSyncPrintf("fbdemo_init(%08x, %d, %d)\n", this, row, col);
bzero(this, sizeof(*this));
this->frame = 0;
this->row = row;
this->col = col;
this->unk_0C = SystemArena_MallocDebug(((row * 8) + 8) * (col + 1), "../z_fbdemo.c", 195);
this->vtxFrame1 = SystemArena_MallocDebug((row + 1) * sizeof(Vtx) * (col + 1), "../z_fbdemo.c", 196);
this->vtxFrame2 = SystemArena_MallocDebug((row + 1) * sizeof(Vtx) * (col + 1), "../z_fbdemo.c", 197);
this->gfx = SystemArena_MallocDebug(((this->col * ((this->row * 9) + 1)) + 2) * sizeof(Gfx), "../z_fbdemo.c", 198);
if (this->unk_0C == NULL || this->vtxFrame1 == NULL || this->vtxFrame2 == NULL || this->gfx == NULL) {
osSyncPrintf("fbdemo_init allocation error\n");
if (this->unk_0C != NULL) {
SystemArena_FreeDebug(this->unk_0C, "../z_fbdemo.c", 202);
this->unk_0C = NULL;
}
if (this->vtxFrame1 != NULL) {
SystemArena_FreeDebug(this->vtxFrame1, "../z_fbdemo.c", 203);
this->vtxFrame1 = NULL;
}
if (this->vtxFrame2 != NULL) {
SystemArena_FreeDebug(this->vtxFrame2, "../z_fbdemo.c", 204);
this->vtxFrame2 = NULL;
}
if (this->gfx != NULL) {
SystemArena_FreeDebug(this->gfx, "../z_fbdemo.c", 205);
this->gfx = NULL;
}
return NULL;
}
TransitionUnk_InitGraphics(this);
TransitionUnk_InitData(this);
this->frame = 0;
return this;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B22B4.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/TransitionUnk_SetData.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B23E8.s")
void TransitionUnk_Draw(TransitionUnk* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_800B23F0.s")
gSPDisplayList(gfx++, D_8012B000);
TransitionUnk_SetData(this);
gSPMatrix(gfx++, &this->projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gfx++, &this->modelView, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfx++, 10, this->frame == 0 ? this->vtxFrame1 : this->vtxFrame2);
gSPSegment(gfx++, 11, this->zBuffer);
gSPDisplayList(gfx++, D_8012B000);
gSPDisplayList(gfx++, this->gfx);
gDPPipeSync(gfx++);
this->frame ^= 1;
*gfxP = gfx;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/TransitionUnk_Update.s")
void func_800B23E8(TransitionUnk* this) {
}
s32 func_800B23F0(TransitionUnk* this) {
return 0;
}

438
src/code/z_fbdemo_circle.c Normal file
View File

@ -0,0 +1,438 @@
#include <global.h>
// unused
Gfx sCirlceNullDList[] = {
gsSPEndDisplayList(),
};
char sCircleTexDefault[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x13, 0x13, 0x13,
0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E,
0x2E, 0x2E, 0x2E, 0x2E, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
0x38, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4A, 0x4A,
0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x53, 0x53, 0x53, 0x53, 0x53,
0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C,
0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65,
0x65, 0x65, 0x65, 0x65, 0x65, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E,
0x6E, 0x6E, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7F,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x89, 0x89, 0x89, 0x89,
0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B,
0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
0xA4, 0xA4, 0xA4, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD,
0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xBF, 0xBF, 0xBF,
0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9,
0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2,
0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB,
0xDB, 0xDB, 0xDB, 0xDB, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4,
0xE4, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xF7, 0xF7,
0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
char sCircleTexWave[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x17, 0x17, 0x17, 0x17, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x08, 0x08, 0x08, 0x07, 0x08,
0x18, 0x18, 0x18, 0x18, 0x1B, 0x15, 0x07, 0x06, 0x06, 0x06, 0x06, 0x08, 0x07, 0x07, 0x0B, 0x15, 0x18, 0x18, 0x18,
0x18, 0x1D, 0x1F, 0x17, 0x17, 0x1A, 0x17, 0x10, 0x07, 0x0A, 0x11, 0x1A, 0x20, 0x17, 0x17, 0x17, 0x1B, 0x20, 0x20,
0x1C, 0x18, 0x18, 0x17, 0x17, 0x0B, 0x19, 0x20, 0x21, 0x20, 0x21, 0x21, 0x1F, 0x1F, 0x1F, 0x20, 0x1C, 0x18, 0x18,
0x21, 0x2C, 0x2B, 0x23, 0x20, 0x20, 0x20, 0x35, 0x35, 0x34, 0x30, 0x26, 0x24, 0x34, 0x37, 0x31, 0x35, 0x39, 0x3B,
0x30, 0x20, 0x1F, 0x1F, 0x39, 0x39, 0x39, 0x39, 0x3C, 0x3D, 0x41, 0x42, 0x3F, 0x39, 0x38, 0x38, 0x40, 0x40, 0x3D,
0x39, 0x38, 0x39, 0x3E, 0x43, 0x47, 0x44, 0x40, 0x40, 0x40, 0x39, 0x38, 0x41, 0x48, 0x49, 0x4D, 0x4F, 0x40, 0x41,
0x47, 0x48, 0x47, 0x43, 0x3E, 0x3D, 0x3D, 0x3D, 0x41, 0x47, 0x46, 0x4A, 0x50, 0x50, 0x59, 0x54, 0x4C, 0x46, 0x49,
0x50, 0x50, 0x4C, 0x4E, 0x53, 0x51, 0x51, 0x50, 0x4F, 0x4F, 0x4F, 0x6A, 0x69, 0x61, 0x59, 0x5F, 0x67, 0x6B, 0x69,
0x6A, 0x6B, 0x64, 0x60, 0x62, 0x5B, 0x57, 0x57, 0x68, 0x68, 0x69, 0x6E, 0x71, 0x6A, 0x68, 0x68, 0x68, 0x68, 0x68,
0x61, 0x5F, 0x66, 0x6C, 0x6C, 0x68, 0x68, 0x69, 0x70, 0x70, 0x6C, 0x68, 0x68, 0x68, 0x68, 0x68, 0x64, 0x66, 0x6F,
0x71, 0x71, 0x67, 0x67, 0x6B, 0x6F, 0x6F, 0x6E, 0x6B, 0x68, 0x68, 0x67, 0x67, 0x65, 0x6D, 0x70, 0x70, 0x70, 0x6C,
0x77, 0x7E, 0x77, 0x74, 0x75, 0x7F, 0x7D, 0x79, 0x6B, 0x6A, 0x6A, 0x70, 0x6D, 0x6E, 0x6E, 0x8E, 0x98, 0x98, 0x98,
0x95, 0x96, 0x98, 0x98, 0x98, 0x8D, 0x8D, 0x8C, 0x89, 0x7D, 0x7A, 0x78, 0x9C, 0x96, 0x97, 0x97, 0x97, 0x97, 0x97,
0x97, 0x97, 0x98, 0xA6, 0xA9, 0xAA, 0xA9, 0xA4, 0xA2, 0xAA, 0x9C, 0x96, 0x97, 0x96, 0x96, 0x95, 0x96, 0x98, 0x9E,
0xA7, 0xA7, 0xA7, 0xA7, 0xAB, 0xB0, 0xB0, 0xAC, 0x9E, 0x96, 0x9C, 0xA5, 0xA7, 0xA5, 0xA4, 0xAC, 0xA6, 0xA7, 0xA7,
0xA7, 0xAC, 0xAF, 0xAF, 0xB0, 0xB1, 0xA8, 0xAC, 0xB0, 0xB1, 0xB0, 0xB3, 0xBD, 0xB0, 0xA7, 0xA7, 0xA8, 0xAF, 0xAF,
0xB4, 0xB9, 0xBD, 0xC2, 0xBB, 0xAF, 0xAF, 0xB0, 0xBD, 0xC0, 0xBE, 0xB2, 0xA8, 0xAA, 0xAE, 0xAE, 0xBF, 0xBF, 0xC1,
0xC7, 0xC7, 0xBC, 0xAF, 0xB7, 0xBE, 0xBF, 0xBF, 0xC0, 0xC6, 0xBD, 0xB3, 0xB1, 0xBE, 0xBE, 0xC5, 0xC7, 0xC7, 0xC7,
0xC4, 0xC8, 0xC2, 0xBE, 0xC1, 0xCE, 0xD8, 0xD8, 0xD3, 0xD0, 0xC3, 0xC6, 0xC3, 0xC5, 0xC5, 0xD0, 0xE0, 0xDF, 0xD6,
0xCB, 0xD0, 0xD8, 0xD7, 0xD7, 0xDC, 0xE0, 0xE2, 0xE3, 0xDA, 0xD1, 0xCE, 0xDD, 0xDF, 0xDF, 0xE0, 0xDE, 0xD7, 0xD5,
0xD6, 0xD6, 0xDE, 0xDF, 0xF2, 0xF1, 0xF2, 0xEB, 0xE6, 0xE1, 0xDF, 0xDD, 0xDF, 0xE8, 0xEB, 0xE3, 0xDF, 0xDF, 0xE1,
0xDE, 0xF2, 0xEF, 0xEF, 0xF0, 0xEE, 0xEE, 0xEF, 0xF1, 0xEF, 0xF6, 0xF8, 0xF5, 0xF4, 0xF4, 0xF3, 0xED, 0xF7, 0xF3,
0xF1, 0xF0, 0xF3, 0xF8, 0xF8, 0xF9, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
char sCircleTexRipple[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A,
0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
0x37, 0x37, 0x37, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
0x38, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x72, 0x72,
0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A,
0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A,
0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D,
0x7D, 0x7D, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBA, 0xBA, 0xBA, 0xBA,
0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9,
0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8, 0xE8,
0xE8, 0xE8, 0xE8, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB,
0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xEF, 0xEF, 0xEF,
0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
0xEA, 0xEA, 0xEA, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF6, 0xF6,
0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
char sCircleTexStarburst[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x11, 0x08, 0x02, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x0A, 0x02,
0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x03, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0x19, 0x0C, 0x04, 0x02, 0x00, 0x00,
0x00, 0x09, 0x00, 0x05, 0x00, 0x00, 0x14, 0x00, 0x00, 0x03, 0x1E, 0x0D, 0x05, 0x04, 0x00, 0x00, 0x01, 0x0B, 0x00,
0x08, 0x00, 0x00, 0x1A, 0x00, 0x02, 0x06, 0x23, 0x10, 0x07, 0x07, 0x00, 0x00, 0x01, 0x0E, 0x00, 0x0B, 0x00, 0x00,
0x21, 0x00, 0x03, 0x09, 0x29, 0x15, 0x09, 0x09, 0x00, 0x00, 0x02, 0x13, 0x00, 0x11, 0x00, 0x00, 0x28, 0x00, 0x05,
0x0E, 0x2E, 0x18, 0x0B, 0x0A, 0x00, 0x01, 0x04, 0x16, 0x01, 0x16, 0x00, 0x01, 0x2F, 0x00, 0x07, 0x12, 0x35, 0x1D,
0x0F, 0x0C, 0x00, 0x02, 0x05, 0x1B, 0x02, 0x1C, 0x00, 0x02, 0x38, 0x00, 0x0A, 0x18, 0x3D, 0x23, 0x12, 0x10, 0x01,
0x02, 0x08, 0x21, 0x02, 0x20, 0x00, 0x03, 0x40, 0x00, 0x0D, 0x1E, 0x47, 0x29, 0x15, 0x15, 0x04, 0x04, 0x0D, 0x27,
0x04, 0x28, 0x01, 0x04, 0x4A, 0x00, 0x11, 0x25, 0x55, 0x35, 0x1F, 0x1F, 0x0D, 0x0D, 0x17, 0x33, 0x0D, 0x36, 0x08,
0x0C, 0x58, 0x05, 0x1B, 0x2F, 0x66, 0x42, 0x2D, 0x2E, 0x18, 0x1A, 0x26, 0x43, 0x1A, 0x48, 0x14, 0x17, 0x68, 0x11,
0x2C, 0x3D, 0x76, 0x51, 0x39, 0x3C, 0x24, 0x28, 0x37, 0x54, 0x28, 0x5C, 0x20, 0x23, 0x74, 0x1C, 0x3D, 0x49, 0x85,
0x61, 0x44, 0x49, 0x30, 0x38, 0x47, 0x64, 0x38, 0x6F, 0x2E, 0x31, 0x80, 0x29, 0x50, 0x5B, 0x92, 0x71, 0x4E, 0x58,
0x3C, 0x47, 0x57, 0x74, 0x49, 0x7C, 0x3D, 0x3E, 0x8E, 0x35, 0x63, 0x6E, 0x9D, 0x81, 0x5B, 0x69, 0x49, 0x58, 0x6B,
0x82, 0x5D, 0x89, 0x4F, 0x4A, 0x9C, 0x43, 0x76, 0x81, 0xA9, 0x91, 0x67, 0x79, 0x56, 0x69, 0x81, 0x90, 0x72, 0x9A,
0x61, 0x59, 0xA7, 0x51, 0x8B, 0x93, 0xB4, 0xA2, 0x73, 0x88, 0x65, 0x7C, 0x96, 0x9F, 0x88, 0xA9, 0x74, 0x66, 0xB2,
0x60, 0xA2, 0xA3, 0xBF, 0xB0, 0x7E, 0x96, 0x76, 0x8E, 0xA9, 0xAF, 0x9E, 0xB7, 0x84, 0x74, 0xBC, 0x71, 0xB7, 0xB0,
0xCA, 0xC0, 0x8D, 0xA8, 0x89, 0xA1, 0xBA, 0xBC, 0xB2, 0xC6, 0x92, 0x85, 0xC6, 0x82, 0xC9, 0xBC, 0xD3, 0xCE, 0x9F,
0xB6, 0x9E, 0xB3, 0xC9, 0xC9, 0xC5, 0xD3, 0x9E, 0x99, 0xD0, 0x94, 0xD8, 0xC8, 0xDB, 0xD8, 0xB1, 0xC7, 0xB3, 0xC5,
0xD6, 0xD2, 0xD1, 0xDE, 0xAF, 0xAC, 0xDB, 0xA8, 0xE4, 0xD4, 0xE2, 0xDF, 0xC4, 0xD8, 0xC8, 0xD4, 0xDF, 0xDB, 0xDB,
0xE4, 0xC4, 0xBF, 0xE5, 0xBB, 0xEC, 0xE0, 0xE7, 0xE5, 0xD9, 0xE8, 0xDA, 0xE1, 0xE9, 0xE7, 0xE6, 0xEC, 0xD9, 0xD4,
0xEF, 0xCF, 0xF1, 0xE9, 0xED, 0xEA, 0xEB, 0xF2, 0xE6, 0xE8, 0xF2, 0xF1, 0xEE, 0xF4, 0xEB, 0xE6, 0xF7, 0xDD, 0xF6,
0xF0, 0xF5, 0xF3, 0xF6, 0xF6, 0xF4, 0xF0, 0xF8, 0xF5, 0xF2, 0xFA, 0xF7, 0xF1, 0xFB, 0xE6, 0xFB, 0xF6, 0xFC, 0xFD,
0xFC, 0xFB, 0xFD, 0xFB, 0xFB, 0xFB, 0xFA, 0xFE, 0xFD, 0xFB, 0xFE, 0xF7, 0xFE, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
Vtx sCircleVtx[] = {
VTX(-25, 0, 0, 0, 4096, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-23, 10, 0, 384, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 192, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-18, 18, 0, 768, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 576, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-10, 23, 0, 1152, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 960, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(0, 25, 0, 1536, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 1344, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(10, 23, 0, 1920, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 1728, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(18, 18, 0, 2304, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 2112, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(23, 10, 0, 2688, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 2496, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(25, 0, 0, 3072, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 2880, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(23, -10, 0, 3456, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 3264, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(18, -18, 0, 3840, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 3648, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(10, -23, 0, 4224, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 4032, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(0, -25, 0, 4608, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 4416, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-10, -23, 0, 4992, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 4800, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-18, -18, 0, 5376, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 5184, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-23, -10, 0, 5760, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, -10, 5568, 2048, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-23, -10, 0, 5760, 4096, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-25, 0, 0, 6144, 4096, 0xFF, 0xFF, 0xFF, 0xFF), VTX(0, 0, -10, 5952, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
};
Gfx sCircleDList[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | G_RM_XLU_SURF | G_RM_XLU_SURF2),
gsDPSetCombineMode(G_CC_BLENDPEDECALA, G_CC_BLENDPEDECALA),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPLoadTextureBlock(0x08000000, G_IM_FMT_I, G_IM_SIZ_8b, 16, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_CLAMP, 4, 6, G_TX_NOLOD, G_TX_NOLOD),
gsSPDisplayList(0x09000000),
gsSPVertex(sCircleVtx, 32, 0),
gsSP2Triangles(0, 1, 2, 0, 1, 3, 4, 0),
gsSP2Triangles(3, 5, 6, 0, 5, 7, 8, 0),
gsSP2Triangles(7, 9, 10, 0, 9, 11, 12, 0),
gsSP2Triangles(11, 13, 14, 0, 13, 15, 16, 0),
gsSP2Triangles(15, 17, 18, 0, 17, 19, 20, 0),
gsSP2Triangles(19, 21, 22, 0, 21, 23, 24, 0),
gsSP2Triangles(23, 25, 26, 0, 25, 27, 28, 0),
gsSP1Triangle(27, 29, 30, 0),
gsSPVertex(&sCircleVtx[31], 3, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSPEndDisplayList(),
};
void TransitionCircle_Start(TransitionCircle* this) {
this->isDone = 0;
switch (this->effect) {
case 1:
this->texture = sCircleTexWave;
break;
case 2:
this->texture = sCircleTexRipple;
break;
case 3:
this->texture = sCircleTexStarburst;
break;
default:
this->texture = sCircleTexDefault;
break;
}
if (this->speed == 0) {
this->step = 0x14;
} else {
this->step = 0xA;
}
if (this->typeColor == 0) {
this->color.rgba = RGBA8(0x00, 0x00, 0x00, 0xFF);
} else if (this->typeColor == 1) {
this->color.rgba = RGBA8(0xA0, 0xA0, 0xA0, 0xFF);
} else if (this->typeColor == 2) {
// yes, really.
this->color.r = 0x64;
this->color.g = 0x64;
this->color.b = 0x64;
this->color.a = 0xFF;
} else {
this->step = 0x28;
this->color.rgba = this->effect == 1 ? RGBA8(0x00, 0x00, 0x00, 0xFF) : RGBA8(0xA0, 0xA0, 0xA0, 0xFF);
}
if (this->unk_14 != 0) {
this->texY = 0;
if (this->typeColor == 3) {
this->texY = 0xFA;
}
} else {
this->texY = 0x1F4;
if (this->effect == 2) {
Audio_PlaySoundGeneral(NA_SE_OC_SECRET_WARP_OUT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
}
guPerspective(&this->projection, &this->normal, 60.0f, (4.0f / 3.0f), 10.0f, 12800.0f, 1.0f);
guLookAt(&this->lookAt, 0.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
}
TransitionCircle* TransitionCircle_Init(TransitionCircle* this) {
bzero(this, sizeof(*this));
return this;
}
void TransitionCircle_Destroy(TransitionCircle* this) {
}
void TransitionCircle_Update(TransitionCircle* this, s32 updateRate) {
s32 temp_t2;
s32 temp_t3;
if (this->unk_14 != 0) {
if (this->texY == 0) {
if (this->effect == 2) {
Audio_PlaySoundGeneral(NA_SE_OC_SECRET_WARP_IN, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
}
this->texY += this->step * 3 / updateRate;
if (this->texY >= 0x1F4) {
this->texY = 0x1F4;
this->isDone = 1;
}
} else {
this->texY -= this->step * 3 / updateRate;
if (this->typeColor != 3) {
if (this->texY <= 0) {
this->texY = 0;
this->isDone = 1;
}
} else {
if (this->texY < 0xFB) {
this->texY = 0xFA;
this->isDone = 1;
}
}
}
}
void TransitionCircle_Draw(TransitionCircle* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
Mtx* modelView = this->modelView[this->frame];
char pad[4];
Gfx* texScroll;
// These variables are a best guess based on the other transition types.
f32 tPos = 0.0f;
f32 rot = 0.0f;
f32 scale = 14.8f;
this->frame ^= 1;
gDPPipeSync(gfx++);
texScroll = Gfx_BranchTexScroll(&gfx, this->texX, this->texY, 0x10, 0x40);
gSPSegment(gfx++, 9, texScroll);
gSPSegment(gfx++, 8, this->texture);
gDPSetColor(gfx++, G_SETPRIMCOLOR, this->color.rgba);
gDPSetColor(gfx++, G_SETENVCOLOR, this->color.rgba);
gSPMatrix(gfx++, &this->projection, G_MTX_PROJECTION | G_MTX_LOAD);
gSPPerspNormalize(gfx++, this->normal);
gSPMatrix(gfx++, &this->lookAt, G_MTX_PROJECTION | G_MTX_NOPUSH | G_MTX_MUL);
if (scale != 1.0f) {
guScale(&modelView[0], scale, scale, 1.0f);
gSPMatrix(gfx++, &modelView[0], G_MTX_LOAD);
}
if (rot != 0.0f) {
guRotate(&modelView[1], rot, 0.0f, 0.0f, 1.0f);
gSPMatrix(gfx++, &modelView[1], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
}
if ((tPos != 0.0f) || (tPos != 0.0f)) {
guTranslate(&modelView[2], tPos, tPos, 0.0f);
gSPMatrix(gfx++, &modelView[2], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
}
gSPDisplayList(gfx++, sCircleDList);
gDPPipeSync(gfx++);
*gfxP = gfx;
}
s32 TransitionCircle_IsDone(TransitionCircle* this) {
return this->isDone;
}
void TransitionCircle_SetType(TransitionCircle* this, s32 type) {
if (type & 0x80) {
this->unk_14 = (type >> 5) & 0x1;
this->typeColor = (type >> 3) & 0x3;
this->speed = type & 0x1;
this->effect = (type >> 1) & 0x3;
} else if (type == 1) {
this->unk_14 = 1;
} else {
this->unk_14 = 0;
}
}
void TransitionCircle_SetColor(TransitionCircle* this, u32 color) {
this->color.rgba = color;
}
void TransitionCircle_SetEnvColor(TransitionCircle* this, u32 envColor) {
this->envColor.rgba = envColor;
}

117
src/code/z_fbdemo_fade.c Normal file
View File

@ -0,0 +1,117 @@
#include <global.h>
#include <vt.h>
static Gfx sRCPSetupFade[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_1PRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | G_RM_CLD_SURF | G_RM_CLD_SURF2),
gsDPSetCombineLERP(0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE),
gsSPEndDisplayList(),
};
void TransitionFade_Start(TransitionFade* this) {
switch (this->fadeType) {
case 0:
break;
case 1:
this->fadeTimer = 0;
this->fadeColor.a = this->fadeDirection != 0 ? 0xFF : 0;
break;
case 2:
this->fadeColor.a = 0;
break;
}
this->isDone = 0;
}
TransitionFade* TransitionFade_Init(TransitionFade* this) {
bzero(this, sizeof(*this));
return this;
}
void TransitionFade_Destroy(TransitionFade* this) {
}
#ifdef NON_MATCHING
void TransitionFade_Update(TransitionFade* this, s32 updateRate) {
char pad[2];
s16 newAlpha;
s32 alpha;
switch (this->fadeType) {
case 0:
break;
case 1:
this->fadeTimer += updateRate;
if (this->fadeTimer >= gSaveContext.fadeDuration) {
this->fadeTimer = gSaveContext.fadeDuration;
this->isDone = 1;
}
if (gSaveContext.fadeDuration == 0) {
// Divide by 0! Zero is included in ZCommonGet fade_speed
osSyncPrintf(VT_COL(RED, WHITE) "0除算! ZCommonGet fade_speed に0がはいってる" VT_RST);
}
alpha = (this->fadeTimer * 255.0f) / gSaveContext.fadeDuration;
this->fadeColor.a = this->fadeDirection != 0 ? 0xFF - alpha : alpha;
break;
case 2:
newAlpha = this->fadeColor.a;
if (iREG(50) != 0) {
if (iREG(50) < 0) {
if (Math_ApproxS(&newAlpha, 0xFF, 0xFF) != 0) {
iREG(50) = 0x96;
}
} else {
Math_ApproxS(&iREG(50), 0x14, 0x3C);
if (Math_ApproxS(&newAlpha, 0, iREG(50)) != 0) {
iREG(50) = 0;
this->isDone = 1;
}
}
}
this->fadeColor.a = newAlpha;
break;
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Update.s")
#endif
void TransitionFade_Draw(TransitionFade* this, Gfx** gfxP) {
Gfx* gfx;
Color_RGBA8* color;
if (this->fadeColor.a > 0) {
color = &this->fadeColor;
gfx = *gfxP;
gSPDisplayList(gfx++, sRCPSetupFade);
gDPSetPrimColor(gfx++, 0, 0, color->r, color->g, color->b, color->a);
gDPFillRectangle(gfx++, 0, 0, gScreenWidth - 1, gScreenHeight - 1);
gDPPipeSync(gfx++);
*gfxP = gfx;
}
}
s32 TransitionFade_IsDone(TransitionFade* this) {
return this->isDone;
}
void TransitionFade_SetColor(TransitionFade* this, u32 color) {
this->fadeColor.rgba = color;
}
void TransitionFade_SetType(TransitionFade* this, s32 type) {
if (type == 1) {
this->fadeType = 1;
this->fadeDirection = 1;
} else if (type == 2) {
this->fadeType = 1;
this->fadeDirection = 0;
} else if (type == 3) {
this->fadeType = 2;
} else {
this->fadeType = 0;
}
}

View File

@ -0,0 +1,137 @@
#include <global.h>
Gfx sTriforceDList[] = {
gsDPPipeSync(),
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_1PRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2),
gsSPEndDisplayList(),
};
Vtx sTriforceVTX[] = {
VTX(0, 577, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF), VTX(1000, -1154, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-1000, -1154, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF), VTX(0, -1154, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(500, -288, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-500, -288, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-32000, 32000, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF), VTX(32000, 32000, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(32000, -32000, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF), VTX(-32000, -32000, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF),
};
void TransitionTriforce_Start(TransitionTriforce* this) {
switch (this->state) {
case 1:
case 2:
this->transPos = 1.0f;
return;
}
this->transPos = 0.03f;
}
TransitionTriforce* TransitionTriforce_Init(TransitionTriforce* this) {
bzero(this, sizeof(*this));
func_801045A4(&this->projection, -160.0f, 160.0f, -120.0f, 120.0f, -1000.0f, 1000.0f, 1.0f);
this->transPos = 1.0f;
this->state = 2;
this->step = 0.015f;
this->fadeDirection = 1;
return this;
}
void TransitionTriforce_Destroy(TransitionTriforce* this) {
}
void TransitionTriforce_Update(TransitionTriforce* this, s32 updateRate) {
f32 temp_f0;
s32 i;
for (i = updateRate; i > 0; i--) {
if (this->state == 1) {
this->transPos = CLAMP_MIN(this->transPos * (1.0f - this->step), 0.03f);
} else if (this->state == 2) {
this->transPos = CLAMP_MIN(this->transPos - this->step, 0.03f);
} else if (this->state == 3) {
this->transPos = CLAMP_MAX(this->transPos / (1.0f - this->step), 1.0f);
} else if (this->state == 4) {
this->transPos = CLAMP_MAX(this->transPos + this->step, 1.0f);
}
}
}
void TransitionTriforce_SetColor(TransitionTriforce* this, u32 color) {
this->color.rgba = color;
}
void TransitionTriforce_SetType(TransitionTriforce* this, s32 type) {
this->fadeDirection = type;
}
// unused
void TransitionTriforce_SetState(TransitionTriforce* this, s32 state) {
this->state = state;
}
void TransitionTriforce_Draw(TransitionTriforce* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
Mtx* modelView;
f32 scale;
char pad[4];
char pad2[4];
f32 rotation;
rotation = this->transPos * 360.0f;
modelView = this->modelView[this->frame];
scale = this->transPos * 0.625f;
this->frame ^= 1;
osSyncPrintf("rate=%f tx=%f ty=%f rotate=%f\n", this->transPos, 0.0f, 0.0f, rotation);
guScale(&modelView[0], scale, scale, 1.0f);
guRotate(&modelView[1], rotation, 0.0f, 0.0f, 1.0f);
guTranslate(&modelView[2], 0.0f, 0.0f, 0.0f);
gDPPipeSync(gfx++);
gSPDisplayList(gfx++, sTriforceDList);
gDPSetColor(gfx++, G_SETPRIMCOLOR, this->color.rgba);
gDPSetCombineMode(gfx++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gSPMatrix(gfx++, &this->projection, G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gfx++, &modelView[0], G_MTX_LOAD);
gSPMatrix(gfx++, &modelView[1], G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_MUL);
gSPMatrix(gfx++, &modelView[2], G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_MUL);
gSPVertex(gfx++, sTriforceVTX, 10, 0);
if (!TransitionTriforce_IsDone(this)) {
switch (this->fadeDirection) {
case 1:
gSP2Triangles(gfx++, 0, 4, 5, 0, 4, 1, 3, 0);
gSP1Triangle(gfx++, 5, 3, 2, 0);
break;
case 2:
gSP2Triangles(gfx++, 3, 4, 5, 0, 0, 2, 6, 0);
gSP2Triangles(gfx++, 0, 6, 7, 0, 1, 0, 7, 0);
gSP2Triangles(gfx++, 1, 7, 8, 0, 1, 8, 9, 0);
gSP2Triangles(gfx++, 1, 9, 2, 0, 2, 9, 6, 0);
break;
}
} else {
switch (this->fadeDirection) {
case 1:
break;
case 2:
gSP1Quadrangle(gfx++, 6, 7, 8, 9, 0);
break;
}
}
gDPPipeSync(gfx++);
*gfxP = gfx;
}
s32 TransitionTriforce_IsDone(TransitionTriforce* this) {
s32 ret = 0;
if (this->state == 1 || this->state == 2) {
return this->transPos <= 0.03f;
} else if (this->state == 3 || this->state == 4) {
return this->transPos >= 1.0f;
}
return ret;
}

254
src/code/z_fbdemo_wipe1.c Normal file
View File

@ -0,0 +1,254 @@
#include <global.h>
Vtx sWipeVtx[] = {
VTX(-1299, 750, 0, 13653, 2048, 0xAD, 0x30, 0xB8, 0xFF), VTX(-750, 1299, 0, 15019, 2048, 0xD0, 0x53, 0xB8, 0xFF),
VTX(0, 0, -500, 14336, 0, 0xCE, 0xCE, 0xA0, 0xFF), VTX(0, 1500, 0, 16384, 2048, 0x00, 0x60, 0xB8, 0xFF),
VTX(0, 0, -500, 15701, 0, 0x3D, 0x3D, 0xAD, 0xFF), VTX(0, 1500, 0, 0, 2048, 0x00, 0x60, 0xB8, 0xFF),
VTX(750, 1299, 0, 1365, 2048, 0x30, 0x53, 0xB8, 0xFF), VTX(0, 0, -500, 683, 0, 0x3D, 0x3D, 0xAD, 0xFF),
VTX(1299, 750, 0, 2731, 2048, 0x53, 0x30, 0xB8, 0xFF), VTX(0, 0, -500, 2048, 0, 0x3D, 0x3D, 0xAD, 0xFF),
VTX(1500, 0, 0, 4096, 2048, 0x60, 0x00, 0xB8, 0xFF), VTX(0, 0, -500, 3413, 0, 0x3D, 0x3D, 0xAD, 0xFF),
VTX(1299, -750, 0, 5461, 2048, 0x53, 0xD0, 0xB8, 0xFF), VTX(0, 0, -500, 4779, 0, 0x3D, 0x3D, 0xAD, 0xFF),
VTX(750, -1299, 0, 6827, 2048, 0x30, 0xAD, 0xB8, 0xFF), VTX(0, 0, -500, 6144, 0, 0xCE, 0xCE, 0xA0, 0xFF),
VTX(0, -1500, 0, 8192, 2048, 0x00, 0xA0, 0xB8, 0xFF), VTX(0, 0, -500, 7509, 0, 0xCE, 0xCE, 0xA0, 0xFF),
VTX(-750, -1299, 0, 9557, 2048, 0xD0, 0xAD, 0xB8, 0xFF), VTX(0, 0, -500, 8875, 0, 0xCE, 0xCE, 0xA0, 0xFF),
VTX(-1299, -750, 0, 10923, 2048, 0xAD, 0xD0, 0xB8, 0xFF), VTX(0, 0, -500, 10240, 0, 0xCE, 0xCE, 0xA0, 0xFF),
VTX(-1500, 0, 0, 12288, 2048, 0xA0, 0x00, 0xB8, 0xFF), VTX(0, 0, -500, 11605, 0, 0xCE, 0xCE, 0xA0, 0xFF),
VTX(0, 0, -500, 12971, 0, 0xCE, 0xCE, 0xA0, 0xFF),
};
char sWipeTexture[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x01,
0x24, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30, 0x12, 0x34, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x23, 0x45, 0x21, 0x10, 0x00, 0x00, 0x01, 0x00, 0x11, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x41,
0x34, 0x56, 0x31, 0x10, 0x00, 0x00, 0x01, 0x00, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x10, 0x02, 0x42, 0x35, 0x66, 0x32, 0x20, 0x00, 0x00,
0x02, 0x00, 0x32, 0x13, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
0x01, 0x00, 0x00, 0x00, 0x10, 0x02, 0x53, 0x45, 0x67, 0x42, 0x20, 0x00, 0x00, 0x02, 0x01, 0x32, 0x23, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x12, 0x00, 0x10, 0x00, 0x10, 0x03,
0x64, 0x56, 0x77, 0x53, 0x30, 0x01, 0x00, 0x13, 0x12, 0x42, 0x24, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x13, 0x00, 0x11, 0x00, 0x10, 0x03, 0x64, 0x67, 0x77, 0x54, 0x41, 0x01,
0x00, 0x14, 0x12, 0x53, 0x35, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02,
0x41, 0x24, 0x11, 0x21, 0x00, 0x20, 0x14, 0x75, 0x67, 0x77, 0x64, 0x51, 0x12, 0x00, 0x24, 0x23, 0x53, 0x46, 0x30,
0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x52, 0x34, 0x11, 0x31, 0x01, 0x20,
0x15, 0x76, 0x77, 0x87, 0x65, 0x52, 0x13, 0x00, 0x25, 0x34, 0x64, 0x56, 0x31, 0x20, 0x00, 0x00, 0x00, 0x01, 0x31,
0x02, 0x10, 0x00, 0x00, 0x00, 0x10, 0x03, 0x52, 0x35, 0x22, 0x41, 0x02, 0x21, 0x26, 0x77, 0x77, 0x87, 0x75, 0x62,
0x13, 0x11, 0x36, 0x35, 0x65, 0x57, 0x41, 0x30, 0x00, 0x10, 0x00, 0x01, 0x31, 0x12, 0x10, 0x10, 0x00, 0x00, 0x10,
0x04, 0x62, 0x46, 0x23, 0x51, 0x02, 0x21, 0x36, 0x77, 0x78, 0x88, 0x76, 0x63, 0x24, 0x11, 0x46, 0x46, 0x75, 0x67,
0x52, 0x40, 0x01, 0x10, 0x00, 0x02, 0x42, 0x13, 0x10, 0x20, 0x01, 0x00, 0x21, 0x15, 0x63, 0x56, 0x34, 0x51, 0x13,
0x31, 0x47, 0x88, 0x78, 0x88, 0x77, 0x64, 0x24, 0x22, 0x56, 0x56, 0x76, 0x77, 0x53, 0x41, 0x02, 0x10, 0x10, 0x03,
0x53, 0x23, 0x21, 0x31, 0x01, 0x01, 0x31, 0x16, 0x74, 0x66, 0x35, 0x62, 0x14, 0x32, 0x47, 0x88, 0x88, 0x88, 0x87,
0x75, 0x34, 0x22, 0x57, 0x57, 0x76, 0x77, 0x54, 0x51, 0x03, 0x10, 0x11, 0x04, 0x63, 0x34, 0x22, 0x31, 0x02, 0x01,
0x42, 0x26, 0x74, 0x67, 0x46, 0x62, 0x25, 0x42, 0x57, 0x89, 0x88, 0x88, 0x98, 0x75, 0x35, 0x33, 0x67, 0x67, 0x77,
0x77, 0x65, 0x51, 0x03, 0x10, 0x21, 0x14, 0x64, 0x45, 0x33, 0x41, 0x12, 0x12, 0x52, 0x37, 0x75, 0x77, 0x56, 0x72,
0x36, 0x53, 0x67, 0x89, 0x88, 0x89, 0xA8, 0x76, 0x45, 0x44, 0x67, 0x67, 0x87, 0x77, 0x76, 0x62, 0x14, 0x21, 0x32,
0x15, 0x75, 0x55, 0x43, 0x52, 0x13, 0x13, 0x63, 0x47, 0x75, 0x77, 0x57, 0x73, 0x46, 0x54, 0x78, 0x8A, 0x88, 0x9A,
0xA8, 0x77, 0x56, 0x55, 0x77, 0x67, 0x88, 0x88, 0x76, 0x72, 0x25, 0x21, 0x42, 0x26, 0x75, 0x66, 0x54, 0x62, 0x24,
0x23, 0x64, 0x57, 0x76, 0x77, 0x67, 0x74, 0x57, 0x65, 0x78, 0x9B, 0x89, 0x9B, 0xB8, 0x87, 0x56, 0x55, 0x77, 0x78,
0x88, 0x88, 0x87, 0x73, 0x25, 0x21, 0x43, 0x36, 0x76, 0x67, 0x65, 0x63, 0x35, 0x24, 0x75, 0x57, 0x77, 0x77, 0x77,
0x75, 0x67, 0x65, 0x78, 0x9B, 0x89, 0xAB, 0xC8, 0x87, 0x67, 0x66, 0x77, 0x78, 0x98, 0x88, 0x98, 0x74, 0x36, 0x32,
0x54, 0x37, 0x76, 0x77, 0x66, 0x73, 0x45, 0x35, 0x75, 0x67, 0x77, 0x88, 0x77, 0x75, 0x67, 0x66, 0x78, 0xAC, 0x9A,
0xBC, 0xC8, 0x87, 0x67, 0x66, 0x77, 0x78, 0xA9, 0x88, 0x98, 0x75, 0x46, 0x33, 0x65, 0x47, 0x77, 0x77, 0x77, 0x74,
0x56, 0x46, 0x76, 0x77, 0x87, 0x89, 0x88, 0x76, 0x77, 0x76, 0x78, 0xBD, 0x9B, 0xCD, 0xD8, 0x98, 0x77, 0x76, 0x78,
0x78, 0xAA, 0x89, 0x98, 0x76, 0x56, 0x44, 0x66, 0x57, 0x77, 0x77, 0x77, 0x75, 0x67, 0x46, 0x77, 0x78, 0x88, 0x89,
0x88, 0x87, 0x78, 0x87, 0x78, 0xCD, 0x9C, 0xDE, 0xD9, 0x98, 0x77, 0x77, 0x78, 0x88, 0xBA, 0x99, 0xA8, 0x76, 0x66,
0x44, 0x76, 0x67, 0x88, 0x88, 0x88, 0x75, 0x77, 0x56, 0x77, 0x78, 0x99, 0x89, 0x88, 0x88, 0x88, 0x87, 0x88, 0xCD,
0x9D, 0xEE, 0xD9, 0xA8, 0x88, 0x87, 0x88, 0x88, 0xCB, 0x9A, 0xA8, 0x77, 0x67, 0x55, 0x77, 0x77, 0x88, 0x88, 0x88,
0x76, 0x77, 0x67, 0x78, 0x88, 0xAA, 0x8A, 0x98, 0x89, 0x88, 0x98, 0x88, 0xDD, 0xAD, 0xFE, 0xDA, 0xB9, 0x88, 0x98,
0x89, 0x88, 0xDC, 0xAB, 0xB8, 0x88, 0x77, 0x56, 0x77, 0x77, 0x89, 0x88, 0x98, 0x76, 0x77, 0x67, 0x88, 0x88, 0xAA,
0x8A, 0xA8, 0x9A, 0x88, 0xA8, 0x89, 0xDD, 0xAE, 0xFF, 0xDA, 0xC9, 0x88, 0x98, 0x89, 0x88, 0xDD, 0xAC, 0xB8, 0x88,
0x77, 0x66, 0x78, 0x78, 0x99, 0x88, 0x98, 0x77, 0x77, 0x77, 0x89, 0x88, 0xBB, 0x9B, 0xA8, 0x9B, 0x88, 0xB8, 0x8A,
0xED, 0xBE, 0xFF, 0xDB, 0xDA, 0x88, 0xA8, 0x8A, 0x89, 0xED, 0xBD, 0xC8, 0x89, 0x87, 0x67, 0x89, 0x88, 0x9A, 0x88,
0xA8, 0x87, 0x77, 0x77, 0x8A, 0x88, 0xCB, 0x9C, 0xB8, 0xAC, 0x88, 0xC9, 0x8A, 0xFD, 0xCF, 0xFF, 0xEC, 0xEB, 0x89,
0xB8, 0x9B, 0x89, 0xED, 0xCE, 0xC8, 0x9A, 0x87, 0x77, 0x89, 0x88, 0xAB, 0x89, 0xA8, 0x87, 0x88, 0x78, 0x8B, 0x89,
0xDC, 0x9C, 0xC9, 0xBC, 0x88, 0xDA, 0x8B, 0xFE, 0xCF, 0xFF, 0xEC, 0xEB, 0x8A, 0xC9, 0xAC, 0x9A, 0xEE, 0xCE, 0xD8,
0x9A, 0x87, 0x77, 0x8A, 0x88, 0xBC, 0x9A, 0xB8, 0x98, 0x88, 0x78, 0x8B, 0x8A, 0xED, 0x9D, 0xC9, 0xCD, 0x89, 0xEB,
0x8C, 0xFE, 0xDF, 0xFF, 0xFD, 0xFC, 0x9B, 0xD9, 0xBD, 0x9A, 0xFE, 0xDF, 0xE9, 0xAB, 0x88, 0x77, 0x8A, 0x88, 0xCD,
0x9B, 0xC8, 0xA9, 0x88, 0x88, 0x9C, 0x9A, 0xED, 0xAD, 0xD9, 0xDE, 0x89, 0xEB, 0x9C, 0xFE, 0xEF, 0xFF, 0xFE, 0xFD,
0x9B, 0xD9, 0xBD, 0xAB, 0xFE, 0xDF, 0xE9, 0xBC, 0x88, 0x88, 0x8B, 0x98, 0xDD, 0xAB, 0xC9, 0xAA, 0x88, 0x88, 0xAD,
0x9B, 0xED, 0xBE, 0xE9, 0xDE, 0x99, 0xEC, 0x9D, 0xFE, 0xFF, 0xFF, 0xFF, 0xFD, 0xAC, 0xE9, 0xCE, 0xAC, 0xFE, 0xDF,
0xE9, 0xCC, 0x89, 0x88, 0x8C, 0x99, 0xEE, 0xAC, 0xC9, 0xBB, 0x88, 0x88, 0xAE, 0x9B, 0xFD, 0xBF, 0xE9, 0xEE, 0x99,
0xEC, 0x9D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xAD, 0xE9, 0xDE, 0xBD, 0xFE, 0xEF, 0xEA, 0xDD, 0x99, 0x88, 0x9D, 0xA9,
0xEE, 0xAD, 0xDA, 0xCC, 0x89, 0x88, 0xBE, 0xAC, 0xFE, 0xCF, 0xEA, 0xEE, 0xAA, 0xED, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF,
0xFE, 0xBE, 0xEA, 0xDF, 0xCE, 0xFE, 0xEF, 0xEB, 0xED, 0x9A, 0x88, 0xAD, 0xAA, 0xFE, 0xBE, 0xDA, 0xDC, 0x99, 0x98,
0xCE, 0xBD, 0xFE, 0xDF, 0xEA, 0xFF, 0xAB, 0xFD, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCE, 0xDA, 0xEF, 0xCE, 0xFE,
0xFF, 0xFC, 0xED, 0x9A, 0x88, 0xBE, 0xBB, 0xFE, 0xBE, 0xDB, 0xED, 0xAA, 0xA9, 0xDF, 0xBD, 0xFD, 0xEF, 0xEB, 0xFF,
0xBC, 0xFE, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDF, 0xEB, 0xEF, 0xDF, 0xFF, 0xFF, 0xFD, 0xFC, 0x9B, 0x99, 0xCE,
0xBC, 0xFE, 0xCF, 0xEC, 0xFE, 0xBB, 0xB9, 0xEF, 0xCE, 0xFD, 0xEF, 0xEC, 0xFF, 0xCD, 0xFE, 0xCE, 0xFE, 0xFF, 0xFF,
0xFF, 0xFE, 0xDF, 0xEC, 0xEF, 0xDF, 0xFF, 0xFF, 0xFD, 0xFC, 0xAC, 0xAA, 0xCE, 0xCD, 0xFE, 0xDF, 0xEC, 0xFE, 0xCC,
0xBA, 0xEF, 0xDE, 0xED, 0xFF, 0xED, 0xFF, 0xDD, 0xEE, 0xCF, 0xEE, 0xFF, 0xFF, 0xFF, 0xFE, 0xEF, 0xEC, 0xEF, 0xEF,
0xFF, 0xFF, 0xFE, 0xFC, 0xBC, 0xAB, 0xDD, 0xDD, 0xFE, 0xDF, 0xED, 0xFE, 0xCD, 0xCB, 0xFF, 0xEE, 0xEC, 0xFF, 0xDD,
0xFF, 0xEE, 0xEE, 0xDF, 0xEE, 0xFF, 0xFF, 0xFF, 0xFE, 0xEF, 0xED, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCD, 0xAC,
0xED, 0xDE, 0xFE, 0xEF, 0xFE, 0xFE, 0xDE, 0xDC, 0xFF, 0xEF, 0xEC, 0xFF, 0xDE, 0xFF, 0xFF, 0xEE, 0xEF, 0xEE, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCD, 0xAD, 0xFD, 0xDF, 0xFE, 0xEF, 0xFF, 0xFE,
0xEE, 0xED, 0xFF, 0xFF, 0xEC, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xFE,
0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xDD, 0xBE, 0xFD, 0xEF, 0xFF, 0xFF, 0xFF, 0xFE, 0xEF, 0xED, 0xFF, 0xFF, 0xEB, 0xFF,
0xDF, 0xFE, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xEE,
0xBE, 0xFD, 0xEF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xEE, 0xFF, 0xFF, 0xEB, 0xFF, 0xDF, 0xFE, 0xFF, 0xEF, 0xFF, 0xEF,
0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFE, 0xBF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF,
0xFE, 0xEF, 0xEE, 0xFF, 0xFF, 0xFC, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF,
0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xAF, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF, 0xFE, 0xEF, 0xEE, 0xFF, 0xFF, 0xFC,
0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xAF, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF, 0xFE, 0xEF, 0xEE, 0xFF, 0xFF, 0xFC, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0xFE, 0xFF, 0xFF, 0xFF,
0xEF, 0xFF, 0xEF, 0xED, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
Gfx sWipeDList[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_1PRIMITIVE,
G_AC_NONE | G_ZS_PRIM | G_RM_PASS | G_RM_AA_ZB_TEX_EDGE2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, COMBINED, 0,
PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0),
gsDPSetPrimDepth(0, 0),
gsDPLoadTextureBlock_4b(sWipeTexture, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6,
6, 11, G_TX_NOLOD),
gsDPLoadMultiBlock_4b(sWipeTexture, 0x0100, 1, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_MIRROR | G_TX_WRAP, 6, 6, 11, 1),
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPDisplayList(0x08000000),
gsSPVertex(sWipeVtx, 25, 0),
gsSP2Triangles(0, 1, 2, 0, 1, 3, 4, 0),
gsSP2Triangles(5, 6, 7, 0, 6, 8, 9, 0),
gsSP2Triangles(8, 10, 11, 0, 10, 12, 13, 0),
gsSP2Triangles(12, 14, 15, 0, 14, 16, 17, 0),
gsSP2Triangles(16, 18, 19, 0, 18, 20, 21, 0),
gsSP2Triangles(20, 22, 23, 0, 22, 0, 24, 0),
gsSPEndDisplayList(),
};
// unused.
Gfx sWipeSyncDList[] = {
gsDPPipeSync(),
gsSPEndDisplayList(),
};
void TransitionWipe_Start(TransitionWipe* this) {
this->isDone = 0;
if (this->direction) {
this->texY = 0x14D;
} else {
this->texY = 0x264;
}
guPerspective(&this->projection, &this->normal, 60.0f, (4.0 / 3.0f), 10.0f, 12800.0f, 1.0f);
guLookAt(&this->lookAt, 0.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
}
TransitionWipe* TransitionWipe_Init(TransitionWipe* this) {
bzero(this, sizeof(*this));
return this;
}
void TransitionWipe_Destroy(TransitionWipe* this) {
}
void TransitionWipe_Update(TransitionWipe* this, s32 updateRate) {
u8 unk1419;
if (this->direction != 0) {
unk1419 = gSaveContext.unk_1419;
this->texY += (unk1419 * 3) / updateRate;
if (this->texY >= 0x264) {
this->texY = 0x264;
this->isDone = 1;
}
} else {
unk1419 = gSaveContext.unk_1419;
this->texY -= (unk1419 * 3) / updateRate;
if (this->texY < 0x14E) {
this->texY = 0x14D;
this->isDone = 1;
}
}
}
void TransitionWipe_Draw(TransitionWipe* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
Mtx* modelView;
char pad[0x14];
Gfx* tex;
modelView = this->modelView[this->frame];
this->frame ^= 1;
guScale(&modelView[0], 0.56f, 0.56f, 1.0f);
guRotate(&modelView[1], 0.0f, 0.0f, 0.0f, 1.0f);
guTranslate(&modelView[2], 0.0f, 0.0f, 0.0f);
gDPPipeSync(gfx++);
tex = Gfx_BranchTexScroll(&gfx, this->texX, this->texY, 0, 0);
gSPSegment(gfx++, 8, tex);
gDPSetPrimColor(gfx++, 0, 0x80, this->color.r, this->color.g, this->color.b, 0xFF);
gSPMatrix(gfx++, &this->projection, G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfx++, this->normal);
gSPMatrix(gfx++, &this->lookAt, G_MTX_MUL | G_MTX_PROJECTION);
gSPMatrix(gfx++, &modelView[0], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gfx++, &modelView[1], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gfx++, &modelView[2], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gfx++, sWipeDList);
gDPPipeSync(gfx++);
*gfxP = gfx;
}
s32 TransitionWipe_IsDone(TransitionWipe* this) {
return this->isDone;
}
void TransitionWipe_SetType(TransitionWipe* this, s32 type) {
if (type == 1) {
this->direction = 1;
} else {
this->direction = 0;
}
if (this->direction != 0) {
this->texY = 0x14D;
} else {
this->texY = 0x264;
}
}
void TransitionWipe_SetColor(TransitionWipe* this, u32 color) {
this->color.rgba = color;
}
void TransitionWipe_SetEnvColor(TransitionWipe* this, u32 color) {
this->envColor.rgba = color;
}

View File

@ -651,7 +651,7 @@ void func_80083108(GlobalContext* globalCtx) {
Interface_ChangeAlpha(6);
}
if (globalCtx->unk_1241B != 0) {
if (globalCtx->transitionMode != 0) {
Interface_ChangeAlpha(1);
} else if (gSaveContext.minigameState == 1) {
Interface_ChangeAlpha(8);
@ -1047,7 +1047,7 @@ void func_80083108(GlobalContext* globalCtx) {
if (sp28) {
gSaveContext.unk_13EA = 0;
if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_1241B == 0)) {
if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0)) {
Interface_ChangeAlpha(50);
osSyncPrintf("???????? alpha_change( 50 ); ?????\n");
} else {
@ -1064,7 +1064,7 @@ void Interface_SetSceneRestrictions(GlobalContext* globalCtx) {
// clang-format off
interfaceCtx->restrictions.hGauge = interfaceCtx->restrictions.bButton =
interfaceCtx->restrictions.aButton = interfaceCtx->restrictions.bottles =
interfaceCtx->restrictions.tradeItems = interfaceCtx->restrictions.hookshot =
interfaceCtx->restrictions.tradeItems = interfaceCtx->restrictions.hookshot =
interfaceCtx->restrictions.ocarina = interfaceCtx->restrictions.warpSongs =
interfaceCtx->restrictions.sunsSong = interfaceCtx->restrictions.farores =
interfaceCtx->restrictions.dinsNayrus = interfaceCtx->restrictions.all = 0;
@ -2497,7 +2497,7 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
case 7:
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) &&
(globalCtx->msgCtx.msgMode == 0) && (globalCtx->unk_10A20 == 0) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->unk_1241B == 0) && !Gameplay_InCsMode(globalCtx)) {
(globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx)) {
if ((gSaveContext.magic == 0) || ((func_8008F2F8(globalCtx) >= 2) && (func_8008F2F8(globalCtx) < 5)) ||
((gSaveContext.equips.buttonItems[1] != ITEM_LENS) &&
(gSaveContext.equips.buttonItems[2] != ITEM_LENS) &&
@ -3099,7 +3099,7 @@ void func_8008A994(InterfaceContext* interfaceCtx) {
Viewport viewport;
// clang-format off
viewport.bottomY = SCREEN_HEIGHT; viewport.rightX = SCREEN_WIDTH;
viewport.bottomY = SCREEN_HEIGHT; viewport.rightX = SCREEN_WIDTH;
viewport.topY = 0; viewport.leftX = 0;
// clang-format on
@ -3574,7 +3574,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) && (globalCtx->unk_10A20 == 0) &&
(msgCtx->msgMode == 0) && !(player->stateFlags2 & 0x01000000) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->unk_1241B == 0) && !Gameplay_InCsMode(globalCtx) && (gSaveContext.minigameState != 1) &&
(globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx) && (gSaveContext.minigameState != 1) &&
(globalCtx->unk_11E5C < 2) &&
!((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) {
sp274 = 0;
@ -4136,7 +4136,7 @@ void Interface_Update(GlobalContext* globalCtx) {
if ((gSaveContext.timer1State >= 3) && (globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) &&
(msgCtx->msgMode == 0) && !(player->stateFlags2 & 0x01000000) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->unk_1241B == 0) && !Gameplay_InCsMode(globalCtx)) {}
(globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx)) {}
if (gSaveContext.rupeeAccumulator != 0) {
if (gSaveContext.rupeeAccumulator > 0) {
@ -4216,7 +4216,7 @@ void Interface_Update(GlobalContext* globalCtx) {
WREG(7) = interfaceCtx->unk_1F4;
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) && (msgCtx->msgMode == 0) &&
(globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_10A20 == 0) && (globalCtx->unk_1241B == 0) &&
(globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_10A20 == 0) && (globalCtx->transitionMode == 0) &&
((globalCtx->csCtx.state == 0) || !func_8008E988(globalCtx))) {
if ((gSaveContext.magicAcquired != 0) && (gSaveContext.magicLevel == 0)) {
gSaveContext.magicLevel = gSaveContext.doubleMagic + 1;

View File

@ -6,8 +6,8 @@ void* D_8012D1F0 = NULL;
UNK_TYPE D_8012D1F4 = 0; // unused
Input* D_8012D1F8 = NULL;
TransitionStruct D_801613B0;
s32 D_80161490;
TransitionUnk sTrnsnUnk;
s32 gTrnsnUnkState;
VisMonoStruct D_80161498;
Color_RGBA8 D_801614B0;
FaultClient D_801614B8;
@ -48,49 +48,49 @@ void func_800BC590(GlobalContext* globalCtx) {
#ifdef NON_MATCHING
// single minor ordering difference
void func_800BC5E0(GlobalContext* globalCtx, s32 arg1) {
void func_800BC5E0(GlobalContext* globalCtx, s32 transitionType) {
TransitionContext* transitionCtx = &globalCtx->transitionCtx;
bzero(transitionCtx, sizeof(TransitionContext));
transitionCtx->unk_228 = arg1;
transitionCtx->transitionType = transitionType;
if ((transitionCtx->unk_228 >> 5) == 1) {
transitionCtx->unk_22C = func_800B301C;
transitionCtx->unk_230 = func_800B3044;
transitionCtx->unk_23C = func_800B2E30;
transitionCtx->unk_24C = func_800B346C;
transitionCtx->unk_238 = func_800B31D0;
transitionCtx->unk_234 = func_800B304C;
transitionCtx->unk_240 = func_800B3474;
transitionCtx->unk_244 = func_800B34CC;
transitionCtx->unk_248 = func_800B34D4;
if ((transitionCtx->transitionType >> 5) == 1) {
transitionCtx->init = TransitionCircle_Init;
transitionCtx->destroy = TransitionCircle_Destroy;
transitionCtx->start = TransitionCircle_Start;
transitionCtx->isDone = TransitionCircle_IsDone;
transitionCtx->draw = TransitionCircle_Draw;
transitionCtx->update = TransitionCircle_Update;
transitionCtx->setType = TransitionCircle_SetType;
transitionCtx->setColor = TransitionCircle_SetColor;
transitionCtx->setEnvColor = TransitionCircle_SetEnvColor;
return;
}
switch (transitionCtx->unk_228) {
switch (transitionCtx->transitionType) {
case 1:
transitionCtx->unk_22C = func_800B2438;
transitionCtx->unk_230 = func_800B24D0;
transitionCtx->unk_23C = func_800B2400;
transitionCtx->unk_24C = func_800B2944;
transitionCtx->unk_238 = func_800B2604;
transitionCtx->unk_234 = func_800B24D8;
transitionCtx->unk_240 = func_800B25F4;
transitionCtx->unk_244 = func_800B25EC;
transitionCtx->unk_248 = NULL;
transitionCtx->init = TransitionTriforce_Init;
transitionCtx->destroy = TransitionTriforce_Destroy;
transitionCtx->start = TransitionTriforce_Start;
transitionCtx->isDone = TransitionTriforce_IsDone;
transitionCtx->draw = TransitionTriforce_Draw;
transitionCtx->update = TransitionTriforce_Update;
transitionCtx->setType = TransitionTriforce_SetType;
transitionCtx->setColor = TransitionTriforce_SetColor;
transitionCtx->setEnvColor = NULL;
return;
case 0:
case 8:
transitionCtx->unk_22C = func_800B2A88;
transitionCtx->unk_230 = func_800B2AB0;
transitionCtx->unk_23C = func_800B29D0;
transitionCtx->unk_24C = func_800B2DD4;
transitionCtx->unk_238 = func_800B2B98;
transitionCtx->unk_234 = func_800B2AB8;
transitionCtx->unk_240 = func_800B2DDC;
transitionCtx->unk_244 = func_800B2E1C;
transitionCtx->unk_248 = NULL;
transitionCtx->init = TransitionWipe_Init;
transitionCtx->destroy = TransitionWipe_Destroy;
transitionCtx->start = TransitionWipe_Start;
transitionCtx->isDone = TransitionWipe_IsDone;
transitionCtx->draw = TransitionWipe_Draw;
transitionCtx->update = TransitionWipe_Update;
transitionCtx->setType = TransitionWipe_SetType;
transitionCtx->setColor = TransitionWipe_SetColor;
transitionCtx->setEnvColor = NULL;
return;
case 2:
case 3:
@ -101,34 +101,34 @@ void func_800BC5E0(GlobalContext* globalCtx, s32 arg1) {
case 17:
case 18:
case 19:
transitionCtx->unk_22C = func_800B3538;
transitionCtx->unk_230 = func_800B3560;
transitionCtx->unk_23C = func_800B34E0;
transitionCtx->unk_24C = func_800B37DC;
transitionCtx->unk_238 = func_800B3718;
transitionCtx->unk_234 = func_800B3568;
transitionCtx->unk_240 = func_800B37EC;
transitionCtx->unk_244 = func_800B37E4;
transitionCtx->unk_248 = NULL;
transitionCtx->init = TransitionFade_Init;
transitionCtx->destroy = TransitionFade_Destroy;
transitionCtx->start = TransitionFade_Start;
transitionCtx->isDone = TransitionFade_IsDone;
transitionCtx->draw = TransitionFade_Draw;
transitionCtx->update = TransitionFade_Update;
transitionCtx->setType = TransitionFade_SetType;
transitionCtx->setColor = TransitionFade_SetColor;
transitionCtx->setEnvColor = NULL;
return;
case 9:
case 10:
globalCtx->unk_1241B = 4;
globalCtx->transitionMode = 4;
return;
case 11:
globalCtx->unk_1241B = 10;
globalCtx->transitionMode = 10;
return;
case 12:
globalCtx->unk_1241B = 7;
globalCtx->transitionMode = 7;
return;
case 14:
globalCtx->unk_1241B = 12;
globalCtx->transitionMode = 12;
return;
case 15:
globalCtx->unk_1241B = 14;
globalCtx->transitionMode = 14;
return;
case 16:
globalCtx->unk_1241B = 16;
globalCtx->transitionMode = 16;
return;
}
@ -139,7 +139,7 @@ void func_800BC5E0(GlobalContext* globalCtx, s32 arg1) {
#endif
void func_800BC88C(GlobalContext* globalCtx) {
globalCtx->transitionCtx.unk_228 = -1;
globalCtx->transitionCtx.transitionType = -1;
}
Gfx* func_800BC8A0(GlobalContext* globalCtx, Gfx* gfx) {
@ -161,19 +161,19 @@ void Gameplay_Destroy(GlobalContext* globalCtx) {
Effect_SS_Clear(globalCtx);
CollisionCheck_DestroyContext(globalCtx, &globalCtx->colChkCtx);
if (D_80161490 == 3) {
func_800B1DBC(&D_801613B0);
D_80161490 = 0;
if (gTrnsnUnkState == 3) {
TransitionUnk_Destroy(&sTrnsnUnk);
gTrnsnUnkState = 0;
}
if (globalCtx->unk_1241B == 3) {
globalCtx->transitionCtx.unk_230(&globalCtx->transitionCtx);
if (globalCtx->transitionMode == 3) {
globalCtx->transitionCtx.destroy(&globalCtx->transitionCtx.data);
func_800BC88C(globalCtx);
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
}
func_800B3968();
func_800B3560(&globalCtx->sub_1241C);
TransitionFade_Destroy(&globalCtx->transitionFade);
func_800AD054(&D_80161498);
if (gSaveContext.linkAge != globalCtx->linkAgeOnLoad) {
@ -336,8 +336,8 @@ void Gameplay_Init(GlobalContext* globalCtx) {
func_800C0EA8(&globalCtx->preRenderCtx);
func_800C0E70(&globalCtx->preRenderCtx, 0x140, 0xF0, 0, 0, 0);
func_800C0ED8(&globalCtx->preRenderCtx, 0x140, 0xF0, 0, 0);
D_80161490 = 0;
globalCtx->unk_1241B = 0;
gTrnsnUnkState = 0;
globalCtx->transitionMode = 0;
func_8008E6A0(&globalCtx->sub_7B8);
func_800FD9A0((u32)osGetTime());
Matrix_Init(&globalCtx->state);
@ -361,10 +361,10 @@ void Gameplay_Init(GlobalContext* globalCtx) {
}
func_800B3908();
func_800B3538(&globalCtx->sub_1241C);
func_800B37EC(&globalCtx->sub_1241C, 3);
func_800B37E4(&globalCtx->sub_1241C, RGBA8(0xA0, 0xA0, 0xA0, 0xFF));
func_800B34E0(&globalCtx->sub_1241C);
TransitionFade_Init(&globalCtx->transitionFade);
TransitionFade_SetType(&globalCtx->transitionFade, 3);
TransitionFade_SetColor(&globalCtx->transitionFade, RGBA8(0xA0, 0xA0, 0xA0, 0xFF));
TransitionFade_Start(&globalCtx->transitionFade);
func_800AD000(&D_80161498);
D_801614B0.a = 0x00;
func_8006C3A0(globalCtx);
@ -458,30 +458,30 @@ void Gameplay_Update(GlobalContext* globalCtx) {
gSegments[2] = PHYSICAL_TO_VIRTUAL(globalCtx->sceneSegment);
if (func_8008E6AC(&globalCtx->sub_7B8, &input[1]) != 0) {
if ((globalCtx->unk_1241B == 0) && (globalCtx->sceneLoadFlag != 0)) {
globalCtx->unk_1241B = 1;
if ((globalCtx->transitionMode == 0) && (globalCtx->sceneLoadFlag != 0)) {
globalCtx->transitionMode = 1;
}
if (D_80161490 != 0) {
switch (D_80161490) {
if (gTrnsnUnkState != 0) {
switch (gTrnsnUnkState) {
case 2:
if (func_800B1E84(&D_801613B0, 10, 7) == 0) {
if (TransitionUnk_Init(&sTrnsnUnk, 10, 7) == 0) {
osSyncPrintf("fbdemo_init呼出し失敗\n"); // "fbdemo_init call failed!"
D_80161490 = 0;
gTrnsnUnkState = 0;
} else {
D_801613B0.unk_DC = gZBuffer;
D_80161490 = 3;
sTrnsnUnk.zBuffer = gZBuffer;
gTrnsnUnkState = 3;
R_UPDATE_RATE = 1;
}
break;
case 3:
func_800B23E8(&D_801613B0);
func_800B23E8(&sTrnsnUnk);
break;
}
}
if (globalCtx->unk_1241B != 0) {
switch (globalCtx->unk_1241B) {
if (globalCtx->transitionMode != 0) {
switch (globalCtx->transitionMode) {
case 1:
if (globalCtx->sceneLoadFlag != -0x14) {
s16 sp6E = 0;
@ -508,78 +508,91 @@ void Gameplay_Update(GlobalContext* globalCtx) {
func_800BC5E0(globalCtx, CREG(12));
}
if (globalCtx->unk_1241B >= 4) {
if (globalCtx->transitionMode >= 4) {
break;
}
case 2:
globalCtx->transitionCtx.unk_22C(&globalCtx->transitionCtx);
globalCtx->transitionCtx.init(&globalCtx->transitionCtx.data);
if ((globalCtx->transitionCtx.unk_228 >> 5) == 1) {
globalCtx->transitionCtx.unk_240(&globalCtx->transitionCtx,
globalCtx->transitionCtx.unk_228 | 0x80);
if ((globalCtx->transitionCtx.transitionType >> 5) == 1) {
globalCtx->transitionCtx.setType(&globalCtx->transitionCtx.data,
globalCtx->transitionCtx.transitionType | 0x80);
}
gSaveContext.unk_1419 = 14;
if ((globalCtx->transitionCtx.unk_228 == 8) || (globalCtx->transitionCtx.unk_228 == 9)) {
if ((globalCtx->transitionCtx.transitionType == 8) ||
(globalCtx->transitionCtx.transitionType == 9)) {
gSaveContext.unk_1419 = 28;
}
gSaveContext.fadeDuration = 60;
if ((globalCtx->transitionCtx.unk_228 == 4) || (globalCtx->transitionCtx.unk_228 == 5)) {
if ((globalCtx->transitionCtx.transitionType == 4) ||
(globalCtx->transitionCtx.transitionType == 5)) {
gSaveContext.fadeDuration = 20;
} else if ((globalCtx->transitionCtx.unk_228 == 6) || (globalCtx->transitionCtx.unk_228 == 7)) {
} else if ((globalCtx->transitionCtx.transitionType == 6) ||
(globalCtx->transitionCtx.transitionType == 7)) {
gSaveContext.fadeDuration = 150;
} else if (globalCtx->transitionCtx.unk_228 == 17) {
} else if (globalCtx->transitionCtx.transitionType == 17) {
gSaveContext.fadeDuration = 2;
}
if ((globalCtx->transitionCtx.unk_228 == 3) || (globalCtx->transitionCtx.unk_228 == 5) ||
(globalCtx->transitionCtx.unk_228 == 7) || (globalCtx->transitionCtx.unk_228 == 13) ||
(globalCtx->transitionCtx.unk_228 == 17)) {
globalCtx->transitionCtx.unk_244(&globalCtx->transitionCtx, RGBA8(0xA0, 0xA0, 0xA0, 0xFF));
if (globalCtx->transitionCtx.unk_248 != NULL) {
globalCtx->transitionCtx.unk_248(&globalCtx->transitionCtx, RGBA8(0xA0, 0xA0, 0xA0, 0xFF));
if ((globalCtx->transitionCtx.transitionType == 3) ||
(globalCtx->transitionCtx.transitionType == 5) ||
(globalCtx->transitionCtx.transitionType == 7) ||
(globalCtx->transitionCtx.transitionType == 13) ||
(globalCtx->transitionCtx.transitionType == 17)) {
globalCtx->transitionCtx.setColor(&globalCtx->transitionCtx.data,
RGBA8(0xA0, 0xA0, 0xA0, 0xFF));
if (globalCtx->transitionCtx.setEnvColor != NULL) {
globalCtx->transitionCtx.setEnvColor(&globalCtx->transitionCtx.data,
RGBA8(0xA0, 0xA0, 0xA0, 0xFF));
}
} else if (globalCtx->transitionCtx.unk_228 == 18) {
globalCtx->transitionCtx.unk_244(&globalCtx->transitionCtx, RGBA8(0x8C, 0x8C, 0x64, 0xFF));
if (globalCtx->transitionCtx.unk_248 != NULL) {
globalCtx->transitionCtx.unk_248(&globalCtx->transitionCtx, RGBA8(0x8C, 0x8C, 0x64, 0xFF));
} else if (globalCtx->transitionCtx.transitionType == 18) {
globalCtx->transitionCtx.setColor(&globalCtx->transitionCtx.data,
RGBA8(0x8C, 0x8C, 0x64, 0xFF));
if (globalCtx->transitionCtx.setEnvColor != NULL) {
globalCtx->transitionCtx.setEnvColor(&globalCtx->transitionCtx.data,
RGBA8(0x8C, 0x8C, 0x64, 0xFF));
}
} else if (globalCtx->transitionCtx.unk_228 == 19) {
globalCtx->transitionCtx.unk_244(&globalCtx->transitionCtx, RGBA8(0x46, 0x64, 0x6E, 0xFF));
if (globalCtx->transitionCtx.unk_248 != NULL) {
globalCtx->transitionCtx.unk_248(&globalCtx->transitionCtx, RGBA8(0x46, 0x64, 0x6E, 0xFF));
} else if (globalCtx->transitionCtx.transitionType == 19) {
globalCtx->transitionCtx.setColor(&globalCtx->transitionCtx.data,
RGBA8(0x46, 0x64, 0x6E, 0xFF));
if (globalCtx->transitionCtx.setEnvColor != NULL) {
globalCtx->transitionCtx.setEnvColor(&globalCtx->transitionCtx.data,
RGBA8(0x46, 0x64, 0x6E, 0xFF));
}
} else {
globalCtx->transitionCtx.unk_244(&globalCtx->transitionCtx, RGBA8(0x00, 0x00, 0x00, 0x00));
if (globalCtx->transitionCtx.unk_248 != NULL) {
globalCtx->transitionCtx.unk_248(&globalCtx->transitionCtx, RGBA8(0x00, 0x00, 0x00, 0x00));
globalCtx->transitionCtx.setColor(&globalCtx->transitionCtx.data,
RGBA8(0x00, 0x00, 0x00, 0x00));
if (globalCtx->transitionCtx.setEnvColor != NULL) {
globalCtx->transitionCtx.setEnvColor(&globalCtx->transitionCtx.data,
RGBA8(0x00, 0x00, 0x00, 0x00));
}
}
if (globalCtx->sceneLoadFlag == -0x14) {
globalCtx->transitionCtx.unk_240(&globalCtx->transitionCtx, 1);
globalCtx->transitionCtx.setType(&globalCtx->transitionCtx.data, 1);
} else {
globalCtx->transitionCtx.unk_240(&globalCtx->transitionCtx, 2);
globalCtx->transitionCtx.setType(&globalCtx->transitionCtx.data, 2);
}
globalCtx->transitionCtx.unk_23C(&globalCtx->transitionCtx);
globalCtx->transitionCtx.start(&globalCtx->transitionCtx);
if (globalCtx->transitionCtx.unk_228 == 13) {
globalCtx->unk_1241B = 11;
if (globalCtx->transitionCtx.transitionType == 13) {
globalCtx->transitionMode = 11;
} else {
globalCtx->unk_1241B = 3;
globalCtx->transitionMode = 3;
}
break;
case 3:
if (globalCtx->transitionCtx.unk_24C(&globalCtx->transitionCtx) != 0) {
if (globalCtx->transitionCtx.unk_228 >= 56) {
if (globalCtx->transitionCtx.isDone(&globalCtx->transitionCtx) != 0) {
if (globalCtx->transitionCtx.transitionType >= 56) {
if (globalCtx->sceneLoadFlag == -0x14) {
globalCtx->transitionCtx.unk_230(&globalCtx->transitionCtx);
globalCtx->transitionCtx.destroy(&globalCtx->transitionCtx);
func_800BC88C(globalCtx);
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
}
} else if (globalCtx->sceneLoadFlag != -0x14) {
globalCtx->state.running = 0;
@ -593,23 +606,23 @@ void Gameplay_Update(GlobalContext* globalCtx) {
SET_NEXT_GAMESTATE(&globalCtx->state, func_80811A20, char[0x1CAE0]);
}
} else {
globalCtx->transitionCtx.unk_230(&globalCtx->transitionCtx);
globalCtx->transitionCtx.destroy(&globalCtx->transitionCtx);
func_800BC88C(globalCtx);
globalCtx->unk_1241B = 0;
if (D_80161490 == 3) {
func_800B1DBC(&D_801613B0);
D_80161490 = 0;
globalCtx->transitionMode = 0;
if (gTrnsnUnkState == 3) {
TransitionUnk_Destroy(&sTrnsnUnk);
gTrnsnUnkState = 0;
R_UPDATE_RATE = 3;
}
}
globalCtx->sceneLoadFlag = 0;
} else {
globalCtx->transitionCtx.unk_234(&globalCtx->transitionCtx, R_UPDATE_RATE);
globalCtx->transitionCtx.update(&globalCtx->transitionCtx.data, R_UPDATE_RATE);
}
break;
}
switch (globalCtx->unk_1241B) {
switch (globalCtx->transitionMode) {
case 4:
D_801614C8 = 0;
globalCtx->envCtx.unk_E1 = 1;
@ -618,10 +631,10 @@ void Gameplay_Update(GlobalContext* globalCtx) {
globalCtx->envCtx.unk_E2[2] = 0xA0;
if (globalCtx->sceneLoadFlag != -0x14) {
globalCtx->envCtx.unk_E2[3] = 0;
globalCtx->unk_1241B = 5;
globalCtx->transitionMode = 5;
} else {
globalCtx->envCtx.unk_E2[3] = 0xFF;
globalCtx->unk_1241B = 6;
globalCtx->transitionMode = 6;
}
break;
@ -632,7 +645,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
SET_NEXT_GAMESTATE(&globalCtx->state, Gameplay_Init, GlobalContext);
gSaveContext.entranceIndex = globalCtx->nextEntranceIndex;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
} else {
D_801614C8++;
}
@ -641,10 +654,10 @@ void Gameplay_Update(GlobalContext* globalCtx) {
case 6:
globalCtx->envCtx.unk_E2[3] = (1 - D_801614C8 / 20.0f) * 255.0f;
if (D_801614C8 >= 20 && 1) {
D_80161490 = 0;
gTrnsnUnkState = 0;
R_UPDATE_RATE = 3;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
globalCtx->envCtx.unk_E1 = 0;
} else {
D_801614C8++;
@ -659,10 +672,10 @@ void Gameplay_Update(GlobalContext* globalCtx) {
globalCtx->envCtx.unk_E2[2] = 0x96;
if (globalCtx->sceneLoadFlag != -0x14) {
globalCtx->envCtx.unk_E2[3] = 0;
globalCtx->unk_1241B = 5;
globalCtx->transitionMode = 5;
} else {
globalCtx->envCtx.unk_E2[3] = 0xFF;
globalCtx->unk_1241B = 6;
globalCtx->transitionMode = 6;
}
break;
@ -673,30 +686,30 @@ void Gameplay_Update(GlobalContext* globalCtx) {
SET_NEXT_GAMESTATE(&globalCtx->state, Gameplay_Init, GlobalContext);
gSaveContext.entranceIndex = globalCtx->nextEntranceIndex;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
} else {
D_80161490 = 0;
gTrnsnUnkState = 0;
R_UPDATE_RATE = 3;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
}
break;
case 11:
if (gSaveContext.unk_1410 != 0) {
globalCtx->unk_1241B = 3;
globalCtx->transitionMode = 3;
}
break;
case 12:
if (globalCtx->sceneLoadFlag != -0x14) {
globalCtx->envCtx.unk_E6 = 1;
globalCtx->unk_1241B = 13;
globalCtx->transitionMode = 13;
} else {
globalCtx->envCtx.unk_E6 = 2;
globalCtx->envCtx.unk_E7 = 0xFF;
globalCtx->envCtx.unk_E8 = 0xFF;
globalCtx->unk_1241B = 13;
globalCtx->transitionMode = 13;
}
break;
@ -704,10 +717,10 @@ void Gameplay_Update(GlobalContext* globalCtx) {
Audio_PlaySoundGeneral(0x20C0, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
if (globalCtx->sceneLoadFlag == -0x14) {
if (globalCtx->envCtx.unk_E7 < 0x6E) {
D_80161490 = 0;
gTrnsnUnkState = 0;
R_UPDATE_RATE = 3;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
}
} else {
if (globalCtx->envCtx.unk_E8 == 0xFF) {
@ -716,7 +729,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
SET_NEXT_GAMESTATE(&globalCtx->state, Gameplay_Init, GlobalContext);
gSaveContext.entranceIndex = globalCtx->nextEntranceIndex;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
}
}
break;
@ -727,9 +740,9 @@ void Gameplay_Update(GlobalContext* globalCtx) {
globalCtx->envCtx.unk_E7 = 0xFF;
globalCtx->envCtx.unk_E8 = 0xFF;
LOG_STRING("来た!!!!!!!!!!!!!!!!!!!!!", "../z_play.c", 3471); // "It's here!!!!!!!!!"
globalCtx->unk_1241B = 15;
globalCtx->transitionMode = 15;
} else {
globalCtx->unk_1241B = 12;
globalCtx->transitionMode = 12;
}
break;
@ -737,10 +750,10 @@ void Gameplay_Update(GlobalContext* globalCtx) {
Audio_PlaySoundGeneral(0x20C0, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
if (globalCtx->sceneLoadFlag == -0x14) {
if (globalCtx->envCtx.unk_E7 <= 0) {
D_80161490 = 0;
gTrnsnUnkState = 0;
R_UPDATE_RATE = 3;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
}
}
break;
@ -752,17 +765,17 @@ void Gameplay_Update(GlobalContext* globalCtx) {
globalCtx->envCtx.unk_E2[1] = 0;
globalCtx->envCtx.unk_E2[2] = 0;
globalCtx->envCtx.unk_E2[3] = 0xFF;
globalCtx->unk_1241B = 17;
globalCtx->transitionMode = 17;
break;
case 17:
if (gSaveContext.unk_1410 != 0) {
globalCtx->envCtx.unk_E2[3] = gSaveContext.unk_1410;
if (gSaveContext.unk_1410 < 0x65) {
D_80161490 = 0;
gTrnsnUnkState = 0;
R_UPDATE_RATE = 3;
globalCtx->sceneLoadFlag = 0;
globalCtx->unk_1241B = 0;
globalCtx->transitionMode = 0;
}
}
break;
@ -774,7 +787,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
}
temp = HREG(63);
if (1 && (D_80161490 != 3)) {
if (1 && (gTrnsnUnkState != 3)) {
if (1 && temp) {
LOG_NUM("1", 1, "../z_play.c", 3542);
}
@ -989,7 +1002,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
LOG_NUM("1", 1, "../z_play.c", 3783);
}
func_800B3568(&globalCtx->sub_1241C, R_UPDATE_RATE);
TransitionFade_Update(&globalCtx->transitionFade, R_UPDATE_RATE);
}
}
@ -1116,11 +1129,11 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
if ((HREG(80) != 10) || (HREG(92) != 0)) {
Gfx* sp1CC = gfxCtx->polyOpa.p;
Gfx* sp1D0 = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, sp1D0);
Gfx* gfxP = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
gSPDisplayList(gfxCtx->overlay.p++, gfxP);
if ((globalCtx->unk_1241B == 3) || (globalCtx->unk_1241B == 11) ||
(globalCtx->transitionCtx.unk_228 >= 56)) {
if ((globalCtx->transitionMode == 3) || (globalCtx->transitionMode == 11) ||
(globalCtx->transitionCtx.transitionType >= 56)) {
View view; // 0xA0
Viewport viewport; // 0x90
@ -1133,25 +1146,25 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
// clang-format on
View_SetViewport(&view, &viewport);
func_800AB9EC(&view, 15, &sp1D0);
globalCtx->transitionCtx.unk_238(&globalCtx->transitionCtx, &sp1D0);
func_800AB9EC(&view, 15, &gfxP);
globalCtx->transitionCtx.draw(&globalCtx->transitionCtx.data, &gfxP);
}
func_800B3718(&globalCtx->sub_1241C, &sp1D0);
TransitionFade_Draw(&globalCtx->transitionFade, &gfxP);
if (D_801614B0.a > 0x00) {
D_80161498.color.rgba = D_801614B0.rgba;
func_800AD5C0(&D_80161498, &sp1D0);
func_800AD5C0(&D_80161498, &gfxP);
}
gSPEndDisplayList(sp1D0++);
Graph_BranchDlist(sp1CC, sp1D0);
gfxCtx->polyOpa.p = sp1D0;
gSPEndDisplayList(gfxP++);
Graph_BranchDlist(sp1CC, gfxP);
gfxCtx->polyOpa.p = gfxP;
}
if (D_80161490 == 3) {
if (gTrnsnUnkState == 3) {
Gfx* sp88 = gfxCtx->polyOpa.p;
func_800B2188(&D_801613B0, &sp88);
TransitionUnk_Draw(&sTrnsnUnk, &sp88);
gfxCtx->polyOpa.p = sp88;
goto Gameplay_Draw_DrawOverlayElements;
} else {
@ -1282,7 +1295,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
DebugDisplay_DrawObjects(globalCtx);
}
if ((R_PAUSE_MENU_MODE == 1) || (D_80161490 == 1)) {
if ((R_PAUSE_MENU_MODE == 1) || (gTrnsnUnkState == 1)) {
Gfx* sp70 = gfxCtx->overlay.p;
globalCtx->preRenderCtx.unk_10 = gfxCtx->curFrameBuffer;
globalCtx->preRenderCtx.unk_14 = gZBuffer;
@ -1292,7 +1305,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
func_800C20B4(&globalCtx->preRenderCtx, &sp70);
R_PAUSE_MENU_MODE = 2;
} else {
D_80161490 = 2;
gTrnsnUnkState = 2;
}
gfxCtx->overlay.p = sp70;
globalCtx->preRenderCtx.unk_A3 = 2;

View File

@ -1371,21 +1371,17 @@ void func_80094D4C(GraphicsContext* gfxCtx) {
Graph_CloseDisps(dispRefs, gfxCtx, "../z_rcp.c", 2116);
}
#ifdef NON_MATCHING
// regalloc differences
void Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height) {
Gfx* Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height) {
Gfx* displayList = Graph_DlistAlloc(gfxp, 3 * sizeof(Gfx));
gDPTileSync(displayList);
gDPSetTileSize(displayList + 1, 0, x, y, (x + ((width - 1) << 2)), (y + ((height - 1) << 2)));
gSPEndDisplayList(displayList + 2);
return displayList;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/Gfx_BranchTexScroll.s")
#endif
void func_80094E54(Gfx** gfxp, u32 x, u32 y) {
Gfx_BranchTexScroll(gfxp, x, y, 0, 0);
Gfx* func_80094E54(Gfx** gfxp, u32 x, u32 y) {
return Gfx_BranchTexScroll(gfxp, x, y, 0, 0);
}
Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y) {
@ -1474,7 +1470,7 @@ void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
gDPSetDepthImage(gfxCtx->polyXlu.p++, gZBuffer);
gDPSetDepthImage(gfxCtx->overlay.p++, gZBuffer);
if ((R_PAUSE_MENU_MODE < 2) && (D_80161490 < 2)) {
if ((R_PAUSE_MENU_MODE < 2) && (gTrnsnUnkState < 2)) {
ret = func_800B38FC();
if (HREG(80) == 16) {

View File

@ -351,8 +351,8 @@ s32 func_800AAA9C(View* view) {
}
func_800ABE74(view->eye.x, view->eye.y, view->eye.z);
guLookAtReflect(viewing, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y, view->unk_34.z,
view->unk_40.x, view->unk_40.y, view->unk_40.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y, view->unk_34.z,
view->unk_40.x, view->unk_40.y, view->unk_40.z);
view->viewing = *viewing;
@ -500,8 +500,8 @@ s32 func_800AB560(View* view) {
}
func_800ABE74(view->eye.x, view->eye.y, view->eye.z);
guLookAtReflect(viewing, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y, view->unk_34.z,
view->unk_40.x, view->unk_40.y, view->unk_40.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y, view->unk_34.z,
view->unk_40.x, view->unk_40.y, view->unk_40.z);
view->viewing = *viewing;
@ -518,8 +518,8 @@ s32 func_800AB944(View* view) {
Graph_OpenDisps(dispRefs, view->gfxCtx, "../z_view.c", 878);
func_800ABE74(view->eye.x, view->eye.y, view->eye.z);
guLookAtReflect(view->viewingPtr, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y,
view->unk_34.z, view->unk_40.x, view->unk_40.y, view->unk_40.z);
guLookAt(view->viewingPtr, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y, view->unk_34.z,
view->unk_40.x, view->unk_40.y, view->unk_40.z);
Graph_CloseDisps(dispRefs, view->gfxCtx, "../z_view.c", 886);
@ -582,8 +582,8 @@ s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) {
view->viewingPtr = viewing;
func_800ABE74(view->eye.x, view->eye.y, view->eye.z);
guLookAtReflect(viewing, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y, view->unk_34.z,
view->unk_40.x, view->unk_40.y, view->unk_40.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->unk_34.x, view->unk_34.y, view->unk_34.z,
view->unk_40.x, view->unk_40.y, view->unk_40.z);
view->viewing = *viewing;

View File

@ -0,0 +1,6 @@
#include <ultra64.h>
#include <global.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/guLookAt/guLookAtF.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/guLookAt/guLookAt.s")

View File

@ -1,6 +0,0 @@
#include <ultra64.h>
#include <global.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/guLookAtRef/guLookAtReflectF.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/guLookAtRef/guLookAtReflect.s")

View File

@ -75,7 +75,7 @@ void EnOkarinaEffect_TriggerStorm(EnOkarinaEffect* this, GlobalContext* globalCt
void EnOkarinaEffect_ManageStorm(EnOkarinaEffect* this, GlobalContext* globalCtx) {
func_8006C438(globalCtx, 5); // clear bean grow env flag
if (((globalCtx->pauseCtx.state == 0) && (globalCtx->unk_10A20 == 0) && (globalCtx->msgCtx.unk_E300 == 0) &&
(func_800C0D28(globalCtx) == 0) && ((globalCtx->unk_1241B == 0) || (gSaveContext.gameMode != 0))) ||
(func_800C0D28(globalCtx) == 0) && ((globalCtx->transitionMode == 0) || (gSaveContext.gameMode != 0))) ||
(this->timer >= 250)) {
if (globalCtx->envCtx.unk_1E != 0 || globalCtx->envCtx.unk_1F != 1) {
this->timer--;