Ticket #4087: replay_visual.patch

File replay_visual.patch, 3.0 KB (added by Imarok, 8 years ago)
  • binaries/data/mods/public/gui/session/session.js

     
    224224        Engine.SwitchGuiPage("page_pregame.xml");
    225225        return;
    226226    }
     227        g_GameAttributes = Engine.GetInitAttributes();
    227228
    228229    if (initData)
    229230    {
     
    230231        g_IsNetworked = initData.isNetworked;
    231232        g_IsController = initData.isController;
    232233        g_PlayerAssignments = initData.playerAssignments;
    233         g_GameAttributes = initData.attribs;
    234234        g_ReplaySelectionData = initData.replaySelectionData;
    235235        g_HasRejoined = initData.isRejoining;
    236236
  • source/gui/scripting/ScriptFunctions.cpp

     
    510510    return settings;
    511511}
    512512
     513JS::Value GetInitAttributes(ScriptInterface::CxPrivate* pCxPrivate)
     514{
     515    if (!g_Game)
     516        return JS::UndefinedValue();
     517
     518    JSContext* cx = g_Game->GetSimulation2()->GetScriptInterface().GetContext();
     519    JSAutoRequest rq(cx);
     520
     521    JS::RootedValue initAttribs(cx);
     522    g_Game->GetSimulation2()->GetInitAttributes(&initAttribs);
     523    return pCxPrivate->pScriptInterface->CloneValueFromOtherContext(
     524        g_Game->GetSimulation2()->GetScriptInterface(),
     525        initAttribs);
     526}
     527
    513528/**
    514529 * Get the current X coordinate of the camera.
    515530 */
     
    10551070    scriptInterface.RegisterFunction<bool, &AtlasIsAvailable>("AtlasIsAvailable");
    10561071    scriptInterface.RegisterFunction<bool, &IsAtlasRunning>("IsAtlasRunning");
    10571072    scriptInterface.RegisterFunction<JS::Value, VfsPath, &LoadMapSettings>("LoadMapSettings");
     1073    scriptInterface.RegisterFunction<JS::Value, &GetInitAttributes>("GetInitAttributes");
    10581074    scriptInterface.RegisterFunction<float, &CameraGetX>("CameraGetX");
    10591075    scriptInterface.RegisterFunction<float, &CameraGetZ>("CameraGetZ");
    10601076    scriptInterface.RegisterFunction<void, entity_id_t, &CameraFollow>("CameraFollow");
  • source/simulation2/Simulation2.cpp

     
    748748    return m->m_InitAttributes.get();
    749749}
    750750
     751void CSimulation2::GetInitAttributes(JS::MutableHandleValue ret)
     752{
     753    ret.set(m->m_InitAttributes);
     754}
     755
    751756void CSimulation2::SetMapSettings(const std::string& settings)
    752757{
    753758    m->m_ComponentManager.GetScriptInterface().ParseJSON(settings, &m->m_MapSettings);
  • source/simulation2/Simulation2.h

     
    103103     * Get the data passed to SetInitAttributes.
    104104     */
    105105    JS::Value GetInitAttributes();
     106    void GetInitAttributes(JS::MutableHandleValue ret);
    106107
    107108    /**
    108109     * Set the initial map settings (as a UTF-8-encoded JSON string),