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
superp00t
e257ab6c88
fix(console): include console/Console.hpp in ClearConsole command file
2023-08-16 19:35:06 -04:00
superp00t
1dfb507c53
fix(console): expose ConsoleClear() in console/Console.hpp
2023-08-16 19:29:42 -04:00
superp00t
8a7d89b52f
feat(gx): implement GxuFontClearBatch
2023-08-16 19:24:24 -04:00
superp00t
647d2b622f
fix(console): include <cstdio>
2023-08-16 18:27:40 -04:00
superp00t
8e75a59d37
fix(console): include <cstdarg>
2023-08-16 18:23:34 -04:00
superp00t
d6965d392e
fix(console): replace definitions
2023-08-16 18:18:01 -04:00
superp00t
47e8d94842
fix(console): rename macros and add enum EXECMODE
2023-08-16 17:51:14 -04:00
superp00t
ee51e76795
fix(console): new types included
2023-08-16 17:38:37 -04:00
superp00t
394d4ac321
tidy(console): move several types into Types.hpp
2023-08-16 17:05:43 -04:00
superp00t
c05d229b2e
fix(console): remove duplicate CATEGORY
2023-08-16 17:02:55 -04:00
superp00t
3c7300a614
fix(console): include console/Command.hpp in CVar.cpp
2023-08-16 16:49:21 -04:00
superp00t
0397579ca9
fix(console): add command category enum
2023-08-16 16:44:20 -04:00
superp00t
384e52c7d1
feat(console): limited console implementation
2023-08-16 16:37:38 -04:00
Phaneron
9c3bc2203d
Merge pull request #1 from superp00t/feat-event-implement-sync-key-state
...
feat(event): implement synchronous key and mouse state tracking
2023-08-15 23:52:38 -04:00
superp00t
f7bc2d96bf
fix(command): C++11 doesn't have std::size, use sizeof
2023-08-15 03:58:53 -04:00
superp00t
2e0df837a9
fix(command): include <vector> for std::size function
2023-08-15 03:46:39 -04:00
superp00t
f760dd45f1
fix(command): fix enums and make functions nonstatic
2023-08-15 03:39:39 -04:00
superp00t
37460378a8
feat(console): toggle console access based on -console flag
2023-08-14 23:00:04 -04:00
superp00t
04e625f6a7
tidy(client): split CmdLine functions into separate files
2023-08-14 22:57:31 -04:00
superp00t
b408818e74
feat(client): process command-line arguments in InitializeGlobal()
2023-08-14 17:03:02 -04:00
superp00t
b92c658dd0
feat(app): parse command line arguments at launch on Unixlikes
2023-08-14 16:29:21 -04:00
superp00t
3ee7e489aa
feat(event): implement synchronous key and mouse state tracking
2023-04-29 23:12:53 -04:00
fallenoak
df1ab32267
feat(console): animate console open and close
2023-04-17 22:44:44 -05:00
Tristan 'Natrist' Cormier
56092c6700
feat(console): partially implement console key down handler
2023-04-17 21:10:10 -05:00
fallenoak
884e491b25
chore(ui): clean up script handlers for CScriptObject
2023-04-17 18:15:40 -05:00
fallenoak
bc1ce52f7d
chore(gx): use uint32_t union member in CGxStateBom when appropriate
2023-04-17 16:52:11 -05:00
fallenoak
58272f1212
chore(gx): clean up function declarations in GLDevice
2023-04-17 12:16:38 -05:00
fallenoak
01ca76788c
chore(gx): clean up member function declarations in CGxMatrixStack
2023-04-15 21:23:03 -05:00
fallenoak
912d643e9c
chore(gx): add flag enum to CGxMatrixStack
2023-04-15 21:21:27 -05:00
Tristan 'Natrist' Cormier
3549abd87f
feat(console): add helpers for console hotkey
2023-04-15 16:33:17 -05:00
fallenoak
309ba8085c
feat(console): enable console access when initializing device
2023-04-15 16:14:15 -05:00
Tristan 'Natrist' Cormier
ef71ddc46e
feat(console): add helpers for console access enabled state
2023-04-15 16:03:58 -05:00
Tristan 'Natrist' Cormier
092ba0f881
feat(console): add helpers for console active state
2023-04-15 14:40:07 -05:00
fallenoak
d67e13087a
feat(gx): sync viewport in d3d backend
2023-04-15 13:56:49 -05:00
fallenoak
37996fa79c
feat(gx): set marker when viewport changes
2023-04-15 12:36:57 -05:00
fallenoak
5174970b24
feat(gx): sync projection and view xforms in d3d backend
2023-04-15 12:14:33 -05:00
fallenoak
c0e623d02b
feat(gx): add const getter for top of matrix stack
2023-04-15 10:32:07 -05:00
fallenoak
4a1101bd7d
feat(gx): stub ffp state syncing in d3d backend
2023-04-15 10:04:29 -05:00
fallenoak
36fa30eba8
feat(gx): add equality operator to CGxStateBom
2023-04-15 09:16:59 -05:00
fallenoak
317d94cd1a
feat(gx): handle projection and view matrices in GLL backend
2023-04-14 08:02:40 -05:00
fallenoak
eb70607750
fix(gx): only change vertex array FFP state for used attrib slots
2023-04-14 07:45:19 -05:00