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
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
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
c1d603e1e9
- backend update from GZDoom.
2022-10-02 20:33:18 +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
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
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
abb7f87de3
- Backend update from GZDoom.
2022-07-23 12:10:08 +10: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
Mitchell Richters
3d8bc3294f
- Slight cleanup to I_GetInputFrac()
.
2022-05-30 20:46:09 +10: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
19d8d65fd0
- split names into common and Raze-specific
2022-01-20 01:11:23 +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
4f8f85c634
- backend update from GZDoom.
2021-12-30 09:58:46 +01:00
Christoph Oelckers
9e14b168bb
- addressed more shadowed 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
7d2404ce76
- made sector a TArray.
2021-12-25 21:28:49 +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
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
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
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
Christoph Oelckers
19363ac23e
- project contortions to make MSVC print our own deprecations but silence the ones from the compiler.
...
Since everything uses the same warning number, the old setup resulted in [[deprecated]] being silenced.
So this explicitly adds the needed #defines to silence the very noisy warning from the MSVC headers but leaves warning 4996 active otherwise.
In particlular this does:
* silence all warnings in the subprojects
* do not derive TIterator from std::iterator anymore as C++17 deprecates this.
* silence the above for RapidJSON because altering that code is not desirable.
* explicitly disable warning 4996 in some Windows files that call the deprecated (but still needed) GetVersionEx function.
* define _CRT_SECURE_NO_DEPRECATE, _CRT_SECURE_NO_WARNINGS and _CRT_NONSTDC_NO_WARNINGS through CMake to disable the CRT's deprecation and security warnings.
Currently this will print several (intended) deprecation warnings about 'updatesector' that point to code that needs to be changed but cannot yet without other refactorings being done first.
2021-11-06 16:48:31 +01:00