From 2840303e35b01cd63da2af05b9b20ef79773dc10 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 5 Sep 2022 00:51:45 +0200 Subject: [PATCH] - some function separators in player.cpp, panel.cpp and ninja.cpp --- source/games/sw/src/ninja.cpp | 90 +++ source/games/sw/src/panel.cpp | 1099 +++++++++++++++++++++++++++++++- source/games/sw/src/player.cpp | 192 +++++- 3 files changed, 1373 insertions(+), 8 deletions(-) diff --git a/source/games/sw/src/ninja.cpp b/source/games/sw/src/ninja.cpp index 38011c199..dfe5d6965 100644 --- a/source/games/sw/src/ninja.cpp +++ b/source/games/sw/src/ninja.cpp @@ -1815,6 +1815,12 @@ ACTOR_ACTION_SET PlayerNinjaActionSet = */ +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int SetupNinja(DSWActor* actor) { ANIMATOR DoActorDecide; @@ -1929,6 +1935,12 @@ int SetupNinja(DSWActor* actor) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoNinjaHariKari(DSWActor* actor) { UpdateSinglePlayKills(actor); @@ -1954,6 +1966,12 @@ int DoNinjaHariKari(DSWActor* actor) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoNinjaGrabThroat(DSWActor* actor) { if ((actor->user.WaitTics -= ACTORMOVETICS) <= 0) @@ -1987,6 +2005,12 @@ int DoNinjaGrabThroat(DSWActor* actor) */ +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoNinjaMove(DSWActor* actor) { if (actor->user.Flags2 & (SPR2_DYING)) @@ -2031,6 +2055,12 @@ int DoNinjaMove(DSWActor* actor) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int NinjaJumpActionFunc(DSWActor* actor) { // if cannot move the sprite @@ -2069,6 +2099,11 @@ int NullNinja(DSWActor* actor) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- int DoNinjaPain(DSWActor* actor) { @@ -2089,6 +2124,12 @@ int DoNinjaPain(DSWActor* actor) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoNinjaSpecial(DSWActor* actor) { if (actor->user.spal == PALETTE_PLAYER5) @@ -2101,6 +2142,12 @@ int DoNinjaSpecial(DSWActor* actor) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int CheckFire(DSWActor* actor) { if (!CanSeePlayer(actor)) @@ -2131,6 +2178,12 @@ void InitAllPlayerSprites(void) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerLevelReset(PLAYER* pp) { DSWActor* actor = pp->actor; @@ -2170,6 +2223,12 @@ void PlayerLevelReset(PLAYER* pp) DamageData[actor->user.WeaponNum].Init(pp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerDeathReset(PLAYER* pp) { DSWActor* actor = pp->actor; @@ -2234,6 +2293,12 @@ void PlayerDeathReset(PLAYER* pp) DamageData[actor->user.WeaponNum].Init(pp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerPanelSetup(void) { short pnum; @@ -2250,6 +2315,12 @@ void PlayerPanelSetup(void) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerGameReset(PLAYER* pp) { DSWActor* actor = pp->actor; @@ -2309,6 +2380,12 @@ void PlayerGameReset(PLAYER* pp) extern ACTOR_ACTION_SET PlayerNinjaActionSet; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitPlayerSprite(PLAYER* pp) { int pnum = int(pp - Player); @@ -2377,6 +2454,12 @@ void InitPlayerSprite(PLAYER* pp) pp->DeathType = 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpawnPlayerUnderSprite(PLAYER* pp) { DSWActor* plActor = pp->actor; @@ -2408,6 +2491,13 @@ void SpawnPlayerUnderSprite(PLAYER* pp) actor->spr.yrepeat = plActor->spr.yrepeat; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + + #include "saveable.h" static saveable_code saveable_ninja_code[] = diff --git a/source/games/sw/src/panel.cpp b/source/games/sw/src/panel.cpp index ee098df84..540fb9bda 100644 --- a/source/games/sw/src/panel.cpp +++ b/source/games/sw/src/panel.cpp @@ -107,6 +107,12 @@ void pNullAnimator(PANEL_SPRITE*) return; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + PANEL_SPRITE* pFindMatchingSprite(PLAYER* pp, int x, int y, short pri) { PANEL_SPRITE* next; @@ -127,6 +133,12 @@ PANEL_SPRITE* pFindMatchingSprite(PLAYER* pp, int x, int y, short pri) return nullptr; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + PANEL_SPRITE* pFindMatchingSpriteID(PLAYER* pp, short id, int x, int y, short pri) { PANEL_SPRITE* next; @@ -147,6 +159,12 @@ PANEL_SPRITE* pFindMatchingSpriteID(PLAYER* pp, short id, int x, int y, short pr return nullptr; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + bool pKillScreenSpiteIDs(PLAYER* pp, short id) { PANEL_SPRITE* next; @@ -167,7 +185,11 @@ bool pKillScreenSpiteIDs(PLAYER* pp, short id) } +//--------------------------------------------------------------------------- +// // Used to sprites in the view at correct aspect ratio and x,y location. +// +//--------------------------------------------------------------------------- void pSetSuicide(PANEL_SPRITE* psp) { @@ -181,7 +203,12 @@ void pToggleCrosshair(void) cl_crosshair = !cl_crosshair; } +//--------------------------------------------------------------------------- +// // Player has a chance of yelling out during combat, when firing a weapon. +// +//--------------------------------------------------------------------------- + void DoPlayerChooseYell(PLAYER* pp) { int choose_snd = 0; @@ -194,6 +221,12 @@ void DoPlayerChooseYell(PLAYER* pp) PlayerSound(PlayerYellVocs[choose_snd], v3df_follow|v3df_dontpan,pp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void ArmorCalc(int damage_amt, int *armor_damage, int *player_damage) { int damage_percent; @@ -214,6 +247,12 @@ void ArmorCalc(int damage_amt, int *armor_damage, int *player_damage) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerUpdateHealth(PLAYER* pp, short value) { DSWActor* plActor = pp->actor; @@ -318,6 +357,12 @@ void PlayerUpdateHealth(PLAYER* pp, short value) plActor->user.Health = pp->MaxHealth; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerUpdateAmmo(PLAYER* pp, short UpdateWeaponNum, short value) { short x,y; @@ -356,6 +401,12 @@ void PlayerUpdateAmmo(PLAYER* pp, short UpdateWeaponNum, short value) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerUpdateWeapon(PLAYER* pp, short WeaponNum) { DSWActor* plActor = pp->actor; @@ -367,6 +418,12 @@ void PlayerUpdateWeapon(PLAYER* pp, short WeaponNum) plActor->user.WeaponNum = int8_t(WeaponNum); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerUpdateKills(PLAYER* pp, short value) { if (Prediction) @@ -404,6 +461,12 @@ void PlayerUpdateKills(PLAYER* pp, short value) pp->Kills = -99; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerUpdateArmor(PLAYER* pp, short value) { if (Prediction) @@ -421,6 +484,12 @@ void PlayerUpdateArmor(PLAYER* pp, short value) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int WeaponOperate(PLAYER* pp) { short weapon; @@ -639,6 +708,12 @@ int WeaponOperate(PLAYER* pp) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + bool WeaponOK(PLAYER* pp) { short min_ammo, WeaponNum, FindWeaponNum; @@ -713,11 +788,12 @@ bool WeaponOK(PLAYER* pp) return true; } -////////////////////////////////////////////////////////////////////////////////////////// +//--------------------------------------------------------------------------- // // X/Y POSITION INLINES // -////////////////////////////////////////////////////////////////////////////////////////// +//--------------------------------------------------------------------------- + inline double pspSinVel(PANEL_SPRITE* const psp, int const ang = INT_MAX) { @@ -751,6 +827,12 @@ static short SwordAngTable[] = short SwordAng = 0; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SwordBlur(PANEL_SPRITE* psp) { psp->kill_tics -= synctics; @@ -771,6 +853,12 @@ void SwordBlur(PANEL_SPRITE* psp) InsertPanelSprite(psp->PlayerP, psp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpawnSwordBlur(PANEL_SPRITE* psp) { if (cl_nomeleeblur) return; @@ -802,6 +890,12 @@ void SpawnSwordBlur(PANEL_SPRITE* psp) nsp->flags |= (PANF_TRANSLUCENT); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordPresent(PANEL_SPRITE* psp); void pSwordRetract(PANEL_SPRITE* psp); void pSwordAction(PANEL_SPRITE* psp); @@ -876,6 +970,12 @@ PANEL_STATE ps_RetractSword[] = #define SWORD_POWER_VEL 2500 +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpecialUziRetractFunc(PANEL_SPRITE* psp) { psp->backupy(); @@ -887,6 +987,12 @@ void SpecialUziRetractFunc(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void RetractCurWpn(PLAYER* pp) { // Retract old weapon @@ -924,6 +1030,12 @@ void RetractCurWpn(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponSword(PLAYER* pp) { PANEL_SPRITE* psp; @@ -992,6 +1104,12 @@ void InitWeaponSword(PLAYER* pp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordPresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -1008,9 +1126,11 @@ void pSwordPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- // // LEFT SWING // +//--------------------------------------------------------------------------- void pSwordSlide(PANEL_SPRITE* psp) { @@ -1024,6 +1144,12 @@ void pSwordSlide(PANEL_SPRITE* psp) psp->vel += 24 * synctics; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordSlideDown(PANEL_SPRITE* psp) { SpawnSwordBlur(psp); @@ -1066,9 +1192,11 @@ void pSwordSlideDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- // // RIGHT SWING // +//--------------------------------------------------------------------------- void pSwordSlideR(PANEL_SPRITE* psp) { @@ -1082,6 +1210,12 @@ void pSwordSlideR(PANEL_SPRITE* psp) psp->vel += 24 * synctics; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordSlideDownR(PANEL_SPRITE* psp) { SpawnSwordBlur(psp); @@ -1124,6 +1258,12 @@ void pSwordSlideDownR(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -1136,6 +1276,12 @@ void pSwordBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -1152,6 +1298,12 @@ void pSwordHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -1188,19 +1340,29 @@ void pSwordRest(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordAction(PANEL_SPRITE* psp) { pSwordBobSetup(psp); pWeaponBob(psp, PLAYER_MOVING(psp->PlayerP)); } - void pSwordAttack(PANEL_SPRITE* psp) { - InitSwordAttack(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSwordRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -1299,6 +1461,12 @@ PANEL_STATE ps_RetractStar[] = #define STAR_YOFF 208 #define STAR_XOFF (160+80) +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pStarRestTest(PANEL_SPRITE* psp) { if (psp->PlayerP->input.actions & SB_FIRE) @@ -1318,6 +1486,12 @@ void pStarRestTest(PANEL_SPRITE* psp) pSetState(psp, psp->RestState); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponStar(PLAYER* pp) { PANEL_SPRITE* psp = nullptr; @@ -1381,6 +1555,12 @@ void InitWeaponStar(PLAYER* pp) psp->PlayerP->KeyPressBits |= SB_FIRE; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pStarPresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -1400,6 +1580,12 @@ void pStarPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pStarBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -1424,6 +1610,12 @@ void pLStarBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 16; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pStarHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -1439,6 +1631,12 @@ void pStarHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pStarRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -1469,18 +1667,29 @@ void pStarRest(PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pStarAction(PANEL_SPRITE* psp) { pStarBobSetup(psp); pWeaponBob(psp, PLAYER_MOVING(psp->PlayerP)); } - void pStarThrow(PANEL_SPRITE* psp) { InitStar(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pStarRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -1653,6 +1862,12 @@ PANEL_STATE ps_UziDoneReload[] = {ID_UziEject0, RELOAD_UZI_RATE, pUziDoneReload, &ps_UziDoneReload[0], 0,0,0} }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #define CHAMBER_REST 0 #define CHAMBER_FIRE 1 #define CHAMBER_RELOAD 2 @@ -1698,9 +1913,12 @@ void pUziOverlays(PANEL_SPRITE* psp, short mode) #define UZI_RELOAD_YOFF 200 +//--------------------------------------------------------------------------- // // Uzi Reload // +//--------------------------------------------------------------------------- + void pUziEjectDown(PANEL_SPRITE* gun) { @@ -1714,6 +1932,12 @@ void pUziEjectDown(PANEL_SPRITE* gun) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziEjectUp(PANEL_SPRITE* gun) { @@ -1729,6 +1953,11 @@ void pUziEjectUp(PANEL_SPRITE* gun) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- void pSpawnUziClip(PANEL_SPRITE* gun) { @@ -1757,6 +1986,12 @@ void pSpawnUziClip(PANEL_SPRITE* gun) New->sibling = gun; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSpawnUziReload(PANEL_SPRITE* oclip) { PANEL_SPRITE* nclip; @@ -1775,6 +2010,12 @@ void pSpawnUziReload(PANEL_SPRITE* oclip) nclip->sibling = oclip->sibling; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziReload(PANEL_SPRITE* nclip) { PANEL_SPRITE* gun = nclip->sibling; @@ -1823,6 +2064,12 @@ void pUziReload(PANEL_SPRITE* nclip) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziReloadRetract(PANEL_SPRITE* nclip) { PANEL_SPRITE* gun = nclip->sibling; @@ -1849,6 +2096,12 @@ void pUziReloadRetract(PANEL_SPRITE* nclip) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziDoneReload(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -1893,6 +2146,12 @@ void pUziDoneReload(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziClip(PANEL_SPRITE* oclip) { @@ -1926,9 +2185,11 @@ void pUziClip(PANEL_SPRITE* oclip) } } +//--------------------------------------------------------------------------- // // Uzi Basic Stuff // +//--------------------------------------------------------------------------- void InitWeaponUzi(PLAYER* pp) { @@ -2010,6 +2271,12 @@ void InitWeaponUzi(PLAYER* pp) psp->PlayerP->KeyPressBits |= SB_FIRE; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + PANEL_SPRITE* InitWeaponUzi2(PANEL_SPRITE* uzi_orig) { PANEL_SPRITE* New; @@ -2045,6 +2312,12 @@ PANEL_SPRITE* InitWeaponUzi2(PANEL_SPRITE* uzi_orig) return New; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + PANEL_SPRITE* InitWeaponUziSecondaryReload(PANEL_SPRITE* uzi_orig) { PANEL_SPRITE* New; @@ -2071,6 +2344,12 @@ PANEL_SPRITE* InitWeaponUziSecondaryReload(PANEL_SPRITE* uzi_orig) return New; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziPresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -2095,7 +2374,12 @@ void pUziPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// // same as pUziPresent only faster for reload sequence +// +//--------------------------------------------------------------------------- + void pUziPresentReload(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -2115,6 +2399,12 @@ void pUziPresentReload(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -2127,6 +2417,12 @@ void pUziBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziStartReload(PANEL_SPRITE* psp) { SetVisNorm(); @@ -2149,6 +2445,12 @@ void pUziStartReload(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -2172,6 +2474,12 @@ void pUziHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziRest(PANEL_SPRITE* psp) { bool shooting; @@ -2223,6 +2531,12 @@ void pUziRest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziAction(PANEL_SPRITE* psp) { static int alternate = 0; @@ -2258,6 +2572,12 @@ void pUziAction(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziFire(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -2302,6 +2622,12 @@ void pUziFire(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziRetract(PANEL_SPRITE* psp) { // PANEL_SPRITE* sib = psp->sibling; @@ -2379,6 +2705,12 @@ PANEL_STATE ps_Uzi2Shell[] = {ID_Uzi2Shell5, UZI_SHELL_RATE, pUziShell, &ps_Uzi2Shell[0], psf_Xflip, 0,0}, }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpawnUziShell(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -2399,6 +2731,12 @@ void SpawnUziShell(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pUziShell(PANEL_SPRITE* psp) { psp->backupx(); @@ -2591,6 +2929,12 @@ PANEL_STATE ps_RetractShotgun[] = #define SHOTGUN_YOFF 200 #define SHOTGUN_XOFF (160+42) +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponShotgun(PLAYER* pp) { PANEL_SPRITE* psp = nullptr; @@ -2638,12 +2982,24 @@ void InitWeaponShotgun(PLAYER* pp) psp->PlayerP->KeyPressBits |= SB_FIRE; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunSetRecoil(PANEL_SPRITE* psp) { psp->vel = 900; psp->ang = NORM_ANGLE(-256); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunRecoilDown(PANEL_SPRITE* psp) { int targetvel = psp->PlayerP->WpnShotgunType == 1 ? 890 : 780; @@ -2664,6 +3020,12 @@ void pShotgunRecoilDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunRecoilUp(PANEL_SPRITE* psp) { psp->backupcoords(); @@ -2685,6 +3047,12 @@ void pShotgunRecoilUp(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #if 1 void pShotgunReloadDown(PANEL_SPRITE* psp) { @@ -2703,6 +3071,12 @@ void pShotgunReloadDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunReloadUp(PANEL_SPRITE* psp) { psp->opos.X = psp->pos.X = SHOTGUN_XOFF; @@ -2723,6 +3097,12 @@ void pShotgunReloadUp(PANEL_SPRITE* psp) } #endif +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunPresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -2744,6 +3124,12 @@ void pShotgunPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -2799,6 +3185,12 @@ PANEL_STATE ps_ShotgunFlash[] = }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -2814,6 +3206,12 @@ void pShotgunHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #if 1 bool pShotgunReloadTest(PANEL_SPRITE* psp) { @@ -2833,6 +3231,12 @@ bool pShotgunReloadTest(PANEL_SPRITE* psp) } #endif +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -2881,6 +3285,12 @@ void pShotgunRest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunRestTest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -2914,6 +3324,12 @@ void pShotgunRestTest(PANEL_SPRITE* psp) pSetState(psp, psp->RestState); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunAction(PANEL_SPRITE* psp) { pShotgunBobSetup(psp); @@ -2928,6 +3344,12 @@ void pShotgunFire(PANEL_SPRITE* psp) //SpawnShotgunShell(psp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pShotgunRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -3061,6 +3483,12 @@ PANEL_STATE ps_RetractRail[] = //#define RAIL_XOFF (160+60) #define RAIL_XOFF (160+6) +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponRail(PLAYER* pp) { PANEL_SPRITE* psp = nullptr; @@ -3110,12 +3538,24 @@ void InitWeaponRail(PLAYER* pp) psp->PlayerP->KeyPressBits |= SB_FIRE; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailSetRecoil(PANEL_SPRITE* psp) { psp->vel = 900; psp->ang = NORM_ANGLE(-256); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailRecoilDown(PANEL_SPRITE* psp) { psp->backupcoords(); @@ -3134,6 +3574,12 @@ void pRailRecoilDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailRecoilUp(PANEL_SPRITE* psp) { psp->backupcoords(); @@ -3155,6 +3601,12 @@ void pRailRecoilUp(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailPresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -3176,6 +3628,12 @@ void pRailPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -3188,6 +3646,12 @@ void pRailBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -3203,6 +3667,12 @@ void pRailHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailOkTest(PANEL_SPRITE* psp) { if (pWeaponHideKeys(psp, ps_RailHide)) @@ -3211,6 +3681,12 @@ void pRailOkTest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -3245,6 +3721,12 @@ void pRailRest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailRestTest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -3272,6 +3754,12 @@ void pRailRestTest(PANEL_SPRITE* psp) pSetState(psp, psp->RestState); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailAction(PANEL_SPRITE* psp) { pRailBobSetup(psp); @@ -3279,12 +3767,24 @@ void pRailAction(PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailFire(PANEL_SPRITE* psp) { SpawnVis(psp->PlayerP->actor, nullptr, {}, 16); InitRail(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pRailRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -3457,6 +3957,12 @@ PANEL_STATE* HotheadTurnStates[] = ps_HotheadTurnNapalm }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #define FIREBALL_MODE 0 #define RING_MODE 1 #define NAPALM_MODE 2 @@ -3479,6 +3985,12 @@ void pHotHeadOverlays(PANEL_SPRITE* psp, short mode) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #define HOTHEAD_BOB_X_AMT 10 #define HOTHEAD_XOFF (200 + HOTHEAD_BOB_X_AMT + 6) @@ -3535,6 +4047,12 @@ void InitWeaponHothead(PLAYER* pp) PlaySound(DIGI_GRDALERT, pp, v3df_follow|v3df_dontpan); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHotheadRestTest(PANEL_SPRITE* psp) { if (psp->PlayerP->input.actions & SB_FIRE) @@ -3565,6 +4083,12 @@ void pHotheadRestTest(PANEL_SPRITE* psp) psp->over[0].yoff = HOTHEAD_FINGER_YOFF; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHotheadPresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -3582,6 +4106,12 @@ void pHotheadPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHotheadBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -3594,6 +4124,12 @@ void pHotheadBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 4; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHotheadHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -3610,6 +4146,11 @@ void pHotheadHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- void pHotheadRest(PANEL_SPRITE* psp) { @@ -3659,6 +4200,12 @@ void pHotheadRest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHotheadAction(PANEL_SPRITE* psp) { bool shooting = (psp->PlayerP->input.actions & SB_FIRE) && (psp->PlayerP->KeyPressBits & SB_FIRE); @@ -3670,6 +4217,12 @@ void pHotheadAction(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHotheadAttack(PANEL_SPRITE* psp) { switch (psp->PlayerP->WpnFlameType) @@ -3689,6 +4242,12 @@ void pHotheadAttack(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHotheadRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -3734,6 +4293,12 @@ PANEL_STATE ps_OnFire[] = #define ON_FIRE_Y_TOP 190 #define ON_FIRE_Y_BOT 230 +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpawnOnFire(PLAYER* pp) { PANEL_SPRITE* fire; @@ -3747,6 +4312,12 @@ void SpawnOnFire(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pOnFire(PANEL_SPRITE* psp) { DSWActor* plActor = psp->PlayerP->actor; @@ -3884,6 +4455,12 @@ PANEL_STATE ps_RetractMicro[] = {ID_MicroPresent0, Micro_REST_RATE, pMicroRetract, &ps_RetractMicro[0], 0,0,0} }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #define MICRO_BOB_X_AMT 10 #define MICRO_YOFF 205 #define MICRO_XOFF (150+MICRO_BOB_X_AMT) @@ -3894,6 +4471,12 @@ void pMicroSetRecoil(PANEL_SPRITE* psp) psp->ang = NORM_ANGLE(-256); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponMicro(PLAYER* pp) { PANEL_SPRITE* psp; @@ -3949,6 +4532,12 @@ void InitWeaponMicro(PLAYER* pp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroRecoilDown(PANEL_SPRITE* psp) { psp->backupcoords(); @@ -3967,6 +4556,12 @@ void pMicroRecoilDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroRecoilUp(PANEL_SPRITE* psp) { psp->backupcoords(); @@ -3988,6 +4583,12 @@ void pMicroRecoilUp(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroPresent(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -4017,6 +4618,12 @@ void pMicroPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -4029,6 +4636,12 @@ void pMicroBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -4045,6 +4658,12 @@ void pMicroHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + bool pMicroOverlays(PANEL_SPRITE* psp) { #define MICRO_SIGHT_XOFF 29 @@ -4110,6 +4729,12 @@ bool pMicroOverlays(PANEL_SPRITE* psp) return false; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + PANEL_STATE ps_MicroHeatFlash[] = { {MICRO_HEAT, 30, nullptr, &ps_MicroHeatFlash[1], 0,0,0}, @@ -4138,6 +4763,12 @@ PANEL_STATE ps_MicroNukeFlash[] = {0, 0, nullptr, nullptr, 0,0,0} }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroRest(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -4203,6 +4834,12 @@ void pMicroRest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroAction(PANEL_SPRITE* psp) { pMicroBobSetup(psp); @@ -4210,6 +4847,12 @@ void pMicroAction(PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroFire(PANEL_SPRITE* psp) { SpawnVis(psp->PlayerP->actor, nullptr, {}, 20); @@ -4235,6 +4878,12 @@ void pMicroFire(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -4250,6 +4899,12 @@ void pMicroRetract(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pNukeAction(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -4271,6 +4926,12 @@ void pNukeAction(PANEL_SPRITE* psp) pSetState(psp, psp->PresentState); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMicroStandBy(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -4360,6 +5021,12 @@ PANEL_STATE ps_RetractHeart[] = #define HEART_YOFF 212 +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponHeart(PLAYER* pp) { PANEL_SPRITE* psp; @@ -4405,6 +5072,12 @@ void InitWeaponHeart(PLAYER* pp) psp->PlayerP->KeyPressBits |= SB_FIRE; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartPresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -4421,6 +5094,12 @@ void pHeartPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -4433,6 +5112,12 @@ void pHeartBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -4448,6 +5133,12 @@ void pHeartHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -4486,6 +5177,12 @@ void pHeartRest(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartAction(PANEL_SPRITE* psp) { psp->bobpos.Y -= synctics; @@ -4499,6 +5196,12 @@ void pHeartAction(PANEL_SPRITE* psp) pWeaponBob(psp, PLAYER_MOVING(psp->PlayerP)); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartActionBlood(PANEL_SPRITE* psp) { psp->bobpos.Y -= synctics; @@ -4519,6 +5222,12 @@ void pHeartActionBlood(PANEL_SPRITE* psp) void InitHeartAttack(PLAYER* pp); +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartAttack(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -4532,6 +5241,12 @@ void pHeartAttack(PANEL_SPRITE* psp) InitHeartAttack(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -4581,6 +5296,12 @@ PANEL_STATE ps_HeartBloodSmall[] = {ID_HeartBlood5, HEART_BLOOD_SMALL_RATE, pSuicide, &ps_HeartBlood[6], 0,0,0}, }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpawnHeartBlood(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -4620,6 +5341,12 @@ void SpawnHeartBlood(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpawnSmallHeartBlood(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -4655,6 +5382,12 @@ void SpawnSmallHeartBlood(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pHeartBlood(PANEL_SPRITE* psp) { if (psp->flags & (PANF_JUMPING)) @@ -4676,6 +5409,12 @@ void pHeartBlood(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoBeginPanelJump(PANEL_SPRITE* psp) { #define PANEL_JUMP_GRAVITY FIXED(0,8000) @@ -4691,6 +5430,12 @@ int DoBeginPanelJump(PANEL_SPRITE* psp) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoPanelJump(PANEL_SPRITE* psp) { // adjust jump speed by gravity - if jump speed greater than 0 player @@ -4710,6 +5455,12 @@ int DoPanelJump(PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoBeginPanelFall(PANEL_SPRITE* psp) { psp->flags |= (PANF_FALLING); @@ -4723,6 +5474,12 @@ int DoBeginPanelFall(PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoPanelFall(PANEL_SPRITE* psp) { // adjust jump speed by gravity @@ -4799,6 +5556,12 @@ PANEL_STATE ps_RetractGrenade[] = {ID_GrenadePresent0, Grenade_REST_RATE, pGrenadeRetract, &ps_RetractGrenade[0], 0,0,0} }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #define GRENADE_YOFF 200 #define GRENADE_XOFF (160+20) @@ -4818,6 +5581,12 @@ void pGrenadePresentSetup(PANEL_SPRITE* psp) psp->vel = 680; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponGrenade(PLAYER* pp) { PANEL_SPRITE* psp; @@ -4864,6 +5633,12 @@ void InitWeaponGrenade(PLAYER* pp) psp->PlayerP->KeyPressBits |= SB_FIRE; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadeRecoilDown(PANEL_SPRITE* psp) { // int picnum = psp->picndx; @@ -4887,6 +5662,12 @@ void pGrenadeRecoilDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadeRecoilUp(PANEL_SPRITE* psp) { psp->backupcoords(); @@ -4908,6 +5689,12 @@ void pGrenadeRecoilUp(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadePresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -4934,6 +5721,12 @@ void pGrenadePresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadeBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -4946,6 +5739,12 @@ void pGrenadeBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadeHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -4964,6 +5763,12 @@ void pGrenadeHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadeRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -4991,6 +5796,12 @@ void pGrenadeRest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadeAction(PANEL_SPRITE* psp) { pGrenadeBobSetup(psp); @@ -5004,6 +5815,12 @@ void pGrenadeFire(PANEL_SPRITE* psp) InitGrenade(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pGrenadeRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -5073,6 +5890,12 @@ PANEL_STATE ps_RetractMine[] = {ID_MinePresent0, Mine_REST_RATE, pMineRetract, &ps_RetractMine[0], 0,0,0} }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + #define MINE_YOFF 200 //#define MINE_XOFF (160+20) #define MINE_XOFF (160+50) @@ -5123,6 +5946,12 @@ void InitWeaponMine(PLAYER* pp) psp->PlayerP->KeyPressBits |= SB_FIRE; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineUpSound(PANEL_SPRITE* psp) { PLAYER* pp = psp->PlayerP; @@ -5130,6 +5959,12 @@ void pMineUpSound(PANEL_SPRITE* psp) PlaySound(DIGI_MINE_UP, pp, v3df_follow); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineLower(PANEL_SPRITE* psp) { psp->backupy(); @@ -5144,6 +5979,12 @@ void pMineLower(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineRaise(PANEL_SPRITE* psp) { psp->backupy(); @@ -5156,6 +5997,12 @@ void pMineRaise(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMinePresent(PANEL_SPRITE* psp) { if (psp->PlayerP->Flags & (PF_WEAPON_RETRACT)) @@ -5173,6 +6020,12 @@ void pMinePresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -5185,6 +6038,12 @@ void pMineBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -5201,6 +6060,12 @@ void pMineHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -5228,6 +6093,12 @@ void pMineRest(PANEL_SPRITE* psp) WeaponOK(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineAction(PANEL_SPRITE* psp) { pMineBobSetup(psp); @@ -5235,11 +6106,23 @@ void pMineAction(PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineThrow(PANEL_SPRITE* psp) { InitMine(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pMineRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -5348,6 +6231,12 @@ PANEL_STATE ps_ChopsRetract[] = #define CHOPS_YOFF 200 #define CHOPS_XOFF (160+20) +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitChops(PLAYER* pp) { PANEL_SPRITE* psp; @@ -5378,6 +6267,12 @@ void InitChops(PLAYER* pp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pChopsClick(PANEL_SPRITE* psp) { int16_t rnd_rng; @@ -5392,6 +6287,12 @@ void pChopsClick(PANEL_SPRITE* psp) PlayerSound(DIGI_SHISEISI,v3df_follow|v3df_dontpan,psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pChopsUp(PANEL_SPRITE* psp) { psp->backupy(); @@ -5404,6 +6305,12 @@ void pChopsUp(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pChopsDown(PANEL_SPRITE* psp) { psp->backupy(); @@ -5416,6 +6323,12 @@ void pChopsDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pChopsDownSlow(PANEL_SPRITE* psp) { psp->backupy(); @@ -5428,6 +6341,12 @@ void pChopsDownSlow(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pChopsShake(PANEL_SPRITE* psp) { psp->backupcoords(); @@ -5441,6 +6360,12 @@ void pChopsShake(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pChopsWait(PANEL_SPRITE* psp) { //if (!paused && RANDOM_P2(1024) < 10) @@ -5455,6 +6380,12 @@ void pChopsWait(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void ChopsSetRetract(PLAYER* pp) { if (pp == nullptr || pp->Chops == nullptr) @@ -5463,6 +6394,12 @@ void ChopsSetRetract(PLAYER* pp) pSetState(pp->Chops, pp->Chops->RetractState); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pChopsRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -5541,6 +6478,12 @@ void FistBlur(PANEL_SPRITE* psp) InsertPanelSprite(psp->PlayerP, psp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SpawnFistBlur(PANEL_SPRITE* psp) { if (cl_nomeleeblur) return; @@ -5572,6 +6515,12 @@ void SpawnFistBlur(PANEL_SPRITE* psp) nsp->flags |= (PANF_TRANSLUCENT); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistPresent(PANEL_SPRITE* psp); void pFistRetract(PANEL_SPRITE* psp); void pFistAction(PANEL_SPRITE* psp); @@ -5709,6 +6658,12 @@ PANEL_STATE ps_RetractFist[] = #define FIST_VEL 3000 #define FIST_POWER_VEL 3000 +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InitWeaponFist(PLAYER* pp) { PANEL_SPRITE* psp; @@ -5767,6 +6722,12 @@ void InitWeaponFist(PLAYER* pp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistPresent(PANEL_SPRITE* psp) { int rnd; @@ -5797,9 +6758,11 @@ void pFistPresent(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- // // LEFT SWING // +//--------------------------------------------------------------------------- void pFistSlide(PANEL_SPRITE* psp) { @@ -5814,6 +6777,12 @@ void pFistSlide(PANEL_SPRITE* psp) psp->vel += 68 * synctics; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistSlideDown(PANEL_SPRITE* psp) { SpawnFistBlur(psp); @@ -5892,9 +6861,11 @@ void pFistSlideDown(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- // // RIGHT SWING // +//--------------------------------------------------------------------------- void pFistSlideR(PANEL_SPRITE* psp) { @@ -5909,6 +6880,12 @@ void pFistSlideR(PANEL_SPRITE* psp) psp->vel += 68 * synctics; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistSlideDownR(PANEL_SPRITE* psp) { SpawnFistBlur(psp); @@ -5980,6 +6957,12 @@ void pFistSlideDownR(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistBobSetup(PANEL_SPRITE* psp) { if (psp->flags & (PANF_BOB)) @@ -5992,6 +6975,12 @@ void pFistBobSetup(PANEL_SPRITE* psp) psp->bob_height_divider = 8; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistHide(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -6007,6 +6996,12 @@ void pFistHide(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistRest(PANEL_SPRITE* psp) { bool force = !!(psp->flags & PANF_UNHIDE_SHOOT); @@ -6052,6 +7047,12 @@ void pFistRest(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistAction(PANEL_SPRITE* psp) { pFistBobSetup(psp); @@ -6064,6 +7065,12 @@ void pFistAttack(PANEL_SPRITE* psp) InitFistAttack(psp->PlayerP); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistRetract(PANEL_SPRITE* psp) { int picnum = psp->picndx; @@ -6079,6 +7086,12 @@ void pFistRetract(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pFistBlock(PANEL_SPRITE* psp) { psp->bobpos.Y += synctics; @@ -6111,6 +7124,12 @@ void pWeaponForceRest(PLAYER* pp) pSetState(pp->CurWpn, pp->CurWpn->RestState); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + bool pWeaponUnHideKeys(PANEL_SPRITE* psp, PANEL_STATE* state) { // initing the other weapon will take care of this @@ -6158,6 +7177,12 @@ bool pWeaponUnHideKeys(PANEL_SPRITE* psp, PANEL_STATE* state) return false; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + bool pWeaponHideKeys(PANEL_SPRITE* psp, PANEL_STATE* state) { if (psp->PlayerP->Flags & (PF_DEAD)) @@ -6193,6 +7218,12 @@ bool pWeaponHideKeys(PANEL_SPRITE* psp, PANEL_STATE* state) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void InsertPanelSprite(PLAYER* pp, PANEL_SPRITE* psp) { PANEL_SPRITE* cur,* nxt; @@ -6235,6 +7266,12 @@ void InsertPanelSprite(PLAYER* pp, PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + PANEL_SPRITE* pSpawnSprite(PLAYER* pp, PANEL_STATE* state, uint8_t priority, double x, double y) { unsigned i; @@ -6277,6 +7314,12 @@ PANEL_SPRITE* pSpawnSprite(PLAYER* pp, PANEL_STATE* state, uint8_t priority, dou return psp; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSuicide(PANEL_SPRITE* psp) { pKillSprite(psp); @@ -6291,6 +7334,12 @@ void pKillSprite(PANEL_SPRITE* psp) FreeMem(psp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pClearSpriteList(PLAYER* pp) { PANEL_SPRITE* psp = nullptr, * next_psp = nullptr; @@ -6303,6 +7352,12 @@ void pClearSpriteList(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pWeaponBob(PANEL_SPRITE* psp, short condition) { double xdiff = 0, ydiff = 0; @@ -6649,6 +7704,12 @@ void pDisplaySprites(PLAYER* pp, double interpfrac) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSpriteControl(PLAYER* pp) { PANEL_SPRITE* next=nullptr; @@ -6673,6 +7734,12 @@ void pSpriteControl(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void pSetState(PANEL_SPRITE* psp, PANEL_STATE* panel_state) { PRODUCTION_ASSERT(psp); @@ -6706,6 +7773,11 @@ void pStatePlusOne(PANEL_SPRITE* psp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- void pStateControl(PANEL_SPRITE* psp) { @@ -6753,6 +7825,12 @@ void pStateControl(PANEL_SPRITE* psp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void UpdatePanel(double interpfrac) { short pnum; @@ -6764,6 +7842,12 @@ void UpdatePanel(double interpfrac) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PreUpdatePanel(double interpfrac) { short pnum; @@ -6797,6 +7881,11 @@ PANEL_STATE ps_PanelEnvironSuit[] = {ID_PanelEnvironSuit, EnvironSuit_RATE, PanelInvTestSuicide, &ps_PanelEnvironSuit[0], 0,0,0} }; +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- #include "saveable.h" diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index 21533adad..b371874e7 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -1048,7 +1048,11 @@ STATE* sg_PlayerNinjaFly[] = s_PlayerNinjaFly[4] }; -///////////////////////////////////////////////////////////////////////////// +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- void DoPlayerSpriteThrow(PLAYER* pp) { @@ -1064,6 +1068,12 @@ void DoPlayerSpriteThrow(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int DoPlayerSpriteReset(DSWActor* actor) { PLAYER* pp; @@ -1087,6 +1097,12 @@ int DoPlayerSpriteReset(DSWActor* actor) return 0; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + int SetVisHigh(void) { // g_visibility = NormalVisibility>>1; @@ -1104,6 +1120,12 @@ void pSetVisNorm(PANEL_SPRITE* psp) // SetVisNorm(); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + TARGET_SORT TargetSort[MAX_TARGET_SORT]; unsigned TargetSortCount; @@ -1120,6 +1142,12 @@ bool FAFcansee(int32_t xs, int32_t ys, int32_t zs, int16_t sects, int32_t xe, int32_t ye, int32_t ze, int16_t secte); +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + DSWActor* DoPickTarget(DSWActor* actor, DAngle max_delta_ang, int skip_targets) { const int PICK_DIST = 2500; @@ -1238,6 +1266,12 @@ DSWActor* DoPickTarget(DSWActor* actor, DAngle max_delta_ang, int skip_targets) return TargetSort[0].actor; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerResetMovement(PLAYER* pp) { pp->vect.Zero(); @@ -1247,6 +1281,12 @@ void DoPlayerResetMovement(PLAYER* pp) pp->Flags &= ~(PF_PLAYER_MOVED); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerTeleportPause(PLAYER* pp) { DSWActor* actor = pp->actor; @@ -1264,6 +1304,12 @@ void DoPlayerTeleportPause(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerTeleportToSprite(PLAYER* pp, DVector3& pos, DAngle ang) { pp->angle.ang = pp->angle.oang = ang; @@ -1274,6 +1320,12 @@ void DoPlayerTeleportToSprite(PLAYER* pp, DVector3& pos, DAngle ang) pp->Flags2 |= (PF2_TELEPORTED); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerTeleportToOffset(PLAYER* pp) { pp->oldpos.XY() = pp->opos.XY() = pp->pos.XY(); @@ -1282,6 +1334,12 @@ void DoPlayerTeleportToOffset(PLAYER* pp) pp->Flags2 |= (PF2_TELEPORTED); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoSpawnTeleporterEffect(DSWActor* actor) { extern STATE s_TeleportEffect[]; @@ -1300,6 +1358,12 @@ void DoSpawnTeleporterEffect(DSWActor* actor) effectActor->spr.cstat |= (CSTAT_SPRITE_ALIGNMENT_WALL); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoSpawnTeleporterEffectPlace(DSWActor* actor) { extern STATE s_TeleportEffect[]; @@ -1316,6 +1380,12 @@ void DoSpawnTeleporterEffectPlace(DSWActor* actor) effectActor->spr.cstat |= (CSTAT_SPRITE_ALIGNMENT_WALL); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerWarpTeleporter(PLAYER* pp) { auto ppActor = pp->actor; @@ -1382,6 +1452,12 @@ void DoPlayerWarpTeleporter(PLAYER* pp) ppActor->backuppos(); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerSetWadeDepth(PLAYER* pp) { sectortype* sectp; @@ -1402,6 +1478,12 @@ void DoPlayerSetWadeDepth(PLAYER* pp) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerHeight(PLAYER* pp) { double diff = pp->pos.Z - (pp->loz - PLAYER_HEIGHTF); @@ -1426,6 +1508,12 @@ void DoPlayerCrawlHeight(PLAYER* pp) pp->pos.Z -= diff * 0.375; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void UpdatePlayerSpriteAngle(PLAYER* pp) { DSWActor* plActor = pp->actor; @@ -1441,12 +1529,24 @@ void UpdatePlayerSpriteAngle(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerTurn(PLAYER* pp, float const avel, double const scaleAdjust) { pp->angle.applyinput(avel, &pp->input.actions, scaleAdjust); UpdatePlayerSpriteAngle(pp); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerTurnVehicle(PLAYER* pp, float avel, double zz, double floordist) { SECTOR_OBJECT* sop = pp->sop; @@ -1474,6 +1574,12 @@ void DoPlayerTurnVehicle(PLAYER* pp, float avel, double zz, double floordist) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerTurnVehicleRect(PLAYER* pp, DVector2* pos, DVector2* opos) { float avel; @@ -1502,6 +1608,12 @@ void DoPlayerTurnVehicleRect(PLAYER* pp, DVector2* pos, DVector2* opos) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerTurnTurret(PLAYER* pp, float avel) { DAngle new_ang, diff; @@ -1543,6 +1655,12 @@ void DoPlayerTurnTurret(PLAYER* pp, float avel) OperateSectorObject(pp->sop, pp->angle.ang, pp->sop->pmid); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void SlipSlope(PLAYER* pp) { if (!pp->insector() || !pp->cursector->hasU()) @@ -1558,6 +1676,12 @@ void SlipSlope(PLAYER* pp) pp->vect += ang.ToVector() * pp->cursector->floorheinum / (1 << (sectu->speed + 4)); // todo confirm scale } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerHorizon(PLAYER* pp, float const horz, double const scaleAdjust) { bool const canslopetilt = !(pp->Flags & (PF_FLYING|PF_SWIMMING|PF_DIVING|PF_CLIMBING|PF_JUMPING|PF_FALLING)) && pp->cursector && (pp->cursector->floorstat & CSTAT_SECTOR_SLOPE); @@ -1565,6 +1689,12 @@ void DoPlayerHorizon(PLAYER* pp, float const horz, double const scaleAdjust) pp->horizon.applyinput(horz, &pp->input.actions, scaleAdjust); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerBob(PLAYER* pp) { int dist; @@ -1602,6 +1732,12 @@ void DoPlayerBob(PLAYER* pp) pp->bob_z = amt * BobVal(pp->bcnt); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerBeginRecoil(PLAYER* pp, short pix_amt) { pp->Flags |= (PF_RECOIL); @@ -1629,9 +1765,12 @@ void DoPlayerRecoil(PLAYER* pp) pp->recoil_horizoff = pp->recoil_amt * bsin(pp->recoil_ndx, 2); } - - +//--------------------------------------------------------------------------- +// // for wading +// +//--------------------------------------------------------------------------- + void DoPlayerSpriteBob(PLAYER* pp, double player_height, double bobamt, short bob_speed) { pp->bob_ndx = (pp->bob_ndx + (synctics << bob_speed)) & 2047; @@ -1639,6 +1778,12 @@ void DoPlayerSpriteBob(PLAYER* pp, double player_height, double bobamt, short bo pp->actor->spr.pos.Z = pp->pos.Z + player_height + pp->pbob_amt; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void UpdatePlayerUnderSprite(PLAYER* pp) { DSWActor* act_over = pp->actor; @@ -1699,6 +1844,11 @@ void UpdatePlayerUnderSprite(PLAYER* pp) act_under->spr.picnum = act_over->spr.picnum; } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- void UpdatePlayerSprite(PLAYER* pp) { @@ -1777,6 +1927,12 @@ void UpdatePlayerSprite(PLAYER* pp) actor->set_int_ang(pp->angle.ang.Buildang()); } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerZrange(PLAYER* pp) { Collision ceilhit, florhit; @@ -1832,6 +1988,12 @@ void DoPlayerZrange(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerSlide(PLAYER* pp) { DSWActor* actor = pp->actor; @@ -1881,6 +2043,12 @@ void DoPlayerSlide(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerCheckValidMove(PLAYER* pp) { if (!pp->insector()) @@ -1890,6 +2058,12 @@ void PlayerCheckValidMove(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void PlayerSectorBound(PLAYER* pp, double amt) { if (!pp->insector()) @@ -1916,6 +2090,12 @@ void PlayerSectorBound(PLAYER* pp, double amt) } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerMove(PLAYER* pp) { DSWActor* actor = pp->actor; @@ -2085,6 +2265,12 @@ void DoPlayerMove(PLAYER* pp) } } +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + void DoPlayerSectorUpdatePreMove(PLAYER* pp) { auto sect = pp->cursector;