Compare commits

...

4 Commits

Author SHA1 Message Date
superp00t
03fc131e2e feat(build): compile version strings from CMake 2025-04-14 06:11:24 -04:00
superp00t
0ca9e90859 fix(console): do ctrl and shift modifier checks correctly 2025-04-14 06:09:51 -04:00
superp00t
61af2eeaaf fix(console): implement SetCommandHandler accurately 2025-04-14 06:08:07 -04:00
superp00t
b3e38f70c5 chore(build): upgrade dependencies 2025-04-14 06:07:05 -04:00
7 changed files with 58 additions and 10 deletions

View File

@ -30,6 +30,18 @@ include(lib/system/cmake/system.cmake)
# Build options
set(WHOA_VERSION_BUILD 12340)
set(WHOA_VERSION_MAJOR 3)
set(WHOA_VERSION_MINOR 3)
set(WHOA_VERSION_PATCH 5)
set(WHOA_VERSION_HOTFIX a)
add_definitions(-DWHOA_VERSION_BUILD="${WHOA_VERSION_BUILD}")
add_definitions(-DWHOA_VERSION_MAJOR="${WHOA_VERSION_MAJOR}")
add_definitions(-DWHOA_VERSION_MINOR="${WHOA_VERSION_MINOR}")
add_definitions(-DWHOA_VERSION_PATCH="${WHOA_VERSION_PATCH}")
add_definitions(-DWHOA_VERSION_HOTFIX="${WHOA_VERSION_HOTFIX}")
# UBsan
set(WHOA_UB_SAN_HELP_TEXT "Disable/Enable the Undefined Behavior Sanitizer. This is turned on by default in Debug build types. Has no effect when using MSVC.")
if (CMAKE_BUILD_TYPE STREQUAL "Debug")

@ -1 +1 @@
Subproject commit 9a3b3aeafd7e48194d0a5a3fbe459b965f5d12fa
Subproject commit 7fa49919037fe35eae3ff7908dbe00b56cfac212

@ -1 +1 @@
Subproject commit af834cafa755de27a87b3400adb89b205e567166
Subproject commit 12ab8f77215e07fc0e505b56760536883276d2cb

@ -1 +1 @@
Subproject commit 328613d0e8ebc0ed46af63a1248d213be4fbf601
Subproject commit 2e824bfdc3e4a97057751d4ff7403d08de39745f

View File

@ -380,11 +380,33 @@ int32_t SetCommandHandler(const char* command, const char* arguments) {
SStrTokenize(&str, cvarName, sizeof(cvarName), " ,;\t\"\r\n", nullptr);
SStrTokenize(&str, cvarValue, sizeof(cvarValue), " ,;\t\"\r\n", nullptr);
auto var = CVar::Lookup(cvarName);
if (var) {
var->Set(cvarValue, true, false, false, true);
} else {
auto cvar = CVar::s_registeredCVars.Ptr(cvarName);
if (!cvar) {
CVar::Register(cvarName, "", 0, cvarValue, nullptr, DEFAULT, true, nullptr, false);
return 1;
}
if (cvar->m_callback) {
// FUN_0086b5a0(cv->m_callback);
if (!cvar->m_callback(cvar, cvar->GetString(), cvarValue, cvar->m_arg)) {
return 1;
}
}
cvar->m_modified++;
if (!(cvar->m_flags & 0x2)) {
cvar->m_latchedValue.Copy(cvarValue);
CVar::m_needsSave = true;
} else if (!(cvar->m_flags & 0x4)) {
if (cvar->GetString() && !SStrCmpI(cvarValue, cvar->GetString(), STORM_MAX_STR)) {
return 1;
}
cvar->m_stringValue.Copy(cvarValue);
cvar->m_intValue = SStrToInt(cvarValue);
cvar->m_floatValue = SStrToFloat(cvarValue);
CVar::m_needsSave = true;
}
return 1;

View File

@ -10,8 +10,8 @@
#include "event/Event.hpp"
#include "event/Types.hpp"
#define SHIFT_MODIFIER(data) ((data->metaKeyState & (1 << KEY_LSHIFT) | (1 << KEY_RSHIFT)) != 0)
#define CTRL_MODIFIER(data) ((data->metaKeyState & (1 << KEY_LCONTROL) | (1 << KEY_RCONTROL)) != 0)
#define SHIFT_MODIFIER(data) ((data->metaKeyState & ((1 << KEY_LSHIFT) | (1 << KEY_RSHIFT))) != 0)
#define CTRL_MODIFIER(data) ((data->metaKeyState & ((1 << KEY_LCONTROL) | (1 << KEY_RCONTROL))) != 0)
namespace {

View File

@ -1,7 +1,21 @@
#include "console/Console.hpp"
#include "console/command/Commands.hpp"
#if defined(NDEBUG)
#define WHOA_BUILD_TYPE "Release"
#else
#define WHOA_BUILD_TYPE "Debug"
#endif
#define WHOA_BRAND_STRING "Whoa"
#define WHOA_PROJECT_URL "https://github.com/thunderbrewhq/thunderbrew"
#define WHOA_VERSION_STRING WHOA_BRAND_STRING " [" WHOA_BUILD_TYPE "] Build " WHOA_VERSION_BUILD " (" __DATE__ ") <" WHOA_PROJECT_URL ">"
DECLARE_COMMAND(Ver) {
ConsoleWrite("Whoa <https://github.com/whoahq/whoa>", DEFAULT_COLOR);
// ConsoleWrite("Thunderbrew <https://github.com/thunderbrewhq/thunderbrew>", ADMIN_COLOR);
ConsoleWrite(WHOA_VERSION_STRING, DEFAULT_COLOR);
return 1;
}