From: bones_was_here Date: Fri, 11 Aug 2023 18:02:09 +0000 (+1000) Subject: Remove redundant g_players intrusive list X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=40841c4dda620c716a293a970f156e7abd4a64ae;p=xonotic%2Fxonotic-data.pk3dir.git Remove redundant g_players intrusive list --- diff --git a/qcsrc/server/client.qh b/qcsrc/server/client.qh index bd4250325..f982955dd 100644 --- a/qcsrc/server/client.qh +++ b/qcsrc/server/client.qh @@ -83,9 +83,6 @@ float autocvar_sv_player_scale; void ClientState_attach(entity this); -IntrusiveList g_players; -STATIC_INIT(g_players) { g_players = IL_NEW(); } - CLASS(Client, Object) /** Client name */ ATTRIB(Client, netname, string, this.netname); @@ -278,10 +275,8 @@ CLASS(Player, Client) INIT(Player) { this.classname = STR_PLAYER; - IL_PUSH(g_players, this); } DESTRUCTOR(Player) { - IL_REMOVE(g_players, this); } ENDCLASS(Player) diff --git a/qcsrc/server/main.qc b/qcsrc/server/main.qc index 40f4d6c2f..03306e76d 100644 --- a/qcsrc/server/main.qc +++ b/qcsrc/server/main.qc @@ -288,9 +288,12 @@ void systems_update(); void sys_phys_update(entity this, float dt); void StartFrame() { - // TODO: if move is more than 50ms, split it into two moves (this matches QWSV behavior and the client prediction) - IL_EACH(g_players, IS_FAKE_CLIENT(it), sys_phys_update(it, frametime)); - IL_EACH(g_players, IS_FAKE_CLIENT(it), PlayerPreThink(it)); + FOREACH_CLIENT(IS_FAKE_CLIENT(it), + { + // DP calls these for real clients only + sys_phys_update(it, frametime); // called by SV_PlayerPhysics for players + PlayerPreThink(it); + }); execute_next_frame(); if (autocvar_sv_autopause && !server_is_dedicated) Pause_TryPause(); @@ -356,8 +359,12 @@ void StartFrame() MUTATOR_CALLHOOK(SV_StartFrame); GlobalStats_updateglobal(); - FOREACH_CLIENT(true, GlobalStats_update(it)); - IL_EACH(g_players, IS_FAKE_CLIENT(it), PlayerPostThink(it)); + FOREACH_CLIENT(true, + { + GlobalStats_update(it); + if (IS_FAKE_CLIENT(it)) + PlayerPostThink(it); // DP calls this for real clients only + }); } .vector originjitter;