/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #line 4 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" #include "StdH.h" #include "GameMP/SEColors.h" #include #include #include #include "ModelsMP/Player/SeriousSam/Player.h" #include "ModelsMP/Player/SeriousSam/Body.h" #include "ModelsMP/Player/SeriousSam/Head.h" #include "EntitiesMP/PlayerMarker.h" #include "EntitiesMP/PlayerWeapons.h" #include "EntitiesMP/PlayerAnimator.h" #include "EntitiesMP/PlayerView.h" #include "EntitiesMP/MovingBrush.h" #include "EntitiesMP/Switch.h" #include "EntitiesMP/MessageHolder.h" #include "EntitiesMP/Camera.h" #include "EntitiesMP/WorldLink.h" #include "EntitiesMP/HealthItem.h" #include "EntitiesMP/ArmorItem.h" #include "EntitiesMP/WeaponItem.h" #include "EntitiesMP/AmmoItem.h" #include "EntitiesMP/PowerUpItem.h" #include "EntitiesMP/MessageItem.h" #include "EntitiesMP/AmmoPack.h" #include "EntitiesMP/KeyItem.h" #include "EntitiesMP/MusicHolder.h" #include "EntitiesMP/EnemyBase.h" #include "EntitiesMP/PlayerActionMarker.h" #include "EntitiesMP/BasicEffects.h" #include "EntitiesMP/BackgroundViewer.h" #include "EntitiesMP/WorldSettingsController.h" #include "EntitiesMP/ScrollHolder.h" #include "EntitiesMP/TextFXHolder.h" #include "EntitiesMP/SeriousBomb.h" #include "EntitiesMP/CreditsHolder.h" #include "EntitiesMP/HudPicHolder.h" extern void JumpFromBouncer(CEntity *penToBounce, CEntity *penBouncer); // from game #define GRV_SHOWEXTRAS (1L<<0) // add extra stuff like console, weapon, pause #define GENDER_MALE 0 #define GENDER_FEMALE 1 #define GENDEROFFSET 100 // sound components for genders are offset by this value #include #include CEntityEvent *ECameraStart::MakeCopy(void) { CEntityEvent *peeCopy = new ECameraStart(*this); return peeCopy;} ECameraStart::ECameraStart() : CEntityEvent(EVENTCODE_ECameraStart) {; ClearToDefault(penCamera); }; CEntityEvent *ECameraStop::MakeCopy(void) { CEntityEvent *peeCopy = new ECameraStop(*this); return peeCopy;} ECameraStop::ECameraStop() : CEntityEvent(EVENTCODE_ECameraStop) {; ClearToDefault(penCamera); }; CEntityEvent *ERebirth::MakeCopy(void) { CEntityEvent *peeCopy = new ERebirth(*this); return peeCopy;} ERebirth::ERebirth() : CEntityEvent(EVENTCODE_ERebirth) {; }; CEntityEvent *EDisconnected::MakeCopy(void) { CEntityEvent *peeCopy = new EDisconnected(*this); return peeCopy;} EDisconnected::EDisconnected() : CEntityEvent(EVENTCODE_EDisconnected) {; }; CEntityEvent *EAutoAction::MakeCopy(void) { CEntityEvent *peeCopy = new EAutoAction(*this); return peeCopy;} EAutoAction::EAutoAction() : CEntityEvent(EVENTCODE_EAutoAction) {; ClearToDefault(penFirstMarker); }; #line 95 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" extern void DrawHUD( const CPlayer *penPlayerCurrent, CDrawPort *pdpCurrent, BOOL bSnooping, const CPlayer *penPlayerOwner); extern void InitHUD(void); extern void EndHUD(void); static CTimerValue _tvProbingLast; // used to render certain entities only for certain players (like picked items, etc.) extern ULONG _ulPlayerRenderingMask = 0; // temporary BOOL used to discard calculating of 3rd view when calculating absolute view placement BOOL _bDiscard3rdView=FALSE; #define NAME name const FLOAT _fBlowUpAmmount = 70.0f; // computer message adding flags #define CMF_READ (1L<<0) #define CMF_ANALYZE (1L<<1) struct MarkerDistance { public: FLOAT md_fMinD; CPlayerMarker *md_ppm; void Clear(void); }; // export current player projection CAnyProjection3D prPlayerProjection; int qsort_CompareMarkerDistance(const void *pv0, const void *pv1) { MarkerDistance &md0 = *(MarkerDistance*)pv0; MarkerDistance &md1 = *(MarkerDistance*)pv1; if( md0.md_fMinDmd1.md_fMinD) return -1; else return 0; } static inline FLOAT IntensityAtDistance( FLOAT fFallOff, FLOAT fHotSpot, FLOAT fDistance) { // intensity is zero if further than fall-off range if( fDistance>fFallOff) return 0.0f; // intensity is maximum if closer than hot-spot range if( fDistanceGetWorld()->wo_cenEntities, CEntity, iten) { CEntity *pen = iten; if (IsDerivedFromClass(pen, "Enemy Base") && !IsOfClass(pen, "Devil")) { CEnemyBase *penEnemy = (CEnemyBase *)pen; if (penEnemy->m_penEnemy==NULL) { continue; } penKiller->InflictDirectDamage(pen, penKiller, DMT_BULLET, penEnemy->GetHealth()+1, pen->GetPlacement().pl_PositionVector, FLOAT3D(0,1,0)); } }} } #define HEADING_MAX 45.0f #define PITCH_MAX 90.0f #define BANKING_MAX 45.0f // player flags #define PLF_INITIALIZED (1UL<<0) // set when player entity is ready to function #define PLF_VIEWROTATIONCHANGED (1UL<<1) // for adjusting view rotation separately from legs #define PLF_JUMPALLOWED (1UL<<2) // if jumping is allowed #define PLF_SYNCWEAPON (1UL<<3) // weapon model needs to be synchronized before rendering #define PLF_AUTOMOVEMENTS (1UL<<4) // complete automatic control of movements #define PLF_DONTRENDER (1UL<<5) // don't render view (used at end of level) #define PLF_CHANGINGLEVEL (1UL<<6) // mark that we next are to appear at start of new level #define PLF_APPLIEDACTION (1UL<<7) // used to detect when player is not connected #define PLF_NOTCONNECTED (1UL<<8) // set if the player is not connected #define PLF_LEVELSTARTED (1UL<<9) // marks that level start time was recorded #define PLF_ISZOOMING (1UL<<10) // marks that player is zoomed in with the sniper #define PLF_RESPAWNINPLACE (1UL<<11) // don't move to marker when respawning (for current death only) // defines representing flags used to fill player buttoned actions #define PLACT_FIRE (1L<<0) #define PLACT_RELOAD (1L<<1) #define PLACT_WEAPON_NEXT (1L<<2) #define PLACT_WEAPON_PREV (1L<<3) #define PLACT_WEAPON_FLIP (1L<<4) #define PLACT_USE (1L<<5) #define PLACT_COMPUTER (1L<<6) #define PLACT_3RD_PERSON_VIEW (1L<<7) #define PLACT_CENTER_VIEW (1L<<8) #define PLACT_USE_HELD (1L<<9) #define PLACT_SNIPER_ZOOMIN (1L<<10) #define PLACT_SNIPER_ZOOMOUT (1L<<11) #define PLACT_SNIPER_USE (1L<<12) #define PLACT_FIREBOMB (1L<<13) #define PLACT_SELECT_WEAPON_SHIFT (14) #define PLACT_SELECT_WEAPON_MASK (0x1FL<en_pcCharacter==pc) { penThis = pen; break; } } // if not found if (penThis==NULL) { // do nothing return; } // accumulate local rotation penThis->m_aLocalRotation +=paAction.pa_aRotation; penThis->m_aLocalViewRotation+=paAction.pa_aViewRotation; penThis->m_vLocalTranslation +=paAction.pa_vTranslation; // if prescanning if (bPreScan) { // no button checking return; } // add button movement/rotation/look actions to the axis actions if(pctlCurrent.bMoveForward ) paAction.pa_vTranslation(3) -= plr_fSpeedForward; if(pctlCurrent.bMoveBackward ) paAction.pa_vTranslation(3) += plr_fSpeedBackward; if(pctlCurrent.bMoveLeft || pctlCurrent.bStrafe&&pctlCurrent.bTurnLeft) paAction.pa_vTranslation(1) -= plr_fSpeedSide; if(pctlCurrent.bMoveRight || pctlCurrent.bStrafe&&pctlCurrent.bTurnRight) paAction.pa_vTranslation(1) += plr_fSpeedSide; if(pctlCurrent.bMoveUp ) paAction.pa_vTranslation(2) += plr_fSpeedUp; if(pctlCurrent.bMoveDown ) paAction.pa_vTranslation(2) -= plr_fSpeedUp; const FLOAT fQuantum = _pTimer->TickQuantum; if(pctlCurrent.bTurnLeft && !pctlCurrent.bStrafe) penThis->m_aLocalRotation(1) += ctl_fButtonRotationSpeedH*fQuantum; if(pctlCurrent.bTurnRight && !pctlCurrent.bStrafe) penThis->m_aLocalRotation(1) -= ctl_fButtonRotationSpeedH*fQuantum; if(pctlCurrent.bTurnUp ) penThis->m_aLocalRotation(2) += ctl_fButtonRotationSpeedP*fQuantum; if(pctlCurrent.bTurnDown ) penThis->m_aLocalRotation(2) -= ctl_fButtonRotationSpeedP*fQuantum; if(pctlCurrent.bTurnBankingLeft ) penThis->m_aLocalRotation(3) += ctl_fButtonRotationSpeedB*fQuantum; if(pctlCurrent.bTurnBankingRight ) penThis->m_aLocalRotation(3) -= ctl_fButtonRotationSpeedB*fQuantum; if(pctlCurrent.bLookLeft ) penThis->m_aLocalViewRotation(1) += ctl_fButtonRotationSpeedH*fQuantum; if(pctlCurrent.bLookRight ) penThis->m_aLocalViewRotation(1) -= ctl_fButtonRotationSpeedH*fQuantum; if(pctlCurrent.bLookUp ) penThis->m_aLocalViewRotation(2) += ctl_fButtonRotationSpeedP*fQuantum; if(pctlCurrent.bLookDown ) penThis->m_aLocalViewRotation(2) -= ctl_fButtonRotationSpeedP*fQuantum; if(pctlCurrent.bLookBankingLeft ) penThis->m_aLocalViewRotation(3) += ctl_fButtonRotationSpeedB*fQuantum; if(pctlCurrent.bLookBankingRight ) penThis->m_aLocalViewRotation(3) -= ctl_fButtonRotationSpeedB*fQuantum; // use current accumulated rotation paAction.pa_aRotation = penThis->m_aLocalRotation; paAction.pa_aViewRotation = penThis->m_aLocalViewRotation; //paAction.pa_vTranslation = penThis->m_vLocalTranslation; // if walking if(pctlCurrent.bWalk) { // make forward/backward and sidestep speeds slower paAction.pa_vTranslation(3) /= 2.0f; paAction.pa_vTranslation(1) /= 2.0f; } // reset all button actions paAction.pa_ulButtons = 0; // set weapon selection bits for(INDEX i=1; ips_ulFlags&PSF_COMPSINGLECLICK)) { // press both paAction.pa_ulButtons |= PLACT_USE|PLACT_COMPUTER; // if double-click is on } else { // if double click if (_pTimer->GetRealTimeTick()<=_tmLastUseOrCompPressed+ctl_tmComputerDoubleClick) { // computer pressed paAction.pa_ulButtons |= PLACT_COMPUTER; // if single click } else { // use pressed paAction.pa_ulButtons |= PLACT_USE; } } _tmLastUseOrCompPressed = _pTimer->GetRealTimeTick(); } // remember old userorcomp pressed state pctlCurrent.bUseOrComputerLast = pctlCurrent.bUseOrComputer; }; void CPlayer_Precache(void) { CDLLEntityClass *pdec = &CPlayer_DLLClass; // precache view extern void CPlayerView_Precache(void); CPlayerView_Precache(); // precache all player sounds pdec->PrecacheSound(SOUND_WATER_ENTER ); pdec->PrecacheSound(SOUND_WATER_LEAVE ); pdec->PrecacheSound(SOUND_WALK_L ); pdec->PrecacheSound(SOUND_WALK_R ); pdec->PrecacheSound(SOUND_WALK_SAND_L ); pdec->PrecacheSound(SOUND_WALK_SAND_R ); pdec->PrecacheSound(SOUND_SWIM_L ); pdec->PrecacheSound(SOUND_SWIM_R ); pdec->PrecacheSound(SOUND_DIVE_L ); pdec->PrecacheSound(SOUND_DIVE_R ); pdec->PrecacheSound(SOUND_DIVEIN ); pdec->PrecacheSound(SOUND_DIVEOUT ); pdec->PrecacheSound(SOUND_DROWN ); pdec->PrecacheSound(SOUND_INHALE0 ); pdec->PrecacheSound(SOUND_JUMP ); pdec->PrecacheSound(SOUND_LAND ); pdec->PrecacheSound(SOUND_WOUNDWEAK ); pdec->PrecacheSound(SOUND_WOUNDMEDIUM ); pdec->PrecacheSound(SOUND_WOUNDSTRONG ); pdec->PrecacheSound(SOUND_WOUNDWATER ); pdec->PrecacheSound(SOUND_DEATH ); pdec->PrecacheSound(SOUND_DEATHWATER ); pdec->PrecacheSound(SOUND_WATERAMBIENT ); pdec->PrecacheSound(SOUND_WATERBUBBLES ); pdec->PrecacheSound(SOUND_WATERWALK_L ); pdec->PrecacheSound(SOUND_WATERWALK_R ); pdec->PrecacheSound(SOUND_INHALE1 ); pdec->PrecacheSound(SOUND_INHALE2 ); pdec->PrecacheSound(SOUND_INFO ); pdec->PrecacheSound(SOUND_WALK_GRASS_L ); pdec->PrecacheSound(SOUND_WALK_GRASS_R ); pdec->PrecacheSound(SOUND_WALK_WOOD_L ); pdec->PrecacheSound(SOUND_WALK_WOOD_R ); pdec->PrecacheSound(SOUND_WALK_SNOW_L ); pdec->PrecacheSound(SOUND_WALK_SNOW_R ); //pdec->PrecacheSound(SOUND_HIGHSCORE ); pdec->PrecacheSound(SOUND_SNIPER_ZOOM ); pdec->PrecacheSound(SOUND_SNIPER_QZOOM ); pdec->PrecacheSound(SOUND_SILENCE ); pdec->PrecacheSound(SOUND_POWERUP_BEEP ); pdec->PrecacheSound(SOUND_F_WATER_ENTER ); pdec->PrecacheSound(SOUND_F_WATER_LEAVE ); pdec->PrecacheSound(SOUND_F_WALK_L ); pdec->PrecacheSound(SOUND_F_WALK_R ); pdec->PrecacheSound(SOUND_F_WALK_SAND_L ); pdec->PrecacheSound(SOUND_F_WALK_SAND_R ); pdec->PrecacheSound(SOUND_F_SWIM_L ); pdec->PrecacheSound(SOUND_F_SWIM_R ); pdec->PrecacheSound(SOUND_F_DIVE_L ); pdec->PrecacheSound(SOUND_F_DIVE_R ); pdec->PrecacheSound(SOUND_F_DIVEIN ); pdec->PrecacheSound(SOUND_F_DIVEOUT ); pdec->PrecacheSound(SOUND_F_DROWN ); pdec->PrecacheSound(SOUND_F_INHALE0 ); pdec->PrecacheSound(SOUND_F_JUMP ); pdec->PrecacheSound(SOUND_F_LAND ); pdec->PrecacheSound(SOUND_F_WOUNDWEAK ); pdec->PrecacheSound(SOUND_F_WOUNDMEDIUM ); pdec->PrecacheSound(SOUND_F_WOUNDSTRONG ); pdec->PrecacheSound(SOUND_F_WOUNDWATER ); pdec->PrecacheSound(SOUND_F_DEATH ); pdec->PrecacheSound(SOUND_F_DEATHWATER ); pdec->PrecacheSound(SOUND_F_WATERWALK_L ); pdec->PrecacheSound(SOUND_F_WATERWALK_R ); pdec->PrecacheSound(SOUND_F_INHALE1 ); pdec->PrecacheSound(SOUND_F_INHALE2 ); pdec->PrecacheSound(SOUND_F_WALK_GRASS_L ); pdec->PrecacheSound(SOUND_F_WALK_GRASS_R ); pdec->PrecacheSound(SOUND_F_WALK_WOOD_L ); pdec->PrecacheSound(SOUND_F_WALK_WOOD_R ); pdec->PrecacheSound(SOUND_F_WALK_SNOW_L ); pdec->PrecacheSound(SOUND_F_WALK_SNOW_R ); //pdec->PrecacheSound(SOUND_F_HIGHSCORE ); pdec->PrecacheSound(SOUND_BLOWUP ); pdec->PrecacheClass(CLASS_BASIC_EFFECT, BET_TELEPORT); pdec->PrecacheClass(CLASS_SERIOUSBOMB); pdec->PrecacheModel(MODEL_FLESH); pdec->PrecacheModel(MODEL_FLESH_APPLE); pdec->PrecacheModel(MODEL_FLESH_BANANA); pdec->PrecacheModel(MODEL_FLESH_BURGER); pdec->PrecacheTexture(TEXTURE_FLESH_RED); pdec->PrecacheTexture(TEXTURE_FLESH_GREEN); pdec->PrecacheTexture(TEXTURE_FLESH_APPLE); pdec->PrecacheTexture(TEXTURE_FLESH_BANANA); pdec->PrecacheTexture(TEXTURE_FLESH_BURGER); pdec->PrecacheTexture(TEXTURE_FLESH_LOLLY); pdec->PrecacheTexture(TEXTURE_FLESH_ORANGE); pdec->PrecacheClass(CLASS_BASIC_EFFECT, BET_BLOODSPILL); pdec->PrecacheClass(CLASS_BASIC_EFFECT, BET_BLOODSTAIN); pdec->PrecacheClass(CLASS_BASIC_EFFECT, BET_BLOODSTAINGROW); pdec->PrecacheClass(CLASS_BASIC_EFFECT, BET_BLOODEXPLODE); } void CPlayer_OnInitClass(void) { // clear current player controls memset(&pctlCurrent, 0, sizeof(pctlCurrent)); // declare player control variables _pShell->DeclareSymbol("user INDEX ctl_bMoveForward;", &pctlCurrent.bMoveForward); _pShell->DeclareSymbol("user INDEX ctl_bMoveBackward;", &pctlCurrent.bMoveBackward); _pShell->DeclareSymbol("user INDEX ctl_bMoveLeft;", &pctlCurrent.bMoveLeft); _pShell->DeclareSymbol("user INDEX ctl_bMoveRight;", &pctlCurrent.bMoveRight); _pShell->DeclareSymbol("user INDEX ctl_bMoveUp;", &pctlCurrent.bMoveUp); _pShell->DeclareSymbol("user INDEX ctl_bMoveDown;", &pctlCurrent.bMoveDown); _pShell->DeclareSymbol("user INDEX ctl_bTurnLeft;", &pctlCurrent.bTurnLeft); _pShell->DeclareSymbol("user INDEX ctl_bTurnRight;", &pctlCurrent.bTurnRight); _pShell->DeclareSymbol("user INDEX ctl_bTurnUp;", &pctlCurrent.bTurnUp); _pShell->DeclareSymbol("user INDEX ctl_bTurnDown;", &pctlCurrent.bTurnDown); _pShell->DeclareSymbol("user INDEX ctl_bTurnBankingLeft;", &pctlCurrent.bTurnBankingLeft); _pShell->DeclareSymbol("user INDEX ctl_bTurnBankingRight;", &pctlCurrent.bTurnBankingRight); _pShell->DeclareSymbol("user INDEX ctl_bCenterView;", &pctlCurrent.bCenterView); _pShell->DeclareSymbol("user INDEX ctl_bLookLeft;", &pctlCurrent.bLookLeft); _pShell->DeclareSymbol("user INDEX ctl_bLookRight;", &pctlCurrent.bLookRight); _pShell->DeclareSymbol("user INDEX ctl_bLookUp;", &pctlCurrent.bLookUp); _pShell->DeclareSymbol("user INDEX ctl_bLookDown;", &pctlCurrent.bLookDown); _pShell->DeclareSymbol("user INDEX ctl_bLookBankingLeft;", &pctlCurrent.bLookBankingLeft); _pShell->DeclareSymbol("user INDEX ctl_bLookBankingRight;", &pctlCurrent.bLookBankingRight ); _pShell->DeclareSymbol("user INDEX ctl_bWalk;", &pctlCurrent.bWalk); _pShell->DeclareSymbol("user INDEX ctl_bStrafe;", &pctlCurrent.bStrafe); _pShell->DeclareSymbol("user INDEX ctl_bFire;", &pctlCurrent.bFire); _pShell->DeclareSymbol("user INDEX ctl_bReload;", &pctlCurrent.bReload); _pShell->DeclareSymbol("user INDEX ctl_bUse;", &pctlCurrent.bUse); _pShell->DeclareSymbol("user INDEX ctl_bComputer;", &pctlCurrent.bComputer); _pShell->DeclareSymbol("user INDEX ctl_bUseOrComputer;", &pctlCurrent.bUseOrComputer); _pShell->DeclareSymbol("user INDEX ctl_b3rdPersonView;", &pctlCurrent.b3rdPersonView); _pShell->DeclareSymbol("user INDEX ctl_bWeaponNext;", &pctlCurrent.bWeaponNext); _pShell->DeclareSymbol("user INDEX ctl_bWeaponPrev;", &pctlCurrent.bWeaponPrev); _pShell->DeclareSymbol("user INDEX ctl_bWeaponFlip;", &pctlCurrent.bWeaponFlip); _pShell->DeclareSymbol("user INDEX ctl_bSelectWeapon[30+1];", &pctlCurrent.bSelectWeapon); _pShell->DeclareSymbol("persistent user FLOAT ctl_tmComputerDoubleClick;", &ctl_tmComputerDoubleClick); _pShell->DeclareSymbol("persistent user FLOAT ctl_fButtonRotationSpeedH;", &ctl_fButtonRotationSpeedH); _pShell->DeclareSymbol("persistent user FLOAT ctl_fButtonRotationSpeedP;", &ctl_fButtonRotationSpeedP); _pShell->DeclareSymbol("persistent user FLOAT ctl_fButtonRotationSpeedB;", &ctl_fButtonRotationSpeedB); _pShell->DeclareSymbol("persistent user FLOAT ctl_fAxisStrafingModifier;", &ctl_fAxisStrafingModifier); //new _pShell->DeclareSymbol("user INDEX ctl_bSniperZoomIn;", &pctlCurrent.bSniperZoomIn); _pShell->DeclareSymbol("user INDEX ctl_bSniperZoomOut;", &pctlCurrent.bSniperZoomOut); _pShell->DeclareSymbol("user INDEX ctl_bFireBomb;", &pctlCurrent.bFireBomb); _pShell->DeclareSymbol("user FLOAT plr_fSwimSoundDelay;", &plr_fSwimSoundDelay); _pShell->DeclareSymbol("user FLOAT plr_fDiveSoundDelay;", &plr_fDiveSoundDelay); _pShell->DeclareSymbol("user FLOAT plr_fWalkSoundDelay;", &plr_fWalkSoundDelay); _pShell->DeclareSymbol("user FLOAT plr_fRunSoundDelay;", &plr_fRunSoundDelay); _pShell->DeclareSymbol("persistent user FLOAT cli_fPredictPlayersRange;",&cli_fPredictPlayersRange); _pShell->DeclareSymbol("persistent user FLOAT cli_fPredictItemsRange;", &cli_fPredictItemsRange ); _pShell->DeclareSymbol("persistent user FLOAT cli_tmPredictFoe;", &cli_tmPredictFoe ); _pShell->DeclareSymbol("persistent user FLOAT cli_tmPredictAlly;", &cli_tmPredictAlly ); _pShell->DeclareSymbol("persistent user FLOAT cli_tmPredictEnemy;", &cli_tmPredictEnemy ); _pShell->DeclareSymbol(" INDEX hud_bShowAll;", &hud_bShowAll); _pShell->DeclareSymbol("user INDEX hud_bShowInfo;", &hud_bShowInfo); _pShell->DeclareSymbol("user const FLOAT net_tmLatencyAvg;", &net_tmLatencyAvg); _pShell->DeclareSymbol("persistent user INDEX hud_bShowLatency;", &hud_bShowLatency); _pShell->DeclareSymbol("persistent user INDEX hud_iShowPlayers;", &hud_iShowPlayers); _pShell->DeclareSymbol("persistent user INDEX hud_iSortPlayers;", &hud_iSortPlayers); _pShell->DeclareSymbol("persistent user INDEX hud_bShowWeapon;", &hud_bShowWeapon); _pShell->DeclareSymbol("persistent user INDEX hud_bShowMessages;",&hud_bShowMessages); _pShell->DeclareSymbol("persistent user FLOAT hud_fScaling;", &hud_fScaling); _pShell->DeclareSymbol("persistent user FLOAT hud_fOpacity;", &hud_fOpacity); _pShell->DeclareSymbol("persistent user FLOAT hud_tmWeaponsOnScreen;", &hud_tmWeaponsOnScreen); _pShell->DeclareSymbol("persistent user FLOAT hud_tmLatencySnapshot;", &hud_tmLatencySnapshot); _pShell->DeclareSymbol("persistent user FLOAT plr_fBreathingStrength;", &plr_fBreathingStrength); _pShell->DeclareSymbol("INDEX cht_bKillFinalBoss;", &cht_bKillFinalBoss); _pShell->DeclareSymbol("INDEX cht_bDebugFinalBoss;", &cht_bDebugFinalBoss); _pShell->DeclareSymbol("INDEX cht_bDumpFinalBossData;", &cht_bDumpFinalBossData); _pShell->DeclareSymbol("INDEX cht_bDebugFinalBossAnimations;", &cht_bDebugFinalBossAnimations); _pShell->DeclareSymbol("INDEX cht_bDumpPlayerShading;", &cht_bDumpPlayerShading); _pShell->DeclareSymbol("persistent user INDEX hud_bShowMatchInfo;", &hud_bShowMatchInfo); _pShell->DeclareSymbol("persistent user FLOAT wpn_fRecoilSpeed[17];", &wpn_fRecoilSpeed); _pShell->DeclareSymbol("persistent user FLOAT wpn_fRecoilLimit[17];", &wpn_fRecoilLimit); _pShell->DeclareSymbol("persistent user FLOAT wpn_fRecoilDampUp[17];", &wpn_fRecoilDampUp); _pShell->DeclareSymbol("persistent user FLOAT wpn_fRecoilDampDn[17];", &wpn_fRecoilDampDn); _pShell->DeclareSymbol("persistent user FLOAT wpn_fRecoilOffset[17];", &wpn_fRecoilOffset); _pShell->DeclareSymbol("persistent user FLOAT wpn_fRecoilFactorP[17];", &wpn_fRecoilFactorP); _pShell->DeclareSymbol("persistent user FLOAT wpn_fRecoilFactorZ[17];", &wpn_fRecoilFactorZ); // cheats _pShell->DeclareSymbol("user INDEX cht_bGod;", &cht_bGod); _pShell->DeclareSymbol("user INDEX cht_bFly;", &cht_bFly); _pShell->DeclareSymbol("user INDEX cht_bGhost;", &cht_bGhost); _pShell->DeclareSymbol("user INDEX cht_bInvisible;", &cht_bInvisible); _pShell->DeclareSymbol("user INDEX cht_bGiveAll;", &cht_bGiveAll); _pShell->DeclareSymbol("user INDEX cht_bKillAll;", &cht_bKillAll); _pShell->DeclareSymbol("user INDEX cht_bOpen;", &cht_bOpen); _pShell->DeclareSymbol("user INDEX cht_bAllMessages;", &cht_bAllMessages); _pShell->DeclareSymbol("user FLOAT cht_fTranslationMultiplier ;", &cht_fTranslationMultiplier); _pShell->DeclareSymbol("user INDEX cht_bRefresh;", &cht_bRefresh); // this one is masqueraded cheat enable variable _pShell->DeclareSymbol("INDEX cht_bEnable;", &cht_bEnable); // this cheat is always enabled _pShell->DeclareSymbol("user INDEX cht_iGoToMarker;", &cht_iGoToMarker); // player speed and view parameters, not declared except in internal build #if 0 _pShell->DeclareSymbol("user FLOAT plr_fViewHeightStand;", &plr_fViewHeightStand); _pShell->DeclareSymbol("user FLOAT plr_fViewHeightCrouch;",&plr_fViewHeightCrouch); _pShell->DeclareSymbol("user FLOAT plr_fViewHeightSwim;", &plr_fViewHeightSwim); _pShell->DeclareSymbol("user FLOAT plr_fViewHeightDive;", &plr_fViewHeightDive); _pShell->DeclareSymbol("user FLOAT plr_fViewDampFactor;", &plr_fViewDampFactor); _pShell->DeclareSymbol("user FLOAT plr_fViewDampLimitGroundUp;", &plr_fViewDampLimitGroundUp); _pShell->DeclareSymbol("user FLOAT plr_fViewDampLimitGroundDn;", &plr_fViewDampLimitGroundDn); _pShell->DeclareSymbol("user FLOAT plr_fViewDampLimitWater;", &plr_fViewDampLimitWater); _pShell->DeclareSymbol("user FLOAT plr_fAcceleration;", &plr_fAcceleration); _pShell->DeclareSymbol("user FLOAT plr_fDeceleration;", &plr_fDeceleration); _pShell->DeclareSymbol("user FLOAT plr_fSpeedForward;", &plr_fSpeedForward); _pShell->DeclareSymbol("user FLOAT plr_fSpeedBackward;", &plr_fSpeedBackward); _pShell->DeclareSymbol("user FLOAT plr_fSpeedSide;", &plr_fSpeedSide); _pShell->DeclareSymbol("user FLOAT plr_fSpeedUp;", &plr_fSpeedUp); #endif _pShell->DeclareSymbol("persistent user FLOAT plr_fFOV;", &plr_fFOV); _pShell->DeclareSymbol("persistent user FLOAT plr_fFrontClipDistance;", &plr_fFrontClipDistance); _pShell->DeclareSymbol("persistent user INDEX plr_bRenderPicked;", &plr_bRenderPicked); _pShell->DeclareSymbol("persistent user INDEX plr_bRenderPickedParticles;", &plr_bRenderPickedParticles); _pShell->DeclareSymbol("persistent user INDEX plr_bOnlySam;", &plr_bOnlySam); _pShell->DeclareSymbol("persistent user INDEX ent_bReportBrokenChains;", &ent_bReportBrokenChains); _pShell->DeclareSymbol("persistent user FLOAT ent_tmMentalIn ;", &ent_tmMentalIn ); _pShell->DeclareSymbol("persistent user FLOAT ent_tmMentalOut ;", &ent_tmMentalOut ); _pShell->DeclareSymbol("persistent user FLOAT ent_tmMentalFade;", &ent_tmMentalFade); _pShell->DeclareSymbol("persistent user FLOAT gfx_fEnvParticlesDensity;", &gfx_fEnvParticlesDensity); _pShell->DeclareSymbol("persistent user FLOAT gfx_fEnvParticlesRange;", &gfx_fEnvParticlesRange); // player appearance interface _pShell->DeclareSymbol("INDEX SetPlayerAppearance(INDEX, INDEX, INDEX, INDEX);", &SetPlayerAppearance); // call player weapons persistant variable initialization extern void CPlayerWeapons_Init(void); CPlayerWeapons_Init(); // initialize HUD InitHUD(); // precache CPlayer_Precache(); } // clean up void CPlayer_OnEndClass(void) { EndHUD(); } CTString GetDifficultyString(void) { if (GetSP()->sp_bMental) { return TRANS("Mental"); } switch (GetSP()->sp_gdGameDifficulty) { case CSessionProperties::GD_TOURIST: return TRANS("Tourist"); case CSessionProperties::GD_EASY: return TRANS("Easy"); default: case CSessionProperties::GD_NORMAL: return TRANS("Normal"); case CSessionProperties::GD_HARD: return TRANS("Hard"); case CSessionProperties::GD_EXTREME: return TRANS("Serious"); } } // armor & health constants getters FLOAT MaxArmor(void) { if (GetSP()->sp_gdGameDifficulty<=CSessionProperties::GD_EASY) { return 300; } else { return 200; } } FLOAT TopArmor(void) { if (GetSP()->sp_gdGameDifficulty<=CSessionProperties::GD_EASY) { return 200; } else { return 100; } } FLOAT MaxHealth(void) { if (GetSP()->sp_gdGameDifficulty<=CSessionProperties::GD_EASY) { return 300; } else { return 200; } } FLOAT TopHealth(void) { if (GetSP()->sp_gdGameDifficulty<=CSessionProperties::GD_EASY) { return 200; } else { return 100; } } // info structure static EntityInfo eiPlayerGround = { EIBT_FLESH, 80.0f, 0.0f, 1.7f, 0.0f, // source (eyes) 0.0f, 1.0f, 0.0f, // target (body) }; static EntityInfo eiPlayerCrouch = { EIBT_FLESH, 80.0f, 0.0f, 1.2f, 0.0f, // source (eyes) 0.0f, 0.7f, 0.0f, // target (body) }; static EntityInfo eiPlayerSwim = { EIBT_FLESH, 40.0f, 0.0f, 0.0f, 0.0f, // source (eyes) 0.0f, 0.0f, 0.0f, // target (body) }; // animation light specific #define LIGHT_ANIM_MINIGUN 2 #define LIGHT_ANIM_TOMMYGUN 3 #define LIGHT_ANIM_COLT_SHOTGUN 4 #define LIGHT_ANIM_NONE 5 const char *NameForState(PlayerState pst) { switch(pst) { case PST_STAND: return "stand"; case PST_CROUCH: return "crouch"; case PST_FALL: return "fall"; case PST_SWIM: return "swim"; case PST_DIVE: return "dive"; default: return "???"; }; } // print explanation on how a player died void PrintPlayerDeathMessage(CPlayer *ppl, const EDeath &eDeath) { CTString strMyName = ppl->GetPlayerName(); CEntity *penKiller = eDeath.eLastDamage.penInflictor; // if killed by a valid entity if (penKiller!=NULL) { // if killed by a player if (IsOfClass(penKiller, "Player")) { // if not self if (penKiller!=ppl) { CTString strKillerName = ((CPlayer*)penKiller)->GetPlayerName(); if(eDeath.eLastDamage.dmtType==DMT_TELEPORT) { CPrintF(TRANS("%s telefragged %s\n"), strKillerName, strMyName); } else if(eDeath.eLastDamage.dmtType==DMT_CLOSERANGE) { CPrintF(TRANS("%s cut %s into pieces\n"), strKillerName, strMyName); } else if(eDeath.eLastDamage.dmtType==DMT_CHAINSAW) { CPrintF(TRANS("%s cut %s into pieces\n"), strKillerName, strMyName); } else if(eDeath.eLastDamage.dmtType==DMT_BULLET) { CPrintF(TRANS("%s poured lead into %s\n"), strKillerName, strMyName); } else if(eDeath.eLastDamage.dmtType==DMT_PROJECTILE || eDeath.eLastDamage.dmtType==DMT_EXPLOSION) { CPrintF(TRANS("%s blew %s away\n"), strKillerName, strMyName); } else if(eDeath.eLastDamage.dmtType==DMT_CANNONBALL) { CPrintF(TRANS("%s smashed %s with a cannon\n"), strKillerName, strMyName); } else if(eDeath.eLastDamage.dmtType==DMT_CANNONBALL_EXPLOSION) { CPrintF(TRANS("%s nuked %s\n"), strKillerName, strMyName); } else { CPrintF(TRANS("%s killed %s\n"), strKillerName, strMyName); } } else { // make message from damage type switch(eDeath.eLastDamage.dmtType) { case DMT_DROWNING: CPrintF(TRANS("%s drowned\n"), strMyName); break; case DMT_BURNING: CPrintF(TRANS("%s burst into flames\n"), strMyName); break; case DMT_SPIKESTAB: CPrintF(TRANS("%s fell into a spike-hole\n"), strMyName); break; case DMT_FREEZING: CPrintF(TRANS("%s has frozen\n"), strMyName); break; case DMT_ACID: CPrintF(TRANS("%s dissolved\n"), strMyName); break; case DMT_PROJECTILE: case DMT_EXPLOSION: CPrintF(TRANS("%s blew himself away\n"), strMyName); break; default: CPrintF(TRANS("%s has committed suicide\n"), strMyName); } } // if killed by an enemy } else if (IsDerivedFromClass(penKiller, "Enemy Base")) { // check for telefrag first if(eDeath.eLastDamage.dmtType==DMT_TELEPORT) { CPrintF(TRANS("%s was telefragged\n"), strMyName); return; } // describe how this enemy killed player CPrintF("%s\n", (const char*)((CEnemyBase*)penKiller)->GetPlayerKillDescription(strMyName, eDeath)); // if killed by some other entity } else { // make message from damage type switch(eDeath.eLastDamage.dmtType) { case DMT_SPIKESTAB: CPrintF(TRANS("%s was pierced\n"), strMyName); break; case DMT_BRUSH: CPrintF(TRANS("%s was squashed\n"), strMyName); break; case DMT_ABYSS: CPrintF(TRANS("%s went over the edge\n"), strMyName); break; case DMT_IMPACT: CPrintF(TRANS("%s swashed\n"), strMyName); break; case DMT_HEAT: CPrintF(TRANS("%s stood in the sun for too long\n"), strMyName); break; default: CPrintF(TRANS("%s passed away\n"), strMyName); } } // if no entity pointer (shouldn't happen) } else { CPrintF(TRANS("%s is missing in action\n"), strMyName); } } void CPlayer::SetDefaultProperties(void) { m_strName = ""; m_ulLastButtons = 0x0; m_fArmor = 0.0f; m_strGroup = ""; m_ulKeys = 0; m_fMaxHealth = 1; m_ulFlags = 0; m_penWeapons = NULL; m_penAnimator = NULL; m_penView = NULL; m_pen3rdPersonView = NULL; m_iViewState = PVT_PLAYEREYES ; m_iLastViewState = PVT_PLAYEREYES ; m_aoLightAnimation.SetData(NULL); m_fDamageAmmount = 0.0f; m_tmWoundedTime = 0.0f; m_tmScreamTime = 0.0f; m_iGender = GENDER_MALE ; m_pstState = PST_STAND ; m_fFallTime = 0.0f; m_fSwimTime = 0.0f; m_tmOutOfWater = 0.0f; m_tmMoveSound = 0.0f; m_bMoveSoundLeft = TRUE ; m_tmNextAmbientOnce = 0.0f; m_tmMouthSoundLast = 0.0f; m_penCamera = NULL; m_strCenterMessage = ""; m_tmCenterMessageEnd = 0.0f; m_bPendingMessage = FALSE ; m_tmMessagePlay = 0.0f; m_tmAnalyseEnd = 0.0f; m_bComputerInvoked = FALSE ; m_tmAnimateInbox = -100.0f; m_penMainMusicHolder = NULL; m_tmLastDamage = -1.0f; m_fMaxDamageAmmount = 0.0f; m_vDamage = FLOAT3D(0 , 0 , 0); m_tmSpraySpawned = -1.0f; m_fSprayDamage = 0.0f; m_penSpray = NULL; m_soWeapon0.SetOwner(this); m_soWeapon0.Stop_internal(); m_soWeapon1.SetOwner(this); m_soWeapon1.Stop_internal(); m_soWeapon2.SetOwner(this); m_soWeapon2.Stop_internal(); m_soWeapon3.SetOwner(this); m_soWeapon3.Stop_internal(); m_soWeaponAmbient.SetOwner(this); m_soWeaponAmbient.Stop_internal(); m_soPowerUpBeep.SetOwner(this); m_soPowerUpBeep.Stop_internal(); m_soMouth.SetOwner(this); m_soMouth.Stop_internal(); m_soFootL.SetOwner(this); m_soFootL.Stop_internal(); m_soFootR.SetOwner(this); m_soFootR.Stop_internal(); m_soBody.SetOwner(this); m_soBody.Stop_internal(); m_soLocalAmbientLoop.SetOwner(this); m_soLocalAmbientLoop.Stop_internal(); m_soLocalAmbientOnce.SetOwner(this); m_soLocalAmbientOnce.Stop_internal(); m_soMessage.SetOwner(this); m_soMessage.Stop_internal(); m_soHighScore.SetOwner(this); m_soHighScore.Stop_internal(); m_soSpeech.SetOwner(this); m_soSpeech.Stop_internal(); m_soSniperZoom.SetOwner(this); m_soSniperZoom.Stop_internal(); m_iMana = 0; m_fManaFraction = 0.0f; m_iHighScore = 0; m_iBeatenHighScore = 0; m_tmLatency = 0.0f; m_tmLatencyLastAvg = 0.0f; m_tmLatencyAvgSum = 0.0f; m_ctLatencyAvg = 0; m_bEndOfLevel = FALSE ; m_bEndOfGame = FALSE ; m_iMayRespawn = 0; m_tmSpawned = 0.0f; m_vDied = FLOAT3D(0 , 0 , 0); m_aDied = FLOAT3D(0 , 0 , 0); m_tmEstTime = 0.0f; m_iTimeScore = 0; m_iStartTime = 0; m_iEndTime = 0; m_tmLevelStarted = 0.0f; m_strLevelStats = ""; m_penActionMarker = NULL; m_fAutoSpeed = 0.0f; m_iAutoOrgWeapon = 0; m_vAutoSpeed = FLOAT3D(0 , 0 , 0); m_tmSpiritStart = 0.0f; m_tmFadeStart = 0.0f; m_tmLastPicked = -10000.0f; m_strPickedName = ""; m_fPickedAmmount = 0.0f; m_fPickedMana = 0.0f; m_iLastHealth = 0; m_iLastArmor = 0; m_iLastAmmo = 0; m_tmHealthChanged = -9; m_tmArmorChanged = -9; m_tmAmmoChanged = -9; m_tmMinigunAutoFireStart = -1.0f; m_vLastStain = FLOAT3D(0 , 0 , 0); m_aLastRotation = FLOAT3D(0 , 0 , 0); m_aLastViewRotation = FLOAT3D(0 , 0 , 0); m_vLastTranslation = FLOAT3D(0 , 0 , 0); m_aLocalRotation = FLOAT3D(0 , 0 , 0); m_aLocalViewRotation = FLOAT3D(0 , 0 , 0); m_vLocalTranslation = FLOAT3D(0 , 0 , 0); m_tmInvisibility = 0.0f; m_tmInvulnerability = 0.0f; m_tmSeriousDamage = 0.0f; m_tmSeriousSpeed = 0.0f; m_tmInvisibilityMax = 30.0f; m_tmInvulnerabilityMax = 30.0f; m_tmSeriousDamageMax = 40.0f; m_tmSeriousSpeedMax = 20.0f; m_tmChainShakeEnd = 0.0f; m_fChainShakeStrength = 1.0f; m_fChainShakeFreqMod = 1.0f; m_fChainsawShakeDX = 0.0f; m_fChainsawShakeDY = 0.0f; m_iSeriousBombCount = 0; m_iLastSeriousBombCount = 0; m_tmSeriousBombFired = -10.0f; m_penPrediction = NULL; CPlayerEntity::SetDefaultProperties(); } #line 1284 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX CPlayer::GenderSound(INDEX iSound) #line 1285 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1286 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return iSound + m_iGender * GENDEROFFSET ; #line 1287 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1289 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::AddBouble(FLOAT3D vPos,FLOAT3D vSpeedRelative) #line 1290 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1291 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ShellLaunchData & sld = m_asldData [ m_iFirstEmptySLD ]; #line 1292 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sld . sld_vPos = vPos ; #line 1293 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const FLOATmatrix3D & m = GetRotationMatrix (); #line 1294 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vUp (m (1 , 2) , m (2 , 2) , m (3 , 2)); #line 1295 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sld . sld_vUp = vUp ; #line 1296 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sld . sld_vSpeed = vSpeedRelative * m ; #line 1297 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sld . sld_tmLaunch = _pTimer -> CurrentTick (); #line 1298 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sld . sld_estType = ESL_BUBBLE ; #line 1300 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iFirstEmptySLD = (m_iFirstEmptySLD + 1) % MAX_FLYING_SHELLS ; #line 1301 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1303 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ClearShellLaunchData(void) #line 1304 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1306 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iFirstEmptySLD = 0; #line 1307 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iShell = 0;iShell < MAX_FLYING_SHELLS ;iShell ++) #line 1308 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1309 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_asldData [ iShell ] . sld_tmLaunch = - 100.0f; #line 1310 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1311 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1313 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::AddBulletSpray(FLOAT3D vPos,EffectParticlesType eptType,FLOAT3D vStretch) #line 1314 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1315 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BulletSprayLaunchData & bsld = m_absldData [ m_iFirstEmptyBSLD ]; #line 1316 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bsld . bsld_vPos = vPos ; #line 1317 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bsld . bsld_vG = en_vGravityDir ; #line 1318 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bsld . bsld_eptType = eptType ; #line 1319 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bsld . bsld_iRndBase = FRnd () * 123456; #line 1320 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bsld . bsld_tmLaunch = _pTimer -> CurrentTick (); #line 1321 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bsld . bsld_vStretch = vStretch ; #line 1323 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iFirstEmptyBSLD = (m_iFirstEmptyBSLD + 1) % MAX_BULLET_SPRAYS ; #line 1324 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1326 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ClearBulletSprayLaunchData(void) #line 1327 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1328 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iFirstEmptyBSLD = 0; #line 1329 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iBulletSpray = 0;iBulletSpray < MAX_BULLET_SPRAYS ;iBulletSpray ++) #line 1330 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1331 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_absldData [ iBulletSpray ] . bsld_tmLaunch = - 100.0f; #line 1332 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1333 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1335 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::AddGoreSpray(FLOAT3D vPos,FLOAT3D v3rdPos,SprayParticlesType sptType,FLOAT3D vSpilDirection, #line 1336 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATaabbox3D boxHitted,FLOAT fDamagePower,COLOR colParticles) #line 1337 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1338 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GoreSprayLaunchData & gsld = m_agsldData [ m_iFirstEmptyGSLD ]; #line 1339 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_vPos = vPos ; #line 1340 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_v3rdPos = v3rdPos ; #line 1341 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_vG = en_vGravityDir ; #line 1342 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_fGA = en_fGravityA ; #line 1343 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_sptType = sptType ; #line 1344 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_boxHitted = boxHitted ; #line 1345 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_vSpilDirection = vSpilDirection ; #line 1346 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_fDamagePower = fDamagePower ; #line 1347 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_tmLaunch = _pTimer -> CurrentTick (); #line 1348 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_colParticles = colParticles ; #line 1350 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iFirstEmptyGSLD = (m_iFirstEmptyGSLD + 1) % MAX_GORE_SPRAYS ; #line 1351 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1353 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ClearGoreSprayLaunchData(void) #line 1354 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1355 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iFirstEmptyGSLD = 0; #line 1356 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iGoreSpray = 0;iGoreSpray < MAX_GORE_SPRAYS ;iGoreSpray ++) #line 1357 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1358 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_agsldData [ iGoreSpray ] . gsld_tmLaunch = - 100.0f; #line 1359 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1360 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } CPlayer::CPlayer(void) #line 1363 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1365 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bUseButtonHeld = FALSE ; #line 1366 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ClearShellLaunchData (); #line 1367 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ClearBulletSprayLaunchData (); #line 1368 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ClearGoreSprayLaunchData (); #line 1369 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmPredict = 0; #line 1375 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1377 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" class CPlayerWeapons * CPlayer::GetPlayerWeapons(void) #line 1378 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1379 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (m_penWeapons != NULL ); #line 1380 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return (CPlayerWeapons *) & * m_penWeapons ; #line 1381 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1382 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" class CPlayerAnimator * CPlayer::GetPlayerAnimator(void) #line 1383 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1384 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (m_penAnimator != NULL ); #line 1385 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return (CPlayerAnimator *) & * m_penAnimator ; #line 1386 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1388 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerSettings * CPlayer::GetSettings(void) #line 1389 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1390 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return (CPlayerSettings *) en_pcCharacter . pc_aubAppearance ; #line 1391 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } void CPlayer::Copy(CEntity & enOther,ULONG ulFlags) #line 1394 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1395 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: Copy (enOther , ulFlags ); #line 1396 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penOther = (CPlayer *) (& enOther ); #line 1397 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_moRender . Copy (penOther -> m_moRender ); #line 1398 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats = penOther -> m_psLevelStats ; #line 1399 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelTotal = penOther -> m_psLevelTotal ; #line 1400 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats = penOther -> m_psGameStats ; #line 1401 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameTotal = penOther -> m_psGameTotal ; #line 1404 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulFlags & COPY_PREDICTOR ) #line 1405 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1407 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" memcpy (m_asldData , penOther -> m_asldData , sizeof (m_asldData )); #line 1408 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iFirstEmptySLD = penOther -> m_iFirstEmptySLD ; #line 1410 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_acmiMessages . Clear (); #line 1411 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctUnreadMessages = 0; #line 1413 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetupLightSource (); #line 1416 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1418 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_acmiMessages = penOther -> m_acmiMessages ; #line 1419 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctUnreadMessages = penOther -> m_ctUnreadMessages ; #line 1420 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1421 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1424 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::UpdateLatency(FLOAT tmLatencyNow) #line 1425 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1426 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmNow = _pTimer -> GetHighPrecisionTimer () . GetSeconds (); #line 1429 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmNow < m_tmLatencyLastAvg + hud_tmLatencySnapshot ){ #line 1431 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmLatencyAvgSum += tmLatencyNow ; #line 1432 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctLatencyAvg ++; #line 1435 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1437 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmLatency = m_tmLatencyAvgSum / m_ctLatencyAvg ; #line 1439 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmLatencyAvgSum = 0.0f; #line 1440 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctLatencyAvg = 0; #line 1441 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmLatencyLastAvg = tmNow ; #line 1442 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1444 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){ #line 1445 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_tmPing = m_tmLatency ; #line 1446 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" net_tmLatencyAvg = en_tmPing ; #line 1447 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1448 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1451 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ValidateCharacter(void) #line 1452 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1454 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer ){ #line 1456 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerSettings * pps = (CPlayerSettings *) en_pcCharacter . pc_aubAppearance ; #line 1457 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" memset (pps -> ps_achModelFile , 0 , sizeof (pps -> ps_achModelFile )); #line 1458 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1459 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1461 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ParseGender(CTString & strName) #line 1462 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1463 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(strName . RemovePrefix ("#male#")){ #line 1464 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iGender = GENDER_MALE ; #line 1465 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(strName . RemovePrefix ("#female#")){ #line 1466 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iGender = GENDER_FEMALE ; #line 1467 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1468 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iGender = GENDER_MALE ; #line 1469 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1470 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1472 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::CheckHighScore(void) #line 1473 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1475 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! _pNetwork -> IsPlayingDemo ()){ #line 1477 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(plr_iHiScore > m_iHighScore ){ #line 1478 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iHighScore = plr_iHiScore ; #line 1479 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1480 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1483 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_psGameStats . ps_iScore > m_iHighScore ){ #line 1485 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iHighScore > m_iBeatenHighScore ){ #line 1487 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iBeatenHighScore = m_iHighScore ; #line 1489 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soHighScore . Set3DParameters (25.0f , 5.0f , 1.0f , 1.0f); #line 1491 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1492 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1493 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1495 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString CPlayer::GetPredictName(void)const #line 1496 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1497 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsPredicted ()){ #line 1498 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return "PREDICTED"; #line 1499 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(IsPredictor ()){ #line 1500 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return "predictor"; #line 1501 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(GetFlags () & ENF_WILLBEPREDICTED ){ #line 1502 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return "WILLBEPREDICTED"; #line 1503 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1504 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return "no prediction"; #line 1505 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1506 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1508 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::Write_t(CTStream * ostr) #line 1509 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1510 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: Write_t (ostr ); #line 1512 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ostr -> WriteID_t ("MSGS"); #line 1513 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctMsg = m_acmiMessages . Count (); #line 1514 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (* ostr ) << ctMsg ; #line 1515 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iMsg = 0;iMsg < ctMsg ;iMsg ++){ #line 1516 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_acmiMessages [ iMsg ] . Write_t (* ostr ); #line 1517 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1518 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ostr -> Write_t (& m_psLevelStats , sizeof (m_psLevelStats )); #line 1519 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ostr -> Write_t (& m_psLevelTotal , sizeof (m_psLevelTotal )); #line 1520 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ostr -> Write_t (& m_psGameStats , sizeof (m_psGameStats )); #line 1521 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ostr -> Write_t (& m_psGameTotal , sizeof (m_psGameTotal )); #line 1522 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1524 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::Read_t(CTStream * istr) #line 1525 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1526 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: Read_t (istr ); #line 1528 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ClearShellLaunchData (); #line 1529 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ClearBulletSprayLaunchData (); #line 1530 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ClearGoreSprayLaunchData (); #line 1532 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" istr -> ExpectID_t ("MSGS"); #line 1533 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctMsg ; #line 1534 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (* istr ) >> ctMsg ; #line 1535 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_acmiMessages . Clear (); #line 1536 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctUnreadMessages = 0; #line 1537 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ctMsg > 0){ #line 1538 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_acmiMessages . Push (ctMsg ); #line 1539 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iMsg = 0;iMsg < ctMsg ;iMsg ++){ #line 1540 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_acmiMessages [ iMsg ] . Read_t (* istr ); #line 1541 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! m_acmiMessages [ iMsg ] . cmi_bRead ){ #line 1542 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctUnreadMessages ++; #line 1543 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1544 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1545 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1547 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" istr -> Read_t (& m_psLevelStats , sizeof (m_psLevelStats )); #line 1548 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" istr -> Read_t (& m_psLevelTotal , sizeof (m_psLevelTotal )); #line 1549 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" istr -> Read_t (& m_psGameStats , sizeof (m_psGameStats )); #line 1550 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" istr -> Read_t (& m_psGameTotal , sizeof (m_psGameTotal )); #line 1553 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ValidateCharacter (); #line 1554 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strDummy ; #line 1555 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPlayerAppearance (& m_moRender , & en_pcCharacter , strDummy , FALSE ); #line 1556 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ParseGender (strDummy ); #line 1557 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_SYNCWEAPON ; #line 1559 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetupLightSource (); #line 1560 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1563 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CLightSource * CPlayer::GetLightSource(void) #line 1564 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1565 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! IsPredictor ()){ #line 1566 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return & m_lsLightSource ; #line 1567 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1568 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return NULL ; #line 1569 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1570 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1573 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetPredictionTime(TIME tmAdvance) #line 1574 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1575 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmPredict = _pTimer -> CurrentTick () + tmAdvance ; #line 1576 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1579 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME CPlayer::GetPredictionTime(void) #line 1580 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1581 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return m_tmPredict ; #line 1582 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1585 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT CPlayer::GetPredictionRange(void) #line 1586 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1587 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return cli_fPredictPlayersRange ; #line 1588 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1591 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::AddDependentsToPrediction(void) #line 1592 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1593 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penWeapons -> AddToPrediction (); #line 1594 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penAnimator -> AddToPrediction (); #line 1595 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penView -> AddToPrediction (); #line 1596 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pen3rdPersonView -> AddToPrediction (); #line 1597 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1600 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME CPlayer::GetStatsInGameTimeLevel(void) #line 1601 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1602 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bEndOfLevel ){ #line 1603 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return m_psLevelStats . ps_tmTime ; #line 1604 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1605 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return _pNetwork -> GetGameTime () - m_tmLevelStarted ; #line 1606 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1607 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1608 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME CPlayer::GetStatsInGameTimeGame(void) #line 1609 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1610 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bEndOfLevel ){ #line 1611 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return m_psGameStats . ps_tmTime ; #line 1612 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1613 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return m_psGameStats . ps_tmTime + (_pNetwork -> GetGameTime () - m_tmLevelStarted ); #line 1614 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1615 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1617 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT CPlayer::GetStatsRealWorldTime(void) #line 1618 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1619 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" time_t timeNow ; #line 1620 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bEndOfLevel ){ #line 1621 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" timeNow = m_iEndTime ; #line 1622 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1623 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" time (& timeNow ); #line 1624 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1625 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return (FLOAT) difftime (timeNow , m_iStartTime ); #line 1626 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1628 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString CPlayer::GetStatsRealWorldStarted(void) #line 1629 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1630 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" struct tm * newtime ; #line 1631 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" newtime = localtime ((const time_t *) & m_iStartTime ); #line 1633 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" setlocale (LC_ALL , ""); #line 1634 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strTimeline ; #line 1635 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" char achTimeLine [ 256 ]; #line 1636 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strftime (achTimeLine , sizeof (achTimeLine ) - 1 , "%a %x %H:%M" , newtime ); #line 1637 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strTimeline = achTimeLine ; #line 1638 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" setlocale (LC_ALL , "C"); #line 1639 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return strTimeline ; #line 1640 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } void CPlayer::GetStats(CTString & strStats,const CompStatType csType,INDEX ctCharsPerRow) #line 1644 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1647 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(csType == CST_SHORT ){ #line 1648 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetShortStats (strStats ); #line 1649 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1650 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (csType == CST_DETAIL ); #line 1652 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats = "\n"; #line 1653 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _ctAlignWidth = Min (ctCharsPerRow , INDEX (60)); #line 1655 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bCooperative ){ #line 1656 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer ){ #line 1657 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetDetailStatsSP (strStats , 0); #line 1658 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1659 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetDetailStatsCoop (strStats ); #line 1660 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1661 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1662 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetDetailStatsDM (strStats ); #line 1663 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1664 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1665 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1668 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::GetShortStats(CTString & strStats) #line 1669 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1670 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats . PrintF (TRANS ("%s %s Score: %d Kills: %d/%d") , #line 1671 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetDifficultyString () , TimeToString (GetStatsInGameTimeLevel ()) , #line 1672 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iScore , m_psLevelStats . ps_iKills , m_psLevelTotal . ps_iKills ); #line 1673 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1676 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::GetDetailStatsDM(CTString & strStats) #line 1677 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1678 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" extern INDEX SetAllPlayersStats (INDEX iSortKey ); #line 1679 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" extern CPlayer * _apenPlayers [ NET_MAXGAMEPLAYERS ]; #line 1681 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const BOOL bFragMatch = GetSP () -> sp_bUseFrags ; #line 1684 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const INDEX ctPlayers = SetAllPlayersStats (bFragMatch ? 5 : 3); #line 1687 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%s" , TRANS ("TIME") , TimeToString (_pNetwork -> GetGameTime ()))); #line 1688 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1691 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iMaxFrags = LowerLimit (INDEX (0)); #line 1692 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iMaxScore = LowerLimit (INDEX (0)); #line 1693 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" {for(INDEX iPlayer = 0;iPlayer < ctPlayers ;iPlayer ++){ #line 1694 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penPlayer = _apenPlayers [ iPlayer ]; #line 1695 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iMaxFrags = Max (iMaxFrags , penPlayer -> m_psLevelStats . ps_iKills ); #line 1696 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iMaxScore = Max (iMaxScore , penPlayer -> m_psLevelStats . ps_iScore ); #line 1697 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }} #line 1700 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const CSessionProperties & sp = * GetSP (); #line 1701 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(sp . sp_iTimeLimit > 0){ #line 1702 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fTimeLeft = ClampDn (sp . sp_iTimeLimit * 60.0f - _pNetwork -> GetGameTime () , 0.0f); #line 1703 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%s" , TRANS ("TIME LEFT") , TimeToString (fTimeLeft ))); #line 1704 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1705 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1706 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bFragMatch && sp . sp_iFragLimit > 0){ #line 1707 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iFragsLeft = ClampDn (sp . sp_iFragLimit - iMaxFrags , INDEX (0)); #line 1708 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%d" , TRANS ("FRAGS LEFT") , iFragsLeft )); #line 1709 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1710 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1711 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! bFragMatch && sp . sp_iScoreLimit > 0){ #line 1712 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iScoreLeft = ClampDn (sp . sp_iScoreLimit - iMaxScore , INDEX (0)); #line 1713 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%d" , TRANS ("SCORE LEFT") , iScoreLeft )); #line 1714 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1715 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1716 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1718 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strRank = TRANS ("NO."); #line 1719 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strFrag = bFragMatch ? TRANS ("FRAGS") : TRANS ("SCORE"); #line 1720 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPing = TRANS ("PING"); #line 1721 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strName = TRANS ("PLAYER"); #line 1722 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctRankChars = Max (strRank . Length () , INDEX (3)); #line 1723 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctFragChars = Max (strFrag . Length () , INDEX (7)); #line 1724 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctPingChars = Max (strPing . Length () , INDEX (5)); #line 1725 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctNameChars = Max (strName . Length () , INDEX (20)); #line 1728 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "^cFFFFFF"; #line 1729 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringRight (strRank , ctRankChars ) + " "; #line 1730 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringLeft (strFrag , ctFragChars ) + " "; #line 1731 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringLeft (strPing , ctPingChars ) + " "; #line 1732 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringRight (strName , ctNameChars ) + " "; #line 1733 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "^r"; #line 1734 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n\n"; #line 1735 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" {for(INDEX iPlayer = 0;iPlayer < ctPlayers ;iPlayer ++){ #line 1736 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strLine ; #line 1737 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penPlayer = _apenPlayers [ iPlayer ]; #line 1738 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iPing = ceil (penPlayer -> en_tmPing * 1000.0f); #line 1739 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iScore = bFragMatch ? penPlayer -> m_psLevelStats . ps_iKills : penPlayer -> m_psLevelStats . ps_iScore ; #line 1740 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strName = penPlayer -> GetPlayerName (); #line 1742 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringRight (CTString (0 , "%d" , iPlayer + 1) , ctRankChars ) + " "; #line 1743 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringLeft (CTString (0 , "%d" , iScore ) , ctFragChars ) + " "; #line 1744 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringLeft (CTString (0 , "%d" , iPing ) , ctPingChars ) + " "; #line 1745 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += PadStringRight (strName , ctNameChars ) + " "; #line 1746 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1747 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }} #line 1748 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1751 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::GetDetailStatsCoop(CTString & strStats) #line 1752 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1754 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "^b" + CenterString (TRANS ("YOUR STATS")) + "^r\n"; #line 1755 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1756 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetDetailStatsSP (strStats , 1); #line 1759 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" extern INDEX SetAllPlayersStats (INDEX iSortKey ); #line 1760 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" extern CPlayer * _apenPlayers [ NET_MAXGAMEPLAYERS ]; #line 1761 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const INDEX ctPlayers = SetAllPlayersStats (3); #line 1764 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlayerStats psSquadLevel = PlayerStats (); #line 1765 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlayerStats psSquadGame = PlayerStats (); #line 1766 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" {for(INDEX iPlayer = 0;iPlayer < ctPlayers ;iPlayer ++){ #line 1767 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penPlayer = _apenPlayers [ iPlayer ]; #line 1769 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (penPlayer != NULL ); #line 1770 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlayerStats psLevel = penPlayer -> m_psLevelStats ; #line 1771 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlayerStats psGame = penPlayer -> m_psGameStats ; #line 1772 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadLevel . ps_iScore += psLevel . ps_iScore ; #line 1773 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadLevel . ps_iKills += psLevel . ps_iKills ; #line 1774 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadLevel . ps_iDeaths += psLevel . ps_iDeaths ; #line 1775 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadLevel . ps_iSecrets += psLevel . ps_iSecrets ; #line 1776 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadGame . ps_iScore += psGame . ps_iScore ; #line 1777 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadGame . ps_iKills += psGame . ps_iKills ; #line 1778 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadGame . ps_iDeaths += psGame . ps_iDeaths ; #line 1779 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" psSquadGame . ps_iSecrets += psGame . ps_iSecrets ; #line 1780 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }} #line 1783 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1784 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "^b" + CenterString (TRANS ("SQUAD TOTAL")) + "^r\n"; #line 1785 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1786 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += CTString (0 , "^cFFFFFF%s^r" , TranslateConst (en_pwoWorld -> GetName () , 0)); #line 1787 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1788 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("SCORE") , psSquadLevel . ps_iScore )); #line 1789 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1790 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("DEATHS") , psSquadLevel . ps_iDeaths )); #line 1791 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1792 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("KILLS") , psSquadLevel . ps_iKills , m_psLevelTotal . ps_iKills )); #line 1793 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1794 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("SECRETS") , psSquadLevel . ps_iSecrets , m_psLevelTotal . ps_iSecrets )); #line 1795 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1796 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1797 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += CTString ("^cFFFFFF") + TRANS ("TOTAL") + "^r\n"; #line 1798 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("SCORE") , psSquadGame . ps_iScore )); #line 1799 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1800 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("DEATHS") , psSquadGame . ps_iDeaths )); #line 1801 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1802 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("KILLS") , psSquadGame . ps_iKills , m_psGameTotal . ps_iKills )); #line 1803 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1804 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("SECRETS") , psSquadGame . ps_iSecrets , m_psGameTotal . ps_iSecrets )); #line 1805 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1806 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1809 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1810 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "^b" + CenterString (TRANS ("OTHER PLAYERS")) + "^r\n"; #line 1811 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1814 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" {for(INDEX iPlayer = 0;iPlayer < ctPlayers ;iPlayer ++){ #line 1815 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penPlayer = _apenPlayers [ iPlayer ]; #line 1817 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penPlayer == this ){ #line 1819 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" continue ; #line 1820 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1822 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "^cFFFFFF" + CenterString (penPlayer -> GetPlayerName ()) + "^r\n\n"; #line 1823 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penPlayer -> GetDetailStatsSP (strStats , 2); #line 1824 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1825 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }} #line 1826 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1829 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::GetDetailStatsSP(CTString & strStats,INDEX iCoopType) #line 1830 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1831 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType <= 1){ #line 1832 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bEndOfGame ){ #line 1833 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_gdGameDifficulty == CSessionProperties :: GD_EXTREME ){ #line 1834 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += TRANS ("^f4SERIOUS GAME FINISHED,\nMENTAL MODE IS NOW ENABLED!^F\n\n"); #line 1835 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(GetSP () -> sp_bMental ){ #line 1836 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += TRANS ("^f4YOU HAVE MASTERED THE GAME!^F\n\n"); #line 1837 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1838 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1839 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1841 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType <= 1){ #line 1843 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%d" , TRANS ("TOTAL SCORE") , m_psGameStats . ps_iScore )); #line 1844 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1845 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%s" , TRANS ("DIFFICULTY") , GetDifficultyString ())); #line 1846 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1847 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%s" , TRANS ("STARTED") , GetStatsRealWorldStarted ())); #line 1848 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1849 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%s" , TRANS ("PLAYING TIME") , TimeToString (GetStatsRealWorldTime ()))); #line 1850 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1851 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_psGameStats . ps_iScore <= plr_iHiScore ){ #line 1852 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , "^cFFFFFF%s:^r\n%d" , TRANS ("HI-SCORE") , plr_iHiScore )); #line 1853 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1854 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += TRANS ("YOU BEAT THE HI-SCORE!"); #line 1855 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1856 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n\n"; #line 1857 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1860 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += CTString (0 , "^cFFFFFF%s^r" , TranslateConst (en_pwoWorld -> GetName () , 0)); #line 1861 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1862 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType <= 1){ #line 1863 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bEndOfLevel ){ #line 1864 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%s" , TRANS ("ESTIMATED TIME") , TimeToString (m_tmEstTime ))); #line 1865 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1866 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("TIME BONUS") , m_iTimeScore )); #line 1867 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1868 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1869 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1872 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1873 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("SCORE") , m_psLevelStats . ps_iScore )); #line 1874 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1875 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("KILLS") , m_psLevelStats . ps_iKills , m_psLevelTotal . ps_iKills )); #line 1876 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1877 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType >= 1){ #line 1878 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("DEATHS") , m_psLevelStats . ps_iDeaths , m_psLevelTotal . ps_iDeaths )); #line 1879 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1880 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1881 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("SECRETS") , m_psLevelStats . ps_iSecrets , m_psLevelTotal . ps_iSecrets )); #line 1882 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1883 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType <= 1){ #line 1884 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%s" , TRANS ("TIME") , TimeToString (GetStatsInGameTimeLevel ()))); #line 1885 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1886 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1887 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1890 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += CTString ("^cFFFFFF") + TRANS ("TOTAL") + "^r"; #line 1891 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1892 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("SCORE") , m_psGameStats . ps_iScore )); #line 1893 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1894 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("KILLS") , m_psGameStats . ps_iKills , m_psGameTotal . ps_iKills )); #line 1895 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1896 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType >= 1){ #line 1897 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d" , TRANS ("DEATHS") , m_psGameStats . ps_iDeaths , m_psGameTotal . ps_iDeaths )); #line 1898 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1899 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1900 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%d/%d" , TRANS ("SECRETS") , m_psGameStats . ps_iSecrets , m_psGameTotal . ps_iSecrets )); #line 1901 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1902 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType <= 1){ #line 1903 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += AlignString (CTString (0 , " %s:\n%s" , TRANS ("GAME TIME") , TimeToString (GetStatsInGameTimeGame ()))); #line 1904 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1905 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1906 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += "\n"; #line 1909 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iCoopType < 1){ #line 1910 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_strLevelStats != ""){ #line 1911 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats += CTString ("^cFFFFFF") + TRANS ("Per level statistics") + "^r\n\n" + m_strLevelStats ; #line 1912 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1913 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1914 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1917 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::GetGameAgentPlayerInfo(INDEX iPlayer,CTString & strOut) #line 1918 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1919 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPlayerName = GetPlayerName (); #line 1920 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iLen = strlen (strPlayerName ); #line 1921 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX i = 0;i < iLen ;i ++){ #line 1922 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(strPlayerName [ i ] == '\r' || strPlayerName [ i ] == '\n'){ #line 1924 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPlayerName = "\x11"; #line 1925 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 1926 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(strPlayerName [ i ] < 32){ #line 1928 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPlayerName = "\x12"; #line 1929 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 1930 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1931 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1933 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strKey ; #line 1934 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strKey . PrintF ("player_%d\x02%s\x03" , iPlayer , (const char *) strPlayerName ); #line 1935 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strOut += strKey ; #line 1936 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bUseFrags ){ #line 1937 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strKey . PrintF ("frags_%d\x02%d\x03" , iPlayer , m_psLevelStats . ps_iKills ); #line 1938 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strOut += strKey ; #line 1939 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 1940 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strKey . PrintF ("frags_%d\x02%d\x03" , iPlayer , m_psLevelStats . ps_iScore ); #line 1941 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strOut += strKey ; #line 1942 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1943 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strKey . PrintF ("ping_%d\x02%d\x03" , iPlayer , INDEX (ceil (en_tmPing * 1000.0f))); #line 1944 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strOut += strKey ; #line 1945 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1948 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL CPlayer::HasMessage(const CTFileName & fnmMessage) #line 1949 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1950 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulHash = fnmMessage . GetHash (); #line 1951 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctMsg = m_acmiMessages . Count (); #line 1952 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iMsg = 0;iMsg < ctMsg ;iMsg ++){ #line 1953 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_acmiMessages [ iMsg ] . cmi_ulHash == ulHash && #line 1954 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_acmiMessages [ iMsg ] . cmi_fnmFileName == fnmMessage ){ #line 1955 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 1956 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1957 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1958 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return FALSE ; #line 1959 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1962 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ReceiveComputerMessage(const CTFileName & fnmMessage,ULONG ulFlags) #line 1963 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1965 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(HasMessage (fnmMessage )){ #line 1967 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 1968 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1970 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CCompMessageID & cmi = m_acmiMessages . Push (); #line 1971 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmi . NewMessage (fnmMessage ); #line 1972 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmi . cmi_bRead = ulFlags & CMF_READ ; #line 1973 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (ulFlags & CMF_READ )){ #line 1974 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctUnreadMessages ++; #line 1975 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_bUpdateInBackground = TRUE ; #line 1976 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1977 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (ulFlags & CMF_READ ) && (ulFlags & CMF_ANALYZE )){ #line 1978 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmAnalyseEnd = _pTimer -> CurrentTick () + 2.0f; #line 1979 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soMessage . Set3DParameters (25.0f , 5.0f , 1.0f , 1.0f); #line 1980 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMessage , SOUND_INFO , SOF_3D | SOF_VOLUMETRIC | SOF_LOCAL ); #line 1981 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1982 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1984 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SayVoiceMessage(const CTFileName & fnmMessage) #line 1985 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1986 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSettings () -> ps_ulFlags & PSF_NOQUOTES ){ #line 1987 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 1988 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1989 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetSpeakMouthPitch (); #line 1990 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSpeech , fnmMessage , SOF_3D | SOF_VOLUMETRIC ); #line 1991 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 1994 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::CheatAllMessagesDir(const CTString & strDir,ULONG ulFlags) #line 1995 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 1997 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CDynamicStackArray < CTFileName > afnmDir ; #line 1998 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" MakeDirList (afnmDir , strDir , "*.txt" , DLI_RECURSIVE ); #line 2001 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX i = 0;i < afnmDir . Count ();i ++){ #line 2002 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTFileName fnm = afnmDir [ i ]; #line 2004 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ReceiveComputerMessage (fnm , ulFlags ); #line 2005 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2006 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2009 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::CheatAllMessages(void) #line 2010 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2014 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessagesDir ("Data\\Messages\\weapons\\" , 0); #line 2015 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessagesDir ("Data\\Messages\\enemies\\" , 0); #line 2016 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessagesDir ("DataMP\\Messages\\enemies\\" , 0); #line 2017 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessagesDir ("DataMP\\Messages\\information\\" , 0); #line 2018 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessagesDir ("DataMP\\Messages\\statistics\\" , 0); #line 2019 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessagesDir ("DataMP\\Messages\\weapons\\" , 0); #line 2020 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessagesDir ("DataMP\\Messages\\background\\" , 0); #line 2021 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2024 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ItemPicked(const CTString & strName,FLOAT fAmmount) #line 2025 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2027 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pTimer -> CurrentTick () > m_tmLastPicked + PICKEDREPORT_TIME ){ #line 2029 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_strPickedName = ""; #line 2031 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fPickedMana = 0; #line 2032 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2034 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_strPickedName != strName ){ #line 2036 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_strPickedName = strName ; #line 2038 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fPickedAmmount = 0; #line 2039 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2041 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fPickedAmmount += fAmmount ; #line 2042 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmLastPicked = _pTimer -> CurrentTick (); #line 2043 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2046 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetupLightSource(void) #line 2047 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2049 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CLightSource lsNew ; #line 2050 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" lsNew . ls_ulFlags = LSF_NONPERSISTENT | LSF_DYNAMIC ; #line 2051 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" lsNew . ls_rHotSpot = 1.0f; #line 2052 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" lsNew . ls_colColor = C_WHITE ; #line 2053 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" lsNew . ls_rFallOff = 2.5f; #line 2054 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" lsNew . ls_plftLensFlare = NULL ; #line 2055 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" lsNew . ls_ubPolygonalMask = 0; #line 2056 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" lsNew . ls_paoLightAnimation = & m_aoLightAnimation ; #line 2058 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_lsLightSource . ls_penEntity = this ; #line 2059 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_lsLightSource . SetLightSource (lsNew ); #line 2060 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2063 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::PlayLightAnim(INDEX iAnim,ULONG ulFlags) { #line 2064 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_aoLightAnimation . GetData () != NULL ){ #line 2065 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_aoLightAnimation . PlayAnim (iAnim , ulFlags ); #line 2066 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2067 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2070 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL CPlayer::AdjustShadingParameters(FLOAT3D & vLightDirection,COLOR & colLight,COLOR & colAmbient) #line 2071 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2072 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bDumpPlayerShading ) #line 2073 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2074 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D a3dHPB ; #line 2075 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" DirectionVectorToAngles (- vLightDirection , a3dHPB ); #line 2076 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UBYTE ubAR , ubAG , ubAB ; #line 2077 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UBYTE ubCR , ubCG , ubCB ; #line 2078 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ColorToRGB (colAmbient , ubAR , ubAG , ubAB ); #line 2079 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ColorToRGB (colLight , ubCR , ubCG , ubCB ); #line 2080 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF ("Ambient: %d,%d,%d, Color: %d,%d,%d, Direction HPB (%g,%g,%g)\n" , #line 2081 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ubAR , ubAG , ubAB , ubCR , ubCG , ubCB , a3dHPB (1) , a3dHPB (2) , a3dHPB (3)); #line 2082 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2085 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bCooperative ){ #line 2086 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UBYTE ubH , ubS , ubV ; #line 2087 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ColorToHSV (colAmbient , ubH , ubS , ubV ); #line 2088 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ubV < 22){ #line 2089 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ubV = 22; #line 2090 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colAmbient = HSVToColor (ubH , ubS , ubV ); #line 2091 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2092 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2094 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return CPlayerEntity :: AdjustShadingParameters (vLightDirection , colLight , colAmbient ); #line 2095 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2098 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject * CPlayer::GetModelForRendering(void) #line 2099 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2101 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_INITIALIZED )){ #line 2103 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return GetModelObject (); #line 2104 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2107 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plView ; #line 2108 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView . Lerp (en_plLastViewpoint , en_plViewpoint , _pTimer -> GetLerpFactor ()); #line 2110 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . BodyAndHeadOrientation (plView ); #line 2111 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . OnPreRender (); #line 2113 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_moRender . Synchronize (* GetModelObject ()); #line 2114 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_SYNCWEAPON ){ #line 2115 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_SYNCWEAPON ; #line 2116 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> SyncWeapon (); #line 2117 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2119 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmNow = _pTimer -> GetLerpedCurrentTick (); #line 2121 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fFading = 1.0f; #line 2122 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_tmFadeStart != 0){ #line 2123 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fFactor = (tmNow - m_tmFadeStart ) / 5.0f; #line 2124 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fFactor = Clamp (fFactor , 0.0f , 1.0f); #line 2125 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fFading *= fFactor ; #line 2126 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2129 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmSpawnInvulnerability = GetSP () -> sp_tmSpawnInvulnerability ; #line 2130 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmSpawnInvulnerability > 0 && tmNow - m_tmSpawned < tmSpawnInvulnerability ){ #line 2132 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDelta = tmNow - m_tmSpawned ; #line 2133 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fFading *= 0.75f + 0.25f * Sin (fDelta / 0.5f * 360); #line 2134 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2136 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR colAlpha = m_moRender . mo_colBlendColor ; #line 2137 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colAlpha = (colAlpha & 0xffffff00) + (COLOR (fFading * 0xff) & 0xff); #line 2138 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_moRender . mo_colBlendColor = colAlpha ; #line 2141 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_NOTCONNECTED ){ #line 2143 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fFading *= 0.25f + 0.25f * Sin (tmNow / 2.0f * 360); #line 2145 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_tmInvisibility > tmNow ){ #line 2146 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fIntensity = 0.0f; #line 2147 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((m_tmInvisibility - tmNow ) < 3.0f) #line 2148 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2149 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fIntensity = 0.5f - 0.5f * cos ((m_tmInvisibility - tmNow ) * (6.0f * 3.1415927f / 3.0f)); #line 2150 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2151 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_ulPlayerRenderingMask == 1 << GetMyPlayerIndex ()){ #line 2152 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colAlpha = (colAlpha & 0xffffff00) | (INDEX) (INVISIBILITY_ALPHA_LOCAL + (FLOAT) (254 - INVISIBILITY_ALPHA_LOCAL ) * fIntensity ); #line 2153 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(TRUE ){ #line 2154 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((m_tmInvisibility - tmNow ) < 1.28f){ #line 2155 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colAlpha = (colAlpha & 0xffffff00) | (INDEX) (INVISIBILITY_ALPHA_REMOTE + (FLOAT) (254 - INVISIBILITY_ALPHA_REMOTE ) * fIntensity ); #line 2156 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(TRUE ){ #line 2157 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colAlpha = (colAlpha & 0xffffff00) | INVISIBILITY_ALPHA_REMOTE ; #line 2158 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2159 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2160 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_moRender . mo_colBlendColor = colAlpha ; #line 2161 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2164 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return & m_moRender ; #line 2165 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2168 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" class CPlayerActionMarker * CPlayer::GetActionMarker(void) { #line 2169 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return (CPlayerActionMarker *) & * m_penActionMarker ; #line 2170 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2173 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::FindMusicHolder(void) #line 2174 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2175 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penMainMusicHolder == NULL ){ #line 2176 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penMainMusicHolder = _pNetwork -> GetEntityWithName ("MusicHolder" , 0); #line 2177 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2178 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2181 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::UpdateLevelStats(void) #line 2182 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2184 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats = PlayerStats (); #line 2187 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penMainMusicHolder == NULL ){ #line 2188 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2189 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2190 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CMusicHolder & mh = (CMusicHolder &) * m_penMainMusicHolder ; #line 2193 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(mh . m_ctEnemiesInWorld == 0){ #line 2194 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" mh . CountEnemies (); #line 2195 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2197 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelTotal . ps_iKills = mh . m_ctEnemiesInWorld ; #line 2198 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameTotal . ps_iKills += mh . m_ctEnemiesInWorld ; #line 2199 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelTotal . ps_iSecrets = mh . m_ctSecretsInWorld ; #line 2200 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameTotal . ps_iSecrets += mh . m_ctSecretsInWorld ; #line 2201 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2204 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL CPlayer::IsFuss(void) #line 2205 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2207 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penMainMusicHolder == NULL ){ #line 2209 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return FALSE ; #line 2210 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2212 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ((CMusicHolder *) & * m_penMainMusicHolder ) -> m_cenFussMakers . Count () > 0; #line 2213 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2215 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetDefaultMouthPitch(void) #line 2216 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2217 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soMouth . Set3DParameters (50.0f , 10.0f , 1.0f , 1.0f); #line 2218 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2219 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetRandomMouthPitch(FLOAT fMin,FLOAT fMax) #line 2220 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2221 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soMouth . Set3DParameters (50.0f , 10.0f , 1.0f , Lerp (fMin , fMax , FRnd ())); #line 2222 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2223 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetSpeakMouthPitch(void) #line 2224 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2225 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soSpeech . Set3DParameters (50.0f , 10.0f , 2.0f , 1.0f); #line 2226 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2229 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ApplyShaking(CPlacement3D & plViewer) #line 2230 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2232 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fT = _pTimer -> GetLerpedCurrentTick (); #line 2233 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fT < m_tmChainShakeEnd ) #line 2234 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2235 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fChainsawShakeDX = 0.03f * m_fChainShakeStrength * SinFast (fT * m_fChainShakeFreqMod * 3300.0f); #line 2236 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fChainsawShakeDY = 0.03f * m_fChainShakeStrength * SinFast (fT * m_fChainShakeFreqMod * 2900.0f); #line 2238 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plViewer . pl_PositionVector (1) += m_fChainsawShakeDX ; #line 2239 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plViewer . pl_PositionVector (3) += m_fChainsawShakeDY ; #line 2240 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2242 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 2243 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pwsc == NULL || pwsc -> m_tmShakeStarted < 0){ #line 2244 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2245 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2247 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tm = _pTimer -> GetLerpedCurrentTick () - pwsc -> m_tmShakeStarted ; #line 2248 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tm < 0){ #line 2249 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2250 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2251 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDistance = (plViewer . pl_PositionVector - pwsc -> m_vShakePos ) . Length (); #line 2252 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fIntensity = IntensityAtDistance (pwsc -> m_fShakeFalloff , 0 , fDistance ); #line 2253 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fShakeY , fShakeB , fShakeZ ; #line 2254 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! pwsc -> m_bShakeFadeIn ){ #line 2255 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fShakeY = SinFast (tm * pwsc -> m_tmShakeFrequencyY * 360.0f) * #line 2256 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" exp (- tm * (pwsc -> m_fShakeFade )) * #line 2257 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fIntensity * pwsc -> m_fShakeIntensityY ; #line 2258 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fShakeB = SinFast (tm * pwsc -> m_tmShakeFrequencyB * 360.0f) * #line 2259 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" exp (- tm * (pwsc -> m_fShakeFade )) * #line 2260 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fIntensity * pwsc -> m_fShakeIntensityB ; #line 2261 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fShakeZ = SinFast (tm * pwsc -> m_tmShakeFrequencyZ * 360.0f) * #line 2262 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" exp (- tm * (pwsc -> m_fShakeFade )) * #line 2263 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fIntensity * pwsc -> m_fShakeIntensityZ ; #line 2264 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2265 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT ootm = 1.0f / tm ; #line 2266 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fShakeY = SinFast (tm * pwsc -> m_tmShakeFrequencyY * 360.0f) * #line 2267 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" exp ((tm - 2) * ootm * (pwsc -> m_fShakeFade )) * #line 2268 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fIntensity * pwsc -> m_fShakeIntensityY ; #line 2269 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fShakeB = SinFast (tm * pwsc -> m_tmShakeFrequencyB * 360.0f) * #line 2270 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" exp ((tm - 2) * ootm * (pwsc -> m_fShakeFade )) * #line 2271 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fIntensity * pwsc -> m_fShakeIntensityB ; #line 2272 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fShakeZ = SinFast (tm * pwsc -> m_tmShakeFrequencyZ * 360.0f) * #line 2273 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" exp ((tm - 2) * ootm * (pwsc -> m_fShakeFade )) * #line 2274 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fIntensity * pwsc -> m_fShakeIntensityZ ; #line 2275 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2276 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plViewer . pl_PositionVector (2) += fShakeY ; #line 2277 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plViewer . pl_PositionVector (3) += fShakeZ ; #line 2278 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plViewer . pl_OrientationAngle (3) += fShakeB ; #line 2280 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2282 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR CPlayer::GetWorldGlaring(void) #line 2283 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2284 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 2285 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pwsc == NULL || pwsc -> m_tmGlaringStarted < 0){ #line 2286 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return 0; #line 2287 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2288 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tm = _pTimer -> GetLerpedCurrentTick (); #line 2289 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fRatio = CalculateRatio (tm , pwsc -> m_tmGlaringStarted , pwsc -> m_tmGlaringEnded , #line 2290 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_fGlaringFadeInRatio , pwsc -> m_fGlaringFadeOutRatio ); #line 2291 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR colResult = (pwsc -> m_colGlade & 0xFFFFFF00) | (UBYTE (fRatio * 255.0f)); #line 2292 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return colResult ; #line 2293 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2295 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderScroll(CDrawPort * pdp) #line 2296 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2297 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 2298 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pwsc != NULL && pwsc -> m_penScrollHolder != NULL ) #line 2299 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2300 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CScrollHolder & sch = (CScrollHolder &) * pwsc -> m_penScrollHolder ; #line 2301 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sch . Credits_Render (& sch , pdp ); #line 2302 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2303 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2305 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderCredits(CDrawPort * pdp) #line 2306 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2307 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 2308 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pwsc != NULL && pwsc -> m_penCreditsHolder != NULL ) #line 2309 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2310 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CCreditsHolder & cch = (CCreditsHolder &) * pwsc -> m_penCreditsHolder ; #line 2311 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cch . Credits_Render (& cch , pdp ); #line 2312 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2313 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2315 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderTextFX(CDrawPort * pdp) #line 2316 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2317 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 2318 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pwsc != NULL && pwsc -> m_penTextFXHolder != NULL ) #line 2319 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2320 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTextFXHolder & tfx = (CTextFXHolder &) * pwsc -> m_penTextFXHolder ; #line 2321 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" tfx . TextFX_Render (& tfx , pdp ); #line 2322 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2323 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2325 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderHudPicFX(CDrawPort * pdp) #line 2326 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2327 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 2328 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pwsc != NULL && pwsc -> m_penHudPicFXHolder != NULL ) #line 2329 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2330 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CHudPicHolder & hpfx = (CHudPicHolder &) * pwsc -> m_penHudPicFXHolder ; #line 2331 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" hpfx . HudPic_Render (& hpfx , pdp ); #line 2332 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2333 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2340 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetupView(CDrawPort * pdp,CAnyProjection3D & apr,CEntity * & penViewer, #line 2341 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D & plViewer,COLOR & colBlend,BOOL bCamera) #line 2342 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2344 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetLerpedAbsoluteViewPlacement (plViewer ); #line 2345 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (IsValidFloat (plViewer . pl_OrientationAngle (1)) && IsValidFloat (plViewer . pl_OrientationAngle (2)) && IsValidFloat (plViewer . pl_OrientationAngle (3))); #line 2347 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penViewer = GetViewEntity (); #line 2349 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iViewState = m_iViewState ; #line 2351 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera != NULL && bCamera ){ #line 2352 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iViewState = PVT_SCENECAMERA ; #line 2353 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plViewer = m_penCamera -> GetLerpedPlacement (); #line 2354 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penViewer = m_penCamera ; #line 2355 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2358 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPerspectiveProjection3D prPerspectiveProjection ; #line 2359 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plr_fFOV = Clamp (plr_fFOV , 1.0f , 160.0f); #line 2360 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE aFOV = plr_fFOV ; #line 2362 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bCooperative ){ #line 2363 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aFOV = 90.0f; #line 2364 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2366 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon == WEAPON_SNIPER ) #line 2367 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2368 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aFOV = Lerp (((CPlayerWeapons &) * m_penWeapons ) . m_fSniperFOVlast , #line 2369 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . m_fSniperFOV , #line 2370 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pTimer -> GetLerpFactor ()); #line 2371 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2373 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_DIVE && iViewState == PVT_PLAYEREYES ){ #line 2374 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmNow = _pTimer -> GetLerpedCurrentTick (); #line 2375 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aFOV += sin (tmNow * 0.79f) * 2.0f; #line 2376 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2377 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ApplyShaking (plViewer ); #line 2379 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colBlend = 0; #line 2380 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iViewState == PVT_SCENECAMERA ){ #line 2381 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CCamera * pcm = (CCamera *) & * m_penCamera ; #line 2382 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prPerspectiveProjection . FOVL () = #line 2383 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Lerp (pcm -> m_fLastFOV , pcm -> m_fFOV , _pTimer -> GetLerpFactor ()); #line 2384 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pcm -> m_tmDelta > 0.001f){ #line 2385 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fFactor = (_pTimer -> GetLerpedCurrentTick () - pcm -> m_tmAtMarker ) / pcm -> m_tmDelta ; #line 2386 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fFactor = Clamp (fFactor , 0.0f , 1.0f); #line 2387 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colBlend = LerpColor (pcm -> m_colFade0 , pcm -> m_colFade1 , fFactor ); #line 2388 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2389 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" colBlend = pcm -> m_colFade0 ; #line 2390 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2391 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2392 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prPerspectiveProjection . FOVL () = aFOV ; #line 2393 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2394 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prPerspectiveProjection . ScreenBBoxL () = FLOATaabbox2D ( #line 2395 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT2D (0.0f , 0.0f) , #line 2396 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT2D ((FLOAT) pdp -> GetWidth () , (FLOAT) pdp -> GetHeight ()) #line 2397 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ); #line 2399 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plr_fFrontClipDistance = Clamp (plr_fFrontClipDistance , 0.05f , 0.50f); #line 2400 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fFCD = plr_fFrontClipDistance ; #line 2402 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_SWIM && iViewState == PVT_PLAYEREYES ){fFCD *= 0.6666f;} #line 2403 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prPerspectiveProjection . FrontClipDistanceL () = fFCD ; #line 2404 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prPerspectiveProjection . AspectRatioL () = 1.0f; #line 2406 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" apr = prPerspectiveProjection ; #line 2407 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" apr -> ViewerPlacementL () = plViewer ; #line 2408 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" apr -> ObjectPlacementL () = CPlacement3D (FLOAT3D (0 , 0 , 0) , ANGLE3D (0 , 0 , 0)); #line 2409 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prPlayerProjection = apr ; #line 2410 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prPlayerProjection -> Prepare (); #line 2411 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2414 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ListenFromEntity(CEntity * penListener,const CPlacement3D & plSound) #line 2415 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2416 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mRotation ; #line 2417 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" MakeRotationMatrixFast (mRotation , plSound . pl_OrientationAngle ); #line 2418 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_vPosition = plSound . pl_PositionVector ; #line 2419 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_mRotation = mRotation ; #line 2420 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_fVolume = 1.0f; #line 2421 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_vSpeed = en_vCurrentTranslationAbsolute ; #line 2422 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_penEntity = penListener ; #line 2423 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_DIVE ){ #line 2424 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_fFilter = 20.0f; #line 2425 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2426 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_fFilter = 0.0f; #line 2427 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2428 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iEnv = 0; #line 2430 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CBrushSector * pbsc = penListener -> GetSectorFromPoint (plSound . pl_PositionVector ); #line 2433 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pbsc != NULL ){ #line 2434 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iEnv = pbsc -> GetEnvironmentType (); #line 2435 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2438 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEnvironmentType & et = GetWorld () -> wo_aetEnvironmentTypes [ iEnv ]; #line 2439 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_iEnvironmentType = et . et_iType ; #line 2440 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" sliSound . sli_fEnvironmentSize = et . et_fSize ; #line 2441 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pSound -> Listen (sliSound ); #line 2442 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2445 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderDummyView(CDrawPort * pdp) #line 2446 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2448 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> Fill (C_BLACK | CT_OPAQUE ); #line 2451 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bSinglePlayer ){ #line 2453 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PIX pixDPWidth = pdp -> GetWidth (); #line 2454 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PIX pixDPHeight = pdp -> GetHeight (); #line 2455 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fScale = (FLOAT) pixDPWidth / 640.0f; #line 2456 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetFont (_pfdDisplayFont ); #line 2457 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextScaling (fScale ); #line 2458 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextAspect (1.0f); #line 2459 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strMsg ; #line 2460 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strMsg . PrintF (TRANS ("%s connected") , GetPlayerName ()); #line 2461 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> PutTextCXY (strMsg , pixDPWidth * 0.5f , pixDPHeight * 0.5f , SE_COL_BLUE_NEUTRAL_LT | CT_OPAQUE ); #line 2462 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2463 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2466 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderPlayerView(CDrawPort * pdp,BOOL bShowExtras) #line 2467 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2469 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CAnyProjection3D apr ; #line 2470 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * penViewer ; #line 2471 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plViewer ; #line 2472 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR colBlend ; #line 2475 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iEye = STEREO_LEFT ;iEye <= (Stereo_IsEnabled () ? STEREO_RIGHT : STEREO_LEFT );iEye ++){ #line 2478 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetupView (pdp , apr , penViewer , plViewer , colBlend , FALSE ); #line 2481 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Stereo_SetBuffer (iEye ); #line 2482 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Stereo_AdjustProjection (* apr , iEye , 1); #line 2485 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (IsValidFloat (plViewer . pl_OrientationAngle (1)) && IsValidFloat (plViewer . pl_OrientationAngle (2)) && IsValidFloat (plViewer . pl_OrientationAngle (3))); #line 2486 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _ulPlayerRenderingMask = 1 << GetMyPlayerIndex (); #line 2487 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderView (* en_pwoWorld , * penViewer , apr , * pdp ); #line 2488 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _ulPlayerRenderingMask = 0; #line 2490 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iEye == STEREO_LEFT ){ #line 2492 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ListenFromEntity (this , plViewer ); #line 2493 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2495 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderScroll (pdp ); #line 2496 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderTextFX (pdp ); #line 2497 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderCredits (pdp ); #line 2498 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderHudPicFX (pdp ); #line 2500 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(hud_bShowAll && bShowExtras ){ #line 2502 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plLight (_vViewerLightDirection , ANGLE3D (0 , 0 , 0)); #line 2503 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plLight . AbsoluteToRelative (plViewer ); #line 2504 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderHUD (* (CPerspectiveProjection3D *) (CProjection3D *) apr , pdp , #line 2505 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plLight . pl_PositionVector , _colViewerLight , _colViewerAmbient , #line 2506 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penViewer == this && (GetFlags () & ENF_ALIVE ) , iEye ); #line 2507 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2508 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2509 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Stereo_SetBuffer (STEREO_BOTH ); #line 2512 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PIX pixDPWidth = pdp -> GetWidth (); #line 2513 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PIX pixDPHeight = pdp -> GetHeight (); #line 2514 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fScale = (FLOAT) pixDPWidth / 640.0f; #line 2517 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pTimer -> CurrentTick () < m_tmCenterMessageEnd ){ #line 2518 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetFont (_pfdDisplayFont ); #line 2519 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextScaling (fScale ); #line 2520 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextAspect (1.0f); #line 2521 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> PutTextCXY (m_strCenterMessage , pixDPWidth * 0.5f , pixDPHeight * 0.85f , C_WHITE | 0xDD); #line 2523 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(_pTimer -> CurrentTick () < m_tmLastPicked + PICKEDREPORT_TIME ){ #line 2524 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetFont (_pfdDisplayFont ); #line 2525 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextScaling (fScale ); #line 2526 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextAspect (1.0f); #line 2527 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPicked ; #line 2528 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fPickedAmmount == 0){ #line 2529 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPicked = m_strPickedName ; #line 2530 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2531 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPicked . PrintF ("%s +%d" , m_strPickedName , int (m_fPickedAmmount )); #line 2532 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2533 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> PutTextCXY (strPicked , pixDPWidth * 0.5f , pixDPHeight * 0.82f , C_WHITE | 0xDD); #line 2534 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bCooperative && ! GetSP () -> sp_bUseFrags && m_fPickedMana >= 1){ #line 2535 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strValue ; #line 2536 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strValue . PrintF ("%s +%d" , TRANS ("Value") , INDEX (m_fPickedMana )); #line 2537 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> PutTextCXY (strValue , pixDPWidth * 0.5f , pixDPHeight * 0.85f , C_WHITE | 0xDD); #line 2538 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2539 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2541 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pTimer -> CurrentTick () < m_tmAnalyseEnd ){ #line 2542 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetFont (_pfdDisplayFont ); #line 2543 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextScaling (fScale ); #line 2544 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextAspect (1.0f); #line 2545 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UBYTE ubA = int (sin (_pTimer -> CurrentTick () * 10.0f) * 127 + 128); #line 2546 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> PutTextCXY (TRANS ("Analyzing...") , pixDPWidth * 0.5f , pixDPHeight * 0.2f , SE_COL_BLUE_NEUTRAL_LT | ubA ); #line 2547 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2548 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2551 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderCameraView(CDrawPort * pdp,BOOL bListen) #line 2552 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2553 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CDrawPort dpCamera ; #line 2554 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CDrawPort * pdpCamera = pdp ; #line 2555 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera != NULL && ((CCamera &) * m_penCamera ) . m_bWideScreen ){ #line 2556 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> MakeWideScreen (& dpCamera ); #line 2557 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera = & dpCamera ; #line 2558 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2560 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> Unlock (); #line 2561 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera -> Lock (); #line 2563 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CAnyProjection3D apr ; #line 2564 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * penViewer ; #line 2565 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plViewer ; #line 2566 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR colBlend ; #line 2569 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iEye = STEREO_LEFT ;iEye <= (Stereo_IsEnabled () ? STEREO_RIGHT : STEREO_LEFT );iEye ++){ #line 2572 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetupView (pdpCamera , apr , penViewer , plViewer , colBlend , TRUE ); #line 2575 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Stereo_SetBuffer (iEye ); #line 2576 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Stereo_AdjustProjection (* apr , iEye , 1); #line 2579 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (IsValidFloat (plViewer . pl_OrientationAngle (1)) && IsValidFloat (plViewer . pl_OrientationAngle (2)) && IsValidFloat (plViewer . pl_OrientationAngle (3))); #line 2580 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _ulPlayerRenderingMask = 1 << GetMyPlayerIndex (); #line 2581 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderView (* en_pwoWorld , * penViewer , apr , * pdpCamera ); #line 2582 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _ulPlayerRenderingMask = 0; #line 2585 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bListen && iEye == STEREO_LEFT ){ #line 2586 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ListenFromEntity (penViewer , plViewer ); #line 2587 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2588 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2589 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Stereo_SetBuffer (STEREO_BOTH ); #line 2591 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderScroll (pdpCamera ); #line 2592 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderTextFX (pdpCamera ); #line 2593 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderCredits (pdpCamera ); #line 2594 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderHudPicFX (pdpCamera ); #line 2597 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2598 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR colGlare = GetWorldGlaring (); #line 2599 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UBYTE ubR , ubG , ubB , ubA ; #line 2600 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ColorToRGBA (colGlare , ubR , ubG , ubB , ubA ); #line 2601 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ubA != 0){ #line 2602 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera -> dp_ulBlendingRA += ULONG (ubR ) * ULONG (ubA ); #line 2603 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera -> dp_ulBlendingGA += ULONG (ubG ) * ULONG (ubA ); #line 2604 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera -> dp_ulBlendingBA += ULONG (ubB ) * ULONG (ubA ); #line 2605 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera -> dp_ulBlendingA += ULONG (ubA ); #line 2606 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2608 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera -> BlendScreen (); #line 2609 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2611 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdpCamera -> Unlock (); #line 2612 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> Lock (); #line 2615 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((colBlend & CT_AMASK ) != 0){ #line 2616 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> Fill (colBlend ); #line 2617 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2620 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pTimer -> CurrentTick () < m_tmCenterMessageEnd ){ #line 2621 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PIX pixDPWidth = pdp -> GetWidth (); #line 2622 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PIX pixDPHeight = pdp -> GetHeight (); #line 2623 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fScale = (FLOAT) pixDPWidth / 640.0f; #line 2624 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetFont (_pfdDisplayFont ); #line 2625 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextScaling (fScale ); #line 2626 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> SetTextAspect (1.0f); #line 2627 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> PutTextCXY (m_strCenterMessage , pixDPWidth * 0.5f , pixDPHeight * 0.85f , C_WHITE | 0xDD); #line 2628 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2629 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2632 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderGameView(CDrawPort * pdp,void * pvUserData) #line 2633 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2634 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bShowExtras = (ULONG (pvUserData ) & GRV_SHOWEXTRAS ); #line 2635 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> Unlock (); #line 2638 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_INITIALIZED ) || (m_ulFlags & PLF_DONTRENDER )){ #line 2640 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CDrawPort dpView (pdp , TRUE ); #line 2641 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dpView . Lock ()){ #line 2642 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderDummyView (& dpView ); #line 2643 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" dpView . Unlock (); #line 2644 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2645 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> Lock (); #line 2646 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2647 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2650 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pvUserData != 0){ #line 2652 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTimerValue tvNow = _pTimer -> GetHighPrecisionTimer (); #line 2653 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((tvNow - _tvProbingLast ) . GetSeconds () < 0.1){ #line 2655 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pGfx -> gl_bAllowProbing = TRUE ; #line 2656 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2657 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _tvProbingLast = tvNow ; #line 2658 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2663 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bDualHead = #line 2664 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> IsDualHead () && #line 2665 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetSP () -> sp_gmGameMode != CSessionProperties :: GM_FLYOVER && #line 2666 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penActionMarker == NULL ; #line 2669 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bDualHead || m_penCamera == NULL ){ #line 2671 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CDrawPort dpView (pdp , TRUE ); #line 2672 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dpView . Lock ()){ #line 2674 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderPlayerView (& dpView , bShowExtras ); #line 2675 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" dpView . Unlock (); #line 2676 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2677 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2680 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera != NULL ){ #line 2682 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CDrawPort dpView (pdp , m_penActionMarker != NULL ); #line 2683 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dpView . Lock ()){ #line 2685 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderCameraView (& dpView , ! bDualHead ); #line 2686 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" dpView . Unlock (); #line 2687 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2689 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2691 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bDualHead ){ #line 2693 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_ppenDHPlayer = this ; #line 2694 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2695 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2697 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> Lock (); #line 2698 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2708 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::PreMoving(void) { #line 2715 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . StoreLast (); #line 2716 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: PreMoving (); #line 2717 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2720 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::DoMoving(void) { #line 2721 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: DoMoving (); #line 2722 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . AnimateBanking (); #line 2724 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 2725 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_penView ) . DoMoving (); #line 2726 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2727 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pen3rdPersonView != NULL ){ #line 2728 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_pen3rdPersonView ) . DoMoving (); #line 2729 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2730 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2734 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::PostMoving(void) #line 2735 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2736 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: PostMoving (); #line 2738 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_ulFlags &= ~ ENF_INRENDERING ; #line 2740 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . AnimateSoftEyes (); #line 2744 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetFlags () & ENF_ALIVE ) #line 2745 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2746 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fManaFraction += #line 2747 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ClampDn (1.0f - en_vCurrentTranslationAbsolute . Length () / 20.0f , 0.0f) * 20.0f #line 2748 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" * _pTimer -> TickQuantum ; #line 2749 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iNewMana = m_fManaFraction ; #line 2750 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMana += iNewMana ; #line 2751 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fManaFraction -= iNewMana ; #line 2752 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2755 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_gdGameDifficulty == CSessionProperties :: GD_TOURIST && GetFlags () & ENF_ALIVE ){ #line 2757 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fHealth = GetHealth (); #line 2758 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fTopHealth = TopHealth (); #line 2759 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fHealth < fTopHealth ){ #line 2760 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetHealth (ClampUp (fHealth + _pTimer -> TickQuantum , fTopHealth )); #line 2761 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2762 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2765 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerWeapons () -> UpdateTargetingInfo (); #line 2767 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pen3rdPersonView != NULL ){ #line 2768 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_pen3rdPersonView ) . PostMoving (); #line 2769 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2770 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 2771 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_penView ) . PostMoving (); #line 2772 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2775 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_APPLIEDACTION )){ #line 2777 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetUnconnected (); #line 2778 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2781 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_APPLIEDACTION ; #line 2782 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2785 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetUnconnected(void) #line 2786 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2787 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_NOTCONNECTED ){ #line 2788 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2789 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2790 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_NOTCONNECTED ; #line 2793 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ForceFullStop (); #line 2794 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () & ~ (EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY )); #line 2795 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetCollisionFlags (GetCollisionFlags () & ~ ((ECBI_BRUSH | ECBI_MODEL ) << ECB_TEST )); #line 2796 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plLastViewpoint . pl_OrientationAngle = en_plViewpoint . pl_OrientationAngle = ANGLE3D (0 , 0 , 0); #line 2798 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_STAND , 0); #line 2799 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> BodyAnimationTemplate ( #line 2800 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BODY_ANIM_NORMALWALK , BODY_ANIM_COLT_STAND , BODY_ANIM_SHOTGUN_STAND , BODY_ANIM_MINIGUN_STAND , #line 2801 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AOF_LOOPING | AOF_NORESTART ); #line 2802 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2805 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetConnected(void) #line 2806 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2807 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_NOTCONNECTED )){ #line 2808 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2809 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2810 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_NOTCONNECTED ; #line 2812 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () | (EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY )); #line 2813 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetCollisionFlags (GetCollisionFlags () | ((ECBI_BRUSH | ECBI_MODEL ) << ECB_TEST )); #line 2814 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2817 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL CPlayer::IsConnected(void)const #line 2818 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2819 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ! (m_ulFlags & PLF_NOTCONNECTED ); #line 2820 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2823 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ChecksumForSync(ULONG & ulCRC,INDEX iExtensiveSyncCheck) #line 2824 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2825 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: ChecksumForSync (ulCRC , iExtensiveSyncCheck ); #line 2826 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CRC_AddLONG (ulCRC , m_psLevelStats . ps_iScore ); #line 2827 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CRC_AddLONG (ulCRC , m_iMana ); #line 2828 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iExtensiveSyncCheck > 0){ #line 2829 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CRC_AddFLOAT (ulCRC , m_fManaFraction ); #line 2830 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2831 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CRC_AddFLOAT (ulCRC , m_fArmor ); #line 2832 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2836 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::DumpSync_t(CTStream & strm,INDEX iExtensiveSyncCheck) #line 2837 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2838 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: DumpSync_t (strm , iExtensiveSyncCheck ); #line 2839 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strm . FPrintF_t ("Score: %d\n" , m_psLevelStats . ps_iScore ); #line 2840 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strm . FPrintF_t ("m_iMana: %d\n" , m_iMana ); #line 2841 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strm . FPrintF_t ("m_fManaFraction: %g(%08x)\n" , m_fManaFraction , (ULONG &) m_fManaFraction ); #line 2842 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strm . FPrintF_t ("m_fArmor: %g(%08x)\n" , m_fArmor , (ULONG &) m_fArmor ); #line 2843 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } void CPlayer::LeaveStain(BOOL bGrow) #line 2852 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2853 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESpawnEffect ese ; #line 2854 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vPoint ; #line 2855 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATplane3D vPlaneNormal ; #line 2856 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDistanceToEdge ; #line 2858 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATaabbox3D box ; #line 2859 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetBoundingBox (box ); #line 2862 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetNearestPolygon (vPoint , vPlaneNormal , fDistanceToEdge )){ #line 2864 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((vPoint - GetPlacement () . pl_PositionVector ) . Length () < 0.5f #line 2865 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" && (m_vLastStain - vPoint ) . Length () > 1.0f){ #line 2866 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_vLastStain = vPoint ; #line 2867 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fStretch = box . Size () . Length (); #line 2868 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . colMuliplier = C_WHITE | CT_OPAQUE ; #line 2870 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bGrow ){ #line 2871 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . betType = BET_BLOODSTAINGROW ; #line 2872 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . vStretch = FLOAT3D (fStretch * 1.5f , fStretch * 1.5f , 1.0f); #line 2873 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2874 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . betType = BET_BLOODSTAIN ; #line 2875 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . vStretch = FLOAT3D (fStretch * 0.75f , fStretch * 0.75f , 1.0f); #line 2876 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2877 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . vNormal = FLOAT3D (vPlaneNormal ); #line 2878 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . vDirection = FLOAT3D (0 , 0 , 0); #line 2879 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vPos = vPoint + ese . vNormal / 50.0f * (FRnd () + 0.5f); #line 2880 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntityPointer penEffect = CreateEntity (CPlacement3D (vPos , ANGLE3D (0 , 0 , 0)) , CLASS_BASIC_EFFECT ); #line 2881 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penEffect -> Initialize (ese ); #line 2882 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2883 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2884 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2887 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::DamageImpact(enum DamageType dmtType, #line 2888 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDamageAmmount,const FLOAT3D & vHitPoint,const FLOAT3D & vDirection) #line 2889 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2891 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetRenderType () != RT_MODEL ){ #line 2893 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2894 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2896 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dmtType == DMT_ABYSS || dmtType == DMT_SPIKESTAB ){ #line 2897 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 2898 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2900 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fDamageAmmount = Clamp (fDamageAmmount , 0.0f , 5000.0f); #line 2902 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fKickDamage = fDamageAmmount ; #line 2903 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((dmtType == DMT_EXPLOSION ) || (dmtType == DMT_IMPACT ) || (dmtType == DMT_CANNONBALL_EXPLOSION )) #line 2904 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2905 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fKickDamage *= 1.5; #line 2906 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2907 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dmtType == DMT_DROWNING || dmtType == DMT_CLOSERANGE ){ #line 2908 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fKickDamage /= 10; #line 2909 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2910 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dmtType == DMT_CHAINSAW ) #line 2911 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2912 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fKickDamage /= 10; #line 2913 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2916 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmNow = _pTimer -> CurrentTick (); #line 2917 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmDelta = tmNow - m_tmLastDamage ; #line 2918 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmLastDamage = tmNow ; #line 2921 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmDelta >= _pTimer -> TickQuantum * 3){ #line 2922 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_vDamage = FLOAT3D (0 , 0 , 0); #line 2923 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2925 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vDirectionFixed ; #line 2926 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(vDirection . ManhattanNorm () > 0.5f){ #line 2927 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vDirectionFixed = vDirection ; #line 2928 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 2929 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vDirectionFixed = - en_vGravityDir ; #line 2930 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2931 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vDamageOld = m_vDamage ; #line 2932 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_vDamage += (vDirectionFixed ) * fKickDamage ; #line 2934 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fOldLen = vDamageOld . Length (); #line 2935 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fNewLen = m_vDamage . Length (); #line 2936 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fOldRootLen = Sqrt (fOldLen ); #line 2937 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fNewRootLen = Sqrt (fNewLen ); #line 2939 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fMassFactor = 200.0f / ((EntityInfo *) GetEntityInfo ()) -> fMass ; #line 2941 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (en_ulFlags & ENF_ALIVE )) #line 2942 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2943 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fMassFactor /= 3; #line 2944 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2946 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" switch(dmtType ) #line 2947 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2948 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case DMT_CLOSERANGE : #line 2949 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case DMT_CHAINSAW : #line 2950 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case DMT_DROWNING : #line 2951 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case DMT_IMPACT : #line 2952 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case DMT_BRUSH : #line 2953 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case DMT_BURNING : #line 2955 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 2956 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" default : #line 2957 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2958 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fOldLen != 0.0f) #line 2959 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2961 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GiveImpulseTranslationAbsolute (- vDamageOld / fOldRootLen * fMassFactor ); #line 2962 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2970 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GiveImpulseTranslationAbsolute (m_vDamage / fNewRootLen * fMassFactor ); #line 2971 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2972 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2974 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fMaxDamageAmmount < fDamageAmmount ) #line 2975 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2976 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fMaxDamageAmmount = fDamageAmmount ; #line 2977 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2979 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((m_tmSpraySpawned <= _pTimer -> CurrentTick () - _pTimer -> TickQuantum * 8 || #line 2980 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fSprayDamage + fDamageAmmount > 50.0f)){ #line 2983 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plSpray = CPlacement3D (vHitPoint , ANGLE3D (0 , 0 , 0)); #line 2984 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penSpray = CreateEntity (plSpray , CLASS_BLOOD_SPRAY ); #line 2985 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penSpray -> SetParent (this ); #line 2986 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESpawnSpray eSpawnSpray ; #line 2987 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . colBurnColor = C_WHITE | CT_OPAQUE ; #line 2989 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fMaxDamageAmmount > 10.0f) #line 2990 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2991 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . fDamagePower = 3.0f; #line 2992 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2993 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(m_fSprayDamage + fDamageAmmount > 50.0f) #line 2994 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2995 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . fDamagePower = 2.0f; #line 2996 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 2997 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else #line 2998 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 2999 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . fDamagePower = 1.0f; #line 3000 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3002 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . sptType = SPT_BLOOD ; #line 3003 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . fSizeMultiplier = 1.0f; #line 3006 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vHitPointRelative = vHitPoint - GetPlacement () . pl_PositionVector ; #line 3007 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vReflectingNormal ; #line 3008 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetNormalComponent (vHitPointRelative , en_vGravityDir , vReflectingNormal ); #line 3009 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vReflectingNormal . Normalize (); #line 3011 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vReflectingNormal (1) /= 5.0f; #line 3013 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vProjectedComponent = vReflectingNormal * (vDirection % vReflectingNormal ); #line 3014 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vSpilDirection = vDirection - vProjectedComponent * 2.0f - en_vGravityDir * 0.5f; #line 3016 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . vDirection = vSpilDirection ; #line 3017 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSpawnSpray . penOwner = this ; #line 3020 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penSpray -> Initialize (eSpawnSpray ); #line 3021 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmSpraySpawned = _pTimer -> CurrentTick (); #line 3022 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fSprayDamage = 0.0f; #line 3023 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fMaxDamageAmmount = 0.0f; #line 3024 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3025 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fSprayDamage += fDamageAmmount ; #line 3026 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3030 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ReceiveDamage(CEntity * penInflictor,enum DamageType dmtType, #line 3031 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDamageAmmount,const FLOAT3D & vHitPoint,const FLOAT3D & vDirection) #line 3032 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3034 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penInflictor == this && (dmtType == DMT_CLOSERANGE || dmtType == DMT_CHAINSAW || #line 3035 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((dmtType == DMT_EXPLOSION || dmtType == DMT_CANNONBALL_EXPLOSION || dmtType == DMT_PROJECTILE ) && #line 3036 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetSP () -> sp_gdGameDifficulty <= CSessionProperties :: GD_EASY ))){ #line 3037 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 3038 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3041 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_NOTCONNECTED ){ #line 3043 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 3044 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3047 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bGod && CheatsEnabled ()){return ;} #line 3050 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const TIME tmDelta = m_tmInvulnerability - _pTimer -> CurrentTick (); #line 3051 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmDelta > 0 && dmtType != DMT_ABYSS && dmtType != DMT_TELEPORT ){return ;} #line 3054 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmSpawnInvulnerability = GetSP () -> sp_tmSpawnInvulnerability ; #line 3055 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmSpawnInvulnerability > 0 && _pTimer -> CurrentTick () - m_tmSpawned < tmSpawnInvulnerability ){ #line 3057 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 3058 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3061 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bFriendlyFire && GetSP () -> sp_bCooperative ){ #line 3062 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (penInflictor , "Player") && penInflictor != this ){ #line 3063 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 3064 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3065 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3068 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dmtType == DMT_HEAT && ! (GetFlags () & ENF_ALIVE )){ #line 3069 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 3070 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3073 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDifficultyDamage = GetSP () -> sp_fDamageStrength ; #line 3074 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fDifficultyDamage <= 1.0f || penInflictor != this ){ #line 3075 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fDamageAmmount *= fDifficultyDamage ; #line 3076 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3079 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fDamageAmmount <= 0){ #line 3080 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 3081 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3083 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fSubHealth , fSubArmor ; #line 3084 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dmtType == DMT_DROWNING ){ #line 3086 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fSubHealth = fDamageAmmount ; #line 3087 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3088 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else { #line 3090 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fSubArmor = fDamageAmmount * 2.0f / 3.0f; #line 3091 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fSubHealth = fDamageAmmount - fSubArmor ; #line 3092 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fArmor -= fSubArmor ; #line 3093 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fArmor < 0){ #line 3094 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fSubHealth -= m_fArmor ; #line 3095 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fArmor = 0.0f; #line 3096 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3097 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3100 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fSubHealth > 0){ #line 3102 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera != NULL ){ #line 3104 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * penOnBreak = ((CCamera &) * m_penCamera ) . m_penOnBreak ; #line 3105 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penOnBreak != NULL ){ #line 3107 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendToTarget (penOnBreak , EET_TRIGGER , this ); #line 3109 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3111 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penCamera = NULL ; #line 3112 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3113 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3115 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3118 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penActionMarker != NULL ){ #line 3120 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 3121 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3123 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" DamageImpact (dmtType , fSubHealth , vHitPoint , vDirection ); #line 3126 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerEntity :: ReceiveDamage (penInflictor , dmtType , fSubHealth , vHitPoint , vDirection ); #line 3129 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fDamageAmmount > 1.0f){ #line 3131 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dmtType == DMT_EXPLOSION || dmtType == DMT_PROJECTILE || dmtType == DMT_BULLET #line 3132 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" || dmtType == DMT_IMPACT || dmtType == DMT_CANNONBALL || dmtType == DMT_CANNONBALL_EXPLOSION ){ #line 3135 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3136 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetFlags () & ENF_ALIVE ){ #line 3137 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fDamageAmmount += fDamageAmmount ; #line 3138 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmWoundedTime = _pTimer -> CurrentTick (); #line 3139 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3140 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3143 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESound eSound ; #line 3144 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSound . EsndtSound = SNDT_PLAYER ; #line 3145 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSound . penTarget = this ; #line 3146 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendEventInRange (eSound , FLOATaabbox3D (GetPlacement () . pl_PositionVector , 10.0f)); #line 3149 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(dmtType == DMT_DROWNING ){ #line 3150 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetRandomMouthPitch (0.9f , 1.1f); #line 3151 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_DROWN ) , SOF_3D ); #line 3152 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("WoundWater");} #line 3153 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMouthSoundLast = _pTimer -> CurrentTick (); #line 3154 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soLocalAmbientOnce , SOUND_WATERBUBBLES , SOF_3D | SOF_VOLUMETRIC | SOF_LOCAL ); #line 3155 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soLocalAmbientOnce . Set3DParameters (25.0f , 5.0f , 2.0f , Lerp (0.5f , 1.5f , FRnd ())); #line 3156 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SpawnBubbles (10 + INDEX (FRnd () * 10)); #line 3157 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_fDamageAmmount > 1.0f){ #line 3159 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetFlags () & ENF_ALIVE ){ #line 3161 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iSound ; #line 3162 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" char * strIFeel = NULL ; #line 3163 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fDamageAmmount < 5.0f){ #line 3164 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSound = GenderSound (SOUND_WOUNDWEAK ); #line 3165 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strIFeel = "WoundWeak"; #line 3166 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3167 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(m_fDamageAmmount < 25.0f){ #line 3168 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSound = GenderSound (SOUND_WOUNDMEDIUM ); #line 3169 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strIFeel = "WoundMedium"; #line 3170 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3171 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else { #line 3172 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSound = GenderSound (SOUND_WOUNDSTRONG ); #line 3173 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strIFeel = "WoundStrong"; #line 3174 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3175 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_DIVE ){ #line 3176 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSound = GenderSound (SOUND_WOUNDWATER ); #line 3177 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strIFeel = "WoundWater"; #line 3178 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3179 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetRandomMouthPitch (0.9f , 1.1f); #line 3181 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmNow = _pTimer -> CurrentTick (); #line 3182 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((tmNow - m_tmScreamTime ) > 1.0f){ #line 3183 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmScreamTime = tmNow ; #line 3184 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , iSound , SOF_3D ); #line 3185 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect (strIFeel );} #line 3186 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3187 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3188 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3189 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3192 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL CPlayer::ShouldBlowUp(void) #line 3193 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3195 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return #line 3197 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetSP () -> sp_bGibs && #line 3199 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (GetHealth () <= 0) && #line 3201 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (m_vDamage . Length () > _fBlowUpAmmount ) && #line 3203 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetRenderType () == RT_MODEL ; #line 3204 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3207 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::BlowUp(void) #line 3208 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3209 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vNormalizedDamage = m_vDamage - m_vDamage * (_fBlowUpAmmount / m_vDamage . Length ()); #line 3210 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vNormalizedDamage /= Sqrt (vNormalizedDamage . Length ()); #line 3211 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vNormalizedDamage *= 0.75f; #line 3213 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vBodySpeed = en_vCurrentTranslationAbsolute - en_vGravityDir * (en_vGravityDir % en_vCurrentTranslationAbsolute ); #line 3214 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const FLOAT fBlowUpSize = 2.0f; #line 3217 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const INDEX iBloodType = GetSP () -> sp_iBlood ; #line 3219 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulFleshTexture = TEXTURE_FLESH_GREEN ; #line 3220 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulFleshModel = MODEL_FLESH ; #line 3221 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iBloodType == 2){ulFleshTexture = TEXTURE_FLESH_RED ;} #line 3223 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Debris_Begin (EIBT_FLESH , DPT_BLOODTRAIL , BET_BLOODSTAIN , fBlowUpSize , vNormalizedDamage , vBodySpeed , 1.0f , 0.0f); #line 3224 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iDebris = 0;iDebris < 4;iDebris ++){ #line 3226 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iBloodType == 3){ #line 3227 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" switch(IRnd () % 5){ #line 3228 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 1: {ulFleshModel = MODEL_FLESH_APPLE ;ulFleshTexture = TEXTURE_FLESH_APPLE ;break ;} #line 3229 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 2: {ulFleshModel = MODEL_FLESH_BANANA ;ulFleshTexture = TEXTURE_FLESH_BANANA ;break ;} #line 3230 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 3: {ulFleshModel = MODEL_FLESH_BURGER ;ulFleshTexture = TEXTURE_FLESH_BURGER ;break ;} #line 3231 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 4: {ulFleshModel = MODEL_FLESH_LOLLY ;ulFleshTexture = TEXTURE_FLESH_LOLLY ;break ;} #line 3232 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" default :{ulFleshModel = MODEL_FLESH_ORANGE ;ulFleshTexture = TEXTURE_FLESH_ORANGE ;break ;} #line 3233 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3234 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3235 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Debris_Spawn (this , this , ulFleshModel , ulFleshTexture , 0 , 0 , 0 , IRnd () % 4 , 0.5f , #line 3236 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D (FRnd () * 0.6f + 0.2f , FRnd () * 0.6f + 0.2f , FRnd () * 0.6f + 0.2f)); #line 3237 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3240 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" LeaveStain (FALSE ); #line 3242 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soBody , SOUND_BLOWUP , SOF_3D ); #line 3245 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SwitchToEditorModel (); #line 3247 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fSpeedOrg = en_vCurrentTranslationAbsolute . Length (); #line 3248 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const FLOAT fSpeedMax = 30.0f; #line 3249 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fSpeedOrg > fSpeedMax ){ #line 3250 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_vCurrentTranslationAbsolute *= fSpeedMax / fSpeedOrg ; #line 3251 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3255 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3261 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void * CPlayer::GetEntityInfo(void) #line 3262 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3263 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" switch(m_pstState ){ #line 3264 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_STAND : case PST_FALL : #line 3265 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return & eiPlayerGround ; #line 3266 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 3267 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_CROUCH : #line 3268 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return & eiPlayerCrouch ; #line 3269 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 3270 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_SWIM : case PST_DIVE : #line 3271 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return & eiPlayerSwim ; #line 3272 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 3273 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3274 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return & eiPlayerGround ; #line 3275 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3279 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL CPlayer::ReceiveItem(const CEntityEvent & ee) #line 3280 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3282 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ee . ee_slEvent == EVENTCODE_EHealth ) #line 3283 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3285 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fHealthOld = GetHealth (); #line 3286 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fHealthNew = fHealthOld + ((EHealth &) ee ) . fHealth ; #line 3287 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((EHealth &) ee ) . bOverTopHealth ){ #line 3288 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fHealthNew = ClampUp (fHealthNew , MaxHealth ()); #line 3289 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3290 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fHealthNew = ClampUp (fHealthNew , TopHealth ()); #line 3291 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3294 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ceil (fHealthNew ) > ceil (fHealthOld )){ #line 3296 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetHealth (fHealthNew ); #line 3297 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("Health") , ((EHealth &) ee ) . fHealth ); #line 3298 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMana += (INDEX) (((EHealth &) ee ) . fHealth ); #line 3299 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fPickedMana += ((EHealth &) ee ) . fHealth ; #line 3300 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3301 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3302 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3305 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(ee . ee_slEvent == EVENTCODE_EArmor ) #line 3306 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3308 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fArmorOld = m_fArmor ; #line 3309 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fArmorNew = fArmorOld + ((EArmor &) ee ) . fArmor ; #line 3310 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((EArmor &) ee ) . bOverTopArmor ){ #line 3311 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fArmorNew = ClampUp (fArmorNew , MaxArmor ()); #line 3312 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3313 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fArmorNew = ClampUp (fArmorNew , TopArmor ()); #line 3314 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3316 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ceil (fArmorNew ) > ceil (fArmorOld )){ #line 3318 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fArmor = fArmorNew ; #line 3319 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("Armor") , ((EArmor &) ee ) . fArmor ); #line 3320 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMana += (INDEX) (((EArmor &) ee ) . fArmor ); #line 3321 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fPickedMana += ((EArmor &) ee ) . fArmor ; #line 3322 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3323 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3324 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3327 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(ee . ee_slEvent == EVENTCODE_EMessageItem ){ #line 3328 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EMessageItem & eMI = (EMessageItem &) ee ; #line 3329 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ReceiveComputerMessage (eMI . fnmMessage , CMF_ANALYZE ); #line 3330 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("Ancient papyrus") , 0); #line 3331 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3332 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3335 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(ee . ee_slEvent == EVENTCODE_EWeaponItem ){ #line 3336 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ((CPlayerWeapons &) * m_penWeapons ) . ReceiveWeapon (ee ); #line 3337 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3340 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(ee . ee_slEvent == EVENTCODE_EAmmoItem ){ #line 3341 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ((CPlayerWeapons &) * m_penWeapons ) . ReceiveAmmo (ee ); #line 3342 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3344 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(ee . ee_slEvent == EVENTCODE_EAmmoPackItem ){ #line 3345 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ((CPlayerWeapons &) * m_penWeapons ) . ReceivePackAmmo (ee ); #line 3346 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3349 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(ee . ee_slEvent == EVENTCODE_EKey ){ #line 3351 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penActionMarker != NULL ){ #line 3352 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return FALSE ; #line 3353 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3355 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulKey = 1 << INDEX (((EKey &) ee ) . kitType ); #line 3356 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EKey & eKey = (EKey &) ee ; #line 3357 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(eKey . kitType == KIT_HAWKWINGS01DUMMY || eKey . kitType == KIT_HAWKWINGS02DUMMY #line 3358 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" || eKey . kitType == KIT_TABLESDUMMY || eKey . kitType == KIT_JAGUARGOLDDUMMY ) #line 3359 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3360 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulKey = 0; #line 3361 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3363 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulKeys & ulKey ){ #line 3365 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return FALSE ; #line 3367 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3369 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulKeys |= ulKey ; #line 3370 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strKey = GetKeyName (((EKey &) ee ) . kitType ); #line 3371 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (strKey , 0); #line 3373 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bCooperative && ! GetSP () -> sp_bSinglePlayer ){ #line 3374 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("^cFFFFFF%s - %s^r\n") , GetPlayerName () , strKey ); #line 3375 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3376 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3377 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3378 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3381 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(ee . ee_slEvent == EVENTCODE_EPowerUp ){ #line 3382 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const FLOAT tmNow = _pTimer -> CurrentTick (); #line 3383 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" switch(((EPowerUp &) ee ) . puitType ){ #line 3384 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PUIT_INVISIB : m_tmInvisibility = tmNow + m_tmInvisibilityMax ; #line 3385 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("^cABE3FFInvisibility") , 0); #line 3386 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3387 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PUIT_INVULNER : m_tmInvulnerability = tmNow + m_tmInvulnerabilityMax ; #line 3388 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("^c00B440Invulnerability") , 0); #line 3389 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3390 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PUIT_DAMAGE : m_tmSeriousDamage = tmNow + m_tmSeriousDamageMax ; #line 3391 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("^cFF0000Serious Damage!") , 0); #line 3392 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3393 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PUIT_SPEED : m_tmSeriousSpeed = tmNow + m_tmSeriousSpeedMax ; #line 3394 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("^cFF9400Serious Speed") , 0); #line 3395 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3396 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PUIT_BOMB : #line 3397 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iSeriousBombCount ++; #line 3398 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ItemPicked (TRANS ("^cFF0000Serious Bomb!") , 0); #line 3401 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bCooperative ){ #line 3402 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EComputerMessage eMsg ; #line 3403 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eMsg . fnmMessage = CTFILENAME ("DataMP\\Messages\\Weapons\\seriousbomb.txt"); #line 3404 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" this -> SendEvent (eMsg ); #line 3405 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3406 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE ; #line 3407 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3408 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3411 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return FALSE ; #line 3412 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3417 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ChangePlayerView() #line 3418 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3420 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iViewState == PVT_PLAYEREYES ){ #line 3422 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (m_pen3rdPersonView == NULL ); #line 3423 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pen3rdPersonView == NULL ){ #line 3424 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pen3rdPersonView = CreateEntity (GetPlacement () , CLASS_PLAYER_VIEW ); #line 3425 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EViewInit eInit ; #line 3426 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . penOwner = this ; #line 3427 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . penCamera = NULL ; #line 3428 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . vtView = VT_3RDPERSONVIEW ; #line 3429 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . bDeathFixed = FALSE ; #line 3430 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pen3rdPersonView -> Initialize (eInit ); #line 3431 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3433 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iViewState = PVT_3RDPERSONVIEW ; #line 3436 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_iViewState == PVT_3RDPERSONVIEW ){ #line 3437 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iViewState = PVT_PLAYEREYES ; #line 3440 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pen3rdPersonView != NULL ){ #line 3441 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_pen3rdPersonView ) . SendEvent (EEnd ()); #line 3442 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pen3rdPersonView = NULL ; #line 3443 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3444 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3445 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3448 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ComputerPressed(void) #line 3449 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3452 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cmp_ppenPlayer == NULL && _pNetwork -> IsPlayerLocal (this )){ #line 3453 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_ppenPlayer = this ; #line 3454 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3455 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bComputerInvoked = TRUE ; #line 3457 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmAnalyseEnd = 0; #line 3458 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bPendingMessage = FALSE ; #line 3459 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMessagePlay = 0; #line 3461 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3465 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::UsePressed(BOOL bOrComputer) #line 3466 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3468 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerWeapons * penWeapons = GetPlayerWeapons (); #line 3469 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * pen = penWeapons -> m_penRayHit ; #line 3470 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bSomethingToUse = FALSE ; #line 3473 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pen != NULL ){ #line 3475 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (pen , "Moving Brush")){ #line 3476 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CMovingBrush &) * pen ) . m_penSwitch != NULL ){ #line 3477 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen = ((CMovingBrush &) * pen ) . m_penSwitch ; #line 3478 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3479 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3482 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (pen , "Switch") && penWeapons -> m_fRayHitDistance < 2.0f){ #line 3483 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CSwitch & enSwitch = (CSwitch &) * pen ; #line 3485 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(enSwitch . m_bUseable ){ #line 3487 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendToTarget (pen , EET_TRIGGER , this ); #line 3488 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSomethingToUse = TRUE ; #line 3489 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3490 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3493 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (pen , "MessageHolder") #line 3494 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" && penWeapons -> m_fRayHitDistance < ((CMessageHolder *) & * pen ) -> m_fDistance #line 3495 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" && ((CMessageHolder *) & * pen ) -> m_bActive ){ #line 3496 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const CTFileName & fnmMessage = ((CMessageHolder *) & * pen ) -> m_fnmMessage ; #line 3498 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! HasMessage (fnmMessage )){ #line 3500 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ReceiveComputerMessage (fnmMessage , CMF_ANALYZE ); #line 3501 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSomethingToUse = TRUE ; #line 3502 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3503 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3504 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3506 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! bSomethingToUse && bOrComputer ){ #line 3508 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ComputerPressed (); #line 3509 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3510 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(! bSomethingToUse ) #line 3511 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3512 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerWeapons * penWeapon = GetPlayerWeapons (); #line 3516 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penWeapon -> m_iCurrentWeapon == WEAPON_SNIPER && #line 3517 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_iWantedWeapon == WEAPON_SNIPER ){ #line 3518 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_ISZOOMING ){ #line 3519 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_ISZOOMING ; #line 3520 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_bSniping = FALSE ; #line 3521 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOVlast = penWeapon -> m_fSniperFOV = penWeapon -> m_fSniperMaxFOV ; #line 3522 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SILENCE , SOF_3D ); #line 3523 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_StopEffect ("SniperZoom");} #line 3524 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3525 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else { #line 3526 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_bSniping = TRUE ; #line 3527 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_ISZOOMING ; #line 3528 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOVlast = penWeapon -> m_fSniperFOV = penWeapon -> m_fMinimumZoomFOV ; #line 3529 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SNIPER_ZOOM , SOF_3D | SOF_LOOP ); #line 3530 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("SniperZoom");} #line 3531 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3532 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3533 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3534 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3540 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SetGameEnd(void) #line 3541 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3542 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pNetwork -> SetGameFinished (); #line 3544 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iPlayer = 0;iPlayer < GetMaxPlayers ();iPlayer ++){ #line 3545 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * pen = GetPlayerEntity (iPlayer ); #line 3546 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pen != NULL ){ #line 3547 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cmp_ppenPlayer == NULL && _pNetwork -> IsPlayerLocal (pen )){ #line 3548 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_ppenPlayer = (CPlayer *) pen ; #line 3549 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3550 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3551 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3552 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3554 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::CheckGameEnd(void) #line 3555 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3556 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bFinished = FALSE ; #line 3558 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iTimeLimit = GetSP () -> sp_iTimeLimit ; #line 3559 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iTimeLimit > 0 && _pTimer -> CurrentTick () >= iTimeLimit * 60.0f){ #line 3560 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bFinished = TRUE ; #line 3561 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3563 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iFragLimit = GetSP () -> sp_iFragLimit ; #line 3564 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iFragLimit > 0 && m_psLevelStats . ps_iKills >= iFragLimit ){ #line 3565 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bFinished = TRUE ; #line 3566 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3568 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iScoreLimit = GetSP () -> sp_iScoreLimit ; #line 3569 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iScoreLimit > 0 && m_psLevelStats . ps_iScore >= iScoreLimit ){ #line 3570 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bFinished = TRUE ; #line 3571 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3573 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bFinished ){ #line 3574 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetGameEnd (); #line 3575 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3576 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3579 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::PreapplyAction(const CPlayerAction & paAction) #line 3580 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3581 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3584 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ApplyAction(const CPlayerAction & paOriginal,FLOAT tmLatency) #line 3585 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3586 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_INITIALIZED )){return ;} #line 3590 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_NOTCONNECTED ){ #line 3592 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetConnected (); #line 3593 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3595 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_APPLIEDACTION ; #line 3598 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAction paAction = paOriginal ; #line 3603 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D aDeltaRotation = paAction . pa_aRotation - m_aLastRotation ; #line 3604 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D aDeltaViewRotation = paAction . pa_aViewRotation - m_aLastViewRotation ; #line 3606 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_ISZOOMING ){ #line 3607 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fRotationDamping = ((CPlayerWeapons &) * m_penWeapons ) . m_fSniperFOV / ((CPlayerWeapons &) * m_penWeapons ) . m_fSniperMaxFOV ; #line 3608 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDeltaRotation *= fRotationDamping ; #line 3609 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDeltaViewRotation *= fRotationDamping ; #line 3610 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3612 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_aLastRotation = paAction . pa_aRotation ; #line 3613 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_aLastViewRotation = paAction . pa_aViewRotation ; #line 3615 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aRotation = aDeltaRotation ; #line 3616 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aViewRotation = aDeltaViewRotation ; #line 3620 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aRotation /= _pTimer -> TickQuantum ; #line 3621 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aViewRotation /= _pTimer -> TickQuantum ; #line 3624 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * penMe = this ; #line 3625 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsPredictor ()){ #line 3626 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penMe = penMe -> GetPredicted (); #line 3627 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3628 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPredictable (! _pNetwork -> IsPlayerLocal (penMe )); #line 3631 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! IsPredictor ()){ #line 3632 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheckGameEnd (); #line 3633 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3636 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_vTranslation (1) = Clamp (paAction . pa_vTranslation (1) , - plr_fSpeedSide , plr_fSpeedSide ); #line 3637 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_vTranslation (2) = Clamp (paAction . pa_vTranslation (2) , - plr_fSpeedUp , plr_fSpeedUp ); #line 3638 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_vTranslation (3) = Clamp (paAction . pa_vTranslation (3) , - plr_fSpeedForward , plr_fSpeedBackward ); #line 3641 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(Abs (paAction . pa_vTranslation (3)) < plr_fSpeedForward / 1.99f #line 3642 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" && Abs (paAction . pa_vTranslation (1)) < plr_fSpeedSide / 1.99f){ #line 3644 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fStepDnHeight = 1.5f; #line 3647 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3649 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fStepDnHeight = - 1; #line 3650 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3653 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D & v = paAction . pa_vTranslation ; #line 3654 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDiag = Sqrt (v (1) * v (1) + v (3) * v (3)); #line 3655 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fDiag > 0.01f){ #line 3656 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDiagLimited = Min (fDiag , plr_fSpeedForward ); #line 3657 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fFactor = fDiagLimited / fDiag ; #line 3658 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" v (1) *= fFactor ; #line 3659 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" v (3) *= fFactor ; #line 3660 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3662 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulButtonsNow = paAction . pa_ulButtons ; #line 3663 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulButtonsBefore = m_ulLastButtons ; #line 3664 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulNewButtons = ulButtonsNow & ~ ulButtonsBefore ; #line 3665 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulReleasedButtons = (~ ulButtonsNow ) & (ulButtonsBefore ); #line 3667 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulLastButtons = ulButtonsNow ; #line 3668 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plLastViewpoint = en_plViewpoint ; #line 3671 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerWeapons * penWeapon = GetPlayerWeapons (); #line 3672 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penWeapon -> m_iCurrentWeapon == WEAPON_SNIPER ) #line 3673 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3674 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bUseButtonHeld && m_ulFlags & PLF_ISZOOMING ) #line 3675 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3676 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOVlast = penWeapon -> m_fSniperFOV ; #line 3677 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOV -= penWeapon -> m_fSnipingZoomSpeed ; #line 3678 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penWeapon -> m_fSniperFOV < penWeapon -> m_fSniperMinFOV ) #line 3679 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3680 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOVlast = penWeapon -> m_fSniperFOV = penWeapon -> m_fSniperMinFOV ; #line 3681 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SILENCE , SOF_3D ); #line 3682 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_StopEffect ("SniperZoom");} #line 3683 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3684 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3685 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulReleasedButtons & PLACT_USE_HELD ) #line 3686 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3687 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOVlast = penWeapon -> m_fSniperFOV ; #line 3688 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SILENCE , SOF_3D ); #line 3689 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_StopEffect ("SniperZoom");} #line 3690 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3691 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3694 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetFlags () & ENF_ALIVE ){ #line 3696 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penActionMarker == NULL ){ #line 3698 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AliveActions (paAction ); #line 3700 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3702 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoActions (paAction ); #line 3703 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3705 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3706 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" DeathActions (paAction ); #line 3707 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3709 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(Abs (_pTimer -> CurrentTick () - m_tmAnalyseEnd ) < _pTimer -> TickQuantum * 2){ #line 3710 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmAnalyseEnd = 0; #line 3711 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bPendingMessage = TRUE ; #line 3712 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMessagePlay = 0; #line 3713 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3714 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bPendingMessage && ! IsFuss ()){ #line 3715 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bPendingMessage = FALSE ; #line 3716 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMessagePlay = _pTimer -> CurrentTick () + 1.0f; #line 3717 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmAnimateInbox = _pTimer -> CurrentTick (); #line 3718 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3719 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(Abs (_pTimer -> CurrentTick () - m_tmMessagePlay ) < _pTimer -> TickQuantum * 2){ #line 3720 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bPendingMessage = FALSE ; #line 3721 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmAnalyseEnd = 0; #line 3723 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! m_bComputerInvoked && GetSP () -> sp_bSinglePlayer ){ #line 3724 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PrintCenterMessage (this , this , #line 3725 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TRANS ("Press USE to read the message!") , 5.0f , MSS_NONE ); #line 3726 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3727 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3730 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(CheatsEnabled ()){ #line 3731 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Cheats (); #line 3732 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3735 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_iGoToMarker > 0 && (GetFlags () & ENF_ALIVE )){ #line 3737 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iLastViewState = m_iViewState ; #line 3738 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendEvent (ERebirth ()); #line 3739 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3742 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UpdateLatency (tmLatency ); #line 3745 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheckHighScore (); #line 3746 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3750 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::Disconnect(void) #line 3751 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3753 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_strName = GetPlayerName (); #line 3755 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pcCharacter = CPlayerCharacter (); #line 3757 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendEvent (EDisconnected ()); #line 3758 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3761 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::CharacterChanged(const CPlayerCharacter & pcNew) #line 3762 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3764 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerCharacter pcOrg = en_pcCharacter ; #line 3767 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pcCharacter = pcNew ; #line 3768 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ValidateCharacter (); #line 3771 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pcOrg . GetName () != pcNew . GetName ()){ #line 3773 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("%s is now known as %s\n") , #line 3774 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pcOrg . GetNameForPrinting () , pcNew . GetNameForPrinting ()); #line 3775 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3778 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pcOrg . GetTeam () != pcNew . GetTeam ()){ #line 3780 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("%s switched to team %s\n") , #line 3781 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pcNew . GetNameForPrinting () , pcNew . GetTeamForPrinting ()); #line 3782 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3785 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerSettings * ppsOrg = (CPlayerSettings *) pcOrg . pc_aubAppearance ; #line 3786 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerSettings * ppsNew = (CPlayerSettings *) pcNew . pc_aubAppearance ; #line 3787 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(memcmp (ppsOrg -> ps_achModelFile , ppsNew -> ps_achModelFile , sizeof (ppsOrg -> ps_achModelFile )) != 0){ #line 3789 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strNewLook ; #line 3790 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bSuccess = SetPlayerAppearance (& m_moRender , & en_pcCharacter , strNewLook , FALSE ); #line 3792 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bSuccess ){ #line 3793 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ParseGender (strNewLook ); #line 3795 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("%s now appears as %s\n") , #line 3796 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pcNew . GetNameForPrinting () , strNewLook ); #line 3798 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3800 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("Cannot change appearance for %s: setting '%s' is unavailable\n") , #line 3801 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pcNew . GetNameForPrinting () , (const char *) ppsNew -> GetModelFilename ()); #line 3802 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3804 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> SyncWeapon (); #line 3805 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3807 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL b3RDPersonOld = ppsOrg -> ps_ulFlags & PSF_PREFER3RDPERSON ; #line 3808 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL b3RDPersonNew = ppsNew -> ps_ulFlags & PSF_PREFER3RDPERSON ; #line 3809 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((b3RDPersonOld && ! b3RDPersonNew && m_iViewState == PVT_3RDPERSONVIEW ) #line 3810 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" || (b3RDPersonNew && ! b3RDPersonOld && m_iViewState == PVT_PLAYEREYES )){ #line 3811 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ChangePlayerView (); #line 3812 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3813 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3817 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::AliveActions(const CPlayerAction & pa) #line 3818 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3819 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAction paAction = pa ; #line 3822 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera != NULL ){ #line 3824 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_vTranslation = FLOAT3D (0 , 0 , 0); #line 3825 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aRotation = ANGLE3D (0 , 0 , 0); #line 3826 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aViewRotation = ANGLE3D (0 , 0 , 0); #line 3828 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & (PLACT_FIRE | PLACT_USE )){ #line 3830 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penCamera = NULL ; #line 3831 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3832 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3833 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ButtonsActions (paAction ); #line 3834 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3837 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ActiveActions (paAction ); #line 3840 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmSinceWounding = _pTimer -> CurrentTick () - m_tmWoundedTime ; #line 3841 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmSinceWounding < 4.0f){ #line 3843 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fDamageAmmount *= 1.0f - tmSinceWounding / 4.0f; #line 3844 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3846 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fDamageAmmount = 0.0f; #line 3847 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3848 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3851 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::AutoActions(const CPlayerAction & pa) #line 3852 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3854 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & (PLACT_FIRE | PLACT_USE | PLACT_COMPUTER )){ #line 3855 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera != NULL ){ #line 3856 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * penOnBreak = ((CCamera &) * m_penCamera ) . m_penOnBreak ; #line 3857 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penOnBreak != NULL ){ #line 3858 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendToTarget (penOnBreak , EET_TRIGGER , this ); #line 3859 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3860 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3861 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3863 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAction paAction = pa ; #line 3865 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_vTranslation = FLOAT3D (0 , 0 , 0); #line 3866 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aRotation = ANGLE3D (0 , 0 , 0); #line 3867 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aViewRotation = ANGLE3D (0 , 0 , 0); #line 3870 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fAutoSpeed > 0){ #line 3871 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vDelta = #line 3872 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penActionMarker -> GetPlacement () . pl_PositionVector - #line 3873 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlacement () . pl_PositionVector ; #line 3874 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDistance = vDelta . Length (); #line 3875 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fDistance > 0.1f){ #line 3876 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vDelta /= fDistance ; #line 3877 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE aDH = GetRelativeHeading (vDelta ); #line 3880 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fSpeed = m_fAutoSpeed ; #line 3881 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetActionMarker () -> m_paaAction == PAA_RUNANDSTOP ){ #line 3883 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fSpeed = Min (fSpeed , fDistance / _pTimer -> TickQuantum ); #line 3884 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3886 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(Abs (aDH ) > 5.0f){ #line 3887 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fSpeed > m_fAutoSpeed - 0.1f){ #line 3888 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDH = Clamp (aDH , - 30.0f , 30.0f); #line 3889 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3890 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aRotation = ANGLE3D (aDH / _pTimer -> TickQuantum , 0 , 0); #line 3891 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3893 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_vTranslation = FLOAT3D (0 , 0 , - fSpeed ); #line 3894 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3895 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 3896 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_vTranslation = m_vAutoSpeed ; #line 3897 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3899 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerActionMarker * ppam = GetActionMarker (); #line 3900 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (ppam != NULL ); #line 3901 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ppam -> m_paaAction == PAA_LOGO_FIRE_MINIGUN || ppam -> m_paaAction == PAA_LOGO_FIRE_INTROSE ) #line 3902 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3903 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_tmMinigunAutoFireStart != - 1) #line 3904 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3905 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmDelta = _pTimer -> CurrentTick () - m_tmMinigunAutoFireStart ; #line 3906 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT aDH = 0.0f; #line 3907 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT aDP = 0.0f; #line 3908 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmDelta >= 0.0f && tmDelta <= 0.75f) #line 3909 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3910 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDH = 0.0f; #line 3911 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3912 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(tmDelta >= 0.75f) #line 3913 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3914 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDT = tmDelta - 0.75f; #line 3915 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDH = 1.0f * cos (fDT + PI / 2.0f); #line 3916 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDP = 0.5f * cos (fDT ); #line 3917 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3918 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ppam -> m_paaAction == PAA_LOGO_FIRE_INTROSE ) #line 3919 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3920 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fRatio = CalculateRatio (tmDelta , 0.25 , 5 , 0.1f , 0.1f); #line 3921 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDP = 2.0f * sin (tmDelta * 200.0f) * fRatio ; #line 3922 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmDelta > 2.5f) #line 3923 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3924 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDP += (tmDelta - 2.5f) * 4.0f; #line 3925 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3926 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3927 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aRotation = ANGLE3D (aDH / _pTimer -> TickQuantum , aDP / _pTimer -> TickQuantum , 0); #line 3928 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3929 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3932 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_AUTOMOVEMENTS )){ #line 3933 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ActiveActions (paAction ); #line 3934 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3935 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3937 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::GetLerpedWeaponPosition(FLOAT3D vRel,CPlacement3D & pl) #line 3938 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3939 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pl = CPlacement3D (vRel , ANGLE3D (0 , 0 , 0)); #line 3940 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plView ; #line 3941 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _bDiscard3rdView = GetViewEntity () != this ; #line 3942 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetLerpedAbsoluteViewPlacement (plView ); #line 3943 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pl . RelativeToAbsolute (plView ); #line 3944 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3946 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SpawnBubbles(INDEX ctBubbles) #line 3947 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3948 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iBouble = 0;iBouble < ctBubbles ;iBouble ++) #line 3949 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3950 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vRndRel = FLOAT3D ((FRnd () - 0.5f) * 0.25f , - 0.25f , - 0.5f + FRnd () / 10.0f); #line 3951 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D aDummy = ANGLE3D (0 , 0 , 0); #line 3952 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plMouth = CPlacement3D (vRndRel , aDummy ); #line 3954 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plMouth . RelativeToAbsolute (en_plViewpoint ); #line 3955 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plMouth . RelativeToAbsolute (GetPlacement ()); #line 3956 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vRndSpd = FLOAT3D ((FRnd () - 0.5f) * 0.25f , (FRnd () - 0.5f) * 0.25f , (FRnd () - 0.5f) * 0.25f); #line 3957 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AddBouble (plMouth . pl_PositionVector , vRndSpd ); #line 3958 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3959 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3961 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::PlayPowerUpSound(void) { #line 3962 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soPowerUpBeep . Set3DParameters (50.0f , 10.0f , 4.0f , 1.0f); #line 3963 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soPowerUpBeep , SOUND_POWERUP_BEEP , SOF_3D | SOF_VOLUMETRIC | SOF_LOCAL ); #line 3964 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3966 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ActiveActions(const CPlayerAction & paAction) #line 3967 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3969 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vTranslation = paAction . pa_vTranslation ; #line 3971 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_fTranslationMultiplier && CheatsEnabled ()){ #line 3972 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation *= cht_fTranslationMultiplier ; #line 3973 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3976 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon == WEAPON_KNIFE && #line 3977 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ! GetSP () -> sp_bCooperative ){ #line 3978 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation *= 1.3f; #line 3979 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3982 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const TIME tmDelta = m_tmSeriousSpeed - _pTimer -> CurrentTick (); #line 3983 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmDelta > 0 && m_fAutoSpeed == 0.0f){ #line 3984 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (1) *= 2.0f; #line 3985 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (3) *= 2.0f; #line 3986 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3988 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fAcceleration = plr_fAcceleration ; #line 3989 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fDeceleration = plr_fDeceleration ; #line 3990 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bCooperative ) #line 3991 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 3992 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (1) *= 1.35f; #line 3993 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (3) *= 1.35f; #line 3995 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 3997 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CContentType & ctUp = GetWorld () -> wo_actContentTypes [ en_iUpContent ]; #line 3998 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CContentType & ctDn = GetWorld () -> wo_actContentTypes [ en_iDnContent ]; #line 3999 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlayerState pstWanted = PST_STAND ; #line 4000 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bUpSwimable = (ctUp . ct_ulFlags & CTF_SWIMABLE ) && en_fImmersionFactor <= 0.99f; #line 4001 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bDnSwimable = (ctDn . ct_ulFlags & CTF_SWIMABLE ) && en_fImmersionFactor >= 0.5f; #line 4004 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bUpSwimable || bDnSwimable ){ #line 4006 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_JUMPALLOWED ; #line 4009 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(en_fImmersionFactor >= 0.99f || bUpSwimable ){ #line 4011 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pstWanted = PST_DIVE ; #line 4013 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4015 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pstWanted = PST_SWIM ; #line 4016 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4018 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4020 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(en_penReference != NULL ){ #line 4022 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fFallTime = 0.0f; #line 4025 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4027 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fFallTime += _pTimer -> TickQuantum ; #line 4028 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4030 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(vTranslation (2) < 0.1f){ #line 4032 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_JUMPALLOWED ; #line 4033 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4036 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fFallTime >= 0.5f){ #line 4038 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pstWanted = PST_FALL ; #line 4040 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4042 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(vTranslation (2) < - 0.01f){ #line 4044 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pstWanted = PST_CROUCH ; #line 4046 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4048 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pstWanted = PST_STAND ; #line 4049 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4050 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4051 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4055 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (GetPhysicsFlags () & EPF_TRANSLATEDBYGRAVITY )){ #line 4056 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (paAction . pa_aRotation ); #line 4057 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_STAND , AOF_LOOPING | AOF_NORESTART ); #line 4058 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredTranslation (vTranslation ); #line 4060 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4061 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlayerState pstOld = m_pstState ; #line 4064 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pstWanted != m_pstState ){ #line 4066 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" switch(pstWanted ){ #line 4068 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_STAND : { #line 4070 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ChangeCollisionBoxIndexNow (PLAYER_COLLISION_BOX_STAND )){ #line 4071 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector (2) = plr_fViewHeightStand ; #line 4072 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_CROUCH ){ #line 4073 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Rise (); #line 4074 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4075 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Stand (); #line 4076 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4077 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pstState = PST_STAND ; #line 4078 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4079 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }break ; #line 4081 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_CROUCH : { #line 4083 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ChangeCollisionBoxIndexNow (PLAYER_COLLISION_BOX_CROUCH )){ #line 4084 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pstState = PST_CROUCH ; #line 4085 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector (2) = plr_fViewHeightCrouch ; #line 4086 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Crouch (); #line 4087 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4088 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }break ; #line 4090 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_SWIM : { #line 4092 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ChangeCollisionBoxIndexNow (PLAYER_COLLISION_BOX_SWIMSMALL )){ #line 4093 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ChangeCollisionBoxIndexWhenPossible (PLAYER_COLLISION_BOX_SWIM ); #line 4094 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pstState = PST_SWIM ; #line 4095 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector (2) = plr_fViewHeightSwim ; #line 4096 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Swim (); #line 4097 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fSwimTime = _pTimer -> CurrentTick (); #line 4098 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4099 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }break ; #line 4101 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_DIVE : { #line 4103 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ChangeCollisionBoxIndexNow (PLAYER_COLLISION_BOX_SWIMSMALL )){ #line 4104 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ChangeCollisionBoxIndexWhenPossible (PLAYER_COLLISION_BOX_SWIM ); #line 4105 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pstState = PST_DIVE ; #line 4106 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector (2) = plr_fViewHeightDive ; #line 4107 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Swim (); #line 4108 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4109 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }break ; #line 4111 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case PST_FALL : { #line 4113 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ChangeCollisionBoxIndexNow (PLAYER_COLLISION_BOX_STAND )){ #line 4114 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pstState = PST_FALL ; #line 4115 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector (2) = plr_fViewHeightStand ; #line 4116 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Fall (); #line 4117 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4118 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }break ; #line 4119 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4120 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4123 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState != pstOld ){ #line 4125 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bWasInWater = (pstOld == PST_SWIM || pstOld == PST_DIVE ); #line 4126 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bIsInWater = (m_pstState == PST_SWIM || m_pstState == PST_DIVE ); #line 4128 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bIsInWater && ! bWasInWater ){ #line 4129 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soBody , GenderSound (SOUND_WATER_ENTER ) , SOF_3D ); #line 4131 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(! bIsInWater && bWasInWater ){ #line 4132 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soBody , GenderSound (SOUND_WATER_LEAVE ) , SOF_3D ); #line 4133 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmOutOfWater = _pTimer -> CurrentTick (); #line 4136 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(bIsInWater ){ #line 4138 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pstOld == PST_SWIM && m_pstState == PST_DIVE ){ #line 4139 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootL , GenderSound (SOUND_DIVEIN ) , SOF_3D ); #line 4140 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("DiveIn");} #line 4141 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bMoveSoundLeft = TRUE ; #line 4142 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMoveSound = _pTimer -> CurrentTick (); #line 4144 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_pstState == PST_SWIM && pstOld == PST_DIVE ){ #line 4145 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootL , GenderSound (SOUND_DIVEOUT ) , SOF_3D ); #line 4146 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bMoveSoundLeft = TRUE ; #line 4147 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMoveSound = _pTimer -> CurrentTick (); #line 4148 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4149 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4151 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pstOld == PST_FALL && (m_pstState == PST_STAND || m_pstState == PST_CROUCH )){ #line 4152 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootL , GenderSound (SOUND_LAND ) , SOF_3D ); #line 4153 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("Land");} #line 4154 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4156 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_DIVE ){ #line 4157 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soLocalAmbientLoop . Set3DParameters (50.0f , 10.0f , 0.25f , 1.0f); #line 4158 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soLocalAmbientLoop , SOUND_WATERAMBIENT , #line 4159 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SOF_LOOP | SOF_3D | SOF_VOLUMETRIC | SOF_LOCAL ); #line 4160 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(pstOld == PST_DIVE ){ #line 4161 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soLocalAmbientLoop . Stop (); #line 4162 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4163 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4165 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(en_tmJumped + _pTimer -> TickQuantum >= _pTimer -> CurrentTick () && #line 4166 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_tmJumped <= _pTimer -> CurrentTick () && en_penReference == NULL ){ #line 4168 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDefaultMouthPitch (); #line 4169 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_JUMP ) , SOF_3D ); #line 4170 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("Jump");} #line 4172 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_JUMPALLOWED ; #line 4173 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4176 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_SWIM || pstWanted == PST_SWIM #line 4177 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" || (pstWanted == PST_DIVE && m_pstState != pstWanted )){ #line 4178 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fDensity = 500.0f; #line 4179 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4180 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fDensity = 1000.0f; #line 4181 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4183 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pTimer -> CurrentTick () >= m_tmNextAmbientOnce ) #line 4184 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4185 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_DIVE ) #line 4186 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4187 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soLocalAmbientOnce , SOUND_WATERBUBBLES , #line 4188 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SOF_3D | SOF_VOLUMETRIC | SOF_LOCAL ); #line 4189 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soLocalAmbientOnce . Set3DParameters (25.0f , 5.0f , 2.0f , Lerp (0.5f , 1.5f , FRnd ())); #line 4190 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SpawnBubbles (5 + INDEX (FRnd () * 5)); #line 4191 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4192 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmNextAmbientOnce = _pTimer -> CurrentTick () + 5.0f + FRnd (); #line 4193 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4197 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_CROUCH ){ #line 4199 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation /= 2.5f; #line 4201 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (2) = 0.0f; #line 4202 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4205 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_DIVE ){ #line 4207 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mPitch ; #line 4208 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" MakeRotationMatrixFast (mPitch , FLOAT3D (0 , en_plViewpoint . pl_OrientationAngle (2) , 0)); #line 4209 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fZ = vTranslation (3); #line 4210 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (3) = 0.0f; #line 4211 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation += FLOAT3D (0 , 0 , fZ ) * mPitch ; #line 4213 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_pstState == PST_SWIM ){ #line 4215 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mPitch ; #line 4216 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fPitch = en_plViewpoint . pl_OrientationAngle (2); #line 4217 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fPitch > - 30.0f){ #line 4218 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fPitch = 0; #line 4219 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4220 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" MakeRotationMatrixFast (mPitch , FLOAT3D (0 , fPitch , 0)); #line 4221 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fZ = vTranslation (3); #line 4222 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (3) = 0.0f; #line 4223 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation += FLOAT3D (0 , 0 , fZ ) * mPitch ; #line 4224 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4227 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_SWIM || m_pstState == PST_DIVE ){ #line 4229 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (2) *= 0.5f; #line 4230 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4233 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_SWIM && _pTimer -> CurrentTick () < m_fSwimTime + 0.5f #line 4234 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" || _pTimer -> CurrentTick () < m_tmOutOfWater + 0.5f){ #line 4236 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (2) = 0; #line 4238 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4243 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_JUMPALLOWED ) && vTranslation (2) > 0){ #line 4244 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vTranslation (2) = 0.0f; #line 4245 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4248 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredTranslation (vTranslation ); #line 4251 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . Rotate_HPB (ANGLE3D ( #line 4252 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (ANGLE) ((FLOAT) paAction . pa_aRotation (1) * _pTimer -> TickQuantum ) , #line 4253 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (ANGLE) ((FLOAT) paAction . pa_aRotation (2) * _pTimer -> TickQuantum ) , #line 4254 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (ANGLE) ((FLOAT) paAction . pa_aRotation (3) * _pTimer -> TickQuantum ))); #line 4256 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RoundViewAngle (en_plViewpoint . pl_OrientationAngle (2) , PITCH_MAX ); #line 4257 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RoundViewAngle (en_plViewpoint . pl_OrientationAngle (3) , BANKING_MAX ); #line 4260 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(vTranslation . Length () > 0.1f){ #line 4261 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (en_plViewpoint . pl_OrientationAngle (1) / _pTimer -> TickQuantum , 0.0f , 0.0f)); #line 4262 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_VIEWROTATIONCHANGED ){ #line 4263 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_VIEWROTATIONCHANGED ; #line 4264 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mViewRot ; #line 4265 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" MakeRotationMatrixFast (mViewRot , ANGLE3D (en_plViewpoint . pl_OrientationAngle (1) , 0 , 0)); #line 4266 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vTransRel = vTranslation * mViewRot ; #line 4267 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredTranslation (vTransRel ); #line 4268 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4269 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle (1) = 0.0f; #line 4272 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4273 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_VIEWROTATIONCHANGED ; #line 4274 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (0.0f , 0.0f , 0.0f)); #line 4275 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE aDiff = en_plViewpoint . pl_OrientationAngle (1) - HEADING_MAX ; #line 4276 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(aDiff > 0.0f){ #line 4277 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (aDiff / _pTimer -> TickQuantum , 0.0f , 0.0f)); #line 4278 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4279 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aDiff = en_plViewpoint . pl_OrientationAngle (1) + HEADING_MAX ; #line 4280 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(aDiff < 0.0f){ #line 4281 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (aDiff / _pTimer -> TickQuantum , 0.0f , 0.0f)); #line 4282 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4283 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RoundViewAngle (en_plViewpoint . pl_OrientationAngle (1) , HEADING_MAX ); #line 4284 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4287 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fWantSpeed = en_vDesiredTranslationRelative . Length (); #line 4288 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fGoesSpeed = en_vCurrentTranslationAbsolute . Length (); #line 4289 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bOnGround = (m_pstState == PST_STAND ) || (m_pstState == PST_CROUCH ); #line 4290 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bRunning = bOnGround && fWantSpeed > 5.0f && fGoesSpeed > 5.0f; #line 4291 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bWalking = bOnGround && ! bRunning && fWantSpeed > 2.0f && fGoesSpeed > 2.0f; #line 4292 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bSwimming = (m_pstState == PST_SWIM ) && fWantSpeed > 2.0f && fGoesSpeed > 2.0f; #line 4293 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bDiving = (m_pstState == PST_DIVE ) && fWantSpeed > 2.0f && fGoesSpeed > 2.0f; #line 4294 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmNow = _pTimer -> CurrentTick (); #line 4295 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iSoundWalkL = SOUND_WALK_L ; #line 4296 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iSoundWalkR = SOUND_WALK_R ; #line 4297 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((ctDn . ct_ulFlags & CTF_SWIMABLE ) && en_fImmersionFactor >= 0.1f){ #line 4298 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkL = SOUND_WATERWALK_L ; #line 4299 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkR = SOUND_WATERWALK_R ; #line 4300 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(en_pbpoStandOn != NULL && #line 4301 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pbpoStandOn -> bpo_bppProperties . bpp_ubSurfaceType == SURFACE_SAND ){ #line 4302 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkL = SOUND_WALK_SAND_L ; #line 4303 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkR = SOUND_WALK_SAND_R ; #line 4304 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(en_pbpoStandOn != NULL && #line 4305 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pbpoStandOn -> bpo_bppProperties . bpp_ubSurfaceType == SURFACE_RED_SAND ){ #line 4306 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkL = SOUND_WALK_SAND_L ; #line 4307 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkR = SOUND_WALK_SAND_R ; #line 4308 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(en_pbpoStandOn != NULL && #line 4309 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (en_pbpoStandOn -> bpo_bppProperties . bpp_ubSurfaceType == SURFACE_GRASS || #line 4310 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pbpoStandOn -> bpo_bppProperties . bpp_ubSurfaceType == SURFACE_GRASS_SLIDING || #line 4311 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pbpoStandOn -> bpo_bppProperties . bpp_ubSurfaceType == SURFACE_GRASS_NOIMPACT )){ #line 4312 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkL = SOUND_WALK_GRASS_L ; #line 4313 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkR = SOUND_WALK_GRASS_R ; #line 4314 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(en_pbpoStandOn != NULL && #line 4315 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pbpoStandOn -> bpo_bppProperties . bpp_ubSurfaceType == SURFACE_WOOD ){ #line 4316 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkL = SOUND_WALK_WOOD_L ; #line 4317 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkR = SOUND_WALK_WOOD_R ; #line 4318 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(en_pbpoStandOn != NULL && #line 4319 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_pbpoStandOn -> bpo_bppProperties . bpp_ubSurfaceType == SURFACE_SNOW ){ #line 4320 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkL = SOUND_WALK_SNOW_L ; #line 4321 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkR = SOUND_WALK_SNOW_R ; #line 4322 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4323 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else { #line 4324 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4325 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkL += m_iGender * GENDEROFFSET ; #line 4326 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iSoundWalkR += m_iGender * GENDEROFFSET ; #line 4327 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bRunning ){ #line 4328 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmNow > m_tmMoveSound + plr_fRunSoundDelay ){ #line 4329 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMoveSound = tmNow ; #line 4330 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bMoveSoundLeft = ! m_bMoveSoundLeft ; #line 4331 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bMoveSoundLeft ){ #line 4332 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootL , iSoundWalkL , SOF_3D ); #line 4333 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4334 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootR , iSoundWalkR , SOF_3D ); #line 4335 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4336 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4337 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(bWalking ){ #line 4338 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmNow > m_tmMoveSound + plr_fWalkSoundDelay ){ #line 4339 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMoveSound = tmNow ; #line 4340 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bMoveSoundLeft = ! m_bMoveSoundLeft ; #line 4341 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bMoveSoundLeft ){ #line 4342 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootL , iSoundWalkL , SOF_3D ); #line 4343 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4344 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootR , iSoundWalkR , SOF_3D ); #line 4345 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4346 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4347 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(bDiving ){ #line 4348 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmNow > m_tmMoveSound + plr_fDiveSoundDelay ){ #line 4349 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMoveSound = tmNow ; #line 4350 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bMoveSoundLeft = ! m_bMoveSoundLeft ; #line 4351 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bMoveSoundLeft ){ #line 4352 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootL , GenderSound (SOUND_DIVE_L ) , SOF_3D ); #line 4353 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4354 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootR , GenderSound (SOUND_DIVE_R ) , SOF_3D ); #line 4355 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4356 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4357 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(bSwimming ){ #line 4358 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmNow > m_tmMoveSound + plr_fSwimSoundDelay ){ #line 4359 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMoveSound = tmNow ; #line 4360 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bMoveSoundLeft = ! m_bMoveSoundLeft ; #line 4361 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_bMoveSoundLeft ){ #line 4362 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootL , GenderSound (SOUND_SWIM_L ) , SOF_3D ); #line 4363 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4364 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soFootR , GenderSound (SOUND_SWIM_R ) , SOF_3D ); #line 4365 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4366 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4367 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4370 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmBreathDelay = tmNow - en_tmLastBreathed ; #line 4371 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(en_tmMaxHoldBreath - tmBreathDelay < 20.0f){ #line 4373 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_tmMouthSoundLast + 2.0f < tmNow ){ #line 4374 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMouthSoundLast = tmNow ; #line 4375 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetRandomMouthPitch (0.9f , 1.1f); #line 4376 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_DROWN ) , SOF_3D ); #line 4377 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4378 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4381 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . AnimatePlayer (); #line 4382 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4383 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4386 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RoundViewAngle(ANGLE & aViewAngle,ANGLE aRound) { #line 4387 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(aViewAngle > aRound ){ #line 4388 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aViewAngle = aRound ; #line 4389 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4390 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(aViewAngle < - aRound ){ #line 4391 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aViewAngle = - aRound ; #line 4392 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4393 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4396 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::DeathActions(const CPlayerAction & paAction) { #line 4398 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 4399 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (IsPredicted () && m_penView -> IsPredicted () || IsPredictor () && m_penView -> IsPredictor () || ! IsPredicted () && ! m_penView -> IsPredicted () && ! IsPredictor () && ! m_penView -> IsPredictor ()); #line 4400 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector = FLOAT3D (0 , 1 , 0); #line 4401 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle += (ANGLE3D ( #line 4402 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (ANGLE) ((FLOAT) paAction . pa_aRotation (1) * _pTimer -> TickQuantum ) , #line 4403 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (ANGLE) ((FLOAT) paAction . pa_aRotation (2) * _pTimer -> TickQuantum ) , #line 4404 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (ANGLE) ((FLOAT) paAction . pa_aRotation (3) * _pTimer -> TickQuantum ))); #line 4405 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4408 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iMayRespawn == 2 && (ulReleasedButtons & PLACT_FIRE ) && ! IsPredictor ()){ #line 4410 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer ){ #line 4412 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pShell -> Execute ("gam_bQuickLoad=1;"); #line 4414 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(! GetSP () -> sp_bCooperative ){ #line 4416 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendEvent (EEnd ()); #line 4418 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4420 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulLastButtons & PLACT_RELOAD ){ #line 4422 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_RESPAWNINPLACE ; #line 4423 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4425 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_ctCredits != 0){ #line 4427 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_ctCredits == - 1 || GetSP () -> sp_ctCreditsLeft != 0){ #line 4429 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_ctCredits != - 1){ #line 4430 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CSessionProperties *) GetSP ()) -> sp_ctCreditsLeft --; #line 4431 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4434 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("%s is riding the gun again\n") , GetPlayerName ()); #line 4435 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendEvent (EEnd ()); #line 4438 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_ctCredits > 0){ #line 4439 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_ctCreditsLeft == 0){ #line 4440 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS (" no more credits left!\n")); #line 4441 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4442 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS (" %d credits left\n") , GetSP () -> sp_ctCreditsLeft ); #line 4443 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4444 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4446 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4448 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("%s rests in peace - out of credits\n") , GetPlayerName ()); #line 4449 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4450 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4451 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4452 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4454 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iMayRespawn == 1 && ! (ulButtonsNow & PLACT_FIRE )){ #line 4455 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMayRespawn = 2; #line 4456 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4457 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4461 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ButtonsActions(CPlayerAction & paAction) #line 4462 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4464 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((ulNewButtons & PLACT_SELECT_WEAPON_MASK ) != 0){ #line 4465 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESelectWeapon eSelect ; #line 4466 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSelect . iWeapon = (ulNewButtons & PLACT_SELECT_WEAPON_MASK ) >> PLACT_SELECT_WEAPON_SHIFT ; #line 4467 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (eSelect ); #line 4468 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4471 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_WEAPON_NEXT ){ #line 4472 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerWeapons &) * m_penWeapons ) . m_bSniping ){ #line 4473 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ApplySniperZoom (0); #line 4474 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(TRUE ){ #line 4475 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESelectWeapon eSelect ; #line 4476 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSelect . iWeapon = - 1; #line 4477 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (eSelect ); #line 4478 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4479 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4482 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_WEAPON_PREV ){ #line 4483 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerWeapons &) * m_penWeapons ) . m_bSniping ){ #line 4484 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ApplySniperZoom (1); #line 4485 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(TRUE ){ #line 4486 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESelectWeapon eSelect ; #line 4487 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSelect . iWeapon = - 2; #line 4488 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (eSelect ); #line 4489 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4490 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4491 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_WEAPON_FLIP ){ #line 4492 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESelectWeapon eSelect ; #line 4493 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSelect . iWeapon = - 3; #line 4494 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (eSelect ); #line 4495 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4498 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_FIRE ){ #line 4499 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EFireWeapon ()); #line 4500 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4502 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulReleasedButtons & PLACT_FIRE ){ #line 4503 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EReleaseWeapon ()); #line 4504 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4506 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulReleasedButtons & PLACT_RELOAD ){ #line 4507 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EReloadWeapon ()); #line 4508 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4510 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_FIREBOMB ){ #line 4511 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iSeriousBombCount > 0 && m_tmSeriousBombFired + 4.0f < _pTimer -> CurrentTick ()){ #line 4512 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iLastSeriousBombCount = m_iSeriousBombCount ; #line 4513 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iSeriousBombCount --; #line 4514 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmSeriousBombFired = _pTimer -> CurrentTick (); #line 4516 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESeriousBomb esb ; #line 4517 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" esb . penOwner = this ; #line 4518 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntityPointer penBomb = CreateEntity (GetPlacement () , CLASS_SERIOUSBOMB ); #line 4519 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penBomb -> Initialize (esb ); #line 4520 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4521 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4526 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_USE ){ #line 4527 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon == WEAPON_SNIPER ){ #line 4528 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UsePressed (FALSE ); #line 4529 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4530 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UsePressed (ulNewButtons & PLACT_COMPUTER ); #line 4531 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4533 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(ulNewButtons & PLACT_SNIPER_USE && ((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon == WEAPON_SNIPER ){ #line 4534 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UsePressed (FALSE ); #line 4536 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(ulNewButtons & PLACT_COMPUTER ){ #line 4537 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ComputerPressed (); #line 4538 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4541 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_USE_HELD ){ #line 4542 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bUseButtonHeld = TRUE ; #line 4543 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4546 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulReleasedButtons & PLACT_USE_HELD ){ #line 4547 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bUseButtonHeld = FALSE ; #line 4548 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4551 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_SNIPER_ZOOMIN ){ #line 4552 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ApplySniperZoom (1); #line 4553 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4556 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_SNIPER_ZOOMOUT ){ #line 4557 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ApplySniperZoom (0); #line 4558 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4561 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulNewButtons & PLACT_3RD_PERSON_VIEW ){ #line 4562 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ChangePlayerView (); #line 4563 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4566 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ulButtonsNow & PLACT_CENTER_VIEW ){ #line 4568 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" paAction . pa_aRotation (2) += Clamp (- en_plViewpoint . pl_OrientationAngle (2) / _pTimer -> TickQuantum , - 900.0f , + 900.0f); #line 4569 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4570 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4572 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::ApplySniperZoom(BOOL bZoomIn) #line 4573 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4575 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon != WEAPON_SNIPER || #line 4576 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . m_bSniping == FALSE ){ #line 4577 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 4578 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4579 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bZoomChanged ; #line 4580 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerWeapons &) * m_penWeapons ) . SniperZoomDiscrete (bZoomIn , bZoomChanged )){ #line 4581 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bZoomChanged ){ #line 4582 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SNIPER_QZOOM , SOF_3D ); #line 4583 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4584 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_ISZOOMING ; #line 4585 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4586 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else #line 4587 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4588 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_ISZOOMING ; #line 4589 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SILENCE , SOF_3D ); #line 4590 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_StopEffect ("SniperZoom");} #line 4591 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4592 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4595 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL CPlayer::CheatsEnabled(void) #line 4596 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4597 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return (GetSP () -> sp_ctMaxPlayers == 1 || GetSP () -> sp_bQuickTest ) && m_penActionMarker == NULL && ! _SE_DEMO ; #line 4598 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4601 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::Cheats(void) #line 4602 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4603 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bFlyOn = cht_bFly || cht_bGhost ; #line 4605 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bIsFlying = ! (GetPhysicsFlags () & EPF_TRANSLATEDBYGRAVITY ); #line 4606 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bFlyOn && ! bIsFlying ){ #line 4607 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () & ~ (EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY )); #line 4608 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle = ANGLE3D (0 , 0 , 0); #line 4609 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(! bFlyOn && bIsFlying ){ #line 4610 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () | EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY ); #line 4611 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle = ANGLE3D (0 , 0 , 0); #line 4612 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4615 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bIsGhost = ! (GetCollisionFlags () & ((ECBI_BRUSH | ECBI_MODEL ) << ECB_TEST )); #line 4616 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bGhost && ! bIsGhost ){ #line 4617 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetCollisionFlags (GetCollisionFlags () & ~ ((ECBI_BRUSH | ECBI_MODEL ) << ECB_TEST )); #line 4618 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(! cht_bGhost && bIsGhost ){ #line 4619 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetCollisionFlags (GetCollisionFlags () | ((ECBI_BRUSH | ECBI_MODEL ) << ECB_TEST )); #line 4620 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4623 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const TIME tmDelta = m_tmInvisibility - _pTimer -> CurrentTick (); #line 4624 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bInvisible || tmDelta > 0){ #line 4625 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetFlags (GetFlags () | ENF_INVISIBLE ); #line 4626 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4627 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetFlags (GetFlags () & ~ ENF_INVISIBLE ); #line 4628 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4631 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bGiveAll ){ #line 4632 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cht_bGiveAll = FALSE ; #line 4633 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . CheatGiveAll (); #line 4634 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4636 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bKillAll ){ #line 4637 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cht_bKillAll = FALSE ; #line 4638 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" KillAllEnemies (this ); #line 4639 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4641 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bOpen ){ #line 4642 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cht_bOpen = FALSE ; #line 4643 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . CheatOpen (); #line 4644 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4646 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bAllMessages ){ #line 4647 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cht_bAllMessages = FALSE ; #line 4648 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheatAllMessages (); #line 4649 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4651 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_bRefresh ){ #line 4652 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cht_bRefresh = FALSE ; #line 4653 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetHealth (TopHealth ()); #line 4654 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4655 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4664 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::GetLerpedAbsoluteViewPlacement(CPlacement3D & plView) { #line 4665 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_INITIALIZED )){ #line 4666 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView = GetPlacement (); #line 4667 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _bDiscard3rdView = FALSE ; #line 4668 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 4669 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4671 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bSharpTurning = #line 4672 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (GetSettings () -> ps_ulFlags & PSF_SHARPTURNING ) && #line 4673 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pNetwork -> IsPlayerLocal ((CPlayer *) GetPredictionTail ()); #line 4676 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fLerpFactor = _pTimer -> GetLerpFactor (); #line 4677 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView . Lerp (en_plLastViewpoint , en_plViewpoint , fLerpFactor ); #line 4680 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . ChangeView (plView ); #line 4682 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . BodyAndHeadOrientation (plView ); #line 4685 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iViewState == PVT_PLAYEREYES || _bDiscard3rdView ){ #line 4686 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plPosLerped = GetLerpedPlacement (); #line 4687 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bSharpTurning ){ #line 4689 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * pen = (CPlayer *) GetPredictionTail (); #line 4691 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_ISZOOMING ){ #line 4692 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fRotationDamping = ((CPlayerWeapons &) * m_penWeapons ) . m_fSniperFOV / ((CPlayerWeapons &) * m_penWeapons ) . m_fSniperMaxFOV ; #line 4693 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView . pl_OrientationAngle = pen -> en_plViewpoint . pl_OrientationAngle + (pen -> m_aLocalRotation - pen -> m_aLastRotation ) * fRotationDamping ; #line 4694 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4695 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView . pl_OrientationAngle = pen -> en_plViewpoint . pl_OrientationAngle + (pen -> m_aLocalRotation - pen -> m_aLastRotation ); #line 4696 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4698 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RoundViewAngle (plView . pl_OrientationAngle (2) , PITCH_MAX ); #line 4699 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RoundViewAngle (plView . pl_OrientationAngle (3) , BANKING_MAX ); #line 4704 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D aCurr = pen -> GetPlacement () . pl_OrientationAngle ; #line 4705 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D aLast = pen -> en_plLastPlacement . pl_OrientationAngle ; #line 4706 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D aDesired = pen -> en_aDesiredRotationRelative * _pTimer -> TickQuantum ; #line 4707 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mCurr ;MakeRotationMatrixFast (mCurr , aCurr ); #line 4708 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mLast ;MakeRotationMatrixFast (mLast , aLast ); #line 4709 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mDesired ;MakeRotationMatrixFast (mDesired , aDesired ); #line 4710 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" mDesired = en_mRotation * (mDesired * ! en_mRotation ); #line 4711 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D mForced = ! mDesired * mCurr * ! mLast ; #line 4712 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ANGLE3D aForced ;DecomposeRotationMatrixNoSnap (aForced , mForced ); #line 4713 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(aForced . MaxNorm () < 1E-2){ #line 4714 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" aForced = ANGLE3D (0 , 0 , 0); #line 4715 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4716 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATquat3D qForced ;qForced . FromEuler (aForced ); #line 4717 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATquat3D qZero ;qZero . FromEuler (ANGLE3D (0 , 0 , 0)); #line 4718 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATquat3D qLerped = Slerp (fLerpFactor , qZero , qForced ); #line 4719 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D m ; #line 4720 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" qLerped . ToMatrix (m ); #line 4721 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m = m * mDesired * mLast ; #line 4722 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" DecomposeRotationMatrixNoSnap (plPosLerped . pl_OrientationAngle , m ); #line 4723 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4724 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView . RelativeToAbsoluteSmooth (plPosLerped ); #line 4726 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_iViewState == PVT_3RDPERSONVIEW ){ #line 4727 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView = m_pen3rdPersonView -> GetLerpedPlacement (); #line 4729 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_iViewState == PVT_PLAYERAUTOVIEW ){ #line 4730 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView = m_penView -> GetLerpedPlacement (); #line 4732 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4733 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERTALWAYS ("Unknown player view"); #line 4734 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4735 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _bDiscard3rdView = FALSE ; #line 4736 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4739 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * CPlayer::GetViewEntity(void) { #line 4741 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iViewState == PVT_PLAYEREYES ){ #line 4742 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return this ; #line 4744 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_iViewState == PVT_3RDPERSONVIEW ){ #line 4745 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_ulFlags & PLF_ISZOOMING ){ #line 4746 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return this ; #line 4747 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4748 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerView &) * m_pen3rdPersonView ) . m_fDistance > 2.0f){ #line 4749 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return m_pen3rdPersonView ; #line 4750 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4751 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return this ; #line 4752 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4754 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_iViewState == PVT_PLAYERAUTOVIEW ){ #line 4755 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(((CPlayerView &) * m_penView ) . m_fDistance > 2.0f){ #line 4756 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return m_penView ; #line 4757 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4758 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return this ; #line 4759 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4761 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 4762 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERTALWAYS ("Unknown player view"); #line 4763 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return NULL ; #line 4764 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4765 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4767 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderChainsawParticles(BOOL bThird) #line 4768 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4769 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fStretch = 1.0f; #line 4770 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bThird ) #line 4771 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4772 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fStretch = 0.4f; #line 4773 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4775 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmNow = _pTimer -> GetLerpedCurrentTick (); #line 4776 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iSpray = 0;iSpray < MAX_BULLET_SPRAYS ;iSpray ++) #line 4777 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4778 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BulletSprayLaunchData & bsld = m_absldData [ iSpray ]; #line 4779 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fLife = 1.25f; #line 4780 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmNow > (bsld . bsld_tmLaunch + fLife )){continue ;} #line 4781 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_BulletSpray (bsld . bsld_iRndBase , bsld . bsld_vPos , bsld . bsld_vG , #line 4782 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bsld . bsld_eptType , bsld . bsld_tmLaunch , bsld . bsld_vStretch * fStretch , 1.0f); #line 4783 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4786 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iGore = 0;iGore < MAX_GORE_SPRAYS ;iGore ++) #line 4787 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4788 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GoreSprayLaunchData & gsld = m_agsldData [ iGore ]; #line 4789 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fLife = 2.0f; #line 4790 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmNow > (gsld . gsld_tmLaunch + fLife )){continue ;} #line 4791 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vPos = gsld . gsld_vPos ; #line 4792 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bThird ) #line 4793 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4794 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vPos = gsld . gsld_v3rdPos ; #line 4795 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4796 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_BloodSpray (gsld . gsld_sptType , vPos , gsld . gsld_vG , gsld . gsld_fGA , #line 4797 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_boxHitted , gsld . gsld_vSpilDirection , #line 4798 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" gsld . gsld_tmLaunch , gsld . gsld_fDamagePower * fStretch , gsld . gsld_colParticles ); #line 4799 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4800 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4803 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderHUD(CPerspectiveProjection3D & prProjection,CDrawPort * pdp, #line 4804 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vViewerLightDirection,COLOR colViewerLight,COLOR colViewerAmbient, #line 4805 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bRenderWeapon,INDEX iEye) #line 4806 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4807 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plViewOld = prProjection . ViewerPlacementR (); #line 4808 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bSniping = ((CPlayerWeapons &) * m_penWeapons ) . m_bSniping ; #line 4811 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bRenderModels = _pShell -> GetINDEX ("gfx_bRenderModels"); #line 4812 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(hud_bShowWeapon && bRenderModels && ! bSniping ){ #line 4814 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . RenderWeaponModel (prProjection , pdp , #line 4815 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vViewerLightDirection , colViewerLight , colViewerAmbient , bRenderWeapon , iEye ); #line 4816 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4819 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iViewState == PVT_PLAYEREYES ) #line 4820 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4821 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prProjection . ViewerPlacementL () = plViewOld ; #line 4822 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" prProjection . Prepare (); #line 4823 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CAnyProjection3D apr ; #line 4824 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" apr = prProjection ; #line 4825 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Stereo_AdjustProjection (* apr , iEye , 1); #line 4826 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particle_PrepareSystem (pdp , apr ); #line 4827 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particle_PrepareEntity (2.0f , FALSE , FALSE , this ); #line 4828 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderChainsawParticles (FALSE ); #line 4829 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particle_EndSystem (); #line 4830 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4833 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plView ; #line 4834 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iViewState == PVT_PLAYEREYES ){ #line 4836 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView = en_plViewpoint ; #line 4837 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView . RelativeToAbsolute (GetPlacement ()); #line 4838 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_iViewState == PVT_3RDPERSONVIEW ){ #line 4840 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plView = ((CPlayerView &) * m_pen3rdPersonView ) . GetPlacement (); #line 4841 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4842 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! bSniping ){ #line 4843 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . RenderCrosshair (prProjection , pdp , plView ); #line 4844 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4847 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * pen = (CPlayer *) GetPredictionTail (); #line 4849 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulR = 255 , ulG = 0 , ulB = 0; #line 4850 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulA = pen -> m_fDamageAmmount * 5.0f; #line 4853 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmSinceWounding = _pTimer -> CurrentTick () - pen -> m_tmWoundedTime ; #line 4854 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmSinceWounding < 4.0f){ #line 4856 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmSinceWounding < 0.001f){ulA = (ulA + 64) / 2;} #line 4857 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4860 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulA = ClampUp (ulA , (ULONG ) 224); #line 4861 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_iViewState == PVT_PLAYEREYES ){ #line 4862 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingRA += ulR * ulA ; #line 4863 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingGA += ulG * ulA ; #line 4864 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingBA += ulB * ulA ; #line 4865 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingA += ulA ; #line 4866 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4869 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4870 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR colGlare = GetWorldGlaring (); #line 4871 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UBYTE ubR , ubG , ubB , ubA ; #line 4872 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ColorToRGBA (colGlare , ubR , ubG , ubB , ubA ); #line 4873 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ubA != 0){ #line 4874 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingRA += ULONG (ubR ) * ULONG (ubA ); #line 4875 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingGA += ULONG (ubG ) * ULONG (ubA ); #line 4876 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingBA += ULONG (ubB ) * ULONG (ubA ); #line 4877 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> dp_ulBlendingA += ULONG (ubA ); #line 4878 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4879 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4882 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pdp -> BlendScreen (); #line 4885 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(hud_bShowInfo ){ #line 4887 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bSnooping = FALSE ; #line 4888 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penHUDPlayer = this ; #line 4889 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penHUDOwner = this ; #line 4891 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penHUDPlayer -> IsPredicted ()){ #line 4892 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penHUDPlayer = (CPlayer *) penHUDPlayer -> GetPredictor (); #line 4893 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4896 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerWeapons * pen = (CPlayerWeapons *) & * penHUDPlayer -> m_penWeapons ; #line 4897 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmDelta = _pTimer -> CurrentTick () - pen -> m_tmSnoopingStarted ; #line 4898 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(tmDelta < plr_tmSnoopingTime ){ #line 4899 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (pen -> m_penTargeting != NULL ); #line 4900 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penHUDPlayer = (CPlayer *) & * pen -> m_penTargeting ; #line 4901 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSnooping = TRUE ; #line 4902 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4903 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" DrawHUD (penHUDPlayer , pdp , bSnooping , penHUDOwner ); #line 4904 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4905 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4912 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * CPlayer::GetDeathmatchStartMarker(void) #line 4913 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4915 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPlayerStart = "Player Start - "; #line 4916 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctMarkers = _pNetwork -> GetNumberOfEntitiesWithName (strPlayerStart ); #line 4918 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ctMarkers == 0){ #line 4920 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return NULL ; #line 4921 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4923 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ctMarkers == 1){ #line 4925 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return _pNetwork -> GetEntityWithName (strPlayerStart , 0); #line 4926 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4930 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CStaticArray < MarkerDistance > amdMarkers ; #line 4931 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" amdMarkers . New (ctMarkers ); #line 4933 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" {for(INDEX iMarker = 0;iMarker < ctMarkers ;iMarker ++){ #line 4934 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" amdMarkers [ iMarker ] . md_ppm = (CPlayerMarker *) _pNetwork -> GetEntityWithName (strPlayerStart , iMarker ); #line 4935 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(amdMarkers [ iMarker ] . md_ppm == NULL ){ #line 4936 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return NULL ; #line 4937 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4939 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fMinD = UpperLimit (0.0f); #line 4940 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iPlayer = 0;iPlayer < GetMaxPlayers ();iPlayer ++){ #line 4941 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * ppl = (CPlayer *) & * GetPlayerEntity (iPlayer ); #line 4942 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ppl == NULL ){ #line 4943 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" continue ; #line 4944 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4945 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fD = #line 4946 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (amdMarkers [ iMarker ] . md_ppm -> GetPlacement () . pl_PositionVector - #line 4947 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ppl -> GetPlacement () . pl_PositionVector ) . Length (); #line 4948 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fD < fMinD ){ #line 4949 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" fMinD = fD ; #line 4950 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4951 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4952 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" amdMarkers [ iMarker ] . md_fMinD = fMinD ; #line 4953 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }} #line 4956 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" qsort (& amdMarkers [ 0 ] , ctMarkers , sizeof (amdMarkers [ 0 ]) , & qsort_CompareMarkerDistance ); #line 4957 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (amdMarkers [ 0 ] . md_fMinD >= amdMarkers [ ctMarkers - 1 ] . md_fMinD ); #line 4959 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX ctFarMarkers = ctMarkers / 2; #line 4960 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (ctFarMarkers > 0); #line 4961 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iStartMarker = IRnd () % ctFarMarkers ; #line 4963 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iMarker = iStartMarker ; #line 4964 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FOREVER { #line 4965 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pTimer -> CurrentTick () > amdMarkers [ iMarker ] . md_ppm -> m_tmLastSpawned + 1.0f){ #line 4966 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 4967 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4968 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iMarker = (iMarker + 1) % ctMarkers ; #line 4969 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iMarker == iStartMarker ){ #line 4970 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 4971 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4972 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4974 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return amdMarkers [ iMarker ] . md_ppm ; #line 4975 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 4981 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::InitializePlayer() #line 4982 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 4984 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle = ANGLE3D (0 , 0 , 0); #line 4985 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector = FLOAT3D (0.0f , plr_fViewHeightStand , 0.0f); #line 4986 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plLastViewpoint = en_plViewpoint ; #line 4989 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= PLF_INITIALIZED | PLF_LEVELSTARTED | PLF_RESPAWNINPLACE ; #line 4990 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fFallTime = 0.0f; #line 4991 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pstState = PST_STAND ; #line 4992 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fDamageAmmount = 0.0f; #line 4993 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmWoundedTime = 0.0f; #line 4994 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmInvisibility = 0.0f , #line 4995 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmInvulnerability = 0.0f , #line 4996 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmSeriousDamage = 0.0f , #line 4997 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmSeriousSpeed = 0.0f , #line 5000 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Initialize (); #line 5002 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerWeapons () -> SendEvent (EStart ()); #line 5005 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_AfterBurner_Prepare (this ); #line 5008 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (EPF_MODEL_WALKING | EPF_HASLUNGS ); #line 5009 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetCollisionFlags (ECF_MODEL | ((ECBI_PLAYER ) << ECB_IS )); #line 5010 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetFlags (GetFlags () | ENF_ALIVE ); #line 5012 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_STAND , AOF_LOOPING ); #line 5013 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TeleportPlayer (WLT_FIXED ); #line 5014 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5017 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D CPlayer::GetTeleportingOffset(void) #line 5018 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5020 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iPlayer = GetMyPlayerIndex (); #line 5023 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const FLOAT fOffsetY = 0.1f; #line 5024 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vOffsetRel = FLOAT3D (0 , fOffsetY , 0); #line 5025 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bCooperative && ! GetSP () -> sp_bSinglePlayer ){ #line 5026 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iRow = iPlayer / 4; #line 5027 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iCol = iPlayer % 4; #line 5028 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vOffsetRel = FLOAT3D (- 3.0f + iCol * 2.0f , fOffsetY , - 3.0f + iRow * 2.0f); #line 5029 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5031 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return vOffsetRel ; #line 5032 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5035 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RemapLevelNames(INDEX & iLevel) #line 5036 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5037 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" switch(iLevel ){ #line 5038 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 10: #line 5039 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 1; #line 5040 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5041 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 11: #line 5042 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 2; #line 5043 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5044 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 12: #line 5045 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 3; #line 5046 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5047 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 13: #line 5048 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 4; #line 5049 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5050 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 14: #line 5051 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 5; #line 5052 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5053 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 15: #line 5054 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 6; #line 5055 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5056 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 21: #line 5057 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 7; #line 5058 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5059 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 22: #line 5060 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 8; #line 5061 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5062 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 23: #line 5063 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 9; #line 5064 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5065 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 24: #line 5066 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 10; #line 5067 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5068 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 31: #line 5069 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 11; #line 5070 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5071 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 32: #line 5072 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 12; #line 5073 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5074 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" case 33: #line 5075 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = 13; #line 5076 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5077 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" default : #line 5078 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = - 1; #line 5079 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" break ; #line 5080 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5081 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5084 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::TeleportPlayer(enum WorldLinkType EwltType) #line 5085 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5086 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iLevel = - 1; #line 5087 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strLevelName = GetWorld () -> wo_fnmFileName . FileName (); #line 5090 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX u , v ; #line 5091 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" u = v = - 1; #line 5092 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strLevelName . ScanF ("%01d_%01d_" , & u , & v ); #line 5093 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iLevel = u * 10 + v ; #line 5095 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RemapLevelNames (iLevel ); #line 5097 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iLevel > 0){ #line 5098 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CSessionProperties *) GetSP ()) -> sp_ulLevelsMask |= 1 << (iLevel - 1); #line 5099 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5102 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iPlayer = GetMyPlayerIndex (); #line 5104 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plSet = GetPlacement (); #line 5106 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (CPlacement3D (FLOAT3D (32000.0f + 100.0f * iPlayer , 32000.0f , 0) , ANGLE3D (0 , 0 , 0))); #line 5108 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ForceCollisionBoxIndexChange (PLAYER_COLLISION_BOX_STAND ); #line 5109 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_PositionVector (2) = plr_fViewHeightStand ; #line 5110 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . m_bDisableAnimating = FALSE ; #line 5111 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . Stand (); #line 5112 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pstState = PST_STAND ; #line 5115 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vOffsetRel = GetTeleportingOffset (); #line 5118 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bSetHealth = FALSE ; #line 5119 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BOOL bAdjustHealth = FALSE ; #line 5120 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * pen = NULL ; #line 5121 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bCooperative ){ #line 5122 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(cht_iGoToMarker >= 0){ #line 5124 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPlayerStart ; #line 5125 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPlayerStart . PrintF ("Player Start - %d" , (INDEX) cht_iGoToMarker ); #line 5126 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen = _pNetwork -> GetEntityWithName (strPlayerStart , 0); #line 5127 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen -> SendEvent (ETrigger ()); #line 5128 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cht_iGoToMarker = - 1; #line 5129 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = TRUE ; #line 5130 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = FALSE ; #line 5132 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_penMainMusicHolder != NULL && ! (m_ulFlags & PLF_CHANGINGLEVEL )){ #line 5133 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CMusicHolder * pmh = (CMusicHolder *) & * m_penMainMusicHolder ; #line 5134 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pmh -> m_penRespawnMarker != NULL ){ #line 5136 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen = pmh -> m_penRespawnMarker ; #line 5137 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = TRUE ; #line 5138 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = FALSE ; #line 5139 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5140 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5143 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pen == NULL && GetSP () -> sp_bQuickTest && m_strGroup == ""){ #line 5145 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPlayerStart ; #line 5146 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPlayerStart . PrintF ("Player Quick Start"); #line 5147 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen = _pNetwork -> GetEntityWithName (strPlayerStart , 0); #line 5148 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = TRUE ; #line 5149 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = FALSE ; #line 5150 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5152 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pen == NULL ){ #line 5154 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPlayerStart ; #line 5155 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPlayerStart . PrintF ("Player Start - %s" , m_strGroup ); #line 5156 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen = _pNetwork -> GetEntityWithName (strPlayerStart , 0); #line 5157 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_strGroup == ""){ #line 5158 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = TRUE ; #line 5159 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = FALSE ; #line 5160 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5161 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(EwltType == WLT_FIXED ){ #line 5162 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = FALSE ; #line 5163 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = TRUE ; #line 5164 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5165 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = FALSE ; #line 5166 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = FALSE ; #line 5167 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5168 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5169 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5171 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pen == NULL ){ #line 5173 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strPlayerStart ; #line 5174 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strPlayerStart . PrintF ("Player Start - "); #line 5175 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen = _pNetwork -> GetEntityWithName (strPlayerStart , 0); #line 5176 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = TRUE ; #line 5177 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = FALSE ; #line 5178 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5179 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5180 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bSetHealth = TRUE ; #line 5181 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bAdjustHealth = FALSE ; #line 5183 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pen = GetDeathmatchStartMarker (); #line 5184 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pen != NULL ){ #line 5185 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerMarker &) * pen ) . m_tmLastSpawned = _pTimer -> CurrentTick (); #line 5186 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5187 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5190 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if((m_ulFlags & PLF_RESPAWNINPLACE ) && pen != NULL && ! ((CPlayerMarker *) & * pen ) -> m_bNoRespawnInPlace ){ #line 5191 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_RESPAWNINPLACE ; #line 5193 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetHealth (TopHealth ()); #line 5194 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMana = GetSP () -> sp_iInitialMana ; #line 5195 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fArmor = 0.0f; #line 5197 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (CPlacement3D (m_vDied , m_aDied )); #line 5200 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(pen != NULL ){ #line 5202 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penMainMusicHolder != NULL ){ #line 5203 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CMusicHolder * pmh = (CMusicHolder *) & * m_penMainMusicHolder ; #line 5204 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pmh -> m_penRespawnMarker == NULL ){ #line 5206 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pmh -> m_penRespawnMarker = pen ; #line 5207 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5208 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5210 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerMarker & CpmStart = (CPlayerMarker &) * pen ; #line 5212 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(bSetHealth ){ #line 5213 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetHealth (CpmStart . m_fHealth / 100.0f * TopHealth ()); #line 5214 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMana = GetSP () -> sp_iInitialMana ; #line 5215 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fArmor = CpmStart . m_fShield ; #line 5216 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(bAdjustHealth ){ #line 5217 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fHealth = GetHealth (); #line 5218 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fTopHealth = TopHealth (); #line 5219 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fHealth < fTopHealth ){ #line 5220 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetHealth (ClampUp (fHealth + fTopHealth / 2.0f , fTopHealth )); #line 5221 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5222 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5225 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(CpmStart . m_bStartInComputer && GetSP () -> sp_bSinglePlayer ){ #line 5227 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){ #line 5228 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_ppenPlayer = this ; #line 5229 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5230 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_bInitialStart = TRUE ; #line 5231 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5234 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CMessageHolder * penMessage = (CMessageHolder *) & * CpmStart . m_penMessage ; #line 5236 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" while(penMessage != NULL && IsOfClass (penMessage , "MessageHolder")){ #line 5237 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" const CTFileName & fnmMessage = penMessage -> m_fnmMessage ; #line 5239 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! HasMessage (fnmMessage )){ #line 5241 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ReceiveComputerMessage (fnmMessage , 0); #line 5242 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5244 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penMessage = (CMessageHolder *) & * penMessage -> m_penNext ; #line 5245 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5248 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bCooperative ){ #line 5249 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . InitializeWeapons (CpmStart . m_iGiveWeapons , 0 , 0 , #line 5250 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CpmStart . m_fMaxAmmoRatio ); #line 5251 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5252 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . InitializeWeapons (CpmStart . m_iGiveWeapons , CpmStart . m_iTakeWeapons , #line 5253 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetSP () -> sp_bInfiniteAmmo ? 0 : CpmStart . m_iTakeAmmo , CpmStart . m_fMaxAmmoRatio ); #line 5254 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5256 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(EwltType == WLT_RELATIVE ){ #line 5257 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plSet . AbsoluteToRelative (_SwcWorldChange . plLink ); #line 5258 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plSet . RelativeToAbsolute (CpmStart . GetPlacement ()); #line 5259 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (plSet ); #line 5261 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(EwltType == WLT_FIXED ){ #line 5262 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D plNew = CpmStart . GetPlacement (); #line 5263 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" vOffsetRel *= CpmStart . en_mRotation ; #line 5264 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plNew . pl_PositionVector += vOffsetRel ; #line 5265 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (plNew ); #line 5267 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5268 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERTALWAYS ("Unknown world link type"); #line 5269 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (CPlacement3D (FLOAT3D (0 , 0 , 0) + vOffsetRel , ANGLE3D (0 , 0 , 0))); #line 5270 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5272 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(CpmStart . m_penTarget != NULL ){ #line 5273 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendToTarget (CpmStart . m_penTarget , EET_TRIGGER , this ); #line 5274 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5277 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5279 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetHealth (TopHealth ()); #line 5280 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMana = GetSP () -> sp_iInitialMana ; #line 5281 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fArmor = 0.0f; #line 5283 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . InitializeWeapons (0 , 0 , 0 , 0); #line 5285 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (CPlacement3D (FLOAT3D (0 , 0 , 0) + vOffsetRel , ANGLE3D (0 , 0 , 0))); #line 5286 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5288 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendEventInRange (ETeleport () , FLOATaabbox3D (GetPlacement () . pl_PositionVector , 200.0f)); #line 5290 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ForceFullStop (); #line 5293 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fMaxHealth = TopHealth (); #line 5296 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer && GetSP () -> sp_gmGameMode != CSessionProperties :: GM_FLYOVER ){ #line 5297 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 5298 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pwsc != NULL && pwsc -> m_bNoSaveGame ){ #line 5299 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" NOTHING ; #line 5300 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5302 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pShell -> Execute ("gam_bQuickSave=1;"); #line 5303 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5304 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5306 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_LEVELSTARTED )){ #line 5307 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_LEVELSTARTED ; #line 5308 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmLevelStarted = _pNetwork -> GetGameTime (); #line 5309 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5311 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strDummy ; #line 5312 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPlayerAppearance (GetModelObject () , NULL , strDummy , FALSE ); #line 5313 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ValidateCharacter (); #line 5314 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPlayerAppearance (& m_moRender , & en_pcCharacter , strDummy , FALSE ); #line 5315 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ParseGender (strDummy ); #line 5316 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> SetWeapon (); #line 5317 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_SYNCWEAPON ; #line 5320 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SpawnTeleport (); #line 5322 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SwitchToModel (); #line 5323 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmSpawned = _pTimer -> CurrentTick (); #line 5325 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_tmLastBreathed = _pTimer -> CurrentTick () + 0.1f; #line 5326 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5329 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RecordEndOfLevelData(void) #line 5330 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5332 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (! m_bEndOfLevel ); #line 5334 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmAnalyseEnd = 0; #line 5335 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bPendingMessage = FALSE ; #line 5336 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMessagePlay = 0; #line 5338 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMayRespawn = 0; #line 5339 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bEndOfLevel = TRUE ; #line 5341 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" time ((time_t *) & m_iEndTime ); #line 5343 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TIME tmLevelTime = _pTimer -> CurrentTick () - m_tmLevelStarted ; #line 5344 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_tmTime = tmLevelTime ; #line 5345 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_tmTime += tmLevelTime ; #line 5346 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fTimeDelta = ClampDn ((FLOAT) (floor (m_tmEstTime ) - floor (tmLevelTime )) , 0.0f); #line 5347 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iTimeScore = floor (fTimeDelta * 100.0f); #line 5348 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iScore += m_iTimeScore ; #line 5349 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iScore += m_iTimeScore ; #line 5352 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strStats ; #line 5353 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" strStats . PrintF (TRANS ("%s\n Time: %s\n Score: %9d\n Kills: %03d/%03d\n Secrets: %02d/%02d\n") , #line 5354 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TranslateConst (en_pwoWorld -> GetName () , 0) , TimeToString (tmLevelTime ) , #line 5355 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iScore , #line 5356 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iKills , m_psLevelTotal . ps_iKills , #line 5357 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iSecrets , m_psLevelTotal . ps_iSecrets ); #line 5358 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_strLevelStats += strStats ; #line 5359 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5362 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::SpawnTeleport(void) #line 5363 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5365 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer ){ #line 5367 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 5368 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5369 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESpawnEffect ese ; #line 5370 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . colMuliplier = C_WHITE | CT_OPAQUE ; #line 5371 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . betType = BET_TELEPORT ; #line 5372 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . vNormal = FLOAT3D (0 , 1 , 0); #line 5373 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATaabbox3D box ; #line 5374 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetBoundingBox (box ); #line 5375 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fEntitySize = box . Size () . MaxNorm () * 2; #line 5376 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ese . vStretch = FLOAT3D (fEntitySize , fEntitySize , fEntitySize ); #line 5377 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntityPointer penEffect = CreateEntity (GetPlacement () , CLASS_BASIC_EFFECT ); #line 5378 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penEffect -> Initialize (ese ); #line 5379 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5384 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::RenderParticles(void) #line 5385 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5386 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT tmNow = _pTimer -> GetLerpedCurrentTick (); #line 5389 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_EmptyShells (this , m_asldData ); #line 5391 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(Particle_GetViewer () == this ){ #line 5392 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_ViewerLocal (this ); #line 5393 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5394 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else #line 5395 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5397 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RenderChainsawParticles (TRUE ); #line 5399 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetFlags () & ENF_ALIVE ){ #line 5400 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_tmSeriousDamage > tmNow && m_tmInvulnerability > tmNow ){ #line 5401 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_ModelGlow (this , Max (m_tmSeriousDamage , m_tmInvulnerability ) , PT_STAR08 , 0.15f , 2 , 0.03f , 0xff00ff00); #line 5402 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_tmInvulnerability > tmNow ){ #line 5403 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_ModelGlow (this , m_tmInvulnerability , PT_STAR05 , 0.15f , 2 , 0.03f , 0x3333ff00); #line 5404 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(m_tmSeriousDamage > tmNow ){ #line 5405 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_ModelGlow (this , m_tmSeriousDamage , PT_STAR08 , 0.15f , 2 , 0.03f , 0xff777700); #line 5406 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5407 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_tmSeriousSpeed > tmNow ){ #line 5408 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_RunAfterBurner (this , m_tmSeriousSpeed , 0.3f , 0); #line 5409 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5410 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bCooperative ){ #line 5411 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerWeapons * wpn = GetPlayerWeapons (); #line 5412 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(wpn -> m_tmLastSniperFire == _pTimer -> CurrentTick ()) #line 5413 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5414 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CAttachmentModelObject & amoBody = * GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ); #line 5415 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOATmatrix3D m ; #line 5416 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" MakeRotationMatrix (m , amoBody . amo_plRelative . pl_OrientationAngle ); #line 5417 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vSource = wpn -> m_vBulletSource + FLOAT3D (0.0f , 0.1f , - 0.4f) * GetRotationMatrix () * m ; #line 5418 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_SniperResidue (this , vSource , wpn -> m_vBulletTarget ); #line 5419 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5420 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5421 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5422 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5425 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_tmSpiritStart != 0.0f) #line 5426 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5427 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Particles_Appearing (this , m_tmSpiritStart ); #line 5428 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5429 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5431 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::TeleportToAutoMarker(CPlayerActionMarker * ppam) #line 5432 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5434 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bCooperative && ! GetSP () -> sp_bSinglePlayer ){ #line 5436 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iPlayer = 0;iPlayer < GetMaxPlayers ();iPlayer ++){ #line 5437 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * ppl = (CPlayer *) GetPlayerEntity (iPlayer ); #line 5438 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ppl != NULL ){ #line 5440 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D pl = ppam -> GetPlacement (); #line 5441 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vOffsetRel = ppl -> GetTeleportingOffset (); #line 5442 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pl . pl_PositionVector += vOffsetRel * ppam -> en_mRotation ; #line 5443 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ppl -> Teleport (pl , FALSE ); #line 5445 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ppl -> m_vDied = pl . pl_PositionVector ; #line 5446 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ppl -> m_aDied = pl . pl_OrientationAngle ; #line 5447 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5448 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5451 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5453 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D pl = ppam -> GetPlacement (); #line 5454 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vOffsetRel = GetTeleportingOffset (); #line 5455 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pl . pl_PositionVector += vOffsetRel * ppam -> en_mRotation ; #line 5456 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (pl , FALSE ); #line 5457 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5458 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5461 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" void CPlayer::CheckDeathForRespawnInPlace(EDeath eDeath) #line 5462 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5464 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bRespawnInPlace ){ #line 5466 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return ; #line 5467 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5469 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * penKiller = eDeath . eLastDamage . penInflictor ; #line 5470 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (penKiller , "Player") || IsDerivedFromClass (penKiller , "Enemy Base")){ #line 5472 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_RESPAWNINPLACE ; #line 5473 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_vDied = GetPlacement () . pl_PositionVector ; #line 5474 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_aDied = GetPlacement () . pl_OrientationAngle ; #line 5475 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5476 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } BOOL CPlayer:: #line 5482 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Wounded(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_Wounded ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EDamage, "CPlayer::Wounded expects 'EDamage' as input!"); const EDamage &eDamage = (const EDamage &)__eeInput; #line 5483 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 5483 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5490 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" WorldChange(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_WorldChange ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::WorldChange expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 5492 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer ){ #line 5494 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strDummy ("1"); #line 5495 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SaveStringVar (GetWorld () -> wo_fnmFileName . NoExt () + ".vis" , strDummy ); #line 5496 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5498 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FindMusicHolder (); #line 5500 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_strGroup = _SwcWorldChange . strGroup ; #line 5501 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TeleportPlayer ((WorldLinkType ) _SwcWorldChange . iType ); #line 5503 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetupLightSource (); #line 5506 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerWeapons * penWeapon = GetPlayerWeapons (); #line 5507 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOVlast = penWeapon -> m_fSniperFOV = penWeapon -> m_fSniperMaxFOV ; #line 5508 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_bSniping = FALSE ; #line 5509 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_ISZOOMING ; #line 5512 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soWeaponAmbient , SOUND_SILENCE , SOF_3D ); #line 5515 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UpdateLevelStats (); #line 5516 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_INITIALIZED ; #line 5517 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_CHANGINGLEVEL ; #line 5518 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 5518 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5521 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" WorldChangeDead(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_WorldChangeDead ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::WorldChangeDead expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 5524 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_RESPAWNINPLACE ; #line 5527 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer ){ #line 5529 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strDummy ("1"); #line 5530 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SaveStringVar (GetWorld () -> wo_fnmFileName . NoExt () + ".vis" , strDummy ); #line 5531 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5533 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FindMusicHolder (); #line 5536 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_Rebirth, TRUE; Jump(STATE_CURRENT, 0x01910008, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910008_WorldChangeDead_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910008 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_Rebirth, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910009, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910009_WorldChangeDead_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910009 const EReturn&__e= (EReturn&)__eeInput; ; #line 5539 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetupLightSource (); #line 5542 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UpdateLevelStats (); #line 5543 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_INITIALIZED ; #line 5544 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_CHANGINGLEVEL ; #line 5545 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 5545 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5552 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Death(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_Death ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EDeath, "CPlayer::Death expects 'EDeath' as input!"); const EDeath &eDeath = (const EDeath &)__eeInput; #line 5555 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EReleaseWeapon ()); #line 5557 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )) #line 5558 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5559 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" IFeel_StopEffect ("ChainsawFire"); #line 5560 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" IFeel_StopEffect ("FlamethrowerFire"); #line 5561 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" IFeel_StopEffect ("ChainsawIdle"); #line 5562 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" IFeel_StopEffect ("SniperZoom"); #line 5563 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" IFeel_StopEffect ("Minigun_rotate"); #line 5564 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5567 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerWeapons * penWeapon = GetPlayerWeapons (); #line 5568 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_ISZOOMING ; #line 5569 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_bSniping = FALSE ; #line 5570 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_fSniperFOVlast = penWeapon -> m_fSniperFOV = penWeapon -> m_fSniperMaxFOV ; #line 5573 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SILENCE , SOF_3D ); #line 5574 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soWeaponAmbient , SOUND_SILENCE , SOF_3D ); #line 5577 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penWeapon -> m_aMiniGunLast = penWeapon -> m_aMiniGun ; #line 5580 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer || IsPredictor ()){ #line 5582 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" NOTHING ; #line 5584 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(GetSP () -> sp_bCooperative ){ #line 5586 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PrintPlayerDeathMessage (this , eDeath ); #line 5588 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheckDeathForRespawnInPlace (eDeath ); #line 5590 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iDeaths += 1; #line 5591 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iDeaths += 1; #line 5593 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5595 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PrintPlayerDeathMessage (this , eDeath ); #line 5597 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntity * penKiller = eDeath . eLastDamage . penInflictor ; #line 5599 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * pplKillerPlayer = NULL ; #line 5602 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penKiller != NULL ){ #line 5604 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (penKiller , "Player")){ #line 5606 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penKiller != this ){ #line 5607 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pplKillerPlayer = (CPlayer *) penKiller ; #line 5608 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EReceiveScore eScore ; #line 5609 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eScore . iPoints = m_iMana ; #line 5610 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eDeath . eLastDamage . penInflictor -> SendEvent (eScore ); #line 5611 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eDeath . eLastDamage . penInflictor -> SendEvent (EKilledEnemy ()); #line 5613 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5614 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iScore -= m_iMana ; #line 5615 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iScore -= m_iMana ; #line 5616 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iKills -= 1; #line 5617 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iKills -= 1; #line 5618 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5620 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5621 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iScore -= m_iMana ; #line 5622 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iScore -= m_iMana ; #line 5623 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iKills -= 1; #line 5624 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iKills -= 1; #line 5625 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5627 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5628 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iScore -= m_iMana ; #line 5629 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iScore -= m_iMana ; #line 5630 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iKills -= 1; #line 5631 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iKills -= 1; #line 5632 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5635 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bUseFrags ){ #line 5637 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pplKillerPlayer != NULL ){ #line 5639 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS (" %s: +%d points\n") , pplKillerPlayer -> GetPlayerName () , m_iMana ); #line 5641 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5643 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS (" %s: -%d points\n") , GetPlayerName () , m_iMana ); #line 5644 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5645 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5648 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iDeaths += 1; #line 5649 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iDeaths += 1; #line 5650 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5653 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iLastViewState = m_iViewState ; #line 5656 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetFlags (GetFlags () & ~ ENF_ALIVE ); #line 5658 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredTranslation (FLOAT3D (0.0f , 0.0f , 0.0f)); #line 5659 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (0.0f , 0.0f , 0.0f)); #line 5662 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . RemoveWeapon (); #line 5664 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerWeapons () -> SendEvent (EStop ()); #line 5667 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! GetSP () -> sp_bCooperative ){ #line 5669 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerWeapons () -> DropWeapon (); #line 5670 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5674 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iAnim1 ; #line 5675 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iAnim2 ; #line 5676 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_SWIM || m_pstState == PST_DIVE ){ #line 5677 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim1 = PLAYER_ANIM_DEATH_UNDERWATER ; #line 5678 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim2 = BODY_ANIM_DEATH_UNDERWATER ; #line 5679 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(eDeath . eLastDamage . dmtType == DMT_SPIKESTAB ){ #line 5680 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim1 = PLAYER_ANIM_DEATH_SPIKES ; #line 5681 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim2 = BODY_ANIM_DEATH_SPIKES ; #line 5682 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(eDeath . eLastDamage . dmtType == DMT_ABYSS ){ #line 5683 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim1 = PLAYER_ANIM_ABYSSFALL ; #line 5684 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim2 = BODY_ANIM_ABYSSFALL ; #line 5685 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5686 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT3D vFront ; #line 5687 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetHeadingDirection (0 , vFront ); #line 5688 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FLOAT fDamageDir = m_vDamage % vFront ; #line 5689 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(fDamageDir < 0){ #line 5690 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(Abs (fDamageDir ) < 10.0f){ #line 5691 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim1 = PLAYER_ANIM_DEATH_EASYFALLBACK ; #line 5692 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim2 = BODY_ANIM_DEATH_EASYFALLBACK ; #line 5693 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5694 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim1 = PLAYER_ANIM_DEATH_BACK ; #line 5695 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim2 = BODY_ANIM_DEATH_BACK ; #line 5696 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5697 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5698 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(Abs (fDamageDir ) < 10.0f){ #line 5699 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim1 = PLAYER_ANIM_DEATH_EASYFALLFORWARD ; #line 5700 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim2 = BODY_ANIM_DEATH_EASYFALLFORWARD ; #line 5701 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5702 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim1 = PLAYER_ANIM_DEATH_FORWARD ; #line 5703 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" iAnim2 = BODY_ANIM_DEATH_FORWARD ; #line 5704 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5705 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5706 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5707 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle = ANGLE3D (0 , 0 , 0); #line 5708 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (iAnim1 , 0); #line 5709 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 5710 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (iAnim2 , 0); #line 5713 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (EPF_MODEL_CORPSE ); #line 5714 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetCollisionFlags (ECF_CORPSE ); #line 5717 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fDensity = 400.0f; #line 5720 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pstState == PST_DIVE ){ #line 5721 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDefaultMouthPitch (); #line 5722 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_DEATHWATER ) , SOF_3D ); #line 5723 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("DeathWater");} #line 5724 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5725 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDefaultMouthPitch (); #line 5726 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_DEATH ) , SOF_3D ); #line 5727 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("Death");} #line 5728 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5731 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (m_penView == NULL ); #line 5732 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView == NULL ){ #line 5733 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penView = CreateEntity (GetPlacement () , CLASS_PLAYER_VIEW ); #line 5734 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EViewInit eInit ; #line 5735 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . penOwner = this ; #line 5736 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . penCamera = NULL ; #line 5737 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . vtView = VT_PLAYERDEATH ; #line 5738 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInit . bDeathFixed = eDeath . eLastDamage . dmtType == DMT_ABYSS ; #line 5739 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penView -> Initialize (eInit ); #line 5740 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5742 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ShouldBlowUp ()){ #line 5743 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BlowUp (); #line 5744 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5746 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" LeaveStain (TRUE ); #line 5747 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5749 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMayRespawn = 0; #line 5751 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(1.2f); Jump(STATE_CURRENT, 0x0191000b, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191000b_Death_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191000b switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 5754 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iViewState = PVT_PLAYERAUTOVIEW ; #line 5755 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 5756 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; #line 5760 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMayRespawn = 1; #line 5761 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 5762 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EDamage):{const EDamage&eDamage= (EDamage&)__eeInput; #line 5765 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(eDamage . dmtType == DMT_ABYSS ){ #line 5766 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 5767 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView *) & * m_penView ) -> m_bFixed = TRUE ; #line 5768 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5769 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5771 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(ShouldBlowUp ()){ #line 5773 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BlowUp (); #line 5774 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5775 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 5776 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EDeath):{const EDeath&e= (EDeath&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EEnd):{const EEnd&e= (EEnd&)__eeInput; #line 5782 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! IsPredictor ()){ #line 5784 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UnsetTimer();Jump(STATE_CURRENT,0x0191000c, FALSE, EInternal());return TRUE; #line 5785 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5786 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EAutoAction):{const EAutoAction&eAutoAction= (EAutoAction&)__eeInput; #line 5790 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bCooperative && ! GetSP () -> sp_bSinglePlayer ){ #line 5792 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(eAutoAction . penFirstMarker != NULL && #line 5793 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerActionMarker *) & * eAutoAction . penFirstMarker ) -> m_paaAction == PAA_TELEPORT ){ #line 5795 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TeleportToAutoMarker ((CPlayerActionMarker *) & * eAutoAction . penFirstMarker ); #line 5796 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5797 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5799 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 5800 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EDisconnected):{const EDisconnected&e= (EDisconnected&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_EReceiveScore):{const EReceiveScore&e= (EReceiveScore&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_EKilledEnemy):{const EKilledEnemy&e= (EKilledEnemy&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_EPreLevelChange):{const EPreLevelChange&e= (EPreLevelChange&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_EPostLevelChange):{const EPostLevelChange&e= (EPostLevelChange&)__eeInput; return FALSE;}ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 5807 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }return TRUE;}BOOL CPlayer::H0x0191000c_Death_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191000c #line 5809 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,ERebirth ()); #line 5809 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5812 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TheEnd(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_TheEnd ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::TheEnd expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 5814 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! _pNetwork -> IsPlayingDemo ()){ #line 5816 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer ){ #line 5817 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pShell -> Execute ("gam_iRecordHighScore=0;"); #line 5818 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5819 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5821 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_gdGameDifficulty == CSessionProperties :: GD_EXTREME ){ #line 5823 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pShell -> Execute ("sam_bMentalActivated=1;"); #line 5824 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5827 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EReleaseWeapon ()); #line 5830 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetFlags (GetFlags () & ~ ENF_ALIVE ); #line 5832 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredTranslation (FLOAT3D (0.0f , 0.0f , 0.0f)); #line 5833 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (0.0f , 0.0f , 0.0f)); #line 5836 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_STAND , 0); #line 5837 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerAnimator &) * m_penAnimator ) . BodyAnimationTemplate ( #line 5838 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BODY_ANIM_NORMALWALK , BODY_ANIM_COLT_STAND , BODY_ANIM_SHOTGUN_STAND , BODY_ANIM_MINIGUN_STAND , #line 5839 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AOF_LOOPING | AOF_NORESTART ); #line 5841 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle = ANGLE3D (0 , 0 , 0); #line 5844 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bEndOfGame = TRUE ; #line 5845 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetGameEnd (); #line 5847 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x0191000e, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191000e_TheEnd_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191000e switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EReceiveScore):{const EReceiveScore&e= (EReceiveScore&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_EKilledEnemy):{const EKilledEnemy&e= (EKilledEnemy&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_ECenterMessage):{const ECenterMessage&e= (ECenterMessage&)__eeInput; return FALSE;}ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 5853 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }return TRUE;}BOOL CPlayer::H0x0191000f_TheEnd_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191000f ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5859 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FirstInit(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_FirstInit ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::FirstInit expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 5861 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bUseButtonHeld = FALSE ; #line 5864 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iViewState = m_iLastViewState ; #line 5867 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 5868 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_penView ) . SendEvent (EEnd ()); #line 5869 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penView = NULL ; #line 5870 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5872 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FindMusicHolder (); #line 5875 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UpdateLevelStats (); #line 5878 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" InitializePlayer (); #line 5881 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ReceiveComputerMessage (CTFILENAME ("Data\\Messages\\Statistics\\Statistics.txt") , CMF_READ ); #line 5883 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSettings () -> ps_ulFlags & PSF_PREFER3RDPERSON ){ #line 5884 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ChangePlayerView (); #line 5885 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5887 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 5887 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5890 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Rebirth(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_Rebirth ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::Rebirth expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 5892 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" bUseButtonHeld = FALSE ; #line 5895 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iViewState = m_iLastViewState ; #line 5897 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! (m_ulFlags & PLF_RESPAWNINPLACE )){ #line 5898 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerWeapons () -> ClearWeapons (); #line 5899 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5902 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 5903 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_penView ) . SendEvent (EEnd ()); #line 5904 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penView = NULL ; #line 5905 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5908 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CEntityPointer penFlame = GetChildOfClass ("Flame"); #line 5909 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penFlame != NULL ) #line 5910 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5912 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EStopFlaming esf ; #line 5913 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" esf . m_bNow = TRUE ; #line 5914 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penFlame -> SendEvent (esf ); #line 5915 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5917 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 5918 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerView &) * m_penView ) . SendEvent (EEnd ()); #line 5919 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penView = NULL ; #line 5920 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5922 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" FindMusicHolder (); #line 5925 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" InitializePlayer (); #line 5927 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 5927 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5932 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoGoToMarker(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoGoToMarker ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoGoToMarker expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 5934 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulFlags = AOF_LOOPING | AOF_NORESTART ; #line 5936 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iAnim = GetModelObject () -> GetAnim (); #line 5937 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iAnim != PLAYER_ANIM_STAND ) #line 5938 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5939 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulFlags |= AOF_SMOOTHCHANGE ; #line 5940 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5942 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 5943 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . m_bAttacking = FALSE ; #line 5944 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyWalkAnimation (); #line 5945 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fAutoSpeed > plr_fSpeedForward / 2){ #line 5946 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_RUN , ulFlags ); #line 5947 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5948 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_NORMALWALK , ulFlags ); #line 5949 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5952 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Jump(STATE_CURRENT,0x01910015, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910015_AutoGoToMarker_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910015 if(!( #line 5953 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (m_penActionMarker -> GetPlacement () . pl_PositionVector - #line 5954 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlacement () . pl_PositionVector ) . Length () > 1.0f)){ Jump(STATE_CURRENT,0x01910016, FALSE, EInternal());return TRUE;} #line 5956 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x01910013, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910013_AutoGoToMarker_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910013 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910014, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910014_AutoGoToMarker_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910014 ;Jump(STATE_CURRENT,0x01910015, FALSE, EInternal());return TRUE; #line 5957 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }BOOL CPlayer::H0x01910016_AutoGoToMarker_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910016 #line 5960 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 5960 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 5964 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoGoToMarkerAndStop(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoGoToMarkerAndStop ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoGoToMarkerAndStop expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 5966 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ULONG ulFlags = AOF_LOOPING | AOF_NORESTART ; #line 5968 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" INDEX iAnim = GetModelObject () -> GetAnim (); #line 5969 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(iAnim != PLAYER_ANIM_STAND ) #line 5970 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 5971 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ulFlags |= AOF_SMOOTHCHANGE ; #line 5972 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5974 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 5975 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyWalkAnimation (); #line 5976 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_fAutoSpeed > plr_fSpeedForward / 2){ #line 5977 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_RUN , ulFlags ); #line 5978 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 5979 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_NORMALWALK , ulFlags ); #line 5980 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 5983 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Jump(STATE_CURRENT,0x0191001a, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191001a_AutoGoToMarkerAndStop_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191001a if(!( #line 5984 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (m_penActionMarker -> GetPlacement () . pl_PositionVector - #line 5985 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlacement () . pl_PositionVector ) . Length () > m_fAutoSpeed * _pTimer -> TickQuantum * 2.00f)){ Jump(STATE_CURRENT,0x0191001b, FALSE, EInternal());return TRUE;} #line 5987 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x01910018, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910018_AutoGoToMarkerAndStop_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910018 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910019, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910019_AutoGoToMarkerAndStop_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910019 ;Jump(STATE_CURRENT,0x0191001a, FALSE, EInternal());return TRUE; #line 5988 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }BOOL CPlayer::H0x0191001b_AutoGoToMarkerAndStop_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191001b #line 5990 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fAutoSpeed = 0.0f; #line 5992 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 5993 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyStillAnimation (); #line 5994 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_STAND , AOF_LOOPING | AOF_NORESTART ); #line 5997 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ForceFullStop (); #line 6000 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6000 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6004 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoUseItem(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoUseItem ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoUseItem expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6008 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6009 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyPullItemAnimation (); #line 6012 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(0.2f); Jump(STATE_CURRENT, 0x0191001d, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191001d_AutoUseItem_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191001d switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191001e, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191001e_AutoUseItem_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191001e ; #line 6015 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerActionMarker * ppam = GetActionMarker (); #line 6016 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (ppam -> m_penItem , "KeyItem")){ #line 6017 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moItem = ppam -> m_penItem -> GetModelObject () -> GetAttachmentModel (0) -> amo_moModelObject ; #line 6018 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> SetItem (& moItem ); #line 6019 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6021 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(2.20f - 0.2f); Jump(STATE_CURRENT, 0x0191001f, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191001f_AutoUseItem_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191001f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910020, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910020_AutoUseItem_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910020 ; #line 6024 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6025 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyRemoveItem (); #line 6027 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetActionMarker () -> m_penTrigger != NULL ){ #line 6029 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendToTarget (GetActionMarker () -> m_penTrigger , EET_TRIGGER , this ); #line 6030 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6033 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetActionMarker () -> m_penDoorController != NULL ){ #line 6034 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EPass ePass ; #line 6035 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ePass . penOther = this ; #line 6036 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetActionMarker () -> m_penDoorController -> SendEvent (ePass ); #line 6037 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6039 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(3.25f - 2.20f); Jump(STATE_CURRENT, 0x01910021, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910021_AutoUseItem_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910021 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910022, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910022_AutoUseItem_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910022 ; #line 6041 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6042 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyRemoveItem (); #line 6045 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6045 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6049 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoPickItem(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoPickItem ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoPickItem expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6053 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6054 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyPickItemAnimation (); #line 6055 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_KEYLIFT , 0); #line 6057 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(1.2f); Jump(STATE_CURRENT, 0x01910024, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910024_AutoPickItem_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910024 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910025, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910025_AutoPickItem_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910025 ; #line 6060 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetActionMarker () -> m_penTrigger != NULL ){ #line 6062 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendToTarget (GetActionMarker () -> m_penTrigger , EET_TRIGGER , this ); #line 6063 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6066 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerActionMarker * ppam = GetActionMarker (); #line 6067 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (ppam -> m_penItem , "KeyItem")){ #line 6068 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moItem = ppam -> m_penItem -> GetModelObject () -> GetAttachmentModel (0) -> amo_moModelObject ; #line 6069 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> SetItem (& moItem ); #line 6070 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EPass ePass ; #line 6071 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ePass . penOther = this ; #line 6072 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ppam -> m_penItem -> SendEvent (ePass ); #line 6073 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6075 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(3.6f - 1.2f + GetActionMarker () -> m_tmWait ); Jump(STATE_CURRENT, 0x01910026, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910026_AutoPickItem_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910026 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910027, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910027_AutoPickItem_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910027 ; #line 6077 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6078 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyRemoveItem (); #line 6081 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6081 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6084 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoFallDown(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoFallDown ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoFallDown expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6086 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_BRIDGEFALLPOSE , 0); #line 6087 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6088 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_BRIDGEFALLPOSE , 0); #line 6090 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(GetActionMarker () -> m_tmWait ); Jump(STATE_CURRENT, 0x01910029, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910029_AutoFallDown_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910029 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191002a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191002a_AutoFallDown_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191002a ; #line 6093 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6093 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6096 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoFallToAbys(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoFallToAbys ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoFallToAbys expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6098 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_ABYSSFALL , AOF_LOOPING ); #line 6099 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6100 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_ABYSSFALL , AOF_LOOPING ); #line 6102 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(GetActionMarker () -> m_tmWait ); Jump(STATE_CURRENT, 0x0191002c, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191002c_AutoFallToAbys_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191002c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191002d, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191002d_AutoFallToAbys_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191002d ; #line 6105 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6105 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6109 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoLookAround(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoLookAround ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoLookAround expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6111 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_BACKPEDAL , 0); #line 6112 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_vAutoSpeed = FLOAT3D (0 , 0 , plr_fSpeedForward / 4 / 0.75f); #line 6113 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6114 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_NORMALWALK , 0); #line 6116 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(GetModelObject () -> GetCurrentAnimLength () / 2); Jump(STATE_CURRENT, 0x0191002f, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191002f_AutoLookAround_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191002f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910030, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910030_AutoLookAround_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910030 ; #line 6118 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_vAutoSpeed = FLOAT3D (0 , 0 , 0); #line 6121 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_STAND , 0); #line 6122 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6123 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_LOOKAROUND , 0); #line 6124 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6127 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(moBody . GetCurrentAnimLength () + 0.1f); Jump(STATE_CURRENT, 0x01910031, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910031_AutoLookAround_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910031 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910032, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910032_AutoLookAround_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910032 ; #line 6130 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6130 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6133 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoTeleport(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoTeleport ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoTeleport expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6136 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TeleportToAutoMarker (GetActionMarker ()); #line 6139 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6139 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6142 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoAppear(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoAppear ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoAppear expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6145 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SwitchToEditorModel (); #line 6148 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (GetActionMarker () -> GetPlacement ()); #line 6150 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () & ~ (EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY )); #line 6151 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_AUTOMOVEMENTS ; #line 6152 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (60 , 0 , 0)); #line 6153 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_SPAWNPOSE , AOF_LOOPING ); #line 6154 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6155 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_SPAWNPOSE , AOF_LOOPING ); #line 6158 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmSpiritStart = _pTimer -> CurrentTick (); #line 6160 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(5); Jump(STATE_CURRENT, 0x01910035, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910035_AutoAppear_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910035 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910036, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910036_AutoAppear_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910036 ; #line 6163 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SwitchToModel (); #line 6164 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmFadeStart = _pTimer -> CurrentTick (); #line 6166 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(5); Jump(STATE_CURRENT, 0x01910037, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910037_AutoAppear_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910037 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910038, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910038_AutoAppear_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910038 ; #line 6168 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" COLOR colAlpha = GetModelObject () -> mo_colBlendColor ; #line 6169 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetModelObject () -> mo_colBlendColor = colAlpha | 0xFF; #line 6172 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () | EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY ); #line 6173 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (0 , 0 , 0)); #line 6174 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_AUTOMOVEMENTS ; #line 6177 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_SPAWN_FALLDOWN , 0); #line 6178 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6179 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_SPAWN_FALLDOWN , 0); #line 6181 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(GetModelObject () -> GetCurrentAnimLength ()); Jump(STATE_CURRENT, 0x01910039, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910039_AutoAppear_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910039 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191003a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191003a_AutoAppear_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191003a ; #line 6184 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_SPAWN_GETUP , AOF_SMOOTHCHANGE ); #line 6185 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6186 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_SPAWN_GETUP , AOF_SMOOTHCHANGE ); #line 6188 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(GetModelObject () -> GetCurrentAnimLength ()); Jump(STATE_CURRENT, 0x0191003b, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191003b_AutoAppear_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191003b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191003c, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191003c_AutoAppear_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191003c ; #line 6191 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6191 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6194 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" TravellingInBeam(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_TravellingInBeam ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::TravellingInBeam expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6197 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (GetActionMarker () -> GetPlacement ()); #line 6199 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () & ~ (EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY )); #line 6200 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_AUTOMOVEMENTS ; #line 6201 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (60 , 0 , 0)); #line 6202 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredTranslation (ANGLE3D (0 , 20.0f , 0)); #line 6203 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_SPAWNPOSE , AOF_LOOPING ); #line 6204 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6205 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_SPAWNPOSE , AOF_LOOPING ); #line 6207 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(8.0f); Jump(STATE_CURRENT, 0x0191003e, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191003e_TravellingInBeam_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191003e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191003f, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191003f_TravellingInBeam_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191003f ; #line 6209 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SwitchToEditorModel (); #line 6211 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6211 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6214 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" LogoFireMinigun(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_LogoFireMinigun ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::LogoFireMinigun expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6217 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlacement3D pl = GetActionMarker () -> GetPlacement (); #line 6218 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pl . pl_PositionVector += FLOAT3D (0 , 0.01f , 0) * GetActionMarker () -> en_mRotation ; #line 6219 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Teleport (pl ); #line 6220 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle (1) = 20.0f; #line 6221 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plLastViewpoint . pl_OrientationAngle = en_plViewpoint . pl_OrientationAngle ; #line 6224 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_INTRO , AOF_LOOPING ); #line 6226 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMinigunAutoFireStart = _pTimer -> CurrentTick (); #line 6229 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EFireWeapon ()); #line 6230 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(2.5f); Jump(STATE_CURRENT, 0x01910041, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910041_LogoFireMinigun_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910041 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910042, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910042_LogoFireMinigun_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910042 ; #line 6231 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EReleaseWeapon ()); #line 6234 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6235 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_MINIGUN_STAND , 0); #line 6237 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(0.5f); Jump(STATE_CURRENT, 0x01910043, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910043_LogoFireMinigun_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910043 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910044, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910044_LogoFireMinigun_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910044 ; #line 6240 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CWorldSettingsController * pwsc = NULL ; #line 6242 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CBackgroundViewer * penBcgViewer = (CBackgroundViewer *) GetWorld () -> GetBackgroundViewer (); #line 6243 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penBcgViewer != NULL ) #line 6244 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 6245 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc = (CWorldSettingsController *) & * penBcgViewer -> m_penWorldSettingsController ; #line 6246 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_tmShakeStarted = _pTimer -> CurrentTick (); #line 6247 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_vShakePos = GetPlacement () . pl_PositionVector ; #line 6248 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_fShakeFalloff = 250.0f; #line 6249 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_fShakeFade = 3.0f; #line 6251 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_fShakeIntensityZ = 0.1f * 2.0f; #line 6252 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_tmShakeFrequencyZ = 5.0f; #line 6253 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_fShakeIntensityY = 0.0f; #line 6254 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_fShakeIntensityB = 0.0f; #line 6256 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" pwsc -> m_bShakeFadeIn = FALSE ; #line 6264 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6267 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmMinigunAutoFireStart = - 1; #line 6268 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(5.0f); Jump(STATE_CURRENT, 0x01910045, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910045_LogoFireMinigun_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910045 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910046, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910046_LogoFireMinigun_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910046 ; #line 6269 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" IFeel_StopEffect (NULL ); #line 6270 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(5.0f); Jump(STATE_CURRENT, 0x01910047, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910047_LogoFireMinigun_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910047 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910048, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910048_LogoFireMinigun_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910048 ; #line 6272 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6272 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6275 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" AutoStoreWeapon(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_AutoStoreWeapon ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::AutoStoreWeapon expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6278 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6279 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyAnimationTemplate (BODY_ANIM_WAIT , #line 6280 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BODY_ANIM_COLT_REDRAWSLOW , BODY_ANIM_SHOTGUN_REDRAWSLOW , BODY_ANIM_MINIGUN_REDRAWSLOW , #line 6281 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" 0); #line 6282 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(plan . m_fBodyAnimTime ); Jump(STATE_CURRENT, 0x0191004a, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191004a_AutoStoreWeapon_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191004a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191004b, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191004b_AutoStoreWeapon_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191004b ; #line 6284 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iAutoOrgWeapon = ((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon ; #line 6285 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon = WEAPON_NONE ; #line 6286 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . m_iWantedWeapon = WEAPON_NONE ; #line 6287 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soWeaponAmbient . Stop (); #line 6290 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> SyncWeapon (); #line 6292 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6293 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . m_iWeaponLast = m_iAutoOrgWeapon ; #line 6294 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . RemoveWeapon (); #line 6295 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetPlayerAnimator () -> SyncWeapon (); #line 6297 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon = (WeaponType ) m_iAutoOrgWeapon ; #line 6298 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . BodyAnimationTemplate (BODY_ANIM_WAIT , BODY_ANIM_COLT_DEACTIVATETOWALK , #line 6299 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" BODY_ANIM_SHOTGUN_DEACTIVATETOWALK , BODY_ANIM_MINIGUN_DEACTIVATETOWALK , AOF_SMOOTHCHANGE ); #line 6300 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . m_iCurrentWeapon = WEAPON_NONE ; #line 6302 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(plan . m_fBodyAnimTime ); Jump(STATE_CURRENT, 0x0191004c, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191004c_AutoStoreWeapon_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191004c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0191004d, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191004d_AutoStoreWeapon_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191004d ; #line 6305 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EReturn ()); #line 6305 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6309 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" DoAutoActions(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_DoAutoActions ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::DoAutoActions expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 6312 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_plViewpoint . pl_OrientationAngle = ANGLE3D (0 , 0 , 0); #line 6314 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6315 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . m_bDisableAnimating = TRUE ; #line 6318 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Jump(STATE_CURRENT,0x019100a2, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x019100a2_DoAutoActions_84(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x019100a2 if(!(m_penActionMarker != NULL && IsOfClass (m_penActionMarker , "PlayerActionMarker"))){ Jump(STATE_CURRENT,0x019100a3, FALSE, EInternal());return TRUE;} #line 6321 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(!(GetActionMarker () -> m_paaAction == PAA_WAIT )){ Jump(STATE_CURRENT,0x019100a1, FALSE, EInternal());return TRUE;} #line 6323 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6324 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_WAIT , AOF_NORESTART | AOF_LOOPING ); #line 6326 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(GetActionMarker () -> m_tmWait ); Jump(STATE_CURRENT, 0x0191004f, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191004f_DoAutoActions_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191004f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910050, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910050_DoAutoActions_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910050 ;Jump(STATE_CURRENT,0x019100a0, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x019100a1_DoAutoActions_83(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x019100a1 if(!(GetActionMarker () -> m_paaAction == PAA_STOPANDWAIT )){ Jump(STATE_CURRENT,0x0191009f, FALSE, EInternal());return TRUE;} #line 6329 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" StartModelAnim (PLAYER_ANIM_STAND , 0); #line 6330 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CModelObject & moBody = GetModelObject () -> GetAttachmentModel (PLAYER_ATTACHMENT_TORSO ) -> amo_moModelObject ; #line 6331 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" moBody . PlayAnim (BODY_ANIM_WAIT , AOF_NORESTART | AOF_LOOPING ); #line 6333 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(GetActionMarker () -> m_tmWait ); Jump(STATE_CURRENT, 0x01910051, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910051_DoAutoActions_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910051 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01910052, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910052_DoAutoActions_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910052 ;Jump(STATE_CURRENT,0x0191009e, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191009f_DoAutoActions_81(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191009f if(!(GetActionMarker () -> m_paaAction == PAA_APPEARING )){ Jump(STATE_CURRENT,0x0191009d, FALSE, EInternal());return TRUE;} #line 6337 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoAppear, TRUE; Jump(STATE_CURRENT, 0x01910053, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910053_DoAutoActions_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910053 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoAppear, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910054, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910054_DoAutoActions_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910054 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x0191009c, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191009d_DoAutoActions_79(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191009d if(!(GetActionMarker () -> m_paaAction == PAA_TRAVELING_IN_BEAM )){ Jump(STATE_CURRENT,0x0191009b, FALSE, EInternal());return TRUE;} #line 6339 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_TravellingInBeam, TRUE; Jump(STATE_CURRENT, 0x01910055, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910055_DoAutoActions_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910055 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_TravellingInBeam, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910056, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910056_DoAutoActions_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910056 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x0191009a, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191009b_DoAutoActions_77(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191009b if(!(GetActionMarker () -> m_paaAction == PAA_INTROSE_SELECT_WEAPON )){ Jump(STATE_CURRENT,0x01910099, FALSE, EInternal());return TRUE;} #line 6342 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESelectWeapon eSelect ; #line 6343 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSelect . iWeapon = 1; #line 6344 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (eSelect );Jump(STATE_CURRENT,0x01910098, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910099_DoAutoActions_75(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910099 if(!(GetActionMarker () -> m_paaAction == PAA_LOGO_FIRE_INTROSE )){ Jump(STATE_CURRENT,0x01910097, FALSE, EInternal());return TRUE;} #line 6346 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_LogoFireMinigun, TRUE; Jump(STATE_CURRENT, 0x01910057, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910057_DoAutoActions_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910057 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_LogoFireMinigun, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910058, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910058_DoAutoActions_10(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910058 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910096, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910097_DoAutoActions_73(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910097 if(!(GetActionMarker () -> m_paaAction == PAA_LOGO_FIRE_MINIGUN )){ Jump(STATE_CURRENT,0x01910095, FALSE, EInternal());return TRUE;} #line 6348 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_LogoFireMinigun, TRUE; Jump(STATE_CURRENT, 0x01910059, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910059_DoAutoActions_11(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910059 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_LogoFireMinigun, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0191005a, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191005a_DoAutoActions_12(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0191005a const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910094, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910095_DoAutoActions_71(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910095 if(!(GetActionMarker () -> m_paaAction == PAA_TELEPORT )){ Jump(STATE_CURRENT,0x01910093, FALSE, EInternal());return TRUE;} #line 6351 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoTeleport, TRUE; Jump(STATE_CURRENT, 0x0191005b, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191005b_DoAutoActions_13(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191005b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoTeleport, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0191005c, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191005c_DoAutoActions_14(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0191005c const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910092, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910093_DoAutoActions_69(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910093 if(!(GetActionMarker () -> m_paaAction == PAA_WAITFOREVER )){ Jump(STATE_CURRENT,0x01910091, FALSE, EInternal());return TRUE;} #line 6356 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x0191005d, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191005d_DoAutoActions_15(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191005d switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;default:{return FALSE;}ASSERT(FALSE);break; #line 6359 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }return TRUE;}BOOL CPlayer::H0x0191005e_DoAutoActions_16(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191005e Jump(STATE_CURRENT,0x01910090, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910091_DoAutoActions_67(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910091 if(!(GetActionMarker () -> m_paaAction == PAA_STOREWEAPON )){ Jump(STATE_CURRENT,0x0191008f, FALSE, EInternal());return TRUE;} #line 6362 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoStoreWeapon, TRUE; Jump(STATE_CURRENT, 0x0191005f, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191005f_DoAutoActions_17(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191005f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoStoreWeapon, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910060, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910060_DoAutoActions_18(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910060 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x0191008e, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191008f_DoAutoActions_65(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191008f if(!(GetActionMarker () -> m_paaAction == PAA_DRAWWEAPON )){ Jump(STATE_CURRENT,0x0191008d, FALSE, EInternal());return TRUE;} #line 6367 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESelectWeapon eSelect ; #line 6368 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSelect . iWeapon = - 4; #line 6369 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (eSelect );Jump(STATE_CURRENT,0x0191008c, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191008d_DoAutoActions_63(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191008d if(!(GetActionMarker () -> m_paaAction == PAA_LOOKAROUND )){ Jump(STATE_CURRENT,0x0191008b, FALSE, EInternal());return TRUE;} #line 6373 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoLookAround, TRUE; Jump(STATE_CURRENT, 0x01910061, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910061_DoAutoActions_19(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910061 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoLookAround, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910062, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910062_DoAutoActions_20(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910062 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x0191008a, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191008b_DoAutoActions_61(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191008b if(!(GetActionMarker () -> m_paaAction == PAA_USEITEM )){ Jump(STATE_CURRENT,0x01910089, FALSE, EInternal());return TRUE;} #line 6378 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoUseItem, TRUE; Jump(STATE_CURRENT, 0x01910063, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910063_DoAutoActions_21(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910063 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoUseItem, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910064, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910064_DoAutoActions_22(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910064 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910088, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910089_DoAutoActions_59(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910089 if(!(GetActionMarker () -> m_paaAction == PAA_PICKITEM )){ Jump(STATE_CURRENT,0x01910087, FALSE, EInternal());return TRUE;} #line 6383 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoPickItem, TRUE; Jump(STATE_CURRENT, 0x01910065, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910065_DoAutoActions_23(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910065 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoPickItem, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910066, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910066_DoAutoActions_24(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910066 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910086, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910087_DoAutoActions_57(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910087 if(!(GetActionMarker () -> m_paaAction == PAA_FALLDOWN )){ Jump(STATE_CURRENT,0x01910085, FALSE, EInternal());return TRUE;} #line 6388 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoFallDown, TRUE; Jump(STATE_CURRENT, 0x01910067, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910067_DoAutoActions_25(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910067 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoFallDown, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01910068, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x01910068_DoAutoActions_26(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01910068 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910084, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910085_DoAutoActions_55(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910085 if(!(GetActionMarker () -> m_paaAction == PAA_RELEASEPLAYER )){ Jump(STATE_CURRENT,0x01910083, FALSE, EInternal());return TRUE;} #line 6392 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera != NULL ){ #line 6393 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CCamera *) & * m_penCamera ) -> m_bStopMoving = TRUE ; #line 6394 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6395 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penCamera = NULL ; #line 6397 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetPlayerWeapons () -> m_iCurrentWeapon == WEAPON_NONE ){ #line 6399 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ESelectWeapon eSelect ; #line 6400 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eSelect . iWeapon = - 4; #line 6401 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (eSelect ); #line 6402 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6404 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_SYNCWEAPON ; #line 6405 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmSpiritStart = 0;Jump(STATE_CURRENT,0x01910082, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910083_DoAutoActions_53(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910083 if(!(GetActionMarker () -> m_paaAction == PAA_STARTCOMPUTER )){ Jump(STATE_CURRENT,0x01910081, FALSE, EInternal());return TRUE;} #line 6410 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this ) && GetSP () -> sp_bSinglePlayer ){ #line 6411 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_ppenPlayer = this ; #line 6412 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_bInitialStart = TRUE ; #line 6413 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }Jump(STATE_CURRENT,0x01910080, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910081_DoAutoActions_51(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910081 if(!(GetActionMarker () -> m_paaAction == PAA_STARTINTROSCROLL )){ Jump(STATE_CURRENT,0x0191007f, FALSE, EInternal());return TRUE;} #line 6417 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pShell -> Execute ("sam_iStartCredits=1;");Jump(STATE_CURRENT,0x0191007e, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191007f_DoAutoActions_49(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191007f if(!(GetActionMarker () -> m_paaAction == PAA_STARTCREDITS )){ Jump(STATE_CURRENT,0x0191007d, FALSE, EInternal());return TRUE;} #line 6421 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pShell -> Execute ("sam_iStartCredits=2;");Jump(STATE_CURRENT,0x0191007c, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191007d_DoAutoActions_47(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191007d if(!(GetActionMarker () -> m_paaAction == PAA_STOPSCROLLER )){ Jump(STATE_CURRENT,0x0191007b, FALSE, EInternal());return TRUE;} #line 6425 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" _pShell -> Execute ("sam_iStartCredits=-1;");Jump(STATE_CURRENT,0x0191007a, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191007b_DoAutoActions_45(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191007b if(!(GetActionMarker () -> m_paaAction == PAA_RUN )){ Jump(STATE_CURRENT,0x01910079, FALSE, EInternal());return TRUE;} #line 6430 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fAutoSpeed = plr_fSpeedForward * GetActionMarker () -> m_fSpeed ; #line 6431 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoGoToMarker, TRUE; Jump(STATE_CURRENT, 0x01910069, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x01910069_DoAutoActions_27(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01910069 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoGoToMarker, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0191006a, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191006a_DoAutoActions_28(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0191006a const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910078, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910079_DoAutoActions_43(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910079 if(!(GetActionMarker () -> m_paaAction == PAA_RUNANDSTOP )){ Jump(STATE_CURRENT,0x01910077, FALSE, EInternal());return TRUE;} #line 6436 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fAutoSpeed = plr_fSpeedForward * GetActionMarker () -> m_fSpeed ; #line 6437 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" STATE_CPlayer_AutoGoToMarkerAndStop, TRUE; Jump(STATE_CURRENT, 0x0191006b, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191006b_DoAutoActions_29(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191006b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPlayer_AutoGoToMarkerAndStop, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0191006c, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPlayer::H0x0191006c_DoAutoActions_30(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0191006c const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01910076, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910077_DoAutoActions_41(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910077 if(!(GetActionMarker () -> m_paaAction == PAA_RECORDSTATS )){ Jump(STATE_CURRENT,0x01910075, FALSE, EInternal());return TRUE;} #line 6442 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer || GetSP () -> sp_bPlayEntireGame ){ #line 6444 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmEstTime = GetActionMarker () -> m_tmWait ; #line 6446 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" RecordEndOfLevelData (); #line 6447 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 6448 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetGameEnd (); #line 6449 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }Jump(STATE_CURRENT,0x01910074, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910075_DoAutoActions_39(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910075 if(!(GetActionMarker () -> m_paaAction == PAA_SHOWSTATS )){ Jump(STATE_CURRENT,0x01910073, FALSE, EInternal());return TRUE;} #line 6454 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(!(cmp_ppenPlayer == NULL && _pNetwork -> IsPlayerLocal (this ) && GetSP () -> sp_bSinglePlayer )){ Jump(STATE_CURRENT,0x01910071, FALSE, EInternal());return TRUE;} #line 6455 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bEndOfLevel = TRUE ; #line 6456 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" cmp_ppenPlayer = this ; #line 6457 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_DONTRENDER ; #line 6458 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Jump(STATE_CURRENT,0x0191006f, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x0191006f_DoAutoActions_33(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191006f if(!(m_bEndOfLevel )){ Jump(STATE_CURRENT,0x01910070, FALSE, EInternal());return TRUE;} #line 6459 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x0191006d, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x0191006d_DoAutoActions_31(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0191006d switch(__eeInput.ee_slEvent){case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x0191006e, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EReceiveScore):{const EReceiveScore&e= (EReceiveScore&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_EKilledEnemy):{const EKilledEnemy&e= (EKilledEnemy&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_ECenterMessage):{const ECenterMessage&e= (ECenterMessage&)__eeInput; return FALSE;}ASSERT(FALSE);break;case(EVENTCODE_EPostLevelChange):{const EPostLevelChange&e= (EPostLevelChange&)__eeInput; #line 6465 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ! PLF_DONTRENDER ; #line 6466 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_bEndOfLevel = FALSE ; #line 6467 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return FALSE; #line 6468 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 6470 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }return TRUE;}BOOL CPlayer::H0x0191006e_DoAutoActions_32(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191006e Jump(STATE_CURRENT,0x0191006f, FALSE, EInternal());return TRUE; #line 6471 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }BOOL CPlayer::H0x01910070_DoAutoActions_34(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910070 #line 6472 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ! PLF_DONTRENDER ;Jump(STATE_CURRENT,0x01910071, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910071_DoAutoActions_35(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910071 Jump(STATE_CURRENT,0x01910072, FALSE, EInternal());return TRUE;}BOOL CPlayer::H0x01910073_DoAutoActions_37(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910073 if(GetActionMarker () -> m_paaAction == PAA_ENDOFGAME ){ #line 6478 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Jump(STATE_CURRENT, STATE_CPlayer_TheEnd, TRUE, EVoid());return TRUE; #line 6479 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(GetActionMarker () -> m_paaAction == PAA_NOGRAVITY ){ #line 6480 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () & ~ (EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY )); #line 6481 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetActionMarker () -> GetParent () != NULL ) #line 6482 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" { #line 6483 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetParent (GetActionMarker () -> GetParent ()); #line 6484 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6485 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(GetActionMarker () -> m_paaAction == PAA_TURNONGRAVITY ){ #line 6486 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPhysicsFlags (GetPhysicsFlags () | EPF_TRANSLATEDBYGRAVITY | EPF_ORIENTEDBYGRAVITY ); #line 6487 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetParent (NULL ); #line 6488 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6489 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" else if(TRUE ){ #line 6490 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (FALSE ); #line 6491 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }Jump(STATE_CURRENT,0x01910072, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910072_DoAutoActions_36(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910072 Jump(STATE_CURRENT,0x01910074, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910074_DoAutoActions_38(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910074 Jump(STATE_CURRENT,0x01910076, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910076_DoAutoActions_40(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910076 Jump(STATE_CURRENT,0x01910078, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910078_DoAutoActions_42(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910078 Jump(STATE_CURRENT,0x0191007a, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191007a_DoAutoActions_44(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191007a Jump(STATE_CURRENT,0x0191007c, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191007c_DoAutoActions_46(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191007c Jump(STATE_CURRENT,0x0191007e, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191007e_DoAutoActions_48(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191007e Jump(STATE_CURRENT,0x01910080, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910080_DoAutoActions_50(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910080 Jump(STATE_CURRENT,0x01910082, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910082_DoAutoActions_52(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910082 Jump(STATE_CURRENT,0x01910084, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910084_DoAutoActions_54(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910084 Jump(STATE_CURRENT,0x01910086, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910086_DoAutoActions_56(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910086 Jump(STATE_CURRENT,0x01910088, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910088_DoAutoActions_58(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910088 Jump(STATE_CURRENT,0x0191008a, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191008a_DoAutoActions_60(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191008a Jump(STATE_CURRENT,0x0191008c, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191008c_DoAutoActions_62(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191008c Jump(STATE_CURRENT,0x0191008e, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191008e_DoAutoActions_64(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191008e Jump(STATE_CURRENT,0x01910090, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910090_DoAutoActions_66(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910090 Jump(STATE_CURRENT,0x01910092, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910092_DoAutoActions_68(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910092 Jump(STATE_CURRENT,0x01910094, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910094_DoAutoActions_70(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910094 Jump(STATE_CURRENT,0x01910096, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910096_DoAutoActions_72(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910096 Jump(STATE_CURRENT,0x01910098, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x01910098_DoAutoActions_74(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01910098 Jump(STATE_CURRENT,0x0191009a, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191009a_DoAutoActions_76(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191009a Jump(STATE_CURRENT,0x0191009c, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191009c_DoAutoActions_78(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191009c Jump(STATE_CURRENT,0x0191009e, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x0191009e_DoAutoActions_80(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0191009e Jump(STATE_CURRENT,0x019100a0, FALSE, EInternal());return TRUE;} BOOL CPlayer::H0x019100a0_DoAutoActions_82(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x019100a0 #line 6494 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetActionMarker () -> m_penTrigger != NULL && #line 6495 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" GetActionMarker () -> m_paaAction != PAA_PICKITEM ){ #line 6497 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SendToTarget (GetActionMarker () -> m_penTrigger , EET_TRIGGER , this ); #line 6498 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6501 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penActionMarker = GetActionMarker () -> m_penTarget ;Jump(STATE_CURRENT,0x019100a2, FALSE, EInternal());return TRUE; #line 6502 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }BOOL CPlayer::H0x019100a3_DoAutoActions_85(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x019100a3 #line 6505 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_fAutoSpeed = 0.0f; #line 6508 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penActionMarker = NULL ; #line 6511 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayerAnimator & plan = (CPlayerAnimator &) * m_penAnimator ; #line 6512 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" plan . m_bDisableAnimating = FALSE ; #line 6515 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid ()); #line 6515 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPlayer:: #line 6520 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Main(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPlayer_Main ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPlayer::Main expects 'EVoid' as input!"); const EVoid &evoid = (const EVoid &)__eeInput; #line 6523 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" time ((time_t *) & m_iStartTime ); #line 6525 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ctUnreadMessages = 0; #line 6526 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetFlags (GetFlags () | ENF_CROSSESLEVELS | ENF_NOTIFYLEVELCHANGE ); #line 6527 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" InitAsEditorModel (); #line 6530 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CTString strDummy ; #line 6531 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPlayerAppearance (GetModelObject () , NULL , strDummy , FALSE ); #line 6533 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ValidateCharacter (); #line 6534 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetPlayerAppearance (& m_moRender , & en_pcCharacter , strDummy , FALSE ); #line 6535 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ParseGender (strDummy ); #line 6538 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetModelObject () -> GetData () == NULL ){ #line 6540 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 6540 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6541 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6545 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ModelChangeNotify (); #line 6548 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAfter(0.2f); Jump(STATE_CURRENT, 0x019100a4, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x019100a4_Main_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x019100a4 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x019100a5, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EDisconnected):{const EDisconnected&e= (EDisconnected&)__eeInput; #line 6552 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Destroy (); #line 6553 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 6553 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6554 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 6555 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }return TRUE;}BOOL CPlayer::H0x019100a5_Main_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x019100a5 #line 6558 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsPredictor ()){ #line 6559 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Destroy (); #line 6560 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 6560 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6561 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6564 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SwitchToModel (); #line 6565 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_INITIALIZED ; #line 6568 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_tmMaxHoldBreath = 60.0f; #line 6569 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" en_fDensity = 1000.0f; #line 6571 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ModelChangeNotify (); #line 6574 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penWeapons = CreateEntity (GetPlacement () , CLASS_PLAYER_WEAPONS ); #line 6575 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EWeaponsInit eInitWeapons ; #line 6576 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInitWeapons . penOwner = this ; #line 6577 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penWeapons -> Initialize (eInitWeapons ); #line 6580 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penAnimator = CreateEntity (GetPlacement () , CLASS_PLAYER_ANIMATOR ); #line 6581 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" EAnimatorInit eInitAnimator ; #line 6582 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" eInitAnimator . penPlayer = this ; #line 6583 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penAnimator -> Initialize (eInitAnimator ); #line 6586 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soMouth . Set3DParameters (50.0f , 10.0f , 1.0f , 1.0f); #line 6587 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soFootL . Set3DParameters (20.0f , 2.0f , 1.0f , 1.0f); #line 6588 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soFootR . Set3DParameters (20.0f , 2.0f , 1.0f , 1.0f); #line 6589 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soBody . Set3DParameters (25.0f , 5.0f , 1.0f , 1.0f); #line 6590 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soMessage . Set3DParameters (25.0f , 5.0f , 1.0f , 1.0f); #line 6591 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soSniperZoom . Set3DParameters (25.0f , 5.0f , 1.0f , 1.0f); #line 6594 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetupLightSource (); #line 6597 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" try { #line 6598 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_aoLightAnimation . SetData_t (CTFILENAME ("Animations\\BasicEffects.ani")); #line 6599 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }catch (char * strError ){ #line 6600 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" WarningMessage (TRANS ("Cannot load Animations\\BasicEffects.ani: %s") , strError ); #line 6601 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6602 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlayLightAnim (LIGHT_ANIM_NONE , 0); #line 6604 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x019100a6, FALSE, EBegin());return TRUE;}BOOL CPlayer::H0x019100a6_Main_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x019100a6 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; Call(STATE_CURRENT, STATE_CPlayer_FirstInit, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ERebirth):{const ERebirth&e= (ERebirth&)__eeInput; Call(STATE_CURRENT, STATE_CPlayer_Rebirth, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EDeath):{const EDeath&eDeath= (EDeath&)__eeInput; Call(STATE_CURRENT, STATE_CPlayer_Death, TRUE, eDeath );return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EDamage):{const EDamage&eDamage= (EDamage&)__eeInput; Call(STATE_CURRENT, STATE_CPlayer_Wounded, TRUE, eDamage );return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EPreLevelChange):{const EPreLevelChange&e= (EPreLevelChange&)__eeInput; #line 6610 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_INITIALIZED ; #line 6611 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags |= PLF_CHANGINGLEVEL ; #line 6612 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_LEVELSTARTED ; #line 6613 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6614 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EPostLevelChange):{const EPostLevelChange&e= (EPostLevelChange&)__eeInput; #line 6616 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(GetSP () -> sp_bSinglePlayer || (GetFlags () & ENF_ALIVE )){ #line 6617 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Call(STATE_CURRENT, STATE_CPlayer_WorldChange, TRUE, EVoid());return TRUE; #line 6618 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 6619 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Call(STATE_CURRENT, STATE_CPlayer_WorldChangeDead, TRUE, EVoid());return TRUE; #line 6620 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6621 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_ETakingBreath):{const ETakingBreath&eTakingBreath= (ETakingBreath&)__eeInput; #line 6623 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDefaultMouthPitch (); #line 6624 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(eTakingBreath . fBreathDelay < 0.2f){ #line 6625 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_INHALE0 ) , SOF_3D ); #line 6626 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else if(eTakingBreath . fBreathDelay < 0.8f){ #line 6627 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_INHALE1 ) , SOF_3D ); #line 6628 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }else { #line 6629 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_INHALE2 ) , SOF_3D ); #line 6630 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6631 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6632 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_ECameraStart):{const ECameraStart&eStart= (ECameraStart&)__eeInput; #line 6634 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penCamera = eStart . penCamera ; #line 6636 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penActionMarker == NULL ){ #line 6637 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredTranslation (FLOAT3D (0.0f , 0.0f , 0.0f)); #line 6638 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDesiredRotation (ANGLE3D (0.0f , 0.0f , 0.0f)); #line 6639 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6641 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . SendEvent (EReleaseWeapon ()); #line 6642 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6643 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_ECameraStop):{const ECameraStop&eCameraStop= (ECameraStop&)__eeInput; #line 6645 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penCamera == eCameraStop . penCamera ){ #line 6646 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penCamera = NULL ; #line 6647 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6648 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6649 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_ECenterMessage):{const ECenterMessage&eMsg= (ECenterMessage&)__eeInput; #line 6651 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_strCenterMessage = eMsg . strMessage ; #line 6652 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_tmCenterMessageEnd = _pTimer -> CurrentTick () + eMsg . tmLength ; #line 6653 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(eMsg . mssSound == MSS_INFO ){ #line 6654 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_soMessage . Set3DParameters (25.0f , 5.0f , 1.0f , 1.0f); #line 6655 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMessage , SOUND_INFO , SOF_3D | SOF_VOLUMETRIC | SOF_LOCAL ); #line 6656 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6657 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6658 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EComputerMessage):{const EComputerMessage&eMsg= (EComputerMessage&)__eeInput; #line 6660 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ReceiveComputerMessage (eMsg . fnmMessage , CMF_ANALYZE ); #line 6661 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6662 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EVoiceMessage):{const EVoiceMessage&eMsg= (EVoiceMessage&)__eeInput; #line 6664 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SayVoiceMessage (eMsg . fnmMessage ); #line 6665 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6666 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EAutoAction):{const EAutoAction&eAutoAction= (EAutoAction&)__eeInput; #line 6669 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penActionMarker = eAutoAction . penFirstMarker ; #line 6671 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Call(STATE_CURRENT, STATE_CPlayer_DoAutoActions, TRUE, EVoid());return TRUE; #line 6672 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EReceiveScore):{const EReceiveScore&eScore= (EReceiveScore&)__eeInput; #line 6674 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iScore += eScore . iPoints ; #line 6675 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iScore += eScore . iPoints ; #line 6676 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_iMana += eScore . iPoints * GetSP () -> sp_fManaTransferFactor ; #line 6677 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CheckHighScore (); #line 6678 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6679 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EKilledEnemy):{const EKilledEnemy&e= (EKilledEnemy&)__eeInput; #line 6681 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iKills += 1; #line 6682 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iKills += 1; #line 6683 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6684 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_ESecretFound):{const ESecretFound&e= (ESecretFound&)__eeInput; #line 6686 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psLevelStats . ps_iSecrets += 1; #line 6687 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_psGameStats . ps_iSecrets += 1; #line 6688 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6689 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EWeaponChanged):{const EWeaponChanged&e= (EWeaponChanged&)__eeInput; #line 6692 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ((CPlayerWeapons &) * m_penWeapons ) . m_bSniping = FALSE ; #line 6693 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_ulFlags &= ~ PLF_ISZOOMING ; #line 6694 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soSniperZoom , SOUND_SILENCE , SOF_3D ); #line 6695 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_StopEffect ("SniperZoom");} #line 6696 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6697 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EEnd):{const EEnd&e= (EEnd&)__eeInput; #line 6700 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" ASSERT (FALSE ); #line 6701 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6702 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_EDisconnected):{const EDisconnected&e= (EDisconnected&)__eeInput; #line 6706 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" UnsetTimer();Jump(STATE_CURRENT,0x019100a7, FALSE, EInternal());return TRUE; #line 6707 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;case(EVENTCODE_ETouch):{const ETouch&eTouch= (ETouch&)__eeInput; #line 6710 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(IsOfClass (eTouch . penOther , "Bouncer")){ #line 6711 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" JumpFromBouncer (this , eTouch . penOther ); #line 6713 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SetDefaultMouthPitch (); #line 6714 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" PlaySound (m_soMouth , GenderSound (SOUND_JUMP ) , SOF_3D ); #line 6715 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(_pNetwork -> IsPlayerLocal (this )){IFeel_PlayEffect ("Jump");} #line 6716 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6717 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; #line 6718 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 6719 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" }return TRUE;}BOOL CPlayer::H0x019100a7_Main_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x019100a7 #line 6724 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(! IsPredictor () && m_ulKeys != 0){ #line 6726 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * penNextPlayer = NULL ; #line 6727 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" for(INDEX iPlayer = 0;iPlayer < GetMaxPlayers ();iPlayer ++){ #line 6728 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPlayer * pen = (CPlayer *) & * GetPlayerEntity (iPlayer ); #line 6729 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(pen != NULL && pen != this && (pen -> GetFlags () & ENF_ALIVE ) && ! (pen -> GetFlags () & ENF_DELETED )){ #line 6730 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penNextPlayer = pen ; #line 6731 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6732 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6735 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(penNextPlayer != NULL ){ #line 6737 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" CPrintF (TRANS ("%s leaving, all keys transfered to %s\n") , #line 6738 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" (const char *) m_strName , (const char *) penNextPlayer -> GetPlayerName ()); #line 6739 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" penNextPlayer -> m_ulKeys |= m_ulKeys ; #line 6740 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6741 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6744 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" SpawnTeleport (); #line 6747 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penWeapons -> Destroy (); #line 6748 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penAnimator -> Destroy (); #line 6749 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_penView != NULL ){ #line 6750 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_penView -> Destroy (); #line 6751 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6752 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" if(m_pen3rdPersonView != NULL ){ #line 6753 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" m_pen3rdPersonView -> Destroy (); #line 6754 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" } #line 6755 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Destroy (); #line 6756 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" Return(STATE_CURRENT,EVoid()); #line 6756 "D:/SE1_GPL/Sources/EntitiesMP/Player.es" return TRUE; ASSERT(FALSE); return TRUE;};