remove reconnect button

This commit is contained in:
Robin C. Ladiges 2023-07-07 23:30:10 +02:00
parent 4339847da5
commit 366ad5e888
No known key found for this signature in database
GPG key ID: B494D3DF92661B99
4 changed files with 6 additions and 138 deletions

View file

@ -29,7 +29,6 @@ class StageSceneStateServerConfig : public al::HostStateBase<al::Scene>, public
enum ServerConfigOption { enum ServerConfigOption {
GAMEMODECONFIG, GAMEMODECONFIG,
GAMEMODESWITCH, GAMEMODESWITCH,
RECONNECT,
SETIP, SETIP,
SETPORT SETPORT
}; };
@ -42,11 +41,9 @@ class StageSceneStateServerConfig : public al::HostStateBase<al::Scene>, public
void exeMainMenu(); void exeMainMenu();
void exeOpenKeyboardIP(); void exeOpenKeyboardIP();
void exeOpenKeyboardPort(); void exeOpenKeyboardPort();
void exeRestartServer();
void exeGamemodeConfig(); void exeGamemodeConfig();
void exeGamemodeSelect(); void exeGamemodeSelect();
void exeSaveData(); void exeSaveData();
void exeConnectError();
void endSubMenu(); void endSubMenu();
@ -63,7 +60,7 @@ class StageSceneStateServerConfig : public al::HostStateBase<al::Scene>, public
SimpleLayoutMenu* mCurrentMenu = nullptr; SimpleLayoutMenu* mCurrentMenu = nullptr;
CommonVerticalList* mCurrentList = nullptr; CommonVerticalList* mCurrentList = nullptr;
// Root Page, contains buttons for gamemode config, server reconnecting, and server ip address changing // Root Page, contains buttons for gamemode config, and server ip address changing
SimpleLayoutMenu* mMainOptions = nullptr; SimpleLayoutMenu* mMainOptions = nullptr;
CommonVerticalList *mMainOptionsList = nullptr; CommonVerticalList *mMainOptionsList = nullptr;
// Sub-Page of Mode config, used to select a gamemode for the client to use // Sub-Page of Mode config, used to select a gamemode for the client to use
@ -86,9 +83,7 @@ namespace {
NERVE_HEADER(StageSceneStateServerConfig, MainMenu) NERVE_HEADER(StageSceneStateServerConfig, MainMenu)
NERVE_HEADER(StageSceneStateServerConfig, OpenKeyboardIP) NERVE_HEADER(StageSceneStateServerConfig, OpenKeyboardIP)
NERVE_HEADER(StageSceneStateServerConfig, OpenKeyboardPort) NERVE_HEADER(StageSceneStateServerConfig, OpenKeyboardPort)
NERVE_HEADER(StageSceneStateServerConfig, RestartServer)
NERVE_HEADER(StageSceneStateServerConfig, GamemodeConfig) NERVE_HEADER(StageSceneStateServerConfig, GamemodeConfig)
NERVE_HEADER(StageSceneStateServerConfig, GamemodeSelect) NERVE_HEADER(StageSceneStateServerConfig, GamemodeSelect)
NERVE_HEADER(StageSceneStateServerConfig, SaveData) NERVE_HEADER(StageSceneStateServerConfig, SaveData)
NERVE_HEADER(StageSceneStateServerConfig, ConnectError)
} }

View file

@ -16,7 +16,6 @@
#include "al/LiveActor/LiveActor.h" #include "al/LiveActor/LiveActor.h"
#include "al/layout/LayoutInitInfo.h" #include "al/layout/LayoutInitInfo.h"
#include "al/layout/SimpleLayoutAppearWaitEnd.h" #include "al/layout/SimpleLayoutAppearWaitEnd.h"
#include "al/layout/WindowConfirmWait.h"
#include "al/util.hpp" #include "al/util.hpp"
#include "al/layout/LayoutActor.h" #include "al/layout/LayoutActor.h"
#include "al/gamepad/util.h" #include "al/gamepad/util.h"
@ -88,7 +87,6 @@ class Client {
bool startThread(); bool startThread();
void readFunc(); void readFunc();
static void restartConnection();
static bool isSocketActive() { return sInstance ? sInstance->mSocket->isConnected() : false; }; static bool isSocketActive() { return sInstance ? sInstance->mSocket->isConnected() : false; };
bool isPlayerConnected(int index) { return mPuppetInfoArr[index]->isConnected; } bool isPlayerConnected(int index) { return mPuppetInfoArr[index]->isConnected; }
@ -175,12 +173,6 @@ class Client {
static bool openKeyboardIP(); static bool openKeyboardIP();
static bool openKeyboardPort(); static bool openKeyboardPort();
static void showConnect();
static void showConnectError(const char16_t* msg);
static void hideConnect();
void resetCollectedShines(); void resetCollectedShines();
void removeShine(int shineId); void removeShine(int shineId);
@ -241,8 +233,6 @@ class Client {
// --- Game Layouts --- // --- Game Layouts ---
al::WindowConfirmWait* mConnectionWait;
al::SimpleLayoutAppearWaitEnd *mConnectStatus; al::SimpleLayoutAppearWaitEnd *mConnectStatus;
// --- Game Info --- // --- Game Info ---

View file

@ -71,13 +71,8 @@ Client::Client() {
*/ */
void Client::init(al::LayoutInitInfo const &initInfo, GameDataHolderAccessor holder) { void Client::init(al::LayoutInitInfo const &initInfo, GameDataHolderAccessor holder) {
mConnectionWait = new (mHeap) al::WindowConfirmWait("ServerWaitConnect", "WindowConfirmWait", initInfo);
mConnectStatus = new (mHeap) al::SimpleLayoutAppearWaitEnd("", "SaveMessage", initInfo, 0, false); mConnectStatus = new (mHeap) al::SimpleLayoutAppearWaitEnd("", "SaveMessage", initInfo, 0, false);
mConnectionWait->setTxtMessage(u"Connecting to Server.");
mConnectionWait->setTxtMessageConfirm(u"Failed to Connect!");
al::setPaneString(mConnectStatus, "TxtSave", u"Connecting to Server.", 0); al::setPaneString(mConnectStatus, "TxtSave", u"Connecting to Server.", 0);
al::setPaneString(mConnectStatus, "TxtSaveSh", u"Connecting to Server.", 0); al::setPaneString(mConnectStatus, "TxtSaveSh", u"Connecting to Server.", 0);
@ -105,44 +100,6 @@ bool Client::startThread() {
} }
} }
/**
* @brief restarts currently active connection to server
*
*/
void Client::restartConnection() {
if (!sInstance) {
Logger::log("Static Instance is null!\n");
return;
}
sead::ScopedCurrentHeapSetter setter(sInstance->mHeap);
Logger::log("Sending Disconnect.\n");
PlayerDC *playerDC = new PlayerDC();
playerDC->mUserID = sInstance->mUserID;
sInstance->mSocket->queuePacket(playerDC);
if (sInstance->mSocket->closeSocket()) {
Logger::log("Sucessfully Closed Socket.\n");
}
sInstance->mConnectCount = 0;
sInstance->mIsConnectionActive = sInstance->mSocket->init(sInstance->mServerIP.cstr(), sInstance->mServerPort).isSuccess();
if(sInstance->mSocket->getLogState() == SOCKET_LOG_CONNECTED) {
Logger::log("Reconnect Sucessful!\n");
} else {
Logger::log("Reconnect Unsuccessful.\n");
}
}
/** /**
* @brief starts a connection using client's TCP socket class, pulling up the software keyboard for user inputted IP if save file does not have one saved. * @brief starts a connection using client's TCP socket class, pulling up the software keyboard for user inputted IP if save file does not have one saved.
* *
@ -1393,37 +1350,3 @@ Shine* Client::findStageShine(int shineID) {
} }
return nullptr; return nullptr;
} }
void Client::showConnectError(const char16_t* msg) {
if (!sInstance)
return;
sInstance->mConnectionWait->setTxtMessageConfirm(msg);
al::hidePane(sInstance->mConnectionWait, "Page01"); // hide A button prompt
if (!sInstance->mConnectionWait->mIsAlive) {
sInstance->mConnectionWait->appear();
sInstance->mConnectionWait->playLoop();
}
al::startAction(sInstance->mConnectionWait, "Confirm", "State");
}
void Client::showConnect() {
if (!sInstance)
return;
sInstance->mConnectionWait->appear();
sInstance->mConnectionWait->playLoop();
}
void Client::hideConnect() {
if (!sInstance)
return;
sInstance->mConnectionWait->tryEnd();
}

View file

@ -41,14 +41,13 @@ StageSceneStateServerConfig::StageSceneStateServerConfig(const char *name, al::S
mMainOptionsList->unkInt1 = 1; mMainOptionsList->unkInt1 = 1;
mMainOptionsList->initDataNoResetSelected(5); mMainOptionsList->initDataNoResetSelected(4);
sead::SafeArray<sead::WFixedSafeString<0x200>, 5>* mainMenuOptions = sead::SafeArray<sead::WFixedSafeString<0x200>, 4>* mainMenuOptions =
new sead::SafeArray<sead::WFixedSafeString<0x200>, 5>(); new sead::SafeArray<sead::WFixedSafeString<0x200>, 4>();
mainMenuOptions->mBuffer[ServerConfigOption::GAMEMODECONFIG].copy(u"Gamemode Config"); mainMenuOptions->mBuffer[ServerConfigOption::GAMEMODECONFIG].copy(u"Gamemode Config");
mainMenuOptions->mBuffer[ServerConfigOption::GAMEMODESWITCH].copy(u"Change Gamemode"); mainMenuOptions->mBuffer[ServerConfigOption::GAMEMODESWITCH].copy(u"Change Gamemode");
mainMenuOptions->mBuffer[ServerConfigOption::RECONNECT].copy(u"Reconnect to Server");
mainMenuOptions->mBuffer[ServerConfigOption::SETIP].copy(u"Change Server IP"); mainMenuOptions->mBuffer[ServerConfigOption::SETIP].copy(u"Change Server IP");
mainMenuOptions->mBuffer[ServerConfigOption::SETPORT].copy(u"Change Server Port"); mainMenuOptions->mBuffer[ServerConfigOption::SETPORT].copy(u"Change Server Port");
@ -176,10 +175,6 @@ void StageSceneStateServerConfig::exeMainMenu() {
al::setNerve(this, &nrvStageSceneStateServerConfigGamemodeSelect); al::setNerve(this, &nrvStageSceneStateServerConfigGamemodeSelect);
break; break;
} }
case ServerConfigOption::RECONNECT: {
al::setNerve(this, &nrvStageSceneStateServerConfigRestartServer);
break;
}
case ServerConfigOption::SETIP: { case ServerConfigOption::SETIP: {
al::setNerve(this, &nrvStageSceneStateServerConfigOpenKeyboardIP); al::setNerve(this, &nrvStageSceneStateServerConfigOpenKeyboardIP);
break; break;
@ -233,27 +228,6 @@ void StageSceneStateServerConfig::exeOpenKeyboardPort() {
} }
} }
void StageSceneStateServerConfig::exeRestartServer() {
if (al::isFirstStep(this)) {
mCurrentList->deactivate();
Client::showConnect();
Client::restartConnection();
}
if (Client::isSocketActive()) {
Client::hideConnect();
al::startHitReaction(mCurrentMenu, "リセット", 0);
al::setNerve(this, &nrvStageSceneStateServerConfigMainMenu);
} else {
al::setNerve(this, &nrvStageSceneStateServerConfigConnectError);
}
}
void StageSceneStateServerConfig::exeGamemodeConfig() { void StageSceneStateServerConfig::exeGamemodeConfig() {
if (al::isFirstStep(this)) { if (al::isFirstStep(this)) {
mGamemodeConfigMenu = &mGamemodeConfigMenus[GameModeManager::instance()->getGameMode()]; mGamemodeConfigMenu = &mGamemodeConfigMenus[GameModeManager::instance()->getGameMode()];
@ -290,18 +264,6 @@ void StageSceneStateServerConfig::exeGamemodeSelect() {
} }
} }
void StageSceneStateServerConfig::exeConnectError() {
if (al::isFirstStep(this)) {
Client::showConnectError(u"Failed to Reconnect!");
}
if (al::isGreaterEqualStep(this, 60)) { // close after 1 second
Client::hideConnect();
al::startHitReaction(mCurrentMenu, "リセット", 0);
al::setNerve(this, &nrvStageSceneStateServerConfigMainMenu);
}
}
void StageSceneStateServerConfig::exeSaveData() { void StageSceneStateServerConfig::exeSaveData() {
if (al::isFirstStep(this)) { if (al::isFirstStep(this)) {
@ -373,9 +335,7 @@ namespace {
NERVE_IMPL(StageSceneStateServerConfig, MainMenu) NERVE_IMPL(StageSceneStateServerConfig, MainMenu)
NERVE_IMPL(StageSceneStateServerConfig, OpenKeyboardIP) NERVE_IMPL(StageSceneStateServerConfig, OpenKeyboardIP)
NERVE_IMPL(StageSceneStateServerConfig, OpenKeyboardPort) NERVE_IMPL(StageSceneStateServerConfig, OpenKeyboardPort)
NERVE_IMPL(StageSceneStateServerConfig, RestartServer)
NERVE_IMPL(StageSceneStateServerConfig, GamemodeConfig) NERVE_IMPL(StageSceneStateServerConfig, GamemodeConfig)
NERVE_IMPL(StageSceneStateServerConfig, GamemodeSelect) NERVE_IMPL(StageSceneStateServerConfig, GamemodeSelect)
NERVE_IMPL(StageSceneStateServerConfig, SaveData) NERVE_IMPL(StageSceneStateServerConfig, SaveData)
NERVE_IMPL(StageSceneStateServerConfig, ConnectError)
} }