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

summaryrefslogtreecommitdiff
path: root/source/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'source/frontend')
-rw-r--r--source/frontend/StarCharSelection.cpp2
-rw-r--r--source/frontend/StarInterfaceLuaBindings.cpp4
-rw-r--r--source/frontend/StarTitleScreen.cpp17
-rw-r--r--source/frontend/StarTitleScreen.hpp4
4 files changed, 23 insertions, 4 deletions
diff --git a/source/frontend/StarCharSelection.cpp b/source/frontend/StarCharSelection.cpp
index 2c00b42..c2cc1dc 100644
--- a/source/frontend/StarCharSelection.cpp
+++ b/source/frontend/StarCharSelection.cpp
@@ -15,8 +15,8 @@ CharSelectionPane::CharSelectionPane(PlayerStoragePtr playerStorage,
DeleteCharacterCallback deleteCallback)
: m_playerStorage(playerStorage),
m_downScroll(0),
- m_filteredList({}),
m_search(""),
+ m_filteredList({}),
m_createCallback(createCallback),
m_selectCallback(selectCallback),
m_deleteCallback(deleteCallback) {
diff --git a/source/frontend/StarInterfaceLuaBindings.cpp b/source/frontend/StarInterfaceLuaBindings.cpp
index cbacb59..085cc4c 100644
--- a/source/frontend/StarInterfaceLuaBindings.cpp
+++ b/source/frontend/StarInterfaceLuaBindings.cpp
@@ -55,9 +55,9 @@ LuaCallbacks LuaBindings::makeChatCallbacks(MainInterface* mainInterface, Univer
auto chat = as<Chat>(mainInterface->paneManager()->registeredPane(MainInterfacePanes::Chat).get());
- callbacks.registerCallback("send", [chat, client](String const& message, Maybe<String> modeName, Maybe<bool> speak) {
+ callbacks.registerCallback("send", [chat, client](String const& message, Maybe<String> modeName, Maybe<bool> speak, Maybe<JsonObject> data) {
auto sendMode = modeName ? ChatSendModeNames.getLeft(*modeName) : ChatSendMode::Broadcast;
- client->sendChat(message, sendMode, speak);
+ client->sendChat(message, sendMode, speak, data);
});
// just for SE compat - this shoulda been a utility callback :moyai:
diff --git a/source/frontend/StarTitleScreen.cpp b/source/frontend/StarTitleScreen.cpp
index a32b51a..f1ffcd9 100644
--- a/source/frontend/StarTitleScreen.cpp
+++ b/source/frontend/StarTitleScreen.cpp
@@ -213,6 +213,15 @@ void TitleScreen::setMultiPlayerPassword(String password) {
m_password = std::move(password);
}
+bool TitleScreen::multiPlayerForceLegacy() const {
+ return m_forceLegacy;
+}
+
+void TitleScreen::setMultiPlayerForceLegacy(bool const& forceLegacy) {
+ m_multiPlayerMenu->fetchChild<ButtonWidget>("legacyCheckbox")->setChecked(forceLegacy);
+ m_forceLegacy = forceLegacy;
+}
+
void TitleScreen::initMainMenu() {
m_mainMenu = make_shared<Pane>();
auto backMenu = make_shared<Pane>();
@@ -347,7 +356,8 @@ void TitleScreen::initMultiPlayerMenu() {
{"address", multiPlayerAddress()},
{"account", multiPlayerAccount()},
{"port", multiPlayerPort()},
- //{"password", multiPlayerPassword()}
+ //{"password", multiPlayerPassword()},
+ {"forceLegacy",multiPlayerForceLegacy()}
};
auto serverList = m_serverSelectPane->fetchChild<ListWidget>("serverSelectArea.serverList");
@@ -384,6 +394,7 @@ void TitleScreen::initMultiPlayerMenu() {
setMultiPlayerPort(data.getString("port", ""));
setMultiPlayerAccount(data.getString("account", ""));
setMultiPlayerPassword(data.getString("password", ""));
+ setMultiPlayerForceLegacy(data.getBool("forceLegacy", false));
if (auto passwordWidget = m_multiPlayerMenu->fetchChild("password"))
passwordWidget->focus();
@@ -406,6 +417,10 @@ void TitleScreen::initMultiPlayerMenu() {
readerConnect.registerCallback("password", [=](Widget* obj) {
m_password = convert<TextBoxWidget>(obj)->getText().trim();
});
+
+ readerConnect.registerCallback("legacyCheckbox", [=](Widget* obj) {
+ m_forceLegacy = convert<ButtonWidget>(obj)->isChecked();
+ });
readerConnect.registerCallback("connect", [=](Widget*) {
switchState(TitleState::StartMultiPlayer);
diff --git a/source/frontend/StarTitleScreen.hpp b/source/frontend/StarTitleScreen.hpp
index 3199247..095774f 100644
--- a/source/frontend/StarTitleScreen.hpp
+++ b/source/frontend/StarTitleScreen.hpp
@@ -77,6 +77,9 @@ public:
String multiPlayerPassword() const;
void setMultiPlayerPassword(String password);
+ bool multiPlayerForceLegacy() const;
+ void setMultiPlayerForceLegacy(bool const& forceLegacy);
+
private:
void initMainMenu();
void initCharSelectionMenu();
@@ -122,6 +125,7 @@ private:
String m_connectionPort;
String m_account;
String m_password;
+ bool m_forceLegacy;
CelestialMasterDatabasePtr m_celestialDatabase;