Christoph Oelckers
b10f50bf1d
fixed bad assumption about object destruction state in garbage collector.
...
The assumption was made that every object in the ToDestroy list wasn't destroyed yet.
This assumption is wrong in case one object destroys an owned one on its own destruction.
Instead this case must be properly dealt with and duplicate destruction be avoided.
This happened with the panel sprite sentinel in SW's player object.
2023-10-03 12:23:29 +02:00
Christoph Oelckers
4a87003408
- backend update from GZDoom.
...
* Vulkan backend updated.
* zlib replaced with miniz.
* FileReader is now 64 bit capable.
* jpeg replaced with stb-image.
* CMake project warnings fixed.
2023-09-23 09:56:27 +02:00
Christoph Oelckers
b95a5a4b2b
- yet another backend update.
2023-08-20 02:15:57 +02:00
Christoph Oelckers
6aa61e72b5
- backend update from GZDoom.
...
* cleanup on the sound init code.
* added #pragma once in several headers.
* macOS version detection overhaul.
2023-07-22 09:54:00 +02:00
Christoph Oelckers
b6da4ecddf
- backend update from GZDoom.
2023-03-26 11:45:25 +02:00
Christoph Oelckers
8c99d7b034
- Backend update from GZDoom
...
* scriptable CVARs.
* GLES update
* various ZScript improvements.
2023-02-11 12:06:58 +01:00
Christoph Oelckers
262e93db2b
- call FullGc twice, because once does not seem to be sufficient anymore when the object system is shut down
2023-01-07 16:01:37 +01:00
Christoph Oelckers
ff8863833a
- fixed GC::FullGC not collecting everything anymore.
...
With the delayed handling of internal references of destroyed objects the function now returned without making sure that it really got everything.
Repeating until it cannot delete anything new anymore makes it work again as intended.
2022-12-05 12:29:18 +01:00
Christoph Oelckers
1061e3e2ca
- backend update from GZDoom.
2022-12-04 16:51:44 +01:00
Christoph Oelckers
8806fb930b
- Backend update from GZDoom
...
* Vector 4 in zscript
* garbage collector fixes
2022-11-12 10:45:39 +01:00
Christoph Oelckers
41fc5660e5
- Backend update from GZDoom
...
* IQM enhancements
* config storage in Users
* moving of savegame filename generation to the backend
2022-11-06 11:46:26 +01:00
Christoph Oelckers
479616a80f
- got new CVar system from GZDoom.
2022-10-22 00:12:17 +02:00
Christoph Oelckers
c51a71ed94
- made some changes to let the engine start up with ASAN enabled on MSVC.
2022-10-19 18:01:28 +02:00
Christoph Oelckers
b196e67f40
ported SHA-1: 82e3f6af9367200853fe2af1b9665dd0c53b4f05 from NBlood
...
* - Change gBusyCount limit to a higher value since xsector limit raised.
gModernMap:
- The return of the event causer (kChannelEventCauser, TXID 50).
- Fix flags for kModernPropertiesChanger type.
- Add new modern type kModernVelocityChanger.
- New features for kMarkerWarpDest type.
- New features for kModernSectorFXChanger type.
- Fix sector condition 58.
- Fix sprite hitscan conditions (35 - 38).
- Add new command (kCmdEventKillFull).
- Misc changes.
# Conflicts:
# source/games/blood/src/actor.cpp
# source/games/blood/src/nnexts.cpp
2022-08-17 20:45:51 +02:00
Christoph Oelckers
998def2487
- another backend update from GZDoom.
2022-06-06 15:28:41 +02:00
Christoph Oelckers
f599040212
- GCC needs this commented out but really shouldn't.
2022-06-06 13:08:23 +02:00
Christoph Oelckers
84173ee09b
- backend update from GZDoom.
...
The main bulk of this is the new start screen code. To make this work in Raze some more work on the startup procedure is needed.
What this does provide is support for the DOS end-of-game text screens in Duke and SW on non-Windows systems.
2022-06-06 11:45:34 +02:00
Christoph Oelckers
26e9d33bfa
- GCC didn't like this. :(
2022-01-12 00:19:41 +01:00
Christoph Oelckers
44e64a6a12
- backend update from GZDoom.
...
* GC fix
* better sound range check
* UE model loader license change.
2022-01-11 22:54:37 +01:00
Mitchell Richters
9bbb54fe2e
- Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries.
2021-12-30 20:30:21 +11:00
Christoph Oelckers
74da3e5fa7
- added savegame support for the new actor management.
2021-12-26 23:10:03 +01:00
Mitchell Richters
38842994e0
- Remove the constructors from TObjPtr
class.
...
They're not used in Raze and were preventing build issues under POSIX environment as you can't use constructor objects in anonymous aggregate types (unnamed structs, etc).
2021-12-26 23:10:02 +01:00
Christoph Oelckers
2d913982da
- changed map loader to work without relying on spritetype::sectnum.
...
All access to this field is done through access functions now.
2021-12-26 23:10:01 +01:00
Christoph Oelckers
8ee5d1b0d7
- activated the garbage collector
...
This finally gets rid of all static storage for actors - so no more indices ever! :)
2021-12-26 23:10:00 +01:00
Christoph Oelckers
0dd756fa32
- added GC handling for all backend pointers in the map data.
...
GC is not active yet!
2021-12-26 23:10:00 +01:00
Christoph Oelckers
138690d34e
- do not use auto to make local copies of TObjPtr's.
...
This will just copy the object without performing the read barrier on the source data which is not what we want here.
For these assignments the type must be explicit.
2021-12-26 23:09:59 +01:00
Christoph Oelckers
fa62b20d76
- GC setup for Duke.
2021-12-26 23:09:58 +01:00
Christoph Oelckers
6e0fbb2043
- removed templates.h includes.
2021-10-30 10:51:03 +02:00
Mitch Richters
9894729fc2
- Replace MAX()
from templates.h
with version provided in STL.
...
# Conflicts:
# source/common/textures/hw_ihwtexture.cpp
# source/common/utility/templates.h
2021-10-30 10:36:02 +02:00
Christoph Oelckers
2348dd8848
- backend update from GZDoom
...
* GLES backend fixes.
* font colorization fixes.
* option menu spacing fix
2021-10-07 22:46:45 +02:00
Christoph Oelckers
585f841f96
- core shader override block, backported from GZDoom.
2021-09-12 18:18:26 +02:00
Christoph Oelckers
e5dd4a8638
- made the scripted version of Blood's status bar functional.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
c96e04e6c9
- backend update from GZDoom.
2021-02-12 14:44:54 +01:00
alexey.lysiuk
07eeba88fa
- fixed incorrect autosegs section addresses on macOS
...
It appeared that getsectbyname() returns address stored in executable header as is, i.e. without adjusting it for ASLR
2020-11-14 12:48:39 +02:00
alexey.lysiuk
555007539d
- eliminate dependency on linking order for autosegs registration
...
This fixes #164
2020-11-13 09:41:58 +01:00
Christoph Oelckers
1a300aa220
- fixed GC crash with new statusbar code.
...
It looks GZDoom never run in the case where using Create<> to create an object this left a pointer uninitialized.
To be safe, use Calloc instead of Malloc to get the memory for the new object so that everything is nulled.
2020-11-03 06:51:42 +01:00
Christoph Oelckers
c82d9d2908
- backend update from GZDoom.
2020-10-24 17:30:47 +02:00
Christoph Oelckers
a39cf290e3
- Blood: fixed: The player's inventory and some other state were reset for each level, not each new game.
2020-10-10 20:20:12 +02:00
Christoph Oelckers
02afa90202
- another backend update from merging several GZDoom PRs.
2020-09-27 16:16:53 +02:00
Christoph Oelckers
d4cdb31464
- backend update to make the ZScript compiler work.
2020-06-14 18:58:30 +02:00
Christoph Oelckers
a9141af545
- backend update.
2020-06-11 09:15:44 +02:00
Christoph Oelckers
d52600663d
- backend sync with GZDoom to pull in a few bugfixes and formatting corrections.
2020-05-26 23:12:04 +02:00
Christoph Oelckers
4523ad5f7e
- Linux compile fixes.
2020-05-24 16:47:00 +02:00
Christoph Oelckers
4b8444b64d
- 'common' update.
2020-05-23 22:43:03 +02:00
Christoph Oelckers
4d44682603
- integrated ZScript backend
2020-05-23 22:43:03 +02:00
Christoph Oelckers
920f9a3f3f
- cleaned out all Doom dependencies from the DObject system.
2020-05-23 22:43:02 +02:00
Christoph Oelckers
bb9a077424
- reactivated some more code after integrating the VM core.
...
There's a few bits here and there that only have meaning in Doom but they are kept to allow using the same unaltered source files in both engines.
2020-05-23 22:43:02 +02:00
Christoph Oelckers
c9b2399cd0
- added a first bunch of ZScript code.
...
# Conflicts:
# source/CMakeLists.txt
# source/common/utility/basics.h
# source/core/serializer.h
2020-05-23 22:43:01 +02:00
Christoph Oelckers
c1f7cf1c3a
- added DObject as a preparation for the ZScript compiler. Currently large parts are disabled because the backing features are not present yet.
...
# Conflicts:
# source/CMakeLists.txt
2020-05-23 22:43:01 +02:00