Christoph Oelckers
2de1aea4a6
- floatified exit position.
2022-10-20 23:08:55 +02:00
Christoph Oelckers
1a64d18349
- floatified RR hitscan teleporter stuff and other minor things.
2022-10-20 23:08:55 +02:00
Christoph Oelckers
4322a30efb
- unlimited the number of active animations, also fixed a few bugs.
2022-10-20 23:08:54 +02:00
Christoph Oelckers
e3ea4cd55c
- floatified animation code.
2022-10-20 23:08:22 +02:00
Christoph Oelckers
0c7274752c
- falladjustz
2022-10-20 22:25:10 +02:00
Christoph Oelckers
6482fefeb3
- 3x add_int_z.
2022-10-20 22:25:10 +02:00
Christoph Oelckers
fe0a10ed29
- handle neartag calls in checksectors.
2022-10-20 22:25:10 +02:00
Christoph Oelckers
13fc658c1f
-floatified findplayer and findotherplayer.
2022-10-20 22:25:09 +02:00
Christoph Oelckers
68bc812681
- floatify hande_se35
...
This looks broken because the destination height is never set anywhere.
2022-10-20 22:25:09 +02:00
Christoph Oelckers
4196195b89
- floatified handle_se25
2022-10-20 22:25:09 +02: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
a178ef1ff6
- Duke: Floatify player_struct::fric
.
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
9426f42f41
- replaced old refactoring wrapper.
2022-10-20 00:48:08 +02:00
Christoph Oelckers
088699f5c8
- floatified handle_se20.
2022-10-20 00:48:08 +02:00
Christoph Oelckers
471f64cf72
- fixes for player velocity.
2022-10-20 00:48:08 +02:00
Christoph Oelckers
a847b23e7c
- made player.vel a real float vector with proper value range.
2022-10-20 00:48:07 +02:00
Christoph Oelckers
417dc7c330
- floatified gs.gravity and all relations to player.vel.
2022-10-20 00:47:32 +02:00
Christoph Oelckers
6f8d0e7870
- handle all remaining vel uses not related to gravity and clipmove
2022-10-20 00:47:32 +02:00
Christoph Oelckers
3e05acfcc9
- handle ca. half of the remaining use of vel.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
bca4819841
- handle some simple vector additions with velocity.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
c821683bc5
- copy Duke handling of movement code to RR.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
cebecabe66
- search& replace of zero assignments and comparisons.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
2266ae1cd6
- converted vel use in player_d.cpp's main movement functions
...
Still using conversion factors until all code has been processed.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
b46b087e0c
- first round of vel refactoring.
...
VEL_FACTOR is used as a marker that later can be quickly removed once the data type gets changed over.
2022-10-20 00:47:19 +02:00
Christoph Oelckers
50a9ca49f3
- floatified player_struct::hitang
2022-10-20 00:33:31 +02:00
Christoph Oelckers
a5652655db
- floatified gs.playerfriction
2022-10-20 00:20:41 +02:00
Christoph Oelckers
477120923f
- made player.vel and gs.playerfriction floating point.
...
No change in value range yet, but having them as floats now allows easier refactoring.
2022-10-20 00:20:40 +02:00
Christoph Oelckers
8171927c2a
- renamed player_struct::vel
2022-10-20 00:19:56 +02:00
Christoph Oelckers
03a0eb7284
- floatified and consolidated handle_se29.
2022-10-20 00:19:56 +02:00
Christoph Oelckers
9a07dc5b7b
- floatified handle_se21 and most of movetongue
2022-10-20 00:19:33 +02:00
Christoph Oelckers
a9c7a5e62f
- floatified handle_se21
2022-10-19 18:26:16 +02:00
Christoph Oelckers
b0b5dbc55b
- eliminated add_int_ceilingz
2022-10-19 18:26:16 +02:00
Christoph Oelckers
81d4ca71d7
- floatified movetouchplate
2022-10-19 18:26:16 +02:00
Christoph Oelckers
8e4a3f1946
- floatified position in RANDOMSCRAP
2022-10-19 18:26:16 +02:00
Christoph Oelckers
23c529589e
- eliminated add_int_xvel
2022-10-19 18:26:16 +02:00
Christoph Oelckers
a6bf98399c
- fixed inconsistency between angle and intangle use.
...
Angles abused as flag words should always use intangle.
2022-10-19 18:02:05 +02:00
Christoph Oelckers
11735c2963
- floatified handle_se13.
2022-10-18 20:02:30 +02:00
Christoph Oelckers
998d71875f
- floatified handle_se11.
2022-10-18 20:02:30 +02:00
Christoph Oelckers
b62c081d37
- renamed variables in handle_se08
2022-10-18 20:02:30 +02:00
Christoph Oelckers
845287a7ba
- floatified handle_se05
2022-10-18 20:02:30 +02:00
Christoph Oelckers
49125ffed5
- floatified handle_se02
2022-10-18 20:02:29 +02:00
Christoph Oelckers
3898e2fa4c
- floatified handle_se06 (both variants)
2022-10-18 20:02:29 +02:00
Christoph Oelckers
228db5839a
- floatified handle_se30.
2022-10-18 20:02:28 +02:00
Christoph Oelckers
e7ba113402
- use high precision storage for all of SE00's work data.
2022-10-18 20:02:28 +02:00
Christoph Oelckers
2be133aaee
- poolball stuff in Duke
2022-10-18 20:02:01 +02:00
Christoph Oelckers
fe7dfa1c53
- floatify angle stuff for bowling, henstand etc. in RR.
2022-10-18 20:02:01 +02:00
Christoph Oelckers
c30493c344
- floatified handle_se14
2022-10-18 20:02:01 +02:00
Christoph Oelckers
bd3f96e779
- floatified handle_se00
2022-10-18 20:02:01 +02:00
Christoph Oelckers
b5b159f45b
- unlimited and floatified the movesector position array.
2022-10-18 20:02:00 +02:00
Christoph Oelckers
4f9718e8a8
- added velocity checks when attempting to dive or surface.
...
This could misbehave at low velocities that could be misinterpreted as a boundary crossing due to the missing check for the movement direction.
2022-10-18 19:59:07 +02:00
Mitchell Richters
33def4bd6e
- Duke: Clean up some long VecToAngle()
calls.
2022-10-18 19:52:02 +02:00
Christoph Oelckers
c84bf46611
- eliminated add_int_ceilingz in handle_se32.
2022-10-18 19:51:53 +02:00
Christoph Oelckers
b467e6c6cf
- handled a few easy to change distance calculations and nearby assignments.
2022-10-18 19:36:25 +02:00
Christoph Oelckers
4cb214f3ab
- int_vel stuff with constants.
2022-10-18 19:36:17 +02:00
Christoph Oelckers
901728d88f
- int_vel stuff with constants.
2022-10-18 19:31:11 +02:00
Christoph Oelckers
d34a423272
- int_vel stuff with constants.
2022-10-18 19:31:11 +02:00
Christoph Oelckers
eaf8a8ccca
- some minor random changes.
2022-10-18 19:31:11 +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
Christoph Oelckers
f4df9a25da
- pass index and angle to movesector as arguments.
...
This allows refactoring the multiple SEs using this function individually.
2022-10-18 18:30:38 +02:00
Mitchell Richters
9eec69d810
- Blood: Floatify position drawing code and clean up now-unused wrappers.
...
* Still work to be done on bob/sway/zView variables.
2022-10-18 18:29:09 +02:00
Christoph Oelckers
32d49cf199
- Duke: fixed bad crusher speed in SE 25.
2022-10-18 07:10:43 +02:00
Christoph Oelckers
db810250c3
- full floatification of handle_se31.
2022-10-17 17:26:00 +02:00
Christoph Oelckers
8e48911723
- very simple replacements
2022-10-17 17:25:58 +02:00
Christoph Oelckers
1ba20c7dce
- wrapped most clipdist assignments
2022-10-17 17:03:53 +02:00
Christoph Oelckers
ef47040630
- renaming stuff for search purposes
2022-10-17 17:03:53 +02:00
Christoph Oelckers
9721d80f44
- more assignment wraps
2022-10-17 17:03:53 +02:00
Christoph Oelckers
3fc592c505
- wrap clipdist copy
2022-10-17 17:03:53 +02:00
Christoph Oelckers
3c498e715d
- wrapped all literal assignments to clipdist - part 3
2022-10-17 17:03:53 +02:00
Christoph Oelckers
a14c37f596
- wrapped all literal assignments to clipdist - part 2
2022-10-17 17:03:53 +02:00
Christoph Oelckers
28a3a8e314
- wrapped all literal assignments to clipdist - part 1
2022-10-17 17:03:52 +02:00
Christoph Oelckers
6b5cbac96a
- consolidate common formula
2022-10-17 17:03:52 +02:00
Christoph Oelckers
3e36b5627b
- wrap clipdist << 2
2022-10-17 17:03:52 +02:00
Mitchell Richters
acd3304b7e
- Duke: Give displayrooms()
a slight tidy-up.
2022-10-16 10:59:05 +02:00
Mitchell Richters
2c6435377a
- Duke: Change clamping of ceilz/floorz in draw code.
...
* Also repair potential bug between actor's cz/fz vs. player's truecz/truecz introduced in "- Duke: Floatify `displayrooms()` and flatten smoothratio back out to float.".
2022-10-16 10:59:04 +02:00
Mitchell Richters
ecd880ad6c
- Duke: Floatify displayrooms()
and flatten smoothratio back out to float.
2022-10-16 10:59:04 +02:00
Mitchell Richters
ea3ca4a4ea
- Duke: Tidy up old multiplayer variables to modern standards.
2022-10-16 10:59:04 +02:00
Christoph Oelckers
b53e4b824e
- handle the portals in Duke and Blood.
2022-10-16 09:40:29 +02:00
Christoph Oelckers
5cda92b629
- partial floatification of FAFgetzrange/point
2022-10-16 09:40:28 +02:00
Christoph Oelckers
64e915868e
- use setfloorz
2022-10-15 17:16:57 +02:00
Mitchell Richters
3019f9effc
- Floatify smoothratio
for GameInterface::processSprites()
.
...
* Exhumed is now completely free of any Q16.16 interpolation scaling.
2022-10-15 13:32:03 +02:00
Mitchell Richters
01d185dc6b
- Floatify smoothratio
for DrawOverheadMap()
.
2022-10-15 13:32:03 +02:00
Mitchell Richters
45d4d3e41a
- Eliminate __interpvalue()
and clean up Q16.16 smoothratio values where it made sense to do so.
...
* Also eliminates a now empty header.
2022-10-15 13:32:02 +02:00
Mitchell Richters
f02035b15a
- Eliminate __interpvaluef()
and clean up Q16.16 smoothratio values where it made sense to do so.
2022-10-15 13:32:01 +02:00
Mitchell Richters
2c8cb8f052
- Rename DCoreActor
method interpolatedvec3()
to interpolatedpos()
.
2022-10-15 13:32:01 +02:00
Mitchell Richters
39ac3b44b0
- Add scaler operators to fixedhorizon
class and eliminate class-specific interpolatedhorizon()
inlines.
2022-10-15 13:32:01 +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
Mitchell Richters
06e772b44b
- Rename interpolatedvalue()
in preparation for replacement.
2022-10-15 13:32:01 +02:00
Mitchell Richters
8fd6452baf
- Rename interpolatedvaluef()
in preparation for replacement.
2022-10-15 13:32:01 +02:00
Christoph Oelckers
92379863f1
- don't use DAngle for calculating bobbing amplitudes.
...
It makes more sense here to have a dedicated function since this is not really angular math.
2022-10-15 13:31:59 +02:00
Christoph Oelckers
7dab26f04d
- handle several movesprite_ex calls.
2022-10-15 12:42:30 +02:00
Christoph Oelckers
4f9ffc9437
- mainly handling angle literals.
2022-10-15 12:42:30 +02:00
Christoph Oelckers
a6eec404db
- parts of Blood's MoveThing
2022-10-15 12:42:30 +02:00
Christoph Oelckers
e5219382f2
- added some Sector Effector symbolic names.
2022-10-15 12:42:30 +02:00
Christoph Oelckers
4df1578064
- a few random wrapper removals in Duke
2022-10-15 12:42:30 +02:00
Christoph Oelckers
6b0b8f944c
- floatified the height parameter of nextsectorneighborptr
2022-10-15 12:42:30 +02:00
Mitchell Richters
7d5040f560
- Fix all calls to interpolatedangle()
that didn't revert smoothratio back to a float.
2022-10-15 12:16:53 +02:00
Mitchell Richters
f72d42bb8e
- Uplift renderer entry point to DVector3
and provide wrappers for old setups.
2022-10-15 12:16:53 +02:00
Mitchell Richters
977d8f8109
- Convert gi->chaseCamPos()
to return a floating point DVector3
object.
2022-10-15 12:16:53 +02:00
Mitchell Richters
ab77d77a53
- Optimise automap sector loops in Duke/SW automap code.
2022-10-15 12:16:53 +02:00
Mitchell Richters
18f97c3d7e
- SW: Move player sprite loop out of sector loop, and eliminate goto crap.
2022-10-15 12:16:52 +02:00
Mitchell Richters
f236cc8728
- Consolidate some duplicated automap code between Duke and SW.
2022-10-15 12:16:52 +02:00
Mitchell Richters
ef56d00d78
- Pass automap angle vector as an actual vector.
...
* Also reconfigure setup so that angle requires zero pre-processing or setup in the automap code, have it all handled in `OutAutomapVector()`.
2022-10-15 12:16:52 +02:00
Christoph Oelckers
712d28ff40
- clean out some stuff
2022-10-15 11:35:38 +02:00
Christoph Oelckers
eed7f0806c
- more quick replacements
2022-10-15 10:15:21 +02:00
Christoph Oelckers
3e76d49b6e
- removed the mul vel wrappers
2022-10-15 10:15:21 +02:00
Christoph Oelckers
6fd8dae380
- removed the non-Blood float_* access wrappers
2022-10-15 10:15:21 +02:00
Christoph Oelckers
62ba753585
- remove vel clear wrappers
2022-10-15 10:15:21 +02:00
Christoph Oelckers
fca2f8c683
- replace all ‚labs‘ with ‚abs‘
2022-10-14 23:55:31 +02:00
Mitchell Richters
4acce612cd
- Take advantage of TVector2<>::Rotated90CW()
in some automap code.
2022-10-14 23:55:31 +02:00
Christoph Oelckers
58642c4d2f
- cleaned up the distance checks in operatetripbomb
2022-10-14 23:55:31 +02:00
Christoph Oelckers
9ba03ac53f
- renamed yvel to yint in Duke.
...
It's never used as velocity, but as an auxiliary parameter so name it appropriately.
2022-10-14 23:17:45 +02:00
Christoph Oelckers
5f4a0cf208
- removed bogus velocity code for RRRA's empty bike and boat.
2022-10-14 23:17:45 +02:00
Christoph Oelckers
9621cd08d2
- use PlayerIndex plus a bit of cleanup.
2022-10-14 23:17:45 +02:00
Christoph Oelckers
9600face4a
- the rest.
2022-10-14 23:13:33 +02:00
Christoph Oelckers
567b20f9ef
- almost the rest.
2022-10-14 23:13:33 +02:00
Christoph Oelckers
ce20bd9c56
- more wraps
2022-10-14 23:13:33 +02:00
Christoph Oelckers
643dda6085
-add_int_xvel(-
2022-10-14 23:13:33 +02:00
Christoph Oelckers
d19e99481d
- add_int_xvel
2022-10-14 23:13:33 +02:00
Christoph Oelckers
33eeb8d9c2
- right shifts
2022-10-14 23:13:33 +02:00
Christoph Oelckers
ec88d1ea6c
- set_int_xvel
2022-10-14 23:13:32 +02:00
Christoph Oelckers
fb1a9881e3
- half done with xvel
2022-10-14 23:13:32 +02:00
Christoph Oelckers
434548a5aa
- more xvel wraps.
2022-10-14 23:13:32 +02:00
Christoph Oelckers
cf90970121
- float_vel wraps
2022-10-14 23:13:32 +02:00
Christoph Oelckers
0aad018796
- second batch of xvel wraps.
2022-10-14 23:13:32 +02:00
Christoph Oelckers
ba044ac2f4
- first bunch of wrapping xvel.
2022-10-14 23:02:11 +02:00
Christoph Oelckers
0740ccbef1
- use PlayerIndex where appropriate.
2022-10-14 23:02:11 +02:00
Christoph Oelckers
36f109502d
- use clear_xvel wrapper.
2022-10-14 23:02:11 +02:00
Christoph Oelckers
a006482c07
- this concludes all trivial int_zvel replacements.
2022-10-14 22:57:37 +02:00
Christoph Oelckers
a98e37b345
- handle int_zvel() == 0
2022-10-14 22:57:36 +02:00
Christoph Oelckers
9f9858d8f4
- handle remaining zvel comparisons.
2022-10-14 22:57:36 +02:00
Christoph Oelckers
56e5388150
- handle 'zvel >' comparisons with constants.
2022-10-14 22:55:27 +02:00
Christoph Oelckers
7e8afd58da
- handle 'zvel <' comparisons with constants.
2022-10-14 22:53:22 +02:00
Christoph Oelckers
07bac24234
- quickly got rid of a significant bunch of int_zvel calls.
...
Mapping to float_zvel what could be done with search and replace.
2022-10-14 20:31:57 +02:00
Christoph Oelckers
bd520e63dd
- use float_zvel in a few places.
2022-10-14 20:31:57 +02:00
Christoph Oelckers
999cd16b24
- use clear_zvel
2022-10-14 20:31:57 +02:00
Christoph Oelckers
8946a66350
- handle zvel multiplications with a wrapper.
...
This completes wrapping of zvel.
2022-10-14 20:31:56 +02:00
Christoph Oelckers
231107921e
- handle a few more operators
2022-10-14 20:31:56 +02:00
Christoph Oelckers
588af5aa71
- add_int_zvel with -
2022-10-14 20:31:56 +02:00
Christoph Oelckers
8bfedc327f
- add_int_zvel
2022-10-14 20:31:56 +02:00
Christoph Oelckers
6ddfd8e97a
- set_int_zvel
2022-10-14 20:31:55 +02:00
Christoph Oelckers
70d0d0622b
- wrapped 0 assignments to zvel
2022-10-14 20:31:55 +02:00
Christoph Oelckers
a9d96864d3
- more zvel wrapping
2022-10-14 20:31:55 +02:00
Christoph Oelckers
3f7b423a4a
- zvel wrapping, part 1.
2022-10-14 20:31:55 +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
e57ef59900
- Minor consistency fix with Duke and SW's automap code.
2022-10-14 18:19:03 +02:00
Mitchell Richters
5407de6924
- Use MaxSmoothRatio
everywhere so refactoring is easier later on.
2022-10-14 18:19:03 +02:00
Mitchell Richters
04d20a52c3
- Duke: Set both orotscrnang
and rotscrnang
when being called from a script, since the former is an addition.
2022-10-14 18:19:03 +02:00
Mitchell Richters
d427fc3e02
- Duke: Slightly tidy up CSTAT_SPRITE_ALIGNMENT_FACING
automap code.
2022-10-14 18:19:02 +02:00
Mitchell Richters
7d85acac13
- Clean up remaining automap interfaces to finish the floatification.
...
* Even though we pre-calculate the sine/cosine needed in `DrawOverheadMap()`, Duke and SW require the full angle for their more mature automaps.
2022-10-14 18:19:02 +02:00
Christoph Oelckers
5e2d3f5c46
- deleted unused variables from Duke's DrawAutomapPlayer
2022-10-14 18:13:51 +02:00
Mitchell Richters
c2e9e06d2a
- Duke: Floatify last part of automap draw code.
2022-10-14 18:13:50 +02:00
Mitchell Richters
ccfaa76da4
- Duke: Floatify CSTAT_SPRITE_ALIGNMENT_FLOOR
|CSTAT_SPRITE_ALIGNMENT_SLOPE
automap draw code.
2022-10-14 18:13:50 +02:00
Mitchell Richters
6a4812ce48
- Duke: Floatify CSTAT_SPRITE_ALIGNMENT_WALL
automap draw code.
2022-10-14 18:13:49 +02:00
Mitchell Richters
986466de67
- Commence updating gi->DrawAutomapPlayer()
for floatification, beginning with Duke's CSTAT_SPRITE_ALIGNMENT_FACING
code.
2022-10-14 18:13:49 +02:00
Christoph Oelckers
01bb7aa9f5
removed player_set_int_z
2022-10-14 00:06:29 +02:00
Christoph Oelckers
f33ecbc14f
- Duke/RR: floatified position stuff in unterwater()
2022-10-14 00:06:29 +02:00
Christoph Oelckers
bbdb3379d6
- RR: partially floatified movement()
2022-10-14 00:06:29 +02:00
Christoph Oelckers
0dbe224ad1
- Duke: floatified movement
2022-10-14 00:06:29 +02:00
Christoph Oelckers
785575604b
- no need to use int_delta when all we want is the angle.
2022-10-13 22:54:43 +02:00
Christoph Oelckers
05a7fe8f36
- renamed walltype::fdelta and fcenter
2022-10-13 22:54:43 +02:00
Christoph Oelckers
6ce01e24d2
- renamed walltype::delta and walltype::center
2022-10-13 22:54:42 +02:00
Christoph Oelckers
ee41cda31e
- Duke: floatified pyoff
2022-10-13 22:54:42 +02:00
Christoph Oelckers
32dab95c8d
- DukeWT’ s Firefly shot
2022-10-13 22:54:42 +02:00
Christoph Oelckers
24f46771a1
- floatified shootflamethrowerflame
2022-10-13 22:52:51 +02:00
Christoph Oelckers
06e86735fc
- use temp_pos instead of maintaining yet another variable for FIREBALL
2022-10-13 20:58:13 +02:00
Christoph Oelckers
559c24fa92
- 3 simple set_int_pos replacements
2022-10-13 20:58:12 +02:00
Christoph Oelckers
161153c783
- variable replacements
2022-10-13 20:58:12 +02:00
Christoph Oelckers
f4d8ccf7b9
- floatified WarpToCoords
2022-10-13 20:58:12 +02:00
Christoph Oelckers
38a2d31907
- use floating point rotation in SE14.
2022-10-13 20:58:12 +02:00
Christoph Oelckers
5f93ba9053
- use temp_pos for TRIPBOMB and SE26
2022-10-13 20:42:29 +02:00
Christoph Oelckers
bdeb056727
- added temp_pos to DDukeActor
...
Same reasons as for temp_angle apply.
2022-10-13 20:41:54 +02:00
Christoph Oelckers
cceecb4ab6
- use ToVector where appropriate
2022-10-13 20:41:54 +02:00
Christoph Oelckers
0c757ff96a
- use temp_angle for TRIPBOMB’s saved angle
2022-10-13 20:41:14 +02:00
Christoph Oelckers
a1b2f7d555
- floatified initshell
2022-10-13 20:23:52 +02:00
Christoph Oelckers
33a3a36da1
- floatify pos in movesprite_ex_r
2022-10-13 20:23:52 +02:00
Christoph Oelckers
ae0640b1ca
- floatify pos in movesprite_ex_d
2022-10-13 20:23:52 +02:00
Christoph Oelckers
2895e8ac05
- partial floatification of handle_se26
2022-10-13 20:23:51 +02:00
Christoph Oelckers
aec74d5d0d
- added temp_angle variable to DDukeActor
...
To avoid using temp_data as storage for angles in TRIPBOMB.
2022-10-13 19:59:15 +02:00
Christoph Oelckers
2044a7c562
- converted some simple assignments
2022-10-13 19:59:15 +02:00
Christoph Oelckers
23bd9918af
- pass a DVector3 to updatesectorneighbor
2022-10-13 19:59:15 +02:00
Christoph Oelckers
07826c7791
- eliminated DCoreActor::copyXY
2022-10-13 00:59:05 +02:00
Mitchell Richters
4d04a4dd3a
- Floatified automap's gZoom
.
...
* Also use the global directly in automap functions instead of passing it around as function variables.
2022-10-13 00:59:04 +02:00
Mitchell Richters
f5116dd787
- Pass a DAngle through to all the automap code.
2022-10-13 00:59:04 +02:00
Mitchell Richters
e970ed0f27
- Migrate spritetypebase::interpolatedvec3()
to backend solution.
...
* Also eliminate unused `interpolatedvec2() method from class.
2022-10-13 00:59:03 +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
bdf35ac3a9
- Eliminate spritetypebase::__interpolatedvec2()
.
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
d133839e2e
- Fix a few uses of interpolatedvalue()
with floating point numbers.
2022-10-13 00:59:03 +02:00
Christoph Oelckers
8f5340c3a7
- set_int_ang(...int_ang())
2022-10-13 00:59:02 +02:00
Christoph Oelckers
d573ba4cad
- pass map start as DVector3
2022-10-13 00:59:01 +02:00
Christoph Oelckers
40312d64c8
-coordinates
2022-10-13 00:59:01 +02:00
Christoph Oelckers
45be09e6ab
- more angle assignments
2022-10-13 00:59:01 +02:00
Christoph Oelckers
0edd12bc11
- set_int_ang(getangle
2022-10-13 00:59:01 +02:00
Christoph Oelckers
25949ce6ab
- gut stuff
2022-10-13 00:59:00 +02:00
Christoph Oelckers
d700b11887
- getangle in animatesprites
2022-10-13 00:59:00 +02:00
Christoph Oelckers
3d29c8f3ad
- floatified position in checkhitwall
2022-10-13 00:59:00 +02:00
Christoph Oelckers
2aec324a25
- EGS with hitpos
2022-10-13 00:58:59 +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
e26d6aec14
- 3* EGS->CreateActor
2022-10-12 22:10:37 +02:00
Christoph Oelckers
f269ceff64
slope functions with position vectors
2022-10-12 22:10:37 +02:00
Christoph Oelckers
18a445aee5
- added ZeroVelocity function to DBloodActor.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
a5a3669238
- eliminated the SetActor/Z function receiving a vec3_t pointer.
...
The only one left is the one with a DVector3 now.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
00436bfdac
- eliminated one UpdateActor pverload.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
8a86cc26b6
- floatified Recon.
2022-10-12 22:10:35 +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
1131eeb443
- setfloorz and setceilingz must be called for changing sector planes
2022-10-12 22:10:35 +02:00
Mitchell Richters
b804d7fe15
- Duke: Fix bad setups when calling cansee()
. Fixes issues with pigcop on kerb in E2L1.
2022-10-11 18:07:40 +02:00
Christoph Oelckers
113980ca8e
- cansee in Duke
2022-10-11 18:05:15 +02:00
Christoph Oelckers
e76dfa5d3c
- GetActor pos replacement
2022-10-10 17:37:19 +02:00
Christoph Oelckers
837b31c672
- got rid of int_ploz and int_phiz.
2022-10-09 23:59:01 +02:00
Christoph Oelckers
209867e036
- cleaned out some unnecessary inlines.
2022-10-09 22:00:43 +02:00
Christoph Oelckers
ade20cbfe2
- some angular stuff.
2022-10-09 08:21:54 +02:00
Christoph Oelckers
766ddeb445
- one more batch of trivial replacements
2022-10-09 08:21:53 +02:00
Christoph Oelckers
6111b11359
- trivial replacements in SW.
2022-10-09 08:21:53 +02:00
Christoph Oelckers
9314d4c774
- yet another batch of wrapper replacements
2022-10-09 08:21:53 +02:00
Christoph Oelckers
d9397b3b5d
- another batch of wrapper replacements
2022-10-09 08:21:53 +02:00
Christoph Oelckers
f13d9892dc
- trivial wrapper replacements in Duke
2022-10-09 08:21:53 +02:00
Christoph Oelckers
e5e00c98e7
- a few set_int_z in Duke/actors.cpp
2022-10-09 08:21:52 +02:00
Christoph Oelckers
93150d9e27
- partial floatification of movetransports_d
2022-10-09 08:21:52 +02:00
Christoph Oelckers
b00c8dbaee
- partial floatification of movetransports_r
2022-10-09 08:21:52 +02:00
Christoph Oelckers
a00969fbeb
- partial floatification of furthestcanseepoint.
2022-10-09 08:21:52 +02:00
Christoph Oelckers
aa0080039f
- refactored coordinate display to have a single unified printing function.
...
The games will now only return the data, this has also been added for Exhumed.
Printing will now be in actual map units, not build's internal mixed format.
2022-10-08 19:28:57 +02:00
Christoph Oelckers
b32c4444c4
- replaced all add_int_z calls with constants.
2022-10-08 19:28:57 +02:00
Christoph Oelckers
4d02cdcce9
- use explicit types in hitscan calls
2022-10-06 20:50:47 +02:00
Christoph Oelckers
89816f4582
- dumped broken and useless xyrand function.
...
Didn't work, wasn't used anywhere else, so a properly done local inline is preferable.
2022-10-06 20:44:52 +02:00
Christoph Oelckers
3a9f9988f4
- redid clipinsidebox* functions.
...
* Completely rewritten to be less obtuse.
* Consolidated the two variants.
* Renamed to be clearer about what they do.
2022-10-05 18:31:45 +02:00
Christoph Oelckers
b9d0c9d6ba
- simplified slope sprite code a bit and got rid of clipinsidebox overload.
2022-10-05 18:29:30 +02:00
Christoph Oelckers
84f690654e
- hitpos replacements in spawn calls
2022-10-05 18:17:15 +02:00
Christoph Oelckers
55ade2eda4
- use int_hitpos() access function where applicable
2022-10-05 18:10:44 +02:00
Christoph Oelckers
296b5d7edd
- renamed HitInfo::hitpos
2022-10-05 18:03:41 +02:00
Christoph Oelckers
64391c52f9
- large batch of set_int_pos, minus Exhumed
2022-10-05 17:33:01 +02:00
Mitchell Richters
478e7a6801
- Eliminate some TAngle floating point Build method usage.
2022-10-05 00:36:31 +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
5c84f93c08
- Use the static constexpr nullAngle
everywhere possible.
2022-10-05 00:36:30 +02:00
Mitchell Richters
02dfe2cb62
- Repair interpolation issues following change of sprite angles from integer to DAngle
types.
2022-10-05 00:36:30 +02:00
Christoph Oelckers
6aaee85875
- leftover binangle uses from the coordinate refactoring.
2022-10-05 00:36:29 +02:00
Mitchell Richters
ad908719ec
- Remaining manual changes to replace player's ang
with DAngle
object.
2022-10-05 00:36:27 +02:00
Mitchell Richters
b23e77d9c7
- Replace player's ang
with DAngle
object.
...
* This commit does not build. Committed items are everything that's been done by find and replace.
* Next commit has hand-performed changes that are better separated out for clarity.
2022-10-05 00:36:27 +02:00
Mitchell Richters
7a6f5c0864
- Replace binangle
usage in PlayerHorizon::calcviewpitch()
with DAngle
object.
2022-10-05 00:36:27 +02:00
Mitchell Richters
dbc46e2a75
- Change out PlayerAngle::settarget()
's input from binangle
to DAngle
.
2022-10-05 00:36:27 +02:00
Mitchell Richters
a090f31bc4
- Change out PlayerAngle::addadjustment()
's input from binangle
to DAngle
.
2022-10-05 00:36:26 +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
d3022947eb
- Replace use of binangle
in gi->processSprites()
with DAngle
object.
2022-10-05 00:36:24 +02:00
Mitchell Richters
6167448f27
- Blood: Replace all uses of binangle
with DAngle
objects.
2022-10-05 00:36:24 +02:00
Mitchell Richters
0b33f39fcd
- Duke: Replace all uses of binangle
with DAngle
objects.
2022-10-05 00:36:24 +02:00
Mitchell Richters
ebac932efe
- Update render_drawrooms()
and render_camtex()
to work off DAngle
objects.
2022-10-05 00:36:23 +02:00
Mitchell Richters
c935fc2226
- Refactor chase cam positional code to use DAngle
input rather than binangle
.
...
* These changes still maintain Build's integer positional values in Q28.4/Q24.8, changing this will be done later on.
2022-10-05 00:36:22 +02:00
Christoph Oelckers
6bdfa09dd1
- the remaining angle stuff.
2022-10-05 00:36:21 +02:00
Christoph Oelckers
2d51058de8
- add_int_ang
2022-10-05 00:35:14 +02:00
Christoph Oelckers
c2f4fa8bb5
- more angles
2022-10-04 23:56:44 +02:00
Christoph Oelckers
150ab95a3a
- set_int_ang in Duke.
...
Also changed SOUNDFX actor to use a different variable for its index.
2022-10-04 23:56:43 +02:00
Christoph Oelckers
f54e4b8a9a
- more int_ang()
2022-10-04 23:56:43 +02:00
Christoph Oelckers
33d5b54ce0
- use int_ang().
2022-10-04 23:56:43 +02:00
Christoph Oelckers
735b9a8fed
- renamed ang to __int_angle
2022-10-04 23:56:42 +02:00
Christoph Oelckers
87ef58c07e
- DVector3 version of EGS.
2022-10-04 18:44:17 +02:00
Christoph Oelckers
25a048c62f
- fully floatified the crane data.
2022-10-04 18:44:17 +02:00
Christoph Oelckers
9392e31b33
- remove C-style struct parameters.
2022-10-04 18:44:16 +02:00
Christoph Oelckers
ef9534d9fa
- deleted unused wrapper method.
2022-10-04 18:44:16 +02:00
Christoph Oelckers
022f22cd10
-replaced tspritetype::set_int_x/y.
2022-10-04 18:44:16 +02:00
Christoph Oelckers
d654f23613
- handle_se00 cleanup
2022-10-04 18:44:16 +02:00
Christoph Oelckers
838d28b934
- more simple replacements.
2022-10-04 18:44:16 +02:00
Christoph Oelckers
3edbec4f55
- use copyXY method where possible.
2022-10-04 18:44:16 +02:00
Christoph Oelckers
24c845f827
- remove float_pos wrapper.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
b327f7f03a
- some simple replacements.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
1ab1852af8
- do not use ovel to store a sound index.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
05d8cee911
- more cleanup.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
9d4e467268
- did some more.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
95bc8a173f
- animatesprites clear of player_int_pos.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
0bf60d53ee
- another batch
2022-10-04 18:43:40 +02:00
Christoph Oelckers
3b66cd4047
- more floatification cleanup.
2022-10-02 20:47:01 +02:00
Christoph Oelckers
8bba3b24b5
- floatification access method cleanup in actors_d.cpp.
2022-10-02 20:47:01 +02:00
Christoph Oelckers
f5abeb97e4
- floatification access method cleanup in actors.cpp.
2022-10-02 20:47:01 +02:00
Christoph Oelckers
3c4e89185d
- position cleanup in actor.cpp (mainly queball and recon)
2022-10-02 20:47:01 +02:00
Christoph Oelckers
29ae7f7a02
- floatified bobpos.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
b8eb66cccf
- Duke: floatified the sector rotation code.
...
This gives a *massive* improvement to the precision of rotating sectors, most notably the main part of E2L10 "Spin Circle".
2022-10-02 20:47:00 +02:00
Christoph Oelckers
494653a724
- floatified rotation in handle_se00
2022-10-02 20:47:00 +02:00
Christoph Oelckers
1f49f62d75
- cleanup, part 3.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
dd7544c7a6
- cleanup, part 2.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
66acab2ca0
- cleanup, part 1.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
e878ecb511
- floatified player_struct::pos.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
86076b2871
- use player_add_int_xy and player_set_int_xy.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
44dc2a692f
- wrapped player::pos z-assignments.
2022-10-02 20:46:59 +02:00
Christoph Oelckers
9cd57f4510
- pushmove wrapper and a few other replacements.
2022-10-02 20:46:59 +02:00
Christoph Oelckers
8482e66caa
- __int_opos is gone.
2022-10-02 20:46:59 +02:00
Christoph Oelckers
d6523c30f2
- one more
2022-10-02 20:46:59 +02:00
Christoph Oelckers
c5fb88e203
- another batch of utility use
2022-10-02 20:46:59 +02:00
Christoph Oelckers
8ba7cb0ddb
- use the player position utilities in actor*.cpp
2022-10-02 20:46:59 +02:00
Christoph Oelckers
3f33719c36
- added position utilities to player_struct.
2022-10-02 20:46:59 +02:00
Christoph Oelckers
fb4da6bbd4
- added some utilities.
...
This also had to use explicit types in a few places to clear ambiguities.
2022-10-02 20:46:58 +02:00
Christoph Oelckers
312ee075d2
- use wrapper functions for pos/opos where possible.
2022-10-02 20:46:58 +02:00
Christoph Oelckers
591dcc995a
- added a float version of gs.playerheight.
2022-10-02 20:46:58 +02:00
Christoph Oelckers
1e1188ae73
- use gs.playerheight consistently.
...
There were still several cases using the game specific constants.
2022-10-02 20:46:58 +02:00
Christoph Oelckers
564ec9e518
- renamed player_struct::opos
2022-10-02 20:46:58 +02:00
Christoph Oelckers
5f4c35e9aa
- renamed player_struct::pos
2022-10-02 20:46:58 +02:00
Christoph Oelckers
6bd854da88
- floatified player_struct::truecz/truefz.
2022-10-02 20:46:58 +02:00
Christoph Oelckers
7fce0ed7ae
- renamed truefz and truecz
2022-10-02 20:46:57 +02:00
Christoph Oelckers
8f64518637
- Duke: cleanup on z-checks, part 4.
2022-10-02 20:46:57 +02:00
Christoph Oelckers
665ee69eba
- Duke: cleanup on z-checks, part 3.
2022-10-02 20:46:57 +02:00
Christoph Oelckers
6eabe4e152
- Duke: cleanup on z-checks, part 2.
2022-10-02 20:46:57 +02:00