Commit graph

1494 commits

Author SHA1 Message Date
Mitchell Richters
14ffc7ced7 - Make some utilities in vectors.h available as constexpr. 2023-10-04 08:32:47 +11:00
Mitchell Richters
8980f5592e - Make TRotator<T> available as constexpr. 2023-10-04 08:32:12 +11:00
Mitchell Richters
275d43cff6 - Make TMatrix3x3<T> available as constexpr. 2023-10-04 08:31:24 +11:00
Mitchell Richters
873287b9df - Make TVector4<T> available as constexpr. 2023-10-04 08:30:34 +11:00
Mitchell Richters
6afa8dcd2b - Make TVector3<T> available as constexpr. 2023-10-04 08:29:49 +11:00
Mitchell Richters
08b2bf5267 - Make TVector2<T> available as constexpr. 2023-10-04 08:29:01 +11:00
Christoph Oelckers
77f61004c3 fix Vectoe3 clamp for real. 2023-10-03 14:57:17 +02:00
Mitchell Richters
d6de57095d - Take better advantage of InputPacket::ang's FRotator status.
* Change it to a DRotator as that's what the game is expecting. Too many narrowings against DAngle objects needed.
* Utilise object methods where possible.
* Do all math against the object where possible, not its members.
2023-10-03 23:07:45 +11:00
Mitchell Richters
f88d435335 - Take better advantage of InputPacket::vel's FVector3 status.
* Change it to a DVector3 as that's what the game is expecting. Too many narrowings against DAngle objects needed.
* Utilise object methods where possible.
* Do all math against the object where possible, not its members.
2023-10-03 23:07:44 +11:00
Mitchell Richters
828e46a8da - Remove the TVector2 (const TVector3<vec_t> &other) constructor.
* This narrowing constructor was causing a problem with a `clamp()` overload in the next commit.
* Believe this is a product of a by-gone time before we had the `XY()` method on `TVector3<T>` objects.
2023-10-03 23:07:44 +11:00
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
02c6b68581 Merge remote-tracking branch 'remotes/origin/playerArray' into blood-script-export 2023-10-02 18:51:51 +02:00
Christoph Oelckers
762263671a exported the main structures in Blood that make up a BloodActor.
nnext stuff was omitted for now.
This also eliminates the DUDEEXTRA_STATS substructure and integrates its content directly into DUDEEXTRA.
2023-10-01 22:25:08 +02:00
Christoph Oelckers
3aafcb94f1 exported XSECTOR and XWALL.
this required an extension to the ZScript front end to allow defining the bitfield flag variables which cannot have their address taken.
2023-10-01 20:39:40 +02:00
Rachael Alexanderson
1fa628b47e - do same change as d33f2697a3 2023-10-01 10:47:15 -04:00
Christoph Oelckers
716e059374 use shared SplitPath function 2023-10-01 13:09:22 +02:00
Mitchell Richters
f35e8eecf1 - Fix incomplete backend update in 4a87003408 that broke Linux builds. 2023-09-24 14:38:30 +10:00
Christoph Oelckers
912d8d38bf - disable alloc debugging again. 2023-09-23 10:32:49 +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
e19ce3ead4 - fixed voxel loader. 2023-09-10 21:30:45 +02:00
Christoph Oelckers
f749f4cc33 - copied equal_epsilon from GZDoom. 2023-09-07 22:12:31 +02:00
Christoph Oelckers
fa7a16a775 - backend update from GZDoom.
Some missing 'override' qualifiers and font fixes.
2023-09-06 00:18:45 +02:00
Christoph Oelckers
25c0a56d96 - fixed broken character fallback for cyrillic T.
This was attached to the у (i.e. cyrillic u)
2023-09-06 00:03:02 +02:00
Christoph Oelckers
431d29b6a1 - don't run string conversions on empty strings.
std::string complains about this case
2023-09-05 23:54:22 +02:00
Christoph Oelckers
4e53f3bd81 - backend update from GZDoom for adding vcpkg integration 2023-09-02 09:46:20 +02:00
Christoph Oelckers
e88d2fb6b4 - fixed directory loader 2023-08-23 22:09:09 +02:00
Christoph Oelckers
82057bcd5a - Backend update from GZDoom-
This compiles but doesn't run.
2023-08-23 20:36:19 +02:00
Christoph Oelckers
f2740e434a - adapted game code. 2023-08-20 02:25:12 +02:00
Christoph Oelckers
b95a5a4b2b - yet another backend update. 2023-08-20 02:15:57 +02:00
Christoph Oelckers
6355671480 - second backend update from GZDoom. 2023-08-19 19:32:17 +02:00
Christoph Oelckers
32ede813e9 - new files for backend update. 2023-08-19 18:17:17 +02:00
Christoph Oelckers
cf19d75242 - backend update from GZDoom without adapting other code. 2023-08-19 16:59:05 +02:00
Christoph Oelckers
5eee7b80b1 - backend update from GZDoom.
* controller handling improvements
* use stb_sprintf.
* various smaller fixes.
2023-08-09 12:17:17 +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
706c784965 - added a few checks for null pointer types in the ZScript compiler. 2023-07-22 08:59:15 +02:00
Rachael Alexanderson
f1c917cffc - mimic gzdoom/01dfcc7d9564013ae26c79ecb642e4e5578905b1 2023-06-19 04:41:58 -04:00
Christoph Oelckers
ddfb485424 - added a serializer for VMFunction pointers. 2023-05-28 11:19:34 +02:00
Christoph Oelckers
213bdbadad - allocate VMFunction's PrintableName from the ClassDataAllocator arena.
This avoids execution order issues on shutdown. VMFunction should not use FString.
2023-05-27 22:40:47 +02:00
Christoph Oelckers
f3ea1e312a - Backend update from GZDoom. 2023-05-27 10:10:42 +02:00
Christoph Oelckers
92f2503160 - did a bit of optimization on sfxinfo_t.
Using two bytes of alignment gap to add a userval variable.
2023-05-27 09:03:10 +02:00
Christoph Oelckers
a76494363c - get rid of 'picnum' in common code. 2023-05-20 12:40:57 +02:00
Christoph Oelckers
b6767aa7a3 - fixed: The MVE player ignored the initial sound playing state.
If that is off, sound must remain off.
2023-05-19 22:59:48 +02:00
Rachael Alexanderson
fc45636215 - remove vid_gpuswitch and all associated handling 2023-04-30 10:57:28 -04:00
Mitchell Richters
3edc1a5a5a - Exhumed: Make getSequence() return a pointer instead of a reference.
* Gets rid of the awkward `operator[]()` calls.
* Gets rid of `std::ref()` setup in gun.cpp.
* Ensures a copy isn't made if the caller accidentally leaves off an ampersand.
* Allows us to use a consistent getter for native code and VM exports.
2023-04-27 20:16:14 +10:00
Christoph Oelckers
b56aa1e1a3 - no more picnum in spawn CCMD 2023-04-23 10:36:38 +02:00
Mitchell Richters
7ca73aa562 - Exhumed: Initial setup of new statusbar sequence exports, starting with DrawStatusSequence(). 2023-04-21 21:13:12 +10:00
Mitchell Richters
4cc3664287 - Exhumed: Minor tidy-up for seq_ReadSequence() prior to start. 2023-04-17 08:52:52 +10:00
Christoph Oelckers
5da28bf5ad - added new CHANF_SINGULAR flag plus a handler for CHANF_LOCAL in Duke. 2023-04-16 17:35:22 +02:00
Christoph Oelckers
a3da3a4c43 - added a large bunch of script exports. 2023-04-16 17:35:15 +02:00
Christoph Oelckers
17cde1e3ca - Duke: fixed bad init of hitag in initspriteforspawn 2023-04-15 19:53:04 +02:00