Commit graph

1435 commits

Author SHA1 Message Date
Christoph Oelckers
0e1a566d62 - added mapangle function for converting angles from map data.
This is just a wrapper around DAngle::fromBuild, its purpose is to clearly highlight data that cannot be refactored and needs to be converted
2022-10-18 19:01:45 +02:00
Mitchell Richters
8f0e020e21 - Blood: Floatify POSTURE::eyeAboveZ and POSTURE::weaponAboveZ. 2022-10-18 18:30:38 +02:00
Mitchell Richters
954b394baa - Blood: Floatify PLAYER::zWeaponVel. 2022-10-18 18:30:38 +02:00
Mitchell Richters
0019b5ee02 - Blood: Floatify PLAYER::zWeapon. 2022-10-18 18:30:38 +02:00
Mitchell Richters
2d98c532eb - Blood: Floatify PLAYER::zViewVel. 2022-10-18 18:30:38 +02:00
Mitchell Richters
f35fffdf3d - Blood: Floatify PLAYER::zView. 2022-10-18 18:30:37 +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
Mitchell Richters
dd23b60810 - Blood: Clean up as much Q16.16 smoothratio usage as possible. 2022-10-18 18:29:09 +02:00
Christoph Oelckers
96a5954c80 - fixed: gView references gViewIndex, not myconnectindex. 2022-10-18 18:29:09 +02:00
Mitchell Richters
59bee2f9f6 - Blood: Eliminate gView extern'd pointer. 2022-10-18 18:29:09 +02:00
Christoph Oelckers
560bf3e8df - add missing null pointer checks 2022-10-18 18:29:08 +02:00
Mitchell Richters
6356aeafc2 - Blood: Eliminate gMe extern'd pointer. 2022-10-18 18:29:08 +02:00
Mitchell Richters
3c39174a22 - Blood: Eliminate VIEW structure entirely. 2022-10-18 18:29:08 +02:00
Mitchell Richters
b4af1a4600 - Blood: Eliminate VIEW::look_ang and VIEW::rotscrnang. 2022-10-18 18:29:08 +02:00
Mitchell Richters
d7b91df06e - Blood: Eliminate VIEW bobbing/swaying members. 2022-10-18 18:29:08 +02:00
Mitchell Richters
9a41145a8a - Blood: Eliminate VIEW::slope. 2022-10-18 18:29:08 +02:00
Mitchell Richters
326da6d495 - Blood: Eliminate VIEW::horiz and VIEW::horizoff. 2022-10-18 18:29:07 +02:00
Mitchell Richters
5b962e69ab - Blood: Eliminate VIEW::weaponZ. 2022-10-18 18:29:07 +02:00
Mitchell Richters
fc71b39d22 - Blood: Eliminate VIEW::viewz. 2022-10-18 18:29:07 +02:00
Mitchell Richters
85412a39e6 - Blood: Eliminate VIEW::pos. 2022-10-18 18:29:07 +02:00
Mitchell Richters
80121f6021 - Blood: Eliminate VIEW::angle. 2022-10-18 18:29:07 +02:00
Mitchell Richters
06d0d9b5fd - Blood: Floatify player inertia correction code. 2022-10-18 18:29:06 +02:00
Christoph Oelckers
8e48911723 - very simple replacements 2022-10-17 17:25:58 +02:00
Christoph Oelckers
c6a0d30245 - wrapped most remaining clipdist access
Only modifying operators left
2022-10-17 17:03:53 +02:00
Christoph Oelckers
1ba20c7dce - wrapped most clipdist assignments 2022-10-17 17:03:53 +02:00
Christoph Oelckers
f777e84c75 - 2x copy_clipdist 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
28a3a8e314 - wrapped all literal assignments to clipdist - part 1 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3e36b5627b - wrap clipdist << 2 2022-10-17 17:03:52 +02:00
Mitchell Richters
4f6aea576b - Blood: Delete unused prediction function that was never called anywhere. 2022-10-16 10:59:05 +02:00
Mitchell Richters
b13a9e69eb - Blood: Floatify VIEW::pos and remove old union. 2022-10-16 10:59:05 +02:00
Mitchell Richters
5c23e29c15 - Blood: Rename all remaining disassembly names for VIEW struct. 2022-10-16 10:59:05 +02:00
Mitchell Richters
c7dab8a059 - Blood: Get rid of gInterpolate global, make it local to viewDrawScreen(). 2022-10-16 10:59:05 +02:00
Christoph Oelckers
b53e4b824e - handle the portals in Duke and Blood. 2022-10-16 09:40:29 +02:00
Christoph Oelckers
cd4d3ee2d2 - a handful more calls cleaned up 2022-10-15 18:22:09 +02:00
Mitchell Richters
c9e33b92cc - Ensure all games consistently scale out for chase cam mode. 2022-10-15 13:32:04 +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
5e410ff738 - Eliminate most uses of DAngle::Buildfang(). 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
1a9e255265 - the angle in aiChooseDirection must be precisely what it was in Build.
60° may only be 1/3 Build angle unit off, but it is already too much.
2022-10-15 13:32:00 +02:00
Mitchell Richters
a739928d29 - Blood: Fix lost accounting of target sprite angle in actCheckFlares(). 2022-10-15 13:32:00 +02:00
Mitchell Richters
a8f7b3f6fe - Blood: Fix bad angle direction in aiChooseDirection(). 2022-10-15 13:32:00 +02:00
Christoph Oelckers
2b5422cc53 - floatified USER::goalAng 2022-10-15 13:32:00 +02:00
Christoph Oelckers
9df7c55040 - rename USER::goalAng 2022-10-15 13:32:00 +02:00
Christoph Oelckers
057d2a565a - floatified Blood's velFloor and velCeil 2022-10-15 13:31:59 +02:00
Christoph Oelckers
38bb103cdd - renamed velFloor and velCeil. 2022-10-15 13:31:59 +02:00
Christoph Oelckers
4f9ffc9437 - mainly handling angle literals. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
a85bcebd09 - floatified Blood's asound.cpp 2022-10-15 12:42:30 +02:00
Mitchell Richters
f69e977411 - Blood: Fix velocity issues in MoveThing(), such as explosive bundles not sliding along the ground.
* Merge with or above `- parts of Blood's MoveThing`.
2022-10-15 12:42:30 +02:00
Christoph Oelckers
a6eec404db - parts of Blood's MoveThing 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
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
1dcb03e530 - got rid of set_int_bvel 2022-10-15 11:35:38 +02:00
Christoph Oelckers
96297c95aa vel assignment with fixed point constants 2022-10-15 11:35:37 +02:00
Christoph Oelckers
010fedd049 - 10 more AdjustVelocity calls. 2022-10-15 11:35:37 +02:00
Christoph Oelckers
39109de22f - consolidation of Blood rotation code.
24x the same pattern merged into a subfunction.
2022-10-15 11:35:37 +02:00
Christoph Oelckers
b5c679f228 - got a few more 2022-10-15 11:35:37 +02:00
Christoph Oelckers
4af3f6e731 - comparison with zero replacements 2022-10-15 11:35:37 +02:00
Christoph Oelckers
ac84e3f045 - some simple replacements 2022-10-15 11:35:37 +02:00
Christoph Oelckers
18cc450889 - more easy to replace vel assignments 2022-10-15 11:35:36 +02:00
Christoph Oelckers
5cde04fee7 - cleaned up assignments of random values to vel 2022-10-15 10:33:03 +02:00
Christoph Oelckers
eed7f0806c - more quick replacements 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
b924569755 - started removing trivial vel wrappers 2022-10-15 10:15:20 +02:00
Christoph Oelckers
f2d89b7609 - refactored actWallBounceVector as well
This completes the abstraction of velocity in Blood.
2022-10-15 10:15:20 +02:00
Christoph Oelckers
92532bb007 - eliminated actFloorBounceVector wrapper 2022-10-15 10:14:54 +02:00
Christoph Oelckers
9f235b56f3 - rewrote actFloorBounceVector to avoid reference parameters 2022-10-14 23:55:32 +02:00
Christoph Oelckers
fce956f83e - move stuff around 2022-10-14 23:55:31 +02:00
Christoph Oelckers
a69bdb3370 - eliminated Blood’s RotatePoint function 2022-10-14 23:55:31 +02:00
Christoph Oelckers
3bac7af313 - simple stuff in blood/actor.cpp 2022-10-14 23:55:31 +02:00
Christoph Oelckers
c45ecdae73 - wrapped all velocity access in Blood, except the places where an address of vel is taken 2022-10-14 23:55:30 +02:00
Christoph Oelckers
7a7a2cdb39 - various replacements of vel 2022-10-14 23:55:30 +02:00
Christoph Oelckers
f1d3126435 - vel assignments 2022-10-14 23:55:30 +02:00
Christoph Oelckers
994cb47d36 - set_int_bvel_z 2022-10-14 23:52:44 +02:00
Christoph Oelckers
9cbffc998e - set_int_bvel_y 2022-10-14 23:52:44 +02:00
Christoph Oelckers
761da2b06e - set_int_bvel_x 2022-10-14 23:52:43 +02:00
Christoph Oelckers
b78d5a95ac - more add_int_bvel_ 2022-10-14 23:52:43 +02:00
Christoph Oelckers
1999340c8a - add_int_bvel_z 2022-10-14 23:52:43 +02:00
Christoph Oelckers
49d280c665 - add_int_bvel_y 2022-10-14 23:52:43 +02:00
Christoph Oelckers
12e5fd133c - add_int_bvel_x 2022-10-14 23:52:43 +02:00
Christoph Oelckers
49f0e9c57d - batch 3 of vel. 2022-10-14 23:52:43 +02:00
Christoph Oelckers
193d20bb4d - wrapped more xvels 2022-10-14 23:52:43 +02:00
Christoph Oelckers
e3758d6adc - started wrapping vel 2022-10-14 23:52:42 +02:00
Christoph Oelckers
e7b09dbaac - renamed vel. 2022-10-14 23:52:42 +02:00
Christoph Oelckers
a5a04b1123 - moved Blood's velocity vector to DCoreActor. 2022-10-14 23:52:42 +02:00
Christoph Oelckers
f8ba5bb660 - final xvel cleanup. 2022-10-14 23:13:33 +02:00
Mitchell Richters
9e93b417b7 - Blood: Some missed MaxSmoothRatio changes. 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
0baaad7c23 - Blood: Add seemingly forgotten call to MarkSectorSeen().
* Automap wasn't updating upon movement into new sectors unless the automap was toggled on and off.
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
Mitchell Richters
56b0661f81 - Blood: 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
1d28ebec98 - eliminated add_int_z and add_int_y wrappers 2022-10-13 22:54:42 +02:00
Christoph Oelckers
f4d8ccf7b9 - floatified WarpToCoords 2022-10-13 20:58:12 +02:00
Christoph Oelckers
55455ea4fa - use floating point for the last remaining rotation in TranslateSector 2022-10-13 20:58:11 +02:00
Christoph Oelckers
decaff78dc - floatified parts of useSeqSpawnerGen.
Also fixing a sprite size bug in here.
2022-10-13 20:58:11 +02:00
Christoph Oelckers
5fba68ffe1 - floatified Blood’s kViewEffectTrail 2022-10-13 20:58:11 +02:00
Christoph Oelckers
b73314579a - floatified Blood’s kViewEffectAtom
This also gets rid of the rather pointless rotation functions that were just added for this.
2022-10-13 20:58:11 +02:00
Christoph Oelckers
ea9c88d952 - floatified Blood’s MoveMissile function 2022-10-13 20:56:38 +02:00
Christoph Oelckers
978c35fda1 - mess reduction in Blood’s TranslateSector
We can also get rid of set_int_xy now.
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
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
d133839e2e - Fix a few uses of interpolatedvalue() with floating point numbers. 2022-10-13 00:59:03 +02:00
Mitchell Richters
92b16907d2 - Use getincangle() in more places so it can be refactored easier later on. 2022-10-13 00:59:02 +02:00
Mitchell Richters
a22300fe01 - Blood: Replace some set_int_ang() usage.
* A lot of this repeated code should be factored out into repeated blocks when all of this floatification is done.
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
0edd12bc11 - set_int_ang(getangle 2022-10-13 00:59:01 +02:00
Christoph Oelckers
478672879e - partial HitScan parameter change
The really easy stuff…
2022-10-13 00:59:00 +02:00
Christoph Oelckers
54cf1aea6f - got rid of CGibPosition 2022-10-13 00:59:00 +02:00
Christoph Oelckers
f80b228a83 - deal with int positions in approxdist calls 2022-10-13 00:58:59 +02:00
Christoph Oelckers
c53a2ac93a - one final batch of AI stuff 2022-10-13 00:58:59 +02:00
Christoph Oelckers
230913bad3 - another large AI cleanup batch 2022-10-13 00:58:59 +02:00
Christoph Oelckers
ea04f5f800 - more vector stuff in Blood AI
all the same pattern
2022-10-12 22:18:11 +02:00
Christoph Oelckers
67d0e51919 - migrate Blood AI to floating point vectors, part 1
Velocity is still left untouched.
2022-10-12 22:18:11 +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
97e93004b1 - quick’n easy replacements 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
0499be0c26 - getting rid of some int_pos calls. 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
f0769048ed - yet another bunch of SpawnActor calls in weapon.cpp 2022-10-12 22:10:35 +02:00
Christoph Oelckers
a0c0894e41 - aiSetTarget calls 2022-10-12 22:10:34 +02:00
Christoph Oelckers
db0ce36143 - use engine's updatesector in Blood instead of the limited homegrown FindSector variant. 2022-10-11 18:09:48 +02:00
Christoph Oelckers
085839af32 - CheckPickUp floatification 2022-10-10 17:37:20 +02:00
Christoph Oelckers
a808f04415 - cansee refactoring part 4 2022-10-10 17:37:20 +02:00
Christoph Oelckers
3da68ab038 - cansee refactoring, part 3 2022-10-10 17:37:20 +02:00
Christoph Oelckers
80412bdc51 - cansee refactoring, part 2 2022-10-10 17:37:20 +02:00
Christoph Oelckers
781ffc9a43 - cansee refactoring, part 1. 2022-10-10 17:37:20 +02:00
Christoph Oelckers
1c154a984d - floatified XSPRITE::TargetPos 2022-10-10 17:37:19 +02:00
Christoph Oelckers
d26a4e70c3 - wrapped XSPRITE::TargetPos 2022-10-10 17:37:19 +02:00
Christoph Oelckers
4888b363e8 - added vector variant of gFX.fxSpawnActor 2022-10-10 17:37:19 +02:00
Christoph Oelckers
139969d017 - FindSector variants with vectors 2022-10-10 17:37:19 +02:00
Christoph Oelckers
f41c78d622 - actDropObject 2022-10-10 17:37:19 +02:00