Commit graph

1989 commits

Author SHA1 Message Date
Christoph Oelckers
8dfbbc8220 - migrated floorpicnum and ceilingpicnum to FTextures.
The sky code still needs some work.
2022-12-18 14:32:52 +01:00
Christoph Oelckers
6848af9b6c - use texture IDs in Duke's texture flag checkers. 2022-12-18 13:42:28 +01:00
Christoph Oelckers
5147826eeb - consolidated precaching code and rewrote the core to work on texture IDs. 2022-12-18 13:37:54 +01:00
Christoph Oelckers
1a6f808fca - refactored all access to the fake picanm[] array.
Also use symbolic names in precache calls in Blood.
2022-12-18 13:26:29 +01:00
Christoph Oelckers
e23a5095cb - moved the other tile info tables of Blood to the texExtInfo array as well.
The two fields are easily reusable for the other games so it's a welcome simplification.
2022-12-18 13:23:59 +01:00
Christoph Oelckers
c34756e5f2 - cleanup of voxel init code.
The voxreserve array was never properly set up so it is gone now.
nextvoxid now gets set right before loading .def files.
2022-12-18 13:18:44 +01:00
Christoph Oelckers
8a789b9015 - voxel management cleanup.
Moving the voxel index into the texExtInfo array and removing most of Blood's and SW's special handling.
2022-12-18 13:18:43 +01:00
Christoph Oelckers
20edd800f9 - big texture system refactor.
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Christoph Oelckers
82c30f551f - Blood: relax range check in AlignSlopes.
This now checks the full range of the wall array and if outside just does nothing. E2M6 has a bogus value for this feature that asserted with the old check.
2022-12-17 20:23:54 +01:00
Christoph Oelckers
bfe958abd6 - Blood: do not double-rotate the player.
One of these actions needs to be removed, now that the angles are consolidated.
2022-12-17 20:03:56 +01:00
Christoph Oelckers
521a59fd26 - Blood: fixed blood splats being spawned in the wrong place. 2022-12-17 19:34:35 +01:00
Christoph Oelckers
32071c4460 - Blood: fixed 3 places where 3D distance was used but 2D should have been used. 2022-12-17 18:43:15 +01:00
Christoph Oelckers
9fc17a4bcf - fixed velocity handling in a few enemy swimChase functions.
The one for the gill beast was particularly bad.
2022-12-14 11:32:56 +01:00
Christoph Oelckers
629dc8e163 - fixed kill counting in Blood. 2022-12-13 08:37:22 +01:00
Mitchell Richters
7d6eb2bae6 - Remove some pitch/yaw deltaangle additions in lieu of setting the angle directly.
* This deltaangle addition was needed with the old input setup.
2022-12-11 19:46:27 +01:00
Mitchell Richters
de8353f085 - Eliminate BAngToDegree constant. 2022-12-11 19:46:26 +01:00
Mitchell Richters
67b40ee1d5 - Convert angle in hud_drawsprite() to work on true degrees, and in the right direction. 2022-12-11 19:46:26 +01:00
Christoph Oelckers
281b102fac - gave all textures that were accessed with their "#0xxxx" name a descriptive names.
Only the fallback fonts were intentionally excluded because these are supposed to get the ART file content.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
e26d9106aa - handle all occurences of tileWidth and tileHeight using spritetypebase::picnum. 2022-12-11 19:44:01 +01:00
Christoph Oelckers
f479f995a1 - transitioned all tileLeftOffset and tileTopOffset calls to use the texture manager. 2022-12-11 19:44:01 +01:00
Christoph Oelckers
afa821c2fd - removed redundant voxel/model code in Blood's animatesprites.
This just duplicated the generic handling in the renderer so it is not needed.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
0869497ecb - rewrote the tile pixel cache to work on texture IDs instead of tile IDs.
This allows using the related checking features with other textures as well.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
8b0e86e88b - wrap a few more accesses to picnum variables 2022-12-11 19:44:00 +01:00
Christoph Oelckers
a6db974a62 - refactored Blood's tile property arrays to texture IDs.
The data structure here can be optimized later when the other games get to the same point, but this allows to rid Blood of all references to wallpicnunm, floorpicnum and ceilingpicnum except one place in the precacher.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
483617d3e1 - use the texture wrappers in a few places. 2022-12-11 19:44:00 +01:00
Christoph Oelckers
ffa265ae1d - gave Blood's and SW's mirror/ROR tiles proper names. 2022-12-11 19:44:00 +01:00
Christoph Oelckers
f4bda94dad - added tileGetTextureID and tested it with Blood's mirror/portal setup code. 2022-12-11 19:43:59 +01:00
Christoph Oelckers
bfef616981 - let tileDelete create a new null texture instead of using the default one.
This is to ensure that marker textures are still unique.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
49f87e6227 - got rid of gotpic.
Now everything uses the 'seen' flag in the texture which indicates that the texture was actually used for hardware rendering since the last check.
It's also only the 3 places checking this flag which are responsible for clearing it.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
ede5b017ab - renamed walltype::picnum to wallpicnum for easier searching. 2022-12-11 19:43:58 +01:00
Christoph Oelckers
51ad64f71e - initialize all special tiles to their intended type before starting the game.
This ensures that we have an immutable mapping of tile number to texture ID now.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
6a690849e6 - cleanup on the tile management.
* removed the long defunct EDuke32-based map art system. With our move to named textures this will not work anymore so fixing the existing problems would be pointless.
* moving .def related parsing stuff out of buildtiles.cpp.
* some initial refactoring to make the tile store a static, non-modifyable resource after initial setup.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a08db47528 - exported all breakable ceilings.
Very simple stuff with instant profit. :)
2022-12-11 19:43:58 +01:00
Mitchell Richters
2c592405fa - Separate pitch/yaw key input into separate functions and apply from the ticker. 2022-12-11 19:43:56 +01:00
Mitchell Richters
470b4efac8 - Remove PlayerAngles::setYaw() method usage and remaining associated code. 2022-12-11 19:43:56 +01:00
Mitchell Richters
f58e3c58aa - Remove PlayerAngles::setPitch() method usage. 2022-12-11 19:43:56 +01:00
Mitchell Richters
491a42d2bb - Remove PlayerAngles::addYaw() method usage. 2022-12-11 19:43:56 +01:00
Mitchell Richters
7a7758efaa - Remove PlayerAngles::addPitch() method usage. 2022-12-11 19:43:56 +01:00
Mitchell Richters
968d0ae0d2 - Implement new scaled angle change setup and remove enforcement of synchronised input. 2022-12-11 19:43:55 +01:00
Mitchell Richters
15b101870d - Completely remove current scaled angle change setup.
* During this transition, temporarily enforce synchronised input at all times.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
f39eaba109 - backported sound volume fix from NBlood. 2022-12-11 18:46:40 +01:00
Christoph Oelckers
67e807de26 - exported the tile flag setters to .def. 2022-12-11 18:42:01 +01:00
Mitchell Richters
bb1113c251 - Remove the whole angle locking concept, we can just force synchronised input instead which is cleaner. 2022-12-11 18:42:01 +01:00
Mitchell Richters
6c0493868e - Implement new method for applying scaled angle changes.
* This method works more accurately to how an angle change would occur under interpolated circumstances.
2022-12-11 18:42:01 +01:00
Mitchell Richters
5a8612110d - Process scaled angle adjustments in each game's render function, not from the input function.
* Previous config had the potential to call `I_GetInputFrac()` nearly twice in a row, which would have resulted in some hitching.
* Calling from each game's render function avoids the above and means we can start applying scaled angle changes one frame faster.
2022-12-11 18:42:01 +01:00
Mitchell Richters
d3bc2f39a4 - Blood: Remove all remaining angle wrapper usage. 2022-12-11 18:42:00 +01:00
Mitchell Richters
1aad5eacfa - Remove all remaining legacy wrappers. 2022-12-11 18:42:00 +01:00
Mitchell Richters
e972818db5 - Tidy up modern crosshair/weapon offset drawers. 2022-12-11 18:41:59 +01:00
Mitchell Richters
25de63ffb5 - Cleanup of render draw code to use new angle getter. 2022-12-11 18:41:59 +01:00
Mitchell Richters
599a375d67 - Rename DCoreActor::interpolatedangle() to DCoreActor::interpolatedyaw() 2022-12-11 18:41:59 +01:00
Mitchell Richters
abdeeac205 - Rework PlayerAngles::doViewPitch() to apply at ticrate like PlayerAngles::doViewYaw(). 2022-12-11 18:41:59 +01:00
Mitchell Richters
f9aeee5b4a - Split out view angle stuff out of PlayerAngles::applyYaw() into PlayerAngles::doViewYaw().
* Do all the view angle stuff as interpolated changes in the playsim as well, there's no need for these to be done at ticrate.
2022-12-11 18:41:59 +01:00
Mitchell Richters
d7d76d5fc4 - Move all PlayerAngles view angle properties into new DRotator objects. 2022-12-11 18:41:58 +01:00
Mitchell Richters
175b182805 - Invert rotscrnang so it rolls forward, consistent with all other angles. 2022-12-11 18:41:58 +01:00
Mitchell Richters
630c10856e - Re-write PlayerAngles scaled adjustment methods. 2022-12-11 18:41:58 +01:00
Mitchell Richters
aa868232c8 - Clean up all previously annotated angle/yaw checks. 2022-12-11 18:41:58 +01:00
Mitchell Richters
01d9877c8c - Blood: Repair synchronised input interpolation issues following changes. 2022-12-11 18:41:58 +01:00
Mitchell Richters
850c988dfa - Wrap access to previous yaw. 2022-12-11 18:41:57 +01:00
Mitchell Richters
be466fec8d - Wrap access to current yaw. 2022-12-11 18:41:57 +01:00
Mitchell Richters
15f1d89855 - Wrap access to current pitch. 2022-12-11 18:41:56 +01:00
Mitchell Richters
60a97f781e - Add DCoreActor pointer as PlayerAngles::pActor, setting and nulling where the player's actor is set. 2022-12-11 18:41:56 +01:00
Mitchell Richters
b9f5bb71cc - Merge PlayerHorizon and PlayerAngle structs into PlayerAngles struct. 2022-12-11 18:41:56 +01:00
Mitchell Richters
d75ac9e445 - Rename PlayerAngle prototypes in preparation for replacement work. 2022-12-11 18:41:56 +01:00
Mitchell Richters
353c2a20fd - Rename remaining PlayerAngle methods. 2022-12-11 18:41:55 +01:00
Mitchell Richters
f305fbb370 - Rename PlayerAngle getters in preparation for replacement work. 2022-12-11 18:41:55 +01:00
Mitchell Richters
a061f2baef - Rename PlayerAngle::spin to its destined final name. 2022-12-11 18:41:55 +01:00
Mitchell Richters
7d34288290 - Rename PlayerAngle::rotscrnang in preparation for replacement work. 2022-12-11 18:41:55 +01:00
Mitchell Richters
50cf22ec53 - Rename PlayerAngle::oang in preparation for replacement work. 2022-12-11 18:41:55 +01:00
Mitchell Richters
bd063de5f5 - Rename PlayerAngle::ang in preparation for replacement work. 2022-12-11 18:41:54 +01:00
Mitchell Richters
d810afa2e9 - Rename PlayerHorizon prototypes in preparation for replacement work. 2022-12-11 18:41:54 +01:00
Mitchell Richters
9ab8db04db - Rename remaining PlayerHorizon methods. 2022-12-11 18:41:54 +01:00
Mitchell Richters
3758d93ad8 - Rename PlayerHorizon getters in preparation for replacement work. 2022-12-11 18:41:54 +01:00
Mitchell Richters
216fad7e18 - Rename PlayerHorizon::horizoff in preparation for replacement work. 2022-12-11 18:41:53 +01:00
Mitchell Richters
401a829d54 - Rename PlayerHorizon::horiz in preparation for replacement work. 2022-12-11 18:41:53 +01:00
Mitchell Richters
110cc5149d - Annotate all sprite angles that are being set as the player angle to review later.
* Once the angles between player and sprite have been unified, these will be much harder to identify.
2022-12-11 18:41:53 +01:00
Mitchell Richters
2e0b9490e1 - Change spritetypebase::angle to a DRotator named Angles.
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
f103e33300 - fixed code up to the point where everything compiles again. Duke sounds are currently non-functional.
All Duke script code has been changed to use strings as sound names now, just like GZDoom these will be looked up at compile time.
Original Duke sound indices still exist but are now being managed as resource IDs, not sound engine indices anymore.
2022-12-11 18:41:51 +01:00
Mitchell Richters
597b291252 - Blood: Fix gi->WarpToCoords() that messed up the Z. 2022-12-11 18:41:51 +01:00
Mitchell Richters
397acfa242 - Blood: Migrate to new actor viewzoffset property (sort of).
* The way this game does it player Z in a distinct variable needs to be maintained as it's impossible to maintain proper Z velocities when trying to do without it.
2022-12-11 18:41:50 +01:00
Mitchell Richters
e55412f240 - Remove DCoreActor::ZeroVelocity(). 2022-12-11 18:41:45 +01:00
Mitchell Richters
39d1a758ed - Remove DCoreActor::ZeroVelocityXY(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
f524abdf47 - Blood: Utilise new weapon drawing offsets from the backend. 2022-12-11 18:41:37 +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
Christoph Oelckers
ed4f49ac86 - fixed sound code for backend update. 2022-11-24 17:46:39 +01:00
Christoph Oelckers
c69e86d119 - Blood: unlimited the tracking conditions. 2022-11-16 11:55:41 +01:00
Christoph Oelckers
ef54579104 - Blood: updated nnexts with the parts not related to the condition rewrite. 2022-11-16 11:14:31 +01:00
Christoph Oelckers
e776e76ebf - Blood: applied all changes outside of nnexts.cpp from the latest modern update. 2022-11-16 07:53: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
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
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
f7a2fd29ba - Blood: fixed incorrect underwater movement speed
The 'posture == 1' case has gotten lost while consolidating the redundant code.
2022-11-12 10:19:15 +01:00
Christoph Oelckers
ac4be79e96 - implemented cl_weaponswitch for Duke. 2022-11-12 09:34:08 +01:00
Christoph Oelckers
3444991e4e - fixed VSpriteBusy coordinate adjustment. 2022-11-07 10:31:10 +01:00
Mitchell Richters
ff7e0afa6f - Use std::fma() in the interpolation code.
* From everything I've read, this more accurate, can be ~5% faster and is heavily optimised on CPUs of the last 10-12 years.
* This homegrown solution can be removed for `std::lerp()` once we go C++20.
2022-11-07 19:28:34 +11:00
Mitchell Richters
88e92a15a6 - Clean up some interpolatedvalue() calls. 2022-11-07 17:52:53 +11:00
Mitchell Richters
274899c9db - Get rid of useless lerp() function I added last night for lack of C++20.
* We already have a generic linear interpolator that _I_ added, so let's use it.
2022-11-07 17:31:17 +11:00
Mitchell Richters
043ebadbee - Remove 2x Normalized180() method calls on pitch where it's not needed.
* Pitch should always be +/- 90 degrees and never need normalization. If it's not, then this shouldn't mask an error caused elsewhere.
2022-11-07 16:53:55 +11:00
Mitchell Richters
c8114e7ed0 - Revert change to TAngle<T>'s / operator that snuck in. 2022-11-07 15:43:00 +11:00
Mitchell Richters
8ec475aec8 - Replace clamped off tangent values with a linear interpolation of the player's pitch.
* Gives a tangent-like ramping where it's noticeable without having to use the tangent at all.
* Had to do homegrown lerper since we're not C++20 yet.
2022-11-06 21:59:04 +11: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
0c87bcb91b - renamed getzsofslopeptr to calcSlope and removed one redundant inline. 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
ff71ab14ce - added a GZDoom-style alternative HUD.
So far only implemented for Blood.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
98e2fecd37 - another bunch of type conversion warnings fixed.
the ones in the findplayer functions are not critical in singleplayer.
2022-10-30 16:51:35 +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
9c097e1763 - revert to warning level 3.
Some stock warnings are far too noisy when level 4 is on.
2022-10-30 16:51:35 +01:00
Mitchell Richters
3f2d970b4f - Blood: Fix minor issue where player death horizon was being applied at double speed. 2022-10-30 16:51:34 +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
15db7a7143 - unwrapped SetScaleX/Y. 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
fb164450a7 - use MultScale 2022-10-30 16:51:25 +01:00
Christoph Oelckers
5700d25120 - minor cleanup on scaling code 2022-10-30 16:51:25 +01:00
Mitchell Richters
ffc16635b2 - Blood: Make bobPhase a proper float. 2022-10-30 16:51:24 +01:00
Christoph Oelckers
1c82d19d37 - handled all remaining x/yrepeat in Blood. 2022-10-30 16:51:23 +01:00
Christoph Oelckers
1d48b0776e - cleanup in Blood plus repeats in aiunicult.cpp
* removed the picWidth/Height functions because their one use can be easily inlined
* deleted the unused initvals in GENDUDEEXTRA
2022-10-30 16:51:23 +01:00
Christoph Oelckers
8a8ef22e53 - mostly '>' comparisons with scale values. 2022-10-30 16:51:22 +01:00
Christoph Oelckers
f5e1709c37 - renamed yet another bunch of repeat variables. 2022-10-30 16:51:22 +01:00
Christoph Oelckers
78bf99434e - removed some pointless comments. 2022-10-30 16:51:22 +01:00
Christoph Oelckers
4a3ff0bd50 - fixed two bad scale checks in Blood's fat zombie. 2022-10-30 16:51:22 +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
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
71d61b26df - 34 more uses of 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
d8fac32459 - more simple SetScale replacements. 2022-10-30 16:51:17 +01:00
Christoph Oelckers
86d6ba43d4 - more automatic SetScale replacement, plus all of SetScale(0.5, 0.5); 2022-10-30 16:51:17 +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
30112e1289 - deal with clipdist in nnexts 2022-10-30 16:51:17 +01:00
Christoph Oelckers
9f19a1315b - replaced most native_clipdist() calls
Only those in nnext using internal int storage remain.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
84dfe98f17 - replaced all set_native_clipdist in Blood 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
03d6826fce - first batch of set_const_clipdist replacements 2022-10-30 16:51:14 +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
7cb2545f4b - let TranslateSector update the player's angle if not in vanilla mode. 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
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
69f27d42aa - same for Blood's ClipMove 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
a4dd5bb4ce - rewrote the model storage code.
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Mitchell Richters
8bc34f3dac - Handle all remaining VecToAngle() calls. 2022-10-27 16:55:53 +02:00
Mitchell Richters
9b98388215 - VecToAngle() with XY() inside to .Angle() replacements. 2022-10-27 16:55:53 +02:00
Mitchell Richters
c00c8d196e - Simple VecToAngle() > .Angle() replacements. 2022-10-27 16:55:52 +02:00
Mitchell Richters
75047b6ad5 - Eliminate MulScaleF(). 2022-10-27 16:55:52 +02:00
Mitchell Richters
355860f662 - Blood: Slightly cleaner view bobbing math. 2022-10-27 16:55:52 +02:00
Mitchell Richters
7eda11fa2c - Blood: Move some effect code into viewUpdateShake() along with the other effect code. 2022-10-27 16:55:52 +02:00
Mitchell Richters
dbdcdb934f - Blood: Clamp tangent applied as Z offset in view.
* Value of `1.171875` == 150 (value between 180/120 - old min/max) / 128 (Build to pure Tan).
2022-10-25 07:07:15 +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
Christoph Oelckers
22ccf33569 - floatified walldist parameter of getzrange 2022-10-25 07:07:14 +02:00
Christoph Oelckers
a5afbce59d - fixed fxSpawnActor calls 2022-10-25 07:07:13 +02:00
Christoph Oelckers
d41e370aad - angular cleanup. 2022-10-25 07:07:13 +02:00
Christoph Oelckers
65a5394cf0 - only have one version of fxSpawnActor 2022-10-25 07:07:13 +02:00
Christoph Oelckers
10144b0436 - floatified tesla missile offset.
This was the last use of inttoworld outside of clipmove.
2022-10-25 07:07:13 +02:00
Christoph Oelckers
c0a628dc7f - floatified SpawnBulletEject and SpawnShellEject 2022-10-25 07:07:13 +02:00
Christoph Oelckers
d525d41ed2 - floatified smaller stuff 2022-10-25 07:07:13 +02:00
Christoph Oelckers
f3bae2b0b8 - deleted several unused functions. 2022-10-25 07:07:12 +02:00
Christoph Oelckers
7684b64b28 - floatified GENDUDEEXTRA::fireDist and all related things. 2022-10-25 07:07:12 +02:00
Christoph Oelckers
47dff8e656 - added clean handling for the one case where a custom range needs to be passed to actFireVector.
This removes one godawful hack that forced an otherwise constant data table to be non-const.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
e52c311592 - added a wrapper for VECTORDATA::maxDist 2022-10-25 07:07:12 +02:00
Christoph Oelckers
f0b9509503 - deleted integer actFireThing version. 2022-10-25 07:07:12 +02:00
Christoph Oelckers
b30c6137d5 - used maptoworld in Quake code. 2022-10-25 07:07:12 +02:00
Christoph Oelckers
2afea7c477 - TranslateSector cleanup. 2022-10-25 07:07:12 +02:00
Christoph Oelckers
c6e8f0bcdb - merged the TranslateSector wrapper into the main function.
No floatification yet.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
3df5fb112e - remove leftover conversion code. 2022-10-25 07:07:12 +02:00
Christoph Oelckers
ca96a2b41c - move coordinate conversion from GetClosestSpriteSectors to CheckProximityWall. 2022-10-25 07:07:11 +02:00
Christoph Oelckers
3c2e4a9c59 - deleted integer GetActorExtents version 2022-10-25 07:07:11 +02:00
Christoph Oelckers
5ab75f45e9 - floatified and consolidated throwPower handling. 2022-10-25 07:07:11 +02:00
Christoph Oelckers
a87c4809f5 - deleted unused mulscale30r functions. 2022-10-25 07:07:11 +02:00
Christoph Oelckers
b176ceda38 - floatified playerFireThing 2022-10-25 07:07:11 +02:00
Christoph Oelckers
cab00d05dc - got rid of the int version of playerFireMissile 2022-10-25 07:07:11 +02:00
Christoph Oelckers
8673d692f0 - floatified genDudeAdjustSlope's dist. 2022-10-25 07:07:11 +02:00
Christoph Oelckers
77d712dbc4 - got rid of the int aiSetTarget variant. 2022-10-25 07:07:11 +02:00
Christoph Oelckers
fbed29e6ca - bubbletime has no relation to world size so it should not use worldtoint. 2022-10-25 07:07:10 +02:00
Christoph Oelckers
310eff6e71 - clean out many wrappers. 2022-10-25 07:07:10 +02:00
Christoph Oelckers
d013e6fbd9 - eliminate the last 5 Sin calls 2022-10-25 07:07:10 +02:00
Christoph Oelckers
312b96fedc - floatified aim and relAim 2022-10-25 07:07:10 +02:00
Christoph Oelckers
a9095a5a1e - floatified all FireSpread functions. 2022-10-25 07:07:10 +02:00
Christoph Oelckers
bd011c69a6 - wrapped most of aim 2022-10-25 07:07:10 +02:00
Christoph Oelckers
1283c4d757 - renamed aim and relAim 2022-10-25 07:07:10 +02:00
Christoph Oelckers
b2dc69ad5d - floatified dudeSlope. 2022-10-25 07:07:10 +02:00
Christoph Oelckers
27c0a00df6 - use dudeslope wrappers. 2022-10-25 07:07:10 +02:00
Christoph Oelckers
e44759d2ea - renamed dudeSlope 2022-10-25 07:07:09 +02:00
Christoph Oelckers
f286565abc - floatifying player::slope, part 2 2022-10-25 07:07:09 +02:00
Christoph Oelckers
1a03c56eec - floatifying player::slope, part 1 2022-10-25 07:07:09 +02:00
Christoph Oelckers
22cf0ea2ad -deleted approxDist 2022-10-25 07:07:09 +02:00
Christoph Oelckers
f1b5bba035 - length calculation in teslaHit. 2022-10-25 07:07:09 +02:00
Christoph Oelckers
3814dfcf0e - floatified distance in AltFireVoodoo 2022-10-25 07:07:09 +02:00
Christoph Oelckers
b2bf137d72 - floatified UpdateAimVector
the biggest mess of all.
2022-10-25 07:07:09 +02:00
Christoph Oelckers
a843c0bdb6 - removed some unnecessary factors. 2022-10-25 07:07:09 +02:00
Christoph Oelckers
8ac5884232 - the first HitScan_ variant is gone. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
fcc0d3bfea - deprecating HitScan_. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
702553d65e - floatified HitScan call in nnextCanMove. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
7f5ae54f93 - 3x use proper HitScan call. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
e793b878c1 3 HitScan fixes 2022-10-25 07:07:08 +02:00
Christoph Oelckers
b7c63e08ec - floatified DoSectorPanning 2022-10-25 07:07:08 +02:00
Christoph Oelckers
580bbccdf5 - handle angles in voodooTarget 2022-10-25 07:07:08 +02:00
Christoph Oelckers
56429ebbba - floatified MGunFireSeqCallback 2022-10-25 07:07:08 +02:00
Christoph Oelckers
32ed2dd596 - some trivial things. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
0577b678d2 - all of int_ang in aizombf.cpp
Note that the z-offset in ThrowSeqCallback was not correct - eyeHeight is in pixels, but this was passed as a Build-z-parameter which is scaled by 256, effectively rendering the offset almost ineffective.
2022-10-25 07:07:07 +02:00
Christoph Oelckers
e4f8178947 - all int_ang() in aiunicult.cpp 2022-10-25 07:07:07 +02:00
Christoph Oelckers
049220239c - get rid of vel wrappers for nnext conditions.
The fixed point conversion here is unavoidable, so make it explcit.
2022-10-25 07:07:07 +02:00
Christoph Oelckers
5dc2d467ee - the last remaining approxDist calls in nnexts. 2022-10-25 07:07:07 +02:00
Christoph Oelckers
cf2d29e921 - floatified aiFightGetFineTargetDist 2022-10-25 07:07:07 +02:00
Christoph Oelckers
139f68c804 - deleted unused GetDistToLine 2022-10-25 07:07:07 +02:00
Christoph Oelckers
2692684e73 - floatified distance checks in unicultThinkChase 2022-10-25 07:07:07 +02:00
Christoph Oelckers
2eb068e4a6 - deleted unused CheckProximityPoint and cleaned up earthquake calculations. 2022-10-25 07:07:07 +02:00
Christoph Oelckers
d99ed7676b - reroute player firing functions directly to the floating point variants of the actor versions. 2022-10-25 07:07:06 +02:00
Christoph Oelckers
607f119bad - floatified aiPatrolAlarmFull 2022-10-25 07:07:06 +02:00
Christoph Oelckers
99da5d78ab - floatified GetZRangeAtXYZ 2022-10-25 07:07:06 +02:00
Christoph Oelckers
9b9116986b - removed redundant function call. 2022-10-25 07:07:06 +02:00
Christoph Oelckers
6e03f87671 - floatified GetZRange 2022-10-25 07:07:06 +02:00
Christoph Oelckers
60e9e4d93a - floatified EnemyBubble 2022-10-25 07:07:06 +02:00
Christoph Oelckers
caf6dacbb5 - floatified PlayerBubble 2022-10-25 07:07:06 +02:00
Christoph Oelckers
a63527c892 - floatified fxDynPuff 2022-10-25 07:07:06 +02:00
Christoph Oelckers
24f4e1894c - floatified fxFlameLick 2022-10-25 07:07:05 +02:00
Christoph Oelckers
d349eabcbc - floatified dudeLeechOperate 2022-10-25 07:07:05 +02:00
Christoph Oelckers
e54719e6f5 - floatified coordinate stuff in ThrowThing 2022-10-25 07:07:05 +02:00
Christoph Oelckers
e8718826ba - renamed Heardist to HearDist.
This had to wait until the variable was refactored out.
2022-10-25 07:07:05 +02:00
Christoph Oelckers
94403684b2 - changed 2 seeDist references to the SeeDist() wrapper.
Although not necessary this makes it easier later to refactor DUDEINFO.
2022-10-25 07:07:05 +02:00
Christoph Oelckers
f0dc95597b - deleted several unused wrappers and overloads. 2022-10-25 07:07:05 +02:00
Christoph Oelckers
9cd5766cd0 - deleted unused GetWallAngle function and comment cleanup 2022-10-25 07:07:05 +02:00
Christoph Oelckers
89cdd17cc2 - floatified PukeSeqCallback 2022-10-25 07:07:05 +02:00
Christoph Oelckers
8dd646a24f - floatified HackSeqCallback 2022-10-25 07:07:04 +02:00
Christoph Oelckers
8edd0530cb - renamed two functions. 2022-10-25 07:07:04 +02:00
Christoph Oelckers
7ae1d6fdc1 - floatified another Tchernobog callback. 2022-10-25 07:07:04 +02:00
Christoph Oelckers
65d696c2bb - floatified sub_71BD4 2022-10-25 07:07:04 +02:00
Christoph Oelckers
dcde92d629 - floatified cerberusThinkGoto 2022-10-25 07:07:04 +02:00
Christoph Oelckers
8c00af40d0 - eliminated the last set_int_bvel call in fxZombieBloodSpurt 2022-10-25 07:07:04 +02:00
Christoph Oelckers
d213f7c92f - floatified useUniMissileGen 2022-10-25 07:07:04 +02:00
Christoph Oelckers
0999ffd5c0 - floatified fxSpawnEjectingBrass/Shell and got rid of the inlines. 2022-10-25 07:07:03 +02:00
Christoph Oelckers
ee255b533d - floatified SpidBirthSeqCallback 2022-10-25 07:07:03 +02:00
Christoph Oelckers
4376bd6581 - floatified SpidBiteSeqCallback and SpidJumpSeqCallback 2022-10-25 07:07:03 +02:00
Christoph Oelckers
3abd6aa996 - floatified ratBiteSeqCallback 2022-10-25 07:07:03 +02:00
Christoph Oelckers
c58e0d84ad - floatified podAttack 2022-10-25 07:07:03 +02:00
Christoph Oelckers
c2fbbfbefe - floatified the remaining parts of aihound.cpp. 2022-10-25 07:07:03 +02:00
Christoph Oelckers
0a2274a41d - the remaining bits in aigilbst.cpp 2022-10-25 07:07:03 +02:00
Mitchell Richters
bb6e12a2b1 - Eliminate remaining calls to TAngle<T>::fromBuildf(). 2022-10-25 07:07:03 +02:00
Christoph Oelckers
b7afaf3ed5 - floatified most of aiPatrolSearchTargets 2022-10-25 07:07:02 +02:00
Christoph Oelckers
769565997f - floatified zombfThinkChase 2022-10-25 07:07:02 +02:00
Christoph Oelckers
5ba2eb4f64 - floatified myThinkTarget 2022-10-25 07:07:02 +02:00