Decompile mblurRender

This commit is contained in:
Ryan Dwyer committed 2022-07-02 22:09:48 +10:00
1 parent 41041fe6f2
commit 8c6b3c3af4
7 files changed
+118 -475

No files matched your search

+12 -12
View File
@@ -18721,7 +18721,7 @@ glabel var7f1aca90
/* f0a71e4: 100002d5 */ b .L0f0a7d3c
/* f0a71e8: 8fbf0034 */ lw $ra,0x34($sp)
.L0f0a71ec:
/* f0a71ec: 0fc5d9ad */ jal func0f1766b4
/* f0a71ec: 0fc5d9ad */ jal mblurRender
/* f0a71f0: 8fa4014c */ lw $a0,0x14c($sp)
/* f0a71f4: afa2014c */ sw $v0,0x14c($sp)
/* f0a71f8: 0c002ca0 */ jal vi0000b280
@@ -19421,9 +19421,9 @@ glabel var7f1aca90
/* f0a7c0c: afb500e4 */ sw $s5,0xe4($sp)
/* f0a7c10: 0fc2baf8 */ jal casingsRender
/* f0a7c14: 27a4014c */ addiu $a0,$sp,0x14c
/* f0a7c18: 0fc5d8a6 */ jal func0f176298
/* f0a7c18: 0fc5d8a6 */ jal mblur0f176298
/* f0a7c1c: 00000000 */ nop
/* f0a7c20: 0fc5d8ab */ jal func0f1762ac
/* f0a7c20: 0fc5d8ab */ jal mblur0f1762ac
/* f0a7c24: 8fa4014c */ lw $a0,0x14c($sp)
/* f0a7c28: afa2014c */ sw $v0,0x14c($sp)
/* f0a7c2c: 0c002c74 */ jal vi0000b1d0
@@ -19562,7 +19562,7 @@ glabel var7f1aca90
/* f0a71e4: 100002d5 */ b .L0f0a7d3c
/* f0a71e8: 8fbf0034 */ lw $ra,0x34($sp)
.L0f0a71ec:
/* f0a71ec: 0fc5d9ad */ jal func0f1766b4
/* f0a71ec: 0fc5d9ad */ jal mblurRender
/* f0a71f0: 8fa4014c */ lw $a0,0x14c($sp)
/* f0a71f4: afa2014c */ sw $v0,0x14c($sp)
/* f0a71f8: 0c002ca0 */ jal vi0000b280
@@ -20262,9 +20262,9 @@ glabel var7f1aca90
/* f0a7c0c: afb500e4 */ sw $s5,0xe4($sp)
/* f0a7c10: 0fc2baf8 */ jal casingsRender
/* f0a7c14: 27a4014c */ addiu $a0,$sp,0x14c
/* f0a7c18: 0fc5d8a6 */ jal func0f176298
/* f0a7c18: 0fc5d8a6 */ jal mblur0f176298
/* f0a7c1c: 00000000 */ nop
/* f0a7c20: 0fc5d8ab */ jal func0f1762ac
/* f0a7c20: 0fc5d8ab */ jal mblur0f1762ac
/* f0a7c24: 8fa4014c */ lw $a0,0x14c($sp)
/* f0a7c28: afa2014c */ sw $v0,0x14c($sp)
/* f0a7c2c: 0c002c74 */ jal vi0000b1d0
@@ -20403,7 +20403,7 @@ glabel var7f1aca90
/* f0a4f30: 100002cd */ beqz $zero,.NB0f0a5a68
/* f0a4f34: 8fbf0034 */ lw $ra,0x34($sp)
.NB0f0a4f38:
/* f0a4f38: 0fc5c4d5 */ jal func0f1766b4
/* f0a4f38: 0fc5c4d5 */ jal mblurRender
/* f0a4f3c: 8fa40144 */ lw $a0,0x144($sp)
/* f0a4f40: afa20144 */ sw $v0,0x144($sp)
/* f0a4f44: 0c002d00 */ jal vi0000b280
@@ -21094,9 +21094,9 @@ glabel var7f1aca90
/* f0a5938: afb500dc */ sw $s5,0xdc($sp)
/* f0a593c: 0fc2b250 */ jal casingsRender
/* f0a5940: 27a40144 */ addiu $a0,$sp,0x144
/* f0a5944: 0fc5c3ce */ jal func0f176298
/* f0a5944: 0fc5c3ce */ jal mblur0f176298
/* f0a5948: 00000000 */ sll $zero,$zero,0x0
/* f0a594c: 0fc5c3d3 */ jal func0f1762ac
/* f0a594c: 0fc5c3d3 */ jal mblur0f1762ac
/* f0a5950: 8fa40144 */ lw $a0,0x144($sp)
/* f0a5954: afa20144 */ sw $v0,0x144($sp)
/* f0a5958: 0c002cd4 */ jal vi0000b1d0
@@ -21200,7 +21200,7 @@ glabel var7f1aca90
// return;
// }
//
// gdl = func0f1766b4(gdl);
// gdl = mblurRender(gdl);
// gdl = vi0000b280(gdl);
// gdl = vi0000b1d0(gdl);
//
@@ -21423,9 +21423,9 @@ glabel var7f1aca90
// }
//
// casingsRender(&gdl);
// func0f176298();
// mblur0f176298();
//
// gdl = func0f1762ac(gdl);
// gdl = mblur0f1762ac(gdl);
// gdl = vi0000b1d0(gdl);
//
// gDPSetScissor(gdl++, G_SC_NON_INTERLACE, viGetViewLeft(), viGetViewTop(),
+1 -1
View File
@@ -597,7 +597,7 @@ void func0f001c0c(void)
mempGetStageFree();
ptr = func0f176080();
ptr = mblurGetAllocation();
var80061434 = (f32 *)ptr;
ptr += table1size;
+93 -449
View File
@@ -13,29 +13,29 @@
u32 var800ab7c0;
u32 var800ab7c4;
u8 var800ab7c8[0x300];
u8 var800abac8[0x300];
u8 var800abdc8[0x300];
u16 var800ab7c8[0x180];
u16 var800abac8[0x180];
u16 var800abdc8[0x180];
u16 *var800844f0 = NULL;
void *var800844f4 = NULL;
void *func0f176080(void)
void *mblurGetAllocation(void)
{
return var800844f0;
}
void func0f17608c(s32 stagenum)
void mblurReset(s32 stagenum)
{
var800844f0 = 0;
var800844f4 = 0;
if (stagenum != STAGE_TITLE) {
func0f1760c4();
mblurAllocate();
}
}
void func0f1760c4(void)
void mblurAllocate(void)
{
if (IS4MB()) {
var800ab7c0 = 320;
@@ -60,12 +60,12 @@ void func0f1760c4(void)
var800844f4 = var800844f0;
}
void func0f176298(void)
void mblur0f176298(void)
{
var800844f4 = var800844f0;
}
Gfx *func0f1762ac(Gfx *gdl)
Gfx *mblur0f1762ac(Gfx *gdl)
{
u32 subamount;
u32 addr;
@@ -90,7 +90,7 @@ Gfx *func0f1762ac(Gfx *gdl)
return gdl;
}
Gfx *func0f1763f4(Gfx *gdl)
Gfx *mblur0f1763f4(Gfx *gdl)
{
s32 left;
s32 right;
@@ -119,458 +119,102 @@ Gfx *func0f1763f4(Gfx *gdl)
return gdl;
}
void *func0f176668(s32 arg0)
u16 *mblur0f176668(s32 arg0)
{
void *addr;
u16 *addr;
if (arg0 == 0) {
addr = &var800ab7c8;
addr = var800ab7c8;
}
if (arg0 == 1) {
addr = &var800abac8;
addr = var800abac8;
}
if (arg0 == 2) {
addr = &var800abdc8;
addr = var800abdc8;
}
addr = (void *)(((u32)addr + 0x3f) & ~0x3f);
addr = (u16 *)(((u32)addr + 0x3f) & ~0x3f);
return addr;
}
GLOBAL_ASM(
glabel func0f1766b4
/* f1766b4: 27bdffa8 */ addiu $sp,$sp,-88
/* f1766b8: afbf003c */ sw $ra,0x3c($sp)
/* f1766bc: afb00018 */ sw $s0,0x18($sp)
/* f1766c0: 00808025 */ or $s0,$a0,$zero
/* f1766c4: afbe0038 */ sw $s8,0x38($sp)
/* f1766c8: afb70034 */ sw $s7,0x34($sp)
/* f1766cc: afb60030 */ sw $s6,0x30($sp)
/* f1766d0: afb5002c */ sw $s5,0x2c($sp)
/* f1766d4: afb40028 */ sw $s4,0x28($sp)
/* f1766d8: afb30024 */ sw $s3,0x24($sp)
/* f1766dc: afb20020 */ sw $s2,0x20($sp)
/* f1766e0: 0c000913 */ jal bbufGetIndex0Buffer
/* f1766e4: afb1001c */ sw $s1,0x1c($sp)
/* f1766e8: 3c0e8008 */ lui $t6,%hi(var800844f0)
/* f1766ec: 8dce44f0 */ lw $t6,%lo(var800844f0)($t6)
/* f1766f0: 00409025 */ or $s2,$v0,$zero
/* f1766f4: 0000a025 */ or $s4,$zero,$zero
/* f1766f8: 0c002ac7 */ jal viGetBackBuffer
/* f1766fc: afae004c */ sw $t6,0x4c($sp)
/* f176700: 3c138009 */ lui $s3,%hi(g_BootBufferIndex0)
/* f176704: 2673fa6c */ addiu $s3,$s3,%lo(g_BootBufferIndex0)
/* f176708: 0fc5d99a */ jal func0f176668
/* f17670c: 8e640000 */ lw $a0,0x0($s3)
/* f176710: 8e780000 */ lw $t8,0x0($s3)
/* f176714: 3c018009 */ lui $at,%hi(g_BootBufferDirtyIndexes)
/* f176718: 02001825 */ or $v1,$s0,$zero
/* f17671c: 240f0001 */ addiu $t7,$zero,0x1
/* f176720: 26100008 */ addiu $s0,$s0,0x8
/* f176724: 00380821 */ addu $at,$at,$t8
/* f176728: 3c16e700 */ lui $s6,0xe700
/* f17672c: afa20044 */ sw $v0,0x44($sp)
/* f176730: a02ffa68 */ sb $t7,%lo(g_BootBufferDirtyIndexes)($at)
/* f176734: 02008825 */ or $s1,$s0,$zero
/* f176738: ac600004 */ sw $zero,0x4($v1)
/* f17673c: ac760000 */ sw $s6,0x0($v1)
/* f176740: 0c002ef1 */ jal viGetBufWidth
/* f176744: 26100008 */ addiu $s0,$s0,0x8
/* f176748: 2459ffff */ addiu $t9,$v0,-1
/* f17674c: 33280fff */ andi $t0,$t9,0xfff
/* f176750: 3c01ff10 */ lui $at,0xff10
/* f176754: 01014825 */ or $t1,$t0,$at
/* f176758: ae290000 */ sw $t1,0x0($s1)
/* f17675c: 8faa0044 */ lw $t2,0x44($sp)
/* f176760: 3c018000 */ lui $at,0x8000
/* f176764: 02001825 */ or $v1,$s0,$zero
/* f176768: 01415821 */ addu $t3,$t2,$at
/* f17676c: ae2b0004 */ sw $t3,0x4($s1)
/* f176770: 26100008 */ addiu $s0,$s0,0x8
/* f176774: 3c0ced00 */ lui $t4,0xed00
/* f176778: 3c0d0050 */ lui $t5,0x50
/* f17677c: 35ad03c0 */ ori $t5,$t5,0x3c0
/* f176780: ac6c0000 */ sw $t4,0x0($v1)
/* f176784: 02002025 */ or $a0,$s0,$zero
/* f176788: ac6d0004 */ sw $t5,0x4($v1)
/* f17678c: 26100008 */ addiu $s0,$s0,0x8
/* f176790: 3c0eba00 */ lui $t6,0xba00
/* f176794: 35ce1402 */ ori $t6,$t6,0x1402
/* f176798: 3c0f0020 */ lui $t7,0x20
/* f17679c: 02002825 */ or $a1,$s0,$zero
/* f1767a0: ac8f0004 */ sw $t7,0x4($a0)
/* f1767a4: ac8e0000 */ sw $t6,0x0($a0)
/* f1767a8: 26100008 */ addiu $s0,$s0,0x8
/* f1767ac: 3c190500 */ lui $t9,0x500
/* f1767b0: 3c18f510 */ lui $t8,0xf510
/* f1767b4: 02003025 */ or $a2,$s0,$zero
/* f1767b8: acb80000 */ sw $t8,0x0($a1)
/* f1767bc: acb90004 */ sw $t9,0x4($a1)
/* f1767c0: 3c08f510 */ lui $t0,0xf510
/* f1767c4: 35080080 */ ori $t0,$t0,0x80
/* f1767c8: 26100008 */ addiu $s0,$s0,0x8
/* f1767cc: 3c090400 */ lui $t1,0x400
/* f1767d0: acc90004 */ sw $t1,0x4($a2)
/* f1767d4: acc80000 */ sw $t0,0x0($a2)
/* f1767d8: 02001025 */ or $v0,$s0,$zero
/* f1767dc: 26100008 */ addiu $s0,$s0,0x8
/* f1767e0: 3c0af511 */ lui $t2,0xf511
/* f1767e4: 354a4000 */ ori $t2,$t2,0x4000
/* f1767e8: 02001825 */ or $v1,$s0,$zero
/* f1767ec: ac4a0000 */ sw $t2,0x0($v0)
/* f1767f0: ac400004 */ sw $zero,0x4($v0)
/* f1767f4: 26100008 */ addiu $s0,$s0,0x8
/* f1767f8: 3c0c0100 */ lui $t4,0x100
/* f1767fc: 3c0bf589 */ lui $t3,0xf589
/* f176800: 356b4080 */ ori $t3,$t3,0x4080
/* f176804: 358c000f */ ori $t4,$t4,0xf
/* f176808: 02002025 */ or $a0,$s0,$zero
/* f17680c: ac6c0004 */ sw $t4,0x4($v1)
/* f176810: ac6b0000 */ sw $t3,0x0($v1)
/* f176814: 26100008 */ addiu $s0,$s0,0x8
/* f176818: 3c0dbb00 */ lui $t5,0xbb00
/* f17681c: 2407ffff */ addiu $a3,$zero,-1
/* f176820: 35ad0001 */ ori $t5,$t5,0x1
/* f176824: 02002825 */ or $a1,$s0,$zero
/* f176828: ac8d0000 */ sw $t5,0x0($a0)
/* f17682c: ac870004 */ sw $a3,0x4($a0)
/* f176830: 26100008 */ addiu $s0,$s0,0x8
/* f176834: 3c0efb00 */ lui $t6,0xfb00
/* f176838: acae0000 */ sw $t6,0x0($a1)
/* f17683c: aca70004 */ sw $a3,0x4($a1)
/* f176840: 02003025 */ or $a2,$s0,$zero
/* f176844: 26100008 */ addiu $s0,$s0,0x8
/* f176848: 3c0ffa00 */ lui $t7,0xfa00
/* f17684c: 02001025 */ or $v0,$s0,$zero
/* f176850: accf0000 */ sw $t7,0x0($a2)
/* f176854: acc70004 */ sw $a3,0x4($a2)
/* f176858: 26100008 */ addiu $s0,$s0,0x8
/* f17685c: 3c18b900 */ lui $t8,0xb900
/* f176860: 3718031d */ ori $t8,$t8,0x31d
/* f176864: 02001825 */ or $v1,$s0,$zero
/* f176868: ac580000 */ sw $t8,0x0($v0)
/* f17686c: ac400004 */ sw $zero,0x4($v0)
/* f176870: 26100008 */ addiu $s0,$s0,0x8
/* f176874: 3c08fffc */ lui $t0,0xfffc
/* f176878: 3c19fcff */ lui $t9,0xfcff
/* f17687c: 3739ffff */ ori $t9,$t9,0xffff
/* f176880: 3508f279 */ ori $t0,$t0,0xf279
/* f176884: 02002025 */ or $a0,$s0,$zero
/* f176888: ac680004 */ sw $t0,0x4($v1)
/* f17688c: ac790000 */ sw $t9,0x0($v1)
/* f176890: 3c09ba00 */ lui $t1,0xba00
/* f176894: 35290c02 */ ori $t1,$t1,0xc02
/* f176898: 26100008 */ addiu $s0,$s0,0x8
/* f17689c: ac890000 */ sw $t1,0x0($a0)
/* f1768a0: ac800004 */ sw $zero,0x4($a0)
/* f1768a4: 02002825 */ or $a1,$s0,$zero
/* f1768a8: 26100008 */ addiu $s0,$s0,0x8
/* f1768ac: 3c0aba00 */ lui $t2,0xba00
/* f1768b0: 354a1301 */ ori $t2,$t2,0x1301
/* f1768b4: 02003025 */ or $a2,$s0,$zero
/* f1768b8: acaa0000 */ sw $t2,0x0($a1)
/* f1768bc: aca00004 */ sw $zero,0x4($a1)
/* f1768c0: 26100008 */ addiu $s0,$s0,0x8
/* f1768c4: 3c0bba00 */ lui $t3,0xba00
/* f1768c8: 356b0602 */ ori $t3,$t3,0x602
/* f1768cc: 240c00c0 */ addiu $t4,$zero,0xc0
/* f1768d0: 02001025 */ or $v0,$s0,$zero
/* f1768d4: accc0004 */ sw $t4,0x4($a2)
/* f1768d8: accb0000 */ sw $t3,0x0($a2)
/* f1768dc: 26100008 */ addiu $s0,$s0,0x8
/* f1768e0: 3c0dba00 */ lui $t5,0xba00
/* f1768e4: 35ad0402 */ ori $t5,$t5,0x402
/* f1768e8: 240e0030 */ addiu $t6,$zero,0x30
/* f1768ec: 02001825 */ or $v1,$s0,$zero
/* f1768f0: ac4e0004 */ sw $t6,0x4($v0)
/* f1768f4: ac4d0000 */ sw $t5,0x0($v0)
/* f1768f8: 3c0fba00 */ lui $t7,0xba00
/* f1768fc: 35ef1001 */ ori $t7,$t7,0x1001
/* f176900: 26100008 */ addiu $s0,$s0,0x8
/* f176904: ac6f0000 */ sw $t7,0x0($v1)
/* f176908: ac600004 */ sw $zero,0x4($v1)
/* f17690c: 02002025 */ or $a0,$s0,$zero
/* f176910: 26100008 */ addiu $s0,$s0,0x8
/* f176914: 3c18ba00 */ lui $t8,0xba00
/* f176918: 37181102 */ ori $t8,$t8,0x1102
/* f17691c: 02002825 */ or $a1,$s0,$zero
/* f176920: ac980000 */ sw $t8,0x0($a0)
/* f176924: ac800004 */ sw $zero,0x4($a0)
/* f176928: 26100008 */ addiu $s0,$s0,0x8
/* f17692c: 3c19ba00 */ lui $t9,0xba00
/* f176930: 37390e02 */ ori $t9,$t9,0xe02
/* f176934: 02003025 */ or $a2,$s0,$zero
/* f176938: acb90000 */ sw $t9,0x0($a1)
/* f17693c: aca00004 */ sw $zero,0x4($a1)
/* f176940: 26100008 */ addiu $s0,$s0,0x8
/* f176944: 3c08b900 */ lui $t0,0xb900
/* f176948: 35080002 */ ori $t0,$t0,0x2
/* f17694c: 02001025 */ or $v0,$s0,$zero
/* f176950: acc80000 */ sw $t0,0x0($a2)
/* f176954: acc00004 */ sw $zero,0x4($a2)
/* f176958: 26100008 */ addiu $s0,$s0,0x8
/* f17695c: 240a0001 */ addiu $t2,$zero,0x1
/* f176960: 3c09b600 */ lui $t1,0xb600
/* f176964: 02001825 */ or $v1,$s0,$zero
/* f176968: ac490000 */ sw $t1,0x0($v0)
/* f17696c: ac4a0004 */ sw $t2,0x4($v0)
/* f176970: 3c0be800 */ lui $t3,0xe800
/* f176974: 3c1efd10 */ lui $s8,0xfd10
/* f176978: ac6b0000 */ sw $t3,0x0($v1)
/* f17697c: ac600004 */ sw $zero,0x4($v1)
/* f176980: 26100008 */ addiu $s0,$s0,0x8
/* f176984: 37de013f */ ori $s8,$s8,0x13f
/* f176988: 02408825 */ or $s1,$s2,$zero
/* f17698c: 0000a825 */ or $s5,$zero,$zero
/* f176990: 3c17e600 */ lui $s7,0xe600
.L0f176994:
/* f176994: 962c0000 */ lhu $t4,0x0($s1)
/* f176998: 8fae0044 */ lw $t6,0x44($sp)
/* f17699c: 1180004a */ beqz $t4,.L0f176ac8
/* f1769a0: 00146840 */ sll $t5,$s4,0x1
/* f1769a4: 0c002f02 */ jal viGetWidth
/* f1769a8: 01ae9021 */ addu $s2,$t5,$t6
/* f1769ac: 962f000c */ lhu $t7,0xc($s1)
/* f1769b0: 8fa8004c */ lw $t0,0x4c($sp)
/* f1769b4: 02001825 */ or $v1,$s0,$zero
/* f1769b8: 004f0019 */ multu $v0,$t7
/* f1769bc: 26100008 */ addiu $s0,$s0,0x8
/* f1769c0: 02002025 */ or $a0,$s0,$zero
/* f1769c4: ac760000 */ sw $s6,0x0($v1)
/* f1769c8: ac600004 */ sw $zero,0x4($v1)
/* f1769cc: 26100008 */ addiu $s0,$s0,0x8
/* f1769d0: 02002825 */ or $a1,$s0,$zero
/* f1769d4: ac9e0000 */ sw $s8,0x0($a0)
/* f1769d8: 26100008 */ addiu $s0,$s0,0x8
/* f1769dc: 02009825 */ or $s3,$s0,$zero
/* f1769e0: 0000c012 */ mflo $t8
/* f1769e4: 0018c840 */ sll $t9,$t8,0x1
/* f1769e8: 03283021 */ addu $a2,$t9,$t0
/* f1769ec: ac860004 */ sw $a2,0x4($a0)
/* f1769f0: aca00004 */ sw $zero,0x4($a1)
/* f1769f4: acb70000 */ sw $s7,0x0($a1)
/* f1769f8: 3c09f300 */ lui $t1,0xf300
/* f1769fc: ae690000 */ sw $t1,0x0($s3)
/* f176a00: 0c002f02 */ jal viGetWidth
/* f176a04: 26100008 */ addiu $s0,$s0,0x8
/* f176a08: 244affff */ addiu $t2,$v0,-1
/* f176a0c: 294107ff */ slti $at,$t2,0x7ff
/* f176a10: 10200005 */ beqz $at,.L0f176a28
/* f176a14: 240507ff */ addiu $a1,$zero,0x7ff
/* f176a18: 0c002f02 */ jal viGetWidth
/* f176a1c: 00000000 */ nop
/* f176a20: 10000001 */ b .L0f176a28
/* f176a24: 2445ffff */ addiu $a1,$v0,-1
.L0f176a28:
/* f176a28: 30ab0fff */ andi $t3,$a1,0xfff
/* f176a2c: 000b6300 */ sll $t4,$t3,0xc
/* f176a30: 3c010500 */ lui $at,0x500
/* f176a34: 01816825 */ or $t5,$t4,$at
/* f176a38: 02001025 */ or $v0,$s0,$zero
/* f176a3c: 268e0003 */ addiu $t6,$s4,0x3
/* f176a40: ae6d0004 */ sw $t5,0x4($s3)
/* f176a44: 26100008 */ addiu $s0,$s0,0x8
/* f176a48: 000e7880 */ sll $t7,$t6,0x2
/* f176a4c: 31f80fff */ andi $t8,$t7,0xfff
/* f176a50: 02001825 */ or $v1,$s0,$zero
/* f176a54: 00144880 */ sll $t1,$s4,0x2
/* f176a58: ac400004 */ sw $zero,0x4($v0)
/* f176a5c: ac560000 */ sw $s6,0x0($v0)
/* f176a60: 312a0fff */ andi $t2,$t1,0xfff
/* f176a64: 0018cb00 */ sll $t9,$t8,0xc
/* f176a68: 3c01e400 */ lui $at,0xe400
/* f176a6c: 03214025 */ or $t0,$t9,$at
/* f176a70: 000a5b00 */ sll $t3,$t2,0xc
/* f176a74: 26100008 */ addiu $s0,$s0,0x8
/* f176a78: 02002025 */ or $a0,$s0,$zero
/* f176a7c: ac6b0004 */ sw $t3,0x4($v1)
/* f176a80: ac680000 */ sw $t0,0x0($v1)
/* f176a84: 3c0cb400 */ lui $t4,0xb400
/* f176a88: ac8c0000 */ sw $t4,0x0($a0)
/* f176a8c: 962d000e */ lhu $t5,0xe($s1)
/* f176a90: 26100008 */ addiu $s0,$s0,0x8
/* f176a94: 02003025 */ or $a2,$s0,$zero
/* f176a98: 000d7140 */ sll $t6,$t5,0x5
/* f176a9c: 25d80010 */ addiu $t8,$t6,0x10
/* f176aa0: 0018cc00 */ sll $t9,$t8,0x10
/* f176aa4: 37280010 */ ori $t0,$t9,0x10
/* f176aa8: ac880004 */ sw $t0,0x4($a0)
/* f176aac: 3c0a1000 */ lui $t2,0x1000
/* f176ab0: 3c09b300 */ lui $t1,0xb300
/* f176ab4: acc90000 */ sw $t1,0x0($a2)
/* f176ab8: acca0004 */ sw $t2,0x4($a2)
/* f176abc: 26100008 */ addiu $s0,$s0,0x8
/* f176ac0: ae32000c */ sw $s2,0xc($s1)
/* f176ac4: 26940001 */ addiu $s4,$s4,0x1
.L0f176ac8:
/* f176ac8: 26b50014 */ addiu $s5,$s5,0x14
/* f176acc: 24010960 */ addiu $at,$zero,0x960
/* f176ad0: 16a1ffb0 */ bne $s5,$at,.L0f176994
/* f176ad4: 26310014 */ addiu $s1,$s1,0x14
/* f176ad8: 02001025 */ or $v0,$s0,$zero
/* f176adc: 26100008 */ addiu $s0,$s0,0x8
/* f176ae0: 02001825 */ or $v1,$s0,$zero
/* f176ae4: 26100008 */ addiu $s0,$s0,0x8
/* f176ae8: ac560000 */ sw $s6,0x0($v0)
/* f176aec: ac400004 */ sw $zero,0x4($v0)
/* f176af0: 02002025 */ or $a0,$s0,$zero
/* f176af4: 26100008 */ addiu $s0,$s0,0x8
/* f176af8: ac600004 */ sw $zero,0x4($v1)
/* f176afc: ac770000 */ sw $s7,0x0($v1)
/* f176b00: 3c0be800 */ lui $t3,0xe800
/* f176b04: 02008825 */ or $s1,$s0,$zero
/* f176b08: ac8b0000 */ sw $t3,0x0($a0)
/* f176b0c: ac800004 */ sw $zero,0x4($a0)
/* f176b10: 0c002ef1 */ jal viGetBufWidth
/* f176b14: 26100008 */ addiu $s0,$s0,0x8
/* f176b18: 244cffff */ addiu $t4,$v0,-1
/* f176b1c: 318d0fff */ andi $t5,$t4,0xfff
/* f176b20: 3c01ff10 */ lui $at,0xff10
/* f176b24: 01a17025 */ or $t6,$t5,$at
/* f176b28: 0c002ac7 */ jal viGetBackBuffer
/* f176b2c: ae2e0000 */ sw $t6,0x0($s1)
/* f176b30: 3c018000 */ lui $at,0x8000
/* f176b34: 00417821 */ addu $t7,$v0,$at
/* f176b38: ae2f0004 */ sw $t7,0x4($s1)
/* f176b3c: 02009025 */ or $s2,$s0,$zero
/* f176b40: 3c18ed00 */ lui $t8,0xed00
/* f176b44: ae580000 */ sw $t8,0x0($s2)
/* f176b48: 0c002f02 */ jal viGetWidth
/* f176b4c: 26100008 */ addiu $s0,$s0,0x8
/* f176b50: 00028c00 */ sll $s1,$v0,0x10
/* f176b54: 0011cc03 */ sra $t9,$s1,0x10
/* f176b58: 0c002f06 */ jal viGetHeight
/* f176b5c: 03208825 */ or $s1,$t9,$zero
/* f176b60: 44822000 */ mtc1 $v0,$f4
/* f176b64: 44918000 */ mtc1 $s1,$f16
/* f176b68: 3c014080 */ lui $at,0x4080
/* f176b6c: 468021a0 */ cvt.s.w $f6,$f4
/* f176b70: 44810000 */ mtc1 $at,$f0
/* f176b74: 02001825 */ or $v1,$s0,$zero
/* f176b78: 26100008 */ addiu $s0,$s0,0x8
/* f176b7c: 3c18b700 */ lui $t8,0xb700
/* f176b80: 468084a0 */ cvt.s.w $f18,$f16
/* f176b84: 46003202 */ mul.s $f8,$f6,$f0
/* f176b88: 24190001 */ addiu $t9,$zero,0x1
/* f176b8c: 02002025 */ or $a0,$s0,$zero
/* f176b90: 26100008 */ addiu $s0,$s0,0x8
/* f176b94: 3c08ba00 */ lui $t0,0xba00
/* f176b98: 46009102 */ mul.s $f4,$f18,$f0
/* f176b9c: 35080c02 */ ori $t0,$t0,0xc02
/* f176ba0: 02002825 */ or $a1,$s0,$zero
/* f176ba4: 3c0bba00 */ lui $t3,0xba00
/* f176ba8: 356b1301 */ ori $t3,$t3,0x1301
/* f176bac: 26100008 */ addiu $s0,$s0,0x8
/* f176bb0: 4600428d */ trunc.w.s $f10,$f8
/* f176bb4: 02003025 */ or $a2,$s0,$zero
/* f176bb8: 26020008 */ addiu $v0,$s0,0x8
/* f176bbc: 4600218d */ trunc.w.s $f6,$f4
/* f176bc0: 44095000 */ mfc1 $t1,$f10
/* f176bc4: 440c3000 */ mfc1 $t4,$f6
/* f176bc8: 312a0fff */ andi $t2,$t1,0xfff
/* f176bcc: 24092000 */ addiu $t1,$zero,0x2000
/* f176bd0: 318d0fff */ andi $t5,$t4,0xfff
/* f176bd4: 000d7300 */ sll $t6,$t5,0xc
/* f176bd8: 014e7825 */ or $t7,$t2,$t6
/* f176bdc: ae4f0004 */ sw $t7,0x4($s2)
/* f176be0: ac790004 */ sw $t9,0x4($v1)
/* f176be4: ac780000 */ sw $t8,0x0($v1)
/* f176be8: ac890004 */ sw $t1,0x4($a0)
/* f176bec: ac880000 */ sw $t0,0x0($a0)
/* f176bf0: 3c0c0008 */ lui $t4,0x8
/* f176bf4: acac0004 */ sw $t4,0x4($a1)
/* f176bf8: acab0000 */ sw $t3,0x0($a1)
/* f176bfc: 3c0dba00 */ lui $t5,0xba00
/* f176c00: 35ad0602 */ ori $t5,$t5,0x602
/* f176c04: 240a0040 */ addiu $t2,$zero,0x40
/* f176c08: acca0004 */ sw $t2,0x4($a2)
/* f176c0c: accd0000 */ sw $t5,0x0($a2)
/* f176c10: 8fbf003c */ lw $ra,0x3c($sp)
/* f176c14: 8fbe0038 */ lw $s8,0x38($sp)
/* f176c18: 8fb70034 */ lw $s7,0x34($sp)
/* f176c1c: 8fb60030 */ lw $s6,0x30($sp)
/* f176c20: 8fb5002c */ lw $s5,0x2c($sp)
/* f176c24: 8fb40028 */ lw $s4,0x28($sp)
/* f176c28: 8fb30024 */ lw $s3,0x24($sp)
/* f176c2c: 8fb20020 */ lw $s2,0x20($sp)
/* f176c30: 8fb1001c */ lw $s1,0x1c($sp)
/* f176c34: 8fb00018 */ lw $s0,0x18($sp)
/* f176c38: 03e00008 */ jr $ra
/* f176c3c: 27bd0058 */ addiu $sp,$sp,0x58
);
Gfx *mblurRender(Gfx *gdl)
{
struct bootbufferthing *thing = bbufGetIndex0Buffer();
u32 stack;
u16 *sp4c = var800844f0;
u32 s4 = 0;
u16 *sp44;
u16 *s2;
u16 *image;
s32 i;
// Mismatch: Need to know more about the stack variables and
// bootbufferthingdeep->unk0c.
//Gfx *func0f1766b4(Gfx *gdl)
//{
// struct bootbufferthing *thing = bbufGetIndex0Buffer();
// u32 sp4c = (u32) var800844f0;
// s32 s4 = 0;
// u32 sp44;
// s32 i;
//
// viGetBackBuffer();
// sp44 = (u32)func0f176668(g_BootBufferIndex0);
// g_BootBufferDirtyIndexes[g_BootBufferIndex0] = 1;
//
// gDPPipeSync(gdl++);
// gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, viGetBufWidth(), OS_PHYSICAL_TO_K0(sp44));
// gDPSetScissor(gdl++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
// gDPSetCycleType(gdl++, G_CYC_COPY);
// gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 5, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
// gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0080, 4, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
// gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 160, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
// gDPSetTile(gdl++, G_IM_FMT_I, G_IM_SIZ_8b, 160, 0x0080, 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, 15);
// gSPTexture(gdl++, 0xffff, 0xffff, 0, G_TX_RENDERTILE, G_ON);
// gDPSetEnvColor(gdl++, 0xff, 0xff, 0xff, 0xff);
// gDPSetPrimColor(gdl++, 0, 0, 0xff, 0xff, 0xff, 0xff);
// gDPSetRenderMode(gdl++, G_RM_NOOP, G_RM_NOOP2);
// gDPSetCombineMode(gdl++, G_CC_DECALRGBA, G_CC_DECALRGBA);
// gDPSetTextureFilter(gdl++, G_TF_POINT);
// gDPSetTexturePersp(gdl++, G_TP_NONE);
// gDPSetColorDither(gdl++, G_CD_DISABLE);
// gDPSetAlphaDither(gdl++, G_AD_DISABLE);
// gDPSetTextureLOD(gdl++, G_TL_TILE);
// gDPSetTextureDetail(gdl++, G_TD_CLAMP);
// gDPSetTextureLUT(gdl++, G_TT_NONE);
// gDPSetAlphaCompare(gdl++, G_AC_NONE);
// gSPClearGeometryMode(gdl++, G_ZBUFFER);
// gDPTileSync(gdl++);
//
// for (i = 0; i < 120; i++) {
// if (thing->unk00[i].unk00) {
// u32 tmp = viGetWidth() * thing->unk00[i].unk0c.u16_1 * 2 + sp4c;
//
// gDPPipeSync(gdl++);
// gDPSetTextureImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, tmp);
// gDPLoadSync(gdl++);
// gDPLoadBlock(gdl++, 5, 0, 0, viGetWidth() - 1, 0);
// gDPPipeSync(gdl++);
//
// gSPTextureRectangle(gdl++,
// s4 << 2, 0,
// (s4 + 3) << 2, 0,
// G_TX_RENDERTILE, (thing->unk00[i].unk0c.u16_2 * 32) + 16, 0x0010, 0x1000, 0);
//
// // Note: s4 should have * 2 in the following expression,
// // but this produces a shifted codegen.
// thing->unk00[i].unk0c.u16p = (u16 *)(s4 + sp44);
// s4++;
// }
// }
//
// gDPPipeSync(gdl++);
// gDPLoadSync(gdl++);
// gDPTileSync(gdl++);
// gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, viGetBufWidth(), OS_PHYSICAL_TO_K0(viGetBackBuffer()));
// gDPSetScissorFrac(gdl++, G_SC_NON_INTERLACE, 0, 0, viGetWidth() * 4.0f, viGetHeight() * 4.0f);
// gSPSetGeometryMode(gdl++, G_ZBUFFER);
// gDPSetTextureFilter(gdl++, G_TF_BILERP);
// gDPSetTexturePersp(gdl++, G_TP_PERSP);
// gDPSetColorDither(gdl++, G_CD_BAYER);
//
// return gdl;
//}
viGetBackBuffer();
sp44 = mblur0f176668(g_BootBufferIndex0);
g_BootBufferDirtyIndexes[g_BootBufferIndex0] = 1;
gDPPipeSync(gdl++);
gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, viGetBufWidth(), OS_PHYSICAL_TO_K0(sp44));
gDPSetScissor(gdl++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
gDPSetCycleType(gdl++, G_CYC_COPY);
gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 5, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0080, 4, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 160, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTile(gdl++, G_IM_FMT_I, G_IM_SIZ_8b, 160, 0x0080, 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, 15);
gSPTexture(gdl++, 0xffff, 0xffff, 0, G_TX_RENDERTILE, G_ON);
gDPSetEnvColor(gdl++, 0xff, 0xff, 0xff, 0xff);
gDPSetPrimColor(gdl++, 0, 0, 0xff, 0xff, 0xff, 0xff);
gDPSetRenderMode(gdl++, G_RM_NOOP, G_RM_NOOP2);
gDPSetCombineMode(gdl++, G_CC_DECALRGBA, G_CC_DECALRGBA);
gDPSetTextureFilter(gdl++, G_TF_POINT);
gDPSetTexturePersp(gdl++, G_TP_NONE);
gDPSetColorDither(gdl++, G_CD_DISABLE);
gDPSetAlphaDither(gdl++, G_AD_DISABLE);
gDPSetTextureLOD(gdl++, G_TL_TILE);
gDPSetTextureDetail(gdl++, G_TD_CLAMP);
gDPSetTextureLUT(gdl++, G_TT_NONE);
gDPSetAlphaCompare(gdl++, G_AC_NONE);
gSPClearGeometryMode(gdl++, G_ZBUFFER);
gDPTileSync(gdl++);
for (i = 0; i < 120; i++) {
if (1);
if (thing->unk00[0].unk00[i].unk00) {
s2 = &sp44[s4];
image = &sp4c[thing->unk00[0].unk00[i].unk0c.u16_1 * viGetWidth()];
gDPPipeSync(gdl++);
gDPSetTextureImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, image);
gDPLoadSync(gdl++);
gDPLoadBlock(gdl++, 5, 0, 0, viGetWidth() - 1, 0);
gDPPipeSync(gdl++);
gSPTextureRectangle(gdl++,
s4 << 2, 0,
(s4 + 3) << 2, 0,
G_TX_RENDERTILE, (thing->unk00[0].unk00[i].unk0c.u16_2 * 32) + 16, 0x0010, 0x1000, 0);
thing->unk00[0].unk00[i].unk0c.u16p = s2;
s4++;
if (s2);
}
}
gDPPipeSync(gdl++);
gDPLoadSync(gdl++);
gDPTileSync(gdl++);
gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, viGetBufWidth(), OS_PHYSICAL_TO_K0(viGetBackBuffer()));
gDPSetScissorFrac(gdl++, G_SC_NON_INTERLACE, 0, 0, viGetWidth() * 4.0f, viGetHeight() * 4.0f);
gSPSetGeometryMode(gdl++, G_ZBUFFER);
gDPSetTextureFilter(gdl++, G_TF_BILERP);
gDPSetTexturePersp(gdl++, G_TP_PERSP);
gDPSetColorDither(gdl++, G_CD_BAYER);
if (sp44);
return gdl;
}
+1 -1
View File
@@ -1136,7 +1136,7 @@ Gfx *lvRender(Gfx *gdl)
g_Vars.currentplayer->viewwidth, g_Vars.currentplayer->viewheight);
mtx00016748(g_Vars.currentplayerstats->scale_bg2gfx);
env0f1657f8();
func0f176298();
mblur0f176298();
gdl = vi0000b280(gdl);
gdl = vi0000b1d0(gdl);
gdl = currentPlayerScissorToViewport(gdl);
+7 -8
View File
@@ -4,13 +4,12 @@
#include "data.h"
#include "types.h"
void *func0f176080(void);
void func0f17608c(s32 stagenum);
void func0f1760c4(void);
void func0f176298(void);
Gfx *func0f1762ac(Gfx *gdl);
Gfx *func0f1763f4(Gfx *gdl);
void *func0f176668(s32 arg0);
Gfx *func0f1766b4(Gfx *gdl);
void *mblurGetAllocation(void);
void mblurReset(s32 stagenum);
void mblurAllocate(void);
void mblur0f176298(void);
Gfx *mblur0f1762ac(Gfx *gdl);
Gfx *mblur0f1763f4(Gfx *gdl);
Gfx *mblurRender(Gfx *gdl);
#endif
+2 -2
View File
@@ -2753,7 +2753,7 @@ void mainLoop(void)
gfxReset();
joyReset();
dhudReset();
func0f17608c(g_StageNum);
mblurReset(g_StageNum);
lvReset(g_StageNum);
viReset(g_StageNum);
frametimeCalculate();
@@ -3292,7 +3292,7 @@ glabel mainLoop
/* e718: 0c005049 */ jal dhudReset
/* e71c: 00000000 */ sll $zero,$zero,0x0
/* e720: 3c048006 */ lui $a0,0x8006
/* e724: 0fc5c34b */ jal func0f17608c
/* e724: 0fc5c34b */ jal mblurReset
/* e728: 8c84f2d4 */ lw $a0,-0xd2c($a0)
/* e72c: 3c048006 */ lui $a0,0x8006
/* e730: 0fc589ee */ jal lvReset
+2 -2
View File
@@ -2503,8 +2503,8 @@ Gfx *vi0000b1d0(Gfx *gdl)
Gfx *vi0000b280(Gfx *gdl)
{
if (g_ViBackData->usezbuf) {
gdl = func0f1762ac(gdl);
gdl = func0f1763f4(gdl);
gdl = mblur0f1762ac(gdl);
gdl = mblur0f1763f4(gdl);
}
return gdl;