mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-30 15:53:34 -04:00
Attempt to decompile viSetFillColour
This commit is contained in:
+2
-2
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user