Skip to content

Commit c108f5a

Browse files
committed
WIP of xrAI and xrSE_Factory. Added the ability to use an external scripting engine for xrSE_Factory. Need testing.
1 parent 7a5216c commit c108f5a

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

src/utils/xrSE_Factory/ai_space.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ void CAI_Space::init()
5151
{
5252
VERIFY(!m_script_engine);
5353
VERIFY(!GEnv.ScriptEngine);
54-
GEnv.ScriptEngine = m_script_engine = new CScriptEngine();
54+
GEnv.ScriptEngine = m_script_engine = new CScriptEngine(true);
5555
XRay::ScriptExporter::Reset(); // mark all nodes as undone
5656
m_script_engine->init(XRay::ScriptExporter::Export, true);
5757
RegisterScriptClasses();

src/xrScriptEngine/ScriptEngineScript.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,7 @@ void verify_if_thread_is_running()
6868

6969
bool is_editor()
7070
{
71-
#ifdef EDITOR
72-
return true;
73-
#else
74-
return false;
75-
#endif
71+
return GEnv.ScriptEngine->is_editor();
7672
}
7773

7874
inline int bit_and(const int i, const int j) { return i & j; }

src/xrScriptEngine/script_engine.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ void CScriptEngine::disconnect_from_debugger()
697697
}
698698
#endif
699699

700-
CScriptEngine::CScriptEngine()
700+
CScriptEngine::CScriptEngine(bool is_editor)
701701
{
702702
luabind::allocator = &luabind_allocator;
703703
luabind::allocator_context = nullptr;
@@ -720,6 +720,7 @@ CScriptEngine::CScriptEngine()
720720
m_lua_studio_engine = nullptr;
721721
#endif
722722
#endif
723+
m_is_editor = is_editor;
723724
}
724725

725726
CScriptEngine::~CScriptEngine()
@@ -1218,3 +1219,8 @@ void CScriptEngine::DestroyScriptThread(const CScriptThread* thread)
12181219
}
12191220
UnregisterState(thread->lua());
12201221
}
1222+
1223+
bool CScriptEngine::is_editor()
1224+
{
1225+
return m_is_editor;
1226+
}

src/xrScriptEngine/script_engine.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class XRSCRIPTENGINE_API CScriptEngine
8686
bool bindingsDumped = false;
8787
char* scriptBuffer = nullptr;
8888
size_t scriptBufferSize = 0;
89+
bool m_is_editor;
8990

9091
protected:
9192
CScriptProcessStorage m_script_processes;
@@ -148,7 +149,7 @@ class XRSCRIPTENGINE_API CScriptEngine
148149
void print_stack();
149150

150151
using ExporterFunc = XRay::ScriptExporter::Node::ExporterFunc;
151-
CScriptEngine();
152+
CScriptEngine(bool is_editor = false);
152153
virtual ~CScriptEngine();
153154
void init(ExporterFunc exporterFunc, bool loadGlobalNamespace);
154155
virtual void unload();
@@ -194,6 +195,7 @@ class XRSCRIPTENGINE_API CScriptEngine
194195
CScriptThread* CreateScriptThread(LPCSTR caNamespaceName, bool do_string = false, bool reload = false);
195196
// This function is called from CScriptThread destructor
196197
void DestroyScriptThread(const CScriptThread* thread);
198+
bool is_editor();
197199
};
198200

199201
template <typename TResult>

0 commit comments

Comments
 (0)