Commit graph

1530 commits

Author SHA1 Message Date
Christoph Oelckers
673a913f92 Backend update from GZDoom.
Mainly remembering the game list's initial setting.
2024-01-05 17:08:47 +01:00
Christoph Oelckers
5a232f8fa6 eliminated the small white part of the initial window content after the IWAD picker. 2024-01-04 22:23:05 +01:00
Christoph Oelckers
3b834b18af fixed Linux include 2024-01-04 21:09:04 +01:00
Christoph Oelckers
6948ed41a1 added ZWidget based game picker 2024-01-04 20:54:04 +01:00
Christoph Oelckers
b72fcd5185 converted files to UTF-8 2024-01-04 18:29:28 +01:00
Christoph Oelckers
52b3d386cf backend update from GZDoom 2024-01-04 18:24:00 +01:00
Christoph Oelckers
fb6beb905a Blood: fixed cutscene sound not playing when starting a map from the console. 2024-01-04 18:08:23 +01:00
Christoph Oelckers
e2048bd8bd fixed loading of embedded files from directories. 2024-01-04 17:56:15 +01:00
Christoph Oelckers
ac8e80e52f account for resorted directories when accessing the local file path array in file_directory.cpp 2023-12-31 23:42:57 +01:00
Christoph Oelckers
d352f564db minor backend update. 2023-12-28 21:12:24 +01:00
Christoph Oelckers
542997a967 perform music volume lookup by lump number instead of name.
This way any setting will work for both short and long file names.
2023-12-27 20:10:54 +01:00
Christoph Oelckers
6c79e35c25 Backend update from GZDoom. 2023-12-26 22:28:44 +01:00
Christoph Oelckers
af4eaf69e3 silenced some warnings. 2023-12-21 00:50:53 +01:00
Christoph Oelckers
27da9b6b79 fixed crash on trying to read from a mounted directory's content. 2023-12-19 19:01:30 +01:00
Christoph Oelckers
860a0c290b fixed some filesystem issues with directories and compression. 2023-12-17 17:13:42 +01:00
Christoph Oelckers
36930d44bd filesystem update from GZDoom. 2023-12-17 12:48:03 +01:00
Christoph Oelckers
84e10beab4 Blood: fixed cutscene sound not playing when starting a map from the console. 2023-12-17 10:59:25 +01:00
Christoph Oelckers
1e618d2fdb rewrote FileSystem::AddFromBuffer so that it gets backed by an actual FResourceFile. 2023-12-10 15:23:21 +01:00
Christoph Oelckers
745de36ead added Unicode utilities 2023-12-10 15:23:05 +01:00
Christoph Oelckers
c0d166c307 backend update from GZDoom. 2023-12-10 13:30:50 +01:00
Christoph Oelckers
aceed7f71c fixed case mapping for Georgian script. 2023-12-05 22:41:00 +01:00
Christoph Oelckers
9c595c6204 move M_Calloc out of the #ifndef BSD etc... block. 2023-12-05 22:40:58 +01:00
Christoph Oelckers
f6bca4177c - Don't inline M_Calloc() calls because GCC is shit.
* Fixes #1009.
2023-12-05 22:40:58 +01:00
Christoph Oelckers
c06e795703 use FTranslationID in the 2D drawer. 2023-12-05 22:40:57 +01:00
Christoph Oelckers
0265d37fdb use FTranslationID in the model code. 2023-12-05 22:40:56 +01:00
Christoph Oelckers
4cb3b96ddf migrate to FTranslationID support
So far this only adapts to the changes in the backend without making further use of this type.
2023-12-05 22:40:56 +01:00
Christoph Oelckers
6df1a14a92 gave translations a dedicated scripted type.
This is needed for implementing reliable serialization of custom translations. As long as they are merely ints they cannot be restored on loading a savegame because the serialization code does not know that these variables are special.
2023-12-05 22:40:56 +01:00
Christoph Oelckers
6c702847ff Backend update from GZDoom. 2023-12-05 22:39:34 +01:00
Christoph Oelckers
a9dc57e99f fixed potentially undefined behavior with bool parameters in direct native functions. 2023-12-05 22:39:34 +01:00
Christoph Oelckers
93294b2d44 for line intersection, exclude the end point of the intersected line.
This is needed to make Build's utilities work as expected.
2023-12-05 22:39:29 +01:00
Christoph Oelckers
f00a90aa07 two minor backend fixes 2023-12-05 22:39:29 +01:00
Christoph Oelckers
f0b7d57941 fixed Mac compilation.
Unlike the other platforms this builds its config paths from variable data.
2023-12-05 22:39:27 +01:00
Christoph Oelckers
f50430eb7c GetChars in non-windows code. 2023-12-05 22:39:26 +01:00
Christoph Oelckers
90eb9ceafe Use GetChars on FStrings. 2023-12-05 22:39:26 +01:00
Mitchell Richters
1859a902e0 - Fix some warnings in MSVC. 2023-12-05 22:39:26 +01:00
Christoph Oelckers
bbbb61f450 backend update from GZDoom
LZMA update plus several ZScript improvements.
2023-12-05 22:39:26 +01:00
Mitchell Richters
39df2714e9 - Modernise function declarations in Cephis C math to address ongoing GCC and Clang warnings.
Examples:

/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c: In function ‘c_exp’:
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:171:48: warning: declaration of built-in function ‘floor’ without a prototype; expected ‘double(double)’ [-Wbuiltin-declaration-mismatch]
  171 | double polevl(double, void *, int), floor(), ldexp();
      |                                                ^~~~~
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:171:57: warning: declaration of built-in function ‘ldexp’ without a prototype; expected ‘double(double,  int)’ [-Wbuiltin-declaration-mismatch]
  171 | double polevl(double, void *, int), floor(), ldexp();

/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:200:16: warning: passing arguments to 'polevl' without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
px = x * polevl( xx, P, 2 );
               ^
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:201:17: warning: passing arguments to 'polevl' without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
x =  px/( polevl( xx, Q, 3 ) - px );
                ^
/home/mrichters/Repos/Raze/source/common/thirdparty/math/exp.c:167:8: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
double c_exp(x)
       ^
3 warnings generated.
2023-12-05 22:39:24 +01:00
Mitchell Richters
790fc0b28a - Fix most warnings in Clang under Linux. 2023-12-05 22:39:24 +01:00
Mitchell Richters
0c13d4fe3a - Fix most GCC warnings in the backend/common code code.
* Most of them were just signedness issues. Hopefully I got everything right here.
* 3rd party stuff deliberately not touched.
2023-12-05 22:39:23 +01:00
Mitchell Richters
d2af13b924 - Make some utilities in vectors.h available as constexpr. 2023-12-05 22:39:18 +01:00
Mitchell Richters
a64de707e0 - Make TRotator<T> available as constexpr. 2023-12-05 22:39:18 +01:00
Mitchell Richters
4ff3351dd1 - Make TMatrix3x3<T> available as constexpr. 2023-12-05 22:39:18 +01:00
Mitchell Richters
eae8ebec31 - Make TVector4<T> available as constexpr. 2023-12-05 22:39:18 +01:00
Mitchell Richters
6b9ec49038 - Make TVector3<T> available as constexpr. 2023-12-05 22:39:18 +01:00
Mitchell Richters
ad694b7a8c - Make TVector2<T> available as constexpr. 2023-12-05 22:39:17 +01:00
Christoph Oelckers
60a36f4902 fix Vectoe3 clamp for real. 2023-12-05 22:39:17 +01:00
Mitchell Richters
e8451d3ddb - 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-12-05 22:39:13 +01:00
Mitchell Richters
e2a949949c - 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-12-05 22:39:12 +01:00
Mitchell Richters
8c1e392afc - 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-12-05 22:39:12 +01:00
Christoph Oelckers
88d5d15094 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-12-05 22:39:08 +01:00