Decompile chrPunchInflictDamage

This commit is contained in:
Ryan Dwyer
2021-05-24 23:45:10 +10:00
parent bb897632e6
commit 92154634f1
11 changed files with 151 additions and 223 deletions
+2 -2
View File
@@ -14540,7 +14540,7 @@ glabel func0f027e1c
/* f027f0c: 27a400a4 */ addiu $a0,$sp,0xa4
/* f027f10: 8fa40048 */ lw $a0,0x48($sp)
/* f027f14: 8e250004 */ lw $a1,0x4($s1)
/* f027f18: 0fc29f66 */ jal func0f0a7d98
/* f027f18: 0fc29f66 */ jal handPlayPropHitSound
/* f027f1c: 2406ffff */ addiu $a2,$zero,-1
/* f027f20: 8fa200f8 */ lw $v0,0xf8($sp)
/* f027f24: 3c0b800a */ lui $t3,%hi(g_Vars+0x284)
@@ -14983,7 +14983,7 @@ glabel func0f027e1c
/* f027928: 27a400a4 */ addiu $a0,$sp,0xa4
/* f02792c: 8fa40048 */ lw $a0,0x48($sp)
/* f027930: 8e250004 */ lw $a1,0x4($s1)
/* f027934: 0fc296b1 */ jal func0f0a7d98
/* f027934: 0fc296b1 */ jal handPlayPropHitSound
/* f027938: 2406ffff */ addiu $a2,$zero,-1
/* f02793c: 8fa200f8 */ lw $v0,0xf8($sp)
/* f027940: 3c0a800a */ lui $t2,0x800a
+115 -187
View File
@@ -4172,7 +4172,7 @@ void func0f0341dc(struct chrdata *chr, f32 damage, struct coord *vector, struct
}
/**
* Unused, and same as func0f034330 but sets ibh to IBH_GENERAL instead of argument.
* Unused, and same as chrDamageByImpact but sets ibh to IBH_GENERAL instead of argument.
*/
void func0f034248(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop)
{
@@ -4196,7 +4196,10 @@ void func0f034248(struct chrdata *chr, f32 damage, struct coord *vector, struct
NULL); // explosionpos
}
void func0f034330(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, s32 ibh)
/**
* Used for punching, but also used by AI commands to make chrs take damage.
*/
void chrDamageByImpact(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, s32 ibh)
{
struct modelnode *node = NULL;
struct model *model = NULL;
@@ -7662,77 +7665,6 @@ bool chrCanSeeChr(struct chrdata *chr, struct chrdata *target, s16 *room)
return cansee;
}
u32 var80068298 = 0x01000000;
u32 var8006829c = 0x0000027c;
u32 var800682a0 = 0x00000005;
u32 var800682a4 = 0x00140000;
u32 var800682a8 = 0x42700000;
u32 var800682ac = 0x0000027d;
u32 var800682b0 = 0x00000005;
u32 var800682b4 = 0x00140000;
u32 var800682b8 = 0x41f80000;
u32 var800682bc = 0x0000027e;
u32 var800682c0 = 0x00000005;
u32 var800682c4 = 0x00140000;
u32 var800682c8 = 0x42400000;
u32 var800682cc = 0x0000027f;
u32 var800682d0 = 0x00000005;
u32 var800682d4 = 0x00140000;
u32 var800682d8 = 0x428a0000;
u32 var800682dc = 0x00000212;
u32 var800682e0 = 0x00000005;
u32 var800682e4 = 0x00140000;
u32 var800682e8 = 0x42800000;
u32 var800682ec = 0x00000213;
u32 var800682f0 = 0x00000005;
u32 var800682f4 = 0x00140000;
u32 var800682f8 = 0x42500000;
u32 var800682fc = 0x00000214;
u32 var80068300 = 0x00000005;
u32 var80068304 = 0x00140000;
u32 var80068308 = 0x424c0000;
u32 var8006830c = 0x0000020e;
u32 var80068310 = 0x00000005;
u32 var80068314 = 0x00140000;
u32 var80068318 = 0x42540000;
u32 var8006831c = 0x0000020f;
u32 var80068320 = 0x00000005;
u32 var80068324 = 0x00140000;
u32 var80068328 = 0x42b20000;
u32 var8006832c = 0x00000210;
u32 var80068330 = 0x00000005;
u32 var80068334 = 0x00140000;
u32 var80068338 = 0x428e0000;
u32 var8006833c = 0x00000215;
u32 var80068340 = 0x00000005;
u32 var80068344 = 0x00140000;
u32 var80068348 = 0x42780000;
u32 var8006834c = 0x00000211;
u32 var80068350 = 0x00000005;
u32 var80068354 = 0x00140000;
u32 var80068358 = 0x42900000;
u32 var8006835c = 0x0000034c;
u32 var80068360 = 0x0000000f;
u32 var80068364 = 0x00190000;
u32 var80068368 = 0x42c80000;
u32 var8006836c = 0x0000034d;
u32 var80068370 = 0x0000000f;
u32 var80068374 = 0x00190000;
u32 var80068378 = 0xbf800000;
u32 var8006837c = 0x00000395;
u32 var80068380 = 0x0000000f;
u32 var80068384 = 0x00190000;
u32 var80068388 = 0xbf800000;
u32 var8006838c = 0x00000346;
u32 var80068390 = 0x0000000f;
u32 var80068394 = 0x00190000;
u32 var80068398 = 0xbf800000;
u32 var8006839c = 0x00000347;
u32 var800683a0 = 0x0000000f;
u32 var800683a4 = 0x00190000;
u32 var800683a8 = 0xbf800000;
u32 var800683ac = 0x0000034f;
bool chrCanSeeTarget(struct chrdata *chr)
{
bool cansee;
@@ -9082,109 +9014,105 @@ bool chrDropItem(struct chrdata *chr, u32 modelnum, u32 weaponnum)
return false;
}
GLOBAL_ASM(
glabel func0f03ba44
/* f03ba44: 27bdffb8 */ addiu $sp,$sp,-72
/* f03ba48: afbf0024 */ sw $ra,0x24($sp)
/* f03ba4c: afb0001c */ sw $s0,0x1c($sp)
/* f03ba50: 00808025 */ or $s0,$a0,$zero
/* f03ba54: afb10020 */ sw $s1,0x20($sp)
/* f03ba58: afa5004c */ sw $a1,0x4c($sp)
/* f03ba5c: afa60050 */ sw $a2,0x50($sp)
/* f03ba60: 0fc0a221 */ jal chrGetTargetProp
/* f03ba64: afa70054 */ sw $a3,0x54($sp)
/* f03ba68: 3c0e8007 */ lui $t6,%hi(var80068298)
/* f03ba6c: 8dce8298 */ lw $t6,%lo(var80068298)($t6)
/* f03ba70: 00408825 */ or $s1,$v0,$zero
/* f03ba74: 02002025 */ or $a0,$s0,$zero
/* f03ba78: afae0040 */ sw $t6,0x40($sp)
/* f03ba7c: 8e0302d4 */ lw $v1,0x2d4($s0)
/* f03ba80: 24050014 */ addiu $a1,$zero,0x14
/* f03ba84: 10600008 */ beqz $v1,.L0f03baa8
/* f03ba88: 00000000 */ nop
/* f03ba8c: 8c6f0020 */ lw $t7,0x20($v1)
/* f03ba90: a3af0040 */ sb $t7,0x40($sp)
/* f03ba94: 8e1802d4 */ lw $t8,0x2d4($s0)
/* f03ba98: 8f19004c */ lw $t9,0x4c($t8)
/* f03ba9c: 00194080 */ sll $t0,$t9,0x2
/* f03baa0: 00084fc2 */ srl $t1,$t0,0x1f
/* f03baa4: a3a90043 */ sb $t1,0x43($sp)
.L0f03baa8:
/* f03baa8: 0fc1241a */ jal chrIsTargetInFov
/* f03baac: 93a60057 */ lbu $a2,0x57($sp)
/* f03bab0: 5040003e */ beqzl $v0,.L0f03bbac
/* f03bab4: 93a40040 */ lbu $a0,0x40($sp)
/* f03bab8: 0fc12472 */ jal chrGetDistanceToTarget
/* f03babc: 02002025 */ or $a0,$s0,$zero
/* f03bac0: 8faa0050 */ lw $t2,0x50($sp)
/* f03bac4: 448a2000 */ mtc1 $t2,$f4
/* f03bac8: 00000000 */ nop
/* f03bacc: 468021a0 */ cvt.s.w $f6,$f4
/* f03bad0: 4606003c */ c.lt.s $f0,$f6
/* f03bad4: 00000000 */ nop
/* f03bad8: 45020034 */ bc1fl .L0f03bbac
/* f03badc: 93a40040 */ lbu $a0,0x40($sp)
/* f03bae0: 8e02001c */ lw $v0,0x1c($s0)
/* f03bae4: 26260008 */ addiu $a2,$s1,0x8
/* f03bae8: 24070033 */ addiu $a3,$zero,0x33
/* f03baec: 24440008 */ addiu $a0,$v0,0x8
/* f03baf0: 0c00b706 */ jal func0002dc18
/* f03baf4: 24450028 */ addiu $a1,$v0,0x28
/* f03baf8: 5040002c */ beqzl $v0,.L0f03bbac
/* f03bafc: 93a40040 */ lbu $a0,0x40($sp)
/* f03bb00: 8e0b001c */ lw $t3,0x1c($s0)
/* f03bb04: c6280008 */ lwc1 $f8,0x8($s1)
/* f03bb08: 44809000 */ mtc1 $zero,$f18
/* f03bb0c: c56a0008 */ lwc1 $f10,0x8($t3)
/* f03bb10: 27a40034 */ addiu $a0,$sp,0x34
/* f03bb14: e7b20038 */ swc1 $f18,0x38($sp)
/* f03bb18: 460a4401 */ sub.s $f16,$f8,$f10
/* f03bb1c: 27a50038 */ addiu $a1,$sp,0x38
/* f03bb20: 27a6003c */ addiu $a2,$sp,0x3c
/* f03bb24: e7b00034 */ swc1 $f16,0x34($sp)
/* f03bb28: 8e0c001c */ lw $t4,0x1c($s0)
/* f03bb2c: c6240010 */ lwc1 $f4,0x10($s1)
/* f03bb30: c5860010 */ lwc1 $f6,0x10($t4)
/* f03bb34: 46062201 */ sub.s $f8,$f4,$f6
/* f03bb38: 0c0011e4 */ jal guNormalize
/* f03bb3c: e7a8003c */ swc1 $f8,0x3c($sp)
/* f03bb40: 27a40040 */ addiu $a0,$sp,0x40
/* f03bb44: 02202825 */ or $a1,$s1,$zero
/* f03bb48: 0fc29f66 */ jal func0f0a7d98
/* f03bb4c: 2406ffff */ addiu $a2,$zero,-1
/* f03bb50: 92220000 */ lbu $v0,0x0($s1)
/* f03bb54: 24010006 */ addiu $at,$zero,0x6
/* f03bb58: 10410003 */ beq $v0,$at,.L0f03bb68
/* f03bb5c: 24010003 */ addiu $at,$zero,0x3
/* f03bb60: 54410012 */ bnel $v0,$at,.L0f03bbac
/* f03bb64: 93a40040 */ lbu $a0,0x40($sp)
.L0f03bb68:
/* f03bb68: 0fc2c74a */ jal handGetDamage
/* f03bb6c: 27a40040 */ addiu $a0,$sp,0x40
/* f03bb70: 8fad004c */ lw $t5,0x4c($sp)
/* f03bb74: 8e0e001c */ lw $t6,0x1c($s0)
/* f03bb78: 8e240004 */ lw $a0,0x4($s1)
/* f03bb7c: 448d5000 */ mtc1 $t5,$f10
/* f03bb80: 240f00c8 */ addiu $t7,$zero,0xc8
/* f03bb84: afaf0014 */ sw $t7,0x14($sp)
/* f03bb88: 46805420 */ cvt.s.w $f16,$f10
/* f03bb8c: 27a60034 */ addiu $a2,$sp,0x34
/* f03bb90: 27a70040 */ addiu $a3,$sp,0x40
/* f03bb94: afae0010 */ sw $t6,0x10($sp)
/* f03bb98: 46100482 */ mul.s $f18,$f0,$f16
/* f03bb9c: 44059000 */ mfc1 $a1,$f18
/* f03bba0: 0fc0d0cc */ jal func0f034330
/* f03bba4: 00000000 */ nop
/* f03bba8: 93a40040 */ lbu $a0,0x40($sp)
.L0f03bbac:
/* f03bbac: 0fc18261 */ jal func0f060984
/* f03bbb0: 8e05001c */ lw $a1,0x1c($s0)
/* f03bbb4: 8fbf0024 */ lw $ra,0x24($sp)
/* f03bbb8: 8fb0001c */ lw $s0,0x1c($sp)
/* f03bbbc: 8fb10020 */ lw $s1,0x20($sp)
/* f03bbc0: 03e00008 */ jr $ra
/* f03bbc4: 27bd0048 */ addiu $sp,$sp,0x48
);
void chrPunchInflictDamage(struct chrdata *chr, s32 damage, s32 range, u8 arg3)
{
struct prop *targetprop = chrGetTargetProp(chr);
struct shorthand hand = {WEAPON_UNARMED, 0, 0, FUNC_PRIMARY};
struct coord vector;
if (chr->aibot) {
hand.weaponnum = chr->aibot->weaponnum;
hand.weaponfunc = chr->aibot->gunfunc;
}
if (chrIsTargetInFov(chr, 20, arg3)
&& chrGetDistanceToTarget(chr) < range
&& func0002dc18(&chr->prop->pos, chr->prop->rooms, &targetprop->pos, 0x33)) {
vector.x = targetprop->pos.x - chr->prop->pos.x;
vector.y = 0;
vector.z = targetprop->pos.z - chr->prop->pos.z;
guNormalize(&vector.x, &vector.y, &vector.z);
handPlayPropHitSound(&hand, targetprop, -1);
if (targetprop->type == PROPTYPE_PLAYER || targetprop->type == PROPTYPE_CHR) {
chrDamageByImpact(targetprop->chr, handGetDamage(&hand) * damage, &vector, &hand, chr->prop, 200);
}
}
weaponPlayWhooshSound(hand.weaponnum, chr->prop);
}
u32 var8006829c = 0x0000027c;
u32 var800682a0 = 0x00000005;
u32 var800682a4 = 0x00140000;
u32 var800682a8 = 0x42700000;
u32 var800682ac = 0x0000027d;
u32 var800682b0 = 0x00000005;
u32 var800682b4 = 0x00140000;
u32 var800682b8 = 0x41f80000;
u32 var800682bc = 0x0000027e;
u32 var800682c0 = 0x00000005;
u32 var800682c4 = 0x00140000;
u32 var800682c8 = 0x42400000;
u32 var800682cc = 0x0000027f;
u32 var800682d0 = 0x00000005;
u32 var800682d4 = 0x00140000;
u32 var800682d8 = 0x428a0000;
u32 var800682dc = 0x00000212;
u32 var800682e0 = 0x00000005;
u32 var800682e4 = 0x00140000;
u32 var800682e8 = 0x42800000;
u32 var800682ec = 0x00000213;
u32 var800682f0 = 0x00000005;
u32 var800682f4 = 0x00140000;
u32 var800682f8 = 0x42500000;
u32 var800682fc = 0x00000214;
u32 var80068300 = 0x00000005;
u32 var80068304 = 0x00140000;
u32 var80068308 = 0x424c0000;
u32 var8006830c = 0x0000020e;
u32 var80068310 = 0x00000005;
u32 var80068314 = 0x00140000;
u32 var80068318 = 0x42540000;
u32 var8006831c = 0x0000020f;
u32 var80068320 = 0x00000005;
u32 var80068324 = 0x00140000;
u32 var80068328 = 0x42b20000;
u32 var8006832c = 0x00000210;
u32 var80068330 = 0x00000005;
u32 var80068334 = 0x00140000;
u32 var80068338 = 0x428e0000;
u32 var8006833c = 0x00000215;
u32 var80068340 = 0x00000005;
u32 var80068344 = 0x00140000;
u32 var80068348 = 0x42780000;
u32 var8006834c = 0x00000211;
u32 var80068350 = 0x00000005;
u32 var80068354 = 0x00140000;
u32 var80068358 = 0x42900000;
u32 var8006835c = 0x0000034c;
u32 var80068360 = 0x0000000f;
u32 var80068364 = 0x00190000;
u32 var80068368 = 0x42c80000;
u32 var8006836c = 0x0000034d;
u32 var80068370 = 0x0000000f;
u32 var80068374 = 0x00190000;
u32 var80068378 = 0xbf800000;
u32 var8006837c = 0x00000395;
u32 var80068380 = 0x0000000f;
u32 var80068384 = 0x00190000;
u32 var80068388 = 0xbf800000;
u32 var8006838c = 0x00000346;
u32 var80068390 = 0x0000000f;
u32 var80068394 = 0x00190000;
u32 var80068398 = 0xbf800000;
u32 var8006839c = 0x00000347;
u32 var800683a0 = 0x0000000f;
u32 var800683a4 = 0x00190000;
u32 var800683a8 = 0xbf800000;
u32 var800683ac = 0x0000034f;
GLOBAL_ASM(
glabel chrTryPunchOrKick
@@ -10121,7 +10049,7 @@ void chrTickAnim(struct chrdata *chr)
if (chr->act_anim.unk040 != 0 && modelGetCurAnimFrame(chr->model) >= (s32)chr->act_anim.unk042) {
chr->act_anim.unk040 = 0;
func0f03ba44(chr, chr->act_anim.unk044, chr->act_anim.unk046, chr->act_anim.unk041);
chrPunchInflictDamage(chr, chr->act_anim.unk044, chr->act_anim.unk046, chr->act_anim.unk041);
}
// Play sneezing sound
@@ -14326,7 +14254,7 @@ glabel var7f1a9184
.PF0f041678:
/* f041678: 27a40260 */ addiu $a0,$sp,0x260
/* f04167c: 8fa5025c */ lw $a1,0x25c($sp)
/* f041680: 0fc2a079 */ jal func0f0a7d98
/* f041680: 0fc2a079 */ jal handPlayPropHitSound
/* f041684: 2406ffff */ li $a2,-1
/* f041688: 8fa40088 */ lw $a0,0x88($sp)
/* f04168c: 8c8b0020 */ lw $t3,0x20($a0)
@@ -14430,7 +14358,7 @@ glabel var7f1a9184
/* f0417f4: 27a40260 */ addiu $a0,$sp,0x260
/* f0417f8: 8cad0004 */ lw $t5,0x4($a1)
/* f0417fc: 2406ffff */ li $a2,-1
/* f041800: 0fc2a079 */ jal func0f0a7d98
/* f041800: 0fc2a079 */ jal handPlayPropHitSound
/* f041804: afad0070 */ sw $t5,0x70($sp)
/* f041808: 8fa40070 */ lw $a0,0x70($sp)
/* f04180c: 8c990020 */ lw $t9,0x20($a0)
@@ -14510,7 +14438,7 @@ glabel var7f1a9184
.PF0f041920:
/* f041920: 27a40260 */ addiu $a0,$sp,0x260
/* f041924: 8fa501cc */ lw $a1,0x1cc($sp)
/* f041928: 0fc2a079 */ jal func0f0a7d98
/* f041928: 0fc2a079 */ jal handPlayPropHitSound
/* f04192c: 2406ffff */ li $a2,-1
/* f041930: 27a40244 */ addiu $a0,$sp,0x244
/* f041934: 27a50234 */ addiu $a1,$sp,0x234
@@ -15916,7 +15844,7 @@ glabel var7f1a9184
.L0f0414d4:
/* f0414d4: 27a40260 */ addiu $a0,$sp,0x260
/* f0414d8: 8fa5025c */ lw $a1,0x25c($sp)
/* f0414dc: 0fc29f66 */ jal func0f0a7d98
/* f0414dc: 0fc29f66 */ jal handPlayPropHitSound
/* f0414e0: 2406ffff */ addiu $a2,$zero,-1
/* f0414e4: 8fa40088 */ lw $a0,0x88($sp)
/* f0414e8: 8c8e0020 */ lw $t6,0x20($a0)
@@ -16020,7 +15948,7 @@ glabel var7f1a9184
/* f041650: 27a40260 */ addiu $a0,$sp,0x260
/* f041654: 8cac0004 */ lw $t4,0x4($a1)
/* f041658: 2406ffff */ addiu $a2,$zero,-1
/* f04165c: 0fc29f66 */ jal func0f0a7d98
/* f04165c: 0fc29f66 */ jal handPlayPropHitSound
/* f041660: afac0070 */ sw $t4,0x70($sp)
/* f041664: 8fa40070 */ lw $a0,0x70($sp)
/* f041668: 8c8d0020 */ lw $t5,0x20($a0)
@@ -16100,7 +16028,7 @@ glabel var7f1a9184
.L0f04177c:
/* f04177c: 27a40260 */ addiu $a0,$sp,0x260
/* f041780: 8fa501cc */ lw $a1,0x1cc($sp)
/* f041784: 0fc29f66 */ jal func0f0a7d98
/* f041784: 0fc29f66 */ jal handPlayPropHitSound
/* f041788: 2406ffff */ addiu $a2,$zero,-1
/* f04178c: 27a40244 */ addiu $a0,$sp,0x244
/* f041790: 27a50234 */ addiu $a1,$sp,0x234
@@ -17500,7 +17428,7 @@ glabel var7f1a9184
.NB0f040c9c:
/* f040c9c: 27a40260 */ addiu $a0,$sp,0x260
/* f040ca0: 8fa5025c */ lw $a1,0x25c($sp)
/* f040ca4: 0fc296b1 */ jal func0f0a7d98
/* f040ca4: 0fc296b1 */ jal handPlayPropHitSound
/* f040ca8: 2406ffff */ addiu $a2,$zero,-1
/* f040cac: 8fa40088 */ lw $a0,0x88($sp)
/* f040cb0: 8c8c0020 */ lw $t4,0x20($a0)
@@ -17604,7 +17532,7 @@ glabel var7f1a9184
/* f040e18: 27a40260 */ addiu $a0,$sp,0x260
/* f040e1c: 8cb90004 */ lw $t9,0x4($a1)
/* f040e20: 2406ffff */ addiu $a2,$zero,-1
/* f040e24: 0fc296b1 */ jal func0f0a7d98
/* f040e24: 0fc296b1 */ jal handPlayPropHitSound
/* f040e28: afb90070 */ sw $t9,0x70($sp)
/* f040e2c: 8fa40070 */ lw $a0,0x70($sp)
/* f040e30: 8c8b0020 */ lw $t3,0x20($a0)
@@ -17684,7 +17612,7 @@ glabel var7f1a9184
.NB0f040f44:
/* f040f44: 27a40260 */ addiu $a0,$sp,0x260
/* f040f48: 8fa501cc */ lw $a1,0x1cc($sp)
/* f040f4c: 0fc296b1 */ jal func0f0a7d98
/* f040f4c: 0fc296b1 */ jal handPlayPropHitSound
/* f040f50: 2406ffff */ addiu $a2,$zero,-1
/* f040f54: 27a40244 */ addiu $a0,$sp,0x244
/* f040f58: 27a50234 */ addiu $a1,$sp,0x234
@@ -23947,7 +23875,7 @@ void chrTickSkJump(struct chrdata *chr)
}
if (chr->act_skjump.hit == false && chrGetDistanceToTarget(chr) < 150.0f) {
func0f03ba44(chr, 3, 0x96, 0);
chrPunchInflictDamage(chr, 3, 0x96, 0);
chr->act_skjump.hit = true;
}
+2 -2
View File
@@ -813,7 +813,7 @@ bool ai0019(void)
if (chr && chr->prop) {
f32 damage = handGetDamage((struct shorthand *)&cmd[4]);
func0f034330(chr, damage, &pos, (struct shorthand *)&cmd[4], NULL, (s8)cmd[3]);
chrDamageByImpact(chr, damage, &pos, (struct shorthand *)&cmd[4], NULL, (s8)cmd[3]);
}
g_Vars.aioffset += 8;
@@ -847,7 +847,7 @@ bool aiChrDamageChr(void)
guNormalize(&vector.x, &vector.y, &vector.z);
weapon = prop->weapon;
damage = handGetDamage((struct shorthand *)&weapon->weaponnum);
func0f034330(chr2, damage, &vector, (struct shorthand *)&weapon->weaponnum, chr1->prop, (s8)cmd[4]);
chrDamageByImpact(chr2, damage, &vector, (struct shorthand *)&weapon->weaponnum, chr1->prop, (s8)cmd[4]);
}
}
+2 -2
View File
@@ -27645,7 +27645,7 @@ struct audiohandle **func0f0a7d5c(void)
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f0a7d98
glabel handPlayPropHitSound
.late_rodata
glabel var7f1aca94
.word 0x453b8000
@@ -28093,7 +28093,7 @@ glabel var7f1aca94
);
#else
GLOBAL_ASM(
glabel func0f0a7d98
glabel handPlayPropHitSound
.late_rodata
glabel var7f1aca94
.word 0x453b8000
+2 -2
View File
@@ -9133,7 +9133,7 @@ glabel var7f1b8fc8
/* f197f4c: 02802025 */ move $a0,$s4
/* f197f50: 24050002 */ li $a1,0x2
/* f197f54: 02003025 */ move $a2,$s0
/* f197f58: 0fc0eef2 */ jal func0f03ba44
/* f197f58: 0fc0eef2 */ jal chrPunchInflictDamage
/* f197f5c: 00003825 */ move $a3,$zero
/* f197f60: 16600199 */ bnez $s3,.PF0f1985c8
/* f197f64: 00000000 */ nop
@@ -12141,7 +12141,7 @@ glabel var7f1b8fc8
/* f196e7c: 02802025 */ or $a0,$s4,$zero
/* f196e80: 24050002 */ addiu $a1,$zero,0x2
/* f196e84: 02003025 */ or $a2,$s0,$zero
/* f196e88: 0fc0ee91 */ jal func0f03ba44
/* f196e88: 0fc0ee91 */ jal chrPunchInflictDamage
/* f196e8c: 00003825 */ or $a3,$zero,$zero
/* f196e90: 1660018e */ bnez $s3,.L0f1974cc
/* f196e94: 00000000 */ nop
+1 -1
View File
@@ -267,7 +267,7 @@ bool aibotDoFarsightThing(struct chrdata *chr, u32 arg1, struct coord *vector, s
if (oppchr != chr
&& value > rand
&& func0f06b39c(arg3, vector, &oppprop->pos, func0f0278a4(oppchr))) {
func0f0a7d98(&hand, oppprop, -1);
handPlayPropHitSound(&hand, oppprop, -1);
if (oppchr->model && chrGetShield(oppchr) > 0) {
chrCalculateShieldHit(oppchr, &oppprop->pos, vector, &node, &ibh, &model, &side);
+4 -4
View File
@@ -428,7 +428,7 @@ Gfx *propsRender(Gfx *gdl, s16 arg1, s32 arg2, s16 *arg3)
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f060984
glabel weaponPlayWhooshSound
.late_rodata
glabel var7f1a9e44
.word 0x4031eb85
@@ -590,7 +590,7 @@ glabel var7f1a9e50
);
#else
GLOBAL_ASM(
glabel func0f060984
glabel weaponPlayWhooshSound
.late_rodata
glabel var7f1a9e44
.word 0x4031eb85
@@ -2127,7 +2127,7 @@ glabel var7f1a9eb8
/* f061c64: 10000003 */ b .L0f061c74
/* f061c68: 00000000 */ nop
.L0f061c6c:
/* f061c6c: 0fc18261 */ jal func0f060984
/* f061c6c: 0fc18261 */ jal weaponPlayWhooshSound
/* f061c70: 8c6500bc */ lw $a1,0xbc($v1)
.L0f061c74:
/* f061c74: 10000031 */ b .L0f061d3c
@@ -2655,7 +2655,7 @@ void handInflictCloseRangeDamage(s32 handnum, struct shorthand *hand, bool arg2)
handCalculateShotSpread(&spb8, &vector, handnum, true);
skipthething = true;
func00015b10(currentPlayerGetUnk174c(), &vector);
func0f0a7d98(hand, prop, -1);
handPlayPropHitSound(hand, prop, -1);
if (chr->model && chrGetShield(chr) > 0) {
chrCalculateShieldHit(chr, &playerprop->pos, &vector, &node, &ibh, &model, &side);
+19 -19
View File
@@ -12279,7 +12279,7 @@ glabel func0f06f0a0
/* f06f240: 00000000 */ nop
/* f06f244: 14e20012 */ bne $a3,$v0,.L0f06f290
/* f06f248: 2604005c */ addiu $a0,$s0,0x5c
/* f06f24c: 0fc29f66 */ jal func0f0a7d98
/* f06f24c: 0fc29f66 */ jal handPlayPropHitSound
/* f06f250: 2406ffff */ addiu $a2,$zero,-1
/* f06f254: 9219005c */ lbu $t9,0x5c($s0)
/* f06f258: 2401001a */ addiu $at,$zero,0x1a
@@ -37054,7 +37054,7 @@ glabel var7f1aa5a8
/* f07a3fc: 51e00114 */ beqzl $t7,.L0f07a850
/* f07a400: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a404:
/* f07a404: 0fc29f66 */ jal func0f0a7d98
/* f07a404: 0fc29f66 */ jal handPlayPropHitSound
/* f07a408: 2406ffff */ addiu $a2,$zero,-1
/* f07a40c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a410: 8c980020 */ lw $t8,0x20($a0)
@@ -37182,7 +37182,7 @@ glabel var7f1aa5a8
/* f07a5dc: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5e0:
/* f07a5e0: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5e4: 0fc29f66 */ jal func0f0a7d98
/* f07a5e4: 0fc29f66 */ jal handPlayPropHitSound
/* f07a5e8: 240600f2 */ addiu $a2,$zero,0xf2
/* f07a5ec: 10000098 */ b .L0f07a850
/* f07a5f0: 8fa40198 */ lw $a0,0x198($sp)
@@ -37323,7 +37323,7 @@ glabel var7f1aa5a8
.L0f07a7f4:
/* f07a7f4: 27a40118 */ addiu $a0,$sp,0x118
/* f07a7f8: 8fa50124 */ lw $a1,0x124($sp)
/* f07a7fc: 0fc29f66 */ jal func0f0a7d98
/* f07a7fc: 0fc29f66 */ jal handPlayPropHitSound
/* f07a800: 2406ffff */ addiu $a2,$zero,-1
/* f07a804: 3c013f00 */ lui $at,0x3f00
/* f07a808: 44815000 */ mtc1 $at,$f10
@@ -37338,7 +37338,7 @@ glabel var7f1aa5a8
/* f07a82c: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a830: 27a70118 */ addiu $a3,$sp,0x118
/* f07a834: 44050000 */ mfc1 $a1,$f0
/* f07a838: 0fc0d0cc */ jal func0f034330
/* f07a838: 0fc0d0cc */ jal chrDamageByImpact
/* f07a83c: 00000000 */ nop
/* f07a840: 44809000 */ mtc1 $zero,$f18
/* f07a844: 8fad0194 */ lw $t5,0x194($sp)
@@ -38016,7 +38016,7 @@ glabel var7f1aa5a8
/* f07a3fc: 51e00114 */ beqzl $t7,.L0f07a850
/* f07a400: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a404:
/* f07a404: 0fc29f66 */ jal func0f0a7d98
/* f07a404: 0fc29f66 */ jal handPlayPropHitSound
/* f07a408: 2406ffff */ addiu $a2,$zero,-1
/* f07a40c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a410: 8c980020 */ lw $t8,0x20($a0)
@@ -38144,7 +38144,7 @@ glabel var7f1aa5a8
/* f07a5dc: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5e0:
/* f07a5e0: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5e4: 0fc29f66 */ jal func0f0a7d98
/* f07a5e4: 0fc29f66 */ jal handPlayPropHitSound
/* f07a5e8: 240600f2 */ addiu $a2,$zero,0xf2
/* f07a5ec: 10000098 */ b .L0f07a850
/* f07a5f0: 8fa40198 */ lw $a0,0x198($sp)
@@ -38285,7 +38285,7 @@ glabel var7f1aa5a8
.L0f07a7f4:
/* f07a7f4: 27a40118 */ addiu $a0,$sp,0x118
/* f07a7f8: 8fa50124 */ lw $a1,0x124($sp)
/* f07a7fc: 0fc29f66 */ jal func0f0a7d98
/* f07a7fc: 0fc29f66 */ jal handPlayPropHitSound
/* f07a800: 2406ffff */ addiu $a2,$zero,-1
/* f07a804: 3c013f00 */ lui $at,0x3f00
/* f07a808: 44815000 */ mtc1 $at,$f10
@@ -38300,7 +38300,7 @@ glabel var7f1aa5a8
/* f07a82c: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a830: 27a70118 */ addiu $a3,$sp,0x118
/* f07a834: 44050000 */ mfc1 $a1,$f0
/* f07a838: 0fc0d0cc */ jal func0f034330
/* f07a838: 0fc0d0cc */ jal chrDamageByImpact
/* f07a83c: 00000000 */ nop
/* f07a840: 44809000 */ mtc1 $zero,$f18
/* f07a844: 8fad0194 */ lw $t5,0x194($sp)
@@ -59821,7 +59821,7 @@ glabel func0f085eac
/* f08627c: 15600005 */ bnez $t3,.L0f086294
/* f086280: 8fa40048 */ lw $a0,0x48($sp)
/* f086284: 8d050004 */ lw $a1,0x4($t0)
/* f086288: 0fc29f66 */ jal func0f0a7d98
/* f086288: 0fc29f66 */ jal handPlayPropHitSound
/* f08628c: 8506003a */ lh $a2,0x3a($t0)
/* f086290: 8fa80124 */ lw $t0,0x124($sp)
.L0f086294:
@@ -60550,7 +60550,7 @@ glabel func0f085eac
/* f084ad8: 15800005 */ bnez $t4,.NB0f084af0
/* f084adc: 8fa40048 */ lw $a0,0x48($sp)
/* f084ae0: 8d050004 */ lw $a1,0x4($t0)
/* f084ae4: 0fc296b1 */ jal func0f0a7d98
/* f084ae4: 0fc296b1 */ jal handPlayPropHitSound
/* f084ae8: 8506003a */ lh $a2,0x3a($t0)
/* f084aec: 8fa80124 */ lw $t0,0x124($sp)
.NB0f084af0:
@@ -73999,7 +73999,7 @@ glabel var7f1ab214
.L0f091a70:
/* f091a70: 27a40094 */ addiu $a0,$sp,0x94
/* f091a74: 8fa50214 */ lw $a1,0x214($sp)
/* f091a78: 0fc29f66 */ jal func0f0a7d98
/* f091a78: 0fc29f66 */ jal handPlayPropHitSound
/* f091a7c: 2406ffff */ addiu $a2,$zero,-1
/* f091a80: 0fc2c74a */ jal handGetDamage
/* f091a84: 27a40094 */ addiu $a0,$sp,0x94
@@ -74014,7 +74014,7 @@ glabel var7f1ab214
/* f091aa8: 8fa6020c */ lw $a2,0x20c($sp)
/* f091aac: 27a70094 */ addiu $a3,$sp,0x94
/* f091ab0: 44052000 */ mfc1 $a1,$f4
/* f091ab4: 0fc0d0cc */ jal func0f034330
/* f091ab4: 0fc0d0cc */ jal chrDamageByImpact
/* f091ab8: 00000000 */ nop
/* f091abc: 44809000 */ mtc1 $zero,$f18
/* f091ac0: 8fad0204 */ lw $t5,0x204($sp)
@@ -74048,7 +74048,7 @@ glabel var7f1ab214
/* f091b24: afa9006c */ sw $t1,0x6c($sp)
/* f091b28: 27a40094 */ addiu $a0,$sp,0x94
/* f091b2c: 01002825 */ or $a1,$t0,$zero
/* f091b30: 0fc29f66 */ jal func0f0a7d98
/* f091b30: 0fc29f66 */ jal handPlayPropHitSound
/* f091b34: 2406ffff */ addiu $a2,$zero,-1
.L0f091b38:
/* f091b38: 8fab006c */ lw $t3,0x6c($sp)
@@ -74118,7 +74118,7 @@ glabel var7f1ab214
/* f091c28: afb80068 */ sw $t8,0x68($sp)
/* f091c2c: 27a40094 */ addiu $a0,$sp,0x94
/* f091c30: 01e02825 */ or $a1,$t7,$zero
/* f091c34: 0fc29f66 */ jal func0f0a7d98
/* f091c34: 0fc29f66 */ jal handPlayPropHitSound
/* f091c38: 2406ffff */ addiu $a2,$zero,-1
.L0f091c3c:
/* f091c3c: 8fa40208 */ lw $a0,0x208($sp)
@@ -74728,7 +74728,7 @@ glabel var7f1ab214
.L0f091a70:
/* f091a70: 27a40094 */ addiu $a0,$sp,0x94
/* f091a74: 8fa50214 */ lw $a1,0x214($sp)
/* f091a78: 0fc29f66 */ jal func0f0a7d98
/* f091a78: 0fc29f66 */ jal handPlayPropHitSound
/* f091a7c: 2406ffff */ addiu $a2,$zero,-1
/* f091a80: 0fc2c74a */ jal handGetDamage
/* f091a84: 27a40094 */ addiu $a0,$sp,0x94
@@ -74743,7 +74743,7 @@ glabel var7f1ab214
/* f091aa8: 8fa6020c */ lw $a2,0x20c($sp)
/* f091aac: 27a70094 */ addiu $a3,$sp,0x94
/* f091ab0: 44052000 */ mfc1 $a1,$f4
/* f091ab4: 0fc0d0cc */ jal func0f034330
/* f091ab4: 0fc0d0cc */ jal chrDamageByImpact
/* f091ab8: 00000000 */ nop
/* f091abc: 44809000 */ mtc1 $zero,$f18
/* f091ac0: 8fad0204 */ lw $t5,0x204($sp)
@@ -74777,7 +74777,7 @@ glabel var7f1ab214
/* f091b24: afa9006c */ sw $t1,0x6c($sp)
/* f091b28: 27a40094 */ addiu $a0,$sp,0x94
/* f091b2c: 01002825 */ or $a1,$t0,$zero
/* f091b30: 0fc29f66 */ jal func0f0a7d98
/* f091b30: 0fc29f66 */ jal handPlayPropHitSound
/* f091b34: 2406ffff */ addiu $a2,$zero,-1
.L0f091b38:
/* f091b38: 8fab006c */ lw $t3,0x6c($sp)
@@ -74847,7 +74847,7 @@ glabel var7f1ab214
/* f091c28: afb80068 */ sw $t8,0x68($sp)
/* f091c2c: 27a40094 */ addiu $a0,$sp,0x94
/* f091c30: 01e02825 */ or $a1,$t7,$zero
/* f091c34: 0fc29f66 */ jal func0f0a7d98
/* f091c34: 0fc29f66 */ jal handPlayPropHitSound
/* f091c38: 2406ffff */ addiu $a2,$zero,-1
.L0f091c3c:
/* f091c3c: 8fa40208 */ lw $a0,0x208($sp)
+2 -2
View File
@@ -62,7 +62,7 @@ bool func0f034080(struct chrdata *chr, struct modelnode *node, struct prop *prop
void chrDamageByMisc(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop);
void chrDamageByLaser(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop);
void func0f0341dc(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, u32 ibh, struct prop *prop2, struct modelnode *node, struct model *model, s32 side, s16 *arg10);
void func0f034330(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, s32 arg5);
void chrDamageByImpact(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, s32 arg5);
void chrDamageByExplosion(struct chrdata *chr, f32 damage, struct coord *vector, struct prop *prop, struct coord *explosionpos);
void playerUpdateDamageStats(struct prop *attacker, struct prop *victim, f32 damage);
void chrDamage(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *aprop, s32 ibh, bool damageshield, struct prop *prop2, struct modelnode *node, struct model *model, s32 side, s16 *arg11, bool explosion, struct coord *explosionpos);
@@ -116,7 +116,7 @@ s32 func0f03aca0(struct chrdata *chr, f32 arg1, u8 arg2);
bool chrTryRunFromTarget(struct chrdata *chr);
u32 func0f03b1e0(struct chrdata *chr);
bool chrDropItem(struct chrdata *chr, u32 modelnum, u32 weaponnum);
void func0f03ba44(struct chrdata *chr, u32 arg1, u32 arg2, u32 arg3);
void chrPunchInflictDamage(struct chrdata *chr, s32 arg1, s32 arg2, u8 arg3);
bool chrTryPunchOrKick(struct chrdata *chr, u32 arg1);
struct eyespy *chrToEyespy(struct chrdata *chr);
void chrTickStand(struct chrdata *chr);
+1 -1
View File
@@ -137,7 +137,7 @@ void func0f0a6c30(void);
s32 func0f0a70f8(void);
void func0f0a7138(Gfx **gdl);
struct audiohandle **func0f0a7d5c(void);
void func0f0a7d98(struct shorthand *hand, struct prop *prop, s32 arg2);
void handPlayPropHitSound(struct shorthand *hand, struct prop *prop, s32 arg2);
void func0f0a8404(struct coord *pos, s16 *rooms, s32 arg2);
u32 func0f0a84c8(void);
void handSetTriggerOn(s32 handnum, bool on);
+1 -1
View File
@@ -18,7 +18,7 @@ void propReparent(struct prop *mover, struct prop *adopter);
void propDetach(struct prop *prop);
Gfx *propRender(Gfx *gdl, struct prop *prop, bool withalpha);
Gfx *propsRender(Gfx *gdl, s16 arg1, s32 arg2, s16 *arg3);
u32 func0f060984(void);
void weaponPlayWhooshSound(s32 weaponnum, struct prop *prop);
u32 func0f060bac(void);
void func0f060db8(s32 handnum, bool arg1, struct coord *arg2, struct coord *arg3, struct coord *arg4, struct coord *arg5, u32 arg6, f32 arg7, bool arg8);
struct prop *func0f061d54(s32 handnum, u32 arg1, u32 arg2);