diff --git a/binaries/data/mods/public/gui/options/options.xml b/binaries/data/mods/public/gui/options/options.xml index 6c2622b798..6870c157c3 100644 --- a/binaries/data/mods/public/gui/options/options.xml +++ b/binaries/data/mods/public/gui/options/options.xml @@ -28,22 +28,22 @@ Enable Shadows - if (renderer.shadows) this.checked = true; else this.checked = false; - renderer.shadows = this.checked; + this.checked = Engine.Renderer_GetShadowsEnabled(); + Engine.Renderer_SetShadowsEnabled(this.checked); Enable Shadow Filtering - if (renderer.shadowPCF) this.checked = true; else this.checked = false; - renderer.shadowPCF = this.checked; + this.checked = Engine.Renderer_GetShadowPCFEnabled(); + Engine.Renderer_SetShadowPCFEnabled(this.checked); diff --git a/binaries/data/mods/public/gui/pregame/mainmenu.js b/binaries/data/mods/public/gui/pregame/mainmenu.js index fc409326ce..43d1f4a01e 100644 --- a/binaries/data/mods/public/gui/pregame/mainmenu.js +++ b/binaries/data/mods/public/gui/pregame/mainmenu.js @@ -162,7 +162,7 @@ function onTick() Engine.PushGuiPage("page_splashscreen.xml", { "page": "splashscreen" } ); // Warn about removing fixed render path - if (renderer.renderpath == "fixed") + if (Engine.Renderer_GetRenderPath() == "fixed") messageBox( 600, 300, diff --git a/binaries/data/mods/public/gui/session/session.xml b/binaries/data/mods/public/gui/session/session.xml index 9e649f5ced..d5b335333e 100644 --- a/binaries/data/mods/public/gui/session/session.xml +++ b/binaries/data/mods/public/gui/session/session.xml @@ -64,14 +64,18 @@ - renderer.silhouettes = !renderer.silhouettes; - getGUIObjectByName("silhouettesCheckbox").checked = renderer.silhouettes; + var newSetting = !Engine.Renderer_GetSilhouettesEnabled(); + Engine.Renderer_SetSilhouettesEnabled(newSetting); + getGUIObjectByName("silhouettesCheckbox").checked = newSetting; - renderer.showsky = !renderer.showsky; + + var newSetting = !Engine.Renderer_GetShowSkyEnabled(); + Engine.Renderer_SetShowSkyEnabled(newSetting); + @@ -450,78 +454,78 @@ Enable Shadows - if (renderer.shadows) this.checked = true; else this.checked = false; - renderer.shadows = this.checked; + this.checked = Engine.Renderer_GetShadowsEnabled(); + Engine.Renderer_SetShadowsEnabled(this.checked); Enable Shadow Filtering - if (renderer.shadowPCF) this.checked = true; else this.checked = false; - renderer.shadowPCF = this.checked; + this.checked = Engine.Renderer_GetShadowPCFEnabled(); + Engine.Renderer_SetShadowPCFEnabled(this.checked); Water - HQ Waviness - if (renderer.waternormal) this.checked = true; else this.checked = false; - renderer.waternormal = this.checked; + this.checked = Engine.Renderer_GetWaterNormalEnabled(); + Engine.Renderer_SetWaterNormalEnabled(this.checked); Water - Use Actual Depth - if (renderer.waterrealdepth) this.checked = true; else this.checked = false; - renderer.waterrealdepth = this.checked; + this.checked = Engine.Renderer_GetWaterRealDepthEnabled(); + Engine.Renderer_SetWaterRealDepthEnabled(this.checked); Water - Enable Reflections - if (renderer.waterreflection) this.checked = true; else this.checked = false; - renderer.waterreflection = this.checked; + this.checked = Engine.Renderer_GetWaterReflectionEnabled(); + Engine.Renderer_SetWaterReflectionEnabled(this.checked); Water - Enable Refraction - if (renderer.waterrefraction) this.checked = true; else this.checked = false; - renderer.waterrefraction = this.checked; + this.checked = Engine.Renderer_GetWaterRefractionEnabled(); + Engine.Renderer_SetWaterRefractionEnabled(this.checked); Water - Enable Shore Foam - if (renderer.waterfoam) this.checked = true; else this.checked = false; - renderer.waterfoam = this.checked; + this.checked = Engine.Renderer_GetWaterFoamEnabled(); + Engine.Renderer_SetWaterFoamEnabled(this.checked); Water - Enable Shore Waves - if (renderer.watercoastalwaves) this.checked = true; else this.checked = false; - renderer.watercoastalwaves = this.checked; + this.checked = Engine.Renderer_GetWaterCoastalWavesEnabled(); + Engine.Renderer_SetWaterCoastalWavesEnabled(this.checked); Water - Use Surface Shadows - if (renderer.watershadow) this.checked = true; else this.checked = false; - renderer.watershadow = this.checked; + if (Engine.Renderer_GetWaterShadowEnabled()) this.checked = true; else this.checked = false; + Engine.Renderer_SetWaterShadowEnabled(this.checked); Enable Particles - if (renderer.particles) this.checked = true; else this.checked = false; - renderer.particles = this.checked; + this.checked = Engine.Renderer_GetParticlesEnabled(); + Engine.Renderer_SetParticlesEnabled(this.checked); Enable Unit Silhouettes - if (renderer.silhouettes) this.checked = true; else this.checked = false; - renderer.silhouettes = this.checked; + this.checked = Engine.Renderer_GetSilhouettesEnabled(); + Engine.Renderer_SetSilhouettesEnabled(this.checked); diff --git a/build/premake/premake4.lua b/build/premake/premake4.lua index ca44bd7f97..786110bdec 100644 --- a/build/premake/premake4.lua +++ b/build/premake/premake4.lua @@ -600,6 +600,7 @@ function setup_all_libs () "graphics", "graphics/scripting", "renderer", + "renderer/scripting", "third_party/mikktspace" } extern_libs = { diff --git a/source/gui/scripting/ScriptFunctions.cpp b/source/gui/scripting/ScriptFunctions.cpp index bb7fd377c0..266d4ac46f 100644 --- a/source/gui/scripting/ScriptFunctions.cpp +++ b/source/gui/scripting/ScriptFunctions.cpp @@ -45,6 +45,7 @@ #include "ps/GameSetup/Atlas.h" #include "ps/GameSetup/Config.h" #include "ps/ConfigDB.h" +#include "renderer/scripting/JSInterface_Renderer.h" #include "tools/atlas/GameInterface/GameLoop.h" #include "simulation2/Simulation2.h" @@ -652,6 +653,7 @@ void SetBoundingBoxDebugOverlay(void* UNUSED(cbdata), bool enabled) void GuiScriptingInit(ScriptInterface& scriptInterface) { JSI_GameView::RegisterScriptFunctions(scriptInterface); + JSI_Renderer::RegisterScriptFunctions(scriptInterface); // GUI manager functions: scriptInterface.RegisterFunction("GetActiveGui"); diff --git a/source/ps/GameSetup/GameSetup.cpp b/source/ps/GameSetup/GameSetup.cpp index f01f325730..c89c648e08 100644 --- a/source/ps/GameSetup/GameSetup.cpp +++ b/source/ps/GameSetup/GameSetup.cpp @@ -321,9 +321,6 @@ static void RegisterJavascriptInterfaces() // maths JSI_Vector3D::init(); - // renderer - CRenderer::ScriptingInit(); - // ps JSI_Console::init(); @@ -1344,7 +1341,7 @@ void CancelLoad(const CStrW& message) JSBool ok = JS_GetProperty(cx, g_GUI->GetScriptObject(), "cancelOnError", &fval); ENSURE(ok); - jsval msgval = ToJSVal(message); + jsval msgval = ScriptInterface::ToJSVal(cx, message); if (ok && !JSVAL_IS_VOID(fval)) JS_CallFunctionValue(cx, g_GUI->GetScriptObject(), fval, 1, &msgval, &rval); diff --git a/source/renderer/Renderer.cpp b/source/renderer/Renderer.cpp index 4cff27e98f..9a903fe976 100644 --- a/source/renderer/Renderer.cpp +++ b/source/renderer/Renderer.cpp @@ -472,25 +472,6 @@ CRenderer::CRenderer() m_hCompositeAlphaMap = 0; m_Stats.Reset(); - AddLocalProperty(L"particles", &m_Options.m_Particles, false); - - AddLocalProperty(L"waternormal", &m_Options.m_WaterNormal, false); - AddLocalProperty(L"waterrealdepth", &m_Options.m_WaterRealDepth, false); - AddLocalProperty(L"waterreflection", &m_Options.m_WaterReflection, false); - AddLocalProperty(L"waterrefraction", &m_Options.m_WaterRefraction, false); - AddLocalProperty(L"waterfoam", &m_Options.m_WaterFoam, false); - AddLocalProperty(L"watercoastalwaves", &m_Options.m_WaterCoastalWaves, false); - AddLocalProperty(L"watershadow", &m_Options.m_WaterShadow, false); - - AddLocalProperty(L"horizonHeight", &m->skyManager.m_HorizonHeight, false); - AddLocalProperty(L"waterMurkiness", &m->waterManager.m_Murkiness, false); - AddLocalProperty(L"waterReflTintStrength", &m->waterManager.m_ReflectionTintStrength, false); - AddLocalProperty(L"waterRepeatPeriod", &m->waterManager.m_RepeatPeriod, false); - AddLocalProperty(L"waterShininess", &m->waterManager.m_Shininess, false); - AddLocalProperty(L"waterSpecularStrength", &m->waterManager.m_SpecularStrength, false); - AddLocalProperty(L"waterWaviness", &m->waterManager.m_Waviness, false); - AddLocalProperty(L"silhouettes", &m_Options.m_Silhouettes, false); - AddLocalProperty(L"showsky", &m_Options.m_ShowSky, false); RegisterFileReloadFunc(ReloadChangedFileCB, this); } @@ -721,6 +702,10 @@ void CRenderer::SetOptionBool(enum Option opt,bool value) case OPT_PARTICLES: m_Options.m_Particles = value; break; + case OPT_PREFERGLSL: + m_Options.m_PreferGLSL = value; + MakeShadersDirty(); + break; case OPT_SILHOUETTES: m_Options.m_Silhouettes = value; break; @@ -760,6 +745,8 @@ bool CRenderer::GetOptionBool(enum Option opt) const return m_Options.m_ShadowPCF; case OPT_PARTICLES: return m_Options.m_Particles; + case OPT_PREFERGLSL: + return m_Options.m_PreferGLSL; case OPT_SILHOUETTES: return m_Options.m_Silhouettes; case OPT_SHOWSKY: @@ -1983,115 +1970,6 @@ void CRenderer::MakeShadersDirty() m->ShadersDirty = true; } -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Scripting Interface - -jsval CRenderer::JSI_GetRenderPath(JSContext*) -{ - return ToJSVal(GetRenderPathName(m_Options.m_RenderPath)); -} - -void CRenderer::JSI_SetRenderPath(JSContext* ctx, jsval newval) -{ - CStr name; - - if (!ToPrimitive(ctx, newval, name)) - return; - - SetRenderPath(GetRenderPathByName(name)); -} - -jsval CRenderer::JSI_GetDepthTextureBits(JSContext*) -{ - return ToJSVal(m->shadow.GetDepthTextureBits()); -} - -void CRenderer::JSI_SetDepthTextureBits(JSContext* ctx, jsval newval) -{ - int depthTextureBits; - - if (!ToPrimitive(ctx, newval, depthTextureBits)) - return; - - m->shadow.SetDepthTextureBits(depthTextureBits); -} - -jsval CRenderer::JSI_GetShadows(JSContext*) -{ - return ToJSVal(m_Options.m_Shadows); -} - -void CRenderer::JSI_SetShadows(JSContext* ctx, jsval newval) -{ - ToPrimitive(ctx, newval, m_Options.m_Shadows); - ReloadShaders(); -} - -jsval CRenderer::JSI_GetShadowAlphaFix(JSContext*) -{ - return ToJSVal(m_Options.m_ShadowAlphaFix); -} - -void CRenderer::JSI_SetShadowAlphaFix(JSContext* ctx, jsval newval) -{ - if (!ToPrimitive(ctx, newval, m_Options.m_ShadowAlphaFix)) - return; - - m->shadow.RecreateTexture(); -} - -jsval CRenderer::JSI_GetShadowPCF(JSContext*) -{ - return ToJSVal(m_Options.m_ShadowPCF); -} - -void CRenderer::JSI_SetShadowPCF(JSContext* ctx, jsval newval) -{ - ToPrimitive(ctx, newval, m_Options.m_ShadowPCF); - ReloadShaders(); -} - -jsval CRenderer::JSI_GetPreferGLSL(JSContext*) -{ - return ToJSVal(m_Options.m_PreferGLSL); -} - -void CRenderer::JSI_SetPreferGLSL(JSContext* ctx, jsval newval) -{ - ToPrimitive(ctx, newval, m_Options.m_PreferGLSL); - ReloadShaders(); -} - -jsval CRenderer::JSI_GetSky(JSContext*) -{ - return ToJSVal(m->skyManager.GetSkySet()); -} - -void CRenderer::JSI_SetSky(JSContext* ctx, jsval newval) -{ - CStrW skySet; - if (!ToPrimitive(ctx, newval, skySet)) return; - m->skyManager.SetSkySet(skySet); -} - -void CRenderer::ScriptingInit() -{ - AddProperty(L"renderpath", &CRenderer::JSI_GetRenderPath, &CRenderer::JSI_SetRenderPath); - AddProperty(L"displayFrustum", &CRenderer::m_DisplayFrustum); - AddProperty(L"shadowZBias", &CRenderer::m_ShadowZBias); - AddProperty(L"shadowMapSize", &CRenderer::m_ShadowMapSize); - AddProperty(L"shadows", &CRenderer::JSI_GetShadows, &CRenderer::JSI_SetShadows); - AddProperty(L"depthTextureBits", &CRenderer::JSI_GetDepthTextureBits, &CRenderer::JSI_SetDepthTextureBits); - AddProperty(L"shadowAlphaFix", &CRenderer::JSI_GetShadowAlphaFix, &CRenderer::JSI_SetShadowAlphaFix); - AddProperty(L"shadowPCF", &CRenderer::JSI_GetShadowPCF, &CRenderer::JSI_SetShadowPCF); - AddProperty(L"preferGLSL", &CRenderer::JSI_GetPreferGLSL, &CRenderer::JSI_SetPreferGLSL); - AddProperty(L"skipSubmit", &CRenderer::m_SkipSubmit); - AddProperty(L"skySet", &CRenderer::JSI_GetSky, &CRenderer::JSI_SetSky); - - CJSObject::ScriptingInit("Renderer"); -} - - CTextureManager& CRenderer::GetTextureManager() { return m->textureManager; diff --git a/source/renderer/Renderer.h b/source/renderer/Renderer.h index 3e0b5b97fb..6f60f760a2 100644 --- a/source/renderer/Renderer.h +++ b/source/renderer/Renderer.h @@ -28,11 +28,11 @@ #include "graphics/ShaderProgram.h" #include "lib/res/handle.h" #include "ps/Singleton.h" -#include "scripting/ScriptableObject.h" #include "renderer/PostprocManager.h" #include "renderer/Scene.h" #include "renderer/TimeManager.h" +#include "scriptinterface/ScriptInterface.h" // necessary declarations class CLightEnv; @@ -71,7 +71,6 @@ struct CRendererInternals; class CRenderer : public Singleton, - public CJSObject, private SceneCollector { public: @@ -89,6 +88,7 @@ public: OPT_WATERSHADOW, OPT_SHADOWPCF, OPT_PARTICLES, + OPT_PREFERGLSL, OPT_SILHOUETTES, OPT_SHOWSKY }; @@ -317,7 +317,7 @@ public: */ const Caps& GetCapabilities() const { return m_Caps; } - static void ScriptingInit(); + static void RegisterScriptFunctions(ScriptInterface& scriptInterface); protected: friend struct CRendererInternals; @@ -335,24 +335,6 @@ protected: friend class ShaderInstancingModelRenderer; friend class TerrainRenderer; - // scripting - // TODO: Perhaps we could have a version of AddLocalProperty for function-driven - // properties? Then we could hide these function in the private implementation class. - jsval JSI_GetRenderPath(JSContext*); - void JSI_SetRenderPath(JSContext* ctx, jsval newval); - jsval JSI_GetDepthTextureBits(JSContext*); - void JSI_SetDepthTextureBits(JSContext* ctx, jsval newval); - jsval JSI_GetShadows(JSContext*); - void JSI_SetShadows(JSContext* ctx, jsval newval); - jsval JSI_GetShadowAlphaFix(JSContext*); - void JSI_SetShadowAlphaFix(JSContext* ctx, jsval newval); - jsval JSI_GetShadowPCF(JSContext*); - void JSI_SetShadowPCF(JSContext* ctx, jsval newval); - jsval JSI_GetPreferGLSL(JSContext*); - void JSI_SetPreferGLSL(JSContext* ctx, jsval newval); - jsval JSI_GetSky(JSContext*); - void JSI_SetSky(JSContext* ctx, jsval newval); - //BEGIN: Implementation of SceneCollector void Submit(CPatch* patch); void Submit(SOverlayLine* overlay); diff --git a/source/renderer/scripting/JSInterface_Renderer.cpp b/source/renderer/scripting/JSInterface_Renderer.cpp new file mode 100644 index 0000000000..88331d1ca5 --- /dev/null +++ b/source/renderer/scripting/JSInterface_Renderer.cpp @@ -0,0 +1,85 @@ +/* Copyright (C) 2013 Wildfire Games. + * This file is part of 0 A.D. + * + * 0 A.D. is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * 0 A.D. is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with 0 A.D. If not, see . + */ + +#include "precompiled.h" + +#include "JSInterface_Renderer.h" +#include "renderer/Renderer.h" + +#define IMPLEMENT_BOOLEAN_SCRIPT_SETTING(NAME, SCRIPTNAME) \ +bool JSI_Renderer::Get##SCRIPTNAME##Enabled(void* UNUSED(cbdata)) \ +{ \ + return g_Renderer.GetOptionBool(CRenderer::OPT_##NAME); \ +} \ +\ +void JSI_Renderer::Set##SCRIPTNAME##Enabled(void* UNUSED(cbdata), bool Enabled) \ +{ \ + g_Renderer.SetOptionBool(CRenderer::OPT_##NAME, Enabled); \ +} + +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(PARTICLES, Particles); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(PREFERGLSL, PreferGLSL); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERNORMAL, WaterNormal); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SHADOWPCF, ShadowPCF); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SHADOWS, Shadows); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERREALDEPTH, WaterRealDepth); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERREFLECTION, WaterReflection); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERREFRACTION, WaterRefraction); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERFOAM, WaterFoam); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERCOASTALWAVES, WaterCoastalWaves); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERSHADOW, WaterShadow); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SILHOUETTES, Silhouettes); +IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SHOWSKY, ShowSky); + +#undef IMPLEMENT_BOOLEAN_SCRIPT_SETTING + +std::string JSI_Renderer::GetRenderPath(void* UNUSED(cbdata)) +{ + return CRenderer::GetRenderPathName(g_Renderer.GetRenderPath()); +} + +void JSI_Renderer::SetRenderPath(void* UNUSED(cbdata), std::string name) +{ + g_Renderer.SetRenderPath(CRenderer::GetRenderPathByName(name)); +} + + +#define REGISTER_BOOLEAN_SCRIPT_SETTING(NAME) \ +scriptInterface.RegisterFunction("Renderer_Get" #NAME "Enabled"); \ +scriptInterface.RegisterFunction("Renderer_Set" #NAME "Enabled"); + +void JSI_Renderer::RegisterScriptFunctions(ScriptInterface& scriptInterface) +{ + scriptInterface.RegisterFunction("Renderer_GetRenderPath"); + scriptInterface.RegisterFunction("Renderer_SetRenderPath"); + REGISTER_BOOLEAN_SCRIPT_SETTING(Shadows); + REGISTER_BOOLEAN_SCRIPT_SETTING(ShadowPCF); + REGISTER_BOOLEAN_SCRIPT_SETTING(Particles); + REGISTER_BOOLEAN_SCRIPT_SETTING(PreferGLSL); + REGISTER_BOOLEAN_SCRIPT_SETTING(WaterNormal); + REGISTER_BOOLEAN_SCRIPT_SETTING(WaterRealDepth); + REGISTER_BOOLEAN_SCRIPT_SETTING(WaterReflection); + REGISTER_BOOLEAN_SCRIPT_SETTING(WaterRefraction); + REGISTER_BOOLEAN_SCRIPT_SETTING(WaterFoam); + REGISTER_BOOLEAN_SCRIPT_SETTING(WaterCoastalWaves); + REGISTER_BOOLEAN_SCRIPT_SETTING(WaterShadow); + REGISTER_BOOLEAN_SCRIPT_SETTING(Silhouettes); + REGISTER_BOOLEAN_SCRIPT_SETTING(ShowSky); +} + +#undef REGISTER_BOOLEAN_SCRIPT_SETTING + diff --git a/source/renderer/scripting/JSInterface_Renderer.h b/source/renderer/scripting/JSInterface_Renderer.h new file mode 100644 index 0000000000..eca4afafbf --- /dev/null +++ b/source/renderer/scripting/JSInterface_Renderer.h @@ -0,0 +1,52 @@ +/* Copyright (C) 2013 Wildfire Games. + * This file is part of 0 A.D. + * + * 0 A.D. is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * 0 A.D. is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with 0 A.D. If not, see . + */ + + +#ifndef INCLUDED_JSINTERFACE_RENDERER +#define INCLUDED_JSINTERFACE_RENDERER + +class ScriptInterface; + +#define DECLARE_BOOLEAN_SCRIPT_SETTING(NAME) \ + bool Get##NAME##Enabled(void* cbdata); \ + void Set##NAME##Enabled(void* cbdata, bool Enabled); + +namespace JSI_Renderer +{ + std::string GetRenderPath(void* cbdata); + void SetRenderPath(void* cbdata, std::string name); + + DECLARE_BOOLEAN_SCRIPT_SETTING(Shadows); + DECLARE_BOOLEAN_SCRIPT_SETTING(ShadowPCF); + DECLARE_BOOLEAN_SCRIPT_SETTING(Particles); + DECLARE_BOOLEAN_SCRIPT_SETTING(PreferGLSL); + DECLARE_BOOLEAN_SCRIPT_SETTING(WaterNormal); + DECLARE_BOOLEAN_SCRIPT_SETTING(WaterRealDepth); + DECLARE_BOOLEAN_SCRIPT_SETTING(WaterReflection); + DECLARE_BOOLEAN_SCRIPT_SETTING(WaterRefraction); + DECLARE_BOOLEAN_SCRIPT_SETTING(WaterFoam); + DECLARE_BOOLEAN_SCRIPT_SETTING(WaterCoastalWaves); + DECLARE_BOOLEAN_SCRIPT_SETTING(WaterShadow); + DECLARE_BOOLEAN_SCRIPT_SETTING(Silhouettes); + DECLARE_BOOLEAN_SCRIPT_SETTING(ShowSky); + + void RegisterScriptFunctions(ScriptInterface& scriptInterface); +} + +#undef DECLARE_BOOLEAN_SCRIPT_SETTING + +#endif diff --git a/source/scripting/ScriptGlue.cpp b/source/scripting/ScriptGlue.cpp index db2a56906b..f946985f06 100644 --- a/source/scripting/ScriptGlue.cpp +++ b/source/scripting/ScriptGlue.cpp @@ -408,15 +408,6 @@ JSFunctionSpec ScriptFunctionTable[] = // property accessors //----------------------------------------------------------------------------- -JSBool GetRenderer(JSContext* UNUSED(cx), JSObject* UNUSED(obj), jsid UNUSED(id), jsval* vp) -{ - if (CRenderer::IsInitialised()) - *vp = OBJECT_TO_JSVAL(g_Renderer.GetScript()); - else - *vp = JSVAL_NULL; - return JS_TRUE; -} - enum ScriptGlobalTinyIDs { @@ -430,7 +421,6 @@ enum ScriptGlobalTinyIDs JSPropertySpec ScriptGlobalTable[] = { { "console" , GLOBAL_CONSOLE, JSPROP_PERMANENT|JSPROP_READONLY, JSI_Console::getConsole, 0 }, - { "renderer" , 0, JSPROP_PERMANENT|JSPROP_READONLY, GetRenderer, 0 }, // end of table marker { 0, 0, 0, 0, 0 }, diff --git a/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp index 78485ca081..161ba47ec6 100644 --- a/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp @@ -33,6 +33,7 @@ #include "ps/GameSetup/Config.h" #include "ps/GameSetup/GameSetup.h" #include "renderer/Renderer.h" +#include "scripting/ScriptingHost.h" extern void (*Atlas_GLSwapBuffers)(void* context);