Christoph Oelckers
d1caf3a471
- made TObjPtr as trivial as possible.
...
Mainly to avoid problems with Raze, but eliminating this constructor lets us catch erroneous local definitions via 'auto', which can cause major problems if left undetected.
2022-06-06 15:19:31 +02:00
Christoph Oelckers
c23abd1930
- silenced some warnings.
2022-05-14 11:55:56 +02:00
Christoph Oelckers
0a208597c6
- fixed return type of MSTimeF script function.
2022-04-30 12:13:20 +02:00
Christoph Oelckers
bd885977e8
- added MSTimef script function
...
This also deprecates MSTime due to value range / overflow issues.
2022-04-29 00:47:06 +02:00
Marisa Heit
a1d0d27278
Make GC::CheckTime 64-bit, just in case.
2022-01-11 13:01:31 +01:00
Marisa Heit
e529f2d4d1
Revert "- be a bit more aggressive with the GC when not running the game loop."
...
This reverts commit b4d03501af .
2022-01-11 13:01:31 +01:00
Marisa Heit
31549997b4
Fix GC so collection rate is proportional to alloc rate
...
- Previous comments in dobjgc.cpp suggested that StepMul was used
to determine how quickly garbage was collected based on how quickly
memory was being allocated. This was not the case. Now it is.
- Remove calls to CheckGC from the thinkers. With GC running at a
stable rate (once per frame), there should be no need to inject
pauses into the collection process to keep it from injecting stutters
(provided StepMul is sane). The risk of running out of memory because
we don't run a collection pass absolutely every thinker should be
practically zero.
- Reduce DEFAULT_GCMUL from 400 to 200, since it does what it says now
instead of something else.
2022-01-11 13:01:31 +01:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00
Christoph Oelckers
eb69bbcae0
- replaced MIN/MAX in common code.
2021-10-30 10:46:17 +02:00
Christoph Oelckers
b4d03501af
- be a bit more aggressive with the GC when not running the game loop.
...
Since most CheckGC calls are within the main game ticker, the engine can accumulate a lot of data when creating/deleting objects in the menu or other UI parts and never manage to collect everything
2021-10-03 14:01:27 +02:00
Christoph Oelckers
8bdd4befbf
- replaced deprecated throw() with noexcept in TObjPtr
2021-08-21 12:22:15 +02:00
Christoph Oelckers
8a4fa8b65f
- backend update from Raze.
2021-05-17 20:44:19 +02:00
alexey.lysiuk
6bc82bdeff
- fixed incorrect extension of overridden function prototype
...
Prototype of overridden function with optional argument(s) missing could extend unrelated prototype of previously defined function when their arguments and return value(s) match
https://forum.zdoom.org/viewtopic.php?t=71340
2021-02-12 08:42:57 +01:00
Christoph Oelckers
9925cc380e
- backend update from Raze.
2020-11-23 15:45:33 +01:00
alexey.lysiuk
38d29c235b
- 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:16:51 +02:00
alexey.lysiuk
18b5928f49
- eliminate dependency on linking order for autosegs registration
2020-11-13 11:03:16 +02:00
Player701
761dea8640
- Implemented ZScript abstract functions
2020-10-19 08:24:43 +02:00
Christoph Oelckers
ef7a7cc39d
- moved console command line buffer tab completion into their own files.
...
- layout fixes in load/save menu and confirmation screen.
2020-10-16 22:57:30 +02:00
Player701
3a526c9e5a
- Implement return type covariance for ZScript virtual functions
2020-09-27 14:18:15 +02:00
Christoph Oelckers
75cd00a340
- fixed some issues with setup parts for ZScript in the wrong place.
...
This never showed on GZDoom as an error but on Raze which has no actor classes it caused incompletely set up class descriptors.
2020-06-14 18:35:58 +02:00
Christoph Oelckers
712d80006a
- split game dependent parts out of menudef.cpp.
2020-06-14 00:27:32 +02:00
alexey.lysiuk
18371fb27a
- fixed calculation of allocated memory for garbage collection
...
Continuous Integration / Linux Clang 6 | Debug (push) Has been cancelled
Continuous Integration / Linux GCC 9 | Debug (push) Has been cancelled
Continuous Integration / Visual Studio 64-bit | Debug (push) Has been cancelled
Continuous Integration / macOS | Debug (push) Has been cancelled
Continuous Integration / Linux GCC 5 | MinSizeRel (push) Has been cancelled
Continuous Integration / Linux GCC 7 | RelWithDebInfo (push) Has been cancelled
Continuous Integration / macOS | Release (push) Has been cancelled
Continuous Integration / Linux Clang 9 | Release (push) Has been cancelled
Continuous Integration / Visual Studio 32-bit | Release (push) Has been cancelled
Continuous Integration / Visual Studio 64-bit | Release (push) Has been cancelled
https://forum.zdoom.org/viewtopic.php?t=68897
2020-06-09 16:48:51 +03:00
Christoph Oelckers
d71ef66957
- fixes copied from Raze.
2020-04-29 23:58:50 +02:00
alexey.lysiuk
d29c6a55eb
- fix autoseg registration by moving start/end files back to src directory
...
Link order was wrong when building via Xcode project because CMake generator sorts files by paths
This made most of classes missing from corresponding segments, and the game crashes right after launch
2020-04-13 10:14:07 +03:00
alexey.lysiuk
2b1ef5f4f2
- common fixes for compilation with GCC and Clang
2020-04-12 11:02:05 +03:00
Christoph Oelckers
f02c5c0a56
- took InitializeDefaults out of PClass and moved it to PClassActor.
...
Like so many other parts, this created a hard dependency of the low level code on very invasive game content.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
74c5f83658
- moved most of the root marking out of the garbage collector, replacing it with callbacks.
...
Yet another place where low level code was tied too tightly to the game instead of providing a proper interface.
2020-04-11 20:20:52 +02:00
Christoph Oelckers
933c1f6403
- moved dumpactors CCMD out of dobject.cpp.
2020-04-11 20:20:52 +02:00
Christoph Oelckers
cf51508ce6
- moved around some pieces of code to make sharing with Raze easier.
2020-04-11 20:20:52 +02:00
Christoph Oelckers
f8ac9a2662
- moved DObject and core parts of the VM to 'common'.
...
# Conflicts:
# src/common/objects/dobject.h
2020-04-11 20:20:51 +02:00