Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md19
-rw-r--r--source/core/scripting/StarUtilityLuaBindings.cpp5
-rw-r--r--source/core/scripting/StarUtilityLuaBindings.hpp1
-rw-r--r--source/game/scripting/StarUniverseServerLuaBindings.cpp5
-rw-r--r--source/game/scripting/StarUniverseServerLuaBindings.hpp1
5 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md
index 5c73df1..b0ddb43 100644
--- a/README.md
+++ b/README.md
@@ -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);
}
}
}