@@ -65,6 +65,7 @@ set(HEADER_FILES
include/map/QGearsWalkmeshFile.h
include/map/QGearsWalkmeshFileManager.h
include/map/QGearsWalkmeshFileXMLSerializer.h
+ include/LuaIncludes.h
include/QGearsGameState.h
include/QGearsPrerequisites.h
include/core/particles/emitters/ParticlePointEmitter.h
@@ -0,0 +1,21 @@
+#pragma once
+
+// Wraps the LUA includes for platform specific build workarounds
+extern "C"
+{
+ #include <lua.h>
+ #include <lualib.h>
+ #include <lauxlib.h>
+}
+#ifdef __APPLE__
+// Something in the Apple headers seems to #define nil as __NULL
+// this then causes a build error in luabind:
+// luabind/nil.hpp:36:40: error: expected unqualified-id
+// extern LUABIND_API detail::nil_type nil;
+#undef nil
+#endif
+#include <luabind/luabind.hpp>
+#include <luabind/yield_policy.hpp>
@@ -5,16 +5,10 @@
#include <OgreString.h>
#include "Event.h"
-extern "C"
-{
- #include <lua.h>
-}
-#include <luabind/luabind.hpp>
+#include "LuaIncludes.h"
class Entity;
-
struct ScriptId
{
ScriptId(): entity( "" ), function( "" ){}
@@ -8,15 +8,7 @@
#include "core/Timer.h"
#include "core/Utilites.h"
#include "core/XmlScriptsFile.h"
- #include <lualib.h>
- #include <lauxlib.h>
-#include <luabind/yield_policy.hpp>
ConfigVar cv_debug_script( "debug_script", "Debug script flags. 0x01 - System, 0x02 - Entity, 0x04 - Ui.", "0" );