From 5011b10549b7812be5616b22a8f148d8aba426b3 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Sun, 11 Oct 2020 15:34:18 +1100 Subject: [PATCH] - binaryangle.h/cpp: Inline the functions created in 271eb1c3fa33de45bbf62ed80e4b7f64a3d87ec1. No real need to have a separate file for these. --- source/CMakeLists.txt | 1 - source/core/binaryangle.cpp | 52 ------------------------------------- source/core/binaryangle.h | 14 ++++++++++ 3 files changed, 14 insertions(+), 53 deletions(-) delete mode 100644 source/core/binaryangle.cpp diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 2940c7311..671c1d117 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -773,7 +773,6 @@ set (PCH_SOURCES core/movie/playmve.cpp core/automap.cpp - core/binaryangle.cpp core/cheats.cpp core/cheathandler.cpp core/mathutil.cpp diff --git a/source/core/binaryangle.cpp b/source/core/binaryangle.cpp deleted file mode 100644 index 537b206be..000000000 --- a/source/core/binaryangle.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* -** binaryangle.cpp -** -** type safe representations of high precision angle and horizon values. -** Angle uses natural 32 bit overflow to clamp to one rotation. -** -**--------------------------------------------------------------------------- -** Copyright 2020 Christoph Oelckers -** All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions -** are met: -** -** 1. Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** 2. Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in the -** documentation and/or other materials provided with the distribution. -** 3. The name of the author may not be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -**--------------------------------------------------------------------------- -** -*/ - -#include "binaryangle.h" - -FSerializer &Serialize(FSerializer &arc, const char *key, binangle &obj, binangle *defval) -{ - return Serialize(arc, key, obj.value, defval ? &defval->value : nullptr); -} - -FSerializer &Serialize(FSerializer &arc, const char *key, lookangle &obj, lookangle *defval) -{ - return Serialize(arc, key, obj.value, defval ? &defval->value : nullptr); -} - -FSerializer &Serialize(FSerializer &arc, const char *key, fixedhoriz &obj, fixedhoriz *defval) -{ - return Serialize(arc, key, obj.value, defval ? &defval->value : nullptr); -} diff --git a/source/core/binaryangle.h b/source/core/binaryangle.h index f7ed7c566..cc3b65f9f 100644 --- a/source/core/binaryangle.h +++ b/source/core/binaryangle.h @@ -297,3 +297,17 @@ inline constexpr fixedhoriz buildhoriz(int v) { return fixedhoriz(IntToFixed(v)) inline fixedhoriz pitchhoriz(double v) { return fixedhoriz(PitchToHoriz(v)); } inline fixedhoriz bamhoriz(int32_t v) { return pitchhoriz(BAMToPitch(v)); } +inline FSerializer &Serialize(FSerializer &arc, const char *key, binangle &obj, binangle *defval) +{ + return Serialize(arc, key, obj.value, defval ? &defval->value : nullptr); +} + +inline FSerializer &Serialize(FSerializer &arc, const char *key, lookangle &obj, lookangle *defval) +{ + return Serialize(arc, key, obj.value, defval ? &defval->value : nullptr); +} + +inline FSerializer &Serialize(FSerializer &arc, const char *key, fixedhoriz &obj, fixedhoriz *defval) +{ + return Serialize(arc, key, obj.value, defval ? &defval->value : nullptr); +}