diff options
-rw-r--r-- | README.md | 19 | ||||
-rw-r--r-- | source/core/scripting/StarUtilityLuaBindings.cpp | 5 | ||||
-rw-r--r-- | source/core/scripting/StarUtilityLuaBindings.hpp | 1 | ||||
-rw-r--r-- | source/game/scripting/StarUniverseServerLuaBindings.cpp | 5 | ||||
-rw-r--r-- | source/game/scripting/StarUniverseServerLuaBindings.hpp | 1 |
5 files changed, 31 insertions, 0 deletions
@@ -26,3 +26,22 @@ Changes: * Skybox sun now matches the system type you're currently in. Previously generated planets will not have this feature and will display the default sun. Modded system types require a patch to display their custom sun. Additionally, you can also access now skybox sun scale and its default ray colors. For more details see [sky.config.patch](https://github.com/OpenStarbound/OpenStarbound/blob/main/assets/opensb/sky.config.patch). [Discord](https://discord.gg/D4QqtBNmAY) + + +## Building +Note: Some [blue text](## "hi :3") only contain tooltips. + +### Windows +* Install [vcpkg](https://github.com/microsoft/vcpkg?tab=readme-ov-file#quick-start-windows) *globally*. + * vcpkg recommends a short directory, such as `C:\src\vcpkg` or `C:\dev\vcpkg`. + * If you're using Visual Studio, don't forget to run `vcpkg integrate install`! + * Set [**`VCPKG_ROOT`**](## "Environment Value") to your vcpkg dir, so that CMake can find it. +* Install [Ninja](https://ninja-build.org/ "Ninja Build System"). Either add it to your [**`PATH`**](## "Environment Value"), or just use [Scoop](https://scoop.sh/) (`scoop install ninja`) +* Check to see if your IDE has CMake support, and that it's [actually installed](## "If you're using VS, open Visual Studio Installer to install CMake."). +* Open the repo directory in your IDE - it should detect the CMake project. +* Build. + * You need to create a sbinit.config and manually copy DLLs from lib/windows/ to the [output directory](## "dist/") to run the client. +### Linux +To be written. +### macOS +To be written. diff --git a/source/core/scripting/StarUtilityLuaBindings.cpp b/source/core/scripting/StarUtilityLuaBindings.cpp index ed04fa7..5ab6e19 100644 --- a/source/core/scripting/StarUtilityLuaBindings.cpp +++ b/source/core/scripting/StarUtilityLuaBindings.cpp @@ -113,6 +113,7 @@ LuaCallbacks LuaBindings::makeUtilityCallbacks() { callbacks.registerCallback("logWarn", UtilityCallbacks::logWarn); callbacks.registerCallback("logError", UtilityCallbacks::logError); callbacks.registerCallback("setLogMap", UtilityCallbacks::setLogMap); + callbacks.registerCallback("parseJson", UtilityCallbacks::parseJson); callbacks.registerCallback("printJson", UtilityCallbacks::printJson); callbacks.registerCallback("print", UtilityCallbacks::print); callbacks.registerCallback("interpolateSinEase", UtilityCallbacks::interpolateSinEase); @@ -192,6 +193,10 @@ void LuaBindings::UtilityCallbacks::setLogMap(String const& key, String const& v LogMap::set(key, formatLua(value, args)); } +Json LuaBindings::UtilityCallbacks::parseJson(String const& str) { + return Json::parse(str); +} + String LuaBindings::UtilityCallbacks::printJson(Json const& arg, Maybe<int> pretty) { return arg.repr(pretty.value()); } diff --git a/source/core/scripting/StarUtilityLuaBindings.hpp b/source/core/scripting/StarUtilityLuaBindings.hpp index 8435ecd..67d1f9c 100644 --- a/source/core/scripting/StarUtilityLuaBindings.hpp +++ b/source/core/scripting/StarUtilityLuaBindings.hpp @@ -16,6 +16,7 @@ namespace LuaBindings { void logWarn(String const& str, LuaVariadic<LuaValue> const& args); void logError(String const& str, LuaVariadic<LuaValue> const& args); void setLogMap(String const& key, String const& value, LuaVariadic<LuaValue> const& args); + Json parseJson(String const& str); String printJson(Json const& arg, Maybe<int> pretty); String print(LuaValue const& arg); LuaValue interpolateSinEase(LuaEngine& engine, double offset, LuaValue const& value1, LuaValue const& value2); diff --git a/source/game/scripting/StarUniverseServerLuaBindings.cpp b/source/game/scripting/StarUniverseServerLuaBindings.cpp index 99b1a7a..c68f138 100644 --- a/source/game/scripting/StarUniverseServerLuaBindings.cpp +++ b/source/game/scripting/StarUniverseServerLuaBindings.cpp @@ -22,6 +22,7 @@ LuaCallbacks LuaBindings::makeUniverseServerCallbacks(UniverseServer* universe) callbacks.registerCallbackWithSignature<StringList>("activeWorlds", bind(UniverseServerCallbacks::activeWorlds, universe)); callbacks.registerCallbackWithSignature<RpcThreadPromise<Json>, String, String, LuaVariadic<Json>>("sendWorldMessage", bind(UniverseServerCallbacks::sendWorldMessage, universe, _1, _2, _3)); callbacks.registerCallbackWithSignature<void, ConnectionId, String, Json>("sendPacket", bind(UniverseServerCallbacks::sendPacket, universe, _1, _2, _3)); + callbacks.registerCallbackWithSignature<String, ConnectionId>("clientWorld", bind(UniverseServerCallbacks::clientWorld, universe, _1)); return callbacks; } @@ -133,4 +134,8 @@ void LuaBindings::UniverseServerCallbacks::sendPacket(UniverseServer* universe, universe->sendPacket(clientId, packet); } +String LuaBindings::UniverseServerCallbacks::clientWorld(UniverseServer* universe, ConnectionId clientId) { + return printWorldId(universe->clientWorld(clientId)); +} + } diff --git a/source/game/scripting/StarUniverseServerLuaBindings.hpp b/source/game/scripting/StarUniverseServerLuaBindings.hpp index 18dca7d..b5ce8b9 100644 --- a/source/game/scripting/StarUniverseServerLuaBindings.hpp +++ b/source/game/scripting/StarUniverseServerLuaBindings.hpp @@ -26,6 +26,7 @@ namespace LuaBindings { StringList activeWorlds(UniverseServer* universe); RpcThreadPromise<Json> sendWorldMessage(UniverseServer* universe, String const& worldId, String const& message, LuaVariadic<Json> args); void sendPacket(UniverseServer* universe, ConnectionId clientId, String const& packetTypeName, Json const& args); + String clientWorld(UniverseServer* universe, ConnectionId clientId); } } } |