[yuzu_cmd] gdbstub option
Some checks failed
eden-license / license-header (pull_request) Failing after 15s

This commit is contained in:
lizzie 2025-07-11 20:19:14 +01:00
parent 3df06da02c
commit 4253ed3e5b

View file

@ -162,24 +162,22 @@ static void OnMessageReceived(const Network::ChatEntry& msg) {
} }
static void OnStatusMessageReceived(const Network::StatusMessageEntry& msg) { static void OnStatusMessageReceived(const Network::StatusMessageEntry& msg) {
std::string message; std::string message = [&]() {
switch (msg.type) { switch (msg.type) {
case Network::IdMemberJoin: case Network::IdMemberJoin:
message = fmt::format("{} has joined", msg.nickname); return fmt::format("{} has joined", msg.nickname);
break;
case Network::IdMemberLeave: case Network::IdMemberLeave:
message = fmt::format("{} has left", msg.nickname); return fmt::format("{} has left", msg.nickname);
break;
case Network::IdMemberKicked: case Network::IdMemberKicked:
message = fmt::format("{} has been kicked", msg.nickname); return fmt::format("{} has been kicked", msg.nickname);
break;
case Network::IdMemberBanned: case Network::IdMemberBanned:
message = fmt::format("{} has been banned", msg.nickname); return fmt::format("{} has been banned", msg.nickname);
break;
case Network::IdAddressUnbanned: case Network::IdAddressUnbanned:
message = fmt::format("{} has been unbanned", msg.nickname); return fmt::format("{} has been unbanned", msg.nickname);
break; default:
return std::string{};
} }
}();
if (!message.empty()) if (!message.empty())
std::cout << std::endl << "* " << message << std::endl << std::endl; std::cout << std::endl << "* " << message << std::endl << std::endl;
} }
@ -209,10 +207,10 @@ int main(int argc, char** argv) {
} }
#endif #endif
std::string filepath; std::string filepath;
std::optional<std::string> config_path; std::optional<std::string> config_path{};
std::string program_args; std::string program_args;
std::optional<int> selected_user; std::optional<int> selected_user{};
std::optional<int> override_gdb_port{};
bool use_multiplayer = false; bool use_multiplayer = false;
bool fullscreen = false; bool fullscreen = false;
std::string nickname{}; std::string nickname{};
@ -222,6 +220,7 @@ int main(int argc, char** argv) {
static struct option long_options[] = { static struct option long_options[] = {
// clang-format off // clang-format off
{"debug", no_argument, 0, 'd'},
{"config", required_argument, 0, 'c'}, {"config", required_argument, 0, 'c'},
{"fullscreen", no_argument, 0, 'f'}, {"fullscreen", no_argument, 0, 'f'},
{"help", no_argument, 0, 'h'}, {"help", no_argument, 0, 'h'},
@ -238,6 +237,9 @@ int main(int argc, char** argv) {
int arg = getopt_long(argc, argv, "g:fhvp::c:u:", long_options, &option_index); int arg = getopt_long(argc, argv, "g:fhvp::c:u:", long_options, &option_index);
if (arg != -1) { if (arg != -1) {
switch (static_cast<char>(arg)) { switch (static_cast<char>(arg)) {
case 'd':
override_gdb_port = atoi(optarg);
break;
case 'c': case 'c':
config_path = optarg; config_path = optarg;
break; break;
@ -323,6 +325,11 @@ int main(int argc, char** argv) {
Settings::values.current_user = std::clamp(*selected_user, 0, 7); Settings::values.current_user = std::clamp(*selected_user, 0, 7);
} }
if (override_gdb_port.has_value()) {
Settings::values.use_gdbstub = true;
Settings::values.gdbstub_port = *override_gdb_port;
}
#ifdef _WIN32 #ifdef _WIN32
LocalFree(argv_w); LocalFree(argv_w);
#endif #endif