mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-04 21:40:03 +00:00
Merge branch 'script_run' into 'master'
Pass path to startup script as std::filesystem::path See merge request OpenMW/openmw!3002
This commit is contained in:
commit
61691da512
@ -1011,7 +1011,7 @@ void OMW::Engine::setScriptConsoleMode(bool enabled)
|
|||||||
mScriptConsoleMode = enabled;
|
mScriptConsoleMode = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OMW::Engine::setStartupScript(const std::string& path)
|
void OMW::Engine::setStartupScript(const std::filesystem::path& path)
|
||||||
{
|
{
|
||||||
mStartupScript = path;
|
mStartupScript = path;
|
||||||
}
|
}
|
||||||
|
@ -165,7 +165,7 @@ namespace OMW
|
|||||||
int mWarningsMode;
|
int mWarningsMode;
|
||||||
std::string mFocusName;
|
std::string mFocusName;
|
||||||
bool mScriptConsoleMode;
|
bool mScriptConsoleMode;
|
||||||
std::string mStartupScript;
|
std::filesystem::path mStartupScript;
|
||||||
int mActivationDistanceOverride;
|
int mActivationDistanceOverride;
|
||||||
std::filesystem::path mSaveGameFile;
|
std::filesystem::path mSaveGameFile;
|
||||||
// Grab mouse?
|
// Grab mouse?
|
||||||
@ -253,7 +253,7 @@ namespace OMW
|
|||||||
void setScriptConsoleMode(bool enabled);
|
void setScriptConsoleMode(bool enabled);
|
||||||
|
|
||||||
/// Set path for a script that is run on startup in the console.
|
/// Set path for a script that is run on startup in the console.
|
||||||
void setStartupScript(const std::string& path);
|
void setStartupScript(const std::filesystem::path& path);
|
||||||
|
|
||||||
/// Override the game setting specified activation distance.
|
/// Override the game setting specified activation distance.
|
||||||
void setActivationDistanceOverride(int distance);
|
void setActivationDistanceOverride(int distance);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#define GAME_MWBASE_WINDOWMANAGER_H
|
#define GAME_MWBASE_WINDOWMANAGER_H
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <filesystem>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <set>
|
#include <set>
|
||||||
@ -275,7 +276,7 @@ namespace MWBase
|
|||||||
|
|
||||||
virtual void processChangedSettings(const std::set<std::pair<std::string, std::string>>& changed) = 0;
|
virtual void processChangedSettings(const std::set<std::pair<std::string, std::string>>& changed) = 0;
|
||||||
|
|
||||||
virtual void executeInConsole(const std::string& path) = 0;
|
virtual void executeInConsole(const std::filesystem::path& path) = 0;
|
||||||
|
|
||||||
virtual void enableRest() = 0;
|
virtual void enableRest() = 0;
|
||||||
virtual bool getRestEnabled() = 0;
|
virtual bool getRestEnabled() = 0;
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include <components/compiler/lineparser.hpp>
|
#include <components/compiler/lineparser.hpp>
|
||||||
#include <components/compiler/locals.hpp>
|
#include <components/compiler/locals.hpp>
|
||||||
#include <components/compiler/scanner.hpp>
|
#include <components/compiler/scanner.hpp>
|
||||||
|
#include <components/files/conversion.hpp>
|
||||||
#include <components/interpreter/interpreter.hpp>
|
#include <components/interpreter/interpreter.hpp>
|
||||||
#include <components/misc/utf8stream.hpp>
|
#include <components/misc/utf8stream.hpp>
|
||||||
#include <components/settings/settings.hpp>
|
#include <components/settings/settings.hpp>
|
||||||
@ -239,19 +240,20 @@ namespace MWGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Console::executeFile(const std::string& path)
|
void Console::executeFile(const std::filesystem::path& path)
|
||||||
{
|
{
|
||||||
std::ifstream stream((std::filesystem::path(path)));
|
std::ifstream stream(path);
|
||||||
|
|
||||||
if (!stream.is_open())
|
if (!stream.is_open())
|
||||||
printError("failed to open file: " + path);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
std::string line;
|
printError("Failed to open script file \"" + Files::pathToUnicodeString(path)
|
||||||
|
+ "\": " + std::generic_category().message(errno));
|
||||||
while (std::getline(stream, line))
|
return;
|
||||||
execute(line);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string line;
|
||||||
|
while (std::getline(stream, line))
|
||||||
|
execute(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Console::clear()
|
void Console::clear()
|
||||||
|
@ -60,7 +60,7 @@ namespace MWGui
|
|||||||
|
|
||||||
void execute(const std::string& command);
|
void execute(const std::string& command);
|
||||||
|
|
||||||
void executeFile(const std::string& path);
|
void executeFile(const std::filesystem::path& path);
|
||||||
|
|
||||||
void updateSelectedObjectPtr(const MWWorld::Ptr& currentPtr, const MWWorld::Ptr& newPtr);
|
void updateSelectedObjectPtr(const MWWorld::Ptr& currentPtr, const MWWorld::Ptr& newPtr);
|
||||||
|
|
||||||
|
@ -1459,7 +1459,7 @@ namespace MWGui
|
|||||||
return mScalingFactor;
|
return mScalingFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowManager::executeInConsole(const std::string& path)
|
void WindowManager::executeInConsole(const std::filesystem::path& path)
|
||||||
{
|
{
|
||||||
mConsole->executeFile(path);
|
mConsole->executeFile(path);
|
||||||
}
|
}
|
||||||
|
@ -296,7 +296,7 @@ namespace MWGui
|
|||||||
void watchActor(const MWWorld::Ptr& ptr) override;
|
void watchActor(const MWWorld::Ptr& ptr) override;
|
||||||
MWWorld::Ptr getWatchedActor() const override;
|
MWWorld::Ptr getWatchedActor() const override;
|
||||||
|
|
||||||
void executeInConsole(const std::string& path) override;
|
void executeInConsole(const std::filesystem::path& path) override;
|
||||||
|
|
||||||
void enableRest() override { mRestAllowed = true; }
|
void enableRest() override { mRestAllowed = true; }
|
||||||
bool getRestEnabled() override;
|
bool getRestEnabled() override;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user