Decompile func0f09a310

This commit is contained in:
Ryan Dwyer
2021-03-05 22:05:34 +10:00
parent 2595be380e
commit b19fd26f5e
8 changed files with 216 additions and 253 deletions
+54 -88
View File
@@ -145,9 +145,9 @@ u32 var800701f4 = 0x00000000;
u32 var800701f8 = 0x00000000;
u32 var800701fc = 0x00000000;
struct remoteminething var80070200[2] = {
{ 0x0a, 0, 0x0434, 10000 },
{ 0 },
struct guncmd var80070200[2] = {
{ GUNCMD_PLAYANIMATION, 0, 0x0434, 10000 },
{ GUNCMD_END },
};
u32 var80070210 = 0x00000000;
@@ -1232,57 +1232,57 @@ glabel var7f1ac1b0
/* f098880: 27bd0158 */ addiu $sp,$sp,0x158
);
bool func0f098884(struct remoteminething *arg0, struct shorthand *hand)
bool func0f098884(struct guncmd *cmd, struct shorthand *hand)
{
s32 result = false;
if (arg0->unk01 == 0) {
if (cmd->unk01 == 0) {
return true;
}
if (arg0->unk01 == 1 && g_Vars.currentplayer->hands[HAND_LEFT].inuse == true) {
if (cmd->unk01 == 1 && g_Vars.currentplayer->hands[HAND_LEFT].inuse == true) {
result = true;
}
if (arg0->unk01 == 2 && hand->weaponfunc == FUNC_SECONDARY) {
if (cmd->unk01 == 2 && hand->weaponfunc == FUNC_SECONDARY) {
result = true;
}
return result;
}
void func0f0988e0(struct remoteminething *arg0, bool arg1, struct hand *hand)
void func0f0988e0(struct guncmd *cmd, bool arg1, struct hand *hand)
{
if (arg0->unk00 != 0x0a) {
struct remoteminething *loopthing = arg0;
if (cmd->type != GUNCMD_PLAYANIMATION) {
struct guncmd *loopcmd = cmd;
s32 done = false;
u32 rand = random() % 100;
while (loopthing->unk00) {
if (func0f098884(loopthing, &hand->base) && !done) {
if (loopthing->unk00 == 6) {
while (loopcmd->type != GUNCMD_END) {
if (func0f098884(loopcmd, &hand->base) && !done) {
if (loopcmd->type == GUNCMD_INCLUDE) {
done = true;
func0f0988e0(loopthing->next, arg1, hand);
} else if (loopthing->unk00 == 7) {
if (loopthing->next != hand->unk0d80 && loopthing->unk02 > rand) {
func0f0988e0((struct guncmd *)loopcmd->unk04, arg1, hand);
} else if (loopcmd->type == GUNCMD_RANDOM) {
if ((struct guncmd *)loopcmd->unk04 != hand->unk0d80 && loopcmd->unk02 > rand) {
done = true;
func0f0988e0(loopthing->next, arg1, hand);
func0f0988e0((struct guncmd *)loopcmd->unk04, arg1, hand);
}
}
}
loopthing++;
loopcmd++;
}
} else {
hand->unk0cb8 = arg0->unk02;
hand->unk0cb8 = cmd->unk02;
hand->unk0cc4 = 0;
hand->unk0cc8_01 = 0;
hand->unk0cc8_03 = 0;
hand->unk0ce8 = arg0;
hand->unk0ce8 = cmd;
hand->unk0cc9 = 0;
hand->unk0cc8_02 = 0;
hand->unk0d0e_07 = 0;
hand->unk0d80 = arg0;
hand->unk0d80 = cmd;
}
}
@@ -3127,73 +3127,39 @@ glabel var7f1ac31c
/* f09a30c: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f09a310
/* f09a310: 27bdffe0 */ addiu $sp,$sp,-32
/* f09a314: afbf0014 */ sw $ra,0x14($sp)
/* f09a318: afa40020 */ sw $a0,0x20($sp)
/* f09a31c: afa50024 */ sw $a1,0x24($sp)
/* f09a320: afa7002c */ sw $a3,0x2c($sp)
/* f09a324: 8cce0618 */ lw $t6,0x618($a2)
/* f09a328: 00001825 */ or $v1,$zero,$zero
/* f09a32c: 55c00021 */ bnezl $t6,.L0f09a3b4
/* f09a330: 8cc9068c */ lw $t1,0x68c($a2)
/* f09a334: 90cf0003 */ lbu $t7,0x3($a2)
/* f09a338: 00c02025 */ or $a0,$a2,$zero
/* f09a33c: 55e0000c */ bnezl $t7,.L0f09a370
/* f09a340: afa30018 */ sw $v1,0x18($sp)
/* f09a344: 00c02025 */ or $a0,$a2,$zero
/* f09a348: afa00018 */ sw $zero,0x18($sp)
/* f09a34c: 0fc2c83a */ jal handGetPriToSecAnim
/* f09a350: afa60028 */ sw $a2,0x28($sp)
/* f09a354: 8fa60028 */ lw $a2,0x28($sp)
/* f09a358: 8fa30018 */ lw $v1,0x18($sp)
/* f09a35c: 24180001 */ addiu $t8,$zero,0x1
/* f09a360: 00402025 */ or $a0,$v0,$zero
/* f09a364: 10000008 */ b .L0f09a388
/* f09a368: a0d80003 */ sb $t8,0x3($a2)
/* f09a36c: afa30018 */ sw $v1,0x18($sp)
.L0f09a370:
/* f09a370: 0fc2c846 */ jal handGetSecToPriAnim
/* f09a374: afa60028 */ sw $a2,0x28($sp)
/* f09a378: 8fa60028 */ lw $a2,0x28($sp)
/* f09a37c: 8fa30018 */ lw $v1,0x18($sp)
/* f09a380: 00402025 */ or $a0,$v0,$zero
/* f09a384: a0c00003 */ sb $zero,0x3($a2)
.L0f09a388:
/* f09a388: 1040000e */ beqz $v0,.L0f09a3c4
/* f09a38c: 00000000 */ nop
/* f09a390: 0fc26238 */ jal func0f0988e0
/* f09a394: 8fa50024 */ lw $a1,0x24($sp)
/* f09a398: 3c08800a */ lui $t0,%hi(g_Vars+0x284)
/* f09a39c: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0)
/* f09a3a0: 2419ffff */ addiu $t9,$zero,-1
/* f09a3a4: 24030001 */ addiu $v1,$zero,0x1
/* f09a3a8: 10000006 */ b .L0f09a3c4
/* f09a3ac: ad190dd4 */ sw $t9,0xdd4($t0)
/* f09a3b0: 8cc9068c */ lw $t1,0x68c($a2)
.L0f09a3b4:
/* f09a3b4: 24010002 */ addiu $at,$zero,0x2
/* f09a3b8: 15210002 */ bne $t1,$at,.L0f09a3c4
/* f09a3bc: 00000000 */ nop
/* f09a3c0: 24030001 */ addiu $v1,$zero,0x1
.L0f09a3c4:
/* f09a3c4: 14600007 */ bnez $v1,.L0f09a3e4
/* f09a3c8: 8fa40024 */ lw $a0,0x24($sp)
/* f09a3cc: 0fc27346 */ jal func0f09cd18
/* f09a3d0: 00002825 */ or $a1,$zero,$zero
/* f09a3d4: 50400004 */ beqzl $v0,.L0f09a3e8
/* f09a3d8: 00001025 */ or $v0,$zero,$zero
/* f09a3dc: 10000002 */ b .L0f09a3e8
/* f09a3e0: 8fa2002c */ lw $v0,0x2c($sp)
.L0f09a3e4:
/* f09a3e4: 00001025 */ or $v0,$zero,$zero
.L0f09a3e8:
/* f09a3e8: 8fbf0014 */ lw $ra,0x14($sp)
/* f09a3ec: 27bd0020 */ addiu $sp,$sp,0x20
/* f09a3f0: 03e00008 */ jr $ra
/* f09a3f4: 00000000 */ nop
);
s32 func0f09a310(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate)
{
struct guncmd *cmd;
bool somebool = false;
if (hand->unk0c50 == 0) {
if (hand->base.weaponfunc == FUNC_PRIMARY) {
cmd = handGetPriToSecAnim(&hand->base);
hand->base.weaponfunc = FUNC_SECONDARY;
} else {
cmd = handGetSecToPriAnim(&hand->base);
hand->base.weaponfunc = FUNC_PRIMARY;
}
somebool = false;
if (cmd != NULL) {
func0f0988e0(cmd, handnum, hand);
somebool = true;
g_Vars.currentplayer->hands[HAND_RIGHT].unk0dd4 = -1;
}
} else {
if (hand->unk0cc4 == 2) {
somebool = true;
}
}
if (!somebool && func0f09cd18(handnum, 0)) {
return lvupdate;
}
return 0;
}
GLOBAL_ASM(
glabel func0f09a3f8
+4 -4
View File
@@ -745,7 +745,7 @@ glabel func0f0b201c
/* f0b2084: 00000000 */ nop
);
u32 *handGetEquipAnim(struct shorthand *hand)
struct guncmd *handGetEquipAnim(struct shorthand *hand)
{
struct weapon *weapon = g_Weapons[hand->weaponnum];
@@ -756,7 +756,7 @@ u32 *handGetEquipAnim(struct shorthand *hand)
return NULL;
}
u32 *handGetUnequipAnim(struct shorthand *hand)
struct guncmd *handGetUnequipAnim(struct shorthand *hand)
{
struct weapon *weapon = g_Weapons[hand->weaponnum];
@@ -767,7 +767,7 @@ u32 *handGetUnequipAnim(struct shorthand *hand)
return NULL;
}
u32 *handGetPriToSecAnim(struct shorthand *hand)
struct guncmd *handGetPriToSecAnim(struct shorthand *hand)
{
struct weapon *weapon = g_Weapons[hand->weaponnum];
@@ -778,7 +778,7 @@ u32 *handGetPriToSecAnim(struct shorthand *hand)
return NULL;
}
u32 *handGetSecToPriAnim(struct shorthand *hand)
struct guncmd *handGetSecToPriAnim(struct shorthand *hand)
{
struct weapon *weapon = g_Weapons[hand->weaponnum];
+116 -116
View File
@@ -192,32 +192,32 @@ struct weapon invitem_nothing = {
0x00001000, // flags
};
u32 invanim_punch_type3[] = {
struct guncmd invanim_punch_type3[] = {
gunscript_playanimation(0x03e9, 0, 10000)
gunscript_waittime(7, 2)
gunscript_end
};
u32 invanim_punch_type1[] = {
struct guncmd invanim_punch_type1[] = {
gunscript_playanimation(0x03ea, 0, 10000)
gunscript_waittime(8, 2)
gunscript_end
};
u32 invanim_punch_type2[] = {
struct guncmd invanim_punch_type2[] = {
gunscript_playanimation(0x041f, 0, 10000)
gunscript_waittime(7, 2)
gunscript_end
};
u32 invanim_punch_type4[] = {
struct guncmd invanim_punch_type4[] = {
gunscript_playanimation(0x0425, 0, 10000)
gunscript_waittime(8, 2)
gunscript_waittime(18, 3)
gunscript_end
};
u32 invanim_punch[] = {
struct guncmd invanim_punch[] = {
gunscript_random(20, invanim_punch_type1)
gunscript_random(40, invanim_punch_type2)
gunscript_random(60, invanim_punch_type3)
@@ -358,7 +358,7 @@ struct inventory_typef invf_0001148c[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_falcon2_reload_0[] = {
struct guncmd invanim_falcon2_reload_0[] = {
gunscript_playanimation(0x00ed, 0, 10000)
gunscript_showpart(1, 53)
gunscript_showpart(1, 43)
@@ -373,7 +373,7 @@ u32 invanim_falcon2_reload_0[] = {
gunscript_end
};
u32 invanim_falcon2scope_reload_0[] = {
struct guncmd invanim_falcon2scope_reload_0[] = {
gunscript_playanimation(0x0417, 0, 10000)
gunscript_showpart(1, 53)
gunscript_showpart(1, 43)
@@ -388,7 +388,7 @@ u32 invanim_falcon2scope_reload_0[] = {
gunscript_end
};
u32 invanim_falcon2_reload_1[] = {
struct guncmd invanim_falcon2_reload_1[] = {
gunscript_playanimation(0x03f1, 0, 10000)
gunscript_hidepart(1, 43)
gunscript_showpart(1, 42)
@@ -399,35 +399,35 @@ u32 invanim_falcon2_reload_1[] = {
gunscript_end
};
u32 invanim_falcon2_reload[] = {
struct guncmd invanim_falcon2_reload[] = {
gunscript_include(1, invanim_falcon2_reload_1)
gunscript_include(0, invanim_falcon2_reload_0)
gunscript_end
};
u32 invanim_falcon2scope_reload[] = {
struct guncmd invanim_falcon2scope_reload[] = {
gunscript_include(1, invanim_falcon2_reload_1)
gunscript_include(0, invanim_falcon2scope_reload_0)
gunscript_end
};
u32 invanim_falcon2_pistolwhip[] = {
struct guncmd invanim_falcon2_pistolwhip[] = {
gunscript_playanimation(0x03f2, 0, 10000)
gunscript_waittime(23, 2)
gunscript_end
};
u32 invanim_falcon2_equip[] = {
struct guncmd invanim_falcon2_equip[] = {
gunscript_playanimation(0x00ea, 0, 10000)
gunscript_end
};
u32 invanim_falcon2_unequip[] = {
struct guncmd invanim_falcon2_unequip[] = {
gunscript_playanimation(0x00eb, 0, 10000)
gunscript_end
};
u32 invanim_falcon2_shoot[] = {
struct guncmd invanim_falcon2_shoot[] = {
gunscript_playanimation(0x00ec, 0, 10000)
gunscript_waittime(9, 5)
gunscript_end
@@ -606,7 +606,7 @@ struct inventory_typef invf_00011840[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_magsec_reload_0[] = {
struct guncmd invanim_magsec_reload_0[] = {
gunscript_playanimation(0x0409, 0, 10000)
gunscript_showpart(1, 53)
gunscript_showpart(1, 41)
@@ -625,7 +625,7 @@ u32 invanim_magsec_reload_0[] = {
gunscript_end
};
u32 invanim_magsec_reload_1[] = {
struct guncmd invanim_magsec_reload_1[] = {
gunscript_playanimation(0x040a, 0, 10000)
gunscript_showpart(1, 41)
gunscript_setsoundspeed(5, 1300)
@@ -639,13 +639,13 @@ u32 invanim_magsec_reload_1[] = {
gunscript_end
};
u32 invanim_magsec_reload[] = {
struct guncmd invanim_magsec_reload[] = {
gunscript_include(1, invanim_magsec_reload_1)
gunscript_include(0, invanim_magsec_reload_0)
gunscript_end
};
u32 invanim_magsec_equiporshoot[] = {
struct guncmd invanim_magsec_equiporshoot[] = {
gunscript_playanimation(0x040b, 0, 10000)
gunscript_waittime(12, 5)
gunscript_end
@@ -761,14 +761,14 @@ struct inventory_typef invf_00011a84[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_dy357_equiporshoot[] = {
struct guncmd invanim_dy357_equiporshoot[] = {
gunscript_playanimation(0x0406, 0, 10000)
gunscript_waittime(12, 5)
gunscript_waittime(12, 2)
gunscript_end
};
u32 invanim_dy357_reload_0[] = {
struct guncmd invanim_dy357_reload_0[] = {
gunscript_playanimation(0x0408, 0, 10000)
gunscript_playsound(50, 0x05cf)
gunscript_setsoundspeed(80, 1830)
@@ -799,7 +799,7 @@ u32 invanim_dy357_reload_0[] = {
gunscript_end
};
u32 invanim_dy357_reload_1[] = {
struct guncmd invanim_dy357_reload_1[] = {
gunscript_playanimation(0x0420, 0, 10000)
gunscript_playsound(50, 0x05cf)
gunscript_setsoundspeed(80, 1830)
@@ -817,13 +817,13 @@ u32 invanim_dy357_reload_1[] = {
gunscript_end
};
u32 invanim_dy357_reload[] = {
struct guncmd invanim_dy357_reload[] = {
gunscript_include(1, invanim_dy357_reload_1)
gunscript_include(0, invanim_dy357_reload_0)
gunscript_end
};
u32 invanim_dy357_pistolwhip[] = {
struct guncmd invanim_dy357_pistolwhip[] = {
gunscript_playanimation(0x0407, 0, 10000)
gunscript_waittime(23, 2)
gunscript_end
@@ -966,7 +966,7 @@ struct inventory_typef invf_00011e00[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_equiporreload_0[] = {
struct guncmd invanim_equiporreload_0[] = {
gunscript_playanimation(0x0415, 0, 10000)
gunscript_showpart(1, 53)
gunscript_showpart(1, 40)
@@ -976,7 +976,7 @@ u32 invanim_equiporreload_0[] = {
gunscript_end
};
u32 invanim_phoenix_equiporreload_1[] = {
struct guncmd invanim_phoenix_equiporreload_1[] = {
gunscript_playanimation(0x0423, 0, 10000)
gunscript_showpart(1, 53)
gunscript_showpart(1, 40)
@@ -986,13 +986,13 @@ u32 invanim_phoenix_equiporreload_1[] = {
gunscript_end
};
u32 invanim_phoenix_equiporreload[] = {
struct guncmd invanim_phoenix_equiporreload[] = {
gunscript_include(1, invanim_phoenix_equiporreload_1)
gunscript_include(0, invanim_equiporreload_0)
gunscript_end
};
u32 invanim_phoenix_shoot[] = {
struct guncmd invanim_phoenix_shoot[] = {
gunscript_playanimation(0x043e, 0, 10000)
gunscript_waittime(9, 5)
gunscript_end
@@ -1087,13 +1087,13 @@ struct inventory_typef invf_00011fac[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_mauler_equiporshoot[] = {
struct guncmd invanim_mauler_equiporshoot[] = {
gunscript_playanimation(0x03f3, 0, 10000)
gunscript_waittime(9, 5)
gunscript_end
};
u32 invanim_mauler_reload_0[] = {
struct guncmd invanim_mauler_reload_0[] = {
gunscript_playanimation(0x03f4, 0, 10000)
gunscript_showpart(0, 53)
gunscript_setsoundspeed(4, 1200)
@@ -1113,7 +1113,7 @@ u32 invanim_mauler_reload_0[] = {
gunscript_end
};
u32 invanim_mauler_reload_1[] = {
struct guncmd invanim_mauler_reload_1[] = {
gunscript_playanimation(0x03f5, 0, 10000)
gunscript_setsoundspeed(14, 1200)
gunscript_playsound(14, 0x0053)
@@ -1127,13 +1127,13 @@ u32 invanim_mauler_reload_1[] = {
gunscript_end
};
u32 invanim_mauler_reload[] = {
struct guncmd invanim_mauler_reload[] = {
gunscript_include(1, invanim_mauler_reload_1)
gunscript_include(0, invanim_mauler_reload_0)
gunscript_end
};
u32 invanim_unused_8007c0bc[] = {
struct guncmd invanim_unused_8007c0bc[] = {
gunscript_playanimation(0x03f6, 0, 10000)
gunscript_end
};
@@ -1228,7 +1228,7 @@ struct inventory_typef invf_000121d8[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_cmp150_reload_0[] = {
struct guncmd invanim_cmp150_reload_0[] = {
gunscript_playanimation(0x0115, 0, 10000)
gunscript_hidepart(23, 42)
gunscript_showpart(33, 53)
@@ -1244,7 +1244,7 @@ u32 invanim_cmp150_reload_0[] = {
gunscript_end
};
u32 invanim_cmp150_reload_1[] = {
struct guncmd invanim_cmp150_reload_1[] = {
gunscript_playanimation(0x0422, 0, 10000)
gunscript_hidepart(23, 42)
gunscript_showpart(33, 53)
@@ -1260,13 +1260,13 @@ u32 invanim_cmp150_reload_1[] = {
gunscript_end
};
u32 invanim_cmp150_reload[] = {
struct guncmd invanim_cmp150_reload[] = {
gunscript_include(1, invanim_cmp150_reload_1)
gunscript_include(0, invanim_cmp150_reload_0)
gunscript_end
};
u32 invanim_cmp150_equiporshoot[] = {
struct guncmd invanim_cmp150_equiporshoot[] = {
gunscript_playanimation(0x0116, 0, 10000)
gunscript_waittime(14, 5)
gunscript_waitforzreleased(14)
@@ -1381,7 +1381,7 @@ struct inventory_typef invf_0001243c[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_cyclone_equiporreload_0[] = {
struct guncmd invanim_cyclone_equiporreload_0[] = {
gunscript_playanimation(0x040e, 0, 10000)
gunscript_showpart(1, 53)
gunscript_showpart(1, 40)
@@ -1389,19 +1389,19 @@ u32 invanim_cyclone_equiporreload_0[] = {
gunscript_end
};
u32 invanim_cyclone_equiporreload_1[] = {
struct guncmd invanim_cyclone_equiporreload_1[] = {
gunscript_playanimation(0x0421, 0, 10000)
gunscript_playsound(60, 0x05d3)
gunscript_end
};
u32 invanim_cyclone_equiporreload[] = {
struct guncmd invanim_cyclone_equiporreload[] = {
gunscript_include(1, invanim_cyclone_equiporreload_1)
gunscript_include(0, invanim_cyclone_equiporreload_0)
gunscript_end
};
u32 invanim_cyclone_shoot[] = {
struct guncmd invanim_cyclone_shoot[] = {
gunscript_playanimation(0x043d, 0, 10000)
gunscript_waittime(5, 5)
gunscript_waitforzreleased(5)
@@ -1493,7 +1493,7 @@ struct weapon invitem_cyclone = {
0x00027678, // flags
};
u32 invanim_rcp120_reload[] = {
struct guncmd invanim_rcp120_reload[] = {
gunscript_playanimation(0x041a, 0, 10000)
gunscript_setsoundspeed(18, 1100)
gunscript_playsound(18, 0x0053)
@@ -1506,7 +1506,7 @@ u32 invanim_rcp120_reload[] = {
gunscript_end
};
u32 invanim_rcp120_equiporshoot[] = {
struct guncmd invanim_rcp120_equiporshoot[] = {
gunscript_playanimation(0x0424, 0, 10000)
gunscript_waittime(10, 5)
gunscript_waitforzreleased(10)
@@ -1596,7 +1596,7 @@ struct weapon invitem_rcp120 = {
0x0062e670, // flags
};
u32 invanim_callisto_equiporreload[] = {
struct guncmd invanim_callisto_equiporreload[] = {
gunscript_playanimation(0x0418, 0, 10000)
gunscript_showpart(30, 40)
gunscript_setsoundspeed(58, 933)
@@ -1605,7 +1605,7 @@ u32 invanim_callisto_equiporreload[] = {
gunscript_end
};
u32 invanim_callisto_shoot[] = {
struct guncmd invanim_callisto_shoot[] = {
gunscript_playanimation(0x043c, 0, 10000)
gunscript_waittime(8, 5)
gunscript_waitforzreleased(8)
@@ -1718,12 +1718,12 @@ struct modelpartvisibility invpartvisibility_dragon[] = {
{ 255 },
};
u32 invanim_dragon_equiporshoot[] = {
struct guncmd invanim_dragon_equiporshoot[] = {
gunscript_playanimation(0x03f9, 0, 10000)
gunscript_end
};
u32 invanim_dragon_reload[] = {
struct guncmd invanim_dragon_reload[] = {
gunscript_playanimation(0x03fa, 0, 10000)
gunscript_playsound(8, 0x0053)
gunscript_hidepart(17, 42)
@@ -1821,7 +1821,7 @@ struct modelpartvisibility invpartvisibility_superdragon[] = {
{ 255 },
};
u32 invanim_superdragon_reload[] = {
struct guncmd invanim_superdragon_reload[] = {
gunscript_playanimation(0x03fb, 0, 10000)
gunscript_playsound(8, 0x0053)
gunscript_hidepart(16, 42)
@@ -1833,7 +1833,7 @@ u32 invanim_superdragon_reload[] = {
gunscript_end
};
u32 invanim_superdragon_grenadereload[] = {
struct guncmd invanim_superdragon_grenadereload[] = {
gunscript_playanimation(0x03fc, 0, 10000)
gunscript_setsoundspeed(6, 700)
gunscript_playsound(6, 0x0053)
@@ -1847,22 +1847,22 @@ u32 invanim_superdragon_grenadereload[] = {
gunscript_end
};
u32 invanim_superdragon_equiporshoot[] = {
struct guncmd invanim_superdragon_equiporshoot[] = {
gunscript_playanimation(0x03fe, 0, 10000)
gunscript_end
};
u32 invanim_superdragon_shootgrenade[] = {
struct guncmd invanim_superdragon_shootgrenade[] = {
gunscript_playanimation(0x03ff, 0, 10000)
gunscript_end
};
u32 invanim_superdragon_pritosec[] = {
struct guncmd invanim_superdragon_pritosec[] = {
gunscript_playanimation(0x03fd, 0, 10000)
gunscript_end
};
u32 invanim_superdragon_sectopri[] = {
struct guncmd invanim_superdragon_sectopri[] = {
gunscript_playanimation(0x03fd, 65535, 55536)
gunscript_end
};
@@ -1975,7 +1975,7 @@ struct modelpartvisibility invpartvisibility_ar34[] = {
{ 255 },
};
u32 invanim_ar34_equiporreload[] = {
struct guncmd invanim_ar34_equiporreload[] = {
gunscript_playanimation(0x0419, 0, 10000)
gunscript_setsoundspeed(16, 900)
gunscript_playsound(16, 0x0053)
@@ -2098,7 +2098,7 @@ struct modelpartvisibility invpartvisibility_k7avenger[] = {
{ 255 },
};
u32 invanim_k7avenger_reload[] = {
struct guncmd invanim_k7avenger_reload[] = {
gunscript_playanimation(0x00e9, 0, 10000)
gunscript_setsoundspeed(15, 1200)
gunscript_playsound(15, 0x0053)
@@ -2113,17 +2113,17 @@ u32 invanim_k7avenger_reload[] = {
gunscript_end
};
u32 invanim_k7avenger_equip[] = {
struct guncmd invanim_k7avenger_equip[] = {
gunscript_playanimation(0x00e6, 0, 10000)
gunscript_end
};
u32 invanim_k7avenger_unequip[] = {
struct guncmd invanim_k7avenger_unequip[] = {
gunscript_playanimation(0x00e7, 0, 10000)
gunscript_end
};
u32 invanim_unused_8007ce6c[] = {
struct guncmd invanim_unused_8007ce6c[] = {
gunscript_playanimation(0x00e8, 0, 10000)
gunscript_end
};
@@ -2237,7 +2237,7 @@ struct modelpartvisibility invpartvisibility_laptopgun[] = {
{ 255 },
};
u32 invanim_laptopgun_reload[] = {
struct guncmd invanim_laptopgun_reload[] = {
gunscript_playanimation(0x00e4, 0, 10000)
gunscript_setsoundspeed(4, 1630)
gunscript_playsound(4, 0x04fb)
@@ -2258,14 +2258,14 @@ u32 invanim_laptopgun_reload[] = {
gunscript_end
};
u32 invanim_laptopgun_shoot[] = {
struct guncmd invanim_laptopgun_shoot[] = {
gunscript_playanimation(0x00e5, 0, 10000)
gunscript_waittime(10, 5)
gunscript_waitforzreleased(10)
gunscript_end
};
u32 invanim_laptopgun_equip[] = {
struct guncmd invanim_laptopgun_equip[] = {
gunscript_playanimation(0x00e2, 0, 10000)
gunscript_setsoundspeed(15, 720)
gunscript_playsound(15, 0x04f7)
@@ -2274,7 +2274,7 @@ u32 invanim_laptopgun_equip[] = {
gunscript_end
};
u32 invanim_laptopgun_unequip[] = {
struct guncmd invanim_laptopgun_unequip[] = {
gunscript_playanimation(0x00e3, 0, 10000)
gunscript_playsound(1, 0x04f7)
gunscript_setsoundspeed(25, 720)
@@ -2367,7 +2367,7 @@ struct modelpartvisibility invpartvisibility_shotgun[] = {
{ 255 },
};
u32 invanim_shotgun_reload[] = {
struct guncmd invanim_shotgun_reload[] = {
gunscript_playanimation(0x03ed, 0, 10000)
gunscript_showpart(1, 43)
gunscript_playsound(67, 0x01d8)
@@ -2378,14 +2378,14 @@ u32 invanim_shotgun_reload[] = {
gunscript_end
};
u32 invanim_shotgun_equiporsingleshot[] = {
struct guncmd invanim_shotgun_equiporsingleshot[] = {
gunscript_playanimation(0x03ee, 0, 10000)
gunscript_waittime(9, 2)
gunscript_playsound(34, 0x04fb)
gunscript_end
};
u32 invanim_shotgun_doubleshot[] = {
struct guncmd invanim_shotgun_doubleshot[] = {
gunscript_playanimation(0x042c, 0, 10000)
gunscript_waittime(9, 2)
gunscript_playsound(54, 0x04fb)
@@ -2485,13 +2485,13 @@ struct inventory_typef invf_000133c8[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_reaper_shoot[] = {
struct guncmd invanim_reaper_shoot[] = {
gunscript_playanimation(0x0400, 0, 10000)
gunscript_waittime(12, 5)
gunscript_end
};
u32 invanim_reaper_reload[] = {
struct guncmd invanim_reaper_reload[] = {
gunscript_playanimation(0x0401, 0, 10000)
gunscript_playsound(49, 0x05c7)
gunscript_hidepart(70, 42)
@@ -2503,12 +2503,12 @@ u32 invanim_reaper_reload[] = {
gunscript_end
};
u32 invanim_reaper_equip[] = {
struct guncmd invanim_reaper_equip[] = {
gunscript_playanimation(0x0427, 0, 10000)
gunscript_end
};
u32 invanim_reaper_unequip[] = {
struct guncmd invanim_reaper_unequip[] = {
gunscript_playanimation(0x0428, 0, 10000)
gunscript_end
};
@@ -2606,7 +2606,7 @@ struct inventory_typef invf_00013564[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_rocketlauncher_reload[] = {
struct guncmd invanim_rocketlauncher_reload[] = {
gunscript_playanimation(0x03ef, 0, 10000)
gunscript_setsoundspeed(16, 900)
gunscript_playsound(16, 0x04f9)
@@ -2622,7 +2622,7 @@ u32 invanim_rocketlauncher_reload[] = {
gunscript_end
};
u32 invanim_rockerlauncher_equiporshoot[] = {
struct guncmd invanim_rockerlauncher_equiporshoot[] = {
gunscript_playanimation(0x03f0, 0, 10000)
gunscript_end
};
@@ -2731,12 +2731,12 @@ struct weapon invitem_rocketlauncher = {
0x40026270, // flags
};
u32 invanim_slayer_equiporshoot[] = {
struct guncmd invanim_slayer_equiporshoot[] = {
gunscript_playanimation(0x042a, 0, 10000)
gunscript_end
};
u32 invanim_slayer_reload[] = {
struct guncmd invanim_slayer_reload[] = {
gunscript_playanimation(0x0429, 0, 10000)
gunscript_setsoundspeed(52, 800)
gunscript_playsound(52, 0x0053)
@@ -2844,12 +2844,12 @@ struct inventory_typef invf_unused_8006d890[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_devastator_equiporshoot[] = {
struct guncmd invanim_devastator_equiporshoot[] = {
gunscript_playanimation(0x03f7, 0, 10000)
gunscript_end
};
u32 invanim_devastator_reload[] = {
struct guncmd invanim_devastator_reload[] = {
gunscript_playanimation(0x03f8, 0, 10000)
gunscript_setsoundspeed(15, 600)
gunscript_playsound(15, 0x0053)
@@ -2972,17 +2972,17 @@ struct weaponfunc invfunc_mine_threatdetector = {
0x00080000, // flags
};
u32 inanim_mine_equiporreload[] = {
struct guncmd invanim_mine_equiporreload[] = {
gunscript_playanimation(0x0430, 0, 10000)
gunscript_end
};
u32 invanim_mine_unequip[] = {
struct guncmd invanim_mine_unequip[] = {
gunscript_playanimation(0x0431, 0, 10000)
gunscript_end
};
u32 invanim_mine_throw[] = {
struct guncmd invanim_mine_throw[] = {
gunscript_playanimation(0x0435, 0, 10000)
gunscript_waitforzreleased(10)
gunscript_waittime(13, 2)
@@ -3007,14 +3007,14 @@ struct inventory_ammo invammo_timedmine = {
AMMOTYPE_TIMED_MINE,
CASING_NONE,
1, // clip size
inanim_mine_equiporreload, // reload animation
invanim_mine_equiporreload, // reload animation
33554432, // style
};
struct weapon invitem_timedmine = {
FILE_GTIMEDMINE, // hi model
FILE_GTIMEDMINE, // lo model
inanim_mine_equiporreload, // equip animation
invanim_mine_equiporreload, // equip animation
invanim_mine_unequip, // unequip animation
NULL, // pritosec animation
NULL, // sectopri animation
@@ -3044,17 +3044,17 @@ struct inventory_typef invf_00013b40[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_remotemine_equiporreload[] = {
struct guncmd invanim_remotemine_equiporreload[] = {
gunscript_playanimation(0x0432, 0, 10000)
gunscript_end
};
u32 invanim_remotemine_unequip[] = {
struct guncmd invanim_remotemine_unequip[] = {
gunscript_playanimation(0x0433, 0, 10000)
gunscript_end
};
u32 invanim_remotemine_throw[] = {
struct guncmd invanim_remotemine_throw[] = {
gunscript_playanimation(0x0436, 0, 10000)
gunscript_waitforzreleased(10)
gunscript_waittime(11, 2)
@@ -3144,14 +3144,14 @@ struct inventory_ammo invammo_proximitymine = {
AMMOTYPE_PROXY_MINE,
CASING_NONE,
1, // clip size
inanim_mine_equiporreload, // reload animation
invanim_mine_equiporreload, // reload animation
33554432, // style
};
struct weapon invitem_proximitymine = {
FILE_GPROXIMITYMINE, // hi model
FILE_GPROXIMITYMINE, // lo model
inanim_mine_equiporreload, // equip animation
invanim_mine_equiporreload, // equip animation
invanim_mine_unequip, // unequip animation
NULL, // pritosec animation
NULL, // sectopri animation
@@ -3173,17 +3173,17 @@ struct weapon invitem_proximitymine = {
0x00022259, // flags
};
u32 invanim_ecmmine_equiporreload[] = {
struct guncmd invanim_ecmmine_equiporreload[] = {
gunscript_playanimation(0x0437, 0, 10000)
gunscript_end
};
u32 invanim_ecmmine_unequip[] = {
struct guncmd invanim_ecmmine_unequip[] = {
gunscript_playanimation(0x0438, 0, 10000)
gunscript_end
};
u32 invanim_ecmmine_throw[] = {
struct guncmd invanim_ecmmine_throw[] = {
gunscript_playanimation(0x0438, 0, 10000)
gunscript_waittime(23, 2)
gunscript_end
@@ -3268,7 +3268,7 @@ struct inventory_typef invf_00013df8[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_grenade_throw[] = {
struct guncmd invanim_grenade_throw[] = {
gunscript_playanimation(0x0426, 0, 10000)
gunscript_popoutsackofpills(0x0006)
gunscript_playsound(6, 0x05c1)
@@ -3277,7 +3277,7 @@ u32 invanim_grenade_throw[] = {
gunscript_end
};
u32 invanim_grenade_equiporreload[] = {
struct guncmd invanim_grenade_equiporreload[] = {
gunscript_playanimation(0x042b, 0, 10000)
gunscript_end
};
@@ -3409,7 +3409,7 @@ struct inventory_typef invf_00013fa4[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_farsight_reload[] = {
struct guncmd invanim_farsight_reload[] = {
gunscript_playanimation(0x03eb, 0, 10000)
gunscript_showpart(1, 40)
gunscript_playsound(72, 0x0433)
@@ -3418,7 +3418,7 @@ u32 invanim_farsight_reload[] = {
gunscript_end
};
u32 invanim_farsight_equiporshoot[] = {
struct guncmd invanim_farsight_equiporshoot[] = {
gunscript_playanimation(0x03ec, 0, 10000)
gunscript_end
};
@@ -3522,7 +3522,7 @@ struct inventory_typef invf_00014100[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_crossbow_reload[] = {
struct guncmd invanim_crossbow_reload[] = {
gunscript_playanimation(0x00d4, 0, 10000)
gunscript_hidepart(1, 40)
gunscript_showpart(1, 41)
@@ -3537,21 +3537,21 @@ u32 invanim_crossbow_reload[] = {
gunscript_end
};
u32 invanim_crossbow_shoot[] = {
struct guncmd invanim_crossbow_shoot[] = {
gunscript_playanimation(0x00c2, 0, 10000)
gunscript_hidepart(20, 40)
gunscript_playsound(37, 0x04f8)
gunscript_end
};
u32 invanim_crossbow_unequip[] = {
struct guncmd invanim_crossbow_unequip[] = {
gunscript_playanimation(0x00d3, 0, 10000)
gunscript_hidepart(1, 40)
gunscript_playsound(37, 0x04f8)
gunscript_end
};
u32 invanim_crosbow_equip[] = {
struct guncmd invanim_crosbow_equip[] = {
gunscript_playanimation(0x00c1, 0, 10000)
gunscript_playsound(32, 0x04fc)
gunscript_playsound(75, 0x04f8)
@@ -3664,19 +3664,19 @@ struct inventory_typef invf_00014314[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_tranquilizer_lethalinject[] = {
struct guncmd invanim_tranquilizer_lethalinject[] = {
gunscript_playanimation(0x0411, 0, 10000)
gunscript_waittime(18, 2)
gunscript_end
};
u32 invanim_tranquilizer_equiporshoot[] = {
struct guncmd invanim_tranquilizer_equiporshoot[] = {
gunscript_playanimation(0x042d, 0, 10000)
gunscript_waittime(7, 5)
gunscript_end
};
u32 invanim_tranquilizer_reload[] = {
struct guncmd invanim_tranquilizer_reload[] = {
gunscript_playanimation(0x0410, 0, 10000)
gunscript_showpart(1, 53)
gunscript_showpart(1, 40)
@@ -3843,12 +3843,12 @@ struct inventory_typef invf_00014590[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_sniperrifle_equip[] = {
struct guncmd invanim_sniperrifle_equip[] = {
gunscript_playanimation(0x040c, 0, 10000)
gunscript_end
};
u32 invanim_sniperrifle_reload[] = {
struct guncmd invanim_sniperrifle_reload[] = {
gunscript_playanimation(0x040f, 0, 10000)
gunscript_setsoundspeed(22, 850)
gunscript_playsound(22, 0x01d8)
@@ -3946,12 +3946,12 @@ struct weapon invitem_sniperrifle = {
0x00026650, // flags
};
u32 invanim_laser_equip[] = {
struct guncmd invanim_laser_equip[] = {
gunscript_playanimation(0x042e, 0, 10000)
gunscript_end
};
u32 invanim_laser_unequip[] = {
struct guncmd invanim_laser_unequip[] = {
gunscript_playanimation(0x042f, 0, 10000)
gunscript_end
};
@@ -4039,7 +4039,7 @@ struct inventory_typef invf_000147fc[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_pp9i_equiporshoot[] = {
struct guncmd invanim_pp9i_equiporshoot[] = {
gunscript_playanimation(0x0440, 0, 10000)
gunscript_waittime(10, 5)
gunscript_end
@@ -4100,7 +4100,7 @@ struct weapon invitem_pp9i = {
0x000af67c, // flags
};
u32 invanim_cc13_equiporshoot[] = {
struct guncmd invanim_cc13_equiporshoot[] = {
gunscript_playanimation(0x043f, 0, 10000)
gunscript_waittime(10, 5)
gunscript_end
@@ -4678,52 +4678,52 @@ struct inventory_typef invf_00014fc0[] = {
{ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 },
};
u32 invanim_combatknife_equip[] = {
struct guncmd invanim_combatknife_equip[] = {
gunscript_playanimation(0x0403, 0, 10000)
gunscript_waittime(24, 2)
gunscript_end
};
u32 invanim_combatknife_slash2[] = {
struct guncmd invanim_combatknife_slash2[] = {
gunscript_playanimation(0x0404, 0, 10000)
gunscript_waittime(24, 2)
gunscript_end
};
u32 invanim_combatknife_slash[] = {
struct guncmd invanim_combatknife_slash[] = {
gunscript_random(50, invanim_combatknife_slash2)
gunscript_include(0, invanim_combatknife_equip)
gunscript_end
};
u32 invanim_combatknife_pritosec[] = {
struct guncmd invanim_combatknife_pritosec[] = {
gunscript_playanimation(0x0405, 0, 10000)
gunscript_playsound(30, 0x80a7)
gunscript_playsound(40, 0x80a6)
gunscript_end
};
u32 invanim_combatknife_sectopri[] = {
struct guncmd invanim_combatknife_sectopri[] = {
gunscript_playanimation(0x0405, 65535, 55536)
gunscript_playsound(10, 0x80a8)
gunscript_playsound(20, 0x80a6)
gunscript_end
};
u32 invanim_combatknife_throw[] = {
struct guncmd invanim_combatknife_throw[] = {
gunscript_playanimation(0x041b, 0, 10000)
gunscript_waitforzreleased(12)
gunscript_waittime(16, 2)
gunscript_end
};
u32 invanim_unused_8007f05c[] = {
struct guncmd invanim_unused_8007f05c[] = {
gunscript_playanimation(0x041c, 0, 10000)
gunscript_waittime(22, 1)
gunscript_end
};
u32 invanim_combatknife_reload[] = {
struct guncmd invanim_combatknife_reload[] = {
gunscript_include(2, invanim_combatknife_sectopri)
gunscript_include(0, invanim_combatknife_pritosec)
gunscript_end
@@ -5336,17 +5336,17 @@ struct weapon invitem_xrayscanner = {
0x08600058, // flags
};
u32 invanim_datauplink_equip[] = {
struct guncmd invanim_datauplink_equip[] = {
gunscript_playanimation(0x0439, 0, 10000)
gunscript_end
};
u32 invanim_datauplink_unequip[] = {
struct guncmd invanim_datauplink_unequip[] = {
gunscript_playanimation(0x043a, 0, 10000)
gunscript_end
};
u32 invanim_unused_8007f794[] = {
struct guncmd invanim_unused_8007f794[] = {
gunscript_playanimation(0x043b, 0, 10000)
gunscript_end
};
@@ -5915,7 +5915,7 @@ struct weapon invitem_rocketlauncher_34 = {
0x40026070, // flags
};
u32 invanim_tester_shoot[] = {
struct guncmd invanim_tester_shoot[] = {
gunscript_playanimation(0x0112, 0, 10000)
gunscript_end
};
+13
View File
@@ -867,6 +867,19 @@
#define GOPOSFLAG_DUCK 0x40
#define GOPOSFLAG_80 0x80
#define GUNCMD_END 0
#define GUNCMD_SHOWPART 1
#define GUNCMD_HIDEPART 2
#define GUNCMD_WAITFORZRELEASED 3
#define GUNCMD_WAITTIME 4
#define GUNCMD_PLAYSOUND 5
#define GUNCMD_INCLUDE 6
#define GUNCMD_RANDOM 7
#define GUNCMD_REPEATUNTILFULL 8
#define GUNCMD_POPOUTSACKOFPILLS 9
#define GUNCMD_PLAYANIMATION 10
#define GUNCMD_SETSOUNDSPEED 11
#define GUNMEMOWNER_0 0
#define GUNMEMOWNER_1 1
#define GUNMEMOWNER_2 2
+3 -3
View File
@@ -13,8 +13,8 @@ u32 func0f097f28(void);
u32 func0f098030(void);
u32 func0f09815c(void);
u32 func0f0981e8(void);
bool func0f098884(struct remoteminething *arg0, struct shorthand *hand);
void func0f0988e0(struct remoteminething *arg0, bool arg1, struct hand *hand);
bool func0f098884(struct guncmd *cmd, struct shorthand *hand);
void func0f0988e0(struct guncmd *cmd, bool arg1, struct hand *hand);
u32 func0f098a44(void);
u32 func0f098bfc(void);
void func0f098c0c(struct hand *hand);
@@ -43,7 +43,7 @@ s32 func0f09b8e0(struct handweaponinfo *info, s32 handnum, struct hand *hand, s3
s32 func0f09bc2c(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate);
u32 func0f09bd58(void);
bool func0f09bec8(s32 handnum);
s32 func0f09bf44(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate);
u32 func0f09bf44(void);
s32 func0f09c01c(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate);
s32 func0f09cb44(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate);
s32 func0f09cb5c(struct handweaponinfo *info, s32 handnum, s32 lvupdate);
+2 -2
View File
@@ -35,7 +35,7 @@ bool handHasFunctionFlags(struct shorthand *hand, u32 flags);
s8 weaponGetMaxFireRatePerTick(u32 weaponnum, u32 funcindex);
u32 currentPlayerGetSight(void);
void func0f0b201c(struct shorthand *hand, f32 *arg1);
u32 *handGetPriToSecAnim(struct shorthand *hand);
u32 *handGetSecToPriAnim(struct shorthand *hand);
struct guncmd *handGetPriToSecAnim(struct shorthand *hand);
struct guncmd *handGetSecToPriAnim(struct shorthand *hand);
#endif
+12 -24
View File
@@ -1,48 +1,36 @@
#define gunscript_end \
0, \
0,
{ GUNCMD_END },
#define gunscript_showpart(keyframe, part) \
0x01000000 | keyframe, \
part,
{ GUNCMD_SHOWPART, 0, keyframe, part },
#define gunscript_hidepart(keyframe, part) \
0x02000000 | keyframe, \
part,
{ GUNCMD_HIDEPART, 0, keyframe, part },
#define gunscript_waitforzreleased(keyframe) \
0x03000000 | keyframe, \
0,
{ GUNCMD_WAITFORZRELEASED, 0, keyframe },
#define gunscript_waittime(keyframe, time) \
0x04000000 | keyframe, \
time,
{ GUNCMD_WAITTIME, 0, keyframe, time },
#define gunscript_playsound(keyframe, sound) \
0x05000000 | keyframe, \
sound,
{ GUNCMD_PLAYSOUND, 0, keyframe, sound },
#define gunscript_include(unk1, address) \
0x06000000 | (unk1 << 16), \
(u32)address,
{ GUNCMD_INCLUDE, unk1, 0, (u32)address },
#define gunscript_random(probability, address) \
0x07000000 | probability, \
(u32)address,
{ GUNCMD_RANDOM, 0, probability, (u32)address },
#define gunscript_repeatuntilfull(triggerkey, dontloop, gototrigger) \
0x08000000 | triggerkey, \
(dontloop << 16) | gototrigger,
{ GUNCMD_REPEATUNTILFULL, 0, triggerkey, (dontloop << 16) | gototrigger },
#define gunscript_popoutsackofpills(unk1) \
0x09000000 | unk1, \
0,
{ GUNCMD_POPOUTSACKOFPILLS, 0, unk1 },
#define gunscript_playanimation(animation, direction, speed) \
0x0a000000 | animation, \
(direction << 16) | speed,
{ GUNCMD_PLAYANIMATION, 0, animation, (direction << 16) | speed },
#define gunscript_setsoundspeed(keyframe, speed) \
0x0b000000 | keyframe, \
speed,
{ GUNCMD_SETSOUNDSPEED, 0, keyframe, speed },
+12 -16
View File
@@ -2046,7 +2046,7 @@ struct hand {
/*0x0cdc*/ u32 unk0cdc;
/*0x0ce0*/ u32 unk0ce0;
/*0x0ce4*/ u32 attacktype;
/*0x0ce8*/ struct remoteminething *unk0ce8;
/*0x0ce8*/ struct guncmd *unk0ce8;
/*0x0cec*/ ubool unk0cec;
/*0x0cf0*/ struct coord unk0cf0;
/*0x0cfc*/ struct coord unk0cfc;
@@ -2087,7 +2087,7 @@ struct hand {
/*0x0d70*/ u32 unk0d70;
/*0x0d74*/ u16 unk0d74[4];
/*0x0d7c*/ u32 unk0d7c;
/*0x0d80*/ struct remoteminething *unk0d80;
/*0x0d80*/ struct guncmd *unk0d80;
/*0x0d84*/ struct audiohandle *audiohandle;
/*0x0d88*/ u32 ispare4;
/*0x0d8c*/ u32 ispare5;
@@ -2107,7 +2107,7 @@ struct hand {
/*0x0dc4*/ struct abmag abmag;
/*0x0dcc*/ u32 unk0dcc;
/*0x0dd0*/ u32 unk0dd0;
/*0x0dd4*/ u32 unk0dd4;
/*0x0dd4*/ s32 unk0dd4;
/*0x0dd8*/ u32 unk0dd8;
};
@@ -2772,7 +2772,7 @@ struct weaponfunc {
/*0x06*/ u8 unk06;
/*0x07*/ s8 ammoindex; // -1 = no ammo, 0 or 1 = index into weapon->ammos[]
/*0x08*/ struct inventory_menupos *menupos;
/*0x0c*/ u32 *fire_animation;
/*0x0c*/ struct guncmd *fire_animation;
/*0x10*/ u32 flags;
};
@@ -2893,7 +2893,7 @@ struct inventory_ammo {
u32 type;
u32 casingeject;
s16 clipsize;
u32 *reload_animation;
struct guncmd *reload_animation;
u32 style;
};
@@ -2905,10 +2905,10 @@ struct modelpartvisibility {
struct weapon {
/*0x00*/ u16 hi_model;
/*0x02*/ u16 lo_model;
/*0x04*/ u32 *equip_animation;
/*0x08*/ u32 *unequip_animation;
/*0x0c*/ u32 *pritosec_animation;
/*0x10*/ u32 *sectopri_animation;
/*0x04*/ struct guncmd *equip_animation;
/*0x08*/ struct guncmd *unequip_animation;
/*0x0c*/ struct guncmd *pritosec_animation;
/*0x10*/ struct guncmd *sectopri_animation;
/*0x14*/ void *functions[2];
/*0x1c*/ struct inventory_ammo *ammos[2];
/*0x24*/ struct inventory_typee *eptr;
@@ -6509,15 +6509,11 @@ struct var800a3180 {
/*0x64*/ u32 unk64;
};
struct remoteminething {
u8 unk00;
struct guncmd {
u8 type;
u8 unk01;
u16 unk02;
union {
u32 unk04;
struct remoteminething *next;
};
u32 unk04;
};
struct pakthing {