Decompile getitle0f0155f0
This commit is contained in:
parent
634a135117
commit
629d9a3aec
2
ld/pd.ld
2
ld/pd.ld
|
|
@ -159,6 +159,8 @@ SECTIONS
|
|||
|
||||
varbc000c02 = 0xbc000c02; /* for ntsc-beta */
|
||||
|
||||
getitle0f0155f0_hack = getitle0f0155f0;
|
||||
|
||||
/***************************************************************************
|
||||
* romheader
|
||||
* -------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "game/title.h"
|
||||
#include "lib/vi.h"
|
||||
#include "lib/dma.h"
|
||||
#include "lib/lib_317f0.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
const u32 var7f1a83b0[] = {0x459c4000};
|
||||
|
||||
Mtx *var8009cc80;
|
||||
Mtx *var8009cc84;
|
||||
Mtx *var8009cc88;
|
||||
|
|
@ -39,538 +38,6 @@ u32 var80062494 = 0x00000001;
|
|||
s32 var80062498 = 0;
|
||||
u32 var8006249c = 0x00000000;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel getitle0f0155f0
|
||||
/* f0155f0: 44852000 */ mtc1 $a1,$f4
|
||||
/* f0155f4: 27bdfef8 */ addiu $sp,$sp,-264
|
||||
/* f0155f8: 3c018006 */ lui $at,%hi(g_GetitleCamPos+0x8)
|
||||
/* f0155fc: 468021a0 */ cvt.s.w $f6,$f4
|
||||
/* f015600: afbf0034 */ sw $ra,0x34($sp)
|
||||
/* f015604: afb00030 */ sw $s0,0x30($sp)
|
||||
/* f015608: afa60110 */ sw $a2,0x110($sp)
|
||||
/* f01560c: 3c0f8006 */ lui $t7,%hi(var80061360)
|
||||
/* f015610: 25ef1360 */ addiu $t7,$t7,%lo(var80061360)
|
||||
/* f015614: e4262468 */ swc1 $f6,%lo(g_GetitleCamPos+0x8)($at)
|
||||
/* f015618: 3c0e0600 */ lui $t6,0x600
|
||||
/* f01561c: ac8e0000 */ sw $t6,0x0($a0)
|
||||
/* f015620: ac8f0004 */ sw $t7,0x4($a0)
|
||||
/* f015624: 3c188006 */ lui $t8,%hi(var80062494)
|
||||
/* f015628: 8f182494 */ lw $t8,%lo(var80062494)($t8)
|
||||
/* f01562c: 24900008 */ addiu $s0,$a0,0x8
|
||||
/* f015630: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015634: 13000007 */ beqz $t8,.L0f015654
|
||||
/* f015638: 3c19ba00 */ lui $t9,0xba00
|
||||
/* f01563c: 0fc06bf0 */ jal titleClear
|
||||
/* f015640: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015644: 3c018006 */ lui $at,%hi(var80062494)
|
||||
/* f015648: 00408025 */ or $s0,$v0,$zero
|
||||
/* f01564c: 10000023 */ b .L0f0156dc
|
||||
/* f015650: ac202494 */ sw $zero,%lo(var80062494)($at)
|
||||
.L0f015654:
|
||||
/* f015654: 37391402 */ ori $t9,$t9,0x1402
|
||||
/* f015658: 3c0e0030 */ lui $t6,0x30
|
||||
/* f01565c: ac4e0004 */ sw $t6,0x4($v0)
|
||||
/* f015660: ac590000 */ sw $t9,0x0($v0)
|
||||
/* f015664: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015668: afb000fc */ sw $s0,0xfc($sp)
|
||||
/* f01566c: 0c002f02 */ jal viGetWidth
|
||||
/* f015670: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015674: 244fffff */ addiu $t7,$v0,-1
|
||||
/* f015678: 8fae00fc */ lw $t6,0xfc($sp)
|
||||
/* f01567c: 31f80fff */ andi $t8,$t7,0xfff
|
||||
/* f015680: 3c01ff10 */ lui $at,0xff10
|
||||
/* f015684: 0301c825 */ or $t9,$t8,$at
|
||||
/* f015688: 0c002ac7 */ jal viGetBackBuffer
|
||||
/* f01568c: add90000 */ sw $t9,0x0($t6)
|
||||
/* f015690: 0c012d20 */ jal osVirtualToPhysical
|
||||
/* f015694: 00402025 */ or $a0,$v0,$zero
|
||||
/* f015698: 8faf00fc */ lw $t7,0xfc($sp)
|
||||
/* f01569c: 02001825 */ or $v1,$s0,$zero
|
||||
/* f0156a0: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f0156a4: ade20004 */ sw $v0,0x4($t7)
|
||||
/* f0156a8: 3c190001 */ lui $t9,0x1
|
||||
/* f0156ac: 37390001 */ ori $t9,$t9,0x1
|
||||
/* f0156b0: 3c18f700 */ lui $t8,0xf700
|
||||
/* f0156b4: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0156b8: ac780000 */ sw $t8,0x0($v1)
|
||||
/* f0156bc: ac790004 */ sw $t9,0x4($v1)
|
||||
/* f0156c0: 3c0f0032 */ lui $t7,0x32
|
||||
/* f0156c4: 3c0ef66d */ lui $t6,0xf66d
|
||||
/* f0156c8: 35cec5ec */ ori $t6,$t6,0xc5ec
|
||||
/* f0156cc: 35ef0190 */ ori $t7,$t7,0x190
|
||||
/* f0156d0: ac8f0004 */ sw $t7,0x4($a0)
|
||||
/* f0156d4: ac8e0000 */ sw $t6,0x0($a0)
|
||||
/* f0156d8: 26100008 */ addiu $s0,$s0,0x8
|
||||
.L0f0156dc:
|
||||
/* f0156dc: 3c0142c8 */ lui $at,0x42c8
|
||||
/* f0156e0: 44814000 */ mtc1 $at,$f8
|
||||
/* f0156e4: 3c017f1b */ lui $at,%hi(var7f1a83b0)
|
||||
/* f0156e8: 3c188006 */ lui $t8,%hi(var80062410)
|
||||
/* f0156ec: 8f182410 */ lw $t8,%lo(var80062410)($t8)
|
||||
/* f0156f0: c42a83b0 */ lwc1 $f10,%lo(var7f1a83b0)($at)
|
||||
/* f0156f4: 3c013f80 */ lui $at,0x3f80
|
||||
/* f0156f8: 3c0e800a */ lui $t6,%hi(var8009cc80)
|
||||
/* f0156fc: 8dcecc80 */ lw $t6,%lo(var8009cc80)($t6)
|
||||
/* f015700: 44818000 */ mtc1 $at,$f16
|
||||
/* f015704: 3c073faa */ lui $a3,0x3faa
|
||||
/* f015708: 0018c980 */ sll $t9,$t8,0x6
|
||||
/* f01570c: 34e7aaab */ ori $a3,$a3,0xaaab
|
||||
/* f015710: 27a500f2 */ addiu $a1,$sp,0xf2
|
||||
/* f015714: 3c064270 */ lui $a2,0x4270
|
||||
/* f015718: e7a80010 */ swc1 $f8,0x10($sp)
|
||||
/* f01571c: e7aa0014 */ swc1 $f10,0x14($sp)
|
||||
/* f015720: 032e2021 */ addu $a0,$t9,$t6
|
||||
/* f015724: 0c001289 */ jal guPerspective
|
||||
/* f015728: e7b00018 */ swc1 $f16,0x18($sp)
|
||||
/* f01572c: 3c0fbc00 */ lui $t7,0xbc00
|
||||
/* f015730: 35ef000e */ ori $t7,$t7,0xe
|
||||
/* f015734: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015738: ac4f0000 */ sw $t7,0x0($v0)
|
||||
/* f01573c: 97b800f2 */ lhu $t8,0xf2($sp)
|
||||
/* f015740: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015744: 3c190103 */ lui $t9,0x103
|
||||
/* f015748: 37390040 */ ori $t9,$t9,0x40
|
||||
/* f01574c: 02005825 */ or $t3,$s0,$zero
|
||||
/* f015750: ac580004 */ sw $t8,0x4($v0)
|
||||
/* f015754: ad790000 */ sw $t9,0x0($t3)
|
||||
/* f015758: 3c0e8006 */ lui $t6,%hi(var80062410)
|
||||
/* f01575c: 8dce2410 */ lw $t6,%lo(var80062410)($t6)
|
||||
/* f015760: 3c18800a */ lui $t8,%hi(var8009cc80)
|
||||
/* f015764: 8f18cc80 */ lw $t8,%lo(var8009cc80)($t8)
|
||||
/* f015768: 000e7980 */ sll $t7,$t6,0x6
|
||||
/* f01576c: afab00e8 */ sw $t3,0xe8($sp)
|
||||
/* f015770: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015774: 0c012d20 */ jal osVirtualToPhysical
|
||||
/* f015778: 01f82021 */ addu $a0,$t7,$t8
|
||||
/* f01577c: 8fab00e8 */ lw $t3,0xe8($sp)
|
||||
/* f015780: 02001825 */ or $v1,$s0,$zero
|
||||
/* f015784: 3c19b600 */ lui $t9,0xb600
|
||||
/* f015788: ad620004 */ sw $v0,0x4($t3)
|
||||
/* f01578c: 240effff */ addiu $t6,$zero,-1
|
||||
/* f015790: ac6e0004 */ sw $t6,0x4($v1)
|
||||
/* f015794: ac790000 */ sw $t9,0x0($v1)
|
||||
/* f015798: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f01579c: 02004025 */ or $t0,$s0,$zero
|
||||
/* f0157a0: 3c0fb700 */ lui $t7,0xb700
|
||||
/* f0157a4: 3c180006 */ lui $t8,0x6
|
||||
/* f0157a8: 37182204 */ ori $t8,$t8,0x2204
|
||||
/* f0157ac: ad0f0000 */ sw $t7,0x0($t0)
|
||||
/* f0157b0: ad180004 */ sw $t8,0x4($t0)
|
||||
/* f0157b4: 3c098006 */ lui $t1,%hi(g_GetitleCamLook)
|
||||
/* f0157b8: 3c0c8006 */ lui $t4,%hi(g_GetitleCamPos)
|
||||
/* f0157bc: 258c2460 */ addiu $t4,$t4,%lo(g_GetitleCamPos)
|
||||
/* f0157c0: 2529246c */ addiu $t1,$t1,%lo(g_GetitleCamLook)
|
||||
/* f0157c4: c5320000 */ lwc1 $f18,0x0($t1)
|
||||
/* f0157c8: c5800000 */ lwc1 $f0,0x0($t4)
|
||||
/* f0157cc: c5260004 */ lwc1 $f6,0x4($t1)
|
||||
/* f0157d0: c5820004 */ lwc1 $f2,0x4($t4)
|
||||
/* f0157d4: 46009100 */ add.s $f4,$f18,$f0
|
||||
/* f0157d8: c52a0008 */ lwc1 $f10,0x8($t1)
|
||||
/* f0157dc: c58c0008 */ lwc1 $f12,0x8($t4)
|
||||
/* f0157e0: 3c0a8006 */ lui $t2,%hi(g_GetitleCamUp)
|
||||
/* f0157e4: 254a2478 */ addiu $t2,$t2,%lo(g_GetitleCamUp)
|
||||
/* f0157e8: 3c198006 */ lui $t9,%hi(var80062410)
|
||||
/* f0157ec: 46023200 */ add.s $f8,$f6,$f2
|
||||
/* f0157f0: 8f392410 */ lw $t9,%lo(var80062410)($t9)
|
||||
/* f0157f4: e7a40010 */ swc1 $f4,0x10($sp)
|
||||
/* f0157f8: 460c5400 */ add.s $f16,$f10,$f12
|
||||
/* f0157fc: 3c0f800a */ lui $t7,%hi(var8009cc84)
|
||||
/* f015800: 8defcc84 */ lw $t7,%lo(var8009cc84)($t7)
|
||||
/* f015804: c5440004 */ lwc1 $f4,0x4($t2)
|
||||
/* f015808: c5460008 */ lwc1 $f6,0x8($t2)
|
||||
/* f01580c: c5520000 */ lwc1 $f18,0x0($t2)
|
||||
/* f015810: 44050000 */ mfc1 $a1,$f0
|
||||
/* f015814: 44061000 */ mfc1 $a2,$f2
|
||||
/* f015818: 44076000 */ mfc1 $a3,$f12
|
||||
/* f01581c: 00197180 */ sll $t6,$t9,0x6
|
||||
/* f015820: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015824: e7b00018 */ swc1 $f16,0x18($sp)
|
||||
/* f015828: e7a80014 */ swc1 $f8,0x14($sp)
|
||||
/* f01582c: 01cf2021 */ addu $a0,$t6,$t7
|
||||
/* f015830: e7a40020 */ swc1 $f4,0x20($sp)
|
||||
/* f015834: e7a60024 */ swc1 $f6,0x24($sp)
|
||||
/* f015838: 0c0010a9 */ jal guLookAt
|
||||
/* f01583c: e7b2001c */ swc1 $f18,0x1c($sp)
|
||||
/* f015840: 3c180102 */ lui $t8,0x102
|
||||
/* f015844: 37180040 */ ori $t8,$t8,0x40
|
||||
/* f015848: 02001825 */ or $v1,$s0,$zero
|
||||
/* f01584c: ac780000 */ sw $t8,0x0($v1)
|
||||
/* f015850: 3c198006 */ lui $t9,%hi(var80062410)
|
||||
/* f015854: 8f392410 */ lw $t9,%lo(var80062410)($t9)
|
||||
/* f015858: 3c0f800a */ lui $t7,%hi(var8009cc84)
|
||||
/* f01585c: 8defcc84 */ lw $t7,%lo(var8009cc84)($t7)
|
||||
/* f015860: 00197180 */ sll $t6,$t9,0x6
|
||||
/* f015864: afa300dc */ sw $v1,0xdc($sp)
|
||||
/* f015868: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f01586c: 0c012d20 */ jal osVirtualToPhysical
|
||||
/* f015870: 01cf2021 */ addu $a0,$t6,$t7
|
||||
/* f015874: 8fa300dc */ lw $v1,0xdc($sp)
|
||||
/* f015878: 3c180100 */ lui $t8,0x100
|
||||
/* f01587c: 37180040 */ ori $t8,$t8,0x40
|
||||
/* f015880: 02005025 */ or $t2,$s0,$zero
|
||||
/* f015884: ac620004 */ sw $v0,0x4($v1)
|
||||
/* f015888: ad580000 */ sw $t8,0x0($t2)
|
||||
/* f01588c: 3c198006 */ lui $t9,%hi(var80062410)
|
||||
/* f015890: 8f392410 */ lw $t9,%lo(var80062410)($t9)
|
||||
/* f015894: 3c0f800a */ lui $t7,%hi(var8009cc88)
|
||||
/* f015898: 8defcc88 */ lw $t7,%lo(var8009cc88)($t7)
|
||||
/* f01589c: 00197180 */ sll $t6,$t9,0x6
|
||||
/* f0158a0: afaa00d8 */ sw $t2,0xd8($sp)
|
||||
/* f0158a4: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f0158a8: 0c012d20 */ jal osVirtualToPhysical
|
||||
/* f0158ac: 01cf2021 */ addu $a0,$t6,$t7
|
||||
/* f0158b0: 8faa00d8 */ lw $t2,0xd8($sp)
|
||||
/* f0158b4: 02003825 */ or $a3,$s0,$zero
|
||||
/* f0158b8: 3c18bc00 */ lui $t8,0xbc00
|
||||
/* f0158bc: 3c198000 */ lui $t9,0x8000
|
||||
/* f0158c0: ad420004 */ sw $v0,0x4($t2)
|
||||
/* f0158c4: 37390040 */ ori $t9,$t9,0x40
|
||||
/* f0158c8: 37180002 */ ori $t8,$t8,0x2
|
||||
/* f0158cc: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f0158d0: 02004025 */ or $t0,$s0,$zero
|
||||
/* f0158d4: acf80000 */ sw $t8,0x0($a3)
|
||||
/* f0158d8: acf90004 */ sw $t9,0x4($a3)
|
||||
/* f0158dc: 3c0e0386 */ lui $t6,0x386
|
||||
/* f0158e0: 3c0f8006 */ lui $t7,%hi(var80062448+0x8)
|
||||
/* f0158e4: 25ef2450 */ addiu $t7,$t7,%lo(var80062448+0x8)
|
||||
/* f0158e8: 35ce0010 */ ori $t6,$t6,0x10
|
||||
/* f0158ec: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f0158f0: 3c038006 */ lui $v1,%hi(var80062448)
|
||||
/* f0158f4: 02004825 */ or $t1,$s0,$zero
|
||||
/* f0158f8: ad0e0000 */ sw $t6,0x0($t0)
|
||||
/* f0158fc: ad0f0004 */ sw $t7,0x4($t0)
|
||||
/* f015900: 3c180388 */ lui $t8,0x388
|
||||
/* f015904: 24632448 */ addiu $v1,$v1,%lo(var80062448)
|
||||
/* f015908: 37180010 */ ori $t8,$t8,0x10
|
||||
/* f01590c: 3c198006 */ lui $t9,%hi(var80062488)
|
||||
/* f015910: ad380000 */ sw $t8,0x0($t1)
|
||||
/* f015914: ad230004 */ sw $v1,0x4($t1)
|
||||
/* f015918: 27392488 */ addiu $t9,$t9,%lo(var80062488)
|
||||
/* f01591c: 8f210000 */ lw $at,0x0($t9)
|
||||
/* f015920: 27a400c0 */ addiu $a0,$sp,0xc0
|
||||
/* f015924: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015928: ac810000 */ sw $at,0x0($a0)
|
||||
/* f01592c: 8f2f0004 */ lw $t7,0x4($t9)
|
||||
/* f015930: 27a500c4 */ addiu $a1,$sp,0xc4
|
||||
/* f015934: 27a600c8 */ addiu $a2,$sp,0xc8
|
||||
/* f015938: ac8f0004 */ sw $t7,0x4($a0)
|
||||
/* f01593c: 8f210008 */ lw $at,0x8($t9)
|
||||
/* f015940: 0c0011e4 */ jal guNormalize
|
||||
/* f015944: ac810008 */ sw $at,0x8($a0)
|
||||
/* f015948: 3c0142fe */ lui $at,0x42fe
|
||||
/* f01594c: 44810000 */ mtc1 $at,$f0
|
||||
/* f015950: c7a800c0 */ lwc1 $f8,0xc0($sp)
|
||||
/* f015954: 3c038006 */ lui $v1,%hi(var80062448)
|
||||
/* f015958: 240e0001 */ addiu $t6,$zero,0x1
|
||||
/* f01595c: 46004282 */ mul.s $f10,$f8,$f0
|
||||
/* f015960: 24632448 */ addiu $v1,$v1,%lo(var80062448)
|
||||
/* f015964: 93a20113 */ lbu $v0,0x113($sp)
|
||||
/* f015968: 3c07e700 */ lui $a3,0xe700
|
||||
/* f01596c: a0600000 */ sb $zero,0x0($v1)
|
||||
/* f015970: a0600001 */ sb $zero,0x1($v1)
|
||||
/* f015974: a0600002 */ sb $zero,0x2($v1)
|
||||
/* f015978: 4458f800 */ cfc1 $t8,$31
|
||||
/* f01597c: 44cef800 */ ctc1 $t6,$31
|
||||
/* f015980: a0600004 */ sb $zero,0x4($v1)
|
||||
/* f015984: a0600005 */ sb $zero,0x5($v1)
|
||||
/* f015988: 46005424 */ cvt.w.s $f16,$f10
|
||||
/* f01598c: a0600006 */ sb $zero,0x6($v1)
|
||||
/* f015990: a0620008 */ sb $v0,0x8($v1)
|
||||
/* f015994: a0620009 */ sb $v0,0x9($v1)
|
||||
/* f015998: 444ef800 */ cfc1 $t6,$31
|
||||
/* f01599c: a062000a */ sb $v0,0xa($v1)
|
||||
/* f0159a0: a062000c */ sb $v0,0xc($v1)
|
||||
/* f0159a4: 31ce0078 */ andi $t6,$t6,0x78
|
||||
/* f0159a8: a062000d */ sb $v0,0xd($v1)
|
||||
/* f0159ac: 11c00013 */ beqz $t6,.L0f0159fc
|
||||
/* f0159b0: a062000e */ sb $v0,0xe($v1)
|
||||
/* f0159b4: 3c014f00 */ lui $at,0x4f00
|
||||
/* f0159b8: 44818000 */ mtc1 $at,$f16
|
||||
/* f0159bc: 240e0001 */ addiu $t6,$zero,0x1
|
||||
/* f0159c0: 46105401 */ sub.s $f16,$f10,$f16
|
||||
/* f0159c4: 44cef800 */ ctc1 $t6,$31
|
||||
/* f0159c8: 00000000 */ nop
|
||||
/* f0159cc: 46008424 */ cvt.w.s $f16,$f16
|
||||
/* f0159d0: 444ef800 */ cfc1 $t6,$31
|
||||
/* f0159d4: 00000000 */ nop
|
||||
/* f0159d8: 31ce0078 */ andi $t6,$t6,0x78
|
||||
/* f0159dc: 15c00005 */ bnez $t6,.L0f0159f4
|
||||
/* f0159e0: 00000000 */ nop
|
||||
/* f0159e4: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f0159e8: 3c018000 */ lui $at,0x8000
|
||||
/* f0159ec: 10000007 */ b .L0f015a0c
|
||||
/* f0159f0: 01c17025 */ or $t6,$t6,$at
|
||||
.L0f0159f4:
|
||||
/* f0159f4: 10000005 */ b .L0f015a0c
|
||||
/* f0159f8: 240effff */ addiu $t6,$zero,-1
|
||||
.L0f0159fc:
|
||||
/* f0159fc: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f015a00: 00000000 */ nop
|
||||
/* f015a04: 05c0fffb */ bltz $t6,.L0f0159f4
|
||||
/* f015a08: 00000000 */ nop
|
||||
.L0f015a0c:
|
||||
/* f015a0c: 44d8f800 */ ctc1 $t8,$31
|
||||
/* f015a10: c7b200c4 */ lwc1 $f18,0xc4($sp)
|
||||
/* f015a14: 240f0001 */ addiu $t7,$zero,0x1
|
||||
/* f015a18: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015a1c: 46009102 */ mul.s $f4,$f18,$f0
|
||||
/* f015a20: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015a24: 02002825 */ or $a1,$s0,$zero
|
||||
/* f015a28: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015a2c: 02003025 */ or $a2,$s0,$zero
|
||||
/* f015a30: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015a34: 02004025 */ or $t0,$s0,$zero
|
||||
/* f015a38: 4459f800 */ cfc1 $t9,$31
|
||||
/* f015a3c: 44cff800 */ ctc1 $t7,$31
|
||||
/* f015a40: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015a44: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015a48: 460021a4 */ cvt.w.s $f6,$f4
|
||||
/* f015a4c: 3c0b0701 */ lui $t3,0x701
|
||||
/* f015a50: a06e0010 */ sb $t6,0x10($v1)
|
||||
/* f015a54: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015a58: 444ff800 */ cfc1 $t7,$31
|
||||
/* f015a5c: 3c09fd10 */ lui $t1,0xfd10
|
||||
/* f015a60: 356b4050 */ ori $t3,$t3,0x4050
|
||||
/* f015a64: 31ef0078 */ andi $t7,$t7,0x78
|
||||
/* f015a68: 11e00013 */ beqz $t7,.L0f015ab8
|
||||
/* f015a6c: 3c0af510 */ lui $t2,0xf510
|
||||
/* f015a70: 3c014f00 */ lui $at,0x4f00
|
||||
/* f015a74: 44813000 */ mtc1 $at,$f6
|
||||
/* f015a78: 240f0001 */ addiu $t7,$zero,0x1
|
||||
/* f015a7c: 46062181 */ sub.s $f6,$f4,$f6
|
||||
/* f015a80: 44cff800 */ ctc1 $t7,$31
|
||||
/* f015a84: 00000000 */ nop
|
||||
/* f015a88: 460031a4 */ cvt.w.s $f6,$f6
|
||||
/* f015a8c: 444ff800 */ cfc1 $t7,$31
|
||||
/* f015a90: 00000000 */ nop
|
||||
/* f015a94: 31ef0078 */ andi $t7,$t7,0x78
|
||||
/* f015a98: 15e00005 */ bnez $t7,.L0f015ab0
|
||||
/* f015a9c: 00000000 */ nop
|
||||
/* f015aa0: 440f3000 */ mfc1 $t7,$f6
|
||||
/* f015aa4: 3c018000 */ lui $at,0x8000
|
||||
/* f015aa8: 10000007 */ b .L0f015ac8
|
||||
/* f015aac: 01e17825 */ or $t7,$t7,$at
|
||||
.L0f015ab0:
|
||||
/* f015ab0: 10000005 */ b .L0f015ac8
|
||||
/* f015ab4: 240fffff */ addiu $t7,$zero,-1
|
||||
.L0f015ab8:
|
||||
/* f015ab8: 440f3000 */ mfc1 $t7,$f6
|
||||
/* f015abc: 00000000 */ nop
|
||||
/* f015ac0: 05e0fffb */ bltz $t7,.L0f015ab0
|
||||
/* f015ac4: 00000000 */ nop
|
||||
.L0f015ac8:
|
||||
/* f015ac8: 44d9f800 */ ctc1 $t9,$31
|
||||
/* f015acc: c7a800c8 */ lwc1 $f8,0xc8($sp)
|
||||
/* f015ad0: 240e0001 */ addiu $t6,$zero,0x1
|
||||
/* f015ad4: a06f0011 */ sb $t7,0x11($v1)
|
||||
/* f015ad8: 46004282 */ mul.s $f10,$f8,$f0
|
||||
/* f015adc: 3c19fc12 */ lui $t9,0xfc12
|
||||
/* f015ae0: 3c1f073f */ lui $ra,0x73f
|
||||
/* f015ae4: 3c014f00 */ lui $at,0x4f00
|
||||
/* f015ae8: 37397e24 */ ori $t9,$t9,0x7e24
|
||||
/* f015aec: 240ff9fc */ addiu $t7,$zero,-1540
|
||||
/* f015af0: 37fff100 */ ori $ra,$ra,0xf100
|
||||
/* f015af4: 4458f800 */ cfc1 $t8,$31
|
||||
/* f015af8: 44cef800 */ ctc1 $t6,$31
|
||||
/* f015afc: 3c0ce600 */ lui $t4,0xe600
|
||||
/* f015b00: 3c0df300 */ lui $t5,0xf300
|
||||
/* f015b04: 46005424 */ cvt.w.s $f16,$f10
|
||||
/* f015b08: 444ef800 */ cfc1 $t6,$31
|
||||
/* f015b0c: 00000000 */ nop
|
||||
/* f015b10: 31ce0078 */ andi $t6,$t6,0x78
|
||||
/* f015b14: 51c00013 */ beqzl $t6,.L0f015b64
|
||||
/* f015b18: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f015b1c: 44818000 */ mtc1 $at,$f16
|
||||
/* f015b20: 240e0001 */ addiu $t6,$zero,0x1
|
||||
/* f015b24: 46105401 */ sub.s $f16,$f10,$f16
|
||||
/* f015b28: 44cef800 */ ctc1 $t6,$31
|
||||
/* f015b2c: 00000000 */ nop
|
||||
/* f015b30: 46008424 */ cvt.w.s $f16,$f16
|
||||
/* f015b34: 444ef800 */ cfc1 $t6,$31
|
||||
/* f015b38: 00000000 */ nop
|
||||
/* f015b3c: 31ce0078 */ andi $t6,$t6,0x78
|
||||
/* f015b40: 15c00005 */ bnez $t6,.L0f015b58
|
||||
/* f015b44: 00000000 */ nop
|
||||
/* f015b48: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f015b4c: 3c018000 */ lui $at,0x8000
|
||||
/* f015b50: 10000007 */ b .L0f015b70
|
||||
/* f015b54: 01c17025 */ or $t6,$t6,$at
|
||||
.L0f015b58:
|
||||
/* f015b58: 10000005 */ b .L0f015b70
|
||||
/* f015b5c: 240effff */ addiu $t6,$zero,-1
|
||||
/* f015b60: 440e8000 */ mfc1 $t6,$f16
|
||||
.L0f015b64:
|
||||
/* f015b64: 00000000 */ nop
|
||||
/* f015b68: 05c0fffb */ bltz $t6,.L0f015b58
|
||||
/* f015b6c: 00000000 */ nop
|
||||
.L0f015b70:
|
||||
/* f015b70: a06e0012 */ sb $t6,0x12($v1)
|
||||
/* f015b74: ac800004 */ sw $zero,0x4($a0)
|
||||
/* f015b78: ac870000 */ sw $a3,0x0($a0)
|
||||
/* f015b7c: aca00004 */ sw $zero,0x4($a1)
|
||||
/* f015b80: aca70000 */ sw $a3,0x0($a1)
|
||||
/* f015b84: 44d8f800 */ ctc1 $t8,$31
|
||||
/* f015b88: acd90000 */ sw $t9,0x0($a2)
|
||||
/* f015b8c: accf0004 */ sw $t7,0x4($a2)
|
||||
/* f015b90: 3c18ba00 */ lui $t8,0xba00
|
||||
/* f015b94: 37181301 */ ori $t8,$t8,0x1301
|
||||
/* f015b98: 3c0e0008 */ lui $t6,0x8
|
||||
/* f015b9c: ad0e0004 */ sw $t6,0x4($t0)
|
||||
/* f015ba0: ad180000 */ sw $t8,0x0($t0)
|
||||
/* f015ba4: 3c19ba00 */ lui $t9,0xba00
|
||||
/* f015ba8: 37391102 */ ori $t9,$t9,0x1102
|
||||
/* f015bac: ac590000 */ sw $t9,0x0($v0)
|
||||
/* f015bb0: 02001825 */ or $v1,$s0,$zero
|
||||
/* f015bb4: ac400004 */ sw $zero,0x4($v0)
|
||||
/* f015bb8: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015bbc: 3c0fba00 */ lui $t7,0xba00
|
||||
/* f015bc0: 35ef1001 */ ori $t7,$t7,0x1001
|
||||
/* f015bc4: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015bc8: ac6f0000 */ sw $t7,0x0($v1)
|
||||
/* f015bcc: ac600004 */ sw $zero,0x4($v1)
|
||||
/* f015bd0: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015bd4: 3c18ba00 */ lui $t8,0xba00
|
||||
/* f015bd8: 37180e02 */ ori $t8,$t8,0xe02
|
||||
/* f015bdc: 02002825 */ or $a1,$s0,$zero
|
||||
/* f015be0: ac980000 */ sw $t8,0x0($a0)
|
||||
/* f015be4: ac800004 */ sw $zero,0x4($a0)
|
||||
/* f015be8: 3c0eba00 */ lui $t6,0xba00
|
||||
/* f015bec: 35ce0c02 */ ori $t6,$t6,0xc02
|
||||
/* f015bf0: 24192000 */ addiu $t9,$zero,0x2000
|
||||
/* f015bf4: acb90004 */ sw $t9,0x4($a1)
|
||||
/* f015bf8: acae0000 */ sw $t6,0x0($a1)
|
||||
/* f015bfc: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c00: 02003025 */ or $a2,$s0,$zero
|
||||
/* f015c04: 3c0fba00 */ lui $t7,0xba00
|
||||
/* f015c08: 35ef0903 */ ori $t7,$t7,0x903
|
||||
/* f015c0c: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c10: accf0000 */ sw $t7,0x0($a2)
|
||||
/* f015c14: 24180c00 */ addiu $t8,$zero,0xc00
|
||||
/* f015c18: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015c1c: acd80004 */ sw $t8,0x4($a2)
|
||||
/* f015c20: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c24: 02001825 */ or $v1,$s0,$zero
|
||||
/* f015c28: ac400004 */ sw $zero,0x4($v0)
|
||||
/* f015c2c: ac470000 */ sw $a3,0x0($v0)
|
||||
/* f015c30: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c34: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015c38: ac600004 */ sw $zero,0x4($v1)
|
||||
/* f015c3c: ac670000 */ sw $a3,0x0($v1)
|
||||
/* f015c40: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c44: 3c0ebb00 */ lui $t6,0xbb00
|
||||
/* f015c48: 3c190800 */ lui $t9,0x800
|
||||
/* f015c4c: 37390800 */ ori $t9,$t9,0x800
|
||||
/* f015c50: 35ce0001 */ ori $t6,$t6,0x1
|
||||
/* f015c54: 02002825 */ or $a1,$s0,$zero
|
||||
/* f015c58: ac8e0000 */ sw $t6,0x0($a0)
|
||||
/* f015c5c: ac990004 */ sw $t9,0x4($a0)
|
||||
/* f015c60: 3c0f0200 */ lui $t7,0x200
|
||||
/* f015c64: 25ef4dc8 */ addiu $t7,$t7,0x4dc8
|
||||
/* f015c68: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c6c: 02004025 */ or $t0,$s0,$zero
|
||||
/* f015c70: acaf0004 */ sw $t7,0x4($a1)
|
||||
/* f015c74: aca90000 */ sw $t1,0x0($a1)
|
||||
/* f015c78: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c7c: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015c80: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c84: ad0b0004 */ sw $t3,0x4($t0)
|
||||
/* f015c88: ad0a0000 */ sw $t2,0x0($t0)
|
||||
/* f015c8c: 02001825 */ or $v1,$s0,$zero
|
||||
/* f015c90: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015c94: ac400004 */ sw $zero,0x4($v0)
|
||||
/* f015c98: ac4c0000 */ sw $t4,0x0($v0)
|
||||
/* f015c9c: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015ca0: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015ca4: ac7f0004 */ sw $ra,0x4($v1)
|
||||
/* f015ca8: ac6d0000 */ sw $t5,0x0($v1)
|
||||
/* f015cac: 02002825 */ or $a1,$s0,$zero
|
||||
/* f015cb0: ac800004 */ sw $zero,0x4($a0)
|
||||
/* f015cb4: ac870000 */ sw $a3,0x0($a0)
|
||||
/* f015cb8: 3c0e0001 */ lui $t6,0x1
|
||||
/* f015cbc: 3c18f510 */ lui $t8,0xf510
|
||||
/* f015cc0: 37181000 */ ori $t8,$t8,0x1000
|
||||
/* f015cc4: 35ce4050 */ ori $t6,$t6,0x4050
|
||||
/* f015cc8: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015ccc: 02003025 */ or $a2,$s0,$zero
|
||||
/* f015cd0: acae0004 */ sw $t6,0x4($a1)
|
||||
/* f015cd4: acb80000 */ sw $t8,0x0($a1)
|
||||
/* f015cd8: 3c0f0007 */ lui $t7,0x7
|
||||
/* f015cdc: 35efc07c */ ori $t7,$t7,0xc07c
|
||||
/* f015ce0: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015ce4: 3c19f200 */ lui $t9,0xf200
|
||||
/* f015ce8: acd90000 */ sw $t9,0x0($a2)
|
||||
/* f015cec: accf0004 */ sw $t7,0x4($a2)
|
||||
/* f015cf0: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015cf4: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015cf8: 3c180600 */ lui $t8,0x600
|
||||
/* f015cfc: 3c0e0200 */ lui $t6,0x200
|
||||
/* f015d00: 25ce43f8 */ addiu $t6,$t6,0x43f8
|
||||
/* f015d04: ac580000 */ sw $t8,0x0($v0)
|
||||
/* f015d08: 02001825 */ or $v1,$s0,$zero
|
||||
/* f015d0c: ac4e0004 */ sw $t6,0x4($v0)
|
||||
/* f015d10: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015d14: 3c0f0200 */ lui $t7,0x200
|
||||
/* f015d18: 25ef4468 */ addiu $t7,$t7,0x4468
|
||||
/* f015d1c: 3c190600 */ lui $t9,0x600
|
||||
/* f015d20: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015d24: ac790000 */ sw $t9,0x0($v1)
|
||||
/* f015d28: ac6f0004 */ sw $t7,0x4($v1)
|
||||
/* f015d2c: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015d30: 3c180200 */ lui $t8,0x200
|
||||
/* f015d34: 27185dd0 */ addiu $t8,$t8,0x5dd0
|
||||
/* f015d38: 02002825 */ or $a1,$s0,$zero
|
||||
/* f015d3c: ac980004 */ sw $t8,0x4($a0)
|
||||
/* f015d40: ac890000 */ sw $t1,0x0($a0)
|
||||
/* f015d44: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015d48: 02004025 */ or $t0,$s0,$zero
|
||||
/* f015d4c: acab0004 */ sw $t3,0x4($a1)
|
||||
/* f015d50: acaa0000 */ sw $t2,0x0($a1)
|
||||
/* f015d54: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015d58: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015d5c: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015d60: ad000004 */ sw $zero,0x4($t0)
|
||||
/* f015d64: ad0c0000 */ sw $t4,0x0($t0)
|
||||
/* f015d68: 02001825 */ or $v1,$s0,$zero
|
||||
/* f015d6c: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015d70: ac5f0004 */ sw $ra,0x4($v0)
|
||||
/* f015d74: ac4d0000 */ sw $t5,0x0($v0)
|
||||
/* f015d78: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015d7c: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015d80: ac600004 */ sw $zero,0x4($v1)
|
||||
/* f015d84: ac670000 */ sw $a3,0x0($v1)
|
||||
/* f015d88: 3c190001 */ lui $t9,0x1
|
||||
/* f015d8c: 3c0ef510 */ lui $t6,0xf510
|
||||
/* f015d90: 35ce1000 */ ori $t6,$t6,0x1000
|
||||
/* f015d94: 37394050 */ ori $t9,$t9,0x4050
|
||||
/* f015d98: 02002825 */ or $a1,$s0,$zero
|
||||
/* f015d9c: ac990004 */ sw $t9,0x4($a0)
|
||||
/* f015da0: ac8e0000 */ sw $t6,0x0($a0)
|
||||
/* f015da4: 3c180007 */ lui $t8,0x7
|
||||
/* f015da8: 3718c07c */ ori $t8,$t8,0xc07c
|
||||
/* f015dac: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015db0: 3c0ff200 */ lui $t7,0xf200
|
||||
/* f015db4: acaf0000 */ sw $t7,0x0($a1)
|
||||
/* f015db8: acb80004 */ sw $t8,0x4($a1)
|
||||
/* f015dbc: 02003025 */ or $a2,$s0,$zero
|
||||
/* f015dc0: 3c190200 */ lui $t9,0x200
|
||||
/* f015dc4: 27394700 */ addiu $t9,$t9,0x4700
|
||||
/* f015dc8: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f015dcc: 3c0e0600 */ lui $t6,0x600
|
||||
/* f015dd0: acce0000 */ sw $t6,0x0($a2)
|
||||
/* f015dd4: acd90004 */ sw $t9,0x4($a2)
|
||||
/* f015dd8: 02001825 */ or $v1,$s0,$zero
|
||||
/* f015ddc: 3c180200 */ lui $t8,0x200
|
||||
/* f015de0: 27184d28 */ addiu $t8,$t8,0x4d28
|
||||
/* f015de4: 3c0f0600 */ lui $t7,0x600
|
||||
/* f015de8: ac6f0000 */ sw $t7,0x0($v1)
|
||||
/* f015dec: ac780004 */ sw $t8,0x4($v1)
|
||||
/* f015df0: 8fbf0034 */ lw $ra,0x34($sp)
|
||||
/* f015df4: 26020008 */ addiu $v0,$s0,0x8
|
||||
/* f015df8: 8fb00030 */ lw $s0,0x30($sp)
|
||||
/* f015dfc: 03e00008 */ jr $ra
|
||||
/* f015e00: 27bd0108 */ addiu $sp,$sp,0x108
|
||||
);
|
||||
|
||||
extern u8 var020043f8;
|
||||
extern u8 var02004468;
|
||||
extern u8 var02004700;
|
||||
|
|
@ -578,92 +45,98 @@ extern u8 var02004d28;
|
|||
extern u8 var02004dc8;
|
||||
extern u8 var02005dd0;
|
||||
|
||||
Gfx *getitle0f0155f0(Gfx *gdl, s32 arg1, u32 arg2);
|
||||
/**
|
||||
* This is a dirty, dirty hack. getitle0f0155f0 only matches if arg2 is a u8.
|
||||
* But if arg2 is a u8, the caller casts it which creates a mismatch in the
|
||||
* caller. To work around this, we declare a dummy function using u32, then
|
||||
* the linker is configured to link the dummy function to the same address as
|
||||
* the real one, and we make the caller call the dummy function.
|
||||
*
|
||||
* @TODO figure out how to fix this properly.
|
||||
*/
|
||||
Gfx *getitle0f0155f0_hack(Gfx *gdl, s32 arg1, u32 arg2);
|
||||
|
||||
// Mismatch: arg2 is should be accessed using lbu. Changing it a to a u8 does
|
||||
// this and creates a match, but causes the caller to cast it to u8 which
|
||||
// creates a mismatch in the caller. GE uses lw so it's likely a u32.
|
||||
//Gfx *getitle0f0155f0(Gfx *gdl, s32 arg1, u32 arg2)
|
||||
//{
|
||||
// g_GetitleCamPos.z = arg1;
|
||||
//
|
||||
// gSPDisplayList(gdl++, &var80061360);
|
||||
//
|
||||
// if (var80062494) {
|
||||
// gdl = titleClear(gdl);
|
||||
// var80062494 = 0;
|
||||
// } else {
|
||||
// gDPSetCycleType(gdl++, G_CYC_FILL);
|
||||
// gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, viGetWidth(), osVirtualToPhysical(viGetBackBuffer()));
|
||||
// gDPSetFillColor(gdl++, 0x00010001);
|
||||
// gDPFillRectangle(gdl++, 200, 100, 439, 379);
|
||||
// }
|
||||
//
|
||||
// {
|
||||
// u16 perspnorm;
|
||||
// guPerspective(&var8009cc80[var80062410], &perspnorm, 60, 320.0f / 240.0f, 100, 5000, 1);
|
||||
// gSPPerspNormalize(gdl++, perspnorm);
|
||||
// }
|
||||
//
|
||||
// gSPMatrix(gdl++, osVirtualToPhysical(&var8009cc80[var80062410]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
// gSPClearGeometryMode(gdl++, 0xffffffff);
|
||||
// gSPSetGeometryMode(gdl++, G_SHADE | G_CULL_BACK | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH);
|
||||
//
|
||||
// guLookAt(&var8009cc84[var80062410],
|
||||
// g_GetitleCamPos.x, g_GetitleCamPos.y, g_GetitleCamPos.z,
|
||||
// g_GetitleCamLook.x + g_GetitleCamPos.x, g_GetitleCamLook.y + g_GetitleCamPos.y, g_GetitleCamLook.z + g_GetitleCamPos.z,
|
||||
// g_GetitleCamUp.x, g_GetitleCamUp.y, g_GetitleCamUp.z);
|
||||
//
|
||||
// gSPMatrix(gdl++, osVirtualToPhysical(&var8009cc84[var80062410]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
// gSPMatrix(gdl++, osVirtualToPhysical(&var8009cc88[var80062410]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
//
|
||||
// gSPSetLights1(gdl++, var80062448);
|
||||
//
|
||||
// {
|
||||
// struct coord dir = var80062488;
|
||||
//
|
||||
// guNormalize(&dir.x, &dir.y, &dir.z);
|
||||
//
|
||||
// var80062448.a.l.col[0] = 0;
|
||||
// var80062448.a.l.col[1] = 0;
|
||||
// var80062448.a.l.col[2] = 0;
|
||||
// var80062448.a.l.colc[0] = 0;
|
||||
// var80062448.a.l.colc[1] = 0;
|
||||
// var80062448.a.l.colc[2] = 0;
|
||||
//
|
||||
// var80062448.l[0].l.col[0] = arg2;
|
||||
// var80062448.l[0].l.col[1] = arg2;
|
||||
// var80062448.l[0].l.col[2] = arg2;
|
||||
// var80062448.l[0].l.colc[0] = var80062448.l[0].l.col[0];
|
||||
// var80062448.l[0].l.colc[1] = var80062448.l[0].l.col[0];
|
||||
// var80062448.l[0].l.colc[2] = var80062448.l[0].l.col[0];
|
||||
//
|
||||
// var80062448.l[0].l.dir[0] = (u32)(dir.x * 127.0f);
|
||||
// var80062448.l[0].l.dir[1] = (u32)(dir.y * 127.0f);
|
||||
// var80062448.l[0].l.dir[2] = (u32)(dir.z * 127.0f);
|
||||
//
|
||||
// gDPPipeSync(gdl++);
|
||||
// gDPPipeSync(gdl++);
|
||||
// gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
// gDPSetTexturePersp(gdl++, G_TP_PERSP);
|
||||
// gDPSetTextureDetail(gdl++, G_TD_CLAMP);
|
||||
// gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
// gDPSetTextureLUT(gdl++, G_TT_NONE);
|
||||
// gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
// gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
// gDPPipeSync(gdl++);
|
||||
// gDPPipeSync(gdl++);
|
||||
// gSPTexture(gdl++, 0x0800, 0x0800, 0, G_TX_RENDERTILE, G_ON);
|
||||
// gDPLoadTextureBlock(gdl++, &var02004dc8, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
// gSPDisplayList(gdl++, &var020043f8);
|
||||
// gSPDisplayList(gdl++, &var02004468);
|
||||
// gDPLoadTextureBlock(gdl++, &var02005dd0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
// gSPDisplayList(gdl++, &var02004700);
|
||||
// gSPDisplayList(gdl++, &var02004d28);
|
||||
// }
|
||||
//
|
||||
// return gdl;
|
||||
//}
|
||||
Gfx *getitle0f0155f0(Gfx *gdl, s32 arg1, u8 arg2)
|
||||
{
|
||||
g_GetitleCamPos.z = arg1;
|
||||
|
||||
gSPDisplayList(gdl++, &var80061360);
|
||||
|
||||
if (var80062494) {
|
||||
gdl = titleClear(gdl);
|
||||
var80062494 = 0;
|
||||
} else {
|
||||
gDPSetCycleType(gdl++, G_CYC_FILL);
|
||||
gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, viGetWidth(), osVirtualToPhysical(viGetBackBuffer()));
|
||||
gDPSetFillColor(gdl++, 0x00010001);
|
||||
gDPFillRectangle(gdl++, 200, 100, 439, 379);
|
||||
}
|
||||
|
||||
{
|
||||
u16 perspnorm;
|
||||
guPerspective(&var8009cc80[var80062410], &perspnorm, 60, 320.0f / 240.0f, 100, 5000, 1);
|
||||
gSPPerspNormalize(gdl++, perspnorm);
|
||||
}
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(&var8009cc80[var80062410]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPClearGeometryMode(gdl++, 0xffffffff);
|
||||
gSPSetGeometryMode(gdl++, G_SHADE | G_CULL_BACK | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH);
|
||||
|
||||
guLookAt(&var8009cc84[var80062410],
|
||||
g_GetitleCamPos.x, g_GetitleCamPos.y, g_GetitleCamPos.z,
|
||||
g_GetitleCamLook.x + g_GetitleCamPos.x, g_GetitleCamLook.y + g_GetitleCamPos.y, g_GetitleCamLook.z + g_GetitleCamPos.z,
|
||||
g_GetitleCamUp.x, g_GetitleCamUp.y, g_GetitleCamUp.z);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(&var8009cc84[var80062410]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(&var8009cc88[var80062410]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
|
||||
gSPSetLights1(gdl++, var80062448);
|
||||
|
||||
{
|
||||
struct coord dir = var80062488;
|
||||
|
||||
guNormalize(&dir.x, &dir.y, &dir.z);
|
||||
|
||||
var80062448.a.l.col[0] = 0;
|
||||
var80062448.a.l.col[1] = 0;
|
||||
var80062448.a.l.col[2] = 0;
|
||||
var80062448.a.l.colc[0] = 0;
|
||||
var80062448.a.l.colc[1] = 0;
|
||||
var80062448.a.l.colc[2] = 0;
|
||||
|
||||
var80062448.l[0].l.col[0] = arg2;
|
||||
var80062448.l[0].l.col[1] = arg2;
|
||||
var80062448.l[0].l.col[2] = arg2;
|
||||
var80062448.l[0].l.colc[0] = var80062448.l[0].l.col[0];
|
||||
var80062448.l[0].l.colc[1] = var80062448.l[0].l.col[0];
|
||||
var80062448.l[0].l.colc[2] = var80062448.l[0].l.col[0];
|
||||
|
||||
var80062448.l[0].l.dir[0] = (u32)(dir.x * 127.0f);
|
||||
var80062448.l[0].l.dir[1] = (u32)(dir.y * 127.0f);
|
||||
var80062448.l[0].l.dir[2] = (u32)(dir.z * 127.0f);
|
||||
|
||||
gDPPipeSync(gdl++);
|
||||
gDPPipeSync(gdl++);
|
||||
gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
gDPSetTexturePersp(gdl++, G_TP_PERSP);
|
||||
gDPSetTextureDetail(gdl++, G_TD_CLAMP);
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureLUT(gdl++, G_TT_NONE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
gDPPipeSync(gdl++);
|
||||
gDPPipeSync(gdl++);
|
||||
gSPTexture(gdl++, 0x0800, 0x0800, 0, G_TX_RENDERTILE, G_ON);
|
||||
gDPLoadTextureBlock(gdl++, &var02004dc8, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPDisplayList(gdl++, &var020043f8);
|
||||
gSPDisplayList(gdl++, &var02004468);
|
||||
gDPLoadTextureBlock(gdl++, &var02005dd0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPDisplayList(gdl++, &var02004700);
|
||||
gSPDisplayList(gdl++, &var02004d28);
|
||||
}
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
extern u8 _getitleSegmentRomStart;
|
||||
extern u8 _getitleSegmentStart;
|
||||
|
|
@ -722,7 +195,7 @@ Gfx *getitleRender(Gfx *gdl)
|
|||
|
||||
guRotate(&var8009cc88[var80062410], var80062484, 0, 1, 0);
|
||||
|
||||
gdl = getitle0f0155f0(gdl, var8009cc8c, (sp30 * sp2c) / 255);
|
||||
gdl = getitle0f0155f0_hack(gdl, var8009cc8c, (sp30 * sp2c) / 255);
|
||||
|
||||
if (var80062498 >= TICKS(1040) && var80062498 >= TICKS(1160)) {
|
||||
var80062498 = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue