Make it build baby!

This commit is contained in:
aMannus
2025-05-18 20:31:19 +02:00
parent 95cc7ae8e2
commit e7ab37c6cc
5 changed files with 38 additions and 34 deletions

View File

@@ -183,3 +183,36 @@ const std::map<std::string, int>& ArchipelagoClient::get_slot_data() {
const std::vector<ArchipelagoClient::ApItem>& ArchipelagoClient::get_scouted_items() {
return scouted_items;
}
const char* ArchipelagoClient::get_connection_status() {
if (!apclient) {
return "No status available";
}
APClient::State clientStatus = apclient->get_state();
switch (clientStatus) {
case APClient::State::DISCONNECTED: {
return "Disconnected!";
break;
}
case APClient::State::SOCKET_CONNECTING: {
return "Socket Connecting!";
break;
}
case APClient::State::SOCKET_CONNECTED: {
return "Socket Connected!";
break;
}
case APClient::State::ROOM_INFO: {
return "Room info Recieved!";
break;
}
case APClient::State::SLOT_CONNECTED: {
return "Slot Connected!";
break;
}
default:
return "Unknown Status";
}
}

View File

@@ -41,6 +41,7 @@ class ArchipelagoClient{
char* get_server_address_buff();
char* get_slot_name_buff();
char* get_password_buff();
const char* get_connection_status();
const std::map<std::string, int>& get_slot_data();
const std::vector<ApItem>& get_scouted_items();

View File

@@ -1,7 +1,6 @@
#include "ArchipelagoSettingsWindow.h"
#include "Archipelago.h"
#include <apclient.hpp>
#include "soh/SohGui/UIWidgets.hpp"
#include "soh/SohGui/SohGui.hpp"
@@ -19,36 +18,7 @@ void ArchipelagoSettingsWindow::DrawElement() {
}
ImGui::SameLine();
ImGui::Text(connected_text);
APClient::State con_state = APClient::State::DISCONNECTED;
if (AP_client.apclient) {
con_state = AP_client.apclient->get_state();
}
switch (con_state) {
case APClient::State::DISCONNECTED: {
strncpy(connected_text, "Disconnected!", 25);
break;
}
case APClient::State::SOCKET_CONNECTING: {
strncpy(connected_text, "Socket Connecting!", 25);
break;
}
case APClient::State::SOCKET_CONNECTED: {
strncpy(connected_text, "Socket Connected!", 25);
break;
}
case APClient::State::ROOM_INFO: {
strncpy(connected_text, "Room info Recieved!", 25);
break;
}
case APClient::State::SLOT_CONNECTED: {
strncpy(connected_text, "Slot Connected!", 25);
break;
}
};
ImGui::Text(ArchipelagoClient::getInstance().get_connection_status());
if (ImGui::Button("scout")) {
AP_client.start_location_scouts();

View File

@@ -196,8 +196,8 @@ void SetupGuiElements() {
mPlandomizerWindow =
std::make_shared<PlandomizerWindow>(CVAR_WINDOW("PlandomizerEditor"), "Plandomizer Editor", ImVec2(850, 760));
gui->AddGuiWindow(mPlandomizerWindow);
mArchipelagoSettingsWindow =
std::make_shared<ArchipelagoSettingsWindow>(CVAR_WINDOW("ArchipelagoSettingsWindow"), "Archipelago", ImVec2(850, 760));
mArchipelagoSettingsWindow = std::make_shared<ArchipelagoSettingsWindow>(CVAR_WINDOW("ArchipelagoSettingsWindow"),
"Archipelago Settings", ImVec2(850, 760));
gui->AddGuiWindow(mArchipelagoSettingsWindow);
mModalWindow = std::make_shared<SohModalWindow>(CVAR_WINDOW("ModalWindow"), "Modal Window");
gui->AddGuiWindow(mModalWindow);

View File

@@ -104,7 +104,7 @@ void SohMenu::AddMenuRandomizer() {
path.sidebarName = "Archipelago";
AddSidebarEntry("Randomizer", path.sidebarName, 1);
AddWidget(path, "Popout Archipelago Settings Window", WIDGET_WINDOW_BUTTON)
.CVar(CVAR_WINDOW("ArchipelagoSettingsWindow"))
.CVar(CVAR_WINDOW("ArchipelagoSettings"))
.RaceDisable(false)
.WindowName("Archipelago Settings")
.Options(WindowButtonOptions().Tooltip("Enables the Archipelago Settings Window."));