Commit graph

62 commits

Author SHA1 Message Date
Mitchell Richters
c70cc474a0 - change mouse input from int to float and adjust games accordingly.
* Calculate game-side mousex/mousey divisions into the calculations performed in `InputState::GetMouseDelta()`.
* Fix mouse speed when `in_mousesmoothing` is true (wasn't factoring in / 3.f division used in non-true vector.
* Standard mouse forward/side movement speeds in Exhumed & SW with that of other games.
* Remove `strafeyaw` code from Duke/Exhumed/RR as it's not necessary and was leading to situations where the player would continually keep moving sideways even without input.
* Change mouse forward/side velocities to -= current value as is done with controller input and the player's angle/aim velocities.
2020-07-04 18:28:00 +02:00
Mitchell Richters
8c723f52d1 - make controller input identical across all games.
* Convert axes in ControlInfo struct from int32_t to float as what's received from the backend.
* Remove all the scale up/down math since we don't need that with floats and replace with float constants that match old behaviour.
* Store q16mlook scaling as a constant for use with mouse and upcoming controller code.
* Add required controller code to Blood as the only game not to have working controllers.
* Fix typos in (gInput.forward > input.forward) for `ctrlGetInput()` in Blood.
* Remove use of `scaleAdjustmentToInterval()` on Exhumed and Shadow Warrior as they only process forward/side velocities within the game's ticrate.
* Repair angvel/aimvel scaling mistakes from d79a5d256d.
* Scale dyaw and dpitch by 25% for Shadow Warrior as the game runs 25% faster than the other games, leading to faster input.
2020-06-24 20:08:56 +02:00
Christoph Oelckers
b9a567463c - fixed compile error. 2020-06-17 12:26:06 +02:00
Richard C. Gobeille
9a2c2d5a98 exhumed: fix overflow in feebtag() 2020-06-17 12:26:06 +02:00
Christoph Oelckers
4f0e3adfbb - removed pointless constexpr declaration on numeric constants. 2020-06-12 16:49:35 +02:00
Mitchell Richters
d79a5d256d - fix joystick scaling for all games.
* Repairs https://forum.zdoom.org/viewtopic.php?f=340&t=67239 and https://forum.zdoom.org/viewtopic.php?f=340&t=67933
* Values that come from GZDoom backend are too low to be suitable for the Build games which were dividing by 'analogExtent'.
* Remove definition of analogExtent from all games and define in inputstate.h, then define joyaxesScale as 75% of analogExtent to provide a bit of headroom and not have a scale of 1.0 be full speed.
* Invert the returned results of GetAxes() as the returned floats are reversed for build games.
* Leverage scaleAdjustmentToInverval() on game-side code to consistently scale the input irrespective of frame rate, vsync etc.
2020-06-12 16:44:08 +02:00
Christoph Oelckers
68c97e3c25 Merge branch 'master' of https://github.com/coelckers/Raze
# Conflicts:
#	source/core/gamecontrol.h
#	source/duke3d/src/game.cpp
#	source/exhumed/src/exhumed.cpp
#	source/rr/src/game.cpp
2020-05-31 23:30:10 +02:00
Mitchell Richters
ce48f081fc Exhumed: Amend how game pauses. 2020-05-31 23:19:54 +02:00
Christoph Oelckers
498b19873d - split up textures.h. 2020-05-24 07:58:56 +02:00
Mitchell Richters
bece408548 Exhumed: Set scaleAdjustmentToInterval to correct value for game's ticrate. 2020-05-13 15:10:18 +02:00
Richard C. Gobeille
98f4bac708 Exhumed: fix stupid input scaling bug 2020-05-11 21:27:29 +02:00
Mitchell Richters
db428a4f03 All Games: Make more precise use of 'scaleAdjustmentToInterval()'.
- Inline function returns a double, therefore we should use it and not potentially truncate the mantissa.
- Use divisors to get true numbers of some floats (3.333 -> 10/3, etc).
- Remove a few brackets/parentheses where possible from what are already exceedingly bracketed lines.
2020-04-14 00:00:21 +02:00
Christoph Oelckers
f74ba52990 - compile fixes. 2020-04-12 05:40:16 +02:00
Christoph Oelckers
66ecb05eb8 - use Printf as the only command to print to the console.
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Mitchell Richters
b801a73db9 Exhumed: Fix look up/down in line with input amendments. 2020-04-06 08:06:38 +02:00
Mitchell Richters
2ddc442e48 Exhumed: Improve player input.
- Input velocity now consistent irrespective of frame rate.
- Angle and horizon calculated at frame rate.
- Replace usage of F16() macro with fix16_from_int() in GetInterruptKeys().

Note: Known issues with look up/down keys that is to be repaired.
2020-04-06 08:06:38 +02:00
sirlemonhead
df34d8ca85 PCExhumed: Big bunch of AI tidying, code consistency changes and misc fixes. Aiming to get compatibility with new demos from DOS exe.
# Conflicts:
#	source/exhumed/src/anubis.cpp
#	source/exhumed/src/bubbles.cpp
#	source/exhumed/src/bubbles.h
#	source/exhumed/src/bullet.cpp
#	source/exhumed/src/bullet.h
#	source/exhumed/src/fish.cpp
#	source/exhumed/src/fish.h
#	source/exhumed/src/grenade.cpp
#	source/exhumed/src/grenade.h
#	source/exhumed/src/lavadude.cpp
#	source/exhumed/src/lavadude.h
#	source/exhumed/src/lion.cpp
#	source/exhumed/src/lion.h
#	source/exhumed/src/mummy.cpp
#	source/exhumed/src/mummy.h
#	source/exhumed/src/queen.cpp
#	source/exhumed/src/queen.h
#	source/exhumed/src/ra.cpp
#	source/exhumed/src/ra.h
#	source/exhumed/src/rat.cpp
#	source/exhumed/src/rat.h
#	source/exhumed/src/rex.cpp
#	source/exhumed/src/roach.cpp
#	source/exhumed/src/roach.h
#	source/exhumed/src/runlist.cpp
#	source/exhumed/src/scorp.cpp
#	source/exhumed/src/set.cpp
#	source/exhumed/src/set.h
#	source/exhumed/src/snake.cpp
#	source/exhumed/src/snake.h
#	source/exhumed/src/spider.cpp
#	source/exhumed/src/spider.h
#	source/exhumed/src/wasp.cpp
#	source/exhumed/src/wasp.h
2020-03-02 23:01:55 +01:00
sirlemonhead
efaefff3d0 PCExhumed: Misc code tidying. Changed cases in runlist_ProcessSectorTag() to match editor tag numbers,
consolidated duplicate code in runlist_ProcessWallTag(), renamed ActiveSound struct vars etc.

# Conflicts:
#	source/exhumed/src/cd.cpp
#	source/exhumed/src/exhumed.cpp
#	source/exhumed/src/fish.cpp
#	source/exhumed/src/grenade.cpp
#	source/exhumed/src/mummy.cpp
#	source/exhumed/src/sound.cpp
2020-02-05 18:00:40 +01:00
Christoph Oelckers
4d7a43004c - use the new SW interpolation function for all games. 2020-02-02 10:27:47 +01:00
Christoph Oelckers
4aaf6c4cf6 - check for angular overflow in pitch calculations. 2020-01-29 21:52:17 +01:00
sirlemonhead
ccfefaa9be PCExhumed: Fixed player view not centring when the Ramses Head appears. 2020-01-24 19:51:42 +01:00
sirlemonhead
56abec7ed4 PCExhumed: Add god, noclip and changelevel console commands.
# Conflicts:
#	source/exhumed/src/osdcmds.cpp
2020-01-07 20:12:12 +01:00
Christoph Oelckers
fb985d2503 - more macOS compilation fixes
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers
d464017363 - cleaned up the input code a bit. 2020-01-01 11:35:47 +01:00
Christoph Oelckers
907c2bbe1e - fixed keyboard turning.
Why did it only apply the chance each 4th call instead of doing it smoothly???
2019-12-27 17:35:13 +01:00
Christoph Oelckers
79d0818201 - added savegame records for all global data that looks to be game relevant.
The data organization here is a mess, no wonder that this game could only save at the beginning of a level.
Fortunately it's all static so no allocations and pointers to track.
2019-12-26 22:00:04 +01:00
Christoph Oelckers
7fd86c8640 - config.cpp was also free of actual content. 2019-12-26 18:36:07 +01:00
Christoph Oelckers
25bb94cd94 - reducing the completionist cruft.
The 3 CD related files don't really contain enough code to justify this, merged all non-empty parts into one.
2019-12-26 18:29:10 +01:00
Christoph Oelckers
e3084cd1b1 - ported Exhumed sound to OpenAL.
The regular sounds are not a big deal, but this game contains two special effects that were problematic to port. We'll have to wait and see if they work as intended - the original panning effect is not 3D compatible so I had to redo it.
2019-12-25 23:37:16 +01:00
Christoph Oelckers
cbfb79977a - adjustments to make it compile with the new menu code. 2019-12-13 21:01:14 +01:00
nukeykt
099a995495 minor branching fix in FuncPlayer 2019-12-03 17:30:39 +01:00
sirlemonhead
c4b9137ee1 Silence compiler warnings about intentional switch fallthrough 2019-12-02 21:17:03 +01:00
sirlemonhead
66e3a53991 Fix another potential index of sprite array by -1 2019-12-01 00:02:49 +01:00
sirlemonhead
cdf44030d7 Silence nPlayerSprite check in DoKenTest() as this can fail in valid situations, such as in RestartPlayer() while the player is still being set up. 2019-11-29 00:39:24 +01:00
sirlemonhead
1928f3fbc1 Change cheat screen messages to not display player number - are cheats usable outside of single player?!. Also removed a redundant message in FillWeapons() which got overwritten immediately anyway 2019-11-29 00:39:22 +01:00
Christoph Oelckers
8d11990494 - more work on making Exhumed compile.
Almost done, down to 20 compile errors.
2019-11-24 13:59:36 +01:00
Christoph Oelckers
40772d9f0c - making more things compile. 2019-11-24 10:03:19 +01:00
Christoph Oelckers
0ad7f25a8a - added project and namespace wrappers to all Exhumed files. 2019-11-23 00:11:37 +01:00
sirlemonhead
be65a9863b Add License header to .h and .cpp files 2019-11-22 00:13:44 +01:00
nukeykt
c261f76e5f Automap improvements using code from eduke32 2019-11-22 00:13:40 +01:00
nukeykt
e65d2ef4f4 Fix cobra venom bowl damage 2019-11-22 00:13:31 +01:00
sirlemonhead
7049070721 Misc warning fixes (removed unused variables) 2019-11-22 00:12:46 +01:00
nukeykt
2f1a53e5c4 Fix weapon pickup sound 2019-11-22 00:12:45 +01:00
nukeykt
cd6bbd96a7 Fix push sector sound 2019-11-22 00:12:44 +01:00
nukeykt
53c6e40d6d Fix some gcc related issues 2019-11-22 00:11:26 +01:00
nukeykt
688fa2e778 Interpolate bob angle 2019-11-22 00:10:38 +01:00
nukeykt
aff6ef67c0 Interpolate eye level 2019-11-22 00:10:37 +01:00
nukeykt
4e21cf5cbf Start adding view interpolation using code from duke3d 2019-11-22 00:03:11 +01:00
nukeykt
1dd696df18 Initial work on input code improving 2019-11-22 00:00:08 +01:00
sirlemonhead
911330ed37 Tidied up door handling key. Removed some repeated code and commented-out code 2019-11-22 00:00:06 +01:00