mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 23:02:03 +00:00
- SW: Split getinput()
's weapon code into its own static function.
This commit is contained in:
parent
0ef9da6a0c
commit
ce160f7ac1
1 changed files with 93 additions and 80 deletions
|
@ -67,9 +67,96 @@ void GameInterface::ResetFollowPos(bool)
|
||||||
Follow_posy = pp->posy;
|
Follow_posy = pp->posy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// handles movement
|
||||||
|
//
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
static void processWeapon(PLAYERp const pp)
|
||||||
|
{
|
||||||
|
USERp u = User[pp->PlayerSprite];
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (loc.getNewWeapon() == WeaponSel_Next)
|
||||||
|
{
|
||||||
|
short next_weapon = u->WeaponNum + 1;
|
||||||
|
short start_weapon;
|
||||||
|
|
||||||
|
start_weapon = u->WeaponNum + 1;
|
||||||
|
|
||||||
|
if (u->WeaponNum == WPN_SWORD)
|
||||||
|
start_weapon = WPN_STAR;
|
||||||
|
|
||||||
|
if (u->WeaponNum == WPN_FIST)
|
||||||
|
{
|
||||||
|
next_weapon = 14;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
next_weapon = -1;
|
||||||
|
for (i = start_weapon; TRUE; i++)
|
||||||
|
{
|
||||||
|
if (i >= MAX_WEAPONS_KEYS)
|
||||||
|
{
|
||||||
|
next_weapon = 13;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TEST(pp->WpnFlags, BIT(i)) && pp->WpnAmmo[i])
|
||||||
|
{
|
||||||
|
next_weapon = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loc.setNewWeapon(next_weapon + 1);
|
||||||
|
}
|
||||||
|
else if (loc.getNewWeapon() == WeaponSel_Prev)
|
||||||
|
{
|
||||||
|
USERp u = User[pp->PlayerSprite];
|
||||||
|
short prev_weapon = u->WeaponNum - 1;
|
||||||
|
short start_weapon;
|
||||||
|
|
||||||
|
start_weapon = u->WeaponNum - 1;
|
||||||
|
|
||||||
|
if (u->WeaponNum == WPN_SWORD)
|
||||||
|
{
|
||||||
|
prev_weapon = 13;
|
||||||
|
}
|
||||||
|
else if (u->WeaponNum == WPN_STAR)
|
||||||
|
{
|
||||||
|
prev_weapon = 14;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
prev_weapon = -1;
|
||||||
|
for (i = start_weapon; TRUE; i--)
|
||||||
|
{
|
||||||
|
if (i <= -1)
|
||||||
|
i = WPN_HEART;
|
||||||
|
|
||||||
|
if (TEST(pp->WpnFlags, BIT(i)) && pp->WpnAmmo[i])
|
||||||
|
{
|
||||||
|
prev_weapon = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
loc.setNewWeapon(prev_weapon + 1);
|
||||||
|
}
|
||||||
|
else if (loc.getNewWeapon() == WeaponSel_Alt)
|
||||||
|
{
|
||||||
|
USERp u = User[pp->PlayerSprite];
|
||||||
|
short const which_weapon = u->WeaponNum + 1;
|
||||||
|
loc.setNewWeapon(which_weapon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void getinput(ControlInfo* const hidInput)
|
static void getinput(ControlInfo* const hidInput)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
PLAYERp pp = Player + myconnectindex;
|
PLAYERp pp = Player + myconnectindex;
|
||||||
PLAYERp newpp = Player + myconnectindex;
|
PLAYERp newpp = Player + myconnectindex;
|
||||||
|
|
||||||
|
@ -277,92 +364,18 @@ static void getinput(ControlInfo* const hidInput)
|
||||||
|
|
||||||
loc.q16avel += q16angvel;
|
loc.q16avel += q16angvel;
|
||||||
loc.q16horz += q16horz;
|
loc.q16horz += q16horz;
|
||||||
|
|
||||||
|
|
||||||
if (loc.getNewWeapon() == WeaponSel_Next)
|
|
||||||
{
|
|
||||||
USERp u = User[pp->PlayerSprite];
|
|
||||||
short next_weapon = u->WeaponNum + 1;
|
|
||||||
short start_weapon;
|
|
||||||
|
|
||||||
start_weapon = u->WeaponNum + 1;
|
|
||||||
|
|
||||||
if (u->WeaponNum == WPN_SWORD)
|
|
||||||
start_weapon = WPN_STAR;
|
|
||||||
|
|
||||||
if (u->WeaponNum == WPN_FIST)
|
|
||||||
{
|
|
||||||
next_weapon = 14;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
next_weapon = -1;
|
|
||||||
for (i = start_weapon; TRUE; i++)
|
|
||||||
{
|
|
||||||
if (i >= MAX_WEAPONS_KEYS)
|
|
||||||
{
|
|
||||||
next_weapon = 13;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (TEST(pp->WpnFlags, BIT(i)) && pp->WpnAmmo[i])
|
|
||||||
{
|
|
||||||
next_weapon = i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
loc.setNewWeapon(next_weapon + 1);
|
|
||||||
}
|
|
||||||
else if (loc.getNewWeapon() == WeaponSel_Prev)
|
|
||||||
{
|
|
||||||
USERp u = User[pp->PlayerSprite];
|
|
||||||
short prev_weapon = u->WeaponNum - 1;
|
|
||||||
short start_weapon;
|
|
||||||
|
|
||||||
start_weapon = u->WeaponNum - 1;
|
|
||||||
|
|
||||||
if (u->WeaponNum == WPN_SWORD)
|
|
||||||
{
|
|
||||||
prev_weapon = 13;
|
|
||||||
}
|
|
||||||
else if (u->WeaponNum == WPN_STAR)
|
|
||||||
{
|
|
||||||
prev_weapon = 14;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
prev_weapon = -1;
|
|
||||||
for (i = start_weapon; TRUE; i--)
|
|
||||||
{
|
|
||||||
if (i <= -1)
|
|
||||||
i = WPN_HEART;
|
|
||||||
|
|
||||||
if (TEST(pp->WpnFlags, BIT(i)) && pp->WpnAmmo[i])
|
|
||||||
{
|
|
||||||
prev_weapon = i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
loc.setNewWeapon(prev_weapon + 1);
|
|
||||||
}
|
|
||||||
else if (loc.getNewWeapon() == WeaponSel_Alt)
|
|
||||||
{
|
|
||||||
USERp u = User[pp->PlayerSprite];
|
|
||||||
short const which_weapon = u->WeaponNum + 1;
|
|
||||||
loc.setNewWeapon(which_weapon);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameInterface::GetInput(InputPacket *packet, ControlInfo* const hidInput)
|
void GameInterface::GetInput(InputPacket *packet, ControlInfo* const hidInput)
|
||||||
{
|
{
|
||||||
getinput(hidInput);
|
|
||||||
if (packet)
|
|
||||||
{
|
|
||||||
PLAYERp pp = &Player[myconnectindex];
|
PLAYERp pp = &Player[myconnectindex];
|
||||||
|
|
||||||
|
getinput(hidInput);
|
||||||
|
|
||||||
|
processWeapon(pp);
|
||||||
|
|
||||||
|
if (packet)
|
||||||
|
{
|
||||||
auto fvel = loc.fvel;
|
auto fvel = loc.fvel;
|
||||||
auto svel = loc.svel;
|
auto svel = loc.svel;
|
||||||
auto ang = FixedToInt(pp->camq16ang);
|
auto ang = FixedToInt(pp->camq16ang);
|
||||||
|
|
Loading…
Reference in a new issue