Commit graph

166 commits

Author SHA1 Message Date
VDm
bd0e59a795 fix(d3d): fix calling conventions 2025-05-03 15:54:49 +04:00
VDm
c721538698 fix(gx): fix Blit_uint32_uint32 when inStride != outStride 2025-05-01 00:10:25 +04:00
VDm
957a4c7e2f
feat(glue): add realm and character handling (#7)
* fix(build): make project compilable

* feat(glue): update Character Selection screen to support switching

* fix(ui): fix CSimpleFontString::GetHeight() to use proper method

* feat(db): add static database classes from whoa-autocode

* feat(ui): use class and area IDs for Character Selection

* chore(db): update ItemRandomPropertiesRec

* feat(glue): update CCharacterSelection methods

* chore(db): uncomment DB records

* feat(glue): implement character deletion

* feat(gx): update supported text tags in GxuDetermineQuotedCode

* fix(ui): fix CSimpleFontString to use the FixedColor flag only if the string does not contain color tags

* feat(net): implement GrunLogin::LogOff

* feat(net): implement NetClient::Disconnect

* feat(login): implement trimming of realm name in LoginResponse::HandleRealmData

* feat(net): implement proper disconnection from login and realm servers

* feat(net): implement PING/PONG messages

* feat(net): add NetClient::Destroy method

* feat(net): implement ClientServices::GetRealmList (second request of Realm List)

* feat(glue): implement CGlueMgr::PollRealmList

* feat(glue): implement CGlueMgr::PollCreateCharacter

* chore(glue): add skeleton of CCharacterComponent class

* fix(build): fix build using latest features

* fix(glue): kill gotos in CGlueMgr::NetDisconnectHandler

* fix(build): include SDL3

---------

Co-authored-by: superp00t <superp00t@tutanota.com>
2025-04-16 17:32:37 -04:00
31f215ea14 feat(console): hardware detection et cetera 2025-04-12 04:35:49 -04:00
c67ca6fba9 feat(gx): add work for console hardware detection 2025-04-01 15:18:36 -04:00
12b405a4dd feat(gx): add placeholder EGxOverride 2025-04-01 15:17:09 -04:00
7bd7d1ac9e fix(d3d): badly copied code 2025-04-01 14:55:45 -04:00
8adf3a0061 feat(d3d): clean up hardware cursor stuff 2025-04-01 12:43:55 -04:00
46843880ef fix(whoa): update thunderbrew to use the refactored squall error/validation and bc allocation macros 2025-03-31 23:52:37 -04:00
VDm
2a02ba3657 feat(d3d): update CGxDeviceD3d::ISceneBegin 2025-03-31 00:08:41 +04:00
VDm
9c0c0c64ba fix(d3d): fix cursor shape for non-client window area 2025-03-30 12:41:01 +04:00
VDm
d18d8acc43 feat(gx): add constructors of CGxFormat 2025-03-29 23:23:47 +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
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
b6ee76054f refactor(gx): name all function parameters in header 2024-11-28 05:00:33 -05:00
1721e09741 fix(gx): reflect OG behavior better in Screen 2024-09-10 20:30:24 -04:00
7240aa5dd2 fix(gx): removed DirectXMath-less matrix multiplication shim 2024-09-10 20:21:03 -04:00
3e77eb935a feat(gx): add directxmath for MinGW 2024-09-07 13:54:54 -04:00
ddcdff5e51 fix(gx): use std::abs instead of std::fabsf 2024-09-06 14:00:38 -04:00
9fc5476ef7 feat(gx): add broken cursor drawing implementation 2024-09-06 12:32:50 -04:00
520b6254b3 feat(gx): add more readable error for initializing an unknown device 2024-09-06 12:32:26 -04:00
c6e1751bbe feat(texture): implemented TextureLoadImage API, also support loading and mipping TGA files 2024-09-06 12:31:08 -04:00
422a36cd93 fix(gx): log what api is being used when initializing device 2024-07-22 16:16:41 -04:00
6fa58683ad fix(glsdl): use SDL2 'centered' values for new window 2024-07-22 16:15:35 -04:00
1b4f1dba86 fix(gx): simplified gx device creation according to api enum 2024-07-22 01:21:08 -04:00
5229b9b972 fix(gx): only use GLSDL if compiled with CMake variable WHOA_BUILD_GLSDL 2024-07-22 00:43:39 -04:00
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
2a46ce4d6d feat(build): to compile with FMOD support, WHOA_BUILD_FMOD must be passed into CMake 2024-07-21 18:39:52 -04:00
5f3eadea1e fix(font): specify 'std' namespace when accessing floor() to avoid double function 2024-07-21 18:30:33 -04:00
20f392cd74 chore(build): make Thunderbrew zig-buildable 2024-07-21 16:41:14 -04:00
c6e2947506 fix(gx): size_t is declared in <cstddef>, not <cstdint> 2024-03-29 22:53:29 -04:00
64f20e6fee fix(gx): removed some bad class declaration 2024-03-29 22:47:30 -04:00
f81a6fb92b fix(gx): dispatch SDL window events in SceneClear() 2024-03-05 16:39:45 -05:00
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
8596860120 fix(glsdl): move SDL event dispatching to different function 2024-03-05 01:52:10 -05:00
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
0f04abb9de fix(gx): remove stub NewGLSDL when compiling for macOS 2023-12-16 21:03:53 -05:00
073c7d7dc0 fix(gx): CGxDeviceGLSDL should set its gxApi value to GxApi_GLSDL 2023-12-10 19:19:03 -05:00
6bf87c4f2d feat(gx): detach CGxDeviceGLSDL from GxApi_OpenGl handling 2023-12-10 19:04:57 -05:00
f03ea10648 fix(gx): create CGxDeviceGLSDL using GxApi_GLSDL 2023-12-10 18:55:04 -05:00
bd9e145557 feat(gx): add EGxApi value GxApi_GLSDL 2023-12-10 18:53:52 -05:00
1570d3dc99 fix(gx): create GLSDL graphics device on Linux 2023-12-02 12:28:53 -05:00
b379e06194 fix(gx): add missing include <cstring> 2023-12-02 12:18:48 -05:00
56439993ba feat(gx): implement GLSDLDevice::SetScissor 2023-11-30 22:32:07 -05:00
1620994f02 fix(gx): typo 2023-11-30 16:13:08 -05:00
47b9878e3e fix(gx): restore old behavior to GLSDL 2023-11-30 16:11:40 -05:00