From 341df6fbb7cb2001939a7ca51f88912d29345a37 Mon Sep 17 00:00:00 2001 From: Maxim Therrien Date: Wed, 30 Mar 2022 16:53:58 -0400 Subject: [PATCH] Remove modelattach from API, fixes #207 --- src/engine/interface/ui.cpp | 1 + src/engine/model/animmodel.cpp | 1 + src/engine/render/rendermodel.h | 2 ++ src/engine/world/entities.cpp | 1 + src/engine/world/octaworld.h | 16 ++++++++++++++++ 5 files changed, 21 insertions(+) diff --git a/src/engine/interface/ui.cpp b/src/engine/interface/ui.cpp index e724caa82..4cc021dc0 100644 --- a/src/engine/interface/ui.cpp +++ b/src/engine/interface/ui.cpp @@ -22,6 +22,7 @@ #include "world/entities.h" #include "world/octaedit.h" +#include "world/octaworld.h" #include "world/bih.h" #include "render/hud.h" diff --git a/src/engine/model/animmodel.cpp b/src/engine/model/animmodel.cpp index af8f6746c..87489d4d9 100644 --- a/src/engine/model/animmodel.cpp +++ b/src/engine/model/animmodel.cpp @@ -30,6 +30,7 @@ #include "model.h" #include "ragdoll.h" #include "animmodel.h" +#include "world/octaworld.h" //animmodel VARP(fullbrightmodels, 0, 0, 200); //sets minimum amount of brightness for a model: 200 is 100% brightness diff --git a/src/engine/render/rendermodel.h b/src/engine/render/rendermodel.h index 264357da0..dee078a11 100644 --- a/src/engine/render/rendermodel.h +++ b/src/engine/render/rendermodel.h @@ -1,6 +1,8 @@ #ifndef RENDERMODEL_H_ #define RENDERMODEL_H_ +#include "world/octaworld.h" + struct mapmodelinfo { string name; model *m, *collide; }; extern std::vector mapmodels; diff --git a/src/engine/world/entities.cpp b/src/engine/world/entities.cpp index a514f2639..9313d9914 100644 --- a/src/engine/world/entities.cpp +++ b/src/engine/world/entities.cpp @@ -15,6 +15,7 @@ #include "model/model.h" #include "model/ragdoll.h" +#include "octaworld.h" //extentity diff --git a/src/engine/world/octaworld.h b/src/engine/world/octaworld.h index a9a83e50d..6b016fceb 100644 --- a/src/engine/world/octaworld.h +++ b/src/engine/world/octaworld.h @@ -66,6 +66,22 @@ struct octaentities } }; + +/** + * @brief A representation of a model attachment (e.g. weapon to player). + */ +struct modelattach final +{ + const char *tag, *name; + int anim, basetime; + vec *pos; + model *m; + + modelattach(); + modelattach(const char *tag, const char *name, int anim = -1, int basetime = 0); + modelattach(const char *tag, vec *pos); +}; + enum { Occlude_Nothing = 0,