Attempt to decompile viSetFillColour

This commit is contained in:
Ryan Dwyer
2021-10-08 21:40:16 +10:00
parent 9a4eecfab6
commit d1b71b7cc6
5 changed files with 41 additions and 25 deletions
+2 -2
View File
@@ -486,7 +486,7 @@ glabel var7f1af4ecnb
/* f1194ac: 00000000 */ sll $zero,$zero,0x0
/* f1194b0: 3c048008 */ lui $a0,0x8008
/* f1194b4: 24848814 */ addiu $a0,$a0,-30700
/* f1194b8: 0c002b20 */ jal vi0000ab00
/* f1194b8: 0c002b20 */ jal viSet16Bit
/* f1194bc: ac800000 */ sw $zero,0x0($a0)
/* f1194c0: 0c01282c */ jal osViBlack
/* f1194c4: 00002025 */ or $a0,$zero,$zero
@@ -503,7 +503,7 @@ glabel var7f1af4ecnb
/* f1194ec: 00000000 */ sll $zero,$zero,0x0
/* f1194f0: 3c048008 */ lui $a0,0x8008
/* f1194f4: 24848818 */ addiu $a0,$a0,-30696
/* f1194f8: 0c002b20 */ jal vi0000ab00
/* f1194f8: 0c002b20 */ jal viSet16Bit
/* f1194fc: ac800000 */ sw $zero,0x0($a0)
/* f119500: 0c01282c */ jal osViBlack
/* f119504: 00002025 */ or $a0,$zero,$zero
+5 -5
View File
@@ -908,14 +908,14 @@ glabel var7f1b50c8
/* f11fa88: 54ab0007 */ bnel $a1,$t3,.L0f11faa8
/* f11fa8c: 91050008 */ lbu $a1,0x8($t0)
/* f11fa90: 8fa406b0 */ lw $a0,0x6b0($sp)
/* f11fa94: 0c002fc1 */ jal vi0000bf04
/* f11fa94: 0c002fc1 */ jal viSetFillColour
/* f11fa98: 00002825 */ or $a1,$zero,$zero
/* f11fa9c: 10000007 */ b .L0f11fabc
/* f11faa0: 00401825 */ or $v1,$v0,$zero
/* f11faa4: 91050008 */ lbu $a1,0x8($t0)
.L0f11faa8:
/* f11faa8: 91060009 */ lbu $a2,0x9($t0)
/* f11faac: 0c002fc1 */ jal vi0000bf04
/* f11faac: 0c002fc1 */ jal viSetFillColour
/* f11fab0: 9107000a */ lbu $a3,0xa($t0)
/* f11fab4: afa206b0 */ sw $v0,0x6b0($sp)
/* f11fab8: 00401825 */ or $v1,$v0,$zero
@@ -985,14 +985,14 @@ glabel var7f1b50c8
/* f11fbb0: 54af0007 */ bnel $a1,$t7,.L0f11fbd0
/* f11fbb4: 91050008 */ lbu $a1,0x8($t0)
/* f11fbb8: 8fa406b0 */ lw $a0,0x6b0($sp)
/* f11fbbc: 0c002fc1 */ jal vi0000bf04
/* f11fbbc: 0c002fc1 */ jal viSetFillColour
/* f11fbc0: 00002825 */ or $a1,$zero,$zero
/* f11fbc4: 10000006 */ b .L0f11fbe0
/* f11fbc8: afa206b0 */ sw $v0,0x6b0($sp)
/* f11fbcc: 91050008 */ lbu $a1,0x8($t0)
.L0f11fbd0:
/* f11fbd0: 91060009 */ lbu $a2,0x9($t0)
/* f11fbd4: 0c002fc1 */ jal vi0000bf04
/* f11fbd4: 0c002fc1 */ jal viSetFillColour
/* f11fbd8: 9107000a */ lbu $a3,0xa($t0)
/* f11fbdc: afa206b0 */ sw $v0,0x6b0($sp)
.L0f11fbe0:
@@ -1045,7 +1045,7 @@ glabel var7f1b50c8
/* f11fc94: 91060009 */ lbu $a2,0x9($t0)
/* f11fc98: 9107000a */ lbu $a3,0xa($t0)
/* f11fc9c: afa8042c */ sw $t0,0x42c($sp)
/* f11fca0: 0c002fc1 */ jal vi0000bf04
/* f11fca0: 0c002fc1 */ jal viSetFillColour
/* f11fca4: 8fa406b0 */ lw $a0,0x6b0($sp)
/* f11fca8: 44806000 */ mtc1 $zero,$f12
/* f11fcac: 27b106a4 */ addiu $s1,$sp,0x6a4
+2 -2
View File
@@ -3114,7 +3114,7 @@ glabel var7f1a8468
.PF0f018490:
/* f018490: 8fa40330 */ lw $a0,0x330($sp)
.PF0f018494:
/* f018494: 0c002f12 */ jal vi0000bf04
/* f018494: 0c002f12 */ jal viSetFillColour
/* f018498: 00002825 */ move $a1,$zero
/* f01849c: 0c002c02 */ jal func0000b2c4
/* f0184a0: 00402025 */ move $a0,$v0
@@ -4445,7 +4445,7 @@ glabel var7f1a8468
.L0f0183ac:
/* f0183ac: 8fa40330 */ lw $a0,0x330($sp)
.L0f0183b0:
/* f0183b0: 0c002fc1 */ jal vi0000bf04
/* f0183b0: 0c002fc1 */ jal viSetFillColour
/* f0183b4: 00002825 */ or $a1,$zero,$zero
/* f0183b8: 0c002cb1 */ jal func0000b2c4
/* f0183bc: 00402025 */ or $a0,$v0,$zero
+1 -1
View File
@@ -53,6 +53,6 @@ void viSetFovAspectAndSize(f32 fovy, f32 aspect, s16 width, s16 height);
f32 viGetFovY(void);
void viSetZRange(f32 arg0, f32 arg1);
void viGetZRange(struct zrange *zrange);
u32 vi0000bf04(void);
Gfx *viSetFillColour(Gfx *gdl, s32 r, s32 g, s32 b);
#endif
+31 -15
View File
@@ -54,7 +54,7 @@ u32 var8005d588 = 0;
u32 var8005d58c = 0;
struct rend_vidat *var8005d590 = &var8005d530[0];
struct rend_vidat *g_ViData = &var8005d530[0];
bool var8005d598 = true;
bool g_ViIs16Bit = true;
s32 var8005d59c = 0;
u32 var8005d5a0 = 0x00000000;
@@ -1090,8 +1090,8 @@ glabel vi0000a044
/* a128: 91230000 */ lbu $v1,0x0($t1)
/* a12c: 17e30101 */ bne $ra,$v1,.L0000a534
/* a130: 00000000 */ nop
/* a134: 3c0a8006 */ lui $t2,%hi(var8005d598)
/* a138: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2)
/* a134: 3c0a8006 */ lui $t2,%hi(g_ViIs16Bit)
/* a138: 8d4ad598 */ lw $t2,%lo(g_ViIs16Bit)($t2)
/* a13c: 3c188000 */ lui $t8,0x8000
/* a140: 11400033 */ beqz $t2,.L0000a210
/* a144: 00000000 */ nop
@@ -1562,7 +1562,7 @@ glabel vi0000a044
/* a7ec: 00000000 */ nop
/* a7f0: 0006000d */ break 0x6
.L0000a7f4:
/* a7f4: 3c0a8006 */ lui $t2,%hi(var8005d598)
/* a7f4: 3c0a8006 */ lui $t2,%hi(g_ViIs16Bit)
/* a7f8: 13000038 */ beqz $t8,.L0000a8dc
/* a7fc: 24ae01af */ addiu $t6,$a1,0x1af
/* a800: 01c6001a */ div $zero,$t6,$a2
@@ -1633,12 +1633,12 @@ glabel vi0000a044
/* a8e4: 24180001 */ addiu $t8,$zero,0x1
/* a8e8: ac38ce88 */ sw $t8,%lo(var8005ce88)($at)
/* a8ec: 10000006 */ b .L0000a908
/* a8f0: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2)
/* a8f0: 8d4ad598 */ lw $t2,%lo(g_ViIs16Bit)($t2)
.L0000a8f4:
/* a8f4: 3c018006 */ lui $at,%hi(var8005ce88)
/* a8f8: 002c0821 */ addu $at,$at,$t4
/* a8fc: 3c0a8006 */ lui $t2,%hi(var8005d598)
/* a900: 8d4ad598 */ lw $t2,%lo(var8005d598)($t2)
/* a8fc: 3c0a8006 */ lui $t2,%hi(g_ViIs16Bit)
/* a900: 8d4ad598 */ lw $t2,%lo(g_ViIs16Bit)($t2)
/* a904: ac20ce88 */ sw $zero,%lo(var8005ce88)($at)
.L0000a908:
/* a908: 256b0001 */ addiu $t3,$t3,0x1
@@ -1754,14 +1754,14 @@ void vi0000aab0(s32 mode)
g_ViData->y = g_ViData->bufy = var700526d8[mode];
}
void vi0000ab00(void)
void viSet16Bit(void)
{
var8005d598 = true;
g_ViIs16Bit = true;
}
void vi0000ab10(void)
void viSet32Bit(void)
{
var8005d598 = false;
g_ViIs16Bit = false;
}
u8 *viGetUnk28(void)
@@ -2128,7 +2128,7 @@ Gfx *vi0000b1d0(Gfx *gdl)
{
gdl = vi0000b1a8(gdl);
if (var8005d598) {
if (g_ViIs16Bit) {
gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, g_ViData->bufx, OS_K0_TO_PHYSICAL(g_ViData->fb));
} else {
gDPSetColorImage(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_32b, g_ViData->bufx, OS_K0_TO_PHYSICAL(var8009cac0[0]));
@@ -3513,9 +3513,9 @@ void viGetZRange(struct zrange *zrange)
}
GLOBAL_ASM(
glabel vi0000bf04
/* bf04: 3c0e8006 */ lui $t6,%hi(var8005d598)
/* bf08: 8dced598 */ lw $t6,%lo(var8005d598)($t6)
glabel viSetFillColour
/* bf04: 3c0e8006 */ lui $t6,%hi(g_ViIs16Bit)
/* bf08: 8dced598 */ lw $t6,%lo(g_ViIs16Bit)($t6)
/* bf0c: 00801025 */ or $v0,$a0,$zero
/* bf10: 3c18f700 */ lui $t8,0xf700
/* bf14: 11c00013 */ beqz $t6,.L0000bf64
@@ -3551,6 +3551,22 @@ glabel vi0000bf04
/* bf88: 00801025 */ or $v0,$a0,$zero
);
// Mismatch: regalloc
//Gfx *viSetFillColour(Gfx *gdl, s32 r, s32 g, s32 b)
//{
// u32 colour;
//
// if (g_ViIs16Bit) {
// colour = (r << 8) & 0xf800 | (g << 3) & 0x7c0 | (b >> 2) & 0x3e | 1;
// gDPSetFillColor(gdl++, colour | colour << 16);
// } else {
// colour = r << 24 | g << 16 | b << 8 | 0xff;
// gDPSetFillColor(gdl++, colour);
// }
//
// return gdl;
//}
void vi0000bf8c(void)
{
// empty