mirror of https://github.com/n64decomp/mk64.git
Match a couple functions and migrate assets related to HUD Type C (#328)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
parent
aaa2707e11
commit
178dfc5591
|
@ -1,356 +0,0 @@
|
|||
glabel func_8004FDB4
|
||||
/* 0509B4 8004FDB4 27BDFF58 */ addiu $sp, $sp, -0xa8
|
||||
/* 0509B8 8004FDB8 3C18800E */ lui $t8, %hi(gCurrentCourseId) # $t8, 0x800e
|
||||
/* 0509BC 8004FDBC 8718C5A0 */ lh $t8, %lo(gCurrentCourseId)($t8)
|
||||
/* 0509C0 8004FDC0 00077400 */ sll $t6, $a3, 0x10
|
||||
/* 0509C4 8004FDC4 24010004 */ li $at, 4
|
||||
/* 0509C8 8004FDC8 000E7C03 */ sra $t7, $t6, 0x10
|
||||
/* 0509CC 8004FDCC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 0509D0 8004FDD0 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0509D4 8004FDD4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0509D8 8004FDD8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0509DC 8004FDDC AFA600B0 */ sw $a2, 0xb0($sp)
|
||||
/* 0509E0 8004FDE0 17010055 */ bne $t8, $at, .L8004FF38
|
||||
/* 0509E4 8004FDE4 AFA700B4 */ sw $a3, 0xb4($sp)
|
||||
/* 0509E8 8004FDE8 29E10003 */ slti $at, $t7, 3
|
||||
/* 0509EC 8004FDEC 10200052 */ beqz $at, .L8004FF38
|
||||
/* 0509F0 8004FDF0 8FB900C8 */ lw $t9, 0xc8($sp)
|
||||
/* 0509F4 8004FDF4 57200051 */ bnel $t9, $zero, .L8004FF3C
|
||||
/* 0509F8 8004FDF8 4600620D */ trunc.w.s $f8, $f12
|
||||
/* 0509FC 8004FDFC 4600610D */ trunc.w.s $f4, $f12
|
||||
/* 050A00 8004FE00 00003025 */ move $a2, $zero
|
||||
/* 050A04 8004FE04 3C073F80 */ lui $a3, 0x3f80
|
||||
/* 050A08 8004FE08 4600718D */ trunc.w.s $f6, $f14
|
||||
/* 050A0C 8004FE0C 44042000 */ mfc1 $a0, $f4
|
||||
/* 050A10 8004FE10 44053000 */ mfc1 $a1, $f6
|
||||
/* 050A14 8004FE14 0C0108CC */ jal func_80042330
|
||||
/* 050A18 8004FE18 00000000 */ nop
|
||||
/* 050A1C 8004FE1C 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015
|
||||
/* 050A20 8004FE20 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298
|
||||
/* 050A24 8004FE24 8E300000 */ lw $s0, ($s1)
|
||||
/* 050A28 8004FE28 3C0F0D00 */ lui $t7, %hi(D_0D007DB8) # $t7, 0xd00
|
||||
/* 050A2C 8004FE2C 3C120600 */ lui $s2, 0x600
|
||||
/* 050A30 8004FE30 260E0008 */ addiu $t6, $s0, 8
|
||||
/* 050A34 8004FE34 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 050A38 8004FE38 25EF7DB8 */ addiu $t7, %lo(D_0D007DB8) # addiu $t7, $t7, 0x7db8
|
||||
/* 050A3C 8004FE3C 3C078019 */ lui $a3, %hi(D_8018D3E0) # $a3, 0x8019
|
||||
/* 050A40 8004FE40 AE0F0004 */ sw $t7, 4($s0)
|
||||
/* 050A44 8004FE44 AE120000 */ sw $s2, ($s0)
|
||||
/* 050A48 8004FE48 8CE7D3E0 */ lw $a3, %lo(D_8018D3E0)($a3)
|
||||
/* 050A4C 8004FE4C 240400FF */ li $a0, 255
|
||||
/* 050A50 8004FE50 240500FF */ li $a1, 255
|
||||
/* 050A54 8004FE54 0C012CD7 */ jal func_8004B35C
|
||||
/* 050A58 8004FE58 240600FF */ li $a2, 255
|
||||
/* 050A5C 8004FE5C 8E300000 */ lw $s0, ($s1)
|
||||
/* 050A60 8004FE60 3C0C0D02 */ lui $t4, %hi(gTLUTPortraitBombKartAndQuestionMark) # $t4, 0xd02
|
||||
/* 050A64 8004FE64 258CB4D8 */ addiu $t4, %lo(gTLUTPortraitBombKartAndQuestionMark) # addiu $t4, $t4, -0x4b28
|
||||
/* 050A68 8004FE68 26180008 */ addiu $t8, $s0, 8
|
||||
/* 050A6C 8004FE6C AE380000 */ sw $t8, ($s1)
|
||||
/* 050A70 8004FE70 3C19FD10 */ lui $t9, 0xfd10
|
||||
/* 050A74 8004FE74 AE190000 */ sw $t9, ($s0)
|
||||
/* 050A78 8004FE78 AE0C0004 */ sw $t4, 4($s0)
|
||||
/* 050A7C 8004FE7C 8E300000 */ lw $s0, ($s1)
|
||||
/* 050A80 8004FE80 3C0EE800 */ lui $t6, 0xe800
|
||||
/* 050A84 8004FE84 3C18F500 */ lui $t8, (0xF5000100 >> 16) # lui $t8, 0xf500
|
||||
/* 050A88 8004FE88 260D0008 */ addiu $t5, $s0, 8
|
||||
/* 050A8C 8004FE8C AE2D0000 */ sw $t5, ($s1)
|
||||
/* 050A90 8004FE90 AE000004 */ sw $zero, 4($s0)
|
||||
/* 050A94 8004FE94 AE0E0000 */ sw $t6, ($s0)
|
||||
/* 050A98 8004FE98 8E300000 */ lw $s0, ($s1)
|
||||
/* 050A9C 8004FE9C 37180100 */ ori $t8, (0xF5000100 & 0xFFFF) # ori $t8, $t8, 0x100
|
||||
/* 050AA0 8004FEA0 3C190700 */ lui $t9, 0x700
|
||||
/* 050AA4 8004FEA4 260F0008 */ addiu $t7, $s0, 8
|
||||
/* 050AA8 8004FEA8 AE2F0000 */ sw $t7, ($s1)
|
||||
/* 050AAC 8004FEAC AE190004 */ sw $t9, 4($s0)
|
||||
/* 050AB0 8004FEB0 AE180000 */ sw $t8, ($s0)
|
||||
/* 050AB4 8004FEB4 8E300000 */ lw $s0, ($s1)
|
||||
/* 050AB8 8004FEB8 3C0DE600 */ lui $t5, 0xe600
|
||||
/* 050ABC 8004FEBC 3C18073F */ lui $t8, (0x073FC000 >> 16) # lui $t8, 0x73f
|
||||
/* 050AC0 8004FEC0 260C0008 */ addiu $t4, $s0, 8
|
||||
/* 050AC4 8004FEC4 AE2C0000 */ sw $t4, ($s1)
|
||||
/* 050AC8 8004FEC8 AE000004 */ sw $zero, 4($s0)
|
||||
/* 050ACC 8004FECC AE0D0000 */ sw $t5, ($s0)
|
||||
/* 050AD0 8004FED0 8E300000 */ lw $s0, ($s1)
|
||||
/* 050AD4 8004FED4 3718C000 */ ori $t8, (0x073FC000 & 0xFFFF) # ori $t8, $t8, 0xc000
|
||||
/* 050AD8 8004FED8 3C0FF000 */ lui $t7, 0xf000
|
||||
/* 050ADC 8004FEDC 260E0008 */ addiu $t6, $s0, 8
|
||||
/* 050AE0 8004FEE0 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 050AE4 8004FEE4 AE180004 */ sw $t8, 4($s0)
|
||||
/* 050AE8 8004FEE8 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 050AEC 8004FEEC 8E300000 */ lw $s0, ($s1)
|
||||
/* 050AF0 8004FEF0 3C0CE700 */ lui $t4, 0xe700
|
||||
/* 050AF4 8004FEF4 3C040D02 */ lui $a0, %hi(gTexturePortraitQuestionMark) # $a0, 0xd02
|
||||
/* 050AF8 8004FEF8 26190008 */ addiu $t9, $s0, 8
|
||||
/* 050AFC 8004FEFC AE390000 */ sw $t9, ($s1)
|
||||
/* 050B00 8004FF00 2484DAD8 */ addiu $a0, %lo(gTexturePortraitQuestionMark) # addiu $a0, $a0, -0x2528
|
||||
/* 050B04 8004FF04 24050020 */ li $a1, 32
|
||||
/* 050B08 8004FF08 24060020 */ li $a2, 32
|
||||
/* 050B0C 8004FF0C AE000004 */ sw $zero, 4($s0)
|
||||
/* 050B10 8004FF10 0C0114A9 */ jal func_800452A4
|
||||
/* 050B14 8004FF14 AE0C0000 */ sw $t4, ($s0)
|
||||
/* 050B18 8004FF18 8E300000 */ lw $s0, ($s1)
|
||||
/* 050B1C 8004FF1C 3C0E0D00 */ lui $t6, %hi(D_0D0069E0) # $t6, 0xd00
|
||||
/* 050B20 8004FF20 25CE69E0 */ addiu $t6, %lo(D_0D0069E0) # addiu $t6, $t6, 0x69e0
|
||||
/* 050B24 8004FF24 260D0008 */ addiu $t5, $s0, 8
|
||||
/* 050B28 8004FF28 AE2D0000 */ sw $t5, ($s1)
|
||||
/* 050B2C 8004FF2C AE0E0004 */ sw $t6, 4($s0)
|
||||
/* 050B30 8004FF30 100000F5 */ b .L80050308
|
||||
/* 050B34 8004FF34 AE120000 */ sw $s2, ($s0)
|
||||
.L8004FF38:
|
||||
/* 050B38 8004FF38 4600620D */ trunc.w.s $f8, $f12
|
||||
.L8004FF3C:
|
||||
/* 050B3C 8004FF3C 00003025 */ move $a2, $zero
|
||||
/* 050B40 8004FF40 3C073F80 */ lui $a3, 0x3f80
|
||||
/* 050B44 8004FF44 4600728D */ trunc.w.s $f10, $f14
|
||||
/* 050B48 8004FF48 44044000 */ mfc1 $a0, $f8
|
||||
/* 050B4C 8004FF4C E7AC00A8 */ swc1 $f12, 0xa8($sp)
|
||||
/* 050B50 8004FF50 E7AE00AC */ swc1 $f14, 0xac($sp)
|
||||
/* 050B54 8004FF54 44055000 */ mfc1 $a1, $f10
|
||||
/* 050B58 8004FF58 AFA40034 */ sw $a0, 0x34($sp)
|
||||
/* 050B5C 8004FF5C 0C0108CC */ jal func_80042330
|
||||
/* 050B60 8004FF60 AFA50030 */ sw $a1, 0x30($sp)
|
||||
/* 050B64 8004FF64 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015
|
||||
/* 050B68 8004FF68 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298
|
||||
/* 050B6C 8004FF6C 8E300000 */ lw $s0, ($s1)
|
||||
/* 050B70 8004FF70 3C030D00 */ lui $v1, %hi(D_0D007DB8) # $v1, 0xd00
|
||||
/* 050B74 8004FF74 3C120600 */ lui $s2, 0x600
|
||||
/* 050B78 8004FF78 26190008 */ addiu $t9, $s0, 8
|
||||
/* 050B7C 8004FF7C AE390000 */ sw $t9, ($s1)
|
||||
/* 050B80 8004FF80 24637DB8 */ addiu $v1, %lo(D_0D007DB8) # addiu $v1, $v1, 0x7db8
|
||||
/* 050B84 8004FF84 AE030004 */ sw $v1, 4($s0)
|
||||
/* 050B88 8004FF88 AE120000 */ sw $s2, ($s0)
|
||||
/* 050B8C 8004FF8C AFA3002C */ sw $v1, 0x2c($sp)
|
||||
/* 050B90 8004FF90 8FA700BC */ lw $a3, 0xbc($sp)
|
||||
/* 050B94 8004FF94 240400FF */ li $a0, 255
|
||||
/* 050B98 8004FF98 240500FF */ li $a1, 255
|
||||
/* 050B9C 8004FF9C 0C012CD7 */ jal func_8004B35C
|
||||
/* 050BA0 8004FFA0 240600FF */ li $a2, 255
|
||||
/* 050BA4 8004FFA4 8E300000 */ lw $s0, ($s1)
|
||||
/* 050BA8 8004FFA8 3C0DFD10 */ lui $t5, 0xfd10
|
||||
/* 050BAC 8004FFAC 3C0F800E */ lui $t7, %hi(gPortraitTLUTs)
|
||||
/* 050BB0 8004FFB0 260C0008 */ addiu $t4, $s0, 8
|
||||
/* 050BB4 8004FFB4 AE2C0000 */ sw $t4, ($s1)
|
||||
/* 050BB8 8004FFB8 AE0D0000 */ sw $t5, ($s0)
|
||||
/* 050BBC 8004FFBC 87A300BA */ lh $v1, 0xba($sp)
|
||||
/* 050BC0 8004FFC0 3C19E800 */ lui $t9, 0xe800
|
||||
/* 050BC4 8004FFC4 3C0DF500 */ lui $t5, (0xF5000100 >> 16) # lui $t5, 0xf500
|
||||
/* 050BC8 8004FFC8 00037080 */ sll $t6, $v1, 2
|
||||
/* 050BCC 8004FFCC 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 050BD0 8004FFD0 8DEF457C */ lw $t7, %lo(gPortraitTLUTs)($t7)
|
||||
/* 050BD4 8004FFD4 01C01825 */ move $v1, $t6
|
||||
/* 050BD8 8004FFD8 3C0E0700 */ lui $t6, 0x700
|
||||
/* 050BDC 8004FFDC AE0F0004 */ sw $t7, 4($s0)
|
||||
/* 050BE0 8004FFE0 8E300000 */ lw $s0, ($s1)
|
||||
/* 050BE4 8004FFE4 35AD0100 */ ori $t5, (0xF5000100 & 0xFFFF) # ori $t5, $t5, 0x100
|
||||
/* 050BE8 8004FFE8 3C04800E */ lui $a0, %hi(gPortraitTextures)
|
||||
/* 050BEC 8004FFEC 26180008 */ addiu $t8, $s0, 8
|
||||
/* 050BF0 8004FFF0 AE380000 */ sw $t8, ($s1)
|
||||
/* 050BF4 8004FFF4 AE000004 */ sw $zero, 4($s0)
|
||||
/* 050BF8 8004FFF8 AE190000 */ sw $t9, ($s0)
|
||||
/* 050BFC 8004FFFC 8E300000 */ lw $s0, ($s1)
|
||||
/* 050C00 80050000 3C18E600 */ lui $t8, 0xe600
|
||||
/* 050C04 80050004 00832021 */ addu $a0, $a0, $v1
|
||||
/* 050C08 80050008 260C0008 */ addiu $t4, $s0, 8
|
||||
/* 050C0C 8005000C AE2C0000 */ sw $t4, ($s1)
|
||||
/* 050C10 80050010 AE0E0004 */ sw $t6, 4($s0)
|
||||
/* 050C14 80050014 AE0D0000 */ sw $t5, ($s0)
|
||||
/* 050C18 80050018 8E300000 */ lw $s0, ($s1)
|
||||
/* 050C1C 8005001C 3C0D073F */ lui $t5, (0x073FC000 >> 16) # lui $t5, 0x73f
|
||||
/* 050C20 80050020 35ADC000 */ ori $t5, (0x073FC000 & 0xFFFF) # ori $t5, $t5, 0xc000
|
||||
/* 050C24 80050024 260F0008 */ addiu $t7, $s0, 8
|
||||
/* 050C28 80050028 AE2F0000 */ sw $t7, ($s1)
|
||||
/* 050C2C 8005002C AE000004 */ sw $zero, 4($s0)
|
||||
/* 050C30 80050030 AE180000 */ sw $t8, ($s0)
|
||||
/* 050C34 80050034 8E300000 */ lw $s0, ($s1)
|
||||
/* 050C38 80050038 3C0CF000 */ lui $t4, 0xf000
|
||||
/* 050C3C 8005003C 3C0FE700 */ lui $t7, 0xe700
|
||||
/* 050C40 80050040 26190008 */ addiu $t9, $s0, 8
|
||||
/* 050C44 80050044 AE390000 */ sw $t9, ($s1)
|
||||
/* 050C48 80050048 AE0D0004 */ sw $t5, 4($s0)
|
||||
/* 050C4C 8005004C AE0C0000 */ sw $t4, ($s0)
|
||||
/* 050C50 80050050 8E300000 */ lw $s0, ($s1)
|
||||
/* 050C54 80050054 24050020 */ li $a1, 32
|
||||
/* 050C58 80050058 24060020 */ li $a2, 32
|
||||
/* 050C5C 8005005C 260E0008 */ addiu $t6, $s0, 8
|
||||
/* 050C60 80050060 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 050C64 80050064 AE000004 */ sw $zero, 4($s0)
|
||||
/* 050C68 80050068 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 050C6C 8005006C 0C0114A9 */ jal func_800452A4
|
||||
/* 050C70 80050070 8C84459C */ lw $a0, %lo(gPortraitTextures)($a0)
|
||||
/* 050C74 80050074 8FB800C4 */ lw $t8, 0xc4($sp)
|
||||
/* 050C78 80050078 5300000A */ beql $t8, $zero, .L800500A4
|
||||
/* 050C7C 8005007C 8E300000 */ lw $s0, ($s1)
|
||||
/* 050C80 80050080 8E300000 */ lw $s0, ($s1)
|
||||
/* 050C84 80050084 3C0C0D00 */ lui $t4, %hi(D_0D0069F8) # $t4, 0xd00
|
||||
/* 050C88 80050088 258C69F8 */ addiu $t4, %lo(D_0D0069F8) # addiu $t4, $t4, 0x69f8
|
||||
/* 050C8C 8005008C 26190008 */ addiu $t9, $s0, 8
|
||||
/* 050C90 80050090 AE390000 */ sw $t9, ($s1)
|
||||
/* 050C94 80050094 AE0C0004 */ sw $t4, 4($s0)
|
||||
/* 050C98 80050098 10000008 */ b .L800500BC
|
||||
/* 050C9C 8005009C AE120000 */ sw $s2, ($s0)
|
||||
/* 050CA0 800500A0 8E300000 */ lw $s0, ($s1)
|
||||
.L800500A4:
|
||||
/* 050CA4 800500A4 3C0E0D00 */ lui $t6, %hi(D_0D0069E0) # $t6, 0xd00
|
||||
/* 050CA8 800500A8 25CE69E0 */ addiu $t6, %lo(D_0D0069E0) # addiu $t6, $t6, 0x69e0
|
||||
/* 050CAC 800500AC 260D0008 */ addiu $t5, $s0, 8
|
||||
/* 050CB0 800500B0 AE2D0000 */ sw $t5, ($s1)
|
||||
/* 050CB4 800500B4 AE0E0004 */ sw $t6, 4($s0)
|
||||
/* 050CB8 800500B8 AE120000 */ sw $s2, ($s0)
|
||||
.L800500BC:
|
||||
/* 050CBC 800500BC 8FAF00C0 */ lw $t7, 0xc0($sp)
|
||||
/* 050CC0 800500C0 11E00022 */ beqz $t7, .L8005014C
|
||||
/* 050CC4 800500C4 3C180D00 */ lui $t8, %hi(D_0D0069E0) # $t8, 0xd00
|
||||
/* 050CC8 800500C8 271869E0 */ addiu $t8, %lo(D_0D0069E0) # addiu $t8, $t8, 0x69e0
|
||||
/* 050CCC 800500CC AFB80028 */ sw $t8, 0x28($sp)
|
||||
/* 050CD0 800500D0 8FA40034 */ lw $a0, 0x34($sp)
|
||||
/* 050CD4 800500D4 8FA50030 */ lw $a1, 0x30($sp)
|
||||
/* 050CD8 800500D8 00003025 */ move $a2, $zero
|
||||
/* 050CDC 800500DC 0C0108CC */ jal func_80042330
|
||||
/* 050CE0 800500E0 3C073F80 */ lui $a3, 0x3f80
|
||||
/* 050CE4 800500E4 8E300000 */ lw $s0, ($s1)
|
||||
/* 050CE8 800500E8 3C0C0D00 */ lui $t4, %hi(D_0D007A60) # $t4, 0xd00
|
||||
/* 050CEC 800500EC 258C7A60 */ addiu $t4, %lo(D_0D007A60) # addiu $t4, $t4, 0x7a60
|
||||
/* 050CF0 800500F0 26190008 */ addiu $t9, $s0, 8
|
||||
/* 050CF4 800500F4 AE390000 */ sw $t9, ($s1)
|
||||
/* 050CF8 800500F8 AE0C0004 */ sw $t4, 4($s0)
|
||||
/* 050CFC 800500FC AE120000 */ sw $s2, ($s0)
|
||||
/* 050D00 80050100 3C048019 */ lui $a0, %hi(D_8018D3E4) # $a0, 0x8019
|
||||
/* 050D04 80050104 3C058019 */ lui $a1, %hi(D_8018D3E8) # $a1, 0x8019
|
||||
/* 050D08 80050108 3C068019 */ lui $a2, %hi(D_8018D3EC) # $a2, 0x8019
|
||||
/* 050D0C 8005010C 8CC6D3EC */ lw $a2, %lo(D_8018D3EC)($a2)
|
||||
/* 050D10 80050110 8CA5D3E8 */ lw $a1, %lo(D_8018D3E8)($a1)
|
||||
/* 050D14 80050114 8C84D3E4 */ lw $a0, %lo(D_8018D3E4)($a0)
|
||||
/* 050D18 80050118 0C012CD7 */ jal func_8004B35C
|
||||
/* 050D1C 8005011C 240700FF */ li $a3, 255
|
||||
/* 050D20 80050120 3C040D02 */ lui $a0, %hi(D_0D01A2D8) # $a0, 0xd02
|
||||
/* 050D24 80050124 2484A2D8 */ addiu $a0, %lo(D_0D01A2D8) # addiu $a0, $a0, -0x5d28
|
||||
/* 050D28 80050128 24050020 */ li $a1, 32
|
||||
/* 050D2C 8005012C 0C011249 */ jal func_80044924
|
||||
/* 050D30 80050130 24060020 */ li $a2, 32
|
||||
/* 050D34 80050134 8E300000 */ lw $s0, ($s1)
|
||||
/* 050D38 80050138 260D0008 */ addiu $t5, $s0, 8
|
||||
/* 050D3C 8005013C AE2D0000 */ sw $t5, ($s1)
|
||||
/* 050D40 80050140 AE120000 */ sw $s2, ($s0)
|
||||
/* 050D44 80050144 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 050D48 80050148 AE0E0004 */ sw $t6, 4($s0)
|
||||
.L8005014C:
|
||||
/* 050D4C 8005014C 8E300000 */ lw $s0, ($s1)
|
||||
/* 050D50 80050150 240400FF */ li $a0, 255
|
||||
/* 050D54 80050154 240500FF */ li $a1, 255
|
||||
/* 050D58 80050158 260F0008 */ addiu $t7, $s0, 8
|
||||
/* 050D5C 8005015C AE2F0000 */ sw $t7, ($s1)
|
||||
/* 050D60 80050160 AE120000 */ sw $s2, ($s0)
|
||||
/* 050D64 80050164 8FB8002C */ lw $t8, 0x2c($sp)
|
||||
/* 050D68 80050168 240600FF */ li $a2, 255
|
||||
/* 050D6C 8005016C AE180004 */ sw $t8, 4($s0)
|
||||
/* 050D70 80050170 0C012CD7 */ jal func_8004B35C
|
||||
/* 050D74 80050174 8FA700BC */ lw $a3, 0xbc($sp)
|
||||
/* 050D78 80050178 8E300000 */ lw $s0, ($s1)
|
||||
/* 050D7C 8005017C 3C0C0D00 */ lui $t4, %hi(D_0D007CB8) # $t4, 0xd00
|
||||
/* 050D80 80050180 258C7CB8 */ addiu $t4, %lo(D_0D007CB8) # addiu $t4, $t4, 0x7cb8
|
||||
/* 050D84 80050184 26190008 */ addiu $t9, $s0, 8
|
||||
/* 050D88 80050188 AE390000 */ sw $t9, ($s1)
|
||||
/* 050D8C 8005018C AE0C0004 */ sw $t4, 4($s0)
|
||||
/* 050D90 80050190 AE120000 */ sw $s2, ($s0)
|
||||
/* 050D94 80050194 8E300000 */ lw $s0, ($s1)
|
||||
/* 050D98 80050198 3C0F0D02 */ lui $t7, %hi(D_0D019458) # $t7, 0xd02
|
||||
/* 050D9C 8005019C 25EF9458 */ addiu $t7, %lo(D_0D019458) # addiu $t7, $t7, -0x6ba8
|
||||
/* 050DA0 800501A0 260D0008 */ addiu $t5, $s0, 8
|
||||
/* 050DA4 800501A4 AE2D0000 */ sw $t5, ($s1)
|
||||
/* 050DA8 800501A8 3C0EFD10 */ lui $t6, 0xfd10
|
||||
/* 050DAC 800501AC AE0E0000 */ sw $t6, ($s0)
|
||||
/* 050DB0 800501B0 AE0F0004 */ sw $t7, 4($s0)
|
||||
/* 050DB4 800501B4 8E300000 */ lw $s0, ($s1)
|
||||
/* 050DB8 800501B8 3C19E800 */ lui $t9, 0xe800
|
||||
/* 050DBC 800501BC 3C0DF500 */ lui $t5, (0xF5000100 >> 16) # lui $t5, 0xf500
|
||||
/* 050DC0 800501C0 26180008 */ addiu $t8, $s0, 8
|
||||
/* 050DC4 800501C4 AE380000 */ sw $t8, ($s1)
|
||||
/* 050DC8 800501C8 AE000004 */ sw $zero, 4($s0)
|
||||
/* 050DCC 800501CC AE190000 */ sw $t9, ($s0)
|
||||
/* 050DD0 800501D0 8E300000 */ lw $s0, ($s1)
|
||||
/* 050DD4 800501D4 35AD0100 */ ori $t5, (0xF5000100 & 0xFFFF) # ori $t5, $t5, 0x100
|
||||
/* 050DD8 800501D8 3C0E0700 */ lui $t6, 0x700
|
||||
/* 050DDC 800501DC 260C0008 */ addiu $t4, $s0, 8
|
||||
/* 050DE0 800501E0 AE2C0000 */ sw $t4, ($s1)
|
||||
/* 050DE4 800501E4 AE0E0004 */ sw $t6, 4($s0)
|
||||
/* 050DE8 800501E8 AE0D0000 */ sw $t5, ($s0)
|
||||
/* 050DEC 800501EC 8E300000 */ lw $s0, ($s1)
|
||||
/* 050DF0 800501F0 3C18E600 */ lui $t8, 0xe600
|
||||
/* 050DF4 800501F4 3C0D073F */ lui $t5, (0x073FC000 >> 16) # lui $t5, 0x73f
|
||||
/* 050DF8 800501F8 260F0008 */ addiu $t7, $s0, 8
|
||||
/* 050DFC 800501FC AE2F0000 */ sw $t7, ($s1)
|
||||
/* 050E00 80050200 AE000004 */ sw $zero, 4($s0)
|
||||
/* 050E04 80050204 AE180000 */ sw $t8, ($s0)
|
||||
/* 050E08 80050208 8E300000 */ lw $s0, ($s1)
|
||||
/* 050E0C 8005020C 35ADC000 */ ori $t5, (0x073FC000 & 0xFFFF) # ori $t5, $t5, 0xc000
|
||||
/* 050E10 80050210 3C0CF000 */ lui $t4, 0xf000
|
||||
/* 050E14 80050214 26190008 */ addiu $t9, $s0, 8
|
||||
/* 050E18 80050218 AE390000 */ sw $t9, ($s1)
|
||||
/* 050E1C 8005021C AE0D0004 */ sw $t5, 4($s0)
|
||||
/* 050E20 80050220 AE0C0000 */ sw $t4, ($s0)
|
||||
/* 050E24 80050224 8E300000 */ lw $s0, ($s1)
|
||||
/* 050E28 80050228 3C0FE700 */ lui $t7, 0xe700
|
||||
/* 050E2C 8005022C 3C0C0D02 */ lui $t4, %hi(D_0D019658) # $t4, 0xd02
|
||||
/* 050E30 80050230 260E0008 */ addiu $t6, $s0, 8
|
||||
/* 050E34 80050234 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 050E38 80050238 AE000004 */ sw $zero, 4($s0)
|
||||
/* 050E3C 8005023C AE0F0000 */ sw $t7, ($s0)
|
||||
/* 050E40 80050240 87B800B2 */ lh $t8, 0xb2($sp)
|
||||
/* 050E44 80050244 258C9658 */ addiu $t4, %lo(D_0D019658) # addiu $t4, $t4, -0x69a8
|
||||
/* 050E48 80050248 24050010 */ li $a1, 16
|
||||
/* 050E4C 8005024C 0018CA00 */ sll $t9, $t8, 8
|
||||
/* 050E50 80050250 032C2021 */ addu $a0, $t9, $t4
|
||||
/* 050E54 80050254 0C0114A9 */ jal func_800452A4
|
||||
/* 050E58 80050258 24060010 */ li $a2, 16
|
||||
/* 050E5C 8005025C 8FAD00C4 */ lw $t5, 0xc4($sp)
|
||||
/* 050E60 80050260 11A00012 */ beqz $t5, .L800502AC
|
||||
/* 050E64 80050264 3C014110 */ li $at, 0x41100000 # 9.000000
|
||||
/* 050E68 80050268 44819000 */ mtc1 $at, $f18
|
||||
/* 050E6C 8005026C C7B000A8 */ lwc1 $f16, 0xa8($sp)
|
||||
/* 050E70 80050270 3C0140E0 */ li $at, 0x40E00000 # 7.000000
|
||||
/* 050E74 80050274 44815000 */ mtc1 $at, $f10
|
||||
/* 050E78 80050278 C7A800AC */ lwc1 $f8, 0xac($sp)
|
||||
/* 050E7C 8005027C 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 050E80 80050280 00003025 */ move $a2, $zero
|
||||
/* 050E84 80050284 3C073F80 */ lui $a3, 0x3f80
|
||||
/* 050E88 80050288 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 050E8C 8005028C 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 050E90 80050290 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 050E94 80050294 44043000 */ mfc1 $a0, $f6
|
||||
/* 050E98 80050298 44059000 */ mfc1 $a1, $f18
|
||||
/* 050E9C 8005029C 0C0108CC */ jal func_80042330
|
||||
/* 050EA0 800502A0 00000000 */ nop
|
||||
/* 050EA4 800502A4 10000012 */ b .L800502F0
|
||||
/* 050EA8 800502A8 8E300000 */ lw $s0, ($s1)
|
||||
.L800502AC:
|
||||
/* 050EAC 800502AC 3C014110 */ li $at, 0x41100000 # 9.000000
|
||||
/* 050EB0 800502B0 44813000 */ mtc1 $at, $f6
|
||||
/* 050EB4 800502B4 C7A400A8 */ lwc1 $f4, 0xa8($sp)
|
||||
/* 050EB8 800502B8 3C0140E0 */ li $at, 0x40E00000 # 7.000000
|
||||
/* 050EBC 800502BC 44819000 */ mtc1 $at, $f18
|
||||
/* 050EC0 800502C0 C7B000AC */ lwc1 $f16, 0xac($sp)
|
||||
/* 050EC4 800502C4 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 050EC8 800502C8 00003025 */ move $a2, $zero
|
||||
/* 050ECC 800502CC 3C073F80 */ lui $a3, 0x3f80
|
||||
/* 050ED0 800502D0 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 050ED4 800502D4 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 050ED8 800502D8 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 050EDC 800502DC 44045000 */ mfc1 $a0, $f10
|
||||
/* 050EE0 800502E0 44053000 */ mfc1 $a1, $f6
|
||||
/* 050EE4 800502E4 0C0108CC */ jal func_80042330
|
||||
/* 050EE8 800502E8 00000000 */ nop
|
||||
/* 050EEC 800502EC 8E300000 */ lw $s0, ($s1)
|
||||
.L800502F0:
|
||||
/* 050EF0 800502F0 3C0D0D00 */ lui $t5, %hi(D_0D006980) # $t5, 0xd00
|
||||
/* 050EF4 800502F4 25AD6980 */ addiu $t5, %lo(D_0D006980) # addiu $t5, $t5, 0x6980
|
||||
/* 050EF8 800502F8 260C0008 */ addiu $t4, $s0, 8
|
||||
/* 050EFC 800502FC AE2C0000 */ sw $t4, ($s1)
|
||||
/* 050F00 80050300 AE0D0004 */ sw $t5, 4($s0)
|
||||
/* 050F04 80050304 AE120000 */ sw $s2, ($s0)
|
||||
.L80050308:
|
||||
/* 050F08 80050308 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 050F0C 8005030C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 050F10 80050310 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 050F14 80050314 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 050F18 80050318 03E00008 */ jr $ra
|
||||
/* 050F1C 8005031C 27BD00A8 */ addiu $sp, $sp, 0xa8
|
|
@ -300,8 +300,8 @@ glabel func_80050E34
|
|||
/* 051EB8 800512B8 AC590000 */ sw $t9, ($v0)
|
||||
.L800512BC:
|
||||
/* 051EBC 800512BC 8E020000 */ lw $v0, ($s0)
|
||||
/* 051EC0 800512C0 3C190D02 */ lui $t9, %hi(D_0D019E58) # $t9, 0xd02
|
||||
/* 051EC4 800512C4 27399E58 */ addiu $t9, %lo(D_0D019E58) # addiu $t9, $t9, -0x61a8
|
||||
/* 051EC0 800512C0 3C190D02 */ lui $t9, %hi(gTLUTHudTypeCRankTinyFont) # $t9, 0xd02
|
||||
/* 051EC4 800512C4 27399E58 */ addiu $t9, %lo(gTLUTHudTypeCRankTinyFont) # addiu $t9, $t9, -0x61a8
|
||||
/* 051EC8 800512C8 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 051ECC 800512CC AE0F0000 */ sw $t7, ($s0)
|
||||
/* 051ED0 800512D0 3C18FD10 */ lui $t8, 0xfd10
|
||||
|
@ -343,8 +343,8 @@ glabel func_80050E34
|
|||
/* 051F60 80051360 AC400004 */ sw $zero, 4($v0)
|
||||
/* 051F64 80051364 AC590000 */ sw $t9, ($v0)
|
||||
/* 051F68 80051368 8FAE00DC */ lw $t6, 0xdc($sp)
|
||||
/* 051F6C 8005136C 3C190D02 */ lui $t9, %hi(D_0D01A058) # $t9, 0xd02
|
||||
/* 051F70 80051370 2739A058 */ addiu $t9, %lo(D_0D01A058) # addiu $t9, $t9, -0x5fa8
|
||||
/* 051F6C 8005136C 3C190D02 */ lui $t9, %hi(gTextureHudTypeCRankTinyFont) # $t9, 0xd02
|
||||
/* 051F70 80051370 2739A058 */ addiu $t9, %lo(gTextureHudTypeCRankTinyFont) # addiu $t9, $t9, -0x5fa8
|
||||
/* 051F74 80051374 000E7980 */ sll $t7, $t6, 6
|
||||
/* 051F78 80051378 25F80040 */ addiu $t8, $t7, 0x40
|
||||
/* 051F7C 8005137C 0C0114A9 */ jal func_800452A4
|
||||
|
@ -408,8 +408,8 @@ glabel func_80050E34
|
|||
/* 05205C 8005145C AFB80034 */ sw $t8, 0x34($sp)
|
||||
/* 052060 80051460 0C012CD7 */ jal func_8004B35C
|
||||
/* 052064 80051464 240700FF */ li $a3, 255
|
||||
/* 052068 80051468 3C040D02 */ lui $a0, %hi(D_0D01A2D8) # $a0, 0xd02
|
||||
/* 05206C 8005146C 2484A2D8 */ addiu $a0, %lo(D_0D01A2D8) # addiu $a0, $a0, -0x5d28
|
||||
/* 052068 80051468 3C040D02 */ lui $a0, %hi(gTextureCharacterPortraitBorder) # $a0, 0xd02
|
||||
/* 05206C 8005146C 2484A2D8 */ addiu $a0, %lo(gTextureCharacterPortraitBorder) # addiu $a0, $a0, -0x5d28
|
||||
/* 052070 80051470 24050020 */ li $a1, 32
|
||||
/* 052074 80051474 0C011249 */ jal func_80044924
|
||||
/* 052078 80051478 24060020 */ li $a2, 32
|
||||
|
|
|
@ -332,12 +332,6 @@
|
|||
|
||||
"textures/common/tlut/132B50_17458.rgba16.ci8.png": {"meta":{"dims":[64,128], "pal":"0x17258"}, "offsets": {"us":["0x132B50", "0x17458"]}},
|
||||
|
||||
"textures/common/tlut/132B50_19658.rgba16.ci8.png": {"meta":{"dims":[16,128], "pal":"0x19458"}, "offsets": {"us":["0x132B50", "0x19658"]}},
|
||||
|
||||
"textures/common/tlut/132B50_1A058.rgba16.ci8.png": {"meta":{"dims":[8,80], "pal":"0x19E58"}, "offsets": {"us":["0x132B50", "0x1A058"]}},
|
||||
|
||||
"textures/common/132B50_1A2D8.ia4.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x132B50", "0x1A2D8"]}},
|
||||
|
||||
"textures/common/132B50_28DD8.rgba16.png": {"meta":{"dims":[32,16]}, "offsets": {"us":["0x132B50", "0x28DD8"]}},
|
||||
"textures/common/132B50_291D8.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x291D8"]}},
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"gTLUTHudTypeCRankFont": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19458", "width": 16, "height": 16, "type": "rgba16"},
|
||||
"gTextureHudTypeCRankFont1": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19658", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
"gTextureHudTypeCRankFont2": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19758", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
"gTextureHudTypeCRankFont3": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19858", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
"gTextureHudTypeCRankFont4": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19958", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
"gTextureHudTypeCRankFont5": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19A58", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
"gTextureHudTypeCRankFont6": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19B58", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
"gTextureHudTypeCRankFont7": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19C58", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
"gTextureHudTypeCRankFont8": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19D58", "width": 16, "height": 16, "type": "ci8", "tlut": "gTLUTHudTypeCRankFont"},
|
||||
|
||||
"gTLUTHudTypeCRankTinyFont": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x19E58", "width": 16, "height": 16, "type": "rgba16"},
|
||||
"gTextureHudTypeCRankTinyFont0": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A058", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont1": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A098", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont2": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A0D8", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont3": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A118", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont4": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A158", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont5": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A198", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont6": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A1D8", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont7": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A218", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont8": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A258", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
"gTextureHudTypeCRankTinyFont9": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A298", "width": 8, "height": 8, "type": "ci8", "tlut": "gTLUTHudTypeCRankTinyFont"},
|
||||
|
||||
"gTextureCharacterPortraitBorder": {"output_dir": "hud_type_c", "rom_offset": "0x132B50", "block_offset": "0x1A2D8", "width": 32, "height": 32, "type": "ia4"}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
HUD_TYPE_C_DIR := assets/hud_type_c
|
||||
|
||||
HUD_TYPE_C_FONT_PALETTE := $(HUD_TYPE_C_DIR)/gTLUTHudTypeCRankFont.png
|
||||
|
||||
HUD_TYPE_C_FONT_PNG := \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont1.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont2.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont3.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont4.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont5.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont6.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont7.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankFont8.png
|
||||
|
||||
HUD_TYPE_C_TINY_FONT_PALETTE := $(HUD_TYPE_C_DIR)/gTLUTHudTypeCRankTinyFont.png
|
||||
|
||||
HUD_TYPE_C_TINY_FONT_PNG := \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont0.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont1.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont2.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont3.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont4.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont5.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont6.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont7.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont8.png \
|
||||
$(HUD_TYPE_C_DIR)/gTextureHudTypeCRankTinyFont9.png
|
||||
|
||||
HUD_TYPE_C_PORTRAIT_BORDER_PNG := $(HUD_TYPE_C_DIR)/gTextureCharacterPortraitBorder.png
|
||||
|
||||
HUD_TYPE_C_EXPORT_SENTINEL := $(HUD_TYPE_C_DIR)/.export
|
||||
|
||||
$(BUILD_DIR)/src/common_textures.inc.o: $(HUD_TYPE_C_FONT_PNG:%.png=%.inc.c) $(HUD_TYPE_C_FONT_PALETTE:%.png=%.inc.c)
|
||||
$(BUILD_DIR)/src/common_textures.inc.o: $(HUD_TYPE_C_TINY_FONT_PNG:%.png=%.inc.c) $(HUD_TYPE_C_TINY_FONT_PALETTE:%.png=%.inc.c)
|
||||
$(BUILD_DIR)/src/common_textures.inc.o: $(HUD_TYPE_C_PORTRAIT_BORDER_PNG:%.png=%.inc.c)
|
||||
|
||||
$(HUD_TYPE_C_FONT_PNG:%.png=%.inc.c): %.inc.c : %.png
|
||||
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(HUD_TYPE_C_FONT_PALETTE)
|
||||
|
||||
$(HUD_TYPE_C_FONT_PALETTE:%.png=%.inc.c): %.inc.c : %.png
|
||||
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
|
||||
|
||||
$(HUD_TYPE_C_TINY_FONT_PNG:%.png=%.inc.c): %.inc.c : %.png
|
||||
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(HUD_TYPE_C_TINY_FONT_PALETTE)
|
||||
|
||||
$(HUD_TYPE_C_TINY_FONT_PALETTE:%.png=%.inc.c): %.inc.c : %.png
|
||||
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
|
||||
|
||||
$(HUD_TYPE_C_PORTRAIT_BORDER_PNG:%.png=%.inc.c): %.inc.c : %.png
|
||||
$(N64GRAPHICS) -i $@ -g $< -s u8 -f ia4
|
||||
|
||||
$(HUD_TYPE_C_FONT_PNG) $(HUD_TYPE_C_FONT_PALETTE): $(HUD_TYPE_C_EXPORT_SENTINEL) ;
|
||||
$(HUD_TYPE_C_TINY_FONT_PNG) $(HUD_TYPE_C_TINY_FONT_PALETTE): $(HUD_TYPE_C_EXPORT_SENTINEL) ;
|
||||
$(HUD_TYPE_C_PORTRAIT_BORDER_PNG): $(HUD_TYPE_C_EXPORT_SENTINEL) ;
|
||||
|
||||
$(HUD_TYPE_C_EXPORT_SENTINEL): $(ASSET_DIR)/hud_type_c.json
|
||||
$(ASSET_EXTRACT) $(BASEROM) $<
|
||||
touch $@
|
||||
|
||||
.PHONY: distclean_hud_type_c
|
||||
distclean_hud_type_c:
|
||||
rm -rf $(HUD_TYPE_C_DIR)
|
||||
|
||||
distclean_assets: distclean_hud_type_c
|
|
@ -78,7 +78,7 @@
|
|||
#include "src/camera_junk.h"
|
||||
#include "src/ceremony_and_credits.h"
|
||||
#include "src/common_textures.h"
|
||||
#include "src/credits_01.h"
|
||||
#include "src/credits.h"
|
||||
#include "src/data_segment2.h"
|
||||
#include "src/framebuffers.h"
|
||||
#include "src/kart_dma.h"
|
||||
|
|
|
@ -427,7 +427,9 @@ typedef struct {
|
|||
f32 unk_04;
|
||||
char unk_08[0x4];
|
||||
f32 unk_0C;
|
||||
char unk_10[0x10];
|
||||
char unk_10[0x4];
|
||||
s32 objectIndex;
|
||||
char unk_18[0x8];
|
||||
} struct_D_8018CE10; // size = 0x20
|
||||
|
||||
typedef struct
|
||||
|
|
|
@ -242,7 +242,11 @@ extern s8 D_0D016A58[];
|
|||
extern s8 D_0D017258[];
|
||||
extern s16 tlutPad[];
|
||||
extern s8 D_0D017458[];
|
||||
extern s8 D_0D01A2D8[];
|
||||
extern u8 gTLUTHudTypeCRankFont[];
|
||||
extern u8 gTextureHudTypeCRankFont[][256];
|
||||
extern u8 gTLUTHudTypeCRankTinyFont[];
|
||||
extern u8 gTextureHudTypeCRankTinyFont[][64];
|
||||
extern u8 gTextureCharacterPortraitBorder[];
|
||||
extern s8 gTLUTPortraitMario[];
|
||||
extern s8 gTLUTPortraitLuigi[];
|
||||
extern s8 gTLUTPortraitPeach[];
|
||||
|
@ -259,9 +263,9 @@ extern s8 gTexturePortraitToad[];
|
|||
extern s8 gTexturePortraitYoshi[];
|
||||
extern s8 gTexturePortraitDonkeyKong[];
|
||||
extern s8 gTexturePortraitWario[];
|
||||
extern s8 gTexturePortraitBowser[];
|
||||
extern s8 gTexturePortraitBombKartAndQuestionMark[];
|
||||
extern s8 gTexturePortraitQuestionMark[];
|
||||
extern u8 gTexturePortraitBowser[];
|
||||
extern u8 gTexturePortraitBombKart[];
|
||||
extern u8 gTexturePortraitQuestionMark[];
|
||||
extern s8 gTLUTItemWindowNone[];
|
||||
extern s8 gTLUTItemWindowBanana[];
|
||||
extern s8 gTLUTItemWindowBananaBunch[];
|
||||
|
|
|
@ -2557,30 +2557,80 @@ u8 D_0D017458[] = {
|
|||
};
|
||||
|
||||
// font tlut for 12345678
|
||||
s8 D_0D019458[] = {
|
||||
#include "textures/common/tlut/132B50_19658.rgba16.ci8.tlut.inc.c"
|
||||
u8 gTLUTHudTypeCRankFont[] = {
|
||||
#include "assets/hud_type_c/gTLUTHudTypeCRankFont.inc.c"
|
||||
};
|
||||
|
||||
// font 12345678
|
||||
s8 D_0D019658[] = {
|
||||
#include "textures/common/tlut/132B50_19658.rgba16.ci8.inc.c"
|
||||
u8 gTextureHudTypeCRankFont[][256] = {
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont1.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont2.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont3.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont4.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont5.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont6.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont7.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankFont8.inc.c"
|
||||
},
|
||||
};
|
||||
|
||||
// font tlut for 0123456789
|
||||
s8 D_0D019E58[] = {
|
||||
#include "textures/common/tlut/132B50_1A058.rgba16.ci8.tlut.inc.c"
|
||||
u8 gTLUTHudTypeCRankTinyFont[] = {
|
||||
#include "assets/hud_type_c/gTLUTHudTypeCRankTinyFont.inc.c"
|
||||
};
|
||||
|
||||
// 0123456789
|
||||
s8 D_0D01A058[] = {
|
||||
#include "textures/common/tlut/132B50_1A058.rgba16.ci8.inc.c"
|
||||
u8 gTextureHudTypeCRankTinyFont[][64] = {
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont0.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont1.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont2.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont3.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont4.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont5.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont6.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont7.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont8.inc.c"
|
||||
},
|
||||
{
|
||||
#include "assets/hud_type_c/gTextureHudTypeCRankTinyFont9.inc.c"
|
||||
},
|
||||
};
|
||||
|
||||
// some padding or file split?
|
||||
|
||||
// Square
|
||||
s8 D_0D01A2D8[] = {
|
||||
#include "textures/common/132B50_1A2D8.ia4.inc.c"
|
||||
u8 gTextureCharacterPortraitBorder[] = {
|
||||
#include "assets/hud_type_c/gTextureCharacterPortraitBorder.inc.c"
|
||||
};
|
||||
|
||||
// 1A4D8 mario tlut
|
||||
|
@ -2670,12 +2720,12 @@ s8 gTexturePortraitBowser[] = {
|
|||
};
|
||||
|
||||
// Mini Bomb Kart
|
||||
s8 gTexturePortraitBombKart[] = {
|
||||
u8 gTexturePortraitBombKart[] = {
|
||||
#include "assets/character_portraits/gTexturePortraitBombKart.inc.c"
|
||||
};
|
||||
|
||||
// Question Mark
|
||||
s8 gTexturePortraitQuestionMark[] = {
|
||||
u8 gTexturePortraitQuestionMark[] = {
|
||||
#include "assets/character_portraits/gTexturePortraitQuestionMark.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -3078,218 +3078,45 @@ void func_8004FC78(s16 arg0, s16 arg1, s8 arg2) {
|
|||
gSPDisplayList(gDisplayListHead++, D_0D007EB8);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
? func_80044924(s8 *, ?, ?); /* extern */
|
||||
extern ? D_0D019458;
|
||||
extern ? D_0D019658;
|
||||
extern s32 D_8018D3E0;
|
||||
extern s32 D_8018D3E4;
|
||||
extern s32 D_8018D3E8;
|
||||
extern s32 D_8018D3EC;
|
||||
static u32 gPortraitTLUTs[8] = {
|
||||
(u32) gTLUTPortraitMario,
|
||||
(u32) gTLUTPortraitLuigi,
|
||||
(u32) gTLUTPortraitYoshi,
|
||||
(u32) gTLUTPortraitToad,
|
||||
(u32) gTLUTPortraitDonkeyKong,
|
||||
(u32) gTLUTPortraitWario,
|
||||
(u32) gTLUTPortraitPeach,
|
||||
(u32) gTLUTPortraitBowser,
|
||||
};
|
||||
static s8 *gPortraitTextures[9] = {
|
||||
gTexturePortraitMario,
|
||||
gTexturePortraitLuigi,
|
||||
gTexturePortraitYoshi,
|
||||
gTexturePortraitToad,
|
||||
gTexturePortraitDonkeyKong,
|
||||
gTexturePortraitWario,
|
||||
gTexturePortraitPeach,
|
||||
gTexturePortraitBowser,
|
||||
NULL,
|
||||
};
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_8004FDB4(f32 arg0, f32 arg1, s16 arg2, s16 arg3, s16 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) {
|
||||
s32 sp34;
|
||||
s32 sp30;
|
||||
Gfx *sp2C;
|
||||
Gfx *sp28;
|
||||
Gfx *temp_s0;
|
||||
Gfx *temp_s0_10;
|
||||
Gfx *temp_s0_11;
|
||||
Gfx *temp_s0_12;
|
||||
Gfx *temp_s0_13;
|
||||
Gfx *temp_s0_14;
|
||||
Gfx *temp_s0_15;
|
||||
Gfx *temp_s0_16;
|
||||
Gfx *temp_s0_17;
|
||||
Gfx *temp_s0_18;
|
||||
Gfx *temp_s0_19;
|
||||
Gfx *temp_s0_20;
|
||||
Gfx *temp_s0_21;
|
||||
Gfx *temp_s0_22;
|
||||
Gfx *temp_s0_23;
|
||||
Gfx *temp_s0_24;
|
||||
Gfx *temp_s0_25;
|
||||
Gfx *temp_s0_26;
|
||||
Gfx *temp_s0_27;
|
||||
Gfx *temp_s0_28;
|
||||
Gfx *temp_s0_2;
|
||||
Gfx *temp_s0_3;
|
||||
Gfx *temp_s0_4;
|
||||
Gfx *temp_s0_5;
|
||||
Gfx *temp_s0_6;
|
||||
Gfx *temp_s0_7;
|
||||
Gfx *temp_s0_8;
|
||||
Gfx *temp_s0_9;
|
||||
s32 temp_f10;
|
||||
s32 temp_f8;
|
||||
|
||||
if ((gCurrentCourseId == 4) && (arg3 < 3) && (arg8 == 0)) {
|
||||
if ((gCurrentCourseId == COURSE_YOSHI_VALLEY) && (arg3 < 3) && (arg8 == 0)) {
|
||||
func_80042330((s32) arg0, (s32) arg1, 0U, 1.0f);
|
||||
temp_s0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0 + 8;
|
||||
temp_s0->words.w1 = (u32) D_0D007DB8;
|
||||
temp_s0->words.w0 = 0x06000000;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007DB8);
|
||||
func_8004B35C(0x000000FF, 0x000000FF, 0x000000FF, D_8018D3E0);
|
||||
temp_s0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_2 + 8;
|
||||
temp_s0_2->words.w0 = 0xFD100000;
|
||||
temp_s0_2->words.w1 = (u32) gTLUTPortraitBombKartAndQuestionMark;
|
||||
temp_s0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_3 + 8;
|
||||
temp_s0_3->words.w1 = 0;
|
||||
temp_s0_3->words.w0 = 0xE8000000;
|
||||
temp_s0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_4 + 8;
|
||||
temp_s0_4->words.w1 = 0x07000000;
|
||||
temp_s0_4->words.w0 = 0xF5000100;
|
||||
temp_s0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_5 + 8;
|
||||
temp_s0_5->words.w1 = 0;
|
||||
temp_s0_5->words.w0 = 0xE6000000;
|
||||
temp_s0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_6 + 8;
|
||||
temp_s0_6->words.w1 = 0x073FC000;
|
||||
temp_s0_6->words.w0 = 0xF0000000;
|
||||
temp_s0_7 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_7 + 8;
|
||||
temp_s0_7->words.w1 = 0;
|
||||
temp_s0_7->words.w0 = 0xE7000000;
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTPortraitBombKartAndQuestionMark);
|
||||
func_800452A4(gTexturePortraitQuestionMark, 0x00000020, 0x00000020);
|
||||
temp_s0_8 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_8 + 8;
|
||||
temp_s0_8->words.w1 = (u32) D_0D0069E0;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069E0);
|
||||
} else {
|
||||
temp_f8 = (s32) arg0;
|
||||
temp_f10 = (s32) arg1;
|
||||
sp34 = temp_f8;
|
||||
sp30 = temp_f10;
|
||||
func_80042330(temp_f8, temp_f10, 0U, 1.0f);
|
||||
temp_s0_9 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_9 + 8;
|
||||
temp_s0_9->words.w1 = (u32) D_0D007DB8;
|
||||
temp_s0_9->words.w0 = 0x06000000;
|
||||
sp2C = D_0D007DB8;
|
||||
func_80042330(arg0, arg1, 0U, 1.0f);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007DB8);
|
||||
func_8004B35C(0x000000FF, 0x000000FF, 0x000000FF, arg5);
|
||||
temp_s0_10 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_10 + 8;
|
||||
temp_s0_10->words.w0 = 0xFD100000;
|
||||
temp_s0_10->words.w1 = gPortraitTLUTs[arg4];
|
||||
temp_s0_11 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_11 + 8;
|
||||
temp_s0_11->words.w1 = 0;
|
||||
temp_s0_11->words.w0 = 0xE8000000;
|
||||
temp_s0_12 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_12 + 8;
|
||||
temp_s0_12->words.w1 = 0x07000000;
|
||||
temp_s0_12->words.w0 = 0xF5000100;
|
||||
temp_s0_13 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_13 + 8;
|
||||
temp_s0_13->words.w1 = 0;
|
||||
temp_s0_13->words.w0 = 0xE6000000;
|
||||
temp_s0_14 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_14 + 8;
|
||||
temp_s0_14->words.w1 = 0x073FC000;
|
||||
temp_s0_14->words.w0 = 0xF0000000;
|
||||
temp_s0_15 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_15 + 8;
|
||||
temp_s0_15->words.w1 = 0;
|
||||
temp_s0_15->words.w0 = 0xE7000000;
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, gPortraitTLUTs[arg4]);
|
||||
func_800452A4(gPortraitTextures[arg4], 0x00000020, 0x00000020);
|
||||
if (arg7 != 0) {
|
||||
temp_s0_16 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_16 + 8;
|
||||
temp_s0_16->words.w1 = (u32) D_0D0069F8;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069F8);
|
||||
} else {
|
||||
temp_s0_17 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_17 + 8;
|
||||
temp_s0_17->words.w1 = (u32) D_0D0069E0;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069E0);
|
||||
}
|
||||
gDisplayListHead->words.w0 = 0x06000000;
|
||||
if (arg6 != 0) {
|
||||
sp28 = D_0D0069E0;
|
||||
func_80042330(sp34, sp30, 0U, 1.0f);
|
||||
temp_s0_18 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_18 + 8;
|
||||
temp_s0_18->words.w1 = (u32) D_0D007A60;
|
||||
temp_s0_18->words.w0 = 0x06000000;
|
||||
func_80042330(arg0, arg1, 0U, 1.0f);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007A60);
|
||||
func_8004B35C(D_8018D3E4, D_8018D3E8, D_8018D3EC, 0x000000FF);
|
||||
func_80044924(D_0D01A2D8, 0x20, 0x20);
|
||||
temp_s0_19 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_19 + 8;
|
||||
temp_s0_19->words.w0 = 0x06000000;
|
||||
temp_s0_19->words.w1 = (u32) sp28;
|
||||
func_80044924(gTextureCharacterPortraitBorder, 0x20, 0x20);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069E0);
|
||||
}
|
||||
temp_s0_20 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_20 + 8;
|
||||
temp_s0_20->words.w0 = 0x06000000;
|
||||
temp_s0_20->words.w1 = (u32) sp2C;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007DB8);
|
||||
func_8004B35C(0x000000FF, 0x000000FF, 0x000000FF, arg5);
|
||||
temp_s0_21 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_21 + 8;
|
||||
temp_s0_21->words.w1 = (u32) D_0D007CB8;
|
||||
temp_s0_21->words.w0 = 0x06000000;
|
||||
temp_s0_22 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_22 + 8;
|
||||
temp_s0_22->words.w0 = 0xFD100000;
|
||||
temp_s0_22->words.w1 = (u32) &D_0D019458;
|
||||
temp_s0_23 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_23 + 8;
|
||||
temp_s0_23->words.w1 = 0;
|
||||
temp_s0_23->words.w0 = 0xE8000000;
|
||||
temp_s0_24 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_24 + 8;
|
||||
temp_s0_24->words.w1 = 0x07000000;
|
||||
temp_s0_24->words.w0 = 0xF5000100;
|
||||
temp_s0_25 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_25 + 8;
|
||||
temp_s0_25->words.w1 = 0;
|
||||
temp_s0_25->words.w0 = 0xE6000000;
|
||||
temp_s0_26 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_26 + 8;
|
||||
temp_s0_26->words.w1 = 0x073FC000;
|
||||
temp_s0_26->words.w0 = 0xF0000000;
|
||||
temp_s0_27 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_27 + 8;
|
||||
temp_s0_27->words.w1 = 0;
|
||||
temp_s0_27->words.w0 = 0xE7000000;
|
||||
func_800452A4((arg2 << 8) + &D_0D019658, 0x00000010, 0x00000010);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007CB8);
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTHudTypeCRankFont);
|
||||
func_800452A4(gTextureHudTypeCRankFont[arg2], 0x00000010, 0x00000010);
|
||||
if (arg7 != 0) {
|
||||
func_80042330((s32) (arg0 + 9.0f), (s32) (arg1 + 7.0f), 0U, 1.0f);
|
||||
} else {
|
||||
func_80042330((s32) (arg0 - 9.0f), (s32) (arg1 + 7.0f), 0U, 1.0f);
|
||||
}
|
||||
temp_s0_28 = gDisplayListHead;
|
||||
gDisplayListHead = temp_s0_28 + 8;
|
||||
temp_s0_28->words.w1 = (u32) D_0D006980;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D006980);
|
||||
}
|
||||
gDisplayListHead->words.w0 = 0x06000000;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_8004FDB4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
|
@ -3632,238 +3459,86 @@ void func_80050C68(void) {
|
|||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80050C68.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
? func_80044924(s8 *, ?, ?); /* extern */
|
||||
s32 func_80050644(s32, s32 *, s32 *, s32); /* extern */
|
||||
extern ? D_0D019E58;
|
||||
extern ? D_0D01A058;
|
||||
extern u16 D_801656C0;
|
||||
extern u16 D_801656D0;
|
||||
extern u16 D_801656E0;
|
||||
extern ? D_8018CE24;
|
||||
extern s32 D_8018D3E4;
|
||||
extern s32 D_8018D3E8;
|
||||
extern s32 D_8018D3EC;
|
||||
static u32 gPortraitTLUTs[8] = {
|
||||
(u32) gTLUTPortraitMario,
|
||||
(u32) gTLUTPortraitLuigi,
|
||||
(u32) gTLUTPortraitYoshi,
|
||||
(u32) gTLUTPortraitToad,
|
||||
(u32) gTLUTPortraitDonkeyKong,
|
||||
(u32) gTLUTPortraitWario,
|
||||
(u32) gTLUTPortraitPeach,
|
||||
(u32) gTLUTPortraitBowser,
|
||||
};
|
||||
static ? gPortraitTextures; /* unable to generate initializer */
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
#ifdef NON_MATCHING
|
||||
extern struct_D_8018CE10 D_8018CE10[];
|
||||
|
||||
// Something about the handling of the `player` variable is weird.
|
||||
// All commands are preset and correct, 2 of them are out of position
|
||||
void func_80050E34(s32 playerId, s32 arg1) {
|
||||
s32 spD4;
|
||||
s32 objectIndex;
|
||||
s32 spD0;
|
||||
s32 spCC;
|
||||
s32 stackPadding;
|
||||
s32 spC4;
|
||||
s32 lapCount;
|
||||
s32 characterId;
|
||||
s32 spB8;
|
||||
Player *spAC;
|
||||
s32 sp3C; /* compiler-managed */
|
||||
s16 *sp38;
|
||||
Gfx *sp34;
|
||||
Gfx *temp_v0_10;
|
||||
Gfx *temp_v0_11;
|
||||
Gfx *temp_v0_12;
|
||||
Gfx *temp_v0_13;
|
||||
Gfx *temp_v0_14;
|
||||
Gfx *temp_v0_15;
|
||||
Gfx *temp_v0_16;
|
||||
Gfx *temp_v0_17;
|
||||
Gfx *temp_v0_18;
|
||||
Gfx *temp_v0_19;
|
||||
Gfx *temp_v0_20;
|
||||
Gfx *temp_v0_21;
|
||||
Gfx *temp_v0_22;
|
||||
Gfx *temp_v0_23;
|
||||
Gfx *temp_v0_24;
|
||||
Gfx *temp_v0_25;
|
||||
Gfx *temp_v0_26;
|
||||
Gfx *temp_v0_27;
|
||||
Gfx *temp_v0_28;
|
||||
Gfx *temp_v0_3;
|
||||
Gfx *temp_v0_4;
|
||||
Gfx *temp_v0_5;
|
||||
Gfx *temp_v0_6;
|
||||
Gfx *temp_v0_7;
|
||||
Gfx *temp_v0_8;
|
||||
Gfx *temp_v0_9;
|
||||
Player *temp_v0;
|
||||
f32 *temp_a0;
|
||||
s16 *temp_a1;
|
||||
s32 temp_s0;
|
||||
s32 temp_t2;
|
||||
s32 temp_v0_2;
|
||||
struct_80165C18_entry *temp_s1_2;
|
||||
u16 temp_s1;
|
||||
struct_80165C18_entry *object;
|
||||
Player *player;
|
||||
|
||||
player = &gPlayerOne[playerId];
|
||||
lapCount = gLapCountByPlayerId[playerId];
|
||||
characterId = player->characterId;
|
||||
objectIndex = D_8018CE10[playerId].objectIndex;
|
||||
|
||||
temp_v0 = &gPlayerOne[playerId];
|
||||
spAC = temp_v0;
|
||||
temp_s0 = gLapCountByPlayerId[playerId];
|
||||
temp_s1 = temp_v0->characterId;
|
||||
if (gPlayerCountSelection1 == 1) {
|
||||
spC4 = 0x00000012;
|
||||
} else {
|
||||
spC4 = 0x00000078;
|
||||
}
|
||||
spD4 = *(&D_8018CE24 + (playerId << 5));
|
||||
temp_v0_2 = func_80050644(playerId & 0xFFFF, &spD0, &spCC, playerId);
|
||||
|
||||
temp_v0_2 = func_80050644(playerId, &spD0, &spCC);
|
||||
if ((temp_v0_2 == 2) || (temp_v0_2 == 3)) {
|
||||
spB8 = 1;
|
||||
} else {
|
||||
spB8 = 0;
|
||||
}
|
||||
temp_t2 = temp_s1 * 4;
|
||||
if ((gCurrentCourseId == 4) && (temp_s0 < 3)) {
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->words.w0 = 0x06000000;
|
||||
temp_v0_3->words.w1 = (u32) D_0D007DB8;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->words.w0 = 0xFD100000;
|
||||
temp_v0_4->words.w1 = (u32) gTLUTPortraitBombKartAndQuestionMark;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->words.w1 = 0;
|
||||
temp_v0_5->words.w0 = 0xE8000000;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->words.w1 = 0x07000000;
|
||||
temp_v0_6->words.w0 = 0xF5000100;
|
||||
temp_v0_7 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_7 + 8;
|
||||
temp_v0_7->words.w1 = 0;
|
||||
temp_v0_7->words.w0 = 0xE6000000;
|
||||
temp_v0_8 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_8 + 8;
|
||||
temp_v0_8->words.w1 = 0x073FC000;
|
||||
temp_v0_8->words.w0 = 0xF0000000;
|
||||
temp_v0_9 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_9 + 8;
|
||||
temp_v0_9->words.w1 = 0;
|
||||
temp_v0_9->words.w0 = 0xE7000000;
|
||||
spD4 = spD4;
|
||||
|
||||
if ((gCurrentCourseId == COURSE_YOSHI_VALLEY) && (lapCount < 3)) {
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007DB8);
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTPortraitBombKartAndQuestionMark);
|
||||
func_800452A4(gTexturePortraitQuestionMark, 0x00000020, 0x00000020);
|
||||
temp_s1_2 = &D_80165C18[spD4];
|
||||
temp_s1_2->unk_004[0] = temp_s1_2->unk_028[0] + (f32) (spD0 + 0x20);
|
||||
temp_s1_2->unk_004[2] = temp_s1_2->unk_028[2];
|
||||
temp_s1_2->unk_004[1] = temp_s1_2->unk_028[1] + (f32) (spC4 + spCC);
|
||||
func_80042E00(temp_s1_2->unk_004, (s16 *) temp_s1_2->unk_0BE, temp_s1_2->unk_000);
|
||||
temp_v0_10 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_10 + 8;
|
||||
temp_v0_10->words.w0 = 0x06000000;
|
||||
temp_v0_10->words.w1 = (u32) D_0D0069E0;
|
||||
return;
|
||||
}
|
||||
temp_v0_11 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_11 + 8;
|
||||
temp_v0_11->words.w0 = 0xFD100000;
|
||||
temp_v0_11->words.w1 = gPortraitTLUTs[temp_s1];
|
||||
temp_v0_12 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_12 + 8;
|
||||
temp_v0_12->words.w1 = 0;
|
||||
temp_v0_12->words.w0 = 0xE8000000;
|
||||
temp_v0_13 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_13 + 8;
|
||||
temp_v0_13->words.w1 = 0x07000000;
|
||||
temp_v0_13->words.w0 = 0xF5000100;
|
||||
temp_v0_14 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_14 + 8;
|
||||
temp_v0_14->words.w1 = 0;
|
||||
temp_v0_14->words.w0 = 0xE6000000;
|
||||
temp_v0_15 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_15 + 8;
|
||||
temp_v0_15->words.w1 = 0x073FC000;
|
||||
temp_v0_15->words.w0 = 0xF0000000;
|
||||
temp_v0_16 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_16 + 8;
|
||||
temp_v0_16->words.w1 = 0;
|
||||
temp_v0_16->words.w0 = 0xE7000000;
|
||||
temp_v0_17 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_17 + 8;
|
||||
temp_v0_17->words.w1 = (u32) D_0D007DB8;
|
||||
temp_v0_17->words.w0 = 0x06000000;
|
||||
if (spAC->unk_0BC & 0x200) {
|
||||
sp3C = temp_t2;
|
||||
func_8004B614((s32) D_801656C0, (s32) D_801656D0, (s32) D_801656E0, 0x00000080, 0x00000080, 0x00000080, (s32) D_80165C18[spD4].unk_0A0);
|
||||
object = &D_80165C18[objectIndex];
|
||||
object->unk_004[0] = object->unk_028[0] + ((f32) (spD0 + 0x20));
|
||||
object->unk_004[1] = object->unk_028[1] + ((f32) (spC4 + spCC));
|
||||
object->unk_004[2] = object->unk_028[2];
|
||||
func_80042E00(object->unk_004, object->unk_0BE, object->unk_000);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069E0);
|
||||
} else {
|
||||
sp3C = temp_t2;
|
||||
func_8004B2BC((s32) D_80165C18[spD4].unk_0A0);
|
||||
}
|
||||
func_800452A4(*(&gPortraitTextures + sp3C), 0x00000020, 0x00000020);
|
||||
temp_a0 = &D_80165C18[spD4] + 4;
|
||||
temp_a1 = &D_80165C18[spD4] + 0xBE;
|
||||
sp38 = temp_a1;
|
||||
sp3C = temp_a0;
|
||||
D_80165C18[spD4].unk_004[0] = D_80165C18[spD4].unk_028[0] + (f32) (spD0 + 0x20);
|
||||
D_80165C18[spD4].unk_004[2] = D_80165C18[spD4].unk_028[2];
|
||||
D_80165C18[spD4].unk_004[1] = D_80165C18[spD4].unk_028[1] + (f32) (spC4 + spCC);
|
||||
func_80042E00(temp_a0, temp_a1, D_80165C18[spD4].unk_000);
|
||||
if (spB8 != 0) {
|
||||
temp_v0_18 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_18 + 8;
|
||||
temp_v0_18->words.w1 = (u32) D_0D0069F8;
|
||||
temp_v0_18->words.w0 = 0x06000000;
|
||||
} else {
|
||||
temp_v0_19 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_19 + 8;
|
||||
temp_v0_19->words.w1 = (u32) D_0D0069E0;
|
||||
temp_v0_19->words.w0 = 0x06000000;
|
||||
}
|
||||
temp_v0_20 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_20 + 8;
|
||||
temp_v0_20->words.w0 = 0xFD100000;
|
||||
temp_v0_20->words.w1 = (u32) &D_0D019E58;
|
||||
temp_v0_21 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_21 + 8;
|
||||
temp_v0_21->words.w1 = 0;
|
||||
temp_v0_21->words.w0 = 0xE8000000;
|
||||
temp_v0_22 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_22 + 8;
|
||||
temp_v0_22->words.w1 = 0x07000000;
|
||||
temp_v0_22->words.w0 = 0xF5000100;
|
||||
temp_v0_23 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_23 + 8;
|
||||
temp_v0_23->words.w1 = 0;
|
||||
temp_v0_23->words.w0 = 0xE6000000;
|
||||
temp_v0_24 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_24 + 8;
|
||||
temp_v0_24->words.w1 = 0x073FC000;
|
||||
temp_v0_24->words.w0 = 0xF0000000;
|
||||
temp_v0_25 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_25 + 8;
|
||||
temp_v0_25->words.w1 = 0;
|
||||
temp_v0_25->words.w0 = 0xE7000000;
|
||||
func_800452A4((arg1 << 6) + 0x40 + &D_0D01A058, 8, 8);
|
||||
if (spB8 != 0) {
|
||||
func_80042330(spD0 + 0x26, spC4 + spCC + 4, 0U, 1.0f);
|
||||
} else {
|
||||
func_80042330(spD0 + 0x1B, spC4 + spCC + 4, 0U, 1.0f);
|
||||
}
|
||||
temp_v0_26 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_26 + 8;
|
||||
temp_v0_26->words.w0 = 0x06000000;
|
||||
temp_v0_26->words.w1 = (u32) D_0D006950;
|
||||
if ((spAC == gPlayerOne) && (gScreenModeSelection == 0)) {
|
||||
temp_v0_27 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_27 + 8;
|
||||
temp_v0_27->words.w1 = (u32) D_0D007A40;
|
||||
temp_v0_27->words.w0 = 0x06000000;
|
||||
sp34 = D_0D0069E0;
|
||||
func_8004B35C(D_8018D3E4, D_8018D3E8, D_8018D3EC, 0x000000FF);
|
||||
func_80044924(D_0D01A2D8, 0x20, 0x20);
|
||||
func_80042E00(sp3C, sp38, D_80165C18[spD4].unk_000);
|
||||
temp_v0_28 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_28 + 8;
|
||||
temp_v0_28->words.w0 = 0x06000000;
|
||||
temp_v0_28->words.w1 = (u32) sp34;
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, gPortraitTLUTs[characterId]);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007DB8);
|
||||
if (player->unk_0BC & 0x200) {
|
||||
func_8004B614((s32) D_801656C0, (s32) D_801656D0, (s32) D_801656E0, 0x00000080, 0x00000080, 0x00000080, (s32) D_80165C18[objectIndex].unk_0A0);
|
||||
} else {
|
||||
func_8004B2BC((s32) D_80165C18[objectIndex].unk_0A0);
|
||||
}
|
||||
func_800452A4(gPortraitTextures[characterId], 0x00000020, 0x00000020);
|
||||
object = &D_80165C18[objectIndex];
|
||||
object->unk_004[0] = object->unk_028[0] + ((f32) (spD0 + 0x20));
|
||||
object->unk_004[1] = object->unk_028[1] + ((f32) (spC4 + spCC));
|
||||
object->unk_004[2] = object->unk_028[2];
|
||||
func_80042E00(object->unk_004, object->unk_0BE, object->unk_000);
|
||||
if (spB8 != 0) {
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069F8);
|
||||
} else {
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069E0);
|
||||
}
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTHudTypeCRankTinyFont);
|
||||
func_800452A4(gTextureHudTypeCRankTinyFont[arg1 + 1], 8, 8);
|
||||
if (spB8 != 0) {
|
||||
func_80042330(spD0 + 0x26, (spC4 + spCC) + 4, 0U, 1.0f);
|
||||
} else {
|
||||
func_80042330(spD0 + 0x1B, (spC4 + spCC) + 4, 0U, 1.0f);
|
||||
}
|
||||
gSPDisplayList(gDisplayListHead++, D_0D006950);
|
||||
if ((player == gPlayerOne) && (gScreenModeSelection == 0)) {
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007A40);
|
||||
func_8004B35C(D_8018D3E4, D_8018D3E8, D_8018D3EC, 0x000000FF);
|
||||
func_80044924(gTextureCharacterPortraitBorder, 0x00000020, 0x00000020);
|
||||
func_80042E00(object->unk_004, object->unk_0BE, object->unk_000);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069E0);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
|
|
@ -298,9 +298,11 @@ void func_8004F950(s32, s32, s32, s32);
|
|||
void func_8004F9CC(s32, s32, s32);
|
||||
void func_8004FA78(s32);
|
||||
void func_8004FC78(s16, s16, s8);
|
||||
void func_8004FDB4(f32, f32, s16, s16, s16, s32, s32, s32, s32);
|
||||
|
||||
void func_80050320();
|
||||
s32 func_80050644(u16, s32*, s32*);
|
||||
void func_80050E34(s32, s32);
|
||||
|
||||
void func_800514BC();
|
||||
void func_80051638(s32);
|
||||
|
@ -418,8 +420,17 @@ extern UnkActorInner D_8018C830;
|
|||
extern u8 *D_8018D1E0;
|
||||
extern s32 D_8018D1F0;
|
||||
|
||||
extern s32 D_8018D3E0; // some alpha
|
||||
extern s32 D_8018D3E4; // some red
|
||||
extern s32 D_8018D3E8; // some green
|
||||
extern s32 D_8018D3EC; // some blue
|
||||
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5F0;
|
||||
|
||||
// Probably aren't really part of this file, but don't have a better place to put them
|
||||
extern u8 *gPortraitTLUTs[];
|
||||
extern u8 *gPortraitTextures[];
|
||||
|
||||
extern Lights1 D_800E4638;
|
||||
extern Lights1 D_800E4650;
|
||||
extern Lights1 D_800E4668;
|
||||
|
|
|
@ -483,11 +483,11 @@ D_0D00C158 = 0x0D00C158;
|
|||
D_0D00C558 = 0x0D00C558;
|
||||
D_0D00D258 = 0x0D00D258;
|
||||
D_0D015258 = 0x0D015258;
|
||||
D_0D019458 = 0x0D019458;
|
||||
D_0D019658 = 0x0D019658;
|
||||
D_0D019E58 = 0x0D019E58;
|
||||
D_0D01A058 = 0x0D01A058;
|
||||
D_0D01A2D8 = 0x0D01A2D8;
|
||||
gTLUTHudTypeCRankFont = 0x0D019458;
|
||||
gTextureHudTypeCRankFont = 0x0D019658;
|
||||
gTLUTHudTypeCRankTinyFont = 0x0D019E58;
|
||||
gTextureHudTypeCRankTinyFont = 0x0D01A058;
|
||||
gTextureCharacterPortraitBorder = 0x0D01A2D8;
|
||||
gTLUTPortraitMario = 0x0D01A4D8;
|
||||
gTLUTPortraitLuigi = 0x0D01A6D8;
|
||||
gTLUTPortraitPeach = 0x0D01A8D8;
|
||||
|
|
Loading…
Reference in New Issue