Commit Graph

20846 Commits

Author SHA1 Message Date
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
Rachael Alexanderson 37da5268e1 - remove clang-format directives 2022-11-08 11:01:50 -05: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
Christoph Oelckers fdeec5e0a5 - fixed bad index check in CanWipe.
This can be called with index == -1, which should check the first element of the intermission.
2022-11-06 23:23:31 +01:00
Marisa Heit c9de986dfb
Merge pull request #1792 from rheit/gcfix2a
Fix compilation on Linux
2022-11-06 12:51:45 -06: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 7e10138993 - added characters U-0404 and U-0490 for Ukrainian language support.
A translation was started so ensure it will work.
U-0403 was a mistake but the already finished characters were added anyway.
2022-11-06 14:55:30 +01:00
Christoph Oelckers 182ee4eff5 - reworked all accented characters of Doom's SmallFont.
Also adding a few new ones that were easy to do
2022-11-06 12:36:33 +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
Christoph Oelckers 2207c4ebf8 - we have no coronas for the time being. 2022-11-05 13:23:28 +01:00
Christoph Oelckers a7c54579f6 - language update. 2022-11-05 13:22:41 +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 d4df121053 - added target check to A_MaulerTorpedoWave. 2022-11-05 10:22:19 +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
Ed the Bat 9bbf65df36 Add GFF_NOEXTCHANGE to Phasing Zorcher flash
The Plasma Rifle does not light the player's sprite, so we must assume the Phasing Zorcher also should not.
2022-11-01 16:46:19 +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