Merge pull request #203 from NeonNyan/port

fixup: quick detonate
This commit is contained in:
fgsfds authored and GitHub committed 2023-10-23 20:33:23 +02:00
commit 790d44afb0
2 files changed
+17 -22

No files matched your search

+15 -22
View File
@@ -43,6 +43,20 @@
#include "input.h"
#include "video.h"
static void bgunProcessQuickDetonate(struct movedata *data, u32 c1buttons, u32 c1buttonsthisframe, u32 buttons1, u32 buttons2) {
if ((((c1buttons & (buttons1)) && (c1buttonsthisframe & (buttons2)))
|| ((c1buttons & (buttons2)) && (c1buttonsthisframe & (buttons1))))
&& bgunGetWeaponNum(HAND_RIGHT) == WEAPON_REMOTEMINE) {
data->detonating = true;
data->weaponbackoffset = 0;
data->weaponforwardoffset = 0;
data->btapcount = 0;
amClose();
g_Vars.currentplayer->invdowntime = -2;
g_Vars.currentplayer->usedowntime = -2;
}
}
static void bgunProcessInputAltButton(struct movedata *data, s8 contpad, s32 i)
{
s32 buttons = joyGetButtonsOnSample(i, contpad, 0xffffffff);
@@ -1734,28 +1748,7 @@ void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool i
g_Vars.currentplayer->usedowntime = -2;
}
#else
if ((((c1buttons & BUTTON_RADIAL) && (c1buttonsthisframe & BUTTON_CANCEL_USE))
|| ((c1buttons & BUTTON_CANCEL_USE) && (c1buttonsthisframe & BUTTON_RADIAL)))
&& weaponnum == WEAPON_REMOTEMINE) {
movedata.detonating = true;
movedata.weaponbackoffset = 0;
movedata.weaponforwardoffset = 0;
movedata.btapcount = 0;
amClose();
g_Vars.currentplayer->invdowntime = -2;
g_Vars.currentplayer->usedowntime = -2;
g_Vars.currentplayer->amdowntime = 0;
}
if ((((c1buttons & BUTTON_WPNBACK) && (c1buttonsthisframe & BUTTON_CANCEL_USE))
|| ((c1buttons & BUTTON_CANCEL_USE) && (c1buttonsthisframe & BUTTON_WPNBACK)))
&& weaponnum == WEAPON_REMOTEMINE) {
movedata.detonating = true;
movedata.weaponbackoffset = 0;
movedata.weaponforwardoffset = 0;
movedata.btapcount = 0;
g_Vars.currentplayer->invdowntime = -2;
g_Vars.currentplayer->usedowntime = -2;
}
bgunProcessQuickDetonate(&movedata, c1buttons, c1buttonsthisframe, (BUTTON_CANCEL_USE | BUTTON_ACCEPT_USE), (BUTTON_WPNBACK | BUTTON_RADIAL));
#endif
}
+2
View File
@@ -21,6 +21,8 @@ void bmoveGrabProp(struct prop *prop);
void bmoveSetMode(u32 movemode);
void bmoveSetModeForAllPlayers(u32 movemode);
void bmoveHandleActivate(void);
static void bgunProcessQuickDetonate(struct movedata *data, u32 c1buttons, u32 c1buttonsthisframe, u32 buttons1, u32 buttons2);
static void bgunProcessInputAltButton(struct movedata *data, s8 contpad, s32 i);
void bmoveApplyMoveData(struct movedata *data);
void bmoveUpdateSpeedTheta(void);
f32 bmoveGetSpeedVertaLimit(f32 value);