Commit graph

12189 commits

Author SHA1 Message Date
Christoph Oelckers
9d8685096d - floatified shootshrinker 2022-10-21 00:00:07 +02:00
Christoph Oelckers
0b58f2ea3c - floatified shootmortar 2022-10-21 00:00:07 +02:00
Christoph Oelckers
840d1f4793 - floatified shootgrowspark 2022-10-21 00:00:07 +02:00
Christoph Oelckers
cb7c5dc3ac - floatified tracers 2022-10-21 00:00:07 +02:00
Mitchell Richters
623e0ff30e - floatified RR's shootweapon.
Mostly copy/paste from Duke.

* Edited to fix missed `zvel` change within `if (atwith == SHOTSPARK1)`.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
b706e6276a - floatified RR's shootmelee.
Mostly copy/paste from Duke.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
e224abb949 - silenced warnings. 2022-10-21 00:00:07 +02:00
Christoph Oelckers
977131eb8c - eliminated all set_int_z calls in Duke. 2022-10-21 00:00:07 +02:00
Christoph Oelckers
933e42eca6 - moved the remaining shoot handlers out of shoot_d. 2022-10-21 00:00:06 +02:00
Christoph Oelckers
7becce8cb6 - floatified shootlaser 2022-10-21 00:00:06 +02:00
Christoph Oelckers
9598468c9a - floatified Duke's shootrpg 2022-10-21 00:00:06 +02:00
Christoph Oelckers
b5a869b053 - floatified Duke's shootstuff. 2022-10-21 00:00:06 +02:00
Christoph Oelckers
1702491619 - floatified Duke's shootweapon. 2022-10-21 00:00:06 +02:00
Christoph Oelckers
aad2c30af7 - floatified shootknee 2022-10-21 00:00:06 +02:00
Christoph Oelckers
436b8bc50a - floatified shootfireball 2022-10-21 00:00:06 +02:00
Christoph Oelckers
a226a847bd - fixed warnings 2022-10-21 00:00:06 +02:00
Christoph Oelckers
9deb1dfa69 - floatified shootbloodsplat. 2022-10-21 00:00:05 +02:00
Christoph Oelckers
4f5dce81f6 - floatifx position in checkhitswitch_d. 2022-10-21 00:00:05 +02:00
Mitchell Richters
2081e270cd - Duke: Fix bad setup in move_d() that stopped enforcer working properly in E3L1.
* Merge with or above `- eliminated all of add_int_zvel.`.
2022-10-21 00:00:05 +02:00
Christoph Oelckers
1814274124 - eliminated all of add_int_zvel. 2022-10-21 00:00:05 +02:00
Christoph Oelckers
65b6b5ba71 - migrated all simple EGS calls to CreateActor
The remaining ones require more work on the weapon code first
2022-10-21 00:00:05 +02:00
Christoph Oelckers
a48ebc51a6 - This makes no sense either way… 2022-10-21 00:00:05 +02:00
Christoph Oelckers
068099cb3e - floatify glass spawners 2022-10-21 00:00:05 +02:00
Christoph Oelckers
5140baf7c5 - floatified a bunch in move_r 2022-10-21 00:00:05 +02:00
Christoph Oelckers
3e511f33b8 - movetripbomb and movecrack 2022-10-21 00:00:04 +02:00
Christoph Oelckers
facedb6325 - floatified movesprite_ex 2022-10-21 00:00:04 +02:00
Christoph Oelckers
829d06790f - handle the remaining movesprite_ex calls 2022-10-21 00:00:04 +02:00
Christoph Oelckers
4b184c6d43 - movesprite_ex refactoring, part 2 2022-10-21 00:00:04 +02:00
Christoph Oelckers
5dedce047a - movesprite_ex refactoring, part 1 2022-10-21 00:00:04 +02:00
Christoph Oelckers
0432930e5b - converted all dist() calls to vector math and deleted the utilities 2022-10-21 00:00:04 +02:00
Christoph Oelckers
2bcc552ce0 - replace FireProj struct with a second temp_pos vector
We’re going to need this anyway for some SE’s.
2022-10-21 00:00:04 +02:00
Christoph Oelckers
dfd098d719 - simple replacements in sector and spawn code 2022-10-21 00:00:04 +02:00
Christoph Oelckers
1c05d80e53 - simple replacements in player code 2022-10-21 00:00:03 +02:00
Christoph Oelckers
f6d06b1326 - simple replacements in actor code 2022-10-21 00:00:03 +02:00
Christoph Oelckers
ada4af8fb7 -consolidated sprite rotation formula in 2 inline functions. 2022-10-21 00:00:03 +02:00
Christoph Oelckers
c066f1754c - use randomAngle 2022-10-21 00:00:03 +02:00
Christoph Oelckers
b164426dd2 - partial work on processinput_d 2022-10-21 00:00:03 +02:00
Christoph Oelckers
bda3a38ed9 - ported the remaining S_PlaySound3D calls 2022-10-21 00:00:03 +02:00
Christoph Oelckers
4956062b22 - added S_PlaySound3D variant receiving a float vector 2022-10-21 00:00:03 +02:00
Christoph Oelckers
e31f10be8a - floatify position in all remaining updatesector calls for the player 2022-10-21 00:00:03 +02:00
Christoph Oelckers
3c9a94dba8 - consolidated Duke’s ‚away from wall‘ check in the backend
This was also very useful in SW to avoid spawning ‚floating‘ footprints due to lack of an equivalent check in the original.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1a597c4e0b - fixed and floatified chickenarrow. 2022-10-21 00:00:02 +02:00
Christoph Oelckers
021f7062d1 - ported all simple EGS calls to CreateActor 2022-10-21 00:00:02 +02:00
Christoph Oelckers
dafc1ff2d2 - spawn coordinate in guts 2022-10-21 00:00:02 +02:00
Christoph Oelckers
6bd97e312d - cleanup of the wall hit checks in hitradius
Yes, the z-check was indeed bad.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
3352783be2 - added a Sum function to TVector familiy
Duke uses this kind of distance check quite a lot so it makes sense to add it to the vectors.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1d7f2c81b6 - fixed position backup for trip bombs. 2022-10-21 00:00:02 +02:00
Christoph Oelckers
38a8e15ff9 - floatified most of movetripbomb and ovel 2022-10-21 00:00:02 +02:00
Christoph Oelckers
1c50801c64 - floatified furthestangle 2022-10-21 00:00:01 +02:00
Christoph Oelckers
3c1970e9e0 - floatified alterang and changed return type of furthestangle 2022-10-21 00:00:01 +02:00
Christoph Oelckers
45f28f666c - floatified dodge. 2022-10-20 23:59:28 +02:00
Christoph Oelckers
19bca44f37 - added a float version of BobVal.
We will need this later.
2022-10-20 23:59:27 +02:00
Christoph Oelckers
c7eabe5b55 - gameexec.cpp code cleanup 2022-10-20 23:59:27 +02:00
Christoph Oelckers
3711473194 - gameexec cleanup 2022-10-20 23:59:27 +02:00
Christoph Oelckers
3cefda2983 - simplify some angle stuff 2022-10-20 23:59:15 +02:00
Christoph Oelckers
43e1e3f50f - floatified SE 32. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
c0e7e6a543 - floatified leftover pieces of some debris-type actors. 2022-10-20 23:08:55 +02:00
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
Christoph Oelckers
5eb9af1e00 - Backend update from GZDoom
IQM model support and a few bugfixes.
2022-10-20 22:24:25 +02:00
Mitchell Richters
bfafe4e21c - Tidy up some of the spaces on SetValueForKey() calls.
* Although I hate the spaces and have no idea why anyone would do this, there's too many such calls in the document so easiest to just stick with it :/
2022-10-21 00:35:59 +11:00
Mitchell Richters
8d2e022250 - Fix broken paths in default configuration on Unix how I asked for it to be fixed. 2022-10-21 00:35:58 +11:00
Unrud
8459ee1cb2 Fix broken paths in default configuraiton on Unix
The default paths for **FileSearch.Directories** and **SoundfontSearch.Directories** are somewhat broken.

`SHARE_DIR` is defined as just `/usr/local/share/`.
The paths `…/games/raze` are not added to **FileSearch.Directories**.
`GAME_DIR` is defined as `.config/raze` on Unix. Combining it with the prefix `…/share/` is wrong.

Excerpt from the default configuration:

```ini
[FileSearch.Directories]
…
Path=/usr/local/share/
…

[SoundfontSearch.Directories]
…
Path=/usr/local/share/.config/raze/soundfonts
Path=/usr/local/share/games/.config/raze/soundfonts
Path=/usr/share/.config/raze/soundfonts
Path=/usr/share/games/.config/raze/soundfonts
```
2022-10-20 23:54:46 +11: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
Christoph Oelckers
6310b06118 - got rid of set_int_z in Blood. 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
Mitchell Richters
1eaab2f531 - Blood: Floatify POSTURE::xOffset and POSTURE::zOffset.
* POSTURE struct is now completely handled.
2022-10-20 00:48:09 +02:00
Mitchell Richters
6fa3e3fc23 - Blood: Swap around POSTURE::xOffset and POSTURE::zOffset given how they're used. 2022-10-20 00:48:09 +02:00
Mitchell Richters
3b5f4b9222 - Blood: Floatify POSTURE accel values. 2022-10-20 00:48:08 +02:00
Mitchell Richters
bbb0cf73f2 - Blood: Floatify POSTURE::normalJumpZ and POSTURE::pwupJumpZ. 2022-10-20 00:48:08 +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
ccbe472444 - added NULL check where it can crash when noclipping. 2022-10-19 18:25:43 +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
c51a71ed94 - made some changes to let the engine start up with ASAN enabled on MSVC. 2022-10-19 18:01:28 +02:00
Christoph Oelckers
1553ec812d - magic carpet fixes for SW's $woods.map
* the track point code needs to retain the original distance function because in this case the difference can be critical as it interprets map data.
* two cases of bad vertical distance calculation due to unclear original code.
2022-10-19 17:49:19 +02:00
Christoph Oelckers
6e11a4317e - SW: fixed savegame pic generation corrupting the actor list.
This case missed the call to PostDraw which is responsible for cleaning up some temporary data.
2022-10-19 00:11:44 +02:00
Christoph Oelckers
0cef35c345 - SW: when an actor is killed, all attached ambient sounds must be deleted.
Not only did the sound not stop but what happened here was very much undefined behavior as the ambient sound retained its pointer to now undefined memory.
2022-10-19 00:05:35 +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
bc018dd946 - Use getCorrectedScale() in conjunction with looking keys like scaletozero() functions. 2022-10-18 19:52:02 +02:00
Mitchell Richters
0a4ee4ac07 - Blood: Don't use degrees in the QAV drawer until hud_drawsprite() is uplifted. 2022-10-18 19:52:02 +02:00
Mitchell Richters
f56cb7de48 - Blood: Floatify QAV's x/y coordinates. 2022-10-18 19:52:02 +02:00
Mitchell Richters
b127c37939 - Blood: Floatify all the bobbing/swaying code. 2022-10-18 19:52:02 +02:00
Mitchell Richters
33def4bd6e - Duke: Clean up some long VecToAngle() calls. 2022-10-18 19:52:02 +02:00
Mitchell Richters
bdc6a5cf69 - Remove fudging from I_GetInputFrac() and correct getPushBuild(). 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
f7fdbcaa59 - handle the only two occurences of add_int_ang in Blood. 2022-10-18 19:01:45 +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
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
Christoph Oelckers
fdeb060ccd - got rid of lPlayerVel 2022-10-18 19:01:45 +02:00
Christoph Oelckers
f16f9b302f - floatified player input velocity. 2022-10-18 19:01:45 +02:00
Christoph Oelckers
b14ab1bde3 - use a lower value range for the xy factor in movespritevel. 2022-10-18 19:01:45 +02:00
Christoph Oelckers
59950062b7 - removed useless utility function 2022-10-18 19:01:44 +02:00
Christoph Oelckers
42389133d3 - function separators.
Also removing some dead code.
2022-10-18 19:01:44 +02:00
Christoph Oelckers
e2a6353182 - eliminated AngleDiff. 2022-10-18 19:01:44 +02:00
Christoph Oelckers
e3e11300ac - floatify nPlayerD 2022-10-18 19:01:44 +02:00
Christoph Oelckers
3709b61fd1 - floatified PlotCourseToSprite's return 2022-10-18 18:55:22 +02:00
Christoph Oelckers
7b8b4a48f7 - floatified all of movesprite. 2022-10-18 18:34:30 +02:00
Christoph Oelckers
6854e8030d - floatify half the movesprite calls. 2022-10-18 18:34:30 +02:00
Christoph Oelckers
ab3184eed8 - set up proper scaling of the grenade's movement vector. 2022-10-18 18:34:29 +02:00
Christoph Oelckers
1dff710a23 - floatified ThrowGrenade 2022-10-18 18:34:29 +02:00
Christoph Oelckers
a043c7fa4d floatified body of movesprite and prepared the calls for adjustment. 2022-10-18 18:34:29 +02:00