Further header & precompiled cleanup, fix no-PCH builds.

GUIObjectBase is made a IGUIObject* to avoid including those headers
un-necessarily. Subsequent diffs ought to clean up the various of
pointers for that with a similar type with reference semantics.

Also:
- Add standard C and C++ headers (mostly cstring for memcpy, string and
vector) where needed.
- Swap out some includes for forward declarations
- Clean up un-necessary boost includes in precompiled and other headers.
- Clean up precompiled headers, including fewer things.
- Move ACPI to the windows-specific folder as it's included there only
and mostly specific to that platform.

Thanks Stan for the testing.

Differential Revision: https://code.wildfiregames.com/D3129
This was SVN commit r24352.
This commit is contained in:
wraitii
2020-12-09 14:39:14 +00:00
parent 715f441fbb
commit 369c2e8801
124 changed files with 346 additions and 195 deletions
+4 -3
View File
@@ -24,7 +24,6 @@
#include "scriptinterface/ScriptExceptions.h"
#include "scriptinterface/ScriptTypes.h"
#include <boost/random/linear_congruential.hpp>
#include <map>
ERROR_GROUP(Scripting);
@@ -59,6 +58,8 @@ class ScriptContext;
// use their own threads and also their own contexts.
extern thread_local shared_ptr<ScriptContext> g_ScriptContext;
namespace boost { namespace random { class rand48; } }
/**
* RAII structure which encapsulates an access to the context and compartment of a ScriptInterface.
* This struct provides:
@@ -140,7 +141,7 @@ public:
/**
* Replace the default JS random number geenrator with a seeded, network-sync'd one.
*/
bool ReplaceNondeterministicRNG(boost::rand48& rng);
bool ReplaceNondeterministicRNG(boost::random::rand48& rng);
/**
* Call a constructor function, equivalent to JS "new ctor(arg)".
@@ -449,7 +450,7 @@ private:
// members have to be called before the custom destructor of ScriptInterface_impl.
std::unique_ptr<ScriptInterface_impl> m;
boost::rand48* m_rng;
boost::random::rand48* m_rng;
std::map<std::string, CustomType> m_CustomObjectTypes;
// The nasty macro/template bits are split into a separate file so you don't have to look at them