Commit graph

4,861 commits

Author SHA1 Message Date
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
DyNaM1Kk
31cd741cb0 Scriptified DBaseStatusBar::Draw 2025-05-06 11:46:34 -03:00
DyNaM1Kk
3bb716c414 Exported RefreshBackground 2025-05-06 11:46:34 -03:00
DyNaM1Kk
5168ce0e04 Exported DrawCrosshair 2025-05-06 11:46:34 -03:00
DyNaM1Kk
8447e1716c Added a menu option for am_showlevelname 2025-05-05 12:01:13 -03:00
XLightningStormL
9c383e9379
DepleteBy virtual
* Update inventory_util.zs

Added ExtraDepletionBehavior() functionality to TakeInventory and UseInventory

* Update inventory.zs

Added ExtraDepletionBehavior (int takeAmount) function

* Update inventory_util.zs

ExtraDepletionBehavior now requires at least 1 item in reserve to work

* Replaced ExtraDepletion with DepleteBy Logic

Shoutout to RicardoLuis0

* Replaced ExtraDepletion with DepleteBy Logic

Shoutout to RicardoLuis0

* Update inventory_util.zs

added sv_infiniteinventory checks for takeinventory for custominventory items, restored support for sv_infiniteinventory useinventory items

* Update inventory.zs

cleaned up DepleteBy - removing unnecessary "--Amount <= 0 && usedItem" check and usedItem bool

* Update inventory_util.zs

removed unnecessary sv_infiniteinventory check

* Update inventory.zs

amount is integer, depleteordestroy should occur when amount is less than 1
2025-05-02 20:27:28 -03:00
Ricardo Luís Vaz Silva
3780c5910a
Bone Manip part 1 - bone setters
* split frame info calculation from RenderFrameModels

* clean up fvec4 being used as quat in iqms

* initial work on bone setting

* implement bone setters

* clean up FindModelFrame

* refactor model overrides into its own function

* refactor frame rendering into RenderModelFrame

* split frame processing into ProcessModelFrame

* refactor BoneOverride in preparation for translation/scale overrides

* clean up macros

* SetBoneTranslation/SetBoneScaling

* GetBoneOffset

* fix compilation on linux/mac (fuck you MSVC)

* fix typo 😅

* make sure bone overrides are cleared on model switches, add ClearBoneOffsets to clear them manually

* bone info getters

* fix joint lengths, add joint dirs

* serialize bone overrides

* fix bone dir return type

* GetBoneIndex/GetBoneCount

* helper functions for working with non-quat angles

* add mode enum, add more helper functions

* fix up formatting
2025-05-01 10:15:46 -03:00
Ricardo Luís Vaz Silva
c0d17bbda3 limit light alpha mult to renderflag 2025-04-29 15:47:28 -03:00
MajorCooke
6c4afed100 SpawnBlood now returns an actor spawned by the function. 2025-04-23 18:49:11 -03:00
Boondorl
524cd55813 Added OnLoad virtual
Allows for things to be reinitialized where needed for Thinkers. Moved hidden state of items over to OnLoad.
2025-04-17 18:58:02 -03:00
DyNaM1Kk
a0ab9ba25c Added autoSwitch parameter to A_ReFire 2025-03-30 21:59:41 -04:00
MajorCooke
6f3032dc54 Exported:
* GetLumpContainer
* GetContainerName
* GetLumpFullPath
for WADS struct, useful for debugging custom-made parsers and identifying where problems may arise.

All credit goes to Jay for the code.
2025-03-30 20:36:13 -03:00
Rachael Alexanderson
3d0663d299
- add new dsquake by Enjay 2025-03-25 13:17:46 -04:00