Commit graph

216 commits

Author SHA1 Message Date
b2a9dbf809 Merge remote-tracking branch 'gzdoom/master' into gzdoom_merge 2025-09-24 19:39:17 +02:00
Marcus Minhorst
1ce1e1f6be Turn off gles by default for apple 2025-09-23 01:38:57 -04:00
Marcus Minhorst
8479aef773 Update macos search paths 2025-09-23 01:38:57 -04:00
Marcus Minhorst
ce932d8aeb Disable building example code 2025-08-26 23:22:53 -04:00
Magnus Norddahl
3fdd22ef91 Merge remote-tracking branch 'gzdoom/master' into big_beautiful_merge 2025-08-06 21:06:53 +02:00
Madeline Mewmews
ba933a6f80 Flesh out FORCE_INTERNAL_ZMUSIC cmake option
Signed-off-by: Madeline Mewmews <maddie@mewmews.gay>
2025-08-04 18:13:57 -04:00
alexey.lysiuk
2db3f7bc45 - fixed build with system-wide ZMusic intallation
tools/zipdir/zipdir.c:47:10: fatal error: 'miniz.h' file not found
2025-08-01 11:54:27 +03: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
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
Marcus Minhorst
21a90ab7e1 Added missing Solaris checks 2025-06-24 21:22:55 -03:00
Ricardo Luís Vaz Silva
9aa44fa13b Merge branch '4.14.2' into gz_merge 2025-05-02 17:15:41 -03:00
Peppersawce
49cca9e8fe Haiku support patch 2025-04-09 14:31:57 -03:00
Peppersawce
a02892389d Haiku support patch 2025-04-05 20:49:45 -04:00
Magnus Norddahl
d8c0e4284f Remove vcpkg because that garbage thing keeps failing builds... 2025-01-08 23:29:01 +01:00
Magnus Norddahl
a466fbd35a Create two executables - one for the game and one for the baking tool 2025-01-08 23:28:59 +01:00
nashmuhandes
abd869a7e1 We don't have GLES2 2024-09-02 14:08:26 +08:00
Magnus Norddahl
9d5fd281d6 Increase macOS minimum version to 10.15 2024-07-04 10:58:53 +02: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
2f98fded89 Embed libwebp and remove it from vcpkg since the package broke over night (GGs package managers) 2024-04-11 19:41:49 +02:00
Magnus Norddahl
805bce1166 Merge remote-tracking branch 'gzdoom/master' 2024-01-10 04:03:35 +01:00
Christoph Oelckers
f5c4964902 use a more complete font did some primitive font substitution logic.
NotoSans was chosen because it contains all Latin, Cyrillic and Greek characters in one file.
To test the substitution the separate font files for Armenian and Georgian were also added, even though the languages have not been translated.
2024-01-02 18:58:39 +01:00
Magnus Norddahl
73ada7f84b Merge remote-tracking branch 'gzdoom/staging' 2024-01-02 17:10:47 +01:00
Magnus Norddahl
113fdc5fcc Add zwidget 2024-01-02 16:54:51 +01:00
Magnus Norddahl
b2d2f61be0 Add zwidget 2023-12-27 00:44:40 +01:00
Brad Smith
d2867841b1 Fix detection of fts_set on OpenBSD
There are some additional headers that are necessary to be able to
detect the presence of fts_set.
2023-11-20 22:10:33 -05:00
Magnus Norddahl
4665f8ff79 Merge remote-tracking branch 'gzdoom/master' 2023-10-25 22:25:12 +02:00
alexey.lysiuk
212adabe2b - bumped minimum macOS version to 10.13
Apple dropped support for older versions in Xcode, and dependencies (for example, MoltenVK) no longer compile for earlier OS versions
2023-10-24 10:45:25 +03:00
Magnus Norddahl
e75e5a387b Merge remote-tracking branch 'gzdoom/master' into merge-gzdoom 2023-10-19 21:05:17 +02:00
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +02:00
Christoph Oelckers
4baabf98c4 - use stb-image for JPEG decoding.
the statically provided library did not provide any advantage over it whatsoever and even libjpeg-turbo's better performance cannot really play out here so ease of use and getting rid of a dependency wins.
2023-09-03 08:34:58 +02:00
Christoph Oelckers
53d8a5bb2c - Reverted JPEG XL support because the project is not really usable on vcpkg. 2023-08-23 18:18:45 +02:00
Cacodemon345
44a3bd719c JPEG XL implementation 2023-08-22 23:11:00 +02:00
Cacodemon345
145450a044 WebP image support 2023-08-22 19:14:21 +02:00
nashmuhandes
9e0bf90be6 Merge remote-tracking branch 'remotes/ZDoom/gzdoom/staging' into gzd_staging 2023-08-22 09:09:51 +08:00
Cacodemon345
22271d146a Switch to vcpkg for library dependencies 2023-08-21 21:12:00 +02:00
Cacodemon345
14a3cf8fc2 CMakeLists upgrade to 3.16 and cleanup
* Remove precompiled header hack
* Fixes for compilation on VS2022 Debug configurations
2023-08-14 19:30:50 +02:00
Christoph Oelckers
fdad3186a6 - replaced zstrformat with stb_sprintf.
The main advantage here is that this allows to get rid of the gdtoa dependency, it is also preferable to have some code here that's being maintained.
Feature-wise both are mostly identical, stb also support MSFT integer size modifiers and hexadecimal floats.
2023-08-09 11:51:46 +02:00
Magnus Norddahl
38a1a8d5cb Rename the project 2023-03-16 21:12:29 +01:00
Magnus Norddahl
6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Christoph Oelckers
93e934c8d0 - removed the Softpoly backend.
Its only relevant use case has been to use the software renderer on hardware not capable of OpenGL 3.3, but a large chunk of that can now be serviced with GLES.
In addition it has ceased further development and has not received any of the recent 2D render features which further reduces its viability.
2022-07-28 10:31:56 +02:00
James Le Cuirot
3f9842dabb Exclude the Discord RPC library from "all" in CMake
Otherwise the headers and separate library file get installed
system-wide with the rest of GZDoom.
2022-06-07 23:35:54 +02:00
Christoph Oelckers
80200da947 - fix libVPX detection 2022-04-26 20:50:35 +02:00
Christoph Oelckers
5aaabbeb01 - did some project file cleanup. 2022-04-26 20:50:34 +02:00
Rachael Alexanderson
85c432c699 - Discord RPC presence. Adds new IWADINFO and GAMEINFO keys: DiscordAppId - this should point to your AppId for your game. It will use a default GZDoom one if not found. 2022-03-09 22:45:59 -05:00
Christoph Oelckers
c598d9bab7 - Backend update from Raze.
* TArray extensions
* MSVC setup so that [[deprecated]] emits warnings.
2021-11-12 09:36:46 +01:00
alexey.lysiuk
bc33856875 - bump minimum macOS version to 10.12
src/common/rendering/vulkan/thirdparty/vk_mem_alloc/vk_mem_alloc.h:2450:18: error: 'shared_mutex' is unavailable: introduced in macOS 10.12
2021-10-18 09:47:44 +03:00
Rachael Alexanderson
4e88a25d38 - readd widepix as content 2021-10-16 15:29:18 -04:00
Christoph Oelckers
441cd0796f - merged gzdoom-gles2 and fixed some issues with pipeline size validation. 2021-08-03 20:12:19 +02:00
Cacodemon345
14ffe3537f Clear CMAKE_REQUIRED_FLAGS if backtrace facility isn't found 2021-05-18 22:47:33 +03:00