Commit graph

689 commits

Author SHA1 Message Date
Christoph Oelckers
aa22e48036 - preparations for xvel wrapping.
Mainly providing alternative names for the spritetype members and redirecting all relevant access to those.
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
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
446b02c11b - Exhumed: separate AngleChase abuse from zvel variable. 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
5a580c145e - Backend update from GZDoom. 2022-10-14 20:19:48 +02:00
Mitchell Richters
5407de6924 - Use MaxSmoothRatio everywhere so refactoring is easier later on. 2022-10-14 18:19:03 +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
Mitchell Richters
79f4702d1e - Exhumed: Floatify automap draw code. 2022-10-14 18:13:50 +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
70d0b2ea93 - Exhumed: floatified most of CreatePushBlock 2022-10-13 22:54:42 +02:00
Christoph Oelckers
559c24fa92 - 3 simple set_int_pos replacements 2022-10-13 20:58:12 +02:00
Christoph Oelckers
ac3302733f - floatified FindWallSprites 2022-10-13 20:58:12 +02:00
Christoph Oelckers
f4d8ccf7b9 - floatified WarpToCoords 2022-10-13 20:58:12 +02:00
Christoph Oelckers
93fd94ecbb - partial floatification of movesprite 2022-10-13 20:23:52 +02:00
Christoph Oelckers
21feb41d78 - Exhumed: gave local variables in FindWallSprites meaningful names 2022-10-13 19:59:16 +02:00
Christoph Oelckers
7ddfd944e6 - floatified position in BuildEnergyBlock 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
dbcde19834 - Remove some Normalized360() method calls I added where it shouldn't be necessary. 2022-10-13 00:59:03 +02:00
Christoph Oelckers
d573ba4cad - pass map start as DVector3 2022-10-13 00:59:01 +02:00
Christoph Oelckers
45be09e6ab - more angle assignments 2022-10-13 00:59:01 +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
9af2045dee - code cleanup in Exhumed's Lion AI. 2022-10-12 22:10:36 +02:00
Christoph Oelckers
97223af592 - silenced a few conversion truncation warnings. 2022-10-12 15:49:07 +02:00
Christoph Oelckers
f35c610328 - the remaining cansee calls 2022-10-11 18:09:48 +02:00
Christoph Oelckers
72187a7f3b - mummy’s cansee and FindPlayer 2022-10-11 18:09:05 +02:00
Christoph Oelckers
209867e036 - cleaned out some unnecessary inlines. 2022-10-09 22:00:43 +02:00
Christoph Oelckers
766ddeb445 - one more batch of trivial replacements 2022-10-09 08:21:53 +02:00
Christoph Oelckers
7152868077 - trivial replacements in Exhumed. 2022-10-09 08:21:53 +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
c0c74fca84 - fishy grenade stuff 2022-10-08 19:28:56 +02:00
Christoph Oelckers
163146250d - Exhumed: clean up PlayFXAtXYZ interface and its global variable abuse 2022-10-08 19:28:43 +02:00
Christoph Oelckers
de18371e06 - handle lasthit in Exhumed 2022-10-08 16:11:24 +02:00
Christoph Oelckers
0ee39bfad9 - getangle cleanup 2022-10-08 16:11:23 +02:00
Christoph Oelckers
4403a6a411 - eliminated redundant and less precise GetMyAngle function
The engine's getangle function just works fine here.
2022-10-08 16:11:23 +02:00
Christoph Oelckers
c66c750547 - handle all constant add_int_z calls in Exhumed 2022-10-08 16:11:23 +02:00
Christoph Oelckers
3a77742b72 - handle most set_int_z calls in Exhumed 2022-10-08 16:11:23 +02:00
Christoph Oelckers
ae79f3e3c3 - half of GetActorHeight 2022-10-08 16:11:23 +02:00
Christoph Oelckers
f78ecd22a4 - Exhumed: eliminated several set_int_pos calls 2022-10-08 16:11:01 +02:00
Christoph Oelckers
7d9406bf01 - AngleDiff 2022-10-08 10:06:04 +02:00
Christoph Oelckers
9d5acf8350 - getangle calls 2022-10-08 10:06:04 +02:00
Christoph Oelckers
d5bcc64206 - Exhumed: AddFlash floatified 2022-10-08 10:06:04 +02:00
Christoph Oelckers
f6c7a1c41d - final BuildAnim calls
This was a bit more complex.
2022-10-08 10:06:04 +02:00
Christoph Oelckers
8ee10c5488 - Exhumed: use DVector3 in BuildAnim and some related code 2022-10-08 10:06:03 +02:00
Christoph Oelckers
4d02cdcce9 - use explicit types in hitscan calls 2022-10-06 20:50:47 +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
e6f1d92567 - use floats for spawning Exhumed actors 2022-10-05 18:25:57 +02:00
Christoph Oelckers
5505c362e2 - floatified hitpos 2022-10-05 18:11:59 +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
8f4c418a1b - pos simplifications 2022-10-05 18:00:25 +02:00
Christoph Oelckers
360e01a778 another batch of set_int_pos in Exhumed. 2022-10-05 17:38:44 +02:00
Christoph Oelckers
f485f9d42e - batch of set_int_pos in Exhumed 2022-10-05 17: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
fe6fcdff1f - use DAngle for actors
Note that intangle needs to be kept - primarily for SW's ST tags.
2022-10-05 00:36:29 +02:00
Mitchell Richters
abb8b87be1 - Eliminate last remaining binangle inline utilities. 2022-10-05 00:36:28 +02:00
Mitchell Richters
c25493762b - Eliminate bvectangbam(). 2022-10-05 00:36:28 +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
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
aee102ba73 - Exhumed: Replace all uses of binangle with DAngle objects.
# Conflicts:
#	source/games/exhumed/src/view.cpp
2022-10-05 00:36:23 +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
9a27dc2020 - handle all leftover __int_angles.
Most were in comments but were changed anyway.
2022-10-05 00:36:21 +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
d55a84d7eb - set_int_ang in Exhumed 2022-10-04 23:56:44 +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
3edbec4f55 - use copyXY method where possible. 2022-10-04 18:44:16 +02:00
Christoph Oelckers
6816e32d23 - call float 'interpolated' functions for setting tsprite's pos. 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
de81bb18c8 - Exhumed: fixed vertical aiming for hitscan weapons.
This code originally did some inept parameter merging which got broken in an earlier refactoring.
2022-10-01 14:35:20 +02:00
Christoph Oelckers
109684c029 - renamed a few things to make searching easier. 2022-08-27 10:03:10 +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
1231f6025d - handle the last remaining uses of __int_pos that can be done with the function interface. 2022-08-26 19:53:10 +02:00