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
4df1578064
- a few random wrapper removals in Duke
2022-10-15 12:42:30 +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
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
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
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
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
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
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
6ce01e24d2
- renamed walltype::delta and walltype::center
2022-10-13 22:54:42 +02:00
Christoph Oelckers
161153c783
- variable replacements
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
cceecb4ab6
- use ToVector where appropriate
2022-10-13 20:41:54 +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
07826c7791
- eliminated DCoreActor::copyXY
2022-10-13 00:59:05 +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
Christoph Oelckers
8f5340c3a7
- set_int_ang(...int_ang())
2022-10-13 00:59:02 +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
f269ceff64
slope functions with position vectors
2022-10-12 22:10:37 +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
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
Christoph Oelckers
e76dfa5d3c
- GetActor pos replacement
2022-10-10 17:37:19 +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
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
a00969fbeb
- partial floatification of furthestcanseepoint.
2022-10-09 08:21:52 +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
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
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
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
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
6167448f27
- Blood: Replace all uses of binangle
with DAngle
objects.
2022-10-05 00:36:24 +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
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
1ab1852af8
- do not use ovel to store a sound index.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
9d4e467268
- did some more.
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
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
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
d6523c30f2
- one more
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
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
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
665ee69eba
- Duke: cleanup on z-checks, part 3.
2022-10-02 20:46:57 +02:00
Christoph Oelckers
b853e9caa0
- Duke: cleanup on z-checks, part 1.
2022-10-02 20:46:57 +02:00
Christoph Oelckers
4506b5cb08
- cleaned up the remaining uses of the integer floorz/ceilingz variables.
...
This concerns two particularly ugly blocks of code in the move functions - these were fully redone with pure floating point math.
2022-10-02 20:46:57 +02:00
Christoph Oelckers
89c0e4234c
- remapped all copy assignments to DDukeActor::ceilingz/floorz.
...
This commit does not work! It was split for clarity.
2022-10-02 20:46:57 +02:00
Christoph Oelckers
4787bddddd
- Duke: replaced most read access to DDukeActor::floorz/ceilingz with a wrapper function.
2022-10-02 20:46:56 +02:00
Christoph Oelckers
793e9b7623
- renamed DDukeActor::floorz, ceilingz.
2022-10-02 20:46:56 +02:00
Christoph Oelckers
7745701d4b
- floatified opos.
2022-10-02 20:46:56 +02:00
Christoph Oelckers
5df4caa82f
- renamed interpolate functions as preparation for floatifying opos.
2022-10-02 20:46:56 +02:00
Christoph Oelckers
9627f00f32
- Duke: added emulation for a sound system bug that prevents certain duplicate sounds from playing.
...
Since our sound system does not reject this case, the calling code must check for the relevant condition.
2022-10-01 12:59:43 +02:00
Christoph Oelckers
8325e7369f
- removed floorzptr and ceilingzptr.
...
These were obstacles for further changes.
2022-08-27 10:01:01 +02:00
Christoph Oelckers
c84d75b8bf
- use inline access functions to read floorz/ceilingz.
2022-08-27 09:58:16 +02:00
Christoph Oelckers
0672572e63
- renamed sectortype::floorz and ceilingz as preparation for floatification
2022-08-27 09:47:48 +02:00
Christoph Oelckers
204d6018f4
- Duke: renamed all spr.pos
...
This was pure search&replace with no other code edits.
2022-08-26 19:53:07 +02:00
Christoph Oelckers
f629ec1916
- Duke: full pos assignments
2022-08-26 19:53:06 +02:00
Christoph Oelckers
0ad571b72d
- Duke: wrapped remaining write access to spr.pos
2022-08-26 19:53:06 +02:00
Christoph Oelckers
f4ed59ccb7
- Duke: ninth batch.
2022-08-26 19:53:06 +02:00
Christoph Oelckers
378d126114
- Duke: first batch of refactoring writes to spr.pos.
2022-08-26 19:53:05 +02:00
Richard Gobeille
55408e6e3c
- Duke3d: smooth movement of recons.
2022-06-05 21:00:36 +02:00
Mitchell Richters
7282e0d8bf
- Remove multiple addadjustment()
/settarget()
overloads in favour of native binangle
/fixedhoriz
versions only.
...
* Simplifies these classes a bit.
* Better shows intent in actual game code.
* Removes unnecessary int to double conversions.
2022-05-30 20:35:41 +10:00
Christoph Oelckers
951b93123a
- fixed incorrect symbolic constant for statnum.
2022-02-19 09:50:05 +01:00
Christoph Oelckers
63f1a968d6
- do not update the sector for sector effectors moving themselves.
...
They need to stay in their originally assigned sector forever, or really bad things can happen.
If due to some math imprecisions they change their sector, they can screw up the entire map.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
f44736a5b6
-use an access function for reading wall positions so that we have a non-modifiable value wherever this is possible.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
89ef81da55
- renamed walltype::pos as preparation for refactoring.
...
no functional changes here
2022-02-15 22:18:22 +01:00
Christoph Oelckers
82898e42a6
- fix the camera.
...
- camera flag added
2022-01-27 01:05:12 +01:00
Christoph Oelckers
8e89bc29e4
- new explosion flags
2022-01-27 01:05:12 +01:00
Christoph Oelckers
fba8f54bb3
- two more flags to get sprite indices out of movecrack.
...
# Conflicts:
# source/games/duke/src/constants.h
2022-01-27 00:48:39 +01:00
Christoph Oelckers
3d0c794224
- two more flags for LASERLINE.
2022-01-27 00:46:24 +01:00
Christoph Oelckers
0574da7cd4
- SE24 cleanup using flags.
...
The whole setup is actually very simple, once all the mess got removed from the code.
2022-01-27 00:42:49 +01:00
Christoph Oelckers
fc94fb9651
- replaced checktimetosleep with a flag.
2022-01-27 00:42:07 +01:00
Christoph Oelckers
125c3e8004
- flammable flags.
2022-01-27 00:41:33 +01:00
Christoph Oelckers
913b0622b8
- use symbolic constants
2022-01-27 00:35:45 +01:00
Christoph Oelckers
58b718d2a2
- turn all special actor type checks in moveflammable into flags.
...
Also wrap all flag checks in actorflag function
2022-01-27 00:34:21 +01:00
Christoph Oelckers
5bc8b1c2d3
- Duke: added two more flags to eliminate the references to the crane's tile numbers.
2022-01-25 22:26:53 +01:00
Christoph Oelckers
a252b206d1
- exported DukeActor's native member variables.
...
This includes renaming two native ones because they shared the same name with members of spritetype.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
24a67e194d
- Duke: reverted sector storage to temp_data[0] for the subway.
...
This was the ultimate revenge of the Spaghetti code: Somewhere in there, something needs this value in temp_data[0], but I cannot find where this is...
2022-01-13 22:34:43 +01:00
Christoph Oelckers
85cce1128a
- do proper handling of the 'no shadow' case for Duke's bad guys.
...
Using a flag like RedNukem instead of hacking dispicnum, which occasionally does reach the renderer and causes problems.
2022-01-13 00:42:34 +01:00
Christoph Oelckers
da5a92852f
- cleanup of Duke's actor flags.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
0f925d4cc0
- Duke: fixed monster sight sounds not being played.
2022-01-09 21:25:02 +01:00
Christoph Oelckers
a50430bf68
- Duke: fixed SE02's handling of sloping sectors.
2022-01-09 13:38:10 +01:00