Decompile propweaponSetDual

This commit is contained in:
Ryan Dwyer 2020-05-11 22:44:35 +10:00
parent 2b2c559f6d
commit da889ce28c
5 changed files with 16 additions and 18 deletions

View File

@ -4563,8 +4563,8 @@ bool aiDuplicateChr(void)
if (srcweapon1 && srcweapon0
&& cloneweapon1 && cloneweapon0
&& srcweapon0 == srcweapon1->dual && srcweapon1 == srcweapon0->dual) {
func0f08adac(cloneweapon1, cloneweapon0);
&& srcweapon0 == srcweapon1->dualweapon && srcweapon1 == srcweapon0->dualweapon) {
propweaponSetDual(cloneweapon1, cloneweapon0);
}
if (chr->weapons_held[2]) {

View File

@ -4886,7 +4886,7 @@ glabel var7f1a8224
/* f010504: 904e0003 */ lbu $t6,0x3($v0)
/* f010508: 16ce00d1 */ bne $s6,$t6,.L0f010850
/* f01050c: 00000000 */ sll $zero,$zero,0x0
/* f010510: 0fc22b6b */ jal func0f08adac
/* f010510: 0fc22b6b */ jal propweaponSetDual
/* f010514: 02002025 */ or $a0,$s0,$zero
/* f010518: 100000cd */ beqz $zero,.L0f010850
/* f01051c: 00000000 */ sll $zero,$zero,0x0

View File

@ -41819,16 +41819,13 @@ glabel func0f08acb0
/* f08ada8: 27bd0058 */ addiu $sp,$sp,0x58
);
GLOBAL_ASM(
glabel func0f08adac
/* f08adac: 90ae005c */ lbu $t6,0x5c($a1)
/* f08adb0: 908f005c */ lbu $t7,0x5c($a0)
/* f08adb4: ac850064 */ sw $a1,0x64($a0)
/* f08adb8: a08e0061 */ sb $t6,0x61($a0)
/* f08adbc: aca40064 */ sw $a0,0x64($a1)
/* f08adc0: 03e00008 */ jr $ra
/* f08adc4: a0af0061 */ sb $t7,0x61($a1)
);
void propweaponSetDual(struct weaponobj *weapon1, struct weaponobj *weapon2)
{
weapon1->dualweaponnum = weapon2->weapon_id;
weapon1->dualweapon = weapon2;
weapon2->dualweaponnum = weapon1->weapon_id;
weapon2->dualweapon = weapon1;
}
GLOBAL_ASM(
glabel func0f08adc8
@ -41992,7 +41989,7 @@ glabel func0f08ae54
/* f08affc: 50400006 */ beqzl $v0,.L0f08b018
/* f08b000: 8cc40014 */ lw $a0,0x14($a2)
/* f08b004: 8c450004 */ lw $a1,0x4($v0)
/* f08b008: 0fc22b6b */ jal func0f08adac
/* f08b008: 0fc22b6b */ jal propweaponSetDual
/* f08b00c: afa60040 */ sw $a2,0x40($sp)
/* f08b010: 8fa60040 */ lw $a2,0x40($sp)
.L0f08b014:
@ -42048,7 +42045,7 @@ glabel func0f08ae54
/* f08b0c8: 5040ffd3 */ beqzl $v0,.L0f08b018
/* f08b0cc: 8cc40014 */ lw $a0,0x14($a2)
/* f08b0d0: 8c450004 */ lw $a1,0x4($v0)
/* f08b0d4: 0fc22b6b */ jal func0f08adac
/* f08b0d4: 0fc22b6b */ jal propweaponSetDual
/* f08b0d8: afa60040 */ sw $a2,0x40($sp)
/* f08b0dc: 1000ffcd */ beqz $zero,.L0f08b014
/* f08b0e0: 8fa60040 */ lw $a2,0x40($sp)

View File

@ -265,7 +265,7 @@ u32 func0f08ab64(void);
u32 func0f08ab9c(void);
u32 func0f08abd4(void);
u32 func0f08acb0(void);
void func0f08adac(struct weaponobj *weapon1, struct weaponobj *weapon2);
void propweaponSetDual(struct weaponobj *weapon1, struct weaponobj *weapon2);
u32 func0f08adc8(void);
u32 func0f08ae0c(void);
u32 func0f08ae54(struct defaultobj *obj, struct chrdata *chr);

View File

@ -919,9 +919,10 @@ struct weaponobj { // objtype 0x08
/*0x5d*/ s8 unk5d;
/*0x5e*/ s8 unk5e;
/*0x5f*/ u8 dragonthrown;
/*0x60*/ s16 unk60;
/*0x60*/ s8 unk60;
/*0x61*/ s8 dualweaponnum;
/*0x62*/ s16 team;
/*0x64*/ struct weaponobj *dual; // other weapon when dual wielding
/*0x64*/ struct weaponobj *dualweapon; // other weapon when dual wielding
};
struct singlemonitorobj { // objtype 0x0a