From 3b1ab04f33e8a1794a69d0e09f17e33118e4a5b8 Mon Sep 17 00:00:00 2001 From: mjkzy Date: Thu, 2 Jun 2022 03:14:44 -0500 Subject: [PATCH] dark mode console, symbols, new logo, corrections --- src/client/component/console.cpp | 180 +++++++++++++++++++++++++++---- src/client/game/game.cpp | 4 + src/client/game/game.hpp | 37 +++++++ src/client/game/symbols.hpp | 26 +++++ src/client/resource.hpp | 2 + src/client/resource.rc | 1 + src/client/resources/logo.bmp | Bin 0 -> 109976 bytes src/client/steam/steam.cpp | 2 +- 8 files changed, 228 insertions(+), 24 deletions(-) create mode 100644 src/client/game/game.cpp create mode 100644 src/client/game/game.hpp create mode 100644 src/client/game/symbols.hpp create mode 100644 src/client/resources/logo.bmp diff --git a/src/client/component/console.cpp b/src/client/component/console.cpp index 84899d56..2b02a922 100644 --- a/src/client/component/console.cpp +++ b/src/client/component/console.cpp @@ -1,36 +1,32 @@ #include #include "loader/component_loader.hpp" +#include "resource.hpp" + +#include "game/game.hpp" #include #include +#define CONSOLE_BUFFER_SIZE 16384 + namespace console { namespace { volatile bool g_started = false; - - void create_game_console() - { - reinterpret_cast(0x142333F80_g)(); - } + HANDLE logo; void print_message(const char* message) { if (g_started) { - reinterpret_cast(0x1421499C0_g)(0, 0, "%s", message); + game::Com_Printf(0, 0, "%s", message); } } void execute_command(const char* command) { - reinterpret_cast(0x1420EC8B0_g)(0, command); - } - - void terminate_game() - { - execute_command("quit\n"); + game::Cbuf_AddText(0, command); } void print_stub(const char* fmt, ...) @@ -45,6 +41,146 @@ namespace console va_end(ap); } + + LRESULT con_wnd_proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) + { + switch (uMsg) + { + case WM_CTLCOLORSTATIC: + SetBkColor((HDC)wParam, RGB(50, 50, 50)); + SetTextColor((HDC)wParam, RGB(232, 230, 227)); + return (INT_PTR)CreateSolidBrush(RGB(50, 50, 50)); + case WM_CTLCOLOREDIT: + SetBkColor((HDC)wParam, RGB(50, 50, 50)); + SetTextColor((HDC)wParam, RGB(232, 230, 227)); + return (INT_PTR)CreateSolidBrush(RGB(50, 50, 50)); + default: + return utils::hook::invoke(0x142333520_g, hWnd, uMsg, wParam, lParam); + } + } + + LRESULT input_line_wnd_proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) + { + return utils::hook::invoke(0x142333820_g, hWnd, uMsg, wParam, lParam); + } + + // cod naming, functionality stolen from https://github.com/id-Software/Quake-III-Arena/blob/master/code/win32/win_syscon.c#L520 + int conbuf_clean_text(const char* source, char* target) + { + char* b = target; + int i = 0; + while (source[i] && ((b - target) < sizeof(target) - 1)) + { + if (source[i] == '\n' && source[i + 1] == '\r') + { + b[0] = '\r'; + b[1] = '\n'; + b += 2; + i++; + } + else if (source[i] == '\r' || source[i] == '\n') + { + b[0] = '\r'; + b[1] = '\n'; + b += 2; + } + else if (source && source[0] == '^' && source[1] && source[1] != '^' && source[1] >= 48 && source[1] <= 64) // Q_IsColorString + { + i++; + } + else + { + *b = source[i]; + b++; + } + i++; + } + + *b = 0; + return static_cast(b - target); + } + + void sys_create_console_stub(HINSTANCE hInstance) + { + char text[CONSOLE_BUFFER_SIZE]; + char cleanConsoleBuffer[CONSOLE_BUFFER_SIZE]; + + const auto* class_name = "BOIII WinConsole"; + const auto* window_name = "BOIII Console"; + + WNDCLASSA WndClass; + WndClass.style = 0; + WndClass.lpfnWndProc = con_wnd_proc; + WndClass.cbClsExtra = 0; + WndClass.cbWndExtra = 0; + WndClass.hInstance = hInstance; + WndClass.hIcon = LoadIconA(hInstance, (LPCSTR)1); + WndClass.hCursor = LoadCursorA(0, (LPCSTR)0x7F00); + WndClass.hbrBackground = CreateSolidBrush(RGB(50, 50, 50)); + WndClass.lpszMenuName = 0; + WndClass.lpszClassName = class_name; + + if (!RegisterClassA(&WndClass)) + { + return; + } + + tagRECT Rect; + Rect.left = 0; + Rect.right = 620; + Rect.top = 0; + Rect.bottom = 450; + AdjustWindowRect(&Rect, 0x80CA0000, 0); + + auto hDC = GetDC(GetDesktopWindow()); + auto swidth = GetDeviceCaps(hDC, 8); + auto sheight = GetDeviceCaps(hDC, 10); + ReleaseDC(GetDesktopWindow(), hDC); + + utils::hook::set(game::s_wcd::windowWidth, Rect.right - Rect.left + 1); + utils::hook::set(game::s_wcd::windowHeight, Rect.bottom - Rect.top + 1); + + utils::hook::set(game::s_wcd::hWnd, CreateWindowExA( + 0, class_name, window_name, 0x80CA0000, (swidth - 600) / 2, (sheight - 450) / 2, + Rect.right - Rect.left + 1, Rect.bottom - Rect.top + 1, 0, 0, hInstance, 0)); + + if (!*game::s_wcd::hWnd) + { + return; + } + + // create fonts + hDC = GetDC(*game::s_wcd::hWnd); + auto nHeight = MulDiv(8, GetDeviceCaps(hDC, 90), 72); + + utils::hook::set(game::s_wcd::hfBufferFont, CreateFontA( + -nHeight, 0, 0, 0, 300, 0, 0, 0, 1u, 0, 0, 0, 0x31u, "Courier New")); + + ReleaseDC(*game::s_wcd::hWnd, hDC); + + if (logo) + { + utils::hook::set(game::s_wcd::codLogo, CreateWindowExA( + 0, "Static", 0, 0x5000000Eu, 5, 5, 0, 0, *game::s_wcd::hWnd, (HMENU)1, hInstance, 0)); + SendMessageA(*game::s_wcd::codLogo, 0x172u, 0, (LPARAM)logo); + } + + // create the input line + utils::hook::set(game::s_wcd::hwndInputLine, CreateWindowExA( + 0, "edit", 0, 0x50800080u, 6, 400, 608, 20, *game::s_wcd::hWnd, (HMENU)0x65, hInstance, 0)); + utils::hook::set(game::s_wcd::hwndBuffer, CreateWindowExA( + 0, "edit", 0, 0x50A00844u, 6, 70, 606, 324, *game::s_wcd::hWnd, (HMENU)0x64, hInstance, 0)); + SendMessageA(*game::s_wcd::hwndBuffer, WM_SETFONT, (WPARAM)*game::s_wcd::hfBufferFont, 0); + + utils::hook::set(game::s_wcd::SysInputLineWndProc, (WNDPROC)SetWindowLongPtrA( + *game::s_wcd::hwndInputLine, -4, (LONG_PTR)input_line_wnd_proc)); + SendMessageA(*game::s_wcd::hwndInputLine, WM_SETFONT, (WPARAM)*game::s_wcd::hfBufferFont, 0); + + SetFocus(*game::s_wcd::hwndInputLine); + game::Con_GetTextCopy(text, 0x4000); + conbuf_clean_text(text, cleanConsoleBuffer); // Conbuf_CleanText is inlined + SetWindowTextA(*game::s_wcd::hwndBuffer, cleanConsoleBuffer); + } } class component final : public component_interface @@ -52,6 +188,9 @@ namespace console public: void post_unpack() override { + const utils::nt::library self; + logo = LoadImageA(self.get_handle(), MAKEINTRESOURCEA(IMAGE_LOGO), 0, 0, 0, LR_COPYFROMRESOURCE); + utils::hook::jump(printf, print_stub); this->terminate_runner_ = false; @@ -59,15 +198,10 @@ namespace console this->console_runner_ = utils::thread::create_named_thread("Console IO", [this] { { - utils::hook::detour d; - d.create(0x142333B40_g, utils::hook::assemble([](utils::hook::assembler& a) - { - a.mov(r8, "BOIII Console"); - a.mov(r9d, 0x80CA0000); - a.sub(eax, edx); - a.jmp(0x142333B4F_g); - })); - create_game_console(); + utils::hook::detour sys_create_console_hook; + sys_create_console_hook.create(0x1423339C0_g, sys_create_console_stub); + + game::Sys_ShowConsole(); g_started = true; } @@ -79,9 +213,9 @@ namespace console TranslateMessage(&msg); DispatchMessageW(&msg); - if(msg.message == WM_QUIT) + if (msg.message == WM_QUIT) { - terminate_game(); + execute_command("quit\n"); } } else diff --git a/src/client/game/game.cpp b/src/client/game/game.cpp new file mode 100644 index 00000000..15d9662e --- /dev/null +++ b/src/client/game/game.cpp @@ -0,0 +1,4 @@ +#include + +#include "loader/component_loader.hpp" +#include "game.hpp" diff --git a/src/client/game/game.hpp b/src/client/game/game.hpp new file mode 100644 index 00000000..8ee1a258 --- /dev/null +++ b/src/client/game/game.hpp @@ -0,0 +1,37 @@ +#pragma once + +//#include "structs.hpp" + +namespace game +{ + template + class symbol + { + public: + symbol(const size_t address) + : address_(reinterpret_cast(address)) + { + } + + T* get() const + { + return reinterpret_cast((uint64_t)address_); + } + + operator T* () const + { + return this->get(); + } + + T* operator->() const + { + return this->get(); + } + + private: + T* address_; + }; + +} + +#include "symbols.hpp" diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp new file mode 100644 index 00000000..5fcb8d82 --- /dev/null +++ b/src/client/game/symbols.hpp @@ -0,0 +1,26 @@ +#pragma once + +#define WEAK __declspec(selectany) + +namespace game +{ + WEAK symbol Cbuf_AddText{0x1420EC8B0_g}; + + WEAK symbol Com_Printf{0x1421499C0_g}; + + WEAK symbol Con_GetTextCopy{0x14133A7D0_g}; + + WEAK symbol Sys_ShowConsole{0x142333F80_g}; + + namespace s_wcd + { + WEAK symbol codLogo{0x157E77A50_g}; + WEAK symbol hfBufferFont{0x157E77A58_g}; + WEAK symbol hWnd{0x157E77A40_g}; + WEAK symbol hwndBuffer{0x157E77A48_g}; + WEAK symbol hwndInputLine{0x157E77A60_g}; + WEAK symbol windowHeight{0x157E7806C_g}; + WEAK symbol windowWidth{0x157E78068_g}; + WEAK symbol SysInputLineWndProc{0x157E78070_g}; + } +} diff --git a/src/client/resource.hpp b/src/client/resource.hpp index d546dabf..f01f31e0 100644 --- a/src/client/resource.hpp +++ b/src/client/resource.hpp @@ -2,3 +2,5 @@ #define ID_ICON 102 #define IMAGE_SPLASH 300 + +#define IMAGE_LOGO 301 diff --git a/src/client/resource.rc b/src/client/resource.rc index 68145b75..e3563bab 100644 --- a/src/client/resource.rc +++ b/src/client/resource.rc @@ -93,6 +93,7 @@ END //ID_ICON ICON "resources/icon.ico" IMAGE_SPLASH BITMAP "resources/splash.bmp" +IMAGE_LOGO BITMAP "resources/logo.bmp" #endif // English (United States) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/src/client/resources/logo.bmp b/src/client/resources/logo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d62dc9cb53e1727b899f53b82df2b38e3c3ae725 GIT binary patch literal 109976 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

X%aEg0+viMvfk1Lc) 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 Kg1 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 literal 0 HcmV?d00001 diff --git a/src/client/steam/steam.cpp b/src/client/steam/steam.cpp index 54c3cf01..686a7adf 100644 --- a/src/client/steam/steam.cpp +++ b/src/client/steam/steam.cpp @@ -115,7 +115,7 @@ namespace steam return false; } - MessageBoxA(nullptr, "Steam must be installed for the game to run. Please install steam!", "Error", MB_ICONERROR); + MessageBoxA(nullptr, "Steam must be installed for the game to run. Please install Steam!", "Error", MB_ICONERROR); ShellExecuteA(nullptr, "open", "https://store.steampowered.com/about/", nullptr, nullptr, SW_SHOWNORMAL); TerminateProcess(GetCurrentProcess(), 1); return true;