Match chrFaceEntity
This commit is contained in:
parent
5f240e9a7b
commit
815c35281b
|
|
@ -32704,84 +32704,30 @@ glabel func0f03a76c
|
|||
/* f03a7e4: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel chrFaceEntity
|
||||
/* f03a7e8: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f03a7ec: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f03a7f0: afa5001c */ sw $a1,0x1c($sp)
|
||||
/* f03a7f4: afa60020 */ sw $a2,0x20($sp)
|
||||
/* f03a7f8: 0fc0e686 */ jal func0f039a18
|
||||
/* f03a7fc: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f03a800: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
/* f03a804: 8fa40018 */ lw $a0,0x18($sp)
|
||||
/* f03a808: 1040001d */ beqz $v0,.L0f03a880
|
||||
/* f03a80c: 8fa50020 */ lw $a1,0x20($sp)
|
||||
/* f03a810: 808e0007 */ lb $t6,0x7($a0)
|
||||
/* f03a814: 24010001 */ addiu $at,$zero,0x1
|
||||
/* f03a818: 51c10007 */ beql $t6,$at,.L0f03a838
|
||||
/* f03a81c: 8c8f0030 */ lw $t7,0x30($a0)
|
||||
/* f03a820: 0fc0baaf */ jal func0f02eabc
|
||||
/* f03a824: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f03a828: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
/* f03a82c: 8fa40018 */ lw $a0,0x18($sp)
|
||||
/* f03a830: 8fa50020 */ lw $a1,0x20($sp)
|
||||
/* f03a834: 8c8f0030 */ lw $t7,0x30($a0)
|
||||
.L0f03a838:
|
||||
/* f03a838: 24010200 */ addiu $at,$zero,0x200
|
||||
/* f03a83c: 546f0005 */ bnel $v1,$t7,.L0f03a854
|
||||
/* f03a840: ac830030 */ sw $v1,0x30($a0)
|
||||
/* f03a844: 8c980034 */ lw $t8,0x34($a0)
|
||||
/* f03a848: 10b8000b */ beq $a1,$t8,.L0f03a878
|
||||
/* f03a84c: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f03a850: ac830030 */ sw $v1,0x30($a0)
|
||||
.L0f03a854:
|
||||
/* f03a854: ac850034 */ sw $a1,0x34($a0)
|
||||
/* f03a858: ac800038 */ sw $zero,0x38($a0)
|
||||
/* f03a85c: 14610006 */ bne $v1,$at,.L0f03a878
|
||||
/* f03a860: ac800040 */ sw $zero,0x40($a0)
|
||||
/* f03a864: 24010001 */ addiu $at,$zero,0x1
|
||||
/* f03a868: 14a10003 */ bne $a1,$at,.L0f03a878
|
||||
/* f03a86c: 24190001 */ addiu $t9,$zero,0x1
|
||||
/* f03a870: a099004c */ sb $t9,0x4c($a0)
|
||||
/* f03a874: ac800034 */ sw $zero,0x34($a0)
|
||||
.L0f03a878:
|
||||
/* f03a878: 10000002 */ beqz $zero,.L0f03a884
|
||||
/* f03a87c: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f03a880:
|
||||
/* f03a880: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f03a884:
|
||||
/* f03a884: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f03a888: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f03a88c: 03e00008 */ jr $ra
|
||||
/* f03a890: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
bool chrFaceEntity(struct chrdata *chr, u32 entity_type, u32 entity_id)
|
||||
{
|
||||
if (func0f039a18(chr)) {
|
||||
if (chr->actiontype != ACT_STAND) {
|
||||
func0f02eabc(chr);
|
||||
}
|
||||
|
||||
// Matches if chr->unk04c is turned into a bitfield, but that causes ai00f0 to
|
||||
// mismatch.
|
||||
//bool chrFaceEntity(struct chrdata *chr, u32 entity_type, u32 entity_id)
|
||||
//{
|
||||
// if (func0f039a18(chr)) {
|
||||
// if (chr->actiontype != ACT_STAND) {
|
||||
// func0f02eabc(chr);
|
||||
// }
|
||||
//
|
||||
// if (entity_type != chr->unk030 || entity_id != chr->unk034) {
|
||||
// chr->unk030 = entity_type;
|
||||
// chr->unk034 = entity_id;
|
||||
// chr->unk038 = 0;
|
||||
// chr->unk040 = 0;
|
||||
//
|
||||
// if (entity_type == 0x200 && entity_id == 1) {
|
||||
// chr->unk04c = 1;
|
||||
// chr->unk034 = 0;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return true;
|
||||
// }
|
||||
//
|
||||
// return false;
|
||||
//}
|
||||
if (entity_type != chr->act_stand.unk030 || entity_id != chr->act_stand.unk034) {
|
||||
chr->act_stand.unk030 = entity_type;
|
||||
chr->act_stand.unk034 = entity_id;
|
||||
chr->act_stand.unk038 = 0;
|
||||
chr->act_stand.unk040 = 0;
|
||||
|
||||
if (entity_type == 0x200 && entity_id == 1) {
|
||||
chr->act_stand.unk04c = 1;
|
||||
chr->act_stand.unk034 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f03a894
|
||||
|
|
|
|||
Loading…
Reference in New Issue