Decompile propRender

This commit is contained in:
Ryan Dwyer 2021-01-02 12:50:16 +10:00
parent 470cf27ac1
commit 08b7566f4f
12 changed files with 41 additions and 82 deletions

View File

@ -6680,7 +6680,7 @@ void bodyGetBloodColour(s16 bodynum, u8 *colour1, u32 *colour2)
GLOBAL_ASM(
glabel func0f025288
glabel propchrRender
.late_rodata
glabel var7f1a88f4
.word 0x3c088889

View File

@ -2829,7 +2829,7 @@ u32 explosionUpdateZ(struct prop *prop)
}
GLOBAL_ASM(
glabel func0f12c654
glabel explosionRender
/* f12c654: 27bdff40 */ addiu $sp,$sp,-192
/* f12c658: afbf0044 */ sw $ra,0x44($sp)
/* f12c65c: afbe0040 */ sw $s8,0x40($sp)

View File

@ -340,73 +340,32 @@ void propDetach(struct prop *prop)
}
}
GLOBAL_ASM(
glabel func0f06071c
.late_rodata
glabel var7f1a9e20
.word func0f06071c+0x98 # f0607b4
glabel var7f1a9e24
.word func0f06071c+0x38 # f060754
glabel var7f1a9e28
.word func0f06071c+0x38 # f060754
glabel var7f1a9e2c
.word func0f06071c+0x4c # f060768
glabel var7f1a9e30
.word func0f06071c+0x38 # f060754
glabel var7f1a9e34
.word func0f06071c+0x98 # f0607b4
glabel var7f1a9e38
.word func0f06071c+0x60 # f06077c
glabel var7f1a9e3c
.word func0f06071c+0x74 # f060790
glabel var7f1a9e40
.word func0f06071c+0x88 # f0607a4
.text
/* f06071c: 27bdffe0 */ addiu $sp,$sp,-32
/* f060720: afbf001c */ sw $ra,0x1c($sp)
/* f060724: afb00018 */ sw $s0,0x18($sp)
/* f060728: 90ae0000 */ lbu $t6,0x0($a1)
/* f06072c: 00808025 */ or $s0,$a0,$zero
/* f060730: 00a03825 */ or $a3,$a1,$zero
/* f060734: 2dc10009 */ sltiu $at,$t6,0x9
/* f060738: 1020001e */ beqz $at,.L0f0607b4
/* f06073c: 000e7080 */ sll $t6,$t6,0x2
/* f060740: 3c017f1b */ lui $at,%hi(var7f1a9e20)
/* f060744: 002e0821 */ addu $at,$at,$t6
/* f060748: 8c2e9e20 */ lw $t6,%lo(var7f1a9e20)($at)
/* f06074c: 01c00008 */ jr $t6
/* f060750: 00000000 */ nop
/* f060754: 00e02025 */ or $a0,$a3,$zero
/* f060758: 0fc204c4 */ jal func0f081310
/* f06075c: 02002825 */ or $a1,$s0,$zero
/* f060760: 10000014 */ b .L0f0607b4
/* f060764: 00408025 */ or $s0,$v0,$zero
/* f060768: 00e02025 */ or $a0,$a3,$zero
/* f06076c: 0fc094a2 */ jal func0f025288
/* f060770: 02002825 */ or $a1,$s0,$zero
/* f060774: 1000000f */ b .L0f0607b4
/* f060778: 00408025 */ or $s0,$v0,$zero
/* f06077c: 00e02025 */ or $a0,$a3,$zero
/* f060780: 0fc30ca8 */ jal func0f0c32a0
/* f060784: 02002825 */ or $a1,$s0,$zero
/* f060788: 1000000a */ b .L0f0607b4
/* f06078c: 00408025 */ or $s0,$v0,$zero
/* f060790: 00e02025 */ or $a0,$a3,$zero
/* f060794: 0fc4b195 */ jal func0f12c654
/* f060798: 02002825 */ or $a1,$s0,$zero
/* f06079c: 10000005 */ b .L0f0607b4
/* f0607a0: 00408025 */ or $s0,$v0,$zero
/* f0607a4: 00e02025 */ or $a0,$a3,$zero
/* f0607a8: 0fc4bc8c */ jal func0f12f230
/* f0607ac: 02002825 */ or $a1,$s0,$zero
/* f0607b0: 00408025 */ or $s0,$v0,$zero
.L0f0607b4:
/* f0607b4: 8fbf001c */ lw $ra,0x1c($sp)
/* f0607b8: 02001025 */ or $v0,$s0,$zero
/* f0607bc: 8fb00018 */ lw $s0,0x18($sp)
/* f0607c0: 03e00008 */ jr $ra
/* f0607c4: 27bd0020 */ addiu $sp,$sp,0x20
);
Gfx *propRender(Gfx *gdl, struct prop *prop, bool arg2)
{
switch (prop->type) {
case 0:
break;
case PROPTYPE_OBJ:
case PROPTYPE_DOOR:
case PROPTYPE_WEAPON:
gdl = propobjRender(prop, gdl, arg2);
break;
case PROPTYPE_CHR:
gdl = propchrRender(prop, gdl, arg2);
break;
case PROPTYPE_PLAYER:
gdl = propplayerRender(prop, gdl, arg2);
break;
case PROPTYPE_EXPLOSION:
gdl = explosionRender(prop, gdl, arg2);
break;
case PROPTYPE_EFFECT:
gdl = smokeRender(prop, gdl, arg2);
break;
}
return gdl;
}
GLOBAL_ASM(
glabel func0f0607c8
@ -468,7 +427,7 @@ glabel func0f0607c8
/* f060898: 02602025 */ or $a0,$s3,$zero
.L0f06089c:
/* f06089c: 02002825 */ or $a1,$s0,$zero
/* f0608a0: 0fc181c7 */ jal func0f06071c
/* f0608a0: 0fc181c7 */ jal propRender
/* f0608a4: 00003025 */ or $a2,$zero,$zero
/* f0608a8: 3c04800a */ lui $a0,%hi(g_Vars+0x348)
/* f0608ac: 8c84a308 */ lw $a0,%lo(g_Vars+0x348)($a0)
@ -501,13 +460,13 @@ glabel func0f0607c8
/* f06090c: 31cf0020 */ andi $t7,$t6,0x20
/* f060910: 51e00005 */ beqzl $t7,.L0f060928
/* f060914: 02602025 */ or $a0,$s3,$zero
/* f060918: 0fc181c7 */ jal func0f06071c
/* f060918: 0fc181c7 */ jal propRender
/* f06091c: 00003025 */ or $a2,$zero,$zero
/* f060920: 00409825 */ or $s3,$v0,$zero
/* f060924: 02602025 */ or $a0,$s3,$zero
.L0f060928:
/* f060928: 02002825 */ or $a1,$s0,$zero
/* f06092c: 0fc181c7 */ jal func0f06071c
/* f06092c: 0fc181c7 */ jal propRender
/* f060930: 24060001 */ addiu $a2,$zero,0x1
/* f060934: 3c03800a */ lui $v1,%hi(g_Vars+0x34c)
/* f060938: 8c63a30c */ lw $v1,%lo(g_Vars+0x34c)($v1)

View File

@ -11984,7 +11984,7 @@ glabel var7f1ad744
);
GLOBAL_ASM(
glabel func0f0c32a0
glabel propplayerRender
/* f0c32a0: 27bdffe8 */ addiu $sp,$sp,-24
/* f0c32a4: afbf0014 */ sw $ra,0x14($sp)
/* f0c32a8: afa40018 */ sw $a0,0x18($sp)
@ -12000,7 +12000,7 @@ glabel func0f0c32a0
/* f0c32d0: 8df819c8 */ lw $t8,0x19c8($t7)
/* f0c32d4: 53000005 */ beqzl $t8,.L0f0c32ec
/* f0c32d8: 8fbf0014 */ lw $ra,0x14($sp)
/* f0c32dc: 0fc094a2 */ jal func0f025288
/* f0c32dc: 0fc094a2 */ jal propchrRender
/* f0c32e0: 8fa60020 */ lw $a2,0x20($sp)
/* f0c32e4: afa2001c */ sw $v0,0x1c($sp)
/* f0c32e8: 8fbf0014 */ lw $ra,0x14($sp)

View File

@ -30585,7 +30585,7 @@ glabel func0f081220
);
GLOBAL_ASM(
glabel func0f081310
glabel propobjRender
.late_rodata
glabel var7f1aa828
.word 0x3c888889

View File

@ -1991,7 +1991,7 @@ u32 smokeUpdateZ(struct prop *prop)
}
GLOBAL_ASM(
glabel func0f12f230
glabel smokeRender
/* f12f230: 27bdff58 */ addiu $sp,$sp,-168
/* f12f234: afbf0034 */ sw $ra,0x34($sp)
/* f12f238: afb20030 */ sw $s2,0x30($sp)

View File

@ -34,7 +34,7 @@ u32 func0f024738(void);
u32 func0f024b18(void);
u32 func0f025074(void);
void bodyGetBloodColour(s16 bodynum, u8 *colour1, u32 *colour2);
u32 func0f025288(void);
Gfx *propchrRender(struct prop *prop, Gfx *gdl, bool arg2);
void func0f025ea4(struct chrdata *chr, struct prop *prop, s32 arg2, struct coord *coord, struct coord *coord2, struct chrdata *chr2);
u32 func0f0260c4(void);
u32 func0f0268bc(void);

View File

@ -15,7 +15,7 @@ bool func0f12af5c(struct explosion *exp, struct prop *prop, struct coord *pos1,
u32 func0f12b0e0(void);
u32 func0f12bbdc(struct prop *prop);
u32 explosionUpdateZ(struct prop *prop);
u32 func0f12c654(void);
Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool arg2);
u32 func0f12cd64(void);
#endif

View File

@ -15,7 +15,7 @@ void func0f060538(struct prop *prop);
void func0f0605c4(struct prop *prop);
void propReparent(struct prop *mover, struct prop *adopter);
void propDetach(struct prop *prop);
u32 func0f06071c(void);
Gfx *propRender(Gfx *gdl, struct prop *prop, bool arg2);
u32 func0f0607c8(void);
u32 func0f060984(void);
u32 func0f060bac(void);

View File

@ -84,7 +84,7 @@ s32 getMissionTime(void);
s32 func0f0c228c(struct prop *prop);
u32 func0f0c2364(void);
u32 func0f0c2a58(void);
u32 func0f0c32a0(void);
Gfx *propplayerRender(struct prop *prop, Gfx *gdl, bool arg2);
Gfx *currentPlayerLoadMatrix(Gfx *gdl);
u32 func0f0c3320(void);
void setTickMode(s32 tickmode);

View File

@ -204,7 +204,7 @@ u32 func0f07fbf8(void);
u32 func0f0809c4(void);
u32 func0f080f8c(void);
u32 func0f081220(void);
u32 func0f081310(void);
Gfx *propobjRender(struct prop *prop, Gfx *gdl, bool arg2);
u32 func0f081c18(void);
u32 func0f081ccc(void);
u32 func0f0826cc(void);

View File

@ -13,7 +13,7 @@ void smokeClearForProp(struct prop *prop);
struct smoke *smokeCreateSimple(struct coord *pos, s16 *rooms, s16 type);
u32 func0f12e848(struct prop *prop);
u32 smokeUpdateZ(struct prop *prop);
u32 func0f12f230(void);
Gfx *smokeRender(struct prop *prop, Gfx *gdl, bool arg2);
u32 func0f12f5f8(void);
#endif