Commit graph

4,873 commits

Author SHA1 Message Date
Marcus Minhorst
5810faec1d Removed debug printout 2025-07-08 10:11:28 -03:00
Marcus Minhorst
33b22d99da Implemented saving, ccmd, and options menu 2025-07-08 10:11:28 -03:00
Marcus Minhorst
8182c02947 Added ability to set visibility of menu options 2025-07-07 14:18:16 -03:00
nashmuhandes
45444b0bf3 Improve banner art created by Kinsie 2025-07-06 22:21:39 -04:00
Marcus Minhorst
0f72a671fc Revert "Gamepad Improvements"
This reverts commit 2a5cce543b.
2025-07-06 20:40:03 -03:00
Marcus Minhorst
2a5cce543b
Gamepad Improvements
* Cleanup: Alignment, long lines, Replace 0 with SDLK_UNKNOWN

* Gamecontroller api analogue input

* Added some button handling

* Added mapping for other buttons

* Added trigger events

* Added force_joystick flag

* Removed force_joystick flag

Rationale:
1. It was actually broken lol
2. I cannot think of a case where enabling this would be a useful thing for
gzdoom. If the user is using a gamecontroller, it is pointless. If they are
not using a gamecontroller, it will just default to using the joystick api.
If they are not using a gamecontroller, but SDL thinks they are, it is an
SDL bug, and will be reported and fixed

* Modified default mapping

* Added analogue to digital threshold

* Added analogue response curve

* Per axis settings

* Fixed controller reconnect

* Added threshold and curve to IJoystickConfig
Enabled saving of settings

* Added stubs

* Cleanup

Constants are no longer defines.
Constants are mostly shared between backends.
Moved some logic to m_joy

* Implemented xinput stubs

* Implemented dinput stubs

* Implemented ps2 stubs (untested)

* Fixed inclusive check

* Implemented osx stubs (untested)

* Fixed curve implementation

No longer savable, I screwed the curve function up.
I though it needed 2 control points, but it needs 4.
Need to re-do controller settings :(

* Now using CubicBezier struct

* Fixed SetDefaultConfig to match xinput behavior

* Expanded gamepad CCMD

* Rename enum JoyResponseCurve to EJoyCurve

* Initial menu implementation

* Fixed SDL controller setting saving

* SDL gamepads can now actually be disabled

* Fixed initial controller connect of some versions of SDL

* Spelling error

* Enable gamepad by default

* Fixed segfault on some versions of SDL

* Only block keydown
2025-07-05 17:41:40 -03:00
Cacodemon345
a2450e1195 Add mechanism for Prosperity Rune-like powerups
Also add a flag to use Zandronum/Skulltag semantics for BasicArmorPickup
2025-07-04 09:25:28 -03:00
Boondorl
0e23b900bb Added dynamic tic stabilization
Attempts to balance periods of rough traffic by putting in an artificial delay, smoothing playback but further increasing input delay. This can be disabled with net_ticbalance.
2025-07-02 21:19:15 -03:00
Boondorl
311e1d09be Allow limiting NPC conversations to settings controllers
Also cleans up the network menu a little bit.
2025-07-02 07:29:28 -04:00
MajorCooke
3fba33204c - Fixed <Pre/Post>Morph() being called twice for monsters. 2025-06-30 22:21:10 -03:00
Boondorl
d182bd9411 Allow disabling pausing entirely when online 2025-06-29 07:22:56 -04:00
Boondorl
fae43b8120 Added ready system to screen jobs for multiplayer
Readds the feature to allow players to ready up during stat screens and intermissions instead of autoskipping based on whoever closed it. Comes with a variety of ways to tweak this behavior such as percentage-based auto starting (with a timer), the ability to unready as needed, and who can control it. Players will still be able to skip through individual screen jobs within the runner while waiting to ready up.
2025-06-28 14:39:19 -03:00
Cacodemon345
028256f06f WorldRailgunFired flags are now passed properly
There's also a new DamageMobj flag to indicate railgun attacks without
having to rely on damagetypes.
2025-06-24 21:21:48 -03:00
nashmuhandes
00a5bce5d7 Rebrand the launcher to make it more distinctly GZDoom
- Use a Light theme to clearly differentiate GZDoom from VKDoom
- Moved the version label to not visually clash with the banner graphics
- Added unique graphics for the banner and the BOOTLOGO
- Changed the loading bar color to match GZDoom's logo
2025-06-21 11:52:47 -04:00
Boondorl
8071fd1368 Scriptified ReactToDamage
Allows pain handling to be overridden without needing to override the entirety of DamageMobj.
2025-06-18 01:51:57 -03:00
Boondorl
e0baf7a85c Added OnRevive virtual
Called when a monster is resurrected (allows resetting properties without needing an event handler).
2025-06-16 14:46:17 -03:00
Boondorl
1e281bfce2 Added player iterators
Allows for easily iterating through players currently in the game.
2025-06-16 14:42:15 -03:00
Boondorl
989a355f80 Moved BobTimer to playerinfo
This was a bit too invasive for mods that used full PlayerThink overrides.
2025-06-14 14:04:11 -03:00
nashmuhandes
8be9f700d9 Some fixes for the inventory hotkey localizations 2025-06-13 14:04:00 -03:00
nashmuhandes
2641689216 Expose direct inventory hotkeys for Heretic, Hexen and Strife in the controls menu 2025-06-12 19:29:02 -03:00
Boondorl
bfefd2363e Stop HUD messages from ticking when game is paused
These are often synchronized to the world so should be treated as such.
2025-06-08 11:23:39 -03:00
DyNaM1Kk
5e35ebc8fe Added two option menu items for double binds
1. DoubleTapControl: Simply assigns a double-tap key to a command.
2. DoubleControl: Assigns a standard key press to a command and uses the same key to make a double-tap bind to the second specified command.
2025-06-04 08:48:16 -03:00
DyNaM1Kk
62d258a689 Exported DoubleBindings 2025-06-04 08:48:16 -03:00
Boondorl
e7d0991798 Fixed JIT error with Conjugate/Inverse
These need to be compiler intrinsics since faux types aren't supported with self.
2025-05-30 10:58:10 -03:00
Rachael Alexanderson
6c42ea7518
- fix pointer mixup in whirlwind DoSpecialDamage() 2025-05-28 01:09:24 -04:00
Ricardo Luís Vaz Silva
4bd373745a fix bad loop condition 2025-05-28 00:25:59 -03:00
Rachael Alexanderson
c2031e0af1
- fix OOB VM abort for scoreboard in teamplay games - fixes #3101 2025-05-27 20:28:11 -04:00
Ricardo Luís Vaz Silva
c0c4b784ca GetBoneEulerAngles 2025-05-26 07:48:01 -03:00
Ricardo Luís Vaz Silva
cffdfa802e up vector for TransformByBone/GetBonePosition 2025-05-26 07:48:01 -03:00
Ricardo Luís Vaz Silva
097c99032c rename GetBone to GetBoneTRS in zscript 2025-05-26 07:48:01 -03:00
Ricardo Luís Vaz Silva
5c74250b73 return rotation with GetBonePosition 2025-05-26 07:48:01 -03:00
Rachael Alexanderson
d7d18c7cc0
- whoops, missed renaming one of the variables in whirlwind.DoSpecialDamage() virtual 2025-05-26 02:06:25 -04:00
Dileep V. Reddy
95164cce51 Exposed some skymist variables to zscript. Created zscript levellocals functions ChangeSkyMist(TextureID skymist, bool usemist = true), SetSkyFog(int density), and SetThickFog(float distance, float multiplier), so people aren't tied to MAPINFO for such things. 2025-05-26 00:27:30 -03:00
Rachael Alexanderson
d357b7956f
- fix ironlich whirlwind blaming the victim for its damage 2025-05-23 14:44:54 -04:00
Boondorl
d3f965e862 Fixed MBF21_GunFlashTo
This needs to use the original vanilla behavior for processing PSprites since it's dehacked.
2025-05-22 11:43:23 -03:00
Ricardo Luís Vaz Silva
b952e2d6fd remove commented out debug code 2025-05-21 10:50:34 -03:00
Ricardo Luís Vaz Silva
706d1b6978 Scriptified scoreboard drawing 2025-05-21 10:50:34 -03:00
nashmuhandes
b44f8f0cc9 - Add "Intensity" property for dynamic lights in GLDEFS that will multiply the brightness of the light, useful for overbrightening/underbrightening a light.
- Also add an "intensity" parameter for A_AttachLight in ZScript.

Note that for any kind of light overbrightening to do anything at all, one of the unclamped LightBlendModes in MAPINFO must be enabled.
2025-05-17 00:42:01 -03:00
Dileep V. Reddy
b56d184d8c Doing same thick fogdist calc for AmbientOcclusionColor. 2025-05-15 23:24:49 -03:00
Dileep V. Reddy
f9f9fc602c ThickFogDistance and ThickFogMultiplier added to GLES main.fp shader file. 2025-05-15 23:24:49 -03:00
Dileep V. Reddy
c6a6ae23a6 ThickFogDistance and ThickFogMultiplier MAPINFO variables adds thicker fog (Vulkan and OpenGL only) beyond ThickFogDistance, as long as it is possible. But default it is -1.f (disabled). 2025-05-15 23:24:49 -03:00
XLightningStormL
1f1d9dc1b5 Fixed a major bug
Fixed a potential loop crash caused by an undefined amount int in TakeInventory (and derivatives) now it will assume if by is less than 1 that the item is to be destroyed.
2025-05-14 12:35:01 -03:00
Ricardo Luís Vaz Silva
9e2b1f9c4c
Bone Getters Part 2/3, plus fixed warnings for MSVC
* add getters for frame poses

* fix missing joint in GetJointPose

* clean up models_iqm.cpp

* clean up usage of I_GetTimeFrac, split out matrix calculation into its own function

* clean up SetModelBoneRotationInternal

* clean up a few float <-> double and unsigned <-> signed warnings

* fix more warnings

* further clean up warnings

* split mode ObjectToWorldMatrix stuff

* initial work on bone getters, matrix hell

(the matrix/vec3 multiplications are probably wrong af, just gotta add more stuff 'till i can test it)

* clean up matrix math

* GetBone/TransformByBone

* fix GetBoneFramePose

* fix ObjectToWorldMatrix

* fix missing array resize

* raw matrix getters (for use with gutamatics/etc)

* reverse matrix mult order

* replace GetBoneLength/GetBoneDir with GetBoneBaseTRS

* fix GetBonePosition, remove GetBoneWorldMatrix as it's useless

* GetBonePosition

* deduplicate code

* rename GetBonePosition to GetBoneBasePosition to avoid confusion

* GetBoneBaseRotation

* GetBonePosition helper function

* forgot include_offsets
2025-05-09 17:06:16 -03:00
Ricardo Luís Vaz Silva
9eaf472071 fix gldefs and decaldef being inverted 2025-05-06 22:10:28 -03:00
Owlet7
6564fa04e1 Added obituaries to ID24 monsters
Renamed the language identifiers of the ID24 monsters to match the ones used by Legacy of Rust in DOOM + DOOM II.
2025-05-06 22:05:23 -03:00
Owlet7
d3ecb5b86c Use old SNDINFO syntax for ID24 sounds
I made the mistake of mixing the two different syntaxes in my last PR. Here's a fix.
2025-05-06 22:02:38 -03:00
TheSuperDave938
eb22547fc9 ID24 Weapon Lights and Decals 2025-05-06 11:50:17 -03:00
Owlet7
fc7e4c768e Use correct ID24 actors ednums 2025-05-06 11:49:33 -03:00
Owlet7
54a100d975 Add support for ID24 monsters and decorations 2025-05-06 11:49:33 -03:00
Dileep V. Reddy
cfae4be8fb Forgot to add the skymist lumps. 2025-05-06 11:47:45 -03:00