Commit graph

1,702 commits

Author SHA1 Message Date
Marcus Minhorst
65ce7b7c29 Fixed conflicting import under solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
525e6b9f99 Added _msize stub for Solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
a4b7c95153 Added missing import for Solaris 2025-06-24 21:22:55 -03:00
Marcus Minhorst
a881e86ff7 Fixed typo 2025-06-24 21:22:55 -03:00
nashmuhandes
b0e083d61d Go back to the built-in dark theme for the launcher (for now) 2025-06-21 11:52:47 -04: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
885c1d2920 Update to latest ZWidget version
This adds new features (such as themes) alongside fixing numerous bugs. This should be kept up-to-date with upstream more often and changes to it should be PR'd back to its main repo.
2025-06-18 14:47:03 -03:00
Ricardo Luís Vaz Silva
f4eebd1ced CallVM API, plus multi-return and vector support 2025-06-18 03:52:23 -03:00
Boondorl
c6825a9881 Added ViewModelFOV field for models
Allows manually setting FOV for models instead of scaling from 90 degrees. Positive values are exact FOVs while negative FOVs are scalars from 90. SCALEWEAPONFOV does not work with exact values since it automatically scales based on FOV.
2025-06-13 14:04:08 -03:00
Marcus Minhorst
481848b3c5 Now with TDeletingArray 2025-06-09 16:37:52 -03:00
Marcus Minhorst
abfe5601c7 Check for SDL_JOYDEVICEADDED and SDL_JOYDEVICEREMOVED 2025-06-09 16:37:52 -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
Ricardo Luís Vaz Silva
c0c4b784ca GetBoneEulerAngles 2025-05-26 07:48:01 -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
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
biwa
501a21869c Fixed issue where seams can be seen when using animated fire textures 2025-05-11 00:09:52 -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
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
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
880ebfd94c fix up header comment 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
d56b84d094 hook up includes for vulkan 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
317cd358d1 implement includes for opengl 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
b6bdb7b4e7 fix missing newline in stb_include 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
c0b6427b12 print warning for texture2d usage 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
009b84bb1a print warning for deprecated uniform declarations 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
7bcbc8f824 add filename info to stb_include 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
0d7bb40648 make code more readable 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
44f1e239e4 deduplicate code 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
3f65c2191a better formatting 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
82e5dc2db6 remove raw C string manipulation, add missing chunk 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
d23faa6ab8 convert stb_include to FString, trim out some stuff 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
817a3778d8 split stb_include into .cpp and .h 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
8c66f5c64d add stb_include 2025-04-23 18:49:23 -03:00
Ricardo Luís Vaz Silva
ab5091098d fix bug with direct cvar assignment being mistakenly allowed 2025-04-17 18:57:11 -03:00
Ricardo Luís Vaz Silva
88a55be561 add TryEmplace to TMap 2025-04-16 23:45:16 -03:00
Peppersawce
a02892389d Haiku support patch 2025-04-05 20:49:45 -04:00
Christoph Oelckers
6481f8cce9 rewrote XY and XYZ accessors for vectors to be read-only and not use type punning. 2025-04-03 07:51:03 +02:00
Ricardo Luís Vaz Silva
8019b56823 fix comment 2025-04-01 17:19:03 -03:00
Ricardo Luís Vaz Silva
d8651420cc fix parameter/return checking 2025-04-01 17:19:03 -03:00
Ricardo Luís Vaz Silva
278bd0fb7d finish implementing VMCallSingle 2025-04-01 17:19:03 -03:00
Ricardo Luís Vaz Silva
1f1c271883 VMCallScript -> VMCallSingle 2025-04-01 17:19:03 -03: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
Magnus Norddahl
92cc96a672 Add VMCallScript template for calling ZScript functions with type checking 2025-03-20 00:10:50 -03:00
Magnus Norddahl
b4c3d2331e Fix memory leak in mixins 2025-03-20 00:10:50 -03:00
Boondorl
43031375f4 Added missing return values in VM calls
These are not supported by the JIT and must always be passed.
2025-03-19 15:17:29 -03:00
Boondorl
f7e62a8cd6 Added client-side Thinkers
Adds support for client-side Thinkers, Actors, and ACS scripts (ACS uses the existing CLIENTSIDE keyword). These will tick regardless of the network state allowing for localized client handling and are put in their own separate lists so they can't be accidentally accessed by server code. They currently aren't serialized since this would have no meaning for other clients in the game that would get saved. Other logic like the menu, console, HUD, and particles have also been moved to client-side ticking to prevent them from becoming locked up by poor network conditions. Additionally, screenshotting and the automap are now handled immediately instead of having to wait for any game tick to run first, making them free of net lag.
2025-03-11 10:14:28 -03:00