Commit graph

22,282 commits

Author SHA1 Message Date
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
Ricardo Luís Vaz Silva
0e3682ae24 add proper range to bone getter functions, prevents crash if called between enabling bone getters but before actually calculating bones 2025-06-06 18:05:37 -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
Boondorl
486be3a5b6 Clear next and prev list pointers on VTs when destroyed 2025-05-29 15:42:28 -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
RaveYard
51a069a1a5 Delete invalid polyobjects from level array in PO_Init 2025-05-21 21:45:40 -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
Robert Godward
30a7ccb7da Move additional includes out of the FileSys namespace. 2025-05-20 15:29:23 -04: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
Ricardo Luís Vaz Silva
f4ac616b57 save extraArgs to CVar for easier testing 2025-05-15 20:50:22 -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
0532a298d2 fix MDL_USEROTATIONCENTER 2025-05-11 01:12:55 -03:00
biwa
501a21869c Fixed issue where seams can be seen when using animated fire textures 2025-05-11 00:09:52 -03:00
Ricardo Luís Vaz Silva
385033e999 fix CalcModelFrame/SetBone/GetBone/SetAnimation not grabbing smf from modeldata for decoupled anims 2025-05-10 18:24:16 -03:00
Boondorl
58809a3689 Fixed up game id
Store it in a proper buffer.
2025-05-09 20:39:56 -03:00
Boondorl
7877018471 Added CRC to packets
Verify that data is correctly ordered and reject packets that aren't. Also generates a random game id to ensure packets are coming from legitimate clients.
2025-05-09 20:39:56 -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
dileepvr
b68f04fa75 Allow skymist to animate
Allow animated skymist layer.
2025-05-06 11:47:45 -03:00
Dileep V. Reddy
e9a067dd65 Skymist is a third sky layer with transparency, and adopts the fade color and skyfog density. Size not connected to SKY1 or SKY2. Works with 6-sided skyboxes. Three template pngs (skymist1, 2, & 3) all 1x544 pixels, 8-bit grayscale with transparency are part of gzdoom.pk3 for general usage. Can supply custom lump through mapinfo. Console command 'skymisttoggle' shows the effect (make sure fade has a non-zero color in mapinfo and skyfog has non-zero density). Oh, and skyfog now works with 6-sided skyboxes. 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
Dileep V. Reddy
502af6adb9 SSECMF_DRAWN was being skipped for some cases, affecting texture automap drawing. See bug #3066. 2025-05-02 09:37:59 -04:00
Rachael Alexanderson
0d612553a4
- do not allow sv_gravity to be INF 2025-05-02 09:36:05 -04: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