From a219ed3e5d7b3b52f654883da30697326d87d222 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 5 Feb 2022 10:47:50 +0100 Subject: [PATCH] - added position utilities to player_struct. --- source/games/duke/src/types.h | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/source/games/duke/src/types.h b/source/games/duke/src/types.h index 465332cb94c..dc29e537210 100644 --- a/source/games/duke/src/types.h +++ b/source/games/duke/src/types.h @@ -358,6 +358,43 @@ struct player_struct return cursector != nullptr; } + void backuppos() + { + __int_opos = __int_pos; + } + + void restorepos() + { + __int_pos = __int_opos; + } + + void backupxy() + { + __int_opos.X = __int_pos.X; + __int_opos.Y = __int_pos.Y; + } + + void backupz() + { + __int_opos.Z = __int_pos.Z; + } + + void setbobpos() + { + bobpos = __int_pos.vec2; + } + + void getposfromactor(DCoreActor* actor, double addz = 0) + { + __int_pos = actor->int_pos(); + if (addz) __int_pos.Z += int(addz * worldtoint); + } + + void getxyfromactor(DCoreActor* actor) + { + __int_pos.X = actor->int_pos().X; + __int_pos.Y = actor->int_pos().Y; + } vec3_t player_int_pos() const {