Commit graph

22,439 commits

Author SHA1 Message Date
Boondorl
b6b3c311e1 Export DecalBase
Allows setting this between Actors with type safety. Now also serializes these fields.
2025-07-28 15:24:04 -03:00
Boondorl
4acc5f2a7d Lock down MessageBox handler 2025-07-28 14:36:54 -03:00
Boondorl
a4ed63033e Fixed quick save rotator breaking save logic
The game should only ever save during the gameplay loop and never on the spot. Also fixes the quick save rotator skipping certain checks.
2025-07-28 02:50:10 -04:00
nashmuhandes
21ba4e6ab0 Add missing item tags for items in Doom and Chex Quest. There are mods out there that read tags. The accompanying language entries have been sent to the localization spreadsheet. 2025-07-27 17:34:08 -03:00
Marcus Minhorst
05f19f4ac0 Fixed oob array access when using m_use_mouse=1 2025-07-27 17:33:44 -03:00
Marcus Minhorst
9a6569a916 Added option to disable sound when moving cursor by hovering. 2025-07-27 17:33:44 -03:00
Marcus Minhorst
cbe710b549 Added option to disable sound when moving cursor by using scrollwheel. 2025-07-27 17:33:44 -03:00
Boondorl
9a4c2dc111 Ensure BlockingMobj checks don't fail on destroyed Actors when handling physics 2025-07-27 17:18:53 -03:00
Boondorl
12fac42bab Mark appropriate voidptr fields as readonly 2025-07-27 03:56:33 -04:00
Marcus Minhorst
87ad07f298 Added SDL HoldingQueryKey implemenation
Co-authored-by: Boondorl <boondorl@live.com>
2025-07-26 21:59:16 -03:00
Marcus Minhorst
b568cbfd17 Added release notes for previous version 2025-07-26 21:57:11 -03:00
Boondorl
66c5beccbd Added UUID for game sessions
Allows the SavegameManager to destroy all saves related to the current UUID session so hardcore mods can enforce this safely instead of needing to go nuclear.
2025-07-26 11:43:59 -03:00
Boondorl
443e899759 Fixed assert in P_GeometryRadiusAttack
Clamp the floor to the ceiling so malformed sectors don't break height checking.
2025-07-25 04:18:59 -03:00
Ricardo Luís Vaz Silva
9b44f2315d fix BlockingMobj ignoring the GC and possibly becoming a stale pointer 2025-07-24 06:23:32 -03:00
Boondorl
f0283a7773 Added -optfile argument
Allows specify optional files from the commandline (note: this currently isn't hooked up to the filesystem proper for marking, this is purely for the file parsing until then).
2025-07-23 01:03:02 -03:00
Boondorl
9731a82b7c Added ability to stop PWADs from autoloading IWADs
This will be useful for accessing the multiplayer tab and also allows accessing settings like language before auto booting up.
2025-07-23 00:40:36 -03:00
Boondorl
7d1f2df404
Added scale and alpha interpolation
Similar to angles, needs to be enabled via flags to prevent breaking existing sprites.
2025-07-22 11:35:20 -03:00
Chris Robinson
f17f732b7a Handle the sample type passed to S_CreateCustomStream 2025-07-22 11:21:18 -03:00
Chris Robinson
e902ad62fa Consolidate code to get the OpenAL format 2025-07-22 11:21:18 -03:00
Chris Robinson
c5910976d2 Use the new ZMusic_GetStreamInfoEx function 2025-07-22 11:21:18 -03:00
nashmuhandes
47f6f4cb1c Allow the blood splat decal distance to be customizable in MAPINFO's GameInfo block 2025-07-22 10:37:22 -03:00
Rachael Alexanderson
7d2d874afb - allow voodoo dolls to trigger lock messages 2025-07-22 10:36:16 -03:00
Ricardo Luís Vaz Silva
d17a4fd221 fix angled roll if xy billboard is enabled 2025-07-22 10:36:07 -03:00
Dileep V. Reddy
19291c5e5c Sprite lean/angled roll with geometric consistency in multiplayer and mirrors. An ANGLEDROLL flag ties actor's sprite-rolling axis to physical direction instead of viewpoint. Y-Billboarding occurs about a rolled axis (unlike flatsprites which don't billboard). This makes roll consistent when viewed from all angles and in reflections. Useful for sprite-based laser beams and lean mechanics with third-person cameras and/or multiplayer mods. 2025-07-22 10:36:07 -03:00
Dileep V. Reddy
da13a7e839 Stencil broke stacked sectors. Fixing. 2025-07-20 23:48:47 -03:00
Boondorl
53ffe3ddda Stopped save games from being deleteable outside menus 2025-07-20 05:41:50 -03:00
Marcus Minhorst
3121214091 Added mime type associations and quick launch options 2025-07-19 11:40:02 -03:00
Marcus Minhorst
5f9f07a93c Added appstream screenshots 2025-07-19 11:38:55 -03:00
Marcus Minhorst
649ddd7774 Replaced uint with unsigned int 2025-07-19 11:37:24 -03:00
Boondorl
b2c57b6656 Fixed invalid name for state parameter
This is the same name the macro uses to return it...
2025-07-19 11:23:52 -03:00
Marcus Minhorst
30cc12912b Added uint typedef under windows 2025-07-18 21:11:50 -03:00
Marcus Minhorst
9b0f5d9b0d Fixes sign-compare warnings 2025-07-18 21:11:50 -03:00
Marcus Minhorst
a1494e938a Correct path 2025-07-18 11:52:34 -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
Florian Piesche
fcf529590f Fix malformed XML 2025-07-17 23:32:21 -03:00
Florian Piesche
88c2eac56b Update org.zdoom.GZDoom.metainfo.xml 2025-07-17 23:32:21 -03:00
Florian Piesche
d1304ec74f Update org.zdoom.GZDoom.metainfo.xml 2025-07-17 23:32:21 -03:00
Florian Piesche
38373500a5 Add and install FreeDesktop metadata for Linux 2025-07-17 23:32:21 -03:00
Boondorl
0432a7b6df Support WAD loading tweaks
Disable auto loading support wads (e.g. id24) in net games (this should always be done explicitly). Add an option for it in the launcher settings.
2025-07-17 23:30:14 -03:00
VileCornstarch
e2e9e76709 Expose CloseDialog 2025-07-17 23:28:10 -03:00
Marcus Minhorst
0909e12d62 Expose m_simpleoptions_view cvar to menus 2025-07-17 23:26:54 -03:00
Dileep V. Reddy
f6481b2876 Stacked-sector portal and reflective flat stencils rewrite to address rendering bug with stencil cap. 2025-07-17 23:26:25 -03:00
Marcus Minhorst
79855337c8 Fixed oob array access 2025-07-17 23:24:45 -03:00
Ricardo Luís Vaz Silva
385c8db2cc fix window showing with norun 2025-07-17 04:21:46 -03:00
Boondorl
a44632f41b Fixed EFX enum 2025-07-17 03:19:52 -03:00
Boondorl
73445f6f6a Fixed arithmetic state jumps going out-of-bounds 2025-07-17 03:19:52 -03:00
Ricardo Luís Vaz Silva
99ffd8727b rewrite array codegen for field access
fixes major codegen bug
2025-07-17 03:19:12 -03:00
Rachael Alexanderson
c4b4705acf
- update CI deps to temporary archives until next release 2025-07-15 18:27:21 -04:00
Rachael Alexanderson
240bac81c2
- update zmusic 2025-07-15 17:18:10 -04:00
Wohlstand
ee7e913e1a Added gaining factor for OPL Synth Emulation too
Also, fixed default gaining values at libADL and libOPN (they should be 1.0, not 0.5)
2025-07-15 17:17:47 -04:00