Rachael Alexanderson
b4e19ec6a0
- move posix I_GetGogPaths() stub to program specific code
2022-11-24 17:46:33 -05:00
Christoph Oelckers
d43ebd22ae
- fixed merge errors from backend update.
2022-11-24 18:05:47 +01:00
Christoph Oelckers
9219d24535
- removed unneeded WantEscape function from backend interface.
2022-11-24 17:57:40 +01:00
Christoph Oelckers
ed4f49ac86
- fixed sound code for backend update.
2022-11-24 17:46:39 +01:00
Christoph Oelckers
2ffdf3d0e1
- backend update from GZDoom.
...
Mainly quaternion math and sound system cleanup.
2022-11-24 16:56:46 +01:00
Christoph Oelckers
4d6920e80b
- fixed failiure to initialize the ambient tags array.
...
Also adding range checks to all places where it gets used. This is from CON code so proper values are never guaranteed.
2022-11-24 09:01:44 +01:00
Christoph Oelckers
c6b3cf3e0a
- Duke: fixed long standing problem that pressing Escape or walking backwards does not switch off the camera view.
2022-11-19 18:26:17 +01:00
Christoph Oelckers
6b3e57fd2c
- added 'foreach' loop to ZScript.
...
Syntax:
foreach(variable : array)
{
}
the variable's type is automatically deducted.
2022-11-15 21:29:04 +01:00
Christoph Oelckers
3bc34ec773
- fix last commit.
...
One change got lost by the update.
2022-11-14 23:50:30 +01:00
Christoph Oelckers
6e49f0bf8f
- Backend update from GZDoom.
...
Bone model support in GLES and ZScript quaternions.
2022-11-14 19:46:25 +01:00
Christoph Oelckers
cbf47b4dee
- added a 'Sum()' intrinsic to the vectors.
2022-11-14 12:07:51 +01:00
Christoph Oelckers
e62b79c7c9
- allow 'nullptr' in ZScript.
...
This makes it a lot easier to port C++ code.
2022-11-13 12:20:00 +01:00
Christoph Oelckers
166235027c
- Backend update from GZDoom
...
adding some intrinsics to ZScript.
2022-11-13 08:32:09 +01:00
Christoph Oelckers
8806fb930b
- Backend update from GZDoom
...
* Vector 4 in zscript
* garbage collector fixes
2022-11-12 10:45:39 +01:00
Mitchell Richters
0033826544
- Allow proper setting of progdir
for SDL targets.
2022-11-12 11:26:05 +11:00
Christoph Oelckers
800e7939b8
- fixed: when deactivating the app, pausing the sound system should not depend on the game's internal pause state.
...
All this tells is that the gameplay was halted. Sound was not stopped when the user either minimized or tabbed away in the in-game menu.
2022-11-11 18:40:36 +01:00
Christoph Oelckers
2290f05dcb
Revert "- Use std::fma()
in the interpolation code."
...
This reverts commit ff7e0afa6f
.
On Visual Studio with precise math, which is our main target this generates a very expensive function call instead of optimized assembly which renders the function's purpose ad absurdum.
2022-11-07 10:36:34 +01:00
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
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
Christoph Oelckers
c2fc7577db
- cleanup of 3D viewport code.
...
Removes all the hackery that Polymost needed and now uses a sane struct to store the info.
2022-08-05 17:04:45 +02:00
Christoph Oelckers
7e36e57639
- fix dangerous pointer arithmetic in ParseCommandLine
...
Should be rewritten entirely to sanitize, though.
2022-08-05 09:40:37 +02:00
Christoph Oelckers
7debab7ff4
- refined wall sprite check so that orthogonally aligned sprites are only aligned to orthogonal walls.
...
Here even the slightest deviation can create problems.
2022-08-03 14:13:42 +02:00
Christoph Oelckers
89e8d7ad58
- removed all remnants of the softpoly renderer which was never used in Raze.
2022-08-03 13:27:48 +02:00
Christoph Oelckers
6591b3b090
- Backend update from GZDoom.
...
Mainly new features for 2D drawer and model renderer.
2022-07-23 12:05:27 +02:00
Christoph Oelckers
abb7f87de3
- Backend update from GZDoom.
2022-07-23 12:10:08 +10:00
Dale Whinham
7856d30957
Improve KDE/kdialog detection
...
If KDE is running but kdialog is not present on the system (e.g. as is
the case on SteamOS), allow falling back on the GTK dialogs instead.
2022-07-23 10:36:15 +10:00
Dale Whinham
ed4e23f1ec
Fix crash when exiting with no game data
...
When shutting down with no game data, GameConfig is saved and the
pointer is nulled. If a joystick was present, a null dereference occurs
when the engine tries to save the joystick config later in the shutdown
sequence.
Add a check to avoid a crash in this scenario.
2022-07-10 22:30:18 +02:00
Christoph Oelckers
2c3fcbaf51
- glslang compiler and Vulkan backend update.
2022-07-02 10:20:11 +02:00
Christoph Oelckers
3ec8a96ddf
- partial backend update from GZDoom.
2022-07-02 09:30:37 +02:00
Christoph Oelckers
eb8fae761e
- backend update from GZDoom.
2022-06-26 09:35:21 +02:00
Christoph Oelckers
998def2487
- another backend update from GZDoom.
2022-06-06 15:28:41 +02:00
Christoph Oelckers
f599040212
- GCC needs this commented out but really shouldn't.
2022-06-06 13:08:23 +02:00
Christoph Oelckers
e5c7c4f680
- don't use longs.
2022-06-06 12:05:50 +02:00
Christoph Oelckers
84173ee09b
- backend update from GZDoom.
...
The main bulk of this is the new start screen code. To make this work in Raze some more work on the startup procedure is needed.
What this does provide is support for the DOS end-of-game text screens in Duke and SW on non-Windows systems.
2022-06-06 11:45:34 +02:00
Mitchell Richters
47aa110441
- Remove the ability to set a custom ticrate in calls to I_GetInputFrac()
. There's no real world need for this.
2022-06-06 18:41:48 +10:00
Christoph Oelckers
e86899ed31
- fixed sky panning.
...
This picked the wrong overload - to make things robust one of the functions was renamed.
2022-06-06 10:12:26 +02:00
Mitchell Richters
3d8bc3294f
- Slight cleanup to I_GetInputFrac()
.
2022-05-30 20:46:09 +10:00
Christoph Oelckers
6b720f5f6c
- fixed: FSkyVertexBuffer::RenderBox did not reset the object color after finishing.
2022-05-29 23:58:52 +02:00
Christoph Oelckers
0dc670da8e
- added wipe transitions to screen job
...
Mainly to have the crossfade, the other styles are mostly bonus.
This also adds proper scoping to the cutscene code, which needs to run in UI scope.
2022-04-25 17:26:17 +02:00
Christoph Oelckers
21b4862460
- Backend update from GZDoom
...
* music system improvements
* Zip64 support
* fixes for menu scaling on ultrawide screens
* Mac default paths fixed
* lightmap code (not active yet)
2022-04-25 11:13:55 +02:00
Christoph Oelckers
380864d6fb
- pass shade values to sky renderer
2022-04-19 14:44:10 +02:00
Christoph Oelckers
6354c1889d
- fixed bad search path setup on macOS
...
This cannot include „Raze“ in the app_support path strings because some of these parts point to elsewhere. The two places where it is needed must be explicit.
2022-04-19 14:02:51 +02:00
Rachael Alexanderson
16c81f0b1f
Pull commit eeb67bcec3
from GZDoom: Use RDTSC equivalent on AARCH64.
2022-03-25 14:58:51 -04:00
Rachael Alexanderson
4be214e33d
- pull RDTSC for Linux from GZDoom
2022-03-18 04:35:20 -04:00
Rachael Alexanderson
da5d9fcde2
- implement discord rich presence, expand window title code. (still wip)
2022-03-18 04:17:46 -04:00
Rachael Alexanderson
9325f1d536
- replicate commit 28d9fe68ae
2022-02-17 01:15:18 -05:00
Christoph Oelckers
a12093af04
- use full precision math for rotating sectors in Blood.
2022-02-15 22:18:24 +01:00
Rachael Alexanderson
b7cb878ad8
- fix compiling on Linux/et-al
2022-02-01 12:36:26 -05:00
Rachael Alexanderson
cc57914bbf
- fully implement uniform cvars
2022-02-01 11:03:39 -05:00
Christoph Oelckers
c27976b2e5
- added script exports for Duke's iterators
2022-01-26 00:16:21 +01:00
Christoph Oelckers
e035ce00b6
- hooked up the compiler extension and the static actor data setup.
2022-01-23 13:03:39 +01:00
Rachael Alexanderson
7b560a3d79
- add debug ccmds for custom shaders
2022-01-20 22:31:31 -05:00
Rachael Alexanderson
85aee83bf8
- backend sync with GZDoom
2022-01-21 01:15:22 +01:00
Rachael Alexanderson
13ca744ef8
- replicate GZDoom commit 12ed24d066
2022-01-21 01:15:22 +01:00
Christoph Oelckers
19d8d65fd0
- split names into common and Raze-specific
2022-01-20 01:11:23 +01:00
Christoph Oelckers
049fc5fb7c
- proper maintenance of the depth bias state.
...
Change state must be combined, not overwritten, or it may miss some needed state changes.
2022-01-13 12:27:40 +01:00
Christoph Oelckers
26e9d33bfa
- GCC didn't like this. :(
2022-01-12 00:19:41 +01:00
Christoph Oelckers
44e64a6a12
- backend update from GZDoom.
...
* GC fix
* better sound range check
* UE model loader license change.
2022-01-11 22:54:37 +01:00
Christoph Oelckers
e5dad53f6d
- menu entries for light modes, plus handling of overbright shades.
2022-01-11 00:19:15 +01:00
Christoph Oelckers
98c919fbe4
- g_visibility stuff
2022-01-11 00:12:32 +01:00
Christoph Oelckers
2377b17106
- fixed bad aspect ratio calculation in DStatusBarCore::SetScale
2022-01-10 00:19:39 +01:00
Christoph Oelckers
a3162f6ccf
- renamed testnewrenderer CVAR.
2022-01-07 12:49:41 +01:00
Christoph Oelckers
2ac83b733c
- SW: clear some pointers before killing actors in TerminateLevel.
...
KillActor is an in-game function which may produce undefined behavior if being run on a partially deinitialized level.
All actor pointers it may operate upon should be cleared before taking down the actors.cpp
2022-01-02 15:06:57 +01:00
Christoph Oelckers
d0ab13f95a
- use GPLv2 in all files dual-licensed with the Doom Source license.
...
None of this was ever GPLv3, the original id source was released under the GPLv2 so this should be, too.
2022-01-02 12:42:54 +01:00
Christoph Oelckers
46078323ff
- backend update from GZDoom, mainly license updates.
2022-01-02 12:24:53 +01:00
Mitchell Richters
9bbb54fe2e
- Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries.
2021-12-30 20:30:21 +11:00
Christoph Oelckers
69283bfb0c
- tabified several Blood source files.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
4f8f85c634
- backend update from GZDoom.
2021-12-30 09:58:46 +01:00
Christoph Oelckers
3be2128b3a
- added utilities to read all usermaps into a directory tree
2021-12-30 09:58:08 +01:00
Christoph Oelckers
87a32d9095
Revert "- fixed music lookup for user maps."
...
This reverts commit 9558e7d518c1d5f7a898fcb2564078bd9ec956ac.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
7204b7c616
- fixed music lookup for user maps.
...
This was only looking for real files, but instead needs to check the file system. The game directory's content will always be part of that so other checks are counterproductive.
2021-12-30 09:58:07 +01:00
Christoph Oelckers
7bbd4343a8
- renamed all shadowing variables in Duke.
2021-12-30 09:57:33 +01:00
Christoph Oelckers
9e14b168bb
- addressed more shadowed variables in common code.
2021-12-30 09:57:32 +01:00
Christoph Oelckers
ca9d73ffee
- renamed some shadowing variables in common code.
2021-12-30 09:57:32 +01:00
Christoph Oelckers
e41db411e4
- made TFlags mostly constexpr
2021-12-30 09:56:46 +01:00
Christoph Oelckers
b3873be514
- added some utilities to the Plane class that will be needed soon.
2021-12-30 09:53:07 +01:00
Christoph Oelckers
411e3e6f9c
- make SectionGeometry create some data.
2021-12-30 09:53:07 +01:00
Christoph Oelckers
b1bf12df9d
- section fixes.
2021-12-30 09:53:06 +01:00
Christoph Oelckers
ad018db80a
- new section builder.
2021-12-30 09:53:06 +01:00
Christoph Oelckers
6db1ba47c2
- SW: fixed some savegame issues:
...
* the saveable tables were initialized too late when reading in the actors.
* the abort messages for the saveables did not show. We need to use I_FatalError here, plus some actor list modifications to make this work.
2021-12-26 23:10:07 +01:00
Mitchell Richters
a4d165a84e
- Tidy some specified bound equals destination size
warnings from GCC.
2021-12-26 23:10:05 +01:00
Christoph Oelckers
74da3e5fa7
- added savegame support for the new actor management.
2021-12-26 23:10:03 +01:00
Mitchell Richters
38842994e0
- Remove the constructors from TObjPtr
class.
...
They're not used in Raze and were preventing build issues under POSIX environment as you can't use constructor objects in anonymous aggregate types (unnamed structs, etc).
2021-12-26 23:10:02 +01:00
Christoph Oelckers
2d913982da
- changed map loader to work without relying on spritetype::sectnum.
...
All access to this field is done through access functions now.
2021-12-26 23:10:01 +01:00
Christoph Oelckers
8ee5d1b0d7
- activated the garbage collector
...
This finally gets rid of all static storage for actors - so no more indices ever! :)
2021-12-26 23:10:00 +01:00
Christoph Oelckers
0dd756fa32
- added GC handling for all backend pointers in the map data.
...
GC is not active yet!
2021-12-26 23:10:00 +01:00
Christoph Oelckers
138690d34e
- do not use auto to make local copies of TObjPtr's.
...
This will just copy the object without performing the read barrier on the source data which is not what we want here.
For these assignments the type must be explicit.
2021-12-26 23:09:59 +01:00
Christoph Oelckers
fa62b20d76
- GC setup for Duke.
2021-12-26 23:09:58 +01:00
Christoph Oelckers
97b19a5cb1
- adapted Blood's sound engine to using actors.
...
Note: Savegames won't work on this commit for the other games!
2021-12-26 23:09:45 +01:00
Christoph Oelckers
96b9572905
- moved parts of the HitInfo subclasses into the backend.
...
All the game code now needs to do is a single 'using' statement.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
1665e340be
- serialization support for BitArray.
2021-12-25 21:28:50 +01:00
Christoph Oelckers
7d2404ce76
- made sector a TArray.
2021-12-25 21:28:49 +01:00
Christoph Oelckers
94a37dfcdc
- extended walltype to directly manage Blood's XWALL.
...
Unfortunately this had to be done in the base class so that we can still maintain the walls in a global array.
The tradeoffs of better abstractions would be far too costly here than the added 16 bytes to the wall struct.
2021-12-25 21:28:47 +01:00
Christoph Oelckers
e21f899989
- added all #includes needed to compile on Windows without using precompiled headers.
2021-12-14 12:24:09 +01:00
Christoph Oelckers
7e2431ebd8
- replaced the remaining content from compat.h
2021-12-14 10:15:58 +01:00
Emile Belanger
9e9bb66e9a
GLES: Fix bias state
2021-12-11 13:44:23 +01:00
Emile Belanger
9e1e824f5e
GLES: Fixed palette mode and interpolation
2021-12-11 13:23:39 +01:00
Emile Belanger
5a8c57040f
GLES: Palette mode now GLES2 compliant. Interpolation not yet working.
2021-12-11 13:23:39 +01:00
Christoph Oelckers
a8c4d61fab
- default-enable GL_DEPTH_CLAMP for the GLES renderer.
...
This brings it in line with the other backends.
2021-12-08 00:19:49 +01:00
Mitch Richters
7f1b8402d1
- Slight optimisation to I_GetInputFrac()
by multiplying by inverse instead of dividing on a constant.
2021-12-07 20:02:11 +11:00
Mitch Richters
b6b0887611
- Fix missed flags pass-through in bool StartCutscene(const char* s, int flags, const CompletionFunc& completion)
overload.
2021-12-07 19:59:19 +11:00
Christoph Oelckers
c2baa68160
- fixed camera textures breaking in SW when restarting a level.
...
This was caused by attempting to delete the camera textures when cleaning up the mirror array.
The Build tile manager was not prepared for such a use case and left a broken texture behind.
To allow this to function it now resets the texture replacement type when deleting a tile and to avoid creating new camera textures these will now be stored in a cache and recycled later.
2021-12-02 21:40:43 +01:00
Christoph Oelckers
f765783437
- various small bits of cleanup.
2021-11-29 00:57:11 +01:00
Christoph Oelckers
b54e52330c
- Blood: don't play the same looped sound multiple times on the same actor.
...
This caused some strong echoing on E4M6.
2021-11-29 00:57:11 +01:00
Christoph Oelckers
1de9c63d45
- fixed center aligned rendering of 2D content.
...
This calculates the centered pivot point in integer texel coordinate space so for odd numbers it must round down instead of using a fractional position.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
793aaf242c
- make upscaling of sky textures depend on the single tile size, not the entire composite texture.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
448db9c93d
- enable texture upscaling in Polymost, disable it for the movie player's textures.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
5bd53cbe8c
- do not use clamp for calculation scale factors in Get...Scale.
...
These operations are not actual clamps and can assert on some implementations.
2021-11-29 00:57:09 +01:00
Christoph Oelckers
1bbbeb8f4c
- Blood: reworked GetClosestSpriteSectors to use dynamic arrays, deleted unused GetClosestSectors.
...
# Conflicts:
# source/games/blood/src/aibeast.cpp
# Conflicts:
# source/games/blood/src/aibeast.cpp
# source/games/blood/src/gameutil.h
2021-11-29 00:55:43 +01:00
Christoph Oelckers
01abe7b2ac
- addressed most unused/uninitialized variable warnings from MSVC.
2021-11-29 00:55:30 +01:00
Christoph Oelckers
f7fdc5af41
- address several warnings reported by GCC 11.
2021-11-29 00:55:29 +01:00
Mitch Richters
e491d15ff9
- Move InputScale()
out of inputstate.cpp and into i_time.cpp
as I_GetInputFrac()
to make it available to GZDoom for potential future requirements.
...
* As part of this, feed the output of `I_GetInputFrac()` to `gi->GetInput()` instead of having each game's virtual override calling it locally.
2021-11-29 00:55:01 +01:00
Christoph Oelckers
b7c7328cdd
- backend update fromGZDoom.
...
most importantly this addresses issues with key down/key up events being sent in the same tic not having an effect on game actions that require a key being held down.
2021-11-21 10:19:52 +01:00
Christoph Oelckers
75e2d801a7
- SW: only check valid sectors for SecUser entries.
2021-11-11 21:58:14 +01:00
Christoph Oelckers
cc16c02baa
- fixed BitArray constructor.
2021-11-11 21:55:46 +01:00
Christoph Oelckers
2840b5f25d
- added reverse iterators to tarray.h
2021-11-08 18:55:46 +01:00
Christoph Oelckers
94f40d11ae
- SparseArrayView class
...
We need this to merge the game specific sector/wall extensions with the base but still allow the engine to access such arrays. For that they need a runtime settable stride.
2021-11-08 18:55:35 +01:00
Christoph Oelckers
13306e900d
- silence some warnings.
2021-11-06 18:26:47 +01:00
Christoph Oelckers
9a1bcdbc84
- let's hope this works better.
...
CI complained about the iterator but the messages were very unclear about the problem.
2021-11-06 17:18:07 +01:00