Mitchell Richters
ff7e0afa6f
- Use std::fma()
in the interpolation code.
...
* From everything I've read, this more accurate, can be ~5% faster and is heavily optimised on CPUs of the last 10-12 years.
* This homegrown solution can be removed for `std::lerp()` once we go C++20.
2022-11-07 19:28:34 +11:00
Mitchell Richters
274899c9db
- Get rid of useless lerp()
function I added last night for lack of C++20.
...
* We already have a generic linear interpolator that _I_ added, so let's use it.
2022-11-07 17:31:17 +11:00
Mitchell Richters
c8114e7ed0
- Revert change to TAngle<T>
's /
operator that snuck in.
2022-11-07 15:43:00 +11:00
Mitchell Richters
8ec475aec8
- Replace clamped off tangent values with a linear interpolation of the player's pitch.
...
* Gives a tangent-like ramping where it's noticeable without having to use the tangent at all.
* Had to do homegrown lerper since we're not C++20 yet.
2022-11-06 21:59:04 +11: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
a3dbfab54b
- return some invalid but recognizable magic value when IntersectLines is being passed two collinear lines.
...
This actually should check if the two lines are identical but since this is rather expensive and rarely needed it's better handled by returning a distinct value the caller can handle if needed.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
e3254a8546
- fixed an edge case in cansee where an actor placed directly on a two-sided wall would fail to register that wall's back sector.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
98e2fecd37
- another bunch of type conversion warnings fixed.
...
the ones in the findplayer functions are not critical in singleplayer.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
902f8c9706
- silenced lots of warnings for deliberate type conversions.
...
The ones in d_net.cpp are not in active code.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
a4dd5bb4ce
- rewrote the model storage code.
...
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Mitchell Richters
75047b6ad5
- Eliminate MulScaleF()
.
2022-10-27 16:55:52 +02:00
Christoph Oelckers
8e9ddf370c
- rewrote getzrange
...
Not using any old Build code anymore. Aside from the trivial stuff this uses code from Doom and SW instead.
2022-10-27 16:55:28 +02:00
Mitchell Richters
bb6e12a2b1
- Eliminate remaining calls to TAngle<T>::fromBuildf()
.
2022-10-25 07:07:03 +02:00
Mitchell Richters
5d8cc1b4fc
- Store all input speed constants as DAngle to avoid calling DAngle::fromDeg()
all the time.
2022-10-25 07:07:02 +02:00
Christoph Oelckers
2fe5655394
- added 'Resized()' to TVector2 and fixed its const state for all vectors.
2022-10-25 07:06:56 +02:00
Christoph Oelckers
0672a1a958
- replaced mapangle(85) with DAngle15.
2022-10-25 07:06:50 +02:00
Christoph Oelckers
861423248f
- Backend update from GZDoom.
...
Mainly fixing CVar setup.
2022-10-25 07:03:25 +02:00
alexey.lysiuk
2df33e7d8a
- removed obsolete defaults from Cocoa backend
...
This legacy code from the time of exclusive fullscreen mode began to crash after changes in console variables handling
2022-10-24 10:26:57 +03:00
Christoph Oelckers
de70e802ec
- downgraded all LGPL3 license headers in the backend to LGPL2.
...
This had already been agreed by all involved authors, but apparently not all files were changed accordingly.
2022-10-23 18:46:17 +02:00
Christoph Oelckers
2991bc752b
- split out the pure math stuff from gamefuncs.h into a utility header in 'common'.
...
Also did a bit of reshuffling on gamefuncs.h to group content better.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
243c071834
- got rid of bsinf and bcosf.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
0501482160
- added missing distance check for sprites to hitscan.
2022-10-22 12:17:03 +02:00
Mitchell Richters
8e851c8b00
- Blood: Initial pass at floatifying actFloorBounceVector()
.
...
* Direct translation of the original code.
2022-10-22 12:16:58 +02:00
Mitchell Richters
6efe565f7c
- Blood: Floatified vector addition in ConcussSprite()
.
2022-10-22 12:16:57 +02:00
Christoph Oelckers
04e98f2f77
- avoid inflation of random functions.
2022-10-22 12:16:56 +02:00
Christoph Oelckers
9f219ce809
- floatified bounce()
2022-10-22 09:34:14 +02:00
Christoph Oelckers
1111251887
type safe CVAR declaration.
2022-10-22 09:25:27 +02:00
Mitchell Richters
70b6aa848f
- Clean up the availability detection of kdialog
and gxmessage
in POSIX sources.
...
* Both `kdialog` and `gxmessage` are not core components of the KDE or GNOME desktop environments.
* The environment variable `GNOME_DESKTOP_SESSION_ID` has been deprecated for nearly a decade.
* Systems like Steam Deck are shipping with stripped down DEs where these environment variables were set, but without the associated binaries.
2022-10-22 13:51:27 +11:00
Mitchell Richters
3f9a2a2103
- Don't copy delayed events in D_ProcessEvents()
, instead store the current pointer.
2022-10-22 13:51:23 +11:00
Christoph Oelckers
479616a80f
- got new CVar system from GZDoom.
2022-10-22 00:12:17 +02:00
Christoph Oelckers
1a597c4e0b
- fixed and floatified chickenarrow.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
3352783be2
- added a Sum function to TVector familiy
...
Duke uses this kind of distance check quite a lot so it makes sense to add it to the vectors.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
5eb9af1e00
- Backend update from GZDoom
...
IQM model support and a few bugfixes.
2022-10-20 22:24:25 +02:00
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