Ricardo Luís Vaz Silva
802f77ab19
Fix checking of wrong variable in String..Float concatenation
2022-11-19 23:55:17 +01:00
Rachael Alexanderson
b082ad9cef
- fix colormap remapping when colormap entries may have fullbright entries which should not be considered duplicates
...
- this should address the "fullbright teeth" issue with the imps in KDiKDiZD: https://forum.zdoom.org/viewtopic.php?t=76790
2022-11-18 07:42:09 +01:00
Christoph Oelckers
eb97346b0e
- stop all sound before showing ENDOOM.
2022-11-16 17:08:11 +01:00
Christoph Oelckers
d0c86952ee
- disabled shortcutting the intermission code if no summary screen is wanted.
...
This also disabled all cutscenes being attached to the completed map.
2022-11-16 16:29:02 +01:00
Christoph Oelckers
29b4418c3a
- added 'foreach' loop to ZScript.
...
Syntax:
foreach(variable : array)
{
}
the variable's type is automatically deducted.
2022-11-15 21:34:45 +01:00
Christoph Oelckers
4994e114c8
- backported Vector*::Sum() from Raze.
2022-11-14 19:49:37 +01:00
RaveYard
31ac1bd414
Initial implementation of Quaternion type in ZScript
2022-11-13 22:48:19 +01:00
Emile Belanger
f41f393e91
GLES: Added IQM bone support.
2022-11-13 21:19:54 +01:00
Boondorl
7517b64aee
Updated to Interface Event
...
Changed SendConsoleEvent to SendInterfaceEvent to make functionality clearer. Added InterfaceProcess virtual to EventHandlers. Added CCMD for sending interface events.
2022-11-13 21:04:38 +01:00
Boondorl
b4a8b1278f
SendConsoleEvent function for EventHandlers
2022-11-13 21:04:38 +01:00
Major Cooke
a483ad20be
Replaced memset for particles as recommended by dpJudas
2022-11-13 21:02:59 +01:00
Major Cooke
f044695d28
Future-proof particles by resetting them completely when replaced.
2022-11-13 21:02:59 +01:00
Christoph Oelckers
1047b766df
- added PlusZ intrinsic to Vector3 and ToVector intrinsic to numeric values.
...
These just mirror features of the internal vector classes.
2022-11-13 08:07:20 +01:00
Christoph Oelckers
f3b33f7cf8
- added LengthSquared and Angle intrinsics for all vector types, also allow calling VectorAngle with a full vector as a single parameter.
2022-11-13 08:07:12 +01:00
Christoph Oelckers
54f1cabed9
- backend update from Raze.
...
Progdir stuff for POSIX.
2022-11-13 07:44:36 +01:00
UnizoneDev
a21d0c70e4
Mark the PushSound property as meta
2022-11-13 07:38:07 +01:00
UnizoneDev
b66433478c
Simplify sliding objects for now
2022-11-13 07:38:07 +01:00
UnizoneDev
9af664d117
Add PushSound property and Slide state
...
First Commit, hip hip hooray!
2022-11-13 07:38:07 +01:00
Major Cooke
2a9e28d949
Added PS_REPLACE flag for A_SpawnParticle(Ex).
...
- When used, new particles that spawn when the limit is reached will replace the oldest particle.
2022-11-12 09:13:37 +01:00
RaveYard
31db5847cc
Finish Vector4 implementation
2022-11-12 09:04:38 +01:00
Shiny Metagross
a525233914
Attempted to add Vector4 to ZScript
2022-11-12 09:04:38 +01:00
Christoph Oelckers
31d8a23046
- avoid infinite portal recursion.
2022-11-12 09:00:18 +01:00
Boondorl
fc7bb4a7e6
Exposed LevelLocals' LookupString functionality
2022-11-11 07:32:56 +01:00
Boondorl
aea346f1f3
Improved Slam functionality:
...
*Added ONLYSLAMSOLID flag to ignore non-solid Actors that aren't shootable while SKULLFLY is on.
*Added Slam state that gets entered when slamming an Actor.
2022-11-10 22:55:43 +01:00
Yukita Mayako
15e00f22e8
Normalize angle in AngleToACS
...
Fixes GetActorAngle returning negative or large values with no range limit.
2022-11-10 07:20:28 +01:00
Ricardo Luís Vaz Silva
31ded6dd8a
Enable ANIMDEFS for particles
2022-11-08 23:56:03 -05:00
Rachael Alexanderson
a0786253c7
- add some more blacklisted cvars to defcvars
2022-11-08 14:51:41 -05:00
Christoph Oelckers
c39b7c7c7b
- fixed background setup for intermissions to apply tiling only where intended.
2022-11-08 20:50:08 +01:00
Christoph Oelckers
df7a58d756
- missed one BaseBlend use.
2022-11-08 12:01:34 +01:00
Christoph Oelckers
706d465781
- removed the unused BaseBlend* variables and the testblend CCMD.
...
When this was still working it was software rendering only anyway so no real loss here.
2022-11-08 11:46:13 +01:00
Christoph Oelckers
dab61709f8
- added a compile option to fully disable the software renderer.
...
This is mainly for new games which have been designed for hardware rendering.
Note that this does not remove the software renderer's code - all it does is to disable the vid_rendermode CVAR by turning it into a static constant with the value 4.
2022-11-08 11:24:35 +01:00
Rachael Alexanderson
c860e2d732
- add the following command line parameters:
...
- -noextras: disable loading of any extras (lights, brightmaps, widescreen)
- -nolights: disable loading of lights
- -nobrightmaps: disable loading of brightmaps
- -nowidescreen: disable loading of included widescreen assets
2022-11-08 00:13:30 -05:00
Christoph Oelckers
d422737a7e
- fixed statistics code to do proper checks for OpenGL's capabilities.
2022-11-06 23:29:29 +01:00
Marisa Heit
f34d4d2033
Fix compilation on Linux
2022-11-06 12:50:51 -06:00
Marisa Heit
7f899bd412
GC fixes/improvements
...
- Have a real finalizer stage for destroying objects instead of mixing them
in to the sweep stage.
- Base GC rate on a running average of the allocation rate instead of basing
it on the amount of time taken since the last sweep started.
- More GC stats for better tweaking.
2022-11-06 19:39:00 +01:00
Christoph Oelckers
5ea57a6c64
- when converting to a portable install, flag the current session accordingly.
2022-11-06 10:59:33 +01:00
Christoph Oelckers
4ebcff8573
- remaining changes for moving bone data to the backend
2022-11-06 10:59:33 +01:00
Christoph Oelckers
c2f64b3a90
- removed one more redundant include.
2022-11-06 10:43:58 +01:00
Christoph Oelckers
8cc3099bd0
- movrf DBoneComponents into the backend as this needs to be shared.
2022-11-06 10:41:16 +01:00
Christoph Oelckers
0e111ae151
- changed CalculateBones to receive the bone component data directly instead of the owning actor.
...
Since the backend also gets used by Raze it may not access Doom game data.
2022-11-06 10:27:17 +01:00
Christoph Oelckers
3e405c5215
- fixed quaternion multiply-assign operator.
...
This must go through a temporary because otherwise it'd overwrite its own factors.
2022-11-06 08:49:26 +01:00
Christoph Oelckers
c55dfbcddd
- Backend update from Raze.
2022-11-06 08:49:25 +01:00
Jan Engelhardt
53c2ac79e1
build: unbreak compilation on Linux
...
gzdoom/src/d_anonstats.cpp:14:10: fatal error: i_mainwindow.h: No such file or directory
14 | #include "i_mainwindow.h"
| ^~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/zdoom.dir/build.make:1441: src/CMakeFiles/zdoom.dir/d_anonstats.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:959: src/CMakeFiles/zdoom.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
gzdoom/src/d_anonstats.cpp:126:17: error: ‘actor’ was not declared in this scope; did you mean ‘AActor’?
126 | actor-> return false; // no host, disable
| ^~~~~
| AActor
$ find . -name "i_mainw*"
./src/common/platform/win32/i_mainwindow.h
./src/common/platform/win32/i_mainwindow.cpp
Fixes: g4.5pre-1327-g6670bc09b
Fixes: g4.9pre-359-g082818405
2022-11-05 19:48:46 -04:00
Christoph Oelckers
eb369b24c3
- fixed FileExists check for -loadgame.
...
This was done before the current savegame path was known so it always errored out.
2022-11-05 23:25:10 +01:00
Rachael Alexanderson
35f07008cf
- create g4.10pre tag
2022-11-05 18:04:50 -04:00
Shiny Metagross
9063bc8ef6
IQM 4.9 Last patch
...
- Improved performance of YZ axis swap matrix calculations by calculating them with the initial matrix calculations.
- IQMs with no bones will no longer crash
2022-11-05 19:22:19 +01:00
Christoph Oelckers
303e751a81
- fixed definition of "msg" CVAR.
2022-11-05 18:26:54 +01:00
Christoph Oelckers
4e72281fc6
- Better messages on migration requester.
2022-11-05 13:31:22 +01:00
Christoph Oelckers
ff37d710e2
- overhaul of savegame path management.
...
* use a different subfolder for each IWAD's saves.
* do not allow load and save CCMDs to escape the save folder. Absolute paths and '..' are being blocked now.
* unified savegame path and filename generation in one single function. All ad-hoc file name generation was replaced.
* -loadgame will also use the designated savegame folder now.
2022-11-05 13:28:31 +01:00
Christoph Oelckers
f0601a49a2
- changed save and load commands to work within the 'save' directory.
...
Escaping via absolute paths and '..' is blocked now.
2022-11-05 13:28:31 +01:00
Christoph Oelckers
33afe45dda
- changed Windows config and game data storage to prefer known folders over the program directory.
...
This matches modern software design standards, if a portable install is desired a config named "gzdoom_portable.ini" needs to be created in the program directory.
This may be an empty file for a first launch.
2022-11-05 13:28:31 +01:00
Marisa the Magician
2bb0dcca13
Fix print color of level load message.
2022-11-05 13:08:51 +01:00
Marisa the Magician
a75a96d993
Level name printout on load shouldn't be sent to the HUD.
2022-11-05 13:08:51 +01:00
Christoph Oelckers
0828184055
- did some cleanup on the statistics code.
2022-11-05 12:11:36 +01:00
Christoph Oelckers
72aa6fe3b8
- did some cleanup on p_mobj.cpp
...
* deleting some unused code
* turned several class methods into static local functions in cases where they never were used outside this file.
* inlined the dangerous assignment operator in the only place where it was used.
2022-11-05 12:00:43 +01:00
Christoph Oelckers
b8821eb6da
- declare C++ class AActor as final.
...
This is not supposed to be inherited from anymore so let's take this optimization opportunity.
2022-11-05 10:46:25 +01:00
Christoph Oelckers
500e2d6c5a
Revert software renderer parts of "- sprite lightlevel cleanup and fixes."
...
This code had some issues which are not easily fixed, so it's better to just undo it all.
2022-11-05 09:55:25 +01:00
Christoph Oelckers
435e7dddcd
- fixed: P_SpawnMapThing may not call playsim code.
...
There was one special case allowing to let an actor die on spawn, but this could call script code on an incompletely set up map which resulted in crashes.
2022-11-05 09:43:06 +01:00
Christoph Oelckers
ec1525b0c4
- added PARAM_NULLCHECK to the block iterator creation functions.
2022-11-05 09:16:55 +01:00
Christoph Oelckers
9c75a38ec3
- added [[noreturn]] to several functions that always throw exceptions.
2022-11-05 09:09:00 +01:00
Ricardo Luís Vaz Silva
7d81417829
Particle Rolling
2022-11-01 22:30:16 +01:00
Ricardo Luís Vaz Silva
b6202ffc4c
Add Textured Particles
2022-11-01 21:25:31 +01:00
crashmahoney
0ca868d93f
Fix HUD models not drawing if MODELDEF has been changed with A_ChangeModel
2022-11-01 11:48:16 +01:00
Shiny Metagross
bea6d2434e
Update p_actionfunctions.cpp
2022-10-31 11:34:55 +01:00
Shiny Metagross
f7c3615d3b
IQM Refactor Milestone
...
- Removed bone manipulation code
- Implemented an index in calculateBones to optimize multi-armature actors
- Moved the bone storage object's creation to RenderModels so that the armature array can be sized there
2022-10-31 11:34:55 +01:00
Shiny Metagross
7092971331
Bone manipulation updates
...
- Factored in parent bone rotations to check if a bone needs updating
- Implemented multiply Quaternion functions to TVector4
- Converted Euler rotations in A_ManipulateBone to degrees
2022-10-31 11:34:55 +01:00
Shiny Metagross
28444d4cfd
Bone manipulation start
...
- Bone manipulation is largely finished, but I need to figure out how to multiply quaternions
2022-10-31 11:34:55 +01:00
Shiny Metagross
317e163fcf
Update models_iqm.cpp
...
- Swapped YZ axis of IQM models
- Cleaned up some leftovers
- Now just prints a benign error message if a model has no joint data
2022-10-31 11:34:55 +01:00
Shiny Metagross
3f3cc5bbc3
IQM Refactor start
...
- Refactored IQM and calculateBones to process TRS at runtime which resolves some of the faulty animations with large rotations. Will also make bone manipulations much easier to do
2022-10-31 11:34:55 +01:00
Marisa the Magician
c36da35e37
Fix inconsistent distance and hit position on traces that skip everything.
...
As it currently stood, only traces that never found anything in traversal had their distance and final position corrected.
Meanwhile, traces that skipped everything would return the distance and position of the last thing they crossed instead.
This change makes both cases consistent by "filling out" the remainder of the trace line for the latter.
2022-10-30 15:20:01 +01:00
Magnus Norddahl
181eda0a83
Fix canvas textures getting clipped by wrong scissor box
2022-10-28 18:01:59 -04:00
Magnus Norddahl
1a1adc5c29
Fix vulkan backend clearing the canvas textures to undefined contents
2022-10-28 14:53:05 -04:00
Christoph Oelckers
4ce0ef41b5
- made DMover and subclasses non-abstract so they can be inherited from.
...
This is needed for interpolated custom floor/ceiling movers.
2022-10-26 17:45:02 +02:00
Christoph Oelckers
6eab875ec2
- added option to show hub and episode names on the alt HUD.
...
Still very much work in progress because few mods have set this up.
CVARs default to off and are not exposed to the menu.
2022-10-26 17:44:51 +02:00
Christoph Oelckers
7cd7630dbd
- deleted some obsolete settings from project.
2022-10-26 17:44:51 +02:00
Christoph Oelckers
7e0084f56b
- Backend update from Raze.
2022-10-25 07:02:45 +02:00
Christoph Oelckers
2b805e196d
- do two-step init of CVARs to ensure that flag and mask vars always find their master CVar.
2022-10-24 19:27:04 +02:00
alexey.lysiuk
da33b0f9c3
- removed obsolete defaults from Cocoa backend
...
This legacy code from the time of exclusive fullscreen mode began to crash after changes in console variables handling
2022-10-24 09:57:36 +03:00
Christoph Oelckers
671b8696bb
- made CVar declarations type safe again.
2022-10-22 09:29:38 +02:00
Christoph Oelckers
453688ccc6
- reworked CVARs to not use a linked list and to be initialized manually.
...
This solves two problems:
* The linked list is too slow, a map is better. A map cannot be used with statically allocated CVARs because order of initialization is undefined.
* The current CVAR system is an unordered mishmash of static variables and dynamically allocated ones and the means of identification are unsafe. With this everything is allocated on the heap so it can all be handled the same by the cleanup code.
2022-10-21 18:56:43 +02:00
Christoph Oelckers
ef887403cf
- marked a few Printf calls in critical error paths as PRINT_NONOTIFY.
2022-10-20 23:55:29 +02:00
Christoph Oelckers
07f08de474
- fixed some warnings.
2022-10-20 22:22:30 +02:00
Christoph Oelckers
7abe718abb
- removed some stuff from CMake that no longer applies.
2022-10-20 22:16:34 +02:00
Christoph Oelckers
0ba5803111
- two more CMake checks that are not needed anymore.
...
Neither of these function is in use so we do not need to check for them.
2022-10-20 21:19:01 +02:00
Christoph Oelckers
9e76faff1f
- removed some 32bit only CMake code.
2022-10-20 21:11:18 +02:00
Christoph Oelckers
5a52f61096
- fixed: R_LoadVoxelDef did not fully initialize the voxel descriptor it creates.
2022-10-20 20:23:35 +02:00
Christoph Oelckers
96e98fc4a8
- use field initializers for VoxelOptions
2022-10-20 20:17:14 +02:00
Christoph Oelckers
70df444660
- Backend update from Raze
...
* fix for serializing vector arrays.
* a few adjustments for asan on Windows.
* NOMUSICCUTOFF flag for movie player.
* a bit of cleanup.
2022-10-20 20:12:06 +02:00
Christoph Oelckers
ca8897028f
- stupid typo...
2022-10-20 19:06:07 +02:00
Christoph Oelckers
ba8a334862
- removed two bogus asserts from the script compiler.
2022-10-20 18:39:51 +02:00
Christoph Oelckers
1855edba37
- don't crash on null pointers in V_GetFont.
2022-10-20 18:18:22 +02:00
Christoph Oelckers
4686d10f41
- zero the velocity of crunched sprites.
...
Since their size is zeroed, they are no longer subject to collision detection and may slide out of the level otherwise.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
6ba4295136
- don't crash when destroying incomplete textures.
...
This can happen during TEXTURES parsing in case of an error.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
b6c5232fea
- try to keep the engine stable for as long as possible if a VM exception occurs in OnDestroy while running a cleanup.
...
This will still crash, but run long enough for the exception message to be visible.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
936e89e3d4
- fixed F2DDrawer::SetClipRect.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
54e0201204
- added vanilla donut handling to compat_floormove.
2022-10-20 17:12:43 +02:00
nashmuhandes
8394de00ca
Fixed: voxel models pitch/roll properties weren't initialized correctly
2022-10-20 08:05:14 -04:00
Christoph Oelckers
457b9b71d9
- disable the native part of coronas as well.
2022-10-20 07:50:53 +02:00
nashmuhandes
80a31b074d
Disable coronas for now
2022-10-19 22:52:27 +02:00
inkoalawetrust
29421e6975
Added QF_SHAKEONLY
...
The QF_SHAKEONLY flag changes the behavior of earthquakes with a damage radius, so that they only shake actors around, without also harming them.
2022-10-19 22:50:50 +02:00