Decompile func0f02e064
This commit is contained in:
parent
21f55ffbca
commit
b90635bd7c
|
|
@ -94,64 +94,31 @@ f32 func0f02dff0(s16 animnum)
|
|||
return 1;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f02e064
|
||||
/* f02e064: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f02e068: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f02e06c: 8c8e02d4 */ lw $t6,0x2d4($a0)
|
||||
/* f02e070: 00802825 */ or $a1,$a0,$zero
|
||||
/* f02e074: 11c0000d */ beqz $t6,.L0f02e0ac
|
||||
/* f02e078: 00000000 */ nop
|
||||
/* f02e07c: 80820007 */ lb $v0,0x7($a0)
|
||||
/* f02e080: 24010001 */ addiu $at,$zero,0x1
|
||||
/* f02e084: 10410007 */ beq $v0,$at,.L0f02e0a4
|
||||
/* f02e088: 2401000f */ addiu $at,$zero,0xf
|
||||
/* f02e08c: 54410021 */ bnel $v0,$at,.L0f02e114
|
||||
/* f02e090: 00001025 */ or $v0,$zero,$zero
|
||||
/* f02e094: 908f0065 */ lbu $t7,0x65($a0)
|
||||
/* f02e098: 31f80020 */ andi $t8,$t7,0x20
|
||||
/* f02e09c: 5300001d */ beqzl $t8,.L0f02e114
|
||||
/* f02e0a0: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f02e0a4:
|
||||
/* f02e0a4: 1000001b */ b .L0f02e114
|
||||
/* f02e0a8: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f02e0ac:
|
||||
/* f02e0ac: 0c00744f */ jal modelGetAnimNum
|
||||
/* f02e0b0: 8ca40020 */ lw $a0,0x20($a1)
|
||||
/* f02e0b4: 3c078007 */ lui $a3,%hi(var80068008)
|
||||
/* f02e0b8: 3c088007 */ lui $t0,%hi(var8006801c)
|
||||
/* f02e0bc: 2508801c */ addiu $t0,$t0,%lo(var8006801c)
|
||||
/* f02e0c0: 24e78008 */ addiu $a3,$a3,%lo(var80068008)
|
||||
/* f02e0c4: 8ce50000 */ lw $a1,0x0($a3)
|
||||
.L0f02e0c8:
|
||||
/* f02e0c8: 00023400 */ sll $a2,$v0,0x10
|
||||
/* f02e0cc: 0006cc03 */ sra $t9,$a2,0x10
|
||||
/* f02e0d0: 84a30000 */ lh $v1,0x0($a1)
|
||||
/* f02e0d4: 24e70004 */ addiu $a3,$a3,0x4
|
||||
/* f02e0d8: 03203025 */ or $a2,$t9,$zero
|
||||
/* f02e0dc: 0460000a */ bltz $v1,.L0f02e108
|
||||
/* f02e0e0: 00002025 */ or $a0,$zero,$zero
|
||||
.L0f02e0e4:
|
||||
/* f02e0e4: 14660003 */ bne $v1,$a2,.L0f02e0f4
|
||||
/* f02e0e8: 24840001 */ addiu $a0,$a0,0x1
|
||||
/* f02e0ec: 10000009 */ b .L0f02e114
|
||||
/* f02e0f0: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f02e0f4:
|
||||
/* f02e0f4: 00044840 */ sll $t1,$a0,0x1
|
||||
/* f02e0f8: 00a95021 */ addu $t2,$a1,$t1
|
||||
/* f02e0fc: 85430000 */ lh $v1,0x0($t2)
|
||||
/* f02e100: 0461fff8 */ bgez $v1,.L0f02e0e4
|
||||
/* f02e104: 00000000 */ nop
|
||||
.L0f02e108:
|
||||
/* f02e108: 54e8ffef */ bnel $a3,$t0,.L0f02e0c8
|
||||
/* f02e10c: 8ce50000 */ lw $a1,0x0($a3)
|
||||
/* f02e110: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f02e114:
|
||||
/* f02e114: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f02e118: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f02e11c: 03e00008 */ jr $ra
|
||||
/* f02e120: 00000000 */ nop
|
||||
);
|
||||
s32 func0f02e064(struct chrdata *chr)
|
||||
{
|
||||
if (chr->aibot) {
|
||||
if (chr->actiontype == ACT_STAND
|
||||
|| (chr->actiontype == ACT_GOPOS && (chr->act_gopos.flags & 0x20))) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
s16 animnum = modelGetAnimNum(chr->model);
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(var80068008); i++) {
|
||||
s16 thisanimnum;
|
||||
s32 j;
|
||||
|
||||
for (j = 0; (thisanimnum = var80068008[i][j]) >= 0; j++) {
|
||||
if (thisanimnum == animnum) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool weaponIsOneHanded(struct prop *prop)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1819,17 +1819,21 @@ struct var80067e6c *var80067fdc[] = {
|
|||
var80067fcc,
|
||||
};
|
||||
|
||||
u32 var80067ff0 = 0x0001006a;
|
||||
u32 var80067ff4 = 0xffff0000;
|
||||
u32 var80067ff8 = 0x00c0ffff;
|
||||
u32 var80067ffc = 0x013effff;
|
||||
u32 var80068000 = 0x013effff;
|
||||
u32 var80068004 = 0x0237ffff;
|
||||
u32 var80068008 = (u32) &var80067ff0;
|
||||
u32 var8006800c = (u32) &var80067ff8;
|
||||
u32 var80068010 = (u32) &var80067ffc;
|
||||
u32 var80068014 = (u32) &var80068000;
|
||||
u32 var80068018 = (u32) &var80068004;
|
||||
// These are animation numbers
|
||||
s16 var80067ff0[] = { 0x0001, 0x006a, -1 };
|
||||
s16 var80067ff8[] = { 0x00c0, -1 };
|
||||
s16 var80067ffc[] = { 0x013e, -1 };
|
||||
s16 var80068000[] = { 0x013e, -1 };
|
||||
s16 var80068004[] = { 0x0237, -1 };
|
||||
|
||||
s16 *var80068008[] = {
|
||||
var80067ff0,
|
||||
var80067ff8,
|
||||
var80067ffc,
|
||||
var80068000,
|
||||
var80068004,
|
||||
};
|
||||
|
||||
u32 var8006801c = 0x00000000;
|
||||
u32 var80068020 = 0x00000000;
|
||||
u32 var80068024 = 0x00000000;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "types.h"
|
||||
|
||||
f32 func0f02dff0(s16 animnum);
|
||||
u32 func0f02e064(struct chrdata *chr);
|
||||
s32 func0f02e064(struct chrdata *chr);
|
||||
bool weaponIsOneHanded(struct prop *prop);
|
||||
f32 chrGetRangedSpeed(struct chrdata *chr, f32 min, f32 max);
|
||||
s32 chrGetPercentageOfSlowness(struct chrdata *chr, s32 percentage);
|
||||
|
|
|
|||
|
|
@ -175,8 +175,8 @@ extern s32 g_NumChrsB;
|
|||
extern s16 *g_TeamList;
|
||||
extern s16 *g_SquadronList;
|
||||
extern struct var80067e6c *var80067fdc[5];
|
||||
extern u32 var80067ff0;
|
||||
extern u32 var80068008;
|
||||
extern s16 var80067ff0[];
|
||||
extern s16 *var80068008[5];
|
||||
extern u32 var8006801c;
|
||||
extern u32 var80068024;
|
||||
extern u32 var8006802c;
|
||||
|
|
|
|||
Loading…
Reference in New Issue