Mitchell Richters
78b04649f1
- Duke: Remove player_struct::posZset()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
6f102e1171
- Duke: Remove player_struct::posX()
and player_struct::posY()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
6eeedbd38a
- Duke: Move player_struct::restorexyz()
to DCoreActor::restorepos()
.
2022-12-11 18:41:42 +01:00
Mitchell Richters
abd6275f17
- Add new double DCoreActor::viewzoffset
set in spawning code during level loads.
...
* Interpolated backup copy isn't needed for Duke, but will be for SW.
2022-12-11 18:41:41 +01:00
Mitchell Richters
e9dcffc5ec
- Duke: Route all clipmove()
/pushmove()
calls through a new interface that accepts a separated Z coordinate.
2022-12-11 18:41:39 +01:00
Christoph Oelckers
0741570ba9
- we're past 1.6 now.
2022-12-11 18:31:07 +01:00
Christoph Oelckers
e412a34f4e
- bump savegame version.
2022-12-11 16:31:00 +01:00
Mitchell Richters
c762505b02
- Use the game's display name for defaultiwad
, not the filename.
...
* Add-ons don't have a FileName entry, but everything has a display name therefore all bases are covered.
* Fixes #616 .
2022-12-11 17:02:36 +11:00
Mitchell Richters
33975a083f
- Draw crosshair at 1:1 scale when crosshairscale
is 0, just like GZDoom.
...
* Fixes #767 .
2022-12-11 16:16:16 +11:00
Christoph Oelckers
7d82ae28f4
- Duke/RR: fixed: animates array must be cleared on map change.
...
There was also some undefined behavior when an entry was deleted, this seems to originate from the original code.
2022-12-10 10:20:01 +01:00
Mitchell Richters
dc41057984
- In SetupGame()
, test userConfig.DefaultCon
before userConfig.gamegrp
so addons work properly.
2022-12-10 10:48:34 +11:00
Mitchell Richters
25460e8e98
- Fix change to constant in last commit.
...
* How did that little `3` not make it in...
2022-12-09 20:00:37 +11:00
Mitchell Richters
2a82ef85b8
- Minor optimisation to the return to centre code.
2022-12-09 18:00:56 +11:00
Mitchell Richters
92bf00d3e9
- Fix incorrect sector usage in calcviewpitch()
.
2022-12-09 17:48:26 +11:00
Mitchell Richters
1772238653
- Fix incorrect value for PITCH_HORIZOFFSPEED
input constant.
2022-12-07 15:21:52 +11:00
Mitchell Richters
df63e5411b
- Fix incorrect sign for PITCH_HORIZOFFCLIMB
input constant.
2022-12-07 13:11:59 +11:00
Mitchell Richters
a6cfdea480
- Improved weapon drawing, based on the new crosshair drawing offset code, starting with Duke's pistol.
2022-11-30 10:03:52 +01:00
Mitchell Richters
ef52694365
- Improved crosshair drawing that factor's in look_ang better I've had stashed away for a little bit.
2022-11-30 10:03:52 +01:00
Mitchell Richters
5a698fbc2b
- Use DAngle::fromRad()
method in maphoriz()
.
2022-11-29 21:01:42 +11: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
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
13e19bad36
- fixed handling of bad class assignment to map picnums.
2022-11-24 08:12:18 +01:00
Christoph Oelckers
b069904be1
- scriptified the remaining controller sprites.
2022-11-20 13:57:51 +01:00
Christoph Oelckers
cb005062cd
- scriptified activators and locators.
2022-11-20 12:43:24 +01:00
Christoph Oelckers
9fa2fb75cf
- scriptified the respawn controller.
...
This also handles one special RRRA controller which was just easier to scriptify right away than temporarily work around it.
2022-11-20 11:58:19 +01:00
Christoph Oelckers
f467e72ac2
- only print texture resolve errors in debug builds.
...
Otherwise this will print warnings when resolving content for different games.
Needs to be done differently later, but right now the messages are needed for debugging.
2022-11-20 09:35:59 +01:00
Christoph Oelckers
f515939fde
- scriptified the sound controller.
2022-11-20 08:46:49 +01:00
Christoph Oelckers
714a2ef70e
- scriptified canwithsomething, the last internal STAT_STANDABLE item.
2022-11-19 19:01:17 +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
046ba1ae0c
- scriptified touchplate
2022-11-19 15:40:35 +01:00
Christoph Oelckers
15cd80cad3
- scriptified the waterdrip
2022-11-19 15:40:09 +01:00
Christoph Oelckers
11acb92553
- scriptified the bolts.
2022-11-19 12:54:50 +01:00
Christoph Oelckers
9cf6f5dabc
- fixed handling of actor defaults.
...
Order of application with map sprites was not correct.
This also simplifies how the defaults are stored - the separate data is gone, they now use the regular defaults.
2022-11-19 11:24:47 +01:00
Christoph Oelckers
5ae7011e41
- converted the masterswitch.
2022-11-19 11:24:39 +01:00
Christoph Oelckers
b106fb693a
- scriptified OozFilter + Seenine
...
Also fixing the default handling for onHit.
2022-11-17 21:46:24 +01:00
Christoph Oelckers
8ce358fc24
- scriptified the trip bombs.
2022-11-17 18:38:25 +01:00
Christoph Oelckers
133cb3a02e
- moved all CoreActor exports to vmexports.cpp.
2022-11-17 08:46:08 +01:00
Mitchell Richters
d3217a3e54
- Fix issues with scripted actors, namely the crane which was non-operable.
2022-11-16 16:14:48 +11:00
Christoph Oelckers
043e005363
- fixed bad index in pushmove.
2022-11-16 00:08:37 +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
dc9451d584
- renamed global 'wall' and 'sector' arrays to 'walls' and 'sectors' for ZScript.
...
This avoids problems with name hiding.
2022-11-15 20:09:36 +01:00
Christoph Oelckers
f7fafabba0
- reordered walltype to reduce its size.
2022-11-15 15:54:21 +01:00
Christoph Oelckers
42e02d2956
- eliminated firstWall as well.
2022-11-15 15:44:33 +01:00
Christoph Oelckers
5798fa067f
- cleaned up all -> accesses through firstWall().
2022-11-15 15:33:35 +01:00
Christoph Oelckers
af60408e63
- sector wall access cleanup.
...
lastWall was only used twice and firstWall() + index can be done better now.
2022-11-15 15:31:52 +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
bfae5ce1bc
- use a TArrayView to store the wall references in a sector.
...
This is a lot more scripting friendly than hacking around the indices.
2022-11-15 14:53:39 +01:00
Christoph Oelckers
9a676ffba6
- use local variables for wall_index wherever possible.
2022-11-15 14:15:46 +01:00
Christoph Oelckers
34333302f9
- wrapped all reading wallptr references.
2022-11-15 12:37:14 +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
Christoph Oelckers
b7a7584059
- renamed wallnum and sectnum functions.
...
These were creating a lot of search noise because local variables had the same name.
2022-11-15 12:03:44 +01:00
Christoph Oelckers
a2683559ce
- refactored Duke's cactus.
2022-11-15 10:44:06 +01:00
Christoph Oelckers
d253468b22
- scriptified the scraps.
...
A Duke-ish mess of epic proportions.
2022-11-15 00:06:21 +01:00
Christoph Oelckers
5aac77784a
- fix construction of FActorInfo.
...
For some reason this lost the copy constructing part from GZDoom resulting in bad data.
2022-11-14 18:15:58 +01:00
Christoph Oelckers
ef6c39ec55
- added a CVAR that allows drawing any tile to the top of the screen.
...
For quick examination of tiles.
2022-11-14 12:08:02 +01:00
Christoph Oelckers
660c546266
- actor interface fixes.
2022-11-13 18:51:23 +01:00
Christoph Oelckers
53e43d6d1e
- CoreActor setposition natives.
2022-11-13 08:59:07 +01:00
Christoph Oelckers
c32a695384
- DukeActor scriptification framework.
2022-11-13 08:55:20 +01:00
Christoph Oelckers
ac4be79e96
- implemented cl_weaponswitch for Duke.
2022-11-12 09:34:08 +01:00
Christoph Oelckers
6a6e9299ca
- added missing returns in the failure cases of useitem and slot CCMDs.
2022-11-10 07:41:20 +01:00
Mitchell Richters
817a0cb94a
- Clamp applied mouse input to be within safe ranges to interpolate with.
...
* Input greater than 180 degrees in a single tic can cause the input to be applied backwards.
2022-11-07 19:38:22 +11:00
Mitchell Richters
9fbe564327
- Fix bad if statement guarding cl_clampedpitch
in menu and make non-global.
2022-11-07 15:43:26 +11:00
Christoph Oelckers
912b6a47c1
- migrate cl_savedir to save_dir
2022-11-06 17:48:32 +01:00
Mitchell Richters
33d74c9009
- Default display of map name in SW to be off by default.
2022-11-06 21:59:07 +11:00
Mitchell Richters
11f279fddd
- Slight input code tidy-up.
2022-11-06 21:59:07 +11:00
Mitchell Richters
033e0ea7bc
- Make rotscrnang return to zero at same speed as look_ang.
2022-11-06 21:59:07 +11:00
Mitchell Richters
33e2de70a2
- Duke: Pitch-adjusted velocity for shootrpg()
when free-aiming.
2022-11-06 21:59:04 +11: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
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
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
93ca75e146
- got rid of the two intermediate functions between clipmove_tweak_pos and InterceptLineSegments.
2022-11-01 09:55:24 +01:00
Christoph Oelckers
01c114787c
- eliminated the deprecated integer wrapper for 'inside'.
2022-11-01 08:38:40 +01:00
Christoph Oelckers
0e113dab79
- added true level compatibility map processing and deleted all related map hack code.
2022-10-31 10:45:47 +01:00
Christoph Oelckers
6586868cb8
- added the framework for scripted level compatibility patching.
2022-10-30 16:51:41 +01:00
Christoph Oelckers
0f57685f48
- updatesector interface cleanup.
2022-10-30 16:51:41 +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
32b2e84fdc
- added episode and total episode time display to alt HUD
2022-10-30 16:51:40 +01:00
Christoph Oelckers
562c1a18c8
- integrate hud_althud into hud_size
...
This makes it easier to use and avoids rendering a fullscreen hud on a screen size with view border.
2022-10-30 16:51:39 +01:00
Mitchell Richters
914bec7d65
- Deduct the minimum angle epsilon from unclamped pitch ranges.
2022-10-30 16:51:39 +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
ff71ab14ce
- added a GZDoom-style alternative HUD.
...
So far only implemented for Blood.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
a0f18c360a
- made some minor edits to clipmove to get rid of a few deprecated wrapper functions.
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
5f50ee5204
- updated CoreActor’s script exports.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
3c6b64d621
- renamed everything back
2022-10-30 16:51:33 +01:00
Christoph Oelckers
81341ce4a6
- unwrapped SetScale as well.
...
Again no edits here - it's one big replace action.
2022-10-30 16:51:33 +01:00
Christoph Oelckers
da523eb8e3
- unwrapped vector SetScale.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
15db7a7143
- unwrapped SetScaleX/Y.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
8265239d2d
- removed AddScale wrappers.
2022-10-30 16:51:32 +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
4aa765675e
- use a float vector to store the scale.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
abf5c9feee
- all repeats in SW’s draw code
2022-10-30 16:51:29 +01:00
Christoph Oelckers
42679d58bb
- lots of repeats in Exhumed
2022-10-30 16:51:28 +01:00
Christoph Oelckers
1a22127123
- refactoring CreateActor - part 1
2022-10-30 16:51:26 +01:00
Christoph Oelckers
e749a0e9a4
- a bunch of repeats in actor_d.cpp
2022-10-30 16:51:25 +01:00
Christoph Oelckers
5700d25120
- minor cleanup on scaling code
2022-10-30 16:51:25 +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
1085752e01
- added more Scale wrappers to spritetype.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
6a3a811a42
- repeats in the wall sprite renderer
2022-10-30 16:51:22 +01:00
Christoph Oelckers
9d8df61324
- got rid of the int version of GetOffsetAndHeight.
2022-10-30 16:51:21 +01:00
Christoph Oelckers
a6fb831894
- scaling demessification in the voxel renderer
...
(needs thorough testing!!!)
2022-10-30 16:51:21 +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
c678298141
- wrap repeats in the renderer.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
adb3cb888e
- manual repeats in Blood.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
2589e7030c
- more repeats replaced by SetScale.
2022-10-30 16:51:19 +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
c7c3b2a20c
- added a SetScale method to spritetype and used it for all places setting x/yrepeat to 0.
2022-10-30 16:51:17 +01:00
Christoph Oelckers
a6e35edc6c
- replaced all set_native_clipdist
...
Note that truncation has to be preserved here to ensure the size stays the same as before so the MulScales were not resolved into their factors.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
d22c473c31
- manual set_const_clipdist replacements
2022-10-30 16:51:15 +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
Christoph Oelckers
e83d0930bf
- clean out the unused sintable stuff
2022-10-30 16:51:13 +01:00
Mitchell Richters
cea2b6b428
- Rename PlayerHorizon::__horiz
back to horiz
.
2022-10-30 16:51:12 +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
Mitchell Richters
619b8005ac
- Rename PlayerHorizon::horiz
in prep for negating this angle throughout code.
2022-10-30 16:51:11 +01:00
Christoph Oelckers
513fc478bf
- moved clipupdatesector to updatesector.h
2022-10-30 16:51:10 +01:00
Christoph Oelckers
479c732a72
- moved some more things out of build.h
2022-10-30 16:51:10 +01:00
Christoph Oelckers
0eea776065
- moved RS_ bits to gamehud.h because that's all that uses these flags.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
94b91f6ec3
- build.h cleanup
...
* moved krand and krandf into the games/duke folder because no other game uses them
* moved CVARS to gamefuncs.h.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
4af1461ec3
- got rid of int_clipdist.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
7d3babd678
- ported all pushmove calls to the float version.
2022-10-30 16:51:08 +01:00
Christoph Oelckers
600c2a0243
- map all clipmove calls to the version with a full float interface.
2022-10-30 16:50:48 +01:00
Christoph Oelckers
63c8960769
- deleted mdsprite.* files.
2022-10-27 16:55:54 +02:00
Christoph Oelckers
a4dd5bb4ce
- rewrote the model storage code.
...
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Mitchell Richters
c00c8d196e
- Simple VecToAngle() > .Angle() replacements.
2022-10-27 16:55:52 +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
13d643deb5
- Duke: Move Duke-exclusive code from PlayerHorizon
struct into displayweapon_d()
and clamp tangent to handle high pitches.
...
* Clamped range is slightly higher than original (200 vs. 256), however when tested with idle knuckle cracking, etc, hands were drawn not above the screen unlike unclamped tangent.
2022-10-25 07:07:15 +02:00
Mitchell Richters
c3adf5ea58
- Slight clean up of input constants.
2022-10-25 07:07:14 +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
Mitchell Richters
3db6a38b4b
- Make dragpoint()
inline since its a wrapper for another function anyway.
2022-10-25 07:07:14 +02:00
Mitchell Richters
9dd27ee3a2
- Remove old integer dragpoint()
interface that was used by floats in lots of places.
...
* Cannot wait until all the narrowing warnings can be re-enabled...
2022-10-25 07:07:14 +02:00
Mitchell Richters
5cc9774873
- Apply same signedness fix from - fixed signedness issue with slope sprite coefficient.
to spriteGetSlope()
.
2022-10-25 07:07:14 +02:00
Mitchell Richters
2e8e5f99e7
- Fix mixed X/Y pos subtraction in spriteGetZOfSlopef()
and use a bit more of the backend.
...
* Confirmed coordinate mix-up when reviewing commit `- added spriteGetZOfSlopeF for the backend`.
2022-10-25 07:07:14 +02:00
Christoph Oelckers
310eff6e71
- clean out many wrappers.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
1a03c56eec
- floatifying player::slope, part 1
2022-10-25 07:07:09 +02:00
Christoph Oelckers
f0dc95597b
- deleted several unused wrappers and overloads.
2022-10-25 07:07:05 +02:00
Christoph Oelckers
fd3ca33aea
- deleted set_int_bvel inlines
2022-10-25 07:07:04 +02:00
Mitchell Richters
789fa71a14
- Use g_atan2()
within maphoriz()
so consistent math is used throughout engine.
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
3c3af06413
- deleted getincangle.
2022-10-25 07:07:02 +02:00
Christoph Oelckers
2ba68df27f
- eliminate int_floorz / int_ceilingz in the backend.
2022-10-25 07:07:00 +02:00
Christoph Oelckers
0655db77b9
- delete set_int_floorz and set_int_ceilingz.
2022-10-25 07:07:00 +02:00
Christoph Oelckers
5e2e53d684
- more CanMove fixes, plus salvaging the rest of the old commit.
...
CanMove twice uses the texel-based nRange as a Build-unit value, this caused strange problems with the initial floatification.
2022-10-25 07:06:57 +02:00
Christoph Oelckers
6b579156aa
- Blood HitScan fixes
...
- changed target parameter of hitscan to a double to simplify its handling.
- HitScan's nRange parameter may be an int, but it is in texel units, not Build units.
2022-10-25 07:06:56 +02:00
Mitchell Richters
2baf35ed2d
- Slightly tidy up PlayerHorizon::applyinput()
.
2022-10-25 07:06:55 +02:00
Mitchell Richters
1e19b32b59
- Add CVAR to allow unclamping the player's view pitch.
2022-10-25 07:06:55 +02:00
Mitchell Richters
8d3f3c6025
- Cut over to DAngle
from fixedhoriz
and remove the latter.
2022-10-25 07:06:55 +02:00
Mitchell Richters
0d8b2ba59d
- Tidy up all constants in gameinput.cpp
and convert to native degrees/pitch where appropriate.
2022-10-25 07:06:55 +02:00
Mitchell Richters
41bbbd9df5
- Remove all remaining uses of fixedhoriz::asbuild()
.
2022-10-25 07:06:55 +02:00
Mitchell Richters
a952c35669
- SW: Convert DoPlayerDeathHoriz()
to work on pitch and remove now-unused buildhoriz()
.
2022-10-25 07:06:55 +02:00
Mitchell Richters
92798b5a07
- Remove most buildhoriz()
calls.
2022-10-25 07:06:55 +02:00
Mitchell Richters
293a71ed55
- Remove horizon from gi->WarpToCoords()
since we don't even print the horizon in our stats.
2022-10-25 07:06:54 +02:00
Mitchell Richters
eedcfb46c6
- Convert calcviewpitch()
to work with a temporary DAngle so we can eliminate the temporary tanhoriz()
friend.
2022-10-25 07:06:54 +02:00
Mitchell Richters
ca8f8d6d36
- Remove all remaining q16horiz()
calls, also correcting a long-standing Duke bug.
2022-10-25 07:06:54 +02:00
Mitchell Richters
8697e5f054
- Replace all q16horiz(0)
calls.
2022-10-25 07:06:54 +02:00
Mitchell Richters
22a9f89b64
- Remove all uses of fixedhoriz::asq16()
.
2022-10-25 07:06:54 +02:00
Mitchell Richters
5bf23f0642
- Develop new scaled horizon return to centre with initial return from full articulation scaled by the pitch's sine.
...
* When coming back from a full view pitch using the original algorithm, the initial snap-back from 90 degrees is very aggressive.
* Return to centre speed retuned to be 1:1 to the ms with the tangent at Duke/SW's clamped pitch.
2022-10-25 07:06:54 +02:00
Mitchell Richters
d923ef9a8c
- Perform horizon's return to centre using pitch instead of tangent.
...
* Return to centre speed tuned to be 1:1 to the ms with the tangent at Duke/SW's clamped pitch.
2022-10-25 07:06:53 +02:00
Mitchell Richters
5851c0f2c6
- Clean up some q16horiz usage and how the view pitch is clamped.
2022-10-25 07:06:53 +02:00
Mitchell Richters
4ef9ec93ea
- Remove fixedhoriz::asbuildf()
and associated buildf friend.
...
* The new friend `tanhoriz()` is just for the input code for now.
2022-10-25 07:06:53 +02:00
Mitchell Richters
d8a6471680
- Add fixedhoriz::Tan()
and replace most asbuildf()
calls with it.
2022-10-25 07:06:53 +02:00
Mitchell Richters
fcdb360b92
- Add fixedhoriz::Sgn()
.
2022-10-25 07:06:53 +02:00
Mitchell Richters
e4ae726015
- Rename fixedhoriz::aspitch()
to Degrees()
to match DAngle
objects.
2022-10-25 07:06:53 +02:00
Mitchell Richters
5e11fc1a15
- Remove unused fixedhoriz
methods and friends.
2022-10-25 07:06:52 +02:00
Christoph Oelckers
c94a361788
- deleted int_hitpos.
2022-10-25 07:06:48 +02:00
Christoph Oelckers
427e41d388
- allow 'sw...' cheats from the chat in Shadow Warrior.
2022-10-24 23:30:16 +02:00
Christoph Oelckers
38998f36b5
- minor int_* replacements in the backend.
2022-10-23 18:47:17 +02:00
Christoph Oelckers
a409e03570
- deleted set_int_ang
2022-10-23 18:47:17 +02:00
Christoph Oelckers
0eacc8e68e
- add_int_z is gone.
2022-10-23 18:47:16 +02:00
Christoph Oelckers
e2d0cbf772
- allow entering cheats in the chat editor without using '#'.
2022-10-23 18:46:18 +02:00
Christoph Oelckers
f1514bbc52
- alternative math for slope planes in hitscan.
2022-10-22 20:41:27 +02:00
Christoph Oelckers
74cf9a2ff2
- hitscan fully rewritten.
...
No traces of Build code left here! :)
2022-10-22 20:41:27 +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
116ba340b2
- further hitscan overhaul.
...
* added floating point sprite intersect handlers for all sprite types. Hopefully this code is more understandable than Build's original variant.
* cleaned up intersectSprite a bit and moved the geometry math into the utility header.
* made some minor corrections to neartag.
* moved SW's testpointinquad to the backend because it was useful here.
2022-10-22 20:41:26 +02:00
Mitchell Richters
6ca42dc08c
- Slightly clean up calcChaseCamPos()
.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
e6cfb165f8
- converted all remaining add_int_bvel* calls.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
e00eda6cb8
- Blood: floatified VectorScan.
...
The texture checks in here definitely need some more verification, though.
Doing a quick test looked ok, but I do not think this was enough.
2022-10-22 20:41:25 +02:00
Christoph Oelckers
044b9e555b
- floatified a bit more of nnExtProcessSuperSprites
2022-10-22 20:41:25 +02:00
Christoph Oelckers
09d66914f4
- LinePlaneIntersect
...
This is for calculating intersections with slope sprites later.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
243c071834
- got rid of bsinf and bcosf.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
6dd7fac902
- eliminated the sine table and moved tilehasmodelorvoxel to a different file to delete engine.cpp.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
ef2f781e09
- rewrite from scratch of neartag.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
20043f6223
- use symbolic constants in neartag calls.
2022-10-22 12:17:03 +02:00
Christoph Oelckers
dcd4ee133b
- use a simpler method to calculate the intersection point in intersectSprite and fixed the distance check.
2022-10-22 12:17:03 +02:00
Christoph Oelckers
9c564db015
- replaced try_facespr_intersect with something independently written.
2022-10-22 12:17:03 +02:00
Christoph Oelckers
28a169d02d
- cansee floating point rewrite using backend utilities.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
14a8dd451e
- redid lintersect with backend utilities.
...
I left out EDuke32's new handling for collinear traces because it not only was never active but also makes really no sense with neartag which is lintersect's only caller.
2022-10-22 12:17:02 +02:00
Mitchell Richters
95cd74bdc0
- renamed slope functions so that the int versions get a special name.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
9172ab27ca
- move all deprecated functions to the bottom in gamefuncs.h.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
ac2a3c443f
- got rid of all deprecated updatesector variants.
...
This required a few changes in the map loader and render interface.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
e4ca397898
- corrected sector check output in validateSprite.
2022-10-22 12:17:02 +02:00
Mitchell Richters
2e4996e8fc
- floatified nnextCanMove and deleted most deprecated updatesector variants.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
c5a5e3cef5
- deleted some unused deprecated functions.
2022-10-22 12:17:01 +02:00
Christoph Oelckers
2cc81d0165
- floating point version of rintersect, based on GZDoom's P_InterceptVector.
2022-10-22 12:17:01 +02:00
Christoph Oelckers
b7ddd9e784
- added InterceptVector from GZDoom.
...
This will be useful for some backend stuff.
2022-10-22 12:17:01 +02:00
Christoph Oelckers
335df86213
- output floating point coordinates in validateSprite
2022-10-22 12:17:00 +02:00
Christoph Oelckers
a8ae8babe2
- cleanup of updatesector.h
...
Mainly not routing the float variants through the integer variants anymore and deprecating those.
FindSector was also moved into DoUpdateSector because both always need to be used together.
2022-10-22 12:17:00 +02:00
Mitchell Richters
85f716e49b
- floatify calcviewpitch
2022-10-22 12:17:00 +02:00
Christoph Oelckers
6a1ff029b7
- floatified getslopeval and all related code.
2022-10-22 12:17:00 +02:00
Christoph Oelckers
ece8663f5e
- floatified calcSlope and cleaned up the get*slope interface
2022-10-22 12:17:00 +02:00
Christoph Oelckers
bd9dfadf6d
- use REPEAT_SCALE ih the wall/floorsprite getter functions.
2022-10-22 12:16:57 +02:00
Christoph Oelckers
e6807964ae
- don't use Build utilities in the render backend.
2022-10-22 12:16:57 +02:00
Christoph Oelckers
b2d1988e50
- use engine utilities for the section builder’s inside check
2022-10-22 12:16:57 +02:00
Christoph Oelckers
f5e6503b26
- merge NearestPointLine into NearestPointOnWall
2022-10-22 12:16:57 +02:00
Christoph Oelckers
c44fd07f37
- floatified the portal displacement
2022-10-22 12:16:57 +02:00
Christoph Oelckers
c87b4a581b
- got rid of the WallStart/End macros
...
They never got much use and the places where they were used work just as well without them
2022-10-22 12:16:56 +02:00
Christoph Oelckers
cbfc9a8252
- added spriteGetZOfSlopeF for the backend
2022-10-22 12:16:56 +02:00
Christoph Oelckers
fd4f04b5fd
- eliminated fixed point GetSoundPos variants
2022-10-22 12:16:56 +02:00
Christoph Oelckers
ab23f6b114
- floatify clipangle math in HWLineToLinePortal::Setup
2022-10-22 12:16:56 +02:00
Christoph Oelckers
375d346ae8
- pass a vector to the processSprites interface.
2022-10-22 12:16:56 +02:00
Christoph Oelckers
bbf77c908b
- pass a floating point view position to the bunch drawer
2022-10-22 12:16:56 +02:00
Christoph Oelckers
0b8f7f6a9f
- deleted add_int_pos
2022-10-22 12:16:53 +02:00
Christoph Oelckers
fb2c4efa2f
- eliminated the last place where tspritetype’s add_int_z was used
2022-10-22 12:16:53 +02:00
Christoph Oelckers
ca8b9e9793
- overhauled getzrangepoint to use backend utilities
2022-10-22 12:09:54 +02:00
Christoph Oelckers
c511e5dca9
- eliminated int_xvel
2022-10-22 11:33:16 +02:00
Christoph Oelckers
671e75ba5f
- eliminate the last int_zvel call
2022-10-22 09:34:16 +02:00
Christoph Oelckers
666f768413
- deleted set_int_xvel and set_int_zvel.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
9cfd56a912
- mathutil is not needed anymore.
2022-10-22 09:34:13 +02:00
Christoph Oelckers
1111251887
type safe CVAR declaration.
2022-10-22 09:25:27 +02:00
Mitchell Richters
db5fcde0db
- Fix issues with startup on fresh config following CVAR overhaul.
2022-10-22 14:42:12 +11:00
Mitchell Richters
4e8331b16b
- Fix broken wrap-around in the double version of BobVal()
.
...
* My first time actually witnessing this, but was only a problem with GCC...
2022-10-22 13:51:31 +11:00
Christoph Oelckers
479616a80f
- got new CVar system from GZDoom.
2022-10-22 00:12:17 +02:00
Christoph Oelckers
e224abb949
- silenced warnings.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
1814274124
- eliminated all of add_int_zvel.
2022-10-21 00:00:05 +02:00
Christoph Oelckers
0432930e5b
- converted all dist() calls to vector math and deleted the utilities
2022-10-21 00:00:04 +02:00
Christoph Oelckers
3c9a94dba8
- consolidated Duke’s ‚away from wall‘ check in the backend
...
This was also very useful in SW to avoid spawning ‚floating‘ footprints due to lack of an equivalent check in the original.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
19bca44f37
- added a float version of BobVal.
...
We will need this later.
2022-10-20 23:59:27 +02:00
Christoph Oelckers
5eb9af1e00
- Backend update from GZDoom
...
IQM model support and a few bugfixes.
2022-10-20 22:24:25 +02:00
Mitchell Richters
bfafe4e21c
- Tidy up some of the spaces on SetValueForKey()
calls.
...
* Although I hate the spaces and have no idea why anyone would do this, there's too many such calls in the document so easiest to just stick with it :/
2022-10-21 00:35:59 +11:00
Mitchell Richters
8d2e022250
- Fix broken paths in default configuration on Unix how I asked for it to be fixed.
2022-10-21 00:35:58 +11:00
Unrud
8459ee1cb2
Fix broken paths in default configuraiton on Unix
...
The default paths for **FileSearch.Directories** and **SoundfontSearch.Directories** are somewhat broken.
`SHARE_DIR` is defined as just `/usr/local/share/`.
The paths `…/games/raze` are not added to **FileSearch.Directories**.
`GAME_DIR` is defined as `.config/raze` on Unix. Combining it with the prefix `…/share/` is wrong.
Excerpt from the default configuration:
```ini
[FileSearch.Directories]
…
Path=/usr/local/share/
…
[SoundfontSearch.Directories]
…
Path=/usr/local/share/.config/raze/soundfonts
Path=/usr/local/share/games/.config/raze/soundfonts
Path=/usr/share/.config/raze/soundfonts
Path=/usr/share/games/.config/raze/soundfonts
```
2022-10-20 23:54:46 +11:00
Mitchell Richters
8bfcb8c939
- Floatify InputPacket::fvel
and InputPacket::svel
.
...
* Since all velocities are floated, we can now take each game's keymove scaling into its ticker and use a consistent keymove size, making non-mouselook and controller input truly identical across the games without having to try and fudge any values.
2022-10-20 00:48:09 +02:00
Mitchell Richters
def2b9d483
- Flip svel
around in the input code so we can use proper anti-clockwise vector math.
2022-10-20 00:48:09 +02:00
Christoph Oelckers
b0b5dbc55b
- eliminated add_int_ceilingz
2022-10-19 18:26:16 +02:00
Christoph Oelckers
23c529589e
- eliminated add_int_xvel
2022-10-19 18:26:16 +02:00
Mitchell Richters
bc018dd946
- Use getCorrectedScale()
in conjunction with looking keys like scaletozero()
functions.
2022-10-18 19:52:02 +02:00
Mitchell Richters
bdc6a5cf69
- Remove fudging from I_GetInputFrac()
and correct getPushBuild()
.
2022-10-18 19:52:02 +02:00
Christoph Oelckers
72dc3d5da9
- use mapangle in more places, mainly constants and random values using special formula
2022-10-18 19:01:45 +02:00