Commit Graph

533 Commits

Author SHA1 Message Date
VDm
babeb2d864 feat(gameui): add CGGameUI class 2025-03-29 23:57:13 +04:00
VDm
8a71e9fdea fix(client): fix reloadUI command 2025-03-29 23:53:56 +04:00
VDm
1539c56ace fix(ui): fix StringToJustify to support BOTTOM 2025-03-29 23:48:30 +04:00
VDm
7ae43b73fb feat(ui): update Script_GetSelectBackgroundModel 2025-03-29 23:47:25 +04:00
VDm
f28f4b0379 feat(glue): display list of characters 2025-03-29 23:43:21 +04:00
VDm
d536140d63 feat(net): update RealmConnection::HandleCharEnum to use virtual call of RealmResponse::CharacterListReceived 2025-03-29 23:39:10 +04:00
VDm
1e8dc7aef9 feat(net): add RealmConnection::HandleCharEnum implementation 2025-03-29 23:37:24 +04:00
VDm
ba21fb2994 fix(ui): fix height calculation of CLayoutFrame 2025-03-29 23:33:38 +04:00
VDm
a15b5de3bf feat(glue): update handlers for StatusDialogClick 2025-03-29 23:32:33 +04:00
VDm
31f4103f12 feat(glue): make character selection screen available 2025-03-29 23:31:27 +04:00
VDm
b9b070830f feat(glue): add global variables for CGlueMgr 2025-03-29 23:28:52 +04:00
VDm
d18d8acc43 feat(gx): add constructors of CGxFormat 2025-03-29 23:23:47 +04:00
VDm
29bae200f3 fix(console): use CVar value for hardware cursor 2025-03-29 23:16:46 +04:00
VDm
28eecb2a09 feat(console): update SetGxCVars and UpdateGxCVars 2025-03-29 23:13:58 +04:00
VDm
758099c076 feat(console): implement RegisterGxCVars 2025-03-29 23:08:51 +04:00
VDm
841cc1a476 feat(event): add code page conversion 2025-03-29 23:03:25 +04:00
VDm
8d54e8ad0b feat(client): add PatchFiles class 2025-03-29 22:58:53 +04:00
VDm
4a74c722a4 feat(client): add CheckAvailableLocales method 2025-03-29 22:55:04 +04:00
VDm
77f4228abf feat(client): implement locale related calls 2025-03-29 22:51:38 +04:00
VDm
6e1f033e83 chore(gx): use GxBlend_AlphaKey for GxRs_BlendingMode 2025-03-29 22:45:31 +04:00
VDm
2f070a489e feat(d3d): add GxRs_Lighting case in CGxDeviceD3d::IRsSendToHw (fix cursor appearance) 2025-03-29 22:42:18 +04:00
VDm
d80e2b4b4f feat(d3d): add hardware cursor support 2025-03-29 18:04:21 +04:00
VDm
c4a516c44d feat(ui): add Tab button handler for CSimpleEditBox 2025-03-29 17:37:52 +04:00
VDm
6030a75530 feat(script): add lua_convertdecimal 2025-03-29 16:30:15 +04:00
VDm
f039d4f88c feat(ui): add FrameScript_Sprintf implementation 2025-03-28 02:40:17 +04:00
VDm
465b3844de feat(ui): implement SetFocus and ClearFocus script methods (CSimpleEditBox) 2025-03-28 00:54:37 +04:00
VDm
03ba4ccbb1 chore(ui): replace sub_960420 with existing FrameScript_GetColor 2025-03-28 00:34:20 +04:00
VDm
6c76720c04 fix(ui): fix typo in FrameScript_GetColor 2025-03-28 00:31:39 +04:00
VDm
f525e600a2 feat(ui): add Script_GetBuildInfo 2025-03-28 00:25:15 +04:00
VDm
a9bb4ccdce feat(ui): implement SetBackdropColor/SetBackdropBorderColor script methods 2025-03-28 00:06:53 +04:00
VDm
1ad95653c7 feat(ui): add CBackdropGenerator::SetVertexColor 2025-03-27 22:30:09 +04:00
VDm
49e2e439c2 chore(net): set localChallenge value to zero in HandleAuthChallenge 2025-03-27 20:46:28 +04:00
superp00t
b6ee76054f refactor(gx): name all function parameters in header 2024-11-28 05:00:33 -05:00
superp00t
1721e09741 fix(gx): reflect OG behavior better in Screen 2024-09-10 20:30:24 -04:00
superp00t
c90a7e2ad8 style(build): space after control flow 2024-09-10 20:29:20 -04:00
superp00t
7240aa5dd2 fix(gx): removed DirectXMath-less matrix multiplication shim 2024-09-10 20:21:03 -04:00
superp00t
0fb3dea2ee fix(app): resource compilation on MinGW 2024-09-07 20:44:57 -04:00
superp00t
c9829ca5e1 feat(app): specific WHOA_APP_DEBUG macro passed to resource file 2024-09-07 19:44:07 -04:00
superp00t
0080934ed9 fix(app): use forward slash for resource files 2024-09-07 14:39:13 -04:00
superp00t
3e77eb935a feat(gx): add directxmath for MinGW 2024-09-07 13:54:54 -04:00
superp00t
0d09dee4b3 refactor(sound): use changed STORM_LOG defines 2024-09-07 13:05:38 -04:00
superp00t
b0566ad8d7 feat(client): OsGui functions for linux 2024-09-06 23:39:33 -04:00
superp00t
eef37c109d fix(gx): if WHOA_BUILD_GLSDL, link SDL2 to event module 2024-09-06 14:17:24 -04:00
superp00t
ddcdff5e51 fix(gx): use std::abs instead of std::fabsf 2024-09-06 14:00:38 -04:00
superp00t
0ec76b4305 chore(build): add cursor module to source 2024-09-06 12:33:11 -04:00
superp00t
9fc5476ef7 feat(gx): add broken cursor drawing implementation 2024-09-06 12:32:50 -04:00
superp00t
520b6254b3 feat(gx): add more readable error for initializing an unknown device 2024-09-06 12:32:26 -04:00
superp00t
c6e1751bbe feat(texture): implemented TextureLoadImage API, also support loading and mipping TGA files 2024-09-06 12:31:08 -04:00
superp00t
3425aefc73 fix(sound): use WHOA_BUILD_SOUND 2024-09-06 12:29:58 -04:00
superp00t
e954521204 feat(util): implement SFile::{FileExistsEx, FileExists, SetFilePointer} 2024-09-06 12:28:57 -04:00
superp00t
4c6f78eda4 feat(ui): CSimpleTop::SetCursor 2024-09-06 12:27:55 -04:00
superp00t
671fd73fd3 feat(glue): set up cursor image from CGlueMgr 2024-09-06 12:26:04 -04:00
superp00t
dd7dee7232 feat(event): implement OsInputGetMousePosition; add common behavior for SDL interaction regardless of your OS 2024-09-06 12:24:35 -04:00
superp00t
29bc21a242 feat(cursor): add cursor module that stores and updates various cursor images 2024-09-06 12:22:01 -04:00
superp00t
7a2376741d fix(console): use WHOA_BUILD_GLSDL macro to detect whether GLSDL device is supported in g_gxApiSupported 2024-09-06 12:20:55 -04:00
superp00t
1931efdfb5 refactor(style): indent ugly data block 2024-09-06 12:19:31 -04:00
superp00t
f28817df6a feat(app): provide icons and resource info for Windows builds 2024-09-06 12:18:29 -04:00
superp00t
422a36cd93 fix(gx): log what api is being used when initializing device 2024-07-22 16:16:41 -04:00
superp00t
6fa58683ad fix(glsdl): use SDL2 'centered' values for new window 2024-07-22 16:15:35 -04:00
superp00t
1b4f1dba86 fix(gx): simplified gx device creation according to api enum 2024-07-22 01:21:08 -04:00
superp00t
5229b9b972 fix(gx): only use GLSDL if compiled with CMake variable WHOA_BUILD_GLSDL 2024-07-22 00:43:39 -04:00
superp00t
d067eb1ae2 feat(build): UBsan can be enabled or disabled with WHOA_UB_SAN. GLSDL can be toggled with WHOA_BUILD_GLSDL 2024-07-21 20:04:32 -04:00
superp00t
b3be0e0a7c fix(ui): link sound, not FMOD 2024-07-21 19:25:57 -04:00
superp00t
f061cd0cc0 chore(build): WHOA_BUILD_FMOD variable now determines whether FMOD is used 2024-07-21 18:45:24 -04:00
superp00t
2a46ce4d6d feat(build): to compile with FMOD support, WHOA_BUILD_FMOD must be passed into CMake 2024-07-21 18:39:52 -04:00
superp00t
5f3eadea1e fix(font): specify 'std' namespace when accessing floor() to avoid double function 2024-07-21 18:30:33 -04:00
superp00t
20f392cd74 chore(build): make Thunderbrew zig-buildable 2024-07-21 16:41:14 -04:00
Joshua Achorn
c6e2947506 fix(gx): size_t is declared in <cstddef>, not <cstdint> 2024-03-29 22:53:29 -04:00
Joshua Achorn
64f20e6fee fix(gx): removed some bad class declaration 2024-03-29 22:47:30 -04:00
superp00t
f81a6fb92b fix(gx): dispatch SDL window events in SceneClear() 2024-03-05 16:39:45 -05:00
superp00t
2fb754a83a refactor(thunderbrew): use static size members instead of null-termination to delimit FrameScript_Method arrays 2024-03-05 16:24:33 -05:00
VDm
32cfe08d0b
feat(sound): Small script related improvements
* chore(build): rename src/util/Log.* to SysMessage.*

* chore(ui): implement SetNonSpaceWrap() for error messages

* chore(ui): move Video Script methods into CGVideoOptions class

* chore(script): temporary fix GetNumOutputDrivers to eliminate loading errors

* feat(sound): add SI2 Log methods

* chore(sound): add SI2 CVars

* chore(ui): implement Script_PlayGlueMusic

* chore(sound): update SI2::Init()

* fix: resolve compilation errors in variadic macros SI2_ERR and SI2_LOG

---------

Co-authored-by: Tristan Cormier <cormiert2@outlook.com>
2024-03-05 15:53:07 -05:00
superp00t
8596860120 fix(glsdl): move SDL event dispatching to different function 2024-03-05 01:52:10 -05:00
superp00t
5240db6e0f chore(util): fix indentation in scoped switch cases 2024-02-19 01:34:23 -05:00
superp00t
6a06eb16e7 fix(util): SFile::Open() should set to nullptr even in the case of a failure 2024-02-17 21:58:52 -05:00
superp00t
1be8d5539c fix(util): fix SFile typos 2024-02-17 21:54:35 -05:00
superp00t
f135e8746b fix(util): add missing STORM_ASSERT include 2024-02-17 21:38:58 -05:00
superp00t
ac395c287d fix(util): convert void pointer to StreamRecord pointer when trying to read 2024-02-17 21:38:34 -05:00
superp00t
70642dec21 fix(gx): SFile can read from an MPQ-archived file or a plain file 2024-02-17 21:31:52 -05:00
superp00t
e20f185f75 fix(gx): file pointer should be initialized to nullptr because its value is used as a condition 2024-02-17 21:29:01 -05:00
superp00t
18d7f60df0 fix(client): SetPaths() before OpenArchives(), for obvious reasons 2024-02-12 17:35:02 -05:00
superp00t
c2a22d8672 fix(model): add missing <cstdio> include for sprintf 2024-02-11 17:29:52 -05:00
VDm
f86f6d6d09
feat(build): add StormLib (#4)
* feat(app): add StormLib

* feat(app): add OpenArchives

* feat(util): update SFile to work with StormLib

* feat(app): update SFile

* feat(util): update SFile with logging (Windows only)

* feat(ui): implemented termination w/o notice

* chore(build): update StormLib

* chore(util): replace std::string with SStr* functions

* fix(stormlib): dwFlags argument for SFileOpenPatchArchive

* chore(ui): add Script_* stubs

* chore(util): clean up SFile::OpenEx

* chore(build): update StormLib

---------

Co-authored-by: Phaneron <superp00t@tutanota.com>
2024-02-11 17:19:18 -05:00
superp00t
00d69919dd chore(build): merge changes to vendor/CMakeLists.txt 2024-02-05 18:39:41 -05:00
fallenoak
967534c96b
chore(model): improve argument names 2024-01-18 22:06:42 -06:00
superp00t
d731564ef1 fix(console): use correct logic for handling slow WTF file loading 2023-12-19 04:23:33 -05:00
superp00t
0193f00bbc fix(console): use correct WTF\ alternate path when opening cvar 2023-12-19 04:18:17 -05:00
superp00t
25063fa34a fix(console): createDisposition is not a bitfield but an enum 2023-12-19 04:17:05 -05:00
superp00t
0f04abb9de fix(gx): remove stub NewGLSDL when compiling for macOS 2023-12-16 21:03:53 -05:00
superp00t
d6de5b56ec fix(console): use InternalSet() when setting the launch value of CVar gxApi 2023-12-16 20:28:23 -05:00
superp00t
742e53f148 feat(event): make OsInputGet dispatch queued events on Linux 2023-12-13 20:28:12 -05:00
superp00t
4ecdf64491 fix(console): set gxApi after being hinted 2023-12-10 22:40:10 -05:00
superp00t
7859f381ce fix(console): gxApi string comparison should be case-insensitive 2023-12-10 22:35:51 -05:00
superp00t
073c7d7dc0 fix(gx): CGxDeviceGLSDL should set its gxApi value to GxApi_GLSDL 2023-12-10 19:19:03 -05:00
superp00t
6bf87c4f2d feat(gx): detach CGxDeviceGLSDL from GxApi_OpenGl handling 2023-12-10 19:04:57 -05:00
superp00t
c6cf2814df fix(gx): supportedApi, not supported 2023-12-10 19:02:00 -05:00
superp00t
8fe559c2d8 feat(console): allow graphics device to be initialized using hints from CVar as well as a command-line override 2023-12-10 18:56:40 -05:00
superp00t
f03ea10648 fix(gx): create CGxDeviceGLSDL using GxApi_GLSDL 2023-12-10 18:55:04 -05:00
superp00t
bd9e145557 feat(gx): add EGxApi value GxApi_GLSDL 2023-12-10 18:53:52 -05:00
superp00t
051d104ff7 feat(event): run event scheduler on Linux 2023-12-04 19:22:13 -05:00
superp00t
2aa3bd3d04 fix(util): nest forward declaration of StreamRecord 2023-12-04 19:15:37 -05:00
superp00t
76b92d1199 fix(util): bytesread, not bytesRead 2023-12-04 19:09:40 -05:00
superp00t
f072312386 fix(util): forward declare Blizzard::File::StreamRecord inside of SFile.hpp 2023-12-04 19:08:41 -05:00
superp00t
0e665e8c5e fix(util): link BlizzardCore to util module 2023-12-04 19:01:43 -05:00
superp00t
0302864f8d feat(util): SFile functions now use the BlizzardCore filesystem utilities 2023-12-04 18:54:37 -05:00
superp00t
1570d3dc99 fix(gx): create GLSDL graphics device on Linux 2023-12-02 12:28:53 -05:00
superp00t
b379e06194 fix(gx): add missing include <cstring> 2023-12-02 12:18:48 -05:00
superp00t
56439993ba feat(gx): implement GLSDLDevice::SetScissor 2023-11-30 22:32:07 -05:00
superp00t
1620994f02 fix(gx): typo 2023-11-30 16:13:08 -05:00
superp00t
47b9878e3e fix(gx): restore old behavior to GLSDL 2023-11-30 16:11:40 -05:00
superp00t
29edb4e032 fix(gx): return fallback sample count 2023-11-26 15:38:57 -05:00
superp00t
697f3ca9f6 fix(gx): disable unused code block pertaining to multisamples 2023-11-26 15:12:00 -05:00
superp00t
bf0fa09160 fix(gx): do glFlush() before swapping buffers 2023-11-26 15:11:22 -05:00
superp00t
3da866cfb0 fix(gx): include CGxDeviceGLSDL 2023-11-26 14:52:03 -05:00
superp00t
884d208bd0 feat(gx): resize GLSDL window with SDL resize event 2023-11-26 14:51:01 -05:00
superp00t
21dcc7d8ae feat(gx): handle SDL window resize event 2023-11-26 14:42:47 -05:00
superp00t
dbac391d9e fix(gx): change charactersize to int32 2023-11-26 12:43:31 -05:00
superp00t
2dd65b2b5d fix(gx): SUniSGetUTF8, not SUniGetUTF8 2023-11-26 12:25:07 -05:00
superp00t
18572b35fc fix(gx): include <storm/Unicode.hpp 2023-11-26 12:22:36 -05:00
superp00t
a336165cef feat(gx): translate SDL_TextInput events into OS_INPUT_CHAR events 2023-11-26 12:13:32 -05:00
superp00t
c0d5e2a0c8 feat(gx): GLSDL window closes upon SDL_EVENT_QUIT 2023-11-24 23:52:34 -05:00
superp00t
73912ed71a feat(gx): correct translation of mouse button index 2023-11-24 23:51:01 -05:00
superp00t
49bc9d5d8b feat(gx): GLSDL window dispatches mouse button events 2023-11-24 23:25:58 -05:00
superp00t
eccf4db2e0 feat(gx): GLSDL window dispatches mouse and key events to input queue 2023-11-24 19:33:48 -05:00
superp00t
ec66da49c5 fix(gx): when not on Windows or Linux, use dummy NewOpenGl 2023-11-18 11:30:06 -05:00
Phaneron
706c8903a1
feat(gx): add incomplete 'CGxDeviceGLSDL' (#2)
* chore(build): add vendored SDL 3.0.0 library

* chore(build): add vendored glew-cmake-2.2.0 library

* feat(console): in the presence of -opengl launch flag, change GxApi to OpenGl

* feat(gx): add uncompleted CGxDeviceGLSDL targeting Windows and Linux

* chore(build): change SDL3 linkage from shared (bad) to to static (good)
2023-11-18 10:50:16 -05:00
superp00t
934e0fb600 fix(client): define login CVars as static variables part of class ClientServices 2023-09-01 22:07:33 -04:00
superp00t
127b83f24c fix(client): define login CVars inside ClientServices.cpp 2023-09-01 21:59:50 -04:00
superp00t
0b6ca30f7d fix(client): include 'console/Client.hpp' 2023-09-01 21:28:54 -04:00
superp00t
77608bab14 fix(client): missing static specifier 2023-09-01 21:28:09 -04:00
superp00t
5928749866 feat(client): typos 2023-09-01 21:24:17 -04:00
superp00t
d60b85f85c feat(client): use 'realmList' CVar when connecting to realm list server 2023-09-01 21:14:28 -04:00
superp00t
9096894a21 fix(console): query if either CTRL key is pressed in OnKeyDownRepeat 2023-08-25 16:04:34 -04:00
superp00t
a6550c7c76 fix(console): get input line in OnKeyDownRepeat 2023-08-25 16:03:43 -04:00
superp00t
eb29dfd933 feat(console): handle some repeating key input events 2023-08-25 16:02:56 -04:00
superp00t
5bb6123a43 fix(console): fix improper printing in 'cvarlist' command 2023-08-25 01:06:37 -04:00
superp00t
f6fba9b74c fix(console): fix improper printing in 'cvarlist' command 2023-08-25 00:57:25 -04:00
superp00t
93be23dacc fix(client): include <bc/os/Path.hpp> 2023-08-24 23:30:06 -04:00
superp00t
8e1869ffc1 fix(console): fix cvar iteration names 2023-08-24 23:25:55 -04:00
superp00t
0bc324fb97 fix(console): add missing argument to CVar::Set 2023-08-24 23:18:46 -04:00
superp00t
ad147508a1 fix(console): specify CVar namespace when using s_registeredCVars 2023-08-24 23:15:39 -04:00
superp00t
8e5b32555c fix(console): CVar::Load functions are static 2023-08-24 23:12:13 -04:00
superp00t
c3827174e9 fix(console): forward declare command handlers 2023-08-24 22:40:26 -04:00
superp00t
089d5438a1 fix(console): fix SetCommandHandler 2023-08-24 22:35:39 -04:00
superp00t
17fc9017e0 feat(console): add functions to reset and default cvars 2023-08-24 22:24:47 -04:00
superp00t
851c1aea5b fix(util): remove placeholder OsCreateDirectory 2023-08-24 21:29:44 -04:00
superp00t
2fbae5bf52 fix(util): correct string empty checks 2023-08-24 21:25:02 -04:00
superp00t
1219279a2d feat(console): load console variables from WTF files 2023-08-24 20:51:30 -04:00
superp00t
5c75a80a15 fix(event): use ExitProcess() to actually exit on Windows, exit() doesn't work 2023-08-17 05:43:24 -04:00
superp00t
532d63bdc5 fix(console): std::size not available in C++11 2023-08-16 21:08:48 -04:00