mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-20 08:15:46 +00:00
[yuzu_cmd] gdbstub option (#43)
Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/43 Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
parent
ae02310bdf
commit
d5c58342e0
1 changed files with 33 additions and 22 deletions
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
@ -80,6 +83,7 @@ static void PrintHelp(const char* argv0) {
|
|||
" Nickname, password, address and port for multiplayer\n"
|
||||
"-p, --program Pass following string as arguments to executable\n"
|
||||
"-u, --user Select a specific user profile from 0 to 7\n"
|
||||
"-d, --debug Run the GDB stub on a port from 1 to 65535\n"
|
||||
"-v, --version Output version information and exit\n";
|
||||
}
|
||||
|
||||
|
@ -162,24 +166,22 @@ static void OnMessageReceived(const Network::ChatEntry& msg) {
|
|||
}
|
||||
|
||||
static void OnStatusMessageReceived(const Network::StatusMessageEntry& msg) {
|
||||
std::string message;
|
||||
std::string message = [&]() {
|
||||
switch (msg.type) {
|
||||
case Network::IdMemberJoin:
|
||||
message = fmt::format("{} has joined", msg.nickname);
|
||||
break;
|
||||
return fmt::format("{} has joined", msg.nickname);
|
||||
case Network::IdMemberLeave:
|
||||
message = fmt::format("{} has left", msg.nickname);
|
||||
break;
|
||||
return fmt::format("{} has left", msg.nickname);
|
||||
case Network::IdMemberKicked:
|
||||
message = fmt::format("{} has been kicked", msg.nickname);
|
||||
break;
|
||||
return fmt::format("{} has been kicked", msg.nickname);
|
||||
case Network::IdMemberBanned:
|
||||
message = fmt::format("{} has been banned", msg.nickname);
|
||||
break;
|
||||
return fmt::format("{} has been banned", msg.nickname);
|
||||
case Network::IdAddressUnbanned:
|
||||
message = fmt::format("{} has been unbanned", msg.nickname);
|
||||
break;
|
||||
return fmt::format("{} has been unbanned", msg.nickname);
|
||||
default:
|
||||
return std::string{};
|
||||
}
|
||||
}();
|
||||
if (!message.empty())
|
||||
std::cout << std::endl << "* " << message << std::endl << std::endl;
|
||||
}
|
||||
|
@ -209,10 +211,10 @@ int main(int argc, char** argv) {
|
|||
}
|
||||
#endif
|
||||
std::string filepath;
|
||||
std::optional<std::string> config_path;
|
||||
std::optional<std::string> config_path{};
|
||||
std::string program_args;
|
||||
std::optional<int> selected_user;
|
||||
|
||||
std::optional<int> selected_user{};
|
||||
std::optional<u16> override_gdb_port{};
|
||||
bool use_multiplayer = false;
|
||||
bool fullscreen = false;
|
||||
std::string nickname{};
|
||||
|
@ -222,6 +224,7 @@ int main(int argc, char** argv) {
|
|||
|
||||
static struct option long_options[] = {
|
||||
// clang-format off
|
||||
{"debug", no_argument, 0, 'd'},
|
||||
{"config", required_argument, 0, 'c'},
|
||||
{"fullscreen", no_argument, 0, 'f'},
|
||||
{"help", no_argument, 0, 'h'},
|
||||
|
@ -235,9 +238,12 @@ int main(int argc, char** argv) {
|
|||
};
|
||||
|
||||
while (optind < argc) {
|
||||
int arg = getopt_long(argc, argv, "g:fhvp::c:u:", long_options, &option_index);
|
||||
int arg = getopt_long(argc, argv, "g:fhvp::c:u:d:", long_options, &option_index);
|
||||
if (arg != -1) {
|
||||
switch (static_cast<char>(arg)) {
|
||||
case 'd':
|
||||
override_gdb_port = static_cast<uint16_t>(atoi(optarg));
|
||||
break;
|
||||
case 'c':
|
||||
config_path = optarg;
|
||||
break;
|
||||
|
@ -323,6 +329,11 @@ int main(int argc, char** argv) {
|
|||
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
|
||||
LocalFree(argv_w);
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue