Skip to content

Commit

Permalink
WIP of xrAI and xrSE_Factory. Added the ability to use an external sc…
Browse files Browse the repository at this point in the history
…ripting engine for xrSE_Factory. Need testing.
  • Loading branch information
intorr committed Jan 1, 2018
1 parent 7a5216c commit c108f5a
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/utils/xrSE_Factory/ai_space.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ void CAI_Space::init()
{
VERIFY(!m_script_engine);
VERIFY(!GEnv.ScriptEngine);
GEnv.ScriptEngine = m_script_engine = new CScriptEngine();
GEnv.ScriptEngine = m_script_engine = new CScriptEngine(true);
XRay::ScriptExporter::Reset(); // mark all nodes as undone
m_script_engine->init(XRay::ScriptExporter::Export, true);
RegisterScriptClasses();
Expand Down
6 changes: 1 addition & 5 deletions src/xrScriptEngine/ScriptEngineScript.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,7 @@ void verify_if_thread_is_running()

bool is_editor()
{
#ifdef EDITOR
return true;
#else
return false;
#endif
return GEnv.ScriptEngine->is_editor();
}

inline int bit_and(const int i, const int j) { return i & j; }
Expand Down
8 changes: 7 additions & 1 deletion src/xrScriptEngine/script_engine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -697,7 +697,7 @@ void CScriptEngine::disconnect_from_debugger()
}
#endif

CScriptEngine::CScriptEngine()
CScriptEngine::CScriptEngine(bool is_editor)
{
luabind::allocator = &luabind_allocator;
luabind::allocator_context = nullptr;
Expand All @@ -720,6 +720,7 @@ CScriptEngine::CScriptEngine()
m_lua_studio_engine = nullptr;
#endif
#endif
m_is_editor = is_editor;
}

CScriptEngine::~CScriptEngine()
Expand Down Expand Up @@ -1218,3 +1219,8 @@ void CScriptEngine::DestroyScriptThread(const CScriptThread* thread)
}
UnregisterState(thread->lua());
}

bool CScriptEngine::is_editor()
{
return m_is_editor;
}
4 changes: 3 additions & 1 deletion src/xrScriptEngine/script_engine.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ class XRSCRIPTENGINE_API CScriptEngine
bool bindingsDumped = false;
char* scriptBuffer = nullptr;
size_t scriptBufferSize = 0;
bool m_is_editor;

protected:
CScriptProcessStorage m_script_processes;
Expand Down Expand Up @@ -148,7 +149,7 @@ class XRSCRIPTENGINE_API CScriptEngine
void print_stack();

using ExporterFunc = XRay::ScriptExporter::Node::ExporterFunc;
CScriptEngine();
CScriptEngine(bool is_editor = false);
virtual ~CScriptEngine();
void init(ExporterFunc exporterFunc, bool loadGlobalNamespace);
virtual void unload();
Expand Down Expand Up @@ -194,6 +195,7 @@ class XRSCRIPTENGINE_API CScriptEngine
CScriptThread* CreateScriptThread(LPCSTR caNamespaceName, bool do_string = false, bool reload = false);
// This function is called from CScriptThread destructor
void DestroyScriptThread(const CScriptThread* thread);
bool is_editor();
};

template <typename TResult>
Expand Down

0 comments on commit c108f5a

Please sign in to comment.