Decompile propPlayPickupSound

This commit is contained in:
Ryan Dwyer
2020-03-12 20:22:11 +10:00
parent 845c8cd59d
commit 65e979d147
7 changed files with 45 additions and 92 deletions
+4 -4
View File
@@ -580,7 +580,7 @@ u32 propobjHandlePickupByAibot(struct prop *prop, struct chrdata *chr)
result = 2;
}
} else {
chrGiveWeapon(chr, prop);
aibotGiveProp(chr, prop);
result = 1;
}
@@ -851,7 +851,7 @@ glabel var7f1b8ea8
.L0f190ed8:
/* f190ed8: 24500001 */ addiu $s0,$v0,0x1
/* f190edc: 02002025 */ or $a0,$s0,$zero
/* f190ee0: 0fc668c7 */ jal func0f19a31c
/* f190ee0: 0fc668c7 */ jal ammotypeGetWeapon
/* f190ee4: afa30028 */ sw $v1,0x28($sp)
/* f190ee8: 8fa30028 */ lw $v1,0x28($sp)
/* f190eec: afa20068 */ sw $v0,0x68($sp)
@@ -884,7 +884,7 @@ glabel var7f1b8ea8
/* f190f58: 0fc47bba */ jal dprint
/* f190f5c: 00000000 */ sll $zero,$zero,0x0
/* f190f60: 8fa4008c */ lw $a0,0x8c($sp)
/* f190f64: 0fc65fdb */ jal chrGiveWeapon
/* f190f64: 0fc65fdb */ jal aibotGiveProp
/* f190f68: 8fa50088 */ lw $a1,0x88($sp)
/* f190f6c: 10000006 */ beqz $zero,.L0f190f88
/* f190f70: 8faa0064 */ lw $t2,0x64($sp)
@@ -3862,7 +3862,7 @@ glabel var7f1b8f50
/* f193a90: 966d005e */ lhu $t5,0x5e($s3)
/* f193a94: 59a0003f */ blezl $t5,.L0f193b94
/* f193a98: 26940001 */ addiu $s4,$s4,0x1
/* f193a9c: 0fc668c7 */ jal func0f19a31c
/* f193a9c: 0fc668c7 */ jal ammotypeGetWeapon
/* f193aa0: 02802025 */ or $a0,$s4,$zero
/* f193aa4: 18400022 */ blez $v0,.L0f193b30
/* f193aa8: 00008025 */ or $s0,$zero,$zero
+2 -2
View File
@@ -671,7 +671,7 @@ s16 aibotGetWeaponPad(struct chrdata *chr, u32 weaponnum)
}
GLOBAL_ASM(
glabel chrGiveWeapon
glabel aibotGiveProp
/* f197f6c: 27bdffd0 */ addiu $sp,$sp,-48
/* f197f70: afb30020 */ sw $s3,0x20($sp)
/* f197f74: 00809825 */ or $s3,$a0,$zero
@@ -720,7 +720,7 @@ glabel chrGiveWeapon
/* f198010: 9629005e */ lhu $t1,0x5e($s1)
/* f198014: 59200008 */ blezl $t1,.L0f198038
/* f198018: 26100001 */ addiu $s0,$s0,0x1
/* f19801c: 0fc668c7 */ jal func0f19a31c
/* f19801c: 0fc668c7 */ jal ammotypeGetWeapon
/* f198020: 26040001 */ addiu $a0,$s0,0x1
/* f198024: 18400003 */ blez $v0,.L0f198034
/* f198028: 00402825 */ or $a1,$v0,$zero
+8 -8
View File
@@ -732,15 +732,15 @@ u32 func0f19a2dc(u32 value)
}
}
u32 func0f19a31c(u32 value)
u32 ammotypeGetWeapon(u32 ammotype)
{
switch (value) {
case 18: return 31;
case 7: return 30;
case 9: return 26;
case 12: return 34;
case 13: return 33;
case 14: return 32;
switch (ammotype) {
case AMMOTYPE_NBOMB: return WEAPON_NBOMB;
case AMMOTYPE_GRENADE: return WEAPON_GRENADE;
case AMMOTYPE_KNIFE: return WEAPON_COMBATKNIFE;
case AMMOTYPE_REMOTE_MINE: return WEAPON_REMOTEMINE;
case AMMOTYPE_PROXY_MINE: return WEAPON_PROXIMITYMINE;
case AMMOTYPE_TIMED_MINE: return WEAPON_TIMEDMINE;
}
return 0;
+28 -75
View File
@@ -38886,81 +38886,34 @@ void func0f087b0c(u32 arg0)
}
}
GLOBAL_ASM(
glabel propPlayPickupSound
/* f087c0c: 27bdffb8 */ addiu $sp,$sp,-72
/* f087c10: 2402001a */ addiu $v0,$zero,0x1a
/* f087c14: afbf0044 */ sw $ra,0x44($sp)
/* f087c18: 10a20003 */ beq $a1,$v0,.L0f087c28
/* f087c1c: afa40048 */ sw $a0,0x48($sp)
/* f087c20: 14a20003 */ bne $a1,$v0,.L0f087c30
/* f087c24: 24010022 */ addiu $at,$zero,0x22
.L0f087c28:
/* f087c28: 10000021 */ beqz $zero,.L0f087cb0
/* f087c2c: 240600e9 */ addiu $a2,$zero,0xe9
.L0f087c30:
/* f087c30: 10a1000d */ beq $a1,$at,.L0f087c68
/* f087c34: 24010021 */ addiu $at,$zero,0x21
/* f087c38: 10a1000b */ beq $a1,$at,.L0f087c68
/* f087c3c: 24010020 */ addiu $at,$zero,0x20
/* f087c40: 10a10009 */ beq $a1,$at,.L0f087c68
/* f087c44: 2401003d */ addiu $at,$zero,0x3d
/* f087c48: 10a10007 */ beq $a1,$at,.L0f087c68
/* f087c4c: 2401003e */ addiu $at,$zero,0x3e
/* f087c50: 10a10005 */ beq $a1,$at,.L0f087c68
/* f087c54: 2401003f */ addiu $at,$zero,0x3f
/* f087c58: 10a10003 */ beq $a1,$at,.L0f087c68
/* f087c5c: 24010035 */ addiu $at,$zero,0x35
/* f087c60: 54a10004 */ bnel $a1,$at,.L0f087c74
/* f087c64: 2401001e */ addiu $at,$zero,0x1e
.L0f087c68:
/* f087c68: 10000011 */ beqz $zero,.L0f087cb0
/* f087c6c: 240600eb */ addiu $a2,$zero,0xeb
/* f087c70: 2401001e */ addiu $at,$zero,0x1e
.L0f087c74:
/* f087c74: 10a10007 */ beq $a1,$at,.L0f087c94
/* f087c78: 24010055 */ addiu $at,$zero,0x55
/* f087c7c: 10a10005 */ beq $a1,$at,.L0f087c94
/* f087c80: 24010053 */ addiu $at,$zero,0x53
/* f087c84: 10a10003 */ beq $a1,$at,.L0f087c94
/* f087c88: 24010054 */ addiu $at,$zero,0x54
/* f087c8c: 54a10004 */ bnel $a1,$at,.L0f087ca0
/* f087c90: 2401001d */ addiu $at,$zero,0x1d
.L0f087c94:
/* f087c94: 10000006 */ beqz $zero,.L0f087cb0
/* f087c98: 240600ea */ addiu $a2,$zero,0xea
/* f087c9c: 2401001d */ addiu $at,$zero,0x1d
.L0f087ca0:
/* f087ca0: 14a10003 */ bne $a1,$at,.L0f087cb0
/* f087ca4: 240600e8 */ addiu $a2,$zero,0xe8
/* f087ca8: 10000001 */ beqz $zero,.L0f087cb0
/* f087cac: 240600f2 */ addiu $a2,$zero,0xf2
.L0f087cb0:
/* f087cb0: 3c01bf80 */ lui $at,0xbf80
/* f087cb4: 44810000 */ mtc1 $at,$f0
/* f087cb8: 240effff */ addiu $t6,$zero,-1
/* f087cbc: 240f0400 */ addiu $t7,$zero,0x400
/* f087cc0: 2418ffff */ addiu $t8,$zero,-1
/* f087cc4: afb8002c */ sw $t8,0x2c($sp)
/* f087cc8: afaf0014 */ sw $t7,0x14($sp)
/* f087ccc: afae0010 */ sw $t6,0x10($sp)
/* f087cd0: 00002025 */ or $a0,$zero,$zero
/* f087cd4: 8fa50048 */ lw $a1,0x48($sp)
/* f087cd8: 2407ffff */ addiu $a3,$zero,-1
/* f087cdc: afa00018 */ sw $zero,0x18($sp)
/* f087ce0: afa0001c */ sw $zero,0x1c($sp)
/* f087ce4: afa00020 */ sw $zero,0x20($sp)
/* f087ce8: afa00028 */ sw $zero,0x28($sp)
/* f087cec: e7a00024 */ swc1 $f0,0x24($sp)
/* f087cf0: e7a00030 */ swc1 $f0,0x30($sp)
/* f087cf4: e7a00034 */ swc1 $f0,0x34($sp)
/* f087cf8: 0fc24e7e */ jal func0f0939f8
/* f087cfc: e7a00038 */ swc1 $f0,0x38($sp)
/* f087d00: 8fbf0044 */ lw $ra,0x44($sp)
/* f087d04: 27bd0048 */ addiu $sp,$sp,0x48
/* f087d08: 03e00008 */ jr $ra
/* f087d0c: 00000000 */ sll $zero,$zero,0x0
);
u32 propPlayPickupSound(struct prop *prop, s32 weapon)
{
s16 sound;
if (weapon == WEAPON_COMBATKNIFE || weapon == WEAPON_COMBATKNIFE) {
sound = 0xe9;
} else if (weapon == WEAPON_REMOTEMINE
|| weapon == WEAPON_PROXIMITYMINE
|| weapon == WEAPON_TIMEDMINE
|| weapon == WEAPON_COMMSRIDER
|| weapon == WEAPON_TRACERBUG
|| weapon == WEAPON_TARGETAMPLIFIER
|| weapon == WEAPON_ECMMINE) {
sound = 0xeb;
} else if (weapon == WEAPON_GRENADE
|| weapon == WEAPON_GRENADEROUND
|| weapon == WEAPON_ROCKET
|| weapon == WEAPON_HOMINGROCKET) {
sound = 0xea;
} else if (weapon == WEAPON_LASER) {
sound = 0xf2;
} else {
sound = 0xe8;
}
return func0f0939f8(NULL, prop, sound, -1,
-1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1);
}
GLOBAL_ASM(
glabel func0f087d10
+1 -1
View File
@@ -13,7 +13,7 @@ u32 aibotGetInvItemType(struct chrdata *chr, u32 weaponnum);
u32 func0f197e8c(void);
void aibotGiveDualWeapon(struct chrdata *chr, u32 weaponnum);
s16 aibotGetWeaponPad(struct chrdata *chr, u32 weaponnum);
void chrGiveWeapon(struct chrdata *chr, struct prop *prop);
void aibotGiveProp(struct chrdata *chr, struct prop *prop);
u32 func0f198068(void);
u32 func0f198278(void);
u32 func0f1982d4(void);
+1 -1
View File
@@ -14,7 +14,7 @@ void aibotGiveAmmo(struct aibot *aibot, u32 ammotype, s32 quantity);
u32 func0f199f84(void);
bool func0f19a29c(u32 value, bool fallback);
u32 func0f19a2dc(u32 value);
u32 func0f19a31c(u32 value);
u32 ammotypeGetWeapon(u32 ammotype);
u32 func0f19a37c(void);
u32 func0f19a60c(void);
u32 func0f19a6d0(void);
+1 -1
View File
@@ -237,7 +237,7 @@ u32 func0f087638(void);
u32 func0f087668(void);
u32 func0f08791c(void);
void func0f087b0c(u32 arg0);
u32 propPlayPickupSound(struct prop *prop, s32 weaponnum);
u32 propPlayPickupSound(struct prop *prop, s32 weapon);
u32 func0f087d10(void);
u32 func0f087e40(void);
u32 func0f087fb0(void);