Commit graph

22,423 commits

Author SHA1 Message Date
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
Wohlstand
c461ecf19b ADLMIDI: Added support for GENMIDI as a custom bank
Now, libADLMIDI can use GENMIDI bank too as the "OPL Synth Emulation"
2025-07-15 17:17:47 -04:00
Wohlstand
798ceddea6 Added gain for libADLMIDI and for libOPNMIDI 2025-07-15 17:17:47 -04:00
Wohlstand
8954463f0e Added new libADLMIDI and libOPNMIDI options
Not yet translated
2025-07-15 17:17:47 -04:00
DyNaM1Kk
99af0fb970 Added the Discord RPC option to the menu 2025-07-15 15:34:22 -04:00
Marcus Minhorst
61cfbee739 Updated .gitignore
Organized and add some more rules
2025-07-15 13:00:12 -04:00
Boondorl
b23f050b88 c_cvars.cpp: d_protocol.h -> i_protocol.h 2025-07-15 00:16:34 -03:00
Boondorl
f513e3de99 Moved stream reading/writing protocol to common
Allow this to be used anywhere within the engine, especially for internal network handling.
2025-07-15 00:16:34 -03:00
Marcus Minhorst
b40af0c923 Add hideInsteadOfGraying bool 2025-07-15 00:16:06 -03:00
Marcus Minhorst
6b22be3e28 Expose visible flag to menudef 2025-07-15 00:16:06 -03:00
Marcus Minhorst
32cf838ecf Added Home/End menu binds 2025-07-12 22:33:02 -03:00
Marcus Minhorst
bef78dbe19 Scrolling now makes sound if cursor moves 2025-07-12 22:33:02 -03:00
Marcus Minhorst
37ba8a6a4d Refactored. Scrolling no longer always moves cursor 2025-07-12 22:33:02 -03:00
Marcus Minhorst
2923afc99a Refactored. Scrolling now jumps 2 items again 2025-07-12 22:33:02 -03:00
Marcus Minhorst
23b69769e8 Fixed optionmenu regression
Option menu would index into a negative item if natigating up and wrapping
around in a menu with exactly N items where only N items can be displayed.
2025-07-11 17:47:16 -03:00
Boondorl
c284aa366d Use TArrayView instead of TArray for ClearNativePointerFields 2025-07-10 14:12:31 -03:00
Boondorl
269689703d Clear references to map data on level change
These shouldn't be left as they'll now point towards potentially invalid memory and also cause errors with serializing. Arrays and maps holding them are cleared. Also unlinks and relinks inventory items correctly from the hashmap on traveling.
2025-07-10 14:12:31 -03:00