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
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
Mitchell Richters
b69dbe1db3
- Remove some debug leftovers.
2023-05-21 20:01:17 +10:00
Christoph Oelckers
de6b5fec7b
- got rid of some 'picnum's that don't reference spritetype.
2023-05-20 10:59:03 +02:00
Christoph Oelckers
4e6023ea34
add a bit of vertical tolerance to neartag's sprite check.
...
This is not pitch aware and can cause problems with very small sprites on occasion.
2023-05-20 09:01:46 +02:00
Mitchell Richters
892dde030f
- Tidy up nested branch in calcChaseCamPos()
.
2023-03-27 20:43:55 +11:00
Christoph Oelckers
1a6f808fca
- refactored all access to the fake picanm[] array.
...
Also use symbolic names in precache calls in Blood.
2022-12-18 13:26:29 +01:00
Christoph Oelckers
20edd800f9
- big texture system refactor.
...
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Christoph Oelckers
d5414da096
- added a - sign to FindBestSector' default return.
...
This somehow get lost when the code was moved out of clipmove into a separate utility function.
2022-12-14 11:48:34 +01:00
Christoph Oelckers
0bacb05c1b
- wrapped hiofs in a getter function.
...
This makes it a lot easier later to refactor.
2022-12-11 19:45:01 +01:00
Christoph Oelckers
e26d9106aa
- handle all occurences of tileWidth and tileHeight using spritetypebase::picnum.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
0869497ecb
- rewrote the tile pixel cache to work on texture IDs instead of tile IDs.
...
This allows using the related checking features with other textures as well.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
e5225e98e0
- migrated SW's portal setup code to texture IDs.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
868fece7f6
- using texture IDs in a few more places where it is simple.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
faeb19a485
- do the handling of 90° rotated wall textures in the renderer instead of duplicating the texture.
...
Aside from less resource use this also works with hires replacement - which the old code was incapable of.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
be6ead173a
- scriptified several smaller actors
2022-12-11 19:43:51 +01:00
Mitchell Richters
25de63ffb5
- Cleanup of render draw code to use new angle getter.
2022-12-11 18:41:59 +01:00
Mitchell Richters
2e0b9490e1
- Change spritetypebase::angle
to a DRotator named Angles
.
...
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
229ee3dbe4
Revert "- did a few checks with the compatibility optioned slope adjustment and decided to enable it unconditionally."
...
This reverts commit 6636064d1f
.
As it turned out this is not a benign change. It breaks accessibility to a key in RR-Route 66's slaughtr.map - and it's reasonable to assume if it breaks one map it may break others as well.
2022-11-26 16:47:02 +01:00
Christoph Oelckers
043e005363
- fixed bad index in pushmove.
2022-11-16 00:08:37 +01:00
Christoph Oelckers
42e02d2956
- eliminated firstWall as well.
2022-11-15 15:44:33 +01:00
Christoph Oelckers
7d9a4ea70d
- eliminated wallsofsector.
2022-11-15 15:24:17 +01:00
Christoph Oelckers
84b17a8a53
- eliminate wall_count.
2022-11-15 14:59:28 +01:00
Christoph Oelckers
c23db8ea35
- wrapped all reads of sectortype::wallnum and renamed all other wallnum variables.
2022-11-15 12:21:21 +01:00
Mitchell Richters
7f124eef58
- Adjust chase-cam code to work in a pitch-corrected capacity.
2022-11-06 21:59:04 +11:00
Christoph Oelckers
73deae88ce
- fixed neartag's trace vector maintenance for sprite hits.
...
The trace vector needs to be shortened so that further checks only find items in front of the sprite.
2022-11-04 13:23:01 +01:00
Christoph Oelckers
0c87bcb91b
- renamed getzsofslopeptr to calcSlope and removed one redundant inline.
2022-10-30 16:51:40 +01:00
Christoph Oelckers
ce4a6fc7e3
- split off one part of clipmove into a utility function.
2022-10-30 16:51:40 +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
14769e9b79
- reroute cliptestsector to checkOpening.
...
This required adding one more check for the 'precise' mode.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
40271e15b3
- minor tweaks to checkOpening
...
mainly some extensions to let it replace cliptestsector.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
2190499d63
- pushmove rewritten.
2022-10-30 16:51:36 +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
3c6b64d621
- renamed everything back
2022-10-30 16:51:33 +01:00
Christoph Oelckers
85b52b1c77
- removed Scale(), CopyScale() and MultScale wrappers.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
51768439a9
- started removing wrappers. ScaleX() and ScaleY() done.
...
No manual changes in here.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
520d838a8c
- use Scale wrappers in global code and parts of Duke.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
91c318b708
- renamed most non-sprite xrepeat and yrepeat as refactpring aid.
...
These will be renamed back later but now they create too much search noise.
A few local variables have been permanently renamed to scale*.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
e60fafec52
- got rid of most REPEAT_SCALE factors.
2022-10-30 16:51:19 +01:00
Christoph Oelckers
8c308c8d3e
- added ScaleY method to spritetype and used it to get rid of a large amount of 'yrepeat * REPEAT_SCALE'
2022-10-30 16:51:18 +01:00
Christoph Oelckers
4af4983d3e
- floatified clipdist and replaced fClipdist wrapper.
...
This uses a new variable because a few things use clipdist as a flag byte
2022-10-30 16:51:14 +01:00
Christoph Oelckers
3577b53c4d
- GetWallSpritePosition also benefits from using .dot
2022-10-30 16:51:14 +01:00
Christoph Oelckers
f1baf5c69c
- use dot product for getslopeval as well
2022-10-30 16:51:13 +01:00
Christoph Oelckers
02f1f79333
- use .dot() for calculating slopes
2022-10-30 16:51:13 +01:00
Mitchell Richters
0600bf5860
- Negate everything to do with PlayerHorizon::__horiz
where appropriate, including some loose horizoff
members.
2022-10-30 16:51:11 +01:00
Christoph Oelckers
a4dd5bb4ce
- rewrote the model storage code.
...
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Christoph Oelckers
6636064d1f
- did a few checks with the compatibility optioned slope adjustment and decided to enable it unconditionally.
...
A CVar was added to make it user-settable, but having this dramatically improves handling on slope edges.
2022-10-27 16:55:52 +02:00
Christoph Oelckers
c505da79e4
- fixed: getzrange must look a bit further for sprites affecting the current position.
...
This was missed when the function was rewritten because the code was too unclear about it.
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
fc8c0b80aa
- Clean up chase cam backwards scaling since we're now using floats of the same scale.
2022-10-25 07:07:14 +02:00