From 7d26d3b87c8448fce51290f57bb6b5dd77e832f6 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 3 Oct 2023 08:30:00 +0200 Subject: [PATCH] do not copy players, it is not allowed for polymorphic classes. --- source/games/duke/src/premap.cpp | 8 +------- source/games/duke/src/types.h | 5 +++-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/source/games/duke/src/premap.cpp b/source/games/duke/src/premap.cpp index 8d0548277..f79b37035 100644 --- a/source/games/duke/src/premap.cpp +++ b/source/games/duke/src/premap.cpp @@ -524,14 +524,8 @@ void resetpspritevars(int g, const DVector3& startpos, const DAngle startang) } } - resetplayerstats(0); - for (i = 1; i < MAXPLAYERS; i++) - { - const auto thisp = getPlayer(i); - *thisp = *firstp; - thisp->pnum = i; - } + resetplayerstats(i); if (ud.recstat != 2) for (i = 0; i < MAXPLAYERS; i++) { diff --git a/source/games/duke/src/types.h b/source/games/duke/src/types.h index d20b04aac..9addec001 100644 --- a/source/games/duke/src/types.h +++ b/source/games/duke/src/types.h @@ -232,7 +232,10 @@ class DDukePlayer final : public DCorePlayer DDukePlayer() = default; public: DDukePlayer(uint8_t p) : DCorePlayer(p) {} + DDukePlayer& operator=(DDukePlayer&) = delete; + DDukePlayer(DDukePlayer&) = delete; void Serialize(FSerializer& arc) override; + TArray uservars; DVector3 vel; DVector2 bobpos; DVector2 fric; @@ -350,8 +353,6 @@ public: uint8_t moto_do_bump, moto_bump_fast, moto_on_oil, moto_on_mud; double MotoSpeed; - TArray uservars; - int GetPlayerNum(); void apply_seasick();