Commit graph

233 commits

Author SHA1 Message Date
Marcus Minhorst
4505e758f0 Link MoltenVK 2025-09-23 01:38:57 -04:00
Marcus Minhorst
c26490a395 Fix linker config 2025-09-23 01:38:57 -04:00
Christoph Oelckers
dadfade127 Exclude SDL2 from Windows compilation.
This causes problems if CMake finds it - these files are not meant to be used on Windows builds
2025-09-20 23:08:45 -04:00
Marcus Minhorst
65cfb976fa
Squashed 'libraries/ZWidget/' changes from 924b8e0e78..b5ae8c8ab0 (#3357)
b5ae8c8ab0 Fix sdl2 initial paint
a06bc7f8b4 Wayland Backend: Use unaccelerated dx and dy for OnMouseMoveRawEvent()
f1789718d1 Wayland Backend: Implement clipboard support
11f3fe0e21 Fix a typo
2f4e3603e0 Add timers
bcecfa9ee2 Fix filling with wrong window background sometimes
6681d2c2d8 Fix timer linked list
4564f7ea88 OnXInputEvent calls callbacks, which potentially could create/destroy windows
92f99a1abf Improve timer stability
4ccb1a03f8 Fix Cursor Shape protocol related crashes - If the protocol is available, avoid handling buffers directly
fdefb2945d Add timers for X11 backend
25a2a2c846 WaylandDisplayBackend: New protocols and improvements - Add xdg_toplevel_icon and cursor_shape protocols support - Implement WaylandDisplayWindow::SetWindowIcon() based on the xdg_toplevel_icon protocol.
d817b79b98 Fix compile error
af5a87dba5 Add missing include statement
43996b7864 setIcon for x11
49ae157f31 Implement setIcon for Windows Fix spaces that should be tabs in the wayland backend
a564526bb7 WaylandDisplayBackend: Combine LShift and RShift into Shift
46031df314 CMakeLists: Remove the unnecessary additional SDL2 check in the example section
5363f5354e Implement open folder dialog Improve support for paths with spaces in them
bec2844e11 Fix the CI label for macOS
e2c6af9e5d Seems CI was set to use a macOS version from 1865
991ca3377a Enable macOS in CI
1f5c95edef include SDL2 directory to fix mac compilation

git-subtree-dir: libraries/ZWidget
git-subtree-split: b5ae8c8ab038789298a8df1384322f0e69e57e5c
2025-09-19 23:49:56 -03:00
Marcus Minhorst
5834fe6abe
[Nit] Silence more minor warnings
* Silence -Wdeprecated-literal-operator

* Silence -Wmissing-braces warning

* Silence -Wbitwise-instead-of-logical warning

* Silence -Wlogical-op-parentheses warning
2025-09-19 23:49:03 -03:00
Marcus Minhorst
e2bd23dfa0
[Nit] Fixup nontrivial memcall warning
* Silenced -Wnontrivial-memcall in asmjit

* Silenced -Wnontrivial-memcall in tools

* Silenced -Wnontrivial-memcall

* (to squash) Silenced -Wnontrivial-memcall (as reviewed by Jay)

* (to squash) Silenced -Wnontrivial-memcall (as reviewed by Jay [again])
2025-09-19 16:38:53 -03:00
rafapaezbas
6a0ee2c9fe fix compilation in mac with sdl2 2025-09-08 03:04:03 -03:00
Brad Smith
ca74b49dc8 Remove hardcoded libdl for BSD's
Fixes build on OpenBSD and NetBSD. BSD's do not use libdl.
2025-08-30 06:31:32 -04:00
Marcus Minhorst
f532b04712 Maybe fix initial paint
Needs to be upstreamed after confirming this does in fact fix things
2025-08-26 23:22:53 -04:00
Marcus Minhorst
27a934ee70 Merge commit '87689ccb5f' into theme 2025-08-26 22:09:24 -04:00
Rachael Alexanderson
f30fc8dd00
mirror changes from commit '194fb9e' at https://github.com/dpjudas/vkdoom 2025-08-13 17:24:51 -04:00
Rachael Alexanderson
6356d87438 Squashed 'libraries/ZWidget/' changes from 02da8cdc0e..cecd34301d
cecd34301d Delay load DPI-related functions
bfc172f702 Added exception to some unimplemented functions
7c8d469bcb Added item modifications functions
847d0e6d9e Improved keyboard navigation
8c4270e0f8 Dropdown can now be closed by re-selecting it
91402c31ec Fix dropdown positioning in x11 and win32

git-subtree-dir: libraries/ZWidget
git-subtree-split: cecd34301d369400227eb0f27bad2ab41ad756d2
2025-08-13 17:17:30 -04:00
Rachael Alexanderson
b7d9ddb6a3
Merge commit '6356d87438' 2025-08-13 17:17:30 -04:00
Marcus Minhorst
2ef2243f7f
Update zwidget
* Moved subtree scripts to tools, updated bash script for granularity

* Squashed 'libraries/ZWidget/' changes from 96501b6ef1..02da8cdc0e

02da8cdc0e Added ListView::GetPreferredWidth, ListView::GetPreferredHeight, ListView::GetMinHeight
04bf153d9d Added event subscriber system
1ce55e5da2 Added Dropdown Known issues: does not hide when parent widget's visibility changes

git-subtree-dir: libraries/ZWidget
git-subtree-split: 02da8cdc0e0ca14443245e0aa5a25b3f8e84928b
2025-08-09 21:28:36 -03:00
Rachael Alexanderson
d72ae6d14b
- implement impure's changes to discordrpc to use crt allocator to prevent crashes with newer versions of cmake 2025-08-02 11:55:24 -04:00
Rachael Alexanderson
34c2d4f917
Squashed commit of the following:
- add submodule update scripts
    - remove auto-setup scripts, they don't work anymore
    - copy zmusic.dll into build folder (this may need to be also done on Linux sometime)
    mirror changes from commit '194fb9e' at https://github.com/dpjudas/vkdoom
    - fix for case sensitive systems
2025-07-30 01:25:09 -04:00
Rachael Alexanderson
397976738f
- integrate zmusic into normal build process 2025-07-30 00:37:50 -04:00
Rachael Alexanderson
8f1f0d5a02 Merge commit '9f3cb3d92e' as 'libraries/ZMusic' 2025-07-30 00:24:15 -04:00
Rachael Alexanderson
404123a22e Merge commit 'd9b2c00228' as 'libraries/ZWidget' 2025-07-30 00:09:28 -04:00
Rachael Alexanderson
3dbe3bd8e0
- remove zwidget local copy to be included later as a subtree 2025-07-30 00:05:20 -04:00
Nikita
45ac7c1d9e
ZScript DAP Debug server (#3009)
* Add STL-standard type traits and functions to TMap to enable for loop iteration

* add third-party range-map library

I have e-mailed the author for clarifcation on the license, will update this when they respond

* vcpkg: Add cppdap and eventpp libraries, update baseline

* DAP implementation

* Add `FileSystem::FileHash()` to get the CRC32 hash

* add `starting_offset` param to `VMDisasm()` for debugger disassembly view

Defaults to `0`, should not change output if it's not set

* Add `VMFrameStack::HasFrames()` to prevent assertions when inspecting in the debugger

* Add `PC` field to VMFrame, ensure that it is updated whenever vm increments/decrements the pc

Does not change alignment, the offsets used in VMFrame still work
We need this for the debugger because we otherwise have no way to get the pc; it was a local in `ExecScriptFunc()`

* `ZCCCompiler::CreateClassTypes()`: ensure SourceLumpName is set for classes derived from non-native classes

* start debug server in d_main, add `vm_debug` cvars and `-debug` CLI arg

* Add documentation for `vm_debug` cvars

* vm_exec: Add debugger hooks for instruction execution events

* c_console: Add debugger hooks for logging events in `PrintString`

* add `.cache/` to gitignore

* vendor cppdap on main @ 6464cd7

Patches:
removed .gitmodules (submodules were thirdparty/json, thirdparty/googletest)
removed thirdparty/googletest, not needed
removed thirdparty/json/docs, thirdparty/json/test, thirdparty/json/benchmarks to prevent massive bloat

* vendor eventpp on master @ 1224dd6

* build: use internal cppdap and eventpp by default

* dap: fix Binary::GetFunctionLineRange()

* fix bug in range_map::find_ranges

* make Binary dap::Source dynamic

* cache source code upon retrieval

* refactor Binary into a class, cleanup PexCache

* fix ending session gracefully

* d_main: Stop debug server in D_Cleanup()

* Fix connecting to debugger when session already started

* cleanup unused stuff in ZScriptDebugger

* always send TerminateEvents on disconnect if initialized

* tweak color display

* Don't cache disassembly lines when scanning scripts

* Cache nodes when getting runtime state

* WIP display locals

* Fix display of static arrays

* Ensure names display in proper order

* dap: Fix struct locals display, add args display

* Support `start` parameter

* Support `filter` parameter

* remove struct unbound native data display

Practically useless for debugging zscript and didn't work properly anyway

* d_main: fix vm_jit and vm_jit not being disabled soon enough

* support breaking on abort exceptions

* dap: refactor game event emitter functions into seperate header

* dap: show native functions on stack

* dap: Remove "Native" from exception handling, simplify exception event emit

* dap: add instruction breakpoints

* dap: fix display of locals not in scope yet

* dap: Make disassembly view display invalid instructions for non-code addresses

* dap: remove dot initializers

* dap: fix local structs in scope

* dap: don't parse the non-used options in the launch/attach requests

* dap: fix local struct view

* dap: Fix displaying objects that aren't their actual types

* dap: Fix action and state handling

* dap: stack display view

* dap: fix object display view

* d_dehacked: set qualified name in addition to the printable name

* dap: fix displaying breakpoint errors when script isn't loaded

* dap: remove debug print

* dap: Display parameter names

* dap: Turn down verbosity of logging

* dap: fix disassembly view

* dap: fix performance problems with arrays

* c_console: emit event only if not PRINT_NODAPEVENT

* dap: improve logging

* dap: update upstream cppdap library to fix deadlocks on no bind

* dap: Fix ending session on client socket closed

* dap: prevent DebugServer.h from pulling in `dap` and `ZScriptDebugger.h`

* dap: fix pause event not being emitted on pause

* dap: remove eventpp emitters, way too slow

* Remove eventpp dependency

* dap: Display correct register names

* dap: Show special inits in registers

* dap: Add stack offset to VMLocalVariable

* dap: fix display of static arrays and local variables on stack vs. registers

* dap: fix displaying function pointers

* dap: tweak color display

* dap: fix scalar display < 4

* dap: add Globals display to debugger

* dap: unify methods to get vmvalue

* dap: rename free method to freeValue to avoid running afoul of macro defs

* fix windows builds

* fix compile on linux

* cleanup

* Fix display of function breakpoints

* dap: Don't send back binary files

* dap: include sbarinfo in script types (no debug support for anything but zscript yet, this is just for returning source info)

* dap: don't show ending session message unless initialized

* fix erroneous commit

* dap: handle evaluate requests

* Fix getting bitfield values

* Add CVars Scope and evaluation

* add running console commands from repl

* dap: disable commands via repl for now

* fix loading functions DECORATE scripts

* Add source information to Dehacked VM functions, add debugging support

* dap: cleanup

* fix resolving archive paths

* don't send source back on native stack frames

* handle `modules` request

* cleanup

* allow evaluating cvars on hover

* fix oob bpinfos

* fix restarting the game blowing out the debug server

* dap: process input events while paused to prevent deadlocks

* fix getting local state

* dap: fix LocalState alignment

* dap: fix DumpStateHelper

* update cppdap protocol version to 1.68.0

* remove cppdap from vcpkg deps

We can't use the upstream version anyway because the maintainers are not merging our patches

* dap: make named variable nodes derive from the same class

* dap: make cvar scope available in native stack frames

* handle local variables with conflicting names

* add I_GetWindowEvent() to win32 to only process window events when debugging is paused

* dap: fix evaluate

* dap: fix display of `out` variables
2025-07-18 00:01:18 -03:00
Boondorl
885c1d2920 Update to latest ZWidget version
This adds new features (such as themes) alongside fixing numerous bugs. This should be kept up-to-date with upstream more often and changes to it should be PR'd back to its main repo.
2025-06-18 14:47:03 -03:00
Peppersawce
a02892389d Haiku support patch 2025-04-05 20:49:45 -04:00
James Le Cuirot
e2103d2508 Fix building with GCC 15 2025-03-10 03:06:50 -03:00
Boondorl
80d5450af9 Updated ZWidget ListView
Added column support for consistent spacing between elements. Improved item adding functionality. Added Update and Remove item functionalities. Update ListView scrollbar on item add/remove.
2025-03-07 20:32:52 -05:00
Christoph Oelckers
f0676cdf01 fixed a few memory leaks 2024-10-05 10:22:05 +02:00
Christoph Oelckers
5fa220219e Reverted use of tchar.h which should be considered deprecated.
GZDoom is Unicode only - as should be the norm for any Windows application - and will not work when compiled as ANSI so there's no good reason to use this wrapper.
2024-08-16 12:41:29 +02:00
Ritchie Swann
0d5e35985d
Fix incorrect return type 2024-08-15 02:43:48 -04:00
Ritchie Swann
d17bde151f
Fix to use the correct definition of DwmDefWindowProc 2024-08-15 02:43:48 -04:00
Ritchie Swann
42c64e438f
fix faux pas 2024-08-15 02:43:48 -04:00
Ritchie Swann
699bef1316
Better solution for DwmDefWindowProc on mingw64
On mingw, create our own thunk for DwmDefWindowProc. It should exist in libdwmapi.a (and exists in MSVC), but doesn't.
2024-08-15 02:43:48 -04:00
Ritchie Swann
67d573cd41
Use TCHAR for Windows 2024-08-15 02:43:46 -04:00
Ritchie Swann
e3795c762a
Fix preprocessor symbol for Windows 2024-08-15 02:43:46 -04:00
Ritchie Swann
95f31cdd7e
mingw64 requires including cstdint 2024-08-15 02:43:46 -04:00
Rachael Alexanderson
4625d4ac34
- mirror changes with ZWidget, remove SDL_Wait failure message 2024-04-28 04:07:21 -04:00
Rachael Alexanderson
d9f03863bf
- make gcc14 happy 2024-04-25 02:37:51 -04:00
Rachael Alexanderson
eba9036164
- shorten sdl_waitevent error message 2024-04-24 07:17:09 -04:00
Rachael Alexanderson
83d751af72
- demote SDL_Wait errors to console printouts 2024-04-24 06:56:49 -04:00
Christoph Oelckers
4aee4fd187 optimized last commit to not retrieve the function repeatedly if it has already failed. 2024-04-21 14:30:26 +02:00
Rachael Alexanderson
744e67e02b - dynamically import GetDpiForWindow from USER32.dll, else return a default value 2024-04-21 14:25:48 +02:00
Christoph Oelckers
1fe6556e6e ZWidgets: disabled SetClientFrame.
On Win32 this function is unused, but it contains two API calls that only exist in Windows 10 or later.
2024-04-21 12:13:03 +02:00
Rachael Alexanderson
d63d720d4c
- version g4.13pre
Some checks failed
Continuous Integration / Linux Clang 12 | AppImage (push) Has been cancelled
Continuous Integration / macOS | Debug (push) Has been cancelled
Continuous Integration / Linux Clang 11 | Debug (push) Has been cancelled
Continuous Integration / Visual Studio 2022 | Debug (push) Has been cancelled
Continuous Integration / Linux GCC 12 | MinSizeRel (push) Has been cancelled
Continuous Integration / Linux GCC 9 | RelWithDebInfo (push) Has been cancelled
Continuous Integration / macOS | Release (push) Has been cancelled
Continuous Integration / Linux Clang 15 | Release (push) Has been cancelled
Continuous Integration / Visual Studio 2019 | Release (push) Has been cancelled
Continuous Integration / Visual Studio 2022 | Release (push) Has been cancelled
2024-04-21 02:59:39 -04:00
Magnus Norddahl
26fe8f020e
Oops, this temporary file wasn't meant to be committed 2024-04-11 14:08:01 -04:00
Magnus Norddahl
648b1a1f26
Fix source_group typos 2024-04-11 14:07:44 -04:00
Magnus Norddahl
140ad88003
Embed libwebp and remove it from vcpkg since the package broke over night (GGs package managers) 2024-04-11 13:59:59 -04:00
Magnus Norddahl
989123b5f8 Fix null pointer crash 2024-02-01 20:48:33 -05:00
dpjudas
58acf528bf Update to latest ZVulkan 2024-01-25 22:50:20 -05:00
Magnus Norddahl
63f1326e62 Add support for changing the tab labels 2024-01-11 16:52:12 +01:00
Christoph Oelckers
53c6002746 attempt to fix compilation on macOS 2024-01-11 16:41:21 +01:00
Magnus Norddahl
8cc531e283 Implement mouse event propagation 2024-01-10 23:23:13 +01:00