Commit graph

1333 commits

Author SHA1 Message Date
Christoph Oelckers
50a9ca49f3 - floatified player_struct::hitang 2022-10-20 00:33:31 +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
Mitchell Richters
bdc6a5cf69 - Remove fudging from I_GetInputFrac() and correct getPushBuild(). 2022-10-18 19:52:02 +02:00
Christoph Oelckers
e7f581a4fd - floatified AngleChase. 2022-10-18 18:34:25 +02:00
Christoph Oelckers
9d8f06612f - floatified MoveSector 2022-10-18 18:34:25 +02:00
Christoph Oelckers
31eb2e5f10 - fixed: Arrays serialized as array elements may not skip their serialization if their content are all zero. 2022-10-16 23:47:18 +02:00
Christoph Oelckers
7f3c5ae18d - added a 'dot' function to DVector2 because using the '|' operator is not intuitive. 2022-10-15 17:52:07 +02:00
Mitchell Richters
acee39ad68 - Restore a dedicated interpolatedvalue() overload just for angles, which need special treatment. 2022-10-15 13:32:03 +02:00
Mitchell Richters
74167e1a7c - Remove interpolators for TVector and TAngle objects, replacing with single generic version. 2022-10-15 13:32:01 +02:00
Christoph Oelckers
2b5422cc53 - floatified USER::goalAng 2022-10-15 13:32:00 +02:00
Christoph Oelckers
45690a0e23 - cleanup of the DrawLine interface, 2022-10-15 12:10:46 +02:00
Christoph Oelckers
62ba753585 - remove vel clear wrappers 2022-10-15 10:15:21 +02:00
Christoph Oelckers
e361abb96d - added some utilities 2022-10-14 23:55:32 +02:00
Mitchell Richters
7cef3ac655 - Restore non-vector F2DDrawer::AddLine() and F2DDrawer::AddThickLine() interfaces. 2022-10-14 23:55:31 +02:00
Christoph Oelckers
09b31afd40 - movieplayer update from GZDoom. 2022-10-14 20:20:06 +02:00
Christoph Oelckers
5a580c145e - Backend update from GZDoom. 2022-10-14 20:19:48 +02:00
Christoph Oelckers
972df67d92 - sound system update from GZDoom. 2022-10-14 19:58:39 +02:00
Mitchell Richters
03bb820944 - Removed unused variable CamRoll from TRotator<> class.
* Residual value left behind in be9b25e760.
2022-10-14 18:19:04 +02:00
Mitchell Richters
d63fb33dd0 - Pass DVector2 objects directly through to F2DDrawer::AddLine() and F2DDrawer::AddThickLine().
* Since all the external code calling through to these methods are built on vectors, makes sense to pass them around by reference.
2022-10-14 18:19:04 +02:00
Mitchell Richters
d9f8ac4d2a - Convert automap's follow_x/follow_y variables into a proper vector.
* Should have done this from the start, but anyhow...
2022-10-14 18:13:49 +02:00
Mitchell Richters
059f15c786 - Refactor floatified vector math to use inline wrapped around TVector2's Rotated() method.
* This will be used extensively in Duke and the other game as we finalise this conversion.
2022-10-14 18:13:49 +02:00
Christoph Oelckers
f7d2ab20d8 - handle more move_missile calls 2022-10-14 17:17:36 +02:00
Christoph Oelckers
81c7e7671f - fixed Clang warnings 2022-10-13 22:54:43 +02:00
Mitchell Richters
60f5d9b67c - Rework some automap functions in prep for floatification. 2022-10-13 00:59:04 +02:00
Mitchell Richters
7286585998 - Add missing header to vectors.h that GCC and Clang were complaining about. 2022-10-13 00:59:04 +02:00
Mitchell Richters
1e36aa0e7f - Move TAngle<> interpolation function to common and add ones for TVector<> classes. 2022-10-13 00:59:03 +02:00
Mitchell Richters
19d21555a6 - Duke: Change int_ang() usage in camera().
* This commit also restores the original method of incrementing the camera's angle that was replaced due to a hiccup/stutter where the angle suddenly skipped forward by 16 instead of 8, but with a fix from EDuke32. This avoids using 3x extra `temp_data[]` slots.
2022-10-13 00:59:03 +02:00
Mitchell Richters
a22300fe01 - Blood: Replace some set_int_ang() usage.
* A lot of this repeated code should be factored out into repeated blocks when all of this floatification is done.
2022-10-13 00:59:02 +02:00
Christoph Oelckers
2f896b859b - made the code mostly signed-char safe.
This eliminates all char function parameters that are not really ASCII characters and casts all char argument to the ctype is... functions.
2022-10-12 22:12:30 +02:00
Christoph Oelckers
9275c14c9c - floatify SE18 handler.
To store floars in temp_data without relying on map format conventions, the FixedTo functions were extended to allow custom precision.
2022-10-12 22:10:35 +02:00
Christoph Oelckers
45f37525e0 - minor angle stuff in Blood 2022-10-10 17:31:30 +02:00
Christoph Oelckers
b2d0d7f9e5 - normalize the timer with the app start, not the epoch.
This ensures smaller values and less wraparounds with integer values in scripts.
2022-10-09 14:50:45 +02:00
Christoph Oelckers
00b812a5ff - un-deprecated the integer MSTime variant.
Due to undefined downconversion rules from double to int, there is no way to safely downcast the return from MSTimef, meaning the function is completely useless for retrieving integral time stamps.
The old version is essential for these cases and must be kept around.
2022-10-09 13:47:55 +02:00
Christoph Oelckers
416be99967 - fixed: SW's intro video must not stop playing music. 2022-10-08 10:04:31 +02:00
Mitchell Richters
ca521f8a1e - Test whether texture filtering is allowed before unconditionally allowing anisotrophy in the GLES backend. 2022-10-08 10:04:31 +02:00
Christoph Oelckers
be2f61bce2 - optimized TVector3::XY() to return a writable reference. 2022-10-06 20:50:44 +02:00
Christoph Oelckers
661655fb67 - SW: use a DVector3 in SpawnVis 2022-10-06 20:50:43 +02:00
Mitchell Richters
d28d6cd4cf - Utilise actor sprite's full precision in instances where angle was converted to Build and back again. 2022-10-05 00:36:30 +02:00
Mitchell Richters
bd6b0eaac5 - Fix some constexpr issues with the latest DAngle works.
* We can't make `BAMs()` constexpr as we can't update to a C++20 compatible version of xs_Float where we use legal std::bit_cast instead of a union.
2022-10-05 00:36:29 +02:00
Mitchell Richters
13ea55b4cb - Replace player's rotscrnang and look_ang angles with DAngle objects.
* Went the el cheapo route and added some floating point Build angle methods. As these and the integer build methods are really just refactoring aids, we'll come back to this in due course.
2022-10-05 00:36:26 +02:00
Mitchell Richters
36d76a71ea - Change walltype::clipangle from binangle to angle_t. 2022-10-05 00:36:25 +02:00
Christoph Oelckers
41ba829665 - fixed compile 2022-10-02 20:45:53 +02:00
Christoph Oelckers
c1d603e1e9 - backend update from GZDoom. 2022-10-02 20:33:18 +02:00
Christoph Oelckers
fa53fcd085 - undid the fix that allocated one byte too many for loading a complete file into an FString.
Without this padding byte the voxel loader does not work.
2022-08-27 00:02:57 +02:00
Christoph Oelckers
111dbd7a7d - backend update from GZDoom.
mainly TAngle overhaul and needed code adjustments.
2022-08-26 18:28:22 +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
77bc5999ce - Backend update from GZDoom.
* ZScript compiler fixes for type promotion
* FileSystem.FindLumpFullName
* Statusbar text scaling fixes.
* removed scalar addition operators from vectors.
2022-08-17 20:38:46 +02:00
Christoph Oelckers
864c0b71e0 -removed some xs_float casts that are not really necessary. 2022-08-07 10:54:52 +02:00
Christoph Oelckers
8aa96777b0 - allow FModel::FindFrame to not pick a default. 2022-08-07 10:42:07 +02:00
Christoph Oelckers
4260d334e2 - do not overwrite a textures sky cap color. 2022-08-06 09:26:08 +02:00