DDraceNetwork Documentation
Loading...
Searching...
No Matches
gameclient.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_GAMECLIENT_H
4#define GAME_CLIENT_GAMECLIENT_H
5
6#include "render.h"
7
8#include <base/color.h>
9#include <base/vmath.h>
10
11#include <engine/client.h>
12#include <engine/client/enums.h>
13#include <engine/console.h>
16
17#include <generated/protocol7.h>
19
21#include <game/client/race.h>
22#include <game/collision.h>
23#include <game/gamecore.h>
24#include <game/layers.h>
25#include <game/map/render_map.h>
26#include <game/mapbugs.h>
27#include <game/teamscore.h>
28
29// components
31#include "components/binds.h"
33#include "components/camera.h"
34#include "components/censor.h"
35#include "components/chat.h"
36#include "components/console.h"
37#include "components/controls.h"
40#include "components/debughud.h"
41#include "components/effects.h"
42#include "components/emoticon.h"
43#include "components/flow.h"
45#include "components/ghost.h"
46#include "components/hud.h"
49#include "components/items.h"
56#include "components/menus.h"
57#include "components/motd.h"
60#include "components/players.h"
63#include "components/skins.h"
64#include "components/skins7.h"
65#include "components/sounds.h"
68#include "components/tooltips.h"
70#include "components/voting.h"
71
72#include <vector>
73
123
130
132{
135 INDENT_FORCE, // for rendering settings preview
136};
137
139{
140public:
141 // all components
170
176
181
183
186
188
190
191private:
192 std::vector<class CComponent *> m_vpAll;
193 std::vector<class CComponent *> m_vpInput;
196
214#if defined(CONF_AUTOUPDATE)
215 class IUpdater *m_pUpdater;
216#endif
218
223
224 void ProcessEvents();
225 void UpdatePositions();
226
229
232
235
238
240
242
243 static void ConTeam(IConsole::IResult *pResult, void *pUserData);
244 static void ConKill(IConsole::IResult *pResult, void *pUserData);
245 static void ConReadyChange7(IConsole::IResult *pResult, void *pUserData);
246
247 static void ConchainLanguageUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
248 static void ConchainSpecialInfoupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
249 static void ConchainSpecialDummyInfoupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
250 static void ConchainRefreshSkins(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
251 static void ConchainRefreshEventSkins(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
252 static void ConchainSpecialDummy(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
253
254 static void ConTuneParam(IConsole::IResult *pResult, void *pUserData);
255 static void ConTuneZone(IConsole::IResult *pResult, void *pUserData);
256 static void ConMapbug(IConsole::IResult *pResult, void *pUserData);
257
258 static void ConchainMenuMap(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
259
260 static std::function<bool(int, int, int, int)> GetScoreComparator(bool TimeScore, bool ReceivedMillisecondFinishTimes, bool Race7);
261
262 // only used in OnPredict
265
266 // only used in OnNewSnapshot
267 bool m_GameOver = false;
268 bool m_GamePaused = false;
269
270public:
272 IEngine *Engine() const { return m_pEngine; }
273 class IGraphics *Graphics() const { return m_pGraphics; }
274 class IClient *Client() const { return m_pClient; }
275 class CUi *Ui() { return &m_UI; }
276 class ISound *Sound() const { return m_pSound; }
277 class IInput *Input() const { return m_pInput; }
278 class IStorage *Storage() const { return m_pStorage; }
280 class CConfig *Config() const { return m_pConfig; }
281 class IConsole *Console() { return m_pConsole; }
282 class ITextRender *TextRender() const { return m_pTextRender; }
283 class IDemoPlayer *DemoPlayer() const { return m_pDemoPlayer; }
284 class IDemoRecorder *DemoRecorder(int Recorder) const { return Client()->DemoRecorder(Recorder); }
285 class IFavorites *Favorites() const { return m_pFavorites; }
288 class CRenderMap *RenderMap() { return &m_RenderMap; }
289 class CLayers *Layers() { return &m_Layers; }
291 const CCollision *Collision() const { return &m_Collision; }
292 const CRaceHelper *RaceHelper() const { return &m_RaceHelper; }
293 class IEditor *Editor() { return m_pEditor; }
294 class IFriends *Friends() { return m_pFriends; }
295 class IFriends *Foes() { return m_pFoes; }
296#if defined(CONF_AUTOUPDATE)
297 class IUpdater *Updater()
298 {
299 return m_pUpdater;
300 }
301#endif
302 class IHttp *Http()
303 {
304 return m_pHttp;
305 }
306
308 {
309 return m_NetObjHandler.NumObjCorrections();
310 }
311 const char *NetobjCorrectedOn() { return m_NetObjHandler.CorrectedObjOn(); }
312
317
318 enum
319 {
323 };
326
328
330
331 // predicted players
334
335 // snap pointers
337 {
338 public:
351
354
359
364
379
395 };
396
398 int m_aLocalTuneZone[NUM_DUMMIES]; // current tunezone (0-255)
399 bool m_aReceivedTuning[NUM_DUMMIES]; // was tuning message received after zone change
400 int m_aExpectingTuningForZone[NUM_DUMMIES]; // tunezone changed, waiting for tuning for that zone
401 int m_aExpectingTuningSince[NUM_DUMMIES]; // how many snaps received since tunezone changed
402 CTuningParams m_aTuning[NUM_DUMMIES]; // current local player tuning, only what the player/dummy has
403
404 std::bitset<RECORDER_MAX> m_ActiveRecordings;
405
406 // spectate cursor data
408 {
409 friend class CGameClient;
410 static constexpr int CURSOR_SAMPLES = 8; // how many samples to keep
411 static constexpr int SAMPLE_FRAME_WINDOW = 3; // how many samples should be used for polynomial interpolation
412 static constexpr int SAMPLE_FRAME_OFFSET = 2; // how many samples in the past should be included
413 static constexpr double INTERP_DELAY = 4.25; // how many ticks in the past to show, enables extrapolation with smaller value (<= SAMPLE_FRAME_WINDOW - SAMPLE_FRAME_OFFSET + 3)
414 static constexpr double REST_THRESHOLD = 3.0; // how many ticks of the same samples are considered to be resting
415
420
426
427 public:
428 bool IsAvailable() const { return m_Available; }
429 int Weapon() const { return m_Weapon; }
430 vec2 Target() const { return m_Target; }
431 vec2 WorldTarget() const { return m_WorldTarget; }
432 vec2 Position() const { return m_Position; }
434
435 // client data
437 {
438 friend class CGameClient;
441
442 public:
446
455
456 bool m_Solo;
474
477
478 std::shared_ptr<CManagedTeeRenderInfo> m_pSkinInfo = nullptr; // this is what the server reports
479 CTeeRenderInfo m_RenderInfo; // this is what we use
480
481 float m_Angle;
486 bool m_Foe;
487
489 bool m_Afk;
491 bool m_Spec;
492
495
496 // Editor allows 256 switches for now.
498
501
503
504 // rendered characters
510 int64_t m_aSmoothStart[2];
511 int64_t m_aSmoothLen[2];
513 int m_aPredTick[200];
516
517 void UpdateSkinInfo();
518 void UpdateSkin7HatSprite(int Dummy);
519 void UpdateSkin7BotDecoration(int Dummy);
520 void UpdateRenderInfo();
521 void Reset();
523
524 int ClientId() const { return m_ClientId; }
525
535
536 // 0.7 Skin
538 };
539
541
543 {
547
548 public:
549 CClientStats();
550
558
561
562 void Reset();
563
564 bool IsActive() const { return m_Active; }
565 void JoinGame(int Tick)
566 {
567 m_Active = true;
568 m_JoinTick = Tick;
569 }
570 void JoinSpec(int Tick)
571 {
572 m_Active = false;
573 m_IngameTicks += Tick - m_JoinTick;
574 }
575 int GetIngameTicks(int Tick) const { return m_IngameTicks + Tick - m_JoinTick; }
576 float GetFPM(int Tick, int TickSpeed) const { return (float)(m_Frags * TickSpeed * 60) / GetIngameTicks(Tick); }
577 };
578
580
583
584 void OnReset();
585
586 size_t ComponentCount() const { return m_vpAll.size(); }
587
588 // hooks
589 void OnConnected() override;
590 void OnRender() override;
591 void OnUpdate() override;
592 void OnDummyDisconnect() override;
593 virtual void OnRelease();
594 void OnInit() override;
595 void OnConsoleInit() override;
596 void OnStateChange(int NewState, int OldState) override;
597 template<typename T>
598 void ApplySkin7InfoFromGameMsg(const T *pMsg, int ClientId, int Conn);
599 void ApplySkin7InfoFromSnapObj(const protocol7::CNetObj_De_ClientInfo *pObj, int ClientId) override;
600 int OnDemoRecSnap7(class CSnapshot *pFrom, class CSnapshot *pTo, int Conn) override;
601 void *TranslateGameMsg(int *pMsgId, CUnpacker *pUnpacker, int Conn);
602 int TranslateSnap(CSnapshot *pSnapDstSix, CSnapshot *pSnapSrcSeven, int Conn, bool Dummy) override;
603 void OnMessage(int MsgId, CUnpacker *pUnpacker, int Conn, bool Dummy) override;
604 void InvalidateSnapshot() override;
605 void OnNewSnapshot() override;
606 void OnPredict() override;
607 void OnActivateEditor() override;
608 void OnDummySwap() override;
609 int OnSnapInput(int *pData, bool Dummy, bool Force) override;
610 void OnShutdown() override;
611 void OnEnterGame() override;
612 void OnRconType(bool UsernameReq) override;
613 void OnRconLine(const char *pLine) override;
614 virtual void OnGameOver();
615 virtual void OnStartGame();
616 virtual void OnStartRound();
617 virtual void OnFlagGrab(int TeamId);
618 void OnWindowResize() override;
619
620 void InitializeLanguage() override;
621 bool m_LanguageChanged = false;
622 void OnLanguageChange();
624
626
627 void RefreshSkin(const std::shared_ptr<CManagedTeeRenderInfo> &pManagedTeeRenderInfo);
628 void RefreshSkins(int SkinDescriptorFlags);
629 void OnSkinUpdate(const char *pSkinName);
630 std::shared_ptr<CManagedTeeRenderInfo> CreateManagedTeeRenderInfo(const CTeeRenderInfo &TeeRenderInfo, const CSkinDescriptor &SkinDescriptor);
631 std::shared_ptr<CManagedTeeRenderInfo> CreateManagedTeeRenderInfo(const CClientData &Client);
632 void CollectManagedTeeRenderInfos(const std::function<void(const char *pSkinName)> &ActiveSkinAcceptor);
633
634 void RenderShutdownMessage() override;
635 void ProcessDemoSnapshot(CSnapshot *pSnap) override;
636
637 const char *GetItemName(int Type) const override;
638 const char *Version() const override;
639 const char *NetVersion() const override;
640 const char *NetVersion7() const override;
641 int DDNetVersion() const override;
642 const char *DDNetVersionStr() const override;
643 int ClientVersion7() const override;
644
645 void DoTeamChangeMessage7(const char *pName, int ClientId, int Team, const char *pPrefix = "");
646
647 // actions
648 // TODO: move these
649 void SendSwitchTeam(int Team) const;
650 void SendStartInfo7(bool Dummy);
651 void SendSkinChange7(bool Dummy);
652 // Returns true if the requested skin change got applied by the server
653 bool GotWantedSkin7(bool Dummy);
654 void SendInfo(bool Start);
655 void SendDummyInfo(bool Start) override;
656 void SendKill() const;
657 void SendReadyChange7();
658
659 void ApplyPreInputs(int Tick, bool Direct, CGameWorld &GameWorld);
660
662
663 // DDRace
664
668 unsigned int m_DummyFire;
672
674
675 int IntersectCharacter(vec2 HookPos, vec2 NewPos, vec2 &NewPos2, int OwnId, vec2 *pPlayerPosition = nullptr);
676
677 int LastRaceTick() const;
678 int CurrentRaceTime() const;
679
680 bool IsTeamPlay() const { return m_Snap.m_pGameInfoObj && m_Snap.m_pGameInfoObj->m_GameFlags & GAMEFLAG_TEAMS; }
681
682 bool AntiPingPlayers() const { return g_Config.m_ClAntiPing && g_Config.m_ClAntiPingPlayers && !m_Snap.m_SpecInfo.m_Active && Client()->State() != IClient::STATE_DEMOPLAYBACK; }
683 bool AntiPingGrenade() const { return g_Config.m_ClAntiPing && g_Config.m_ClAntiPingGrenade && !m_Snap.m_SpecInfo.m_Active && Client()->State() != IClient::STATE_DEMOPLAYBACK; }
684 bool AntiPingWeapons() const { return g_Config.m_ClAntiPing && g_Config.m_ClAntiPingWeapons && !m_Snap.m_SpecInfo.m_Active && Client()->State() != IClient::STATE_DEMOPLAYBACK; }
685 bool AntiPingGunfire() const { return AntiPingGrenade() && AntiPingWeapons() && g_Config.m_ClAntiPingGunfire; }
686 bool Predict() const;
687 bool PredictDummy() const { return g_Config.m_ClPredictDummy && Client()->DummyConnected() && m_Snap.m_LocalClientId >= 0 && m_aLocalIds[!g_Config.m_ClDummy] >= 0 && !m_aClients[m_aLocalIds[!g_Config.m_ClDummy]].m_Paused; }
688 const CTuningParams *GetTuning(int i) const { return &m_aTuningList[i]; }
689 ColorRGBA GetDDTeamColor(int DDTeam, float Lightness = 0.5f) const;
690 void FormatClientId(int ClientId, char (&aClientId)[16], EClientIdFormat Format) const;
691
695
696 std::vector<SSwitchers> &Switchers() { return m_GameWorld.m_Core.m_vSwitchers; }
697 std::vector<SSwitchers> &PredSwitchers() { return m_PredictedWorld.m_Core.m_vSwitchers; }
698
699 void DummyResetInput() override;
700 void Echo(const char *pString) override;
701 bool IsOtherTeam(int ClientId) const;
702 int SwitchStateTeam() const;
703 bool IsLocalCharSuper() const;
704 bool CanDisplayWarning() const override;
707
708 void LoadGameSkin(const char *pPath, bool AsDir = false);
709 void LoadEmoticonsSkin(const char *pPath, bool AsDir = false);
710 void LoadParticlesSkin(const char *pPath, bool AsDir = false);
711 void LoadHudSkin(const char *pPath, bool AsDir = false);
712 void LoadExtrasSkin(const char *pPath, bool AsDir = false);
713
715 {
716 // health armor hud
721
722 // cursors
729
731
732 // weapons and hook
741
743
744 // particles
746
747 // stars
749
750 // projectiles
757
759
760 // muzzles
764
766
767 // pickups
780
783
784 // flags
787
788 // ninja bar (0.7)
793
794 bool IsSixup() const
795 {
796 return m_SpriteNinjaBarFullLeft.IsValid();
797 }
798 };
799
801 bool m_GameSkinLoaded = false;
802
815
818
823
826
828 {
860 };
861
863 bool m_HudSkinLoaded = false;
864
873
875 bool m_ExtrasSkinLoaded = false;
876
877 const std::vector<CSnapEntities> &SnapEntities() { return m_vSnapEntities; }
878
884
885 void ResetMultiView();
887 void CleanMultiViewId(int ClientId);
891
892private:
893 std::vector<CSnapEntities> m_vSnapEntities;
894 void SnapCollectEntities();
895
898 int m_aEnableSpectatorCount[NUM_DUMMIES]; // current setting as sent to the server, -1 if not yet sent
899
900 std::vector<std::shared_ptr<CManagedTeeRenderInfo>> m_vpManagedTeeRenderInfos;
902
903 void UpdateLocalTuning();
904 void UpdatePrediction();
907 void HandlePredictedEvents(int Tick);
908
910 void DetectStrongHook();
911
912 vec2 GetSmoothPos(int ClientId);
913
917
918 void LoadMapSettings();
920
921 // tunings for every zone on the map, 0 is a global tune
924
931
932 void HandleMultiView();
933 bool IsMultiViewIdSet();
934 void CleanMultiViewIds();
935 bool InitMultiView(int Team);
936 float CalculateMultiViewMultiplier(vec2 TargetPos);
937 float CalculateMultiViewZoom(vec2 MinPos, vec2 MaxPos, float Vel);
938 float MapValue(float MaxValue, float MinValue, float MaxRange, float MinRange, float Value);
939
952
954
956 void StoreSave(const char *pTeamMembers, const char *pGeneratedCode) const;
957};
958
960
961#endif
Definition background.h:22
Definition binds.h:45
Definition broadcast.h:11
Definition camera.h:14
Definition censor.h:66
Definition gameworld.h:156
Definition gamecore.h:179
Definition chat.h:21
Definition collision.h:35
Definition config.h:30
Definition controls.h:16
Definition countryflags.h:13
Definition damageind.h:11
Definition debughud.h:10
Definition effects.h:11
Definition emoticon.h:13
Definition flow.h:10
Definition freezebars.h:6
Definition gameclient.h:527
int m_aUseCustomColors[protocol7::NUM_SKINPARTS]
Definition gameclient.h:532
void Reset()
Definition gameclient.cpp:3031
int m_aSkinPartColors[protocol7::NUM_SKINPARTS]
Definition gameclient.h:533
char m_aaSkinPartNames[protocol7::NUM_SKINPARTS][protocol7::MAX_SKIN_LENGTH]
Definition gameclient.h:531
Definition gameclient.h:437
int m_ColorFeet
Definition gameclient.h:445
bool m_ChatIgnore
Definition gameclient.h:483
bool m_HookHitDisabled
Definition gameclient.h:465
void UpdateSkinInfo()
Definition gameclient.cpp:2815
vec2 m_SpecChar
Definition gameclient.h:515
CSkinDescriptor ToSkinDescriptor() const
Definition gameclient.cpp:3004
int ClientId() const
Definition gameclient.h:524
int m_FreezeEnd
Definition gameclient.h:471
CNetMsg_Sv_PreInput m_aPreInputs[200]
Definition gameclient.h:502
char m_aClan[MAX_CLAN_LENGTH]
Definition gameclient.h:448
std::shared_ptr< CManagedTeeRenderInfo > m_pSkinInfo
Definition gameclient.h:478
bool m_Foe
Definition gameclient.h:486
int m_aPredTick[200]
Definition gameclient.h:513
bool m_EndlessHook
Definition gameclient.h:459
bool m_LiveFrozen
Definition gameclient.h:473
int m_Emoticon
Definition gameclient.h:452
bool m_DeepFrozen
Definition gameclient.h:472
bool m_Friend
Definition gameclient.h:485
vec2 m_aPredPos[200]
Definition gameclient.h:512
CCharacterCore m_Predicted
Definition gameclient.h:475
bool m_IsPredicted
Definition gameclient.h:508
bool m_Super
Definition gameclient.h:466
bool m_Active
Definition gameclient.h:482
CNetObj_Character m_RenderCur
Definition gameclient.h:505
bool m_HasTelegunLaser
Definition gameclient.h:470
int64_t m_aSmoothLen[2]
Definition gameclient.h:511
float m_EmoticonStartFraction
Definition gameclient.h:453
int m_ColorBody
Definition gameclient.h:444
int m_FinishTimeMillis
Definition gameclient.h:494
CGameClient * m_pGameClient
Definition gameclient.h:439
vec2 m_RenderPos
Definition gameclient.h:507
int m_Team
Definition gameclient.h:451
int m_AuthLevel
Definition gameclient.h:488
bool m_aSwitchStates[256]
Definition gameclient.h:497
bool m_ShotgunHitDisabled
Definition gameclient.h:464
bool m_Solo
Definition gameclient.h:456
int m_ClientId
Definition gameclient.h:440
bool m_HasTelegunGun
Definition gameclient.h:468
int m_EmoticonStartTick
Definition gameclient.h:454
int m_FinishTimeSeconds
Definition gameclient.h:493
void UpdateRenderInfo()
Definition gameclient.cpp:2866
bool m_Invincible
Definition gameclient.h:467
char m_aName[MAX_NAME_LENGTH]
Definition gameclient.h:447
CNetObj_Character m_Evolved
Definition gameclient.h:500
friend class CGameClient
Definition gameclient.h:438
CNetObj_Character m_RenderPrev
Definition gameclient.h:506
bool m_GrenadeHitDisabled
Definition gameclient.h:462
bool m_HammerHitDisabled
Definition gameclient.h:461
bool m_Jetpack
Definition gameclient.h:457
CSixup m_aSixup[NUM_DUMMIES]
Definition gameclient.h:537
bool m_Afk
Definition gameclient.h:489
float m_Angle
Definition gameclient.h:481
bool m_Spec
Definition gameclient.h:491
CNetObj_Character m_Snapped
Definition gameclient.h:499
bool m_IsPredictedLocal
Definition gameclient.h:509
CTeeRenderInfo m_RenderInfo
Definition gameclient.h:479
bool m_CollisionDisabled
Definition gameclient.h:458
bool m_EmoticonIgnore
Definition gameclient.h:484
void Reset()
Definition gameclient.cpp:2920
int m_Country
Definition gameclient.h:449
bool m_SpecCharPresent
Definition gameclient.h:514
int m_UseCustomColor
Definition gameclient.h:443
char m_aSkinName[MAX_SKIN_LENGTH]
Definition gameclient.h:450
int64_t m_aSmoothStart[2]
Definition gameclient.h:510
bool m_EndlessJump
Definition gameclient.h:460
bool m_HasTelegunGrenade
Definition gameclient.h:469
void UpdateSkin7BotDecoration(int Dummy)
Definition sixup_translate_game.cpp:140
bool m_Paused
Definition gameclient.h:490
void UpdateSkin7HatSprite(int Dummy)
Definition sixup_translate_game.cpp:121
CCharacterCore m_PrevPredicted
Definition gameclient.h:476
bool m_LaserHitDisabled
Definition gameclient.h:463
Definition gameclient.h:543
bool IsActive() const
Definition gameclient.h:564
float GetFPM(int Tick, int TickSpeed) const
Definition gameclient.h:576
int m_FlagGrabs
Definition gameclient.h:559
int m_aFragsWith[NUM_WEAPONS]
Definition gameclient.h:551
int m_aDeathsFrom[NUM_WEAPONS]
Definition gameclient.h:552
int GetIngameTicks(int Tick) const
Definition gameclient.h:575
int m_Suicides
Definition gameclient.h:555
void Reset()
Definition gameclient.cpp:2797
int m_BestSpree
Definition gameclient.h:556
int m_JoinTick
Definition gameclient.h:545
int m_Deaths
Definition gameclient.h:554
int m_CurrentSpree
Definition gameclient.h:557
int m_FlagCaptures
Definition gameclient.h:560
void JoinGame(int Tick)
Definition gameclient.h:565
bool m_Active
Definition gameclient.h:546
void JoinSpec(int Tick)
Definition gameclient.h:570
int m_Frags
Definition gameclient.h:553
int m_IngameTicks
Definition gameclient.h:544
CClientStats()
Definition gameclient.cpp:2792
Definition gameclient.h:408
int m_NumSamples
Definition gameclient.h:419
static constexpr int SAMPLE_FRAME_WINDOW
Definition gameclient.h:411
vec2 m_Position
Definition gameclient.h:425
int m_CursorOwnerId
Definition gameclient.h:416
bool m_Available
Definition gameclient.h:421
bool IsAvailable() const
Definition gameclient.h:428
static constexpr double INTERP_DELAY
Definition gameclient.h:413
vec2 Position() const
Definition gameclient.h:432
static constexpr int SAMPLE_FRAME_OFFSET
Definition gameclient.h:412
int Weapon() const
Definition gameclient.h:429
vec2 Target() const
Definition gameclient.h:430
friend class CGameClient
Definition gameclient.h:409
static constexpr int CURSOR_SAMPLES
Definition gameclient.h:410
vec2 m_Target
Definition gameclient.h:423
static constexpr double REST_THRESHOLD
Definition gameclient.h:414
vec2 m_WorldTarget
Definition gameclient.h:424
int m_Weapon
Definition gameclient.h:422
vec2 m_aTargetSamplesData[CURSOR_SAMPLES]
Definition gameclient.h:418
vec2 WorldTarget() const
Definition gameclient.h:431
double m_aTargetSamplesTime[CURSOR_SAMPLES]
Definition gameclient.h:417
Definition gameclient.h:381
CNetObj_Character m_Cur
Definition gameclient.h:387
bool m_HasExtendedDisplayInfo
Definition gameclient.h:392
const CNetObj_DDNetCharacter * m_pPrevExtendedData
Definition gameclient.h:390
CNetObj_DDNetCharacter m_ExtendedData
Definition gameclient.h:389
bool m_Active
Definition gameclient.h:383
bool m_HasExtendedData
Definition gameclient.h:391
CNetObj_Character m_Prev
Definition gameclient.h:386
Definition gameclient.h:366
bool m_UsePosition
Definition gameclient.h:370
int m_FollowFactor
Definition gameclient.h:376
int m_Deadzone
Definition gameclient.h:375
vec2 m_Position
Definition gameclient.h:371
bool m_Active
Definition gameclient.h:368
float m_Zoom
Definition gameclient.h:374
bool m_HasCameraInfo
Definition gameclient.h:373
int m_SpectatorId
Definition gameclient.h:369
Definition gameclient.h:337
int m_HighestClientId
Definition gameclient.h:363
int m_NumFlags
Definition gameclient.h:345
const CNetObj_PlayerInfo * m_pLocalInfo
Definition gameclient.h:341
const CNetObj_SpectatorInfo * m_pSpectatorInfo
Definition gameclient.h:342
const CNetObj_GameInfo * m_pGameInfoObj
Definition gameclient.h:348
const CNetObj_SpectatorInfo * m_pPrevSpectatorInfo
Definition gameclient.h:343
int m_LocalClientId
Definition gameclient.h:360
const CNetObj_PlayerInfo * m_apInfoByDDTeamScore[MAX_CLIENTS]
Definition gameclient.h:357
const CNetObj_PlayerInfo * m_apInfoByScore[MAX_CLIENTS]
Definition gameclient.h:355
const CNetObj_PlayerInfo * m_apInfoByName[MAX_CLIENTS]
Definition gameclient.h:356
int m_aTeamSize[2]
Definition gameclient.h:362
CSpectateInfo m_SpecInfo
Definition gameclient.h:378
const CNetObj_Character * m_pLocalPrevCharacter
Definition gameclient.h:340
CCharacterInfo m_aCharacters[MAX_CLIENTS]
Definition gameclient.h:394
const CNetObj_GameData * m_pPrevGameDataObj
Definition gameclient.h:350
const CNetObj_PlayerInfo * m_apPlayerInfos[MAX_CLIENTS]
Definition gameclient.h:352
const CNetObj_GameData * m_pGameDataObj
Definition gameclient.h:349
const CNetObj_Flag * m_apFlags[CSnapshot::MAX_ITEMS]
Definition gameclient.h:346
const CNetObj_PlayerInfo * m_apInfoByDDTeamName[MAX_CLIENTS]
Definition gameclient.h:358
const CNetObj_Character * m_pLocalCharacter
Definition gameclient.h:339
const CNetObj_SpectatorCount * m_pSpectatorCount
Definition gameclient.h:344
int m_NumPlayers
Definition gameclient.h:361
const CNetObj_Flag * m_apPrevFlags[CSnapshot::MAX_ITEMS]
Definition gameclient.h:347
const CNetObj_PlayerInfo * m_apPrevPlayerInfos[MAX_CLIENTS]
Definition gameclient.h:353
Definition gameclient.h:139
char m_aMapDescription[512]
Definition gameclient.h:890
void InitializeLanguage() override
Definition gameclient.cpp:291
void OnStateChange(int NewState, int OldState) override
Definition gameclient.cpp:1240
void DetectStrongHook()
Definition gameclient.cpp:3796
void UpdateSpectatorCursor()
Definition gameclient.cpp:3549
CSkins7 m_Skins7
Definition gameclient.h:154
void DummyResetInput() override
Definition gameclient.cpp:4766
const char * DDNetVersionStr() const override
Definition gameclient.cpp:89
void RefreshSkins(int SkinDescriptorFlags)
Definition gameclient.cpp:4521
unsigned int m_DummyFire
Definition gameclient.h:668
void LoadGameSkin(const char *pPath, bool AsDir=false)
Definition gameclient.cpp:3947
bool CanDisplayWarning() const override
Definition gameclient.cpp:4781
int OnDemoRecSnap7(class CSnapshot *pFrom, class CSnapshot *pTo, int Conn) override
Definition sixup_translate_snapshot.cpp:503
CCharacterCore m_PredictedChar
Definition gameclient.h:333
char m_aDDNetVersionStr[64]
Definition gameclient.h:241
float m_LastZoom
Definition gameclient.h:926
static void ConchainSpecialDummyInfoupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition gameclient.cpp:3265
CRenderTools m_RenderTools
Definition gameclient.h:581
class IConfigManager * m_pConfigManager
Definition gameclient.h:203
int m_PredictedTick
Definition gameclient.h:230
bool GotWantedSkin7(bool Dummy)
Definition gameclient.cpp:3083
void OnRender() override
Definition gameclient.cpp:791
int m_aCheckInfo[NUM_DUMMIES]
Definition gameclient.h:239
bool AntiPingWeapons() const
Definition gameclient.h:684
CSnapState m_Snap
Definition gameclient.h:397
const char * NetobjCorrectedOn()
Definition gameclient.h:311
bool m_NewTick
Definition gameclient.h:314
bool AntiPingPlayers() const
Definition gameclient.h:682
CKeyBinder m_KeyBinder
Definition gameclient.h:150
SClientHudSkin m_HudSkin
Definition gameclient.h:862
bool m_GameOver
Definition gameclient.h:267
CSounds m_Sounds
Definition gameclient.h:164
CNamePlates m_NamePlates
Definition gameclient.h:172
void SendSkinChange7(bool Dummy)
Definition gameclient.cpp:3067
int m_IsDummySwapping
Definition gameclient.h:914
const CRaceHelper * RaceHelper() const
Definition gameclient.h:292
class IConsole * Console()
Definition gameclient.h:281
CSkins m_Skins
Definition gameclient.h:153
const CCollision * Collision() const
Definition gameclient.h:291
vec2 m_aLastPos[MAX_CLIENTS]
Definition gameclient.h:263
void OnInit() override
Definition gameclient.cpp:305
float m_LastFollowFactor
Definition gameclient.h:929
static void ConMapbug(IConsole::IResult *pResult, void *pUserData)
Definition gameclient.cpp:4731
int m_MultiViewTeam
Definition gameclient.h:879
bool m_SuppressEvents
Definition gameclient.h:313
float m_MultiViewPersonalZoom
Definition gameclient.h:880
float CalculateMultiViewZoom(vec2 MinPos, vec2 MaxPos, float Vel)
Definition gameclient.cpp:5095
class IServerBrowser * ServerBrowser() const
Definition gameclient.h:286
bool m_EmoticonsSkinLoaded
Definition gameclient.h:825
void HandlePredictedEvents(int Tick)
Definition gameclient.cpp:3748
CCountryFlags m_CountryFlags
Definition gameclient.h:155
CDebugHud m_DebugHud
Definition gameclient.h:159
class IGraphics * Graphics() const
Definition gameclient.h:273
bool m_HudSkinLoaded
Definition gameclient.h:863
int m_aNextChangeInfo[NUM_DUMMIES]
Definition gameclient.h:661
class IStorage * m_pStorage
Definition gameclient.h:206
bool AntiPingGunfire() const
Definition gameclient.h:685
static void ConTuneParam(IConsole::IResult *pResult, void *pUserData)
Definition gameclient.cpp:4709
IEngine * Engine() const
Definition gameclient.h:272
void OnRconLine(const char *pLine) override
Definition gameclient.cpp:1373
CNetObj_PlayerInput m_DummyInput
Definition gameclient.h:666
CCollision m_Collision
Definition gameclient.h:220
int m_MapBestTimeSeconds
Definition gameclient.h:888
int m_LastFlagCarrierRed
Definition gameclient.h:236
void OnActivateEditor() override
Definition gameclient.cpp:2787
class IEditor * Editor()
Definition gameclient.h:293
class IDemoPlayer * DemoPlayer() const
Definition gameclient.h:283
CInfoMessages m_InfoMessages
Definition gameclient.h:142
void RefreshSkin(const std::shared_ptr< CManagedTeeRenderInfo > &pManagedTeeRenderInfo)
Definition gameclient.cpp:4476
CHud m_Hud
Definition gameclient.h:157
void SendSwitchTeam(int Team) const
Definition gameclient.cpp:3041
void SendDummyInfo(bool Start) override
Definition gameclient.cpp:3165
class CConfig * Config() const
Definition gameclient.h:280
void DoTeamChangeMessage7(const char *pName, int ClientId, int Team, const char *pPrefix="")
Definition sixup_translate_game.cpp:73
void OnMessage(int MsgId, CUnpacker *pUnpacker, int Conn, bool Dummy) override
Definition gameclient.cpp:1007
class CTeamsCore m_Teams
Definition gameclient.h:673
void OnReset()
Definition gameclient.cpp:615
bool IsMultiViewIdSet()
Definition gameclient.cpp:5154
void OnPredict() override
Definition gameclient.cpp:2518
std::vector< class CComponent * > m_vpAll
Definition gameclient.h:192
class IFavorites * Favorites() const
Definition gameclient.h:285
int LastRaceTick() const
Definition gameclient.cpp:933
virtual void OnStartGame()
Definition gameclient.cpp:1269
void OnConnected() override
Definition gameclient.cpp:576
void UpdatePositions()
Definition gameclient.cpp:727
void RenderShutdownMessage() override
Definition gameclient.cpp:1324
SClientEmoticonsSkin m_EmoticonsSkin
Definition gameclient.h:824
static void ConchainSpecialDummy(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition gameclient.cpp:3272
CCamera m_Camera
Definition gameclient.h:143
bool m_MultiViewShowHud
Definition gameclient.h:881
void OnSaveCodeNetMessage(const CNetMsg_Sv_SaveCode *pMsg)
Definition gameclient.cpp:5170
CGhost m_Ghost
Definition gameclient.h:185
float m_LastDeadzone
Definition gameclient.h:928
CLocalServer m_LocalServer
Definition gameclient.h:189
bool m_aReceivedTuning[NUM_DUMMIES]
Definition gameclient.h:399
@ SERVERMODE_PUREMOD
Definition gameclient.h:322
@ SERVERMODE_PURE
Definition gameclient.h:320
@ SERVERMODE_MOD
Definition gameclient.h:321
class CGameClient::CCursorInfo m_CursorInfo
void UpdateManagedTeeRenderInfos()
Definition gameclient.cpp:4608
void ProcessDemoSnapshot(CSnapshot *pSnap) override
Definition gameclient.cpp:1343
std::vector< CSnapEntities > m_vSnapEntities
Definition gameclient.h:893
CBinds m_Binds
Definition gameclient.h:149
void SendStartInfo7(bool Dummy)
Definition gameclient.cpp:3048
class ITextRender * m_pTextRender
Definition gameclient.h:200
CEmoticon m_Emoticon
Definition gameclient.h:165
class IConsole * m_pConsole
Definition gameclient.h:205
const char * Version() const override
Definition gameclient.cpp:85
void UpdateLocalTuning()
Definition gameclient.cpp:3340
std::vector< class CComponent * > m_vpInput
Definition gameclient.h:193
class IClient * m_pClient
Definition gameclient.h:201
static void ConchainMenuMap(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition gameclient.cpp:4751
static std::function< bool(int, int, int, int)> GetScoreComparator(bool TimeScore, bool ReceivedMillisecondFinishTimes, bool Race7)
Definition gameclient.cpp:2417
CCollision * Collision()
Definition gameclient.h:290
class ISound * m_pSound
Definition gameclient.h:202
float m_LastScreenAspect
Definition gameclient.h:927
CParticles m_Particles
Definition gameclient.h:151
CBroadcast m_Broadcast
Definition gameclient.h:147
void OnConsoleInit() override
Definition gameclient.cpp:93
class IDemoRecorder * DemoRecorder(int Recorder) const
Definition gameclient.h:284
static void ConchainLanguageUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition gameclient.cpp:3247
void OnLanguageChange()
Definition gameclient.cpp:1303
const char * NetVersion7() const override
Definition gameclient.cpp:87
static void ConchainRefreshSkins(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition gameclient.cpp:4634
virtual void OnGameOver()
Definition gameclient.cpp:1263
CScoreboard m_Scoreboard
Definition gameclient.h:162
class ITextRender * TextRender() const
Definition gameclient.h:282
int m_aExpectingTuningSince[NUM_DUMMIES]
Definition gameclient.h:401
bool Predict() const
Definition gameclient.cpp:947
int m_aLocalTuneZone[NUM_DUMMIES]
Definition gameclient.h:398
std::bitset< RECORDER_MAX > m_ActiveRecordings
Definition gameclient.h:404
CStatboard m_Statboard
Definition gameclient.h:163
const char * GetItemName(int Type) const override
Definition gameclient.cpp:91
bool m_NewPredictedTick
Definition gameclient.h:315
float m_LastShowDistanceZoom
Definition gameclient.h:925
virtual void OnStartRound()
Definition gameclient.cpp:1276
CMapSounds m_MapSounds
Definition gameclient.h:182
CMotd m_Motd
Definition gameclient.h:146
bool m_aLastActive[MAX_CLIENTS]
Definition gameclient.h:264
bool m_ExtrasSkinLoaded
Definition gameclient.h:875
static void ConchainSpecialInfoupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition gameclient.cpp:3258
void ResetMultiView()
Definition gameclient.cpp:5126
CGameInfo m_GameInfo
Definition gameclient.h:325
class CLayers * Layers()
Definition gameclient.h:289
vec2 GetSmoothPos(int ClientId)
Definition gameclient.cpp:3880
CNetObjHandler m_NetObjHandler
Definition gameclient.h:194
void InvalidateSnapshot() override
Definition gameclient.cpp:1646
protocol7::CNetObjHandler * GetNetObjHandler7() override
Definition gameclient.cpp:4791
class IInput * m_pInput
Definition gameclient.h:198
static void ConReadyChange7(IConsole::IResult *pResult, void *pUserData)
Definition gameclient.cpp:3240
void OnDummyDisconnect() override
Definition gameclient.cpp:924
int IntersectCharacter(vec2 HookPos, vec2 NewPos, vec2 &NewPos2, int OwnId, vec2 *pPlayerPosition=nullptr)
Definition gameclient.cpp:3287
class IServerBrowser * m_pServerBrowser
Definition gameclient.h:209
SClientParticlesSkin m_ParticlesSkin
Definition gameclient.h:816
void LoadEmoticonsSkin(const char *pPath, bool AsDir=false)
Definition gameclient.cpp:4204
int m_LastRoundStartTick
Definition gameclient.h:233
int NetobjNumCorrections()
Definition gameclient.h:307
CTuningParams m_aTuning[NUM_DUMMIES]
Definition gameclient.h:402
CRenderMap m_RenderMap
Definition gameclient.h:582
int m_LastFlagCarrierBlue
Definition gameclient.h:237
CTuningParams * TuningList()
Definition gameclient.h:923
bool AntiPingGrenade() const
Definition gameclient.h:683
void UpdateRenderedCharacters()
Definition gameclient.cpp:3693
void LoadParticlesSkin(const char *pPath, bool AsDir=false)
Definition gameclient.cpp:4248
int CurrentRaceTime() const
Definition gameclient.cpp:938
class IDiscord * m_pDiscord
Definition gameclient.h:213
CRaceDemo m_RaceDemo
Definition gameclient.h:184
CSpectator m_Spectator
Definition gameclient.h:169
CEffects m_Effects
Definition gameclient.h:161
class IEditor * m_pEditor
Definition gameclient.h:210
CGameWorld m_GameWorld
Definition gameclient.h:692
void ProcessEvents()
Definition gameclient.cpp:1378
size_t ComponentCount() const
Definition gameclient.h:586
void HandleLanguageChanged()
Definition gameclient.cpp:1311
bool m_GamePaused
Definition gameclient.h:268
SClientGameSkin m_GameSkin
Definition gameclient.h:800
const CTuningParams * GetTuning(int i) const
Definition gameclient.h:688
CGameConsole m_GameConsole
Definition gameclient.h:148
bool m_aDDRaceMsgSent[NUM_DUMMIES]
Definition gameclient.h:896
virtual void OnFlagGrab(int TeamId)
Definition gameclient.cpp:1287
CGameWorld m_PrevPredictedWorld
Definition gameclient.h:694
CFlow m_Flow
Definition gameclient.h:156
void ForceUpdateConsoleRemoteCompletionSuggestions() override
Definition gameclient.cpp:300
void OnDummySwap() override
Definition gameclient.cpp:510
CLayers m_Layers
Definition gameclient.h:219
bool m_aMultiViewId[MAX_CLIENTS]
Definition gameclient.h:883
void SnapCollectEntities()
Definition gameclient.cpp:4796
void UpdatePrediction()
Definition gameclient.cpp:3418
void UpdateEditorIngameMoved()
Definition gameclient.cpp:2461
CMapLayers m_MapLayersBackground
Definition gameclient.h:177
CControls m_Controls
Definition gameclient.h:160
int m_ServerMode
Definition gameclient.h:324
CClientData m_aClients[MAX_CLIENTS]
Definition gameclient.h:540
int m_aSwitchStateTeam[NUM_DUMMIES]
Definition gameclient.h:916
int m_MapBestTimeMillis
Definition gameclient.h:889
int m_aFlagDropTick[2]
Definition gameclient.h:316
IKernel * Kernel()
Definition gameclient.h:271
int SwitchStateTeam() const
Definition gameclient.cpp:3929
float CalculateMultiViewMultiplier(vec2 TargetPos)
Definition gameclient.cpp:5072
int m_aExpectingTuningForZone[NUM_DUMMIES]
Definition gameclient.h:400
void CleanMultiViewId(int ClientId)
Definition gameclient.cpp:5144
int DDNetVersion() const override
Definition gameclient.cpp:88
int m_LastRaceTick
Definition gameclient.h:234
CFreezeBars m_FreezeBars
Definition gameclient.h:173
int m_DemoSpecId
Definition gameclient.h:327
class IClient * Client() const
Definition gameclient.h:274
class IFavorites * m_pFavorites
Definition gameclient.h:208
void CleanMultiViewIds()
Definition gameclient.cpp:5137
class IFriends * m_pFoes
Definition gameclient.h:212
CPlayers m_Players
Definition gameclient.h:171
int m_aEnableSpectatorCount[NUM_DUMMIES]
Definition gameclient.h:898
class ISound * Sound() const
Definition gameclient.h:276
CTouchControls m_TouchControls
Definition gameclient.h:167
void SendKill() const
Definition gameclient.cpp:3207
CNetObj_PlayerInput m_HammerInput
Definition gameclient.h:667
const std::vector< CSnapEntities > & SnapEntities()
Definition gameclient.h:877
CClientStats m_aStats[MAX_CLIENTS]
Definition gameclient.h:579
static void ConTeam(IConsole::IResult *pResult, void *pUserData)
Definition gameclient.cpp:3230
class CRenderMap * RenderMap()
Definition gameclient.h:288
bool IsTeamPlay() const
Definition gameclient.h:680
CMapLayers m_MapLayersForeground
Definition gameclient.h:178
std::vector< SSwitchers > & PredSwitchers()
Definition gameclient.h:697
CMapImages m_MapImages
Definition gameclient.h:175
static void ConTuneZone(IConsole::IResult *pResult, void *pUserData)
Definition gameclient.cpp:4720
vec2 m_LocalCharacterPos
Definition gameclient.h:329
CItems m_Items
Definition gameclient.h:174
const char * NetVersion() const override
Definition gameclient.cpp:86
std::shared_ptr< CManagedTeeRenderInfo > CreateManagedTeeRenderInfo(const CTeeRenderInfo &TeeRenderInfo, const CSkinDescriptor &SkinDescriptor)
Definition gameclient.cpp:4595
bool IsLocalCharSuper() const
Definition gameclient.cpp:3940
ColorRGBA GetDDTeamColor(int DDTeam, float Lightness=0.5f) const
Definition gameclient.cpp:966
bool IsOtherTeam(int ClientId) const
Definition gameclient.cpp:3906
void LoadHudSkin(const char *pPath, bool AsDir=false)
Definition gameclient.cpp:4319
CUi m_UI
Definition gameclient.h:221
class CConfig * m_pConfig
Definition gameclient.h:204
CImportantAlert m_ImportantAlert
Definition gameclient.h:158
void OnWindowResize() override
Definition gameclient.cpp:1295
int FindFirstMultiViewId()
Definition gameclient.cpp:5159
CMapBugs m_MapBugs
Definition gameclient.h:919
SMultiView m_MultiView
Definition gameclient.h:953
void FormatClientId(int ClientId, char(&aClientId)[16], EClientIdFormat Format) const
Definition gameclient.cpp:974
void SendReadyChange7()
Definition gameclient.cpp:3219
bool m_GameSkinLoaded
Definition gameclient.h:801
void OnRconType(bool UsernameReq) override
Definition gameclient.cpp:1368
void OnSkinUpdate(const char *pSkinName)
Definition gameclient.cpp:4552
void * TranslateGameMsg(int *pMsgId, CUnpacker *pUnpacker, int Conn)
Definition sixup_translate_game.cpp:172
int m_aShowOthers[NUM_DUMMIES]
Definition gameclient.h:897
bool m_LastDummyConnected
Definition gameclient.h:930
void CollectManagedTeeRenderInfos(const std::function< void(const char *pSkinName)> &ActiveSkinAcceptor)
Definition gameclient.cpp:4623
class IInput * Input() const
Definition gameclient.h:277
void Echo(const char *pString) override
Definition gameclient.cpp:3901
protocol7::CNetObjHandler m_NetObjHandler7
Definition gameclient.h:195
CDamageInd m_DamageInd
Definition gameclient.h:166
CGameWorld m_PredictedWorld
Definition gameclient.h:693
void HandleMultiView()
Definition gameclient.cpp:4842
class CUi * Ui()
Definition gameclient.h:275
int m_aLastUpdateTick[MAX_CLIENTS]
Definition gameclient.h:909
CTooltips m_Tooltips
Definition gameclient.h:187
bool InitMultiView(int Team)
Definition gameclient.cpp:4963
class IDemoPlayer * m_pDemoPlayer
Definition gameclient.h:207
void StoreSave(const char *pTeamMembers, const char *pGeneratedCode) const
Definition gameclient.cpp:5243
int m_EditorMovementDelay
Definition gameclient.h:227
CVoting m_Voting
Definition gameclient.h:168
void ApplySkin7InfoFromGameMsg(const T *pMsg, int ClientId, int Conn)
Definition sixup_translate_game.cpp:87
CMenus m_Menus
Definition gameclient.h:152
CBackground m_Background
Definition gameclient.h:179
void OnNewSnapshot() override
Definition gameclient.cpp:1655
void ApplySkin7InfoFromSnapObj(const protocol7::CNetObj_De_ClientInfo *pObj, int ClientId) override
Definition sixup_translate_game.cpp:102
class IFriends * m_pFriends
Definition gameclient.h:211
bool m_ReceivedDDNetPlayerFinishTimes
Definition gameclient.h:670
class IHttp * m_pHttp
Definition gameclient.h:217
class IStorage * Storage() const
Definition gameclient.h:278
void OnShutdown() override
Definition gameclient.cpp:1251
void LoadExtrasSkin(const char *pPath, bool AsDir=false)
Definition gameclient.cpp:4420
std::vector< std::shared_ptr< CManagedTeeRenderInfo > > m_vpManagedTeeRenderInfos
Definition gameclient.h:900
class IEngine * m_pEngine
Definition gameclient.h:197
int ClientVersion7() const override
Definition gameclient.cpp:90
bool m_ReceivedDDNetPlayerFinishTimesMillis
Definition gameclient.h:671
void OnUpdate() override
Definition gameclient.cpp:452
bool m_LanguageChanged
Definition gameclient.h:621
int TranslateSnap(CSnapshot *pSnapDstSix, CSnapshot *pSnapSrcSeven, int Conn, bool Dummy) override
Definition sixup_translate_snapshot.cpp:9
CNetObjHandler * GetNetObjHandler() override
Definition gameclient.cpp:4786
bool m_MultiViewActivated
Definition gameclient.h:882
class IFriends * Foes()
Definition gameclient.h:295
CRaceHelper m_RaceHelper
Definition gameclient.h:222
class IConfigManager * ConfigManager() const
Definition gameclient.h:279
int m_aLastNewPredictedTick[NUM_DUMMIES]
Definition gameclient.h:231
CTuningParams m_aTuningList[TuneZone::NUM]
Definition gameclient.h:922
bool m_ReceivedDDNetPlayer
Definition gameclient.h:669
CCharOrder m_CharOrder
Definition gameclient.h:915
SClientExtrasSkin m_ExtrasSkin
Definition gameclient.h:874
void ApplyPreInputs(int Tick, bool Direct, CGameWorld &GameWorld)
Definition gameclient.cpp:2478
class IGraphics * m_pGraphics
Definition gameclient.h:199
class IHttp * Http()
Definition gameclient.h:302
std::vector< SSwitchers > & Switchers()
Definition gameclient.h:696
CMenuBackground m_MenuBackground
Definition gameclient.h:180
bool PredictDummy() const
Definition gameclient.h:687
int m_aLocalIds[NUM_DUMMIES]
Definition gameclient.h:665
static void ConchainRefreshEventSkins(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition gameclient.cpp:4644
void LoadMapSettings()
Definition gameclient.cpp:4660
bool m_ParticlesSkinLoaded
Definition gameclient.h:817
int OnSnapInput(int *pData, bool Dummy, bool Force) override
Definition gameclient.cpp:524
class CRenderTools * RenderTools()
Definition gameclient.h:287
float MapValue(float MaxValue, float MinValue, float MaxRange, float MinRange, float Value)
Definition gameclient.cpp:5121
static void ConKill(IConsole::IResult *pResult, void *pUserData)
Definition gameclient.cpp:3235
void OnEnterGame() override
Definition gameclient.cpp:1259
CChat m_Chat
Definition gameclient.h:144
CCharacterCore m_PredictedPrevChar
Definition gameclient.h:332
CCensor m_Censor
Definition gameclient.h:145
class IFriends * Friends()
Definition gameclient.h:294
virtual void OnRelease()
Definition gameclient.cpp:1000
void SendInfo(bool Start)
Definition gameclient.cpp:3123
Definition console.h:26
Definition gameclient.h:75
bool m_BugDDRaceGhost
Definition gameclient.h:88
bool m_EntitiesFNG
Definition gameclient.h:101
bool m_AllowZoom
Definition gameclient.h:86
bool m_AllowXSkins
Definition gameclient.h:110
bool m_EntitiesRace
Definition gameclient.h:100
bool m_AllowHookColl
Definition gameclient.h:85
bool m_NoWeakHookAndBounce
Definition gameclient.h:116
bool m_DDRaceTeam
Definition gameclient.h:119
bool m_PredictDDRace
Definition gameclient.h:94
bool m_FlagStartsRace
Definition gameclient.h:77
bool m_PredictEvents
Definition gameclient.h:121
bool m_DDRaceRecordMessage
Definition gameclient.h:80
bool m_EntitiesFDDrace
Definition gameclient.h:104
bool m_EntitiesDDNet
Definition gameclient.h:98
bool m_PredictVanilla
Definition gameclient.h:96
bool m_RaceRecordMessage
Definition gameclient.h:81
bool m_AllowEyeWheel
Definition gameclient.h:84
bool m_PredictFNG
Definition gameclient.h:93
bool m_HudAmmo
Definition gameclient.h:113
bool m_RaceSounds
Definition gameclient.h:82
bool m_HudHealthArmor
Definition gameclient.h:112
bool m_EntitiesVanilla
Definition gameclient.h:102
bool m_EntitiesBW
Definition gameclient.h:103
bool m_PredictDDRaceTiles
Definition gameclient.h:95
bool m_TimeScore
Definition gameclient.h:78
bool m_EntitiesDDRace
Definition gameclient.h:99
bool m_DontMaskEntities
Definition gameclient.h:109
bool m_BugFNGLaserRange
Definition gameclient.h:90
bool m_HudDDRace
Definition gameclient.h:114
bool m_BugDDRaceInput
Definition gameclient.h:89
bool m_Pvp
Definition gameclient.h:107
bool m_UnlimitedAmmo
Definition gameclient.h:79
bool m_Race
Definition gameclient.h:106
bool m_NoSkinChangeForFrozen
Definition gameclient.h:117
bool m_BugVanillaBounce
Definition gameclient.h:91
Definition gameworld.h:18
Definition ghost.h:51
Definition hud.h:46
Definition important_alert.h:13
Definition infomessages.h:10
Definition items.h:16
Definition key_binder.h:12
Definition layers.h:13
Definition local_server.h:11
Definition mapbugs.h:22
Definition mapimages.h:37
Definition maplayers.h:16
Definition mapsounds.h:12
Definition menu_background.h:32
Definition menus.h:33
Definition motd.h:12
Definition nameplates.h:12
Definition protocol.h:1616
Definition particles.h:65
Definition players.h:11
Definition race_demo.h:11
Definition race.h:9
Definition render_map.h:56
Definition render.h:211
Definition scoreboard.h:14
Definition render.h:33
Definition skins7.h:22
Definition skins.h:25
Definition gameclient.h:125
const CNetObj_EntityEx * m_pDataEx
Definition gameclient.h:128
IClient::CSnapItem m_Item
Definition gameclient.h:127
Definition snapshot.h:31
@ MAX_ITEMS
Definition snapshot.h:50
Definition sounds.h:24
Definition spectator.h:13
Definition statboard.h:11
Definition teamscore.h:25
Definition render.h:65
Definition tooltips.h:27
Definition touch_controls.h:24
Definition gamecore.h:43
Definition ui.h:304
Definition packer.h:54
Definition voting.h:14
Definition color.h:145
Definition color.h:182
Definition client.h:112
Definition client.h:39
virtual class IDemoRecorder * DemoRecorder(int Recorder)=0
@ STATE_DEMOPLAYBACK
Definition client.h:57
virtual bool DummyConnected() const =0
EClientState State() const
Definition client.h:140
Definition config.h:9
Definition console.h:64
Definition console.h:20
void(* FCommandCallback)(IResult *pResult, void *pUserData)
Definition console.h:102
Definition demo.h:64
Definition demo.h:107
Definition discord.h:11
Definition editor.h:8
Definition engine.h:15
Definition favorites.h:15
Definition friends.h:19
Definition client.h:375
Definition graphics.h:206
Definition graphics.h:189
Definition http.h:13
Definition input.h:18
IKernel * Kernel()
Definition kernel.h:16
Definition kernel.h:34
Definition serverbrowser.h:272
Definition sound.h:12
Definition storage.h:21
Definition textrender.h:292
Definition updater.h:7
Definition protocol7.h:1239
CConfig g_Config
Definition config.cpp:14
@ NUM_DUMMIES
Definition enums.h:8
@ MAX_CLAN_LENGTH
Definition protocol.h:100
@ MAX_CLIENTS
Definition protocol.h:89
@ MAX_SKIN_LENGTH
Definition protocol.h:101
@ MAX_NAME_LENGTH
Definition protocol.h:99
ColorRGBA CalculateNameColor(ColorHSLA TextColorHSL)
Definition gameclient.cpp:3335
EClientIdFormat
Definition gameclient.h:132
@ INDENT_AUTO
Definition gameclient.h:134
@ NO_INDENT
Definition gameclient.h:133
@ INDENT_FORCE
Definition gameclient.h:135
@ NUM_WEAPONS
Definition protocol.h:1600
@ GAMEFLAG_TEAMS
Definition protocol.h:168
constexpr int NUM
Definition protocol.h:156
@ MAX_SKIN_LENGTH
Definition protocol7.h:73
@ NUM_SKINPARTS
Definition protocol7.h:46
@ RENDERTYPE_BACKGROUND
Definition render_interfaces.h:16
@ RENDERTYPE_FOREGROUND
Definition render_interfaces.h:18
Definition gameclient.h:820
IGraphics::CTextureHandle m_aSpriteEmoticons[16]
Definition gameclient.h:821
Definition gameclient.h:866
IGraphics::CTextureHandle m_SpritePulley
Definition gameclient.h:869
IGraphics::CTextureHandle m_SpriteParticleSnowflake
Definition gameclient.h:867
IGraphics::CTextureHandle m_aSpriteParticles[4]
Definition gameclient.h:871
IGraphics::CTextureHandle m_SpriteHectagon
Definition gameclient.h:870
IGraphics::CTextureHandle m_SpriteParticleSparkle
Definition gameclient.h:868
Definition gameclient.h:715
IGraphics::CTextureHandle m_aSpriteWeaponProjectiles[6]
Definition gameclient.h:758
IGraphics::CTextureHandle m_SpriteNinjaBarEmptyRight
Definition gameclient.h:792
IGraphics::CTextureHandle m_SpritePickupGun
Definition gameclient.h:778
IGraphics::CTextureHandle m_SpriteWeaponShotgun
Definition gameclient.h:737
IGraphics::CTextureHandle m_SpritePickupArmorLaser
Definition gameclient.h:773
IGraphics::CTextureHandle m_SpriteWeaponShotgunProjectile
Definition gameclient.h:752
IGraphics::CTextureHandle m_SpritePickupArmorGrenade
Definition gameclient.h:771
IGraphics::CTextureHandle m_SpriteArmorEmpty
Definition gameclient.h:720
IGraphics::CTextureHandle m_SpriteWeaponNinjaProjectile
Definition gameclient.h:755
IGraphics::CTextureHandle m_SpriteWeaponGun
Definition gameclient.h:736
IGraphics::CTextureHandle m_aaSpriteWeaponNinjaMuzzles[3]
Definition gameclient.h:763
IGraphics::CTextureHandle m_SpritePickupArmorNinja
Definition gameclient.h:772
IGraphics::CTextureHandle m_SpriteHookChain
Definition gameclient.h:733
IGraphics::CTextureHandle m_SpriteHookHead
Definition gameclient.h:734
IGraphics::CTextureHandle m_SpriteWeaponGrenadeProjectile
Definition gameclient.h:753
IGraphics::CTextureHandle m_SpriteNinjaBarEmpty
Definition gameclient.h:791
IGraphics::CTextureHandle m_SpriteWeaponLaser
Definition gameclient.h:740
IGraphics::CTextureHandle m_SpriteWeaponLaserProjectile
Definition gameclient.h:756
IGraphics::CTextureHandle m_aSpriteWeaponGunMuzzles[3]
Definition gameclient.h:761
IGraphics::CTextureHandle m_aaSpriteWeaponsMuzzles[6][3]
Definition gameclient.h:765
IGraphics::CTextureHandle m_SpritePickupHealth
Definition gameclient.h:768
IGraphics::CTextureHandle m_SpriteWeaponNinjaCursor
Definition gameclient.h:727
IGraphics::CTextureHandle m_SpriteWeaponLaserCursor
Definition gameclient.h:728
IGraphics::CTextureHandle m_SpriteFlagRed
Definition gameclient.h:786
IGraphics::CTextureHandle m_SpritePickupGrenade
Definition gameclient.h:774
IGraphics::CTextureHandle m_SpritePickupLaser
Definition gameclient.h:776
IGraphics::CTextureHandle m_SpritePickupArmorShotgun
Definition gameclient.h:770
IGraphics::CTextureHandle m_aSpriteWeaponCursors[6]
Definition gameclient.h:730
IGraphics::CTextureHandle m_aSpritePickupWeaponArmor[4]
Definition gameclient.h:782
IGraphics::CTextureHandle m_SpritePickupArmor
Definition gameclient.h:769
IGraphics::CTextureHandle m_SpriteNinjaBarFullLeft
Definition gameclient.h:789
IGraphics::CTextureHandle m_SpriteWeaponGrenade
Definition gameclient.h:738
IGraphics::CTextureHandle m_SpriteWeaponShotgunCursor
Definition gameclient.h:725
IGraphics::CTextureHandle m_SpriteWeaponNinja
Definition gameclient.h:739
IGraphics::CTextureHandle m_aSpriteWeapons[6]
Definition gameclient.h:742
IGraphics::CTextureHandle m_SpriteArmorFull
Definition gameclient.h:719
IGraphics::CTextureHandle m_SpriteFlagBlue
Definition gameclient.h:785
IGraphics::CTextureHandle m_SpritePickupShotgun
Definition gameclient.h:775
IGraphics::CTextureHandle m_aSpriteWeaponShotgunMuzzles[3]
Definition gameclient.h:762
IGraphics::CTextureHandle m_SpriteHealthFull
Definition gameclient.h:717
IGraphics::CTextureHandle m_SpriteWeaponHammerCursor
Definition gameclient.h:723
IGraphics::CTextureHandle m_aSpriteParticles[9]
Definition gameclient.h:745
IGraphics::CTextureHandle m_SpriteHealthEmpty
Definition gameclient.h:718
IGraphics::CTextureHandle m_SpriteNinjaBarFull
Definition gameclient.h:790
IGraphics::CTextureHandle m_SpritePickupHammer
Definition gameclient.h:779
IGraphics::CTextureHandle m_SpriteWeaponGrenadeCursor
Definition gameclient.h:726
IGraphics::CTextureHandle m_SpriteWeaponHammer
Definition gameclient.h:735
IGraphics::CTextureHandle m_SpriteWeaponHammerProjectile
Definition gameclient.h:754
bool IsSixup() const
Definition gameclient.h:794
IGraphics::CTextureHandle m_aSpritePickupWeapons[6]
Definition gameclient.h:781
IGraphics::CTextureHandle m_SpriteWeaponGunCursor
Definition gameclient.h:724
IGraphics::CTextureHandle m_aSpriteStars[3]
Definition gameclient.h:748
IGraphics::CTextureHandle m_SpriteWeaponGunProjectile
Definition gameclient.h:751
IGraphics::CTextureHandle m_SpritePickupNinja
Definition gameclient.h:777
Definition gameclient.h:828
IGraphics::CTextureHandle m_SpriteHudEndlessJump
Definition gameclient.h:833
IGraphics::CTextureHandle m_SpriteHudTeam0Mode
Definition gameclient.h:857
IGraphics::CTextureHandle m_SpriteHudLaserHitDisabled
Definition gameclient.h:848
IGraphics::CTextureHandle m_SpriteHudFreezeBarFullLeft
Definition gameclient.h:836
IGraphics::CTextureHandle m_SpriteHudNinjaBarEmptyRight
Definition gameclient.h:843
IGraphics::CTextureHandle m_SpriteHudFreezeBarEmptyRight
Definition gameclient.h:839
IGraphics::CTextureHandle m_SpriteHudAirjumpEmpty
Definition gameclient.h:830
IGraphics::CTextureHandle m_SpriteHudTeleportGun
Definition gameclient.h:853
IGraphics::CTextureHandle m_SpriteHudGunHitDisabled
Definition gameclient.h:849
IGraphics::CTextureHandle m_SpriteHudJetpack
Definition gameclient.h:835
IGraphics::CTextureHandle m_SpriteHudCollisionDisabled
Definition gameclient.h:832
IGraphics::CTextureHandle m_SpriteHudNinjaBarEmpty
Definition gameclient.h:842
IGraphics::CTextureHandle m_SpriteHudEndlessHook
Definition gameclient.h:834
IGraphics::CTextureHandle m_SpriteHudFreezeBarEmpty
Definition gameclient.h:838
IGraphics::CTextureHandle m_SpriteHudNinjaBarFullLeft
Definition gameclient.h:840
IGraphics::CTextureHandle m_SpriteHudDummyHammer
Definition gameclient.h:858
IGraphics::CTextureHandle m_SpriteHudDummyCopy
Definition gameclient.h:859
IGraphics::CTextureHandle m_SpriteHudLiveFrozen
Definition gameclient.h:851
IGraphics::CTextureHandle m_SpriteHudAirjump
Definition gameclient.h:829
IGraphics::CTextureHandle m_SpriteHudHookHitDisabled
Definition gameclient.h:844
IGraphics::CTextureHandle m_SpriteHudShotgunHitDisabled
Definition gameclient.h:846
IGraphics::CTextureHandle m_SpriteHudLockMode
Definition gameclient.h:856
IGraphics::CTextureHandle m_SpriteHudSolo
Definition gameclient.h:831
IGraphics::CTextureHandle m_SpriteHudDeepFrozen
Definition gameclient.h:850
IGraphics::CTextureHandle m_SpriteHudHammerHitDisabled
Definition gameclient.h:845
IGraphics::CTextureHandle m_SpriteHudFreezeBarFull
Definition gameclient.h:837
IGraphics::CTextureHandle m_SpriteHudNinjaBarFull
Definition gameclient.h:841
IGraphics::CTextureHandle m_SpriteHudPracticeMode
Definition gameclient.h:855
IGraphics::CTextureHandle m_SpriteHudTeleportGrenade
Definition gameclient.h:852
IGraphics::CTextureHandle m_SpriteHudGrenadeHitDisabled
Definition gameclient.h:847
IGraphics::CTextureHandle m_SpriteHudTeleportLaser
Definition gameclient.h:854
Definition gameclient.h:804
IGraphics::CTextureHandle m_SpriteParticleBall
Definition gameclient.h:806
IGraphics::CTextureHandle m_SpriteParticleShell
Definition gameclient.h:809
IGraphics::CTextureHandle m_SpriteParticleAirJump
Definition gameclient.h:811
IGraphics::CTextureHandle m_SpriteParticleSmoke
Definition gameclient.h:808
IGraphics::CTextureHandle m_SpriteParticleExpl
Definition gameclient.h:810
IGraphics::CTextureHandle m_SpriteParticleHit
Definition gameclient.h:812
IGraphics::CTextureHandle m_aSpriteParticleSplat[3]
Definition gameclient.h:807
IGraphics::CTextureHandle m_aSpriteParticles[10]
Definition gameclient.h:813
IGraphics::CTextureHandle m_SpriteParticleSlice
Definition gameclient.h:805
Definition gameclient.h:941
bool m_IsInit
Definition gameclient.h:943
bool m_Teleported
Definition gameclient.h:944
float m_aLastFreeze[MAX_CLIENTS]
Definition gameclient.h:950
bool m_Solo
Definition gameclient.h:942
vec2 m_OldPos
Definition gameclient.h:946
int m_OldPersonalZoom
Definition gameclient.h:947
float m_SecondChance
Definition gameclient.h:948
bool m_aVanish[MAX_CLIENTS]
Definition gameclient.h:945
float m_OldCameraDistance
Definition gameclient.h:949
Definition protocol.h:1444
Definition protocol.h:1476
Definition protocol.h:520
Definition protocol.h:568
Definition protocol.h:747
Definition protocol.h:470
Definition protocol.h:491
Definition protocol.h:478
Definition protocol.h:532
Definition protocol.h:425
Definition protocol.h:663
Definition protocol.h:554
Definition protocol7.h:404
vector2_base< float > vec2
Definition vmath.h:161