diff --git a/autogen/convert_constants.py b/autogen/convert_constants.py index 32e28b4d..b394e727 100644 --- a/autogen/convert_constants.py +++ b/autogen/convert_constants.py @@ -169,7 +169,7 @@ def process_define(filename, line): if p.startswith('0x'): continue p = re.sub(r'0x[a-fA-F0-9]+', '', p) - if re.search('[a-z]', p) != None and "VERSION_TEXT" not in line and "SM64COOPDX_VERSION" not in line: + if re.search('[a-z]', p) != None and "VERSION_TEXT" not in line: if 'gCurrentObject' not in line and verbose: print('UNRECOGNIZED DEFINE: ' + line) return None @@ -259,7 +259,7 @@ def build_to_c(built_files): txt = 'char gSmluaConstants[] = ""\n' for line in lines: txt += '"%s\\n"\n' % line - txt += '"if get_coop_compatibility_enabled() then SM64COOPDX_VERSION = nil end";' + txt += '"SM64COOPDX_VERSION = VERSION_TEXT .. VERSION_NUMBER .. \'.\' .. MINOR_VERSION_NUMBER .. (PATCH_VERSION_NUMBER > 0 and \'.\' .. PATCH_VERSION_NUMBER or \'\')";' return txt ############################################################################ diff --git a/autogen/lua_constants/built-in.lua b/autogen/lua_constants/built-in.lua index fd843910..002d1173 100644 --- a/autogen/lua_constants/built-in.lua +++ b/autogen/lua_constants/built-in.lua @@ -1,5 +1,6 @@ math.randomseed(get_time()) + -------------- -- CObjects -- -------------- @@ -92,6 +93,7 @@ _ReadOnlyTable = { end } + -------------------- -- math functions -- -------------------- @@ -310,6 +312,7 @@ function approach_s32(current, target, inc, dec) return current end + ----------- -- sound -- ----------- @@ -392,6 +395,7 @@ COURSE_COUNT = 25 --- @type integer COURSE_MIN = 1 + ----------------- -- legacy font -- ----------------- diff --git a/autogen/lua_definitions/constants.lua b/autogen/lua_definitions/constants.lua index f9761bf8..0da58781 100644 --- a/autogen/lua_definitions/constants.lua +++ b/autogen/lua_definitions/constants.lua @@ -2,6 +2,7 @@ math.randomseed(get_time()) + -------------- -- CObjects -- -------------- @@ -94,6 +95,7 @@ _ReadOnlyTable = { end } + -------------------- -- math functions -- -------------------- @@ -312,6 +314,7 @@ function approach_s32(current, target, inc, dec) return current end + ----------- -- sound -- ----------- @@ -394,6 +397,7 @@ COURSE_COUNT = 25 --- @type integer COURSE_MIN = 1 + ----------------- -- legacy font -- ----------------- @@ -12592,23 +12596,17 @@ SPTASK_STATE_FINISHED = 3 --- @type SpTaskState SPTASK_STATE_FINISHED_DP = 4 ---- @type integer -MAX_LOCAL_VERSION_LENGTH = 36 - --- @type integer MAX_VERSION_LENGTH = 32 --- @type integer -MINOR_VERSION_NUMBER = 1 +MINOR_VERSION_NUMBER = 3 --- @type integer PATCH_VERSION_NUMBER = 0 ---- @type string -SM64COOPDX_VERSION = "0.2" - --- @type integer -VERSION_NUMBER = 36 +VERSION_NUMBER = 0 --- @type string VERSION_REGION = "JP" @@ -12623,4 +12621,4 @@ VERSION_REGION = "SH" VERSION_REGION = "US" --- @type string -VERSION_TEXT = "beta" +VERSION_TEXT = "v" diff --git a/docs/lua/constants.md b/docs/lua/constants.md index c8ad280f..7ad5198a 100644 --- a/docs/lua/constants.md +++ b/docs/lua/constants.md @@ -4478,11 +4478,9 @@
## [version.h](#version.h) -- MAX_LOCAL_VERSION_LENGTH - MAX_VERSION_LENGTH - MINOR_VERSION_NUMBER - PATCH_VERSION_NUMBER -- SM64COOPDX_VERSION - VERSION_NUMBER - VERSION_REGION - VERSION_REGION diff --git a/src/pc/configfile.c b/src/pc/configfile.c index d988393e..cd7c71f7 100644 --- a/src/pc/configfile.c +++ b/src/pc/configfile.c @@ -166,7 +166,7 @@ bool configDjuiThemeCenter = true; unsigned int configDjuiScale = 0; bool configCoopCompatibility = false; bool configGlobalPlayerModels = true; -char configLastVersion[MAX_CONFIG_STRING] = SM64COOPDX_VERSION; +char configLastVersion[MAX_CONFIG_STRING] = ""; static const struct ConfigOption options[] = { {.name = "fullscreen", .type = CONFIG_TYPE_BOOL, .boolValue = &configWindow.fullscreen}, @@ -609,8 +609,11 @@ NEXT_OPTION: if (configFrameLimit > 3000) { configFrameLimit = 3000; } if (configPlayerModel >= CT_MAX) { configPlayerModel = 0; } + if (configDjuiTheme >= DJUI_THEME_MAX) { configDjuiTheme = 0; } + if (!strcmp(configLastVersion, "")) { strncpy(configLastVersion, get_version(), MAX_CONFIG_STRING); } + #ifndef COOPNET configNetworkSystem = NS_SOCKET; #endif diff --git a/src/pc/crash_handler.c b/src/pc/crash_handler.c index 250c74e6..ee2cfb92 100644 --- a/src/pc/crash_handler.c +++ b/src/pc/crash_handler.c @@ -290,8 +290,8 @@ static void crash_handler_add_info_str(CrashHandlerText** pTextP, f32 x, f32 y, static void crash_handler_add_version_str(CrashHandlerText** pTextP, f32 x, f32 y) { CrashHandlerText* pText = *pTextP; - crash_handler_set_text(x, y, 0xFF, 0xFF, 0x00, "%s", "sm64coopdx v"); - crash_handler_set_text(-1, y, 0x00, 0xFF, 0xFF, "%s", SM64COOPDX_VERSION); + crash_handler_set_text(x, y, 0xFF, 0xFF, 0x00, "%s", "sm64coopdx "); + crash_handler_set_text(-1, y, 0x00, 0xFF, 0xFF, "%s", get_version()); *pTextP = pText; } diff --git a/src/pc/djui/djui.c b/src/pc/djui/djui.c index 4a8a1884..5bcd9608 100644 --- a/src/pc/djui/djui.c +++ b/src/pc/djui/djui.c @@ -94,8 +94,8 @@ void djui_init_late(void) { gPanelLanguageOnStartup = true; djui_panel_language_create(NULL); } - if (strcmp(configLastVersion, SM64COOPDX_VERSION)) { - strncpy(configLastVersion, SM64COOPDX_VERSION, MAX_CONFIG_STRING); + if (strcmp(configLastVersion, get_version())) { + strncpy(configLastVersion, get_version(), MAX_CONFIG_STRING); djui_panel_changelog_create(NULL); } diff --git a/src/pc/djui/djui_panel_main.c b/src/pc/djui/djui_panel_main.c index 3c6e3696..79e9e252 100644 --- a/src/pc/djui/djui_panel_main.c +++ b/src/pc/djui/djui_panel_main.c @@ -55,7 +55,7 @@ void djui_panel_main_create(struct DjuiBase* caller) { djui_base_set_color(&message->base, 255, 255, 160, 255); djui_text_set_alignment(message, DJUI_HALIGN_CENTER, DJUI_VALIGN_BOTTOM); } else { - struct DjuiText* version = djui_text_create(&panel->base, get_version_dx()); + struct DjuiText* version = djui_text_create(&panel->base, get_version()); djui_base_set_size_type(&version->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); djui_base_set_size(&version->base, 1.0f, 1.0f); djui_base_set_color(&version->base, 50, 50, 50, 255); diff --git a/src/pc/lua/smlua_constants_autogen.c b/src/pc/lua/smlua_constants_autogen.c index 4f420f62..6cc851b4 100644 --- a/src/pc/lua/smlua_constants_autogen.c +++ b/src/pc/lua/smlua_constants_autogen.c @@ -4396,15 +4396,13 @@ char gSmluaConstants[] = "" "COOP_OBJ_FLAG_LUA = (1 << 1)\n" "COOP_OBJ_FLAG_NON_SYNC = (1 << 2)\n" "COOP_OBJ_FLAG_INITIALIZED = (1 << 3)\n" -"SM64COOPDX_VERSION = '0.2'\n" -"VERSION_TEXT = 'beta'\n" -"VERSION_NUMBER = 36\n" -"MINOR_VERSION_NUMBER = 1\n" +"VERSION_TEXT = 'v'\n" +"VERSION_NUMBER = 0\n" +"MINOR_VERSION_NUMBER = 3\n" "PATCH_VERSION_NUMBER = 0\n" "VERSION_REGION = 'JP'\n" "VERSION_REGION = 'EU'\n" "VERSION_REGION = 'SH'\n" "VERSION_REGION = 'US'\n" "MAX_VERSION_LENGTH = 32\n" -"MAX_LOCAL_VERSION_LENGTH = 36\n" -"if get_coop_compatibility_enabled() then SM64COOPDX_VERSION = nil end"; \ No newline at end of file +"SM64COOPDX_VERSION = VERSION_TEXT .. VERSION_NUMBER .. '.' .. MINOR_VERSION_NUMBER .. (PATCH_VERSION_NUMBER > 0 and '.' .. PATCH_VERSION_NUMBER or '')"; \ No newline at end of file diff --git a/src/pc/network/coopnet/coopnet.c b/src/pc/network/coopnet/coopnet.c index 5d5e60ac..a75990ec 100644 --- a/src/pc/network/coopnet/coopnet.c +++ b/src/pc/network/coopnet/coopnet.c @@ -30,7 +30,7 @@ bool ns_coopnet_query(QueryCallbackPtr callback, QueryFinishCallbackPtr finishCa gCoopNetCallbacks.OnLobbyListGot = callback; gCoopNetCallbacks.OnLobbyListFinish = finishCallback; if (coopnet_initialize() != COOPNET_OK) { return false; } - if (coopnet_lobby_list_get(get_game_name(), password) != COOPNET_OK) { return false; } + if (coopnet_lobby_list_get(GAME_NAME, password) != COOPNET_OK) { return false; } return true; } @@ -208,12 +208,12 @@ void ns_coopnet_update(void) { if (sReconnecting) { LOG_INFO("Update lobby"); coopnet_populate_description(); - coopnet_lobby_update(sLocalLobbyId, get_game_name(), get_version(), configPlayerName, mode, sCoopNetDescription); + coopnet_lobby_update(sLocalLobbyId, GAME_NAME, get_version(), configPlayerName, mode, sCoopNetDescription); } else { LOG_INFO("Create lobby"); snprintf(gCoopNetPassword, 64, "%s", configPassword); coopnet_populate_description(); - coopnet_lobby_create(get_game_name(), get_version(), configPlayerName, mode, (uint16_t)configAmountofPlayers, gCoopNetPassword, sCoopNetDescription); + coopnet_lobby_create(GAME_NAME, get_version(), configPlayerName, mode, (uint16_t)configAmountofPlayers, gCoopNetPassword, sCoopNetDescription); } } else if (sNetworkType == NT_CLIENT) { LOG_INFO("Join lobby"); diff --git a/src/pc/network/version.c b/src/pc/network/version.c index 00c23269..dc3423d2 100644 --- a/src/pc/network/version.c +++ b/src/pc/network/version.c @@ -2,87 +2,21 @@ #include "version.h" #include "types.h" -#undef VERSION_TEXT -#define VERSION_TEXT "v" - static char sVersionString[MAX_VERSION_LENGTH] = { 0 }; -static char sLocalVersionString[MAX_LOCAL_VERSION_LENGTH] = { 0 }; -static char sDxVersionString[MAX_VERSION_LENGTH] = { 0 }; const char* get_version(void) { - if (configCoopCompatibility) { #if defined(VERSION_US) - if (MINOR_VERSION_NUMBER > 0) { - snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d.%d", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER); - } else { - snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d", VERSION_TEXT, VERSION_NUMBER); - } -#else - if (MINOR_VERSION_NUMBER > 0) { - snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d.%d %s", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER, VERSION_REGION); - } else { - snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d %s", VERSION_TEXT, VERSION_NUMBER, VERSION_REGION); - } -#endif + if (PATCH_VERSION_NUMBER > 0) { + snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d.%d.%d", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER, PATCH_VERSION_NUMBER); } else { -#if defined(VERSION_US) - snprintf(sVersionString, MAX_VERSION_LENGTH, "v%s", SM64COOPDX_VERSION); -#else - snprintf(sVersionString, MAX_VERSION_LENGTH, "v%s %s", SM64COOPDX_VERSION, VERSION_REGION); -#endif + snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d.%d", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER); } +#else + if (PATCH_VERSION_NUMBER > 0) { + snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d.%d.%d %s", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER, PATCH_VERSION_NUMBER, VERSION_REGION); + } else { + snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d.%d %s", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER, VERSION_REGION); + } +#endif return sVersionString; } - -const char* get_version_local(void) { - if (PATCH_VERSION_NUMBER <= 0) { - return get_version(); - } - - if (configCoopCompatibility) { -#if defined(VERSION_US) - snprintf(sLocalVersionString, MAX_LOCAL_VERSION_LENGTH, "%s%d.%d.%d", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER, PATCH_VERSION_NUMBER); -#else - snprintf(sLocalVersionString, MAX_LOCAL_VERSION_LENGTH, "%s%d.%d.%d %s", VERSION_TEXT, VERSION_NUMBER, MINOR_VERSION_NUMBER, PATCH_VERSION_NUMBER, VERSION_REGION); -#endif - } else { -#if defined(VERSION_US) - snprintf(sLocalVersionString, MAX_LOCAL_VERSION_LENGTH, "v%s", SM64COOPDX_VERSION); -#else - snprintf(sLocalVersionString, MAX_LOCAL_VERSION_LENGTH, "v%s %s", VERSION_TEXT, SM64COOPDX_VERSION, VERSION_REGION); -#endif - } - - return sLocalVersionString; -} - -// I want to redo this whole file when I remove sm64ex-coop compatibility -const char* get_version_dx(void) { -#if defined(VERSION_US) - snprintf(sDxVersionString, MAX_VERSION_LENGTH, "v%s", SM64COOPDX_VERSION); -#else - snprintf(sDxVersionString, MAX_VERSION_LENGTH, "v%s %s", SM64COOPDX_VERSION, VERSION_REGION); -#endif - - return sDxVersionString; -} - -const char* get_game_name(void) { - if (configCoopCompatibility) { -#ifdef DEVELOPMENT - return "sm64ex-coop-dev"; -#elif !defined(VERSION_US) - return "sm64ex-coop-intl"; -#else - return "sm64ex-coop"; -#endif - } else { -#ifdef DEVELOPMENT - return "sm64coopdx-dev"; -#elif !defined(VERSION_US) - return "sm64coopdx-intl"; -#else - return "sm64coopdx"; -#endif - } -} diff --git a/src/pc/network/version.h b/src/pc/network/version.h index 32e875ad..21fc5e36 100644 --- a/src/pc/network/version.h +++ b/src/pc/network/version.h @@ -1,11 +1,9 @@ #ifndef VERSION_H #define VERSION_H -#define SM64COOPDX_VERSION "0.2" - -#define VERSION_TEXT "beta" -#define VERSION_NUMBER 36 -#define MINOR_VERSION_NUMBER 1 +#define VERSION_TEXT "v" +#define VERSION_NUMBER 0 +#define MINOR_VERSION_NUMBER 3 #define PATCH_VERSION_NUMBER 0 #if defined(VERSION_JP) @@ -18,11 +16,16 @@ #define VERSION_REGION "US" #endif +#ifdef DEVELOPMENT + #define GAME_NAME "sm64coopdx-dev" +#elif !defined(VERSION_US) + #define GAME_NAME "sm64coopdx-intl" +#else + #define GAME_NAME "sm64coopdx" +#endif + #define MAX_VERSION_LENGTH 32 -#define MAX_LOCAL_VERSION_LENGTH 36 + const char* get_version(void); -const char* get_version_local(void); -const char* get_version_dx(void); -const char* get_game_name(void); #endif diff --git a/src/pc/pc_main.h b/src/pc/pc_main.h index f973b9bb..19e219ad 100644 --- a/src/pc/pc_main.h +++ b/src/pc/pc_main.h @@ -58,9 +58,9 @@ extern "C" { #endif #ifdef GIT_HASH -#define TITLE ({ char title[96] = ""; snprintf(title, 96, "sm64coopdx [%s]", GIT_HASH); title; }) +#define TITLE ({ char title[96] = ""; snprintf(title, 96, "%s %s, [%s]", GAME_NAME, get_version(), GIT_HASH); title; }) #else -#define TITLE ({ char title[96] = ""; snprintf(title, 96, "sm64coopdx v%s", SM64COOPDX_VERSION); title; }) +#define TITLE ({ char title[96] = ""; snprintf(title, 96, "%s %s", GAME_NAME, get_version()); title; }) #endif #define AT_STARTUP __attribute__((constructor)) diff --git a/src/pc/update_checker.c b/src/pc/update_checker.c index 0a3ca494..6938fc7a 100644 --- a/src/pc/update_checker.c +++ b/src/pc/update_checker.c @@ -118,15 +118,15 @@ void check_for_updates(void) { if (gIsThreaded) { REFRESH_MUTEX(snprintf(gCurrLoadingSegment.str, 256, "Checking For Updates")); } get_version_remote(); - if (sRemoteVersion[0] != '\0' && strcmp(sRemoteVersion, SM64COOPDX_VERSION)) { + if (sRemoteVersion[0] != '\0' && strcmp(sRemoteVersion, get_version())) { snprintf( sVersionUpdateTextBuffer, 256, - "\\#ffffa0\\%s\n\\#dcdcdc\\%s: v%s\n%s: v%s", + "\\#ffffa0\\%s\n\\#dcdcdc\\%s: v%s\n%s: %s", DLANG(NOTIF, UPDATE_AVAILABLE), DLANG(NOTIF, LATEST_VERSION), sRemoteVersion, DLANG(NOTIF, YOUR_VERSION), - SM64COOPDX_VERSION + get_version() ); gUpdateMessage = true; }