diff --git a/src/pc/djui/djui_panel_changelog.c b/src/pc/djui/djui_panel_changelog.c index d6f1ae4da..c17727fea 100644 --- a/src/pc/djui/djui_panel_changelog.c +++ b/src/pc/djui/djui_panel_changelog.c @@ -72,7 +72,7 @@ Updated Arena and added Blimp City, new music for levels and fixed KOTH, Rainbow for (int i = 0; i < 5; i++) { struct DjuiText* text = djui_text_create(layoutBase, sChangelog[i]); djui_base_set_location(&text->base, 0, 0); - djui_base_set_size(&text->base, (DJUI_DEFAULT_PANEL_WIDTH * (configDjuiThemeCenter ? DJUI_THEME_CENTERED_WIDTH : 1)) - 64, 450); + djui_base_set_size(&text->base, (DJUI_DEFAULT_PANEL_WIDTH * (configDjuiThemeCenter ? DJUI_THEME_CENTERED_WIDTH : 1)) - 64, 360); djui_base_set_color(&text->base, 220, 220, 220, 255); djui_text_set_drop_shadow(text, 64, 64, 64, 100); djui_text_set_alignment(text, DJUI_HALIGN_LEFT, DJUI_VALIGN_TOP); diff --git a/src/pc/djui/djui_panel_info.c b/src/pc/djui/djui_panel_info.c index c97030f27..717aee67f 100644 --- a/src/pc/djui/djui_panel_info.c +++ b/src/pc/djui/djui_panel_info.c @@ -4,39 +4,49 @@ #include "djui_panel_changelog.h" #include "pc/lua/utils/smlua_misc_utils.h" -static char sInfo[1024]; +static char sInfo[3][1024]; -void djui_panel_info_create(struct DjuiBase* caller) { - struct DjuiThreePanel* panel = djui_panel_menu_create(DLANG(INFORMATION, INFORMATION_TITLE)); - struct DjuiBase* body = djui_three_panel_get_body(panel); +void djui_panel_info_create(struct DjuiBase *caller) { + struct DjuiThreePanel *panel = djui_panel_menu_create(DLANG(INFORMATION, INFORMATION_TITLE)); + struct DjuiBase *body = djui_three_panel_get_body(panel); { - snprintf(sInfo, 1024, "\ + struct DjuiPaginated *paginated = djui_paginated_create(body, 1); + struct DjuiBase *layoutBase = &paginated->layout->base; + + snprintf(sInfo[0], 1024, "\ sm64coopdx is an online multiplayer project for the \ Super Mario 64 PC port, started by the Coop Deluxe Team.\n\ Its purpose is to actively maintain and improve \ sm64ex-coop, an original idea from djoslin0.\n\ More features, customizability, and power to the Lua API \ allow modders and players to enjoy Super Mario 64 \ -more than ever!\n\ -\n\ -Coop Deluxe Team:\n\ +more than ever!"); + + snprintf(sInfo[1], 1024, "Coop Deluxe Team:\n\ Agent X: Lead Developer, Creator\n\ AngelicMiracles: Creator\n\ eros71: Tester & Developer\n\ -FluffaMario: Model Designer\n\ -Contributors:\n\ +Isaac0-dev: Developer\n\ +FluffaMario: Model Designer"); + + snprintf(sInfo[2], 1024, "Contributors:\n\ mike_dobukai: Logo\n\ Pup64HCP: Website\n\ ArcticJaguar725: Fixing a sound engine bug\n\ -Mr. Porkchop: New aliased font" - ); +Mr. Porkchop: New aliased font\n\ +PeachyPeach: Extra fixes"); + + for (int i = 0; i < 3; i++) { + struct DjuiText* text = djui_text_create(layoutBase, sInfo[i]); + djui_base_set_location(&text->base, 0, 0); + djui_base_set_size(&text->base, (DJUI_DEFAULT_PANEL_WIDTH * (configDjuiThemeCenter ? DJUI_THEME_CENTERED_WIDTH : 1)) - 64, 250); + djui_base_set_color(&text->base, 220, 220, 220, 255); + djui_text_set_drop_shadow(text, 64, 64, 64, 100); + djui_text_set_alignment(text, DJUI_HALIGN_CENTER, DJUI_VALIGN_TOP); + } + + djui_paginated_calculate_height(paginated); - struct DjuiText* text = djui_text_create(body, sInfo); - djui_base_set_location(&text->base, 0, 0); - djui_base_set_size(&text->base, (DJUI_DEFAULT_PANEL_WIDTH * (configDjuiThemeCenter ? DJUI_THEME_CENTERED_WIDTH : 1)) - 64, 480); - djui_base_set_color(&text->base, 220, 220, 220, 255); - djui_text_set_drop_shadow(text, 64, 64, 64, 100); - djui_text_set_alignment(text, DJUI_HALIGN_CENTER, DJUI_VALIGN_TOP); struct DjuiRect* rect1 = djui_rect_container_create(body, 64); { djui_button_left_create(&rect1->base, DLANG(MENU, BACK), DJUI_BUTTON_STYLE_BACK, djui_panel_menu_back); diff --git a/src/pc/djui/djui_panel_misc.c b/src/pc/djui/djui_panel_misc.c index c3159e93d..7631297f5 100644 --- a/src/pc/djui/djui_panel_misc.c +++ b/src/pc/djui/djui_panel_misc.c @@ -11,6 +11,9 @@ #ifdef DISCORD_SDK #include "pc/discord/discord.h" #endif +#if defined(_WIN32) || defined(_WIN64) +#include +#endif static void djui_panel_compatibility_checkbox_on_value_change(UNUSED struct DjuiBase* caller) { #ifdef DISCORD_SDK @@ -38,6 +41,23 @@ void djui_panel_options_debug_create(struct DjuiBase* caller) { } #endif +static void djui_panel_options_open_user_folder(UNUSED struct DjuiBase* caller) { +#if defined(_WIN32) || defined(_WIN64) + // Windows + ShellExecuteA(NULL, "open", sys_user_path(), NULL, NULL, SW_SHOWNORMAL); +#elif __linux__ + // Linux + char command[512]; + snprintf(command, sizeof(command), "xdg-open %s", sys_user_path()); + system(command); +#elif __APPLE__ + // macOS + char command[512]; + snprintf(command, sizeof(command), "open %s", sys_user_path()); + system(command); +#endif +} + void djui_panel_misc_create(struct DjuiBase* caller) { struct DjuiThreePanel* panel = djui_panel_menu_create(DLANG(MISC, MISC_TITLE)); struct DjuiBase* body = djui_three_panel_get_body(panel); @@ -55,6 +75,11 @@ void djui_panel_misc_create(struct DjuiBase* caller) { djui_button_create(body, DLANG(MISC, INFORMATION), DJUI_BUTTON_STYLE_NORMAL, djui_panel_info_create); #ifdef DEVELOPMENT djui_button_create(body, DLANG(MISC, DEBUG), DJUI_BUTTON_STYLE_NORMAL, djui_panel_options_debug_create); +#endif +#if defined(_WIN32) || defined(_WIN64) + djui_button_create(body, DLANG(OPTIONS, APPDATA), DJUI_BUTTON_STYLE_NORMAL, djui_panel_options_open_user_folder); +#elif __linux__ || __APPLE__ || __MACH__ + djui_button_create(body, DLANG(OPTIONS, USER_FOLDER), DJUI_BUTTON_STYLE_NORMAL, djui_panel_options_open_user_folder); #endif djui_button_create(body, DLANG(MENU, BACK), DJUI_BUTTON_STYLE_BACK, djui_panel_menu_back); } diff --git a/src/pc/djui/djui_panel_options.c b/src/pc/djui/djui_panel_options.c index 9a3c476d3..977939d2b 100644 --- a/src/pc/djui/djui_panel_options.c +++ b/src/pc/djui/djui_panel_options.c @@ -1,7 +1,3 @@ -#if defined(_WIN32) || defined(_WIN64) -#include -#endif - #include "djui.h" #include "djui_panel.h" #include "djui_panel_player.h" @@ -16,23 +12,6 @@ #include "pc/utils/misc.h" #include "pc/pc_main.h" -static void djui_panel_options_open_user_folder(UNUSED struct DjuiBase* caller) { -#if defined(_WIN32) || defined(_WIN64) - // Windows - ShellExecuteA(NULL, "open", sys_user_path(), NULL, NULL, SW_SHOWNORMAL); -#elif __linux__ - // Linux - char command[512]; - snprintf(command, sizeof(command), "xdg-open %s", sys_user_path()); - system(command); -#elif __APPLE__ - // macOS - char command[512]; - snprintf(command, sizeof(command), "open %s", sys_user_path()); - system(command); -#endif -} - static void djui_panel_options_back(struct DjuiBase* caller) { configfile_save(configfile_name()); djui_panel_menu_back(caller); @@ -54,11 +33,6 @@ void djui_panel_options_create(struct DjuiBase* caller) { djui_button_create(body, DLANG(OPTIONS, DISPLAY), DJUI_BUTTON_STYLE_NORMAL, djui_panel_display_create); djui_button_create(body, DLANG(OPTIONS, SOUND), DJUI_BUTTON_STYLE_NORMAL, djui_panel_sound_create); djui_button_create(body, DLANG(OPTIONS, MISC), DJUI_BUTTON_STYLE_NORMAL, djui_panel_misc_create); -#if defined(_WIN32) || defined(_WIN64) - djui_button_create(body, DLANG(OPTIONS, APPDATA), DJUI_BUTTON_STYLE_NORMAL, djui_panel_options_open_user_folder); -#elif __linux__ || __APPLE__ || __MACH__ - djui_button_create(body, DLANG(OPTIONS, USER_FOLDER), DJUI_BUTTON_STYLE_NORMAL, djui_panel_options_open_user_folder); -#endif djui_button_create(body, DLANG(MENU, BACK), DJUI_BUTTON_STYLE_BACK, djui_panel_options_back); }