Mitchell Richters
0a90ed4802
- Remove some duplicated lines in PlayerAngles::doViewTilting()
.
2023-04-23 08:51:14 +10:00
Mitchell Richters
b179079168
- Move constant from previous commit into the class with the other constants.
2023-04-22 22:45:12 +10:00
Mitchell Richters
df30c01472
- Rework cl_viewtilting 1
to be consistent across games.
...
* Setup before from when it was Exhumed-only assumed a 30Hz clock. Needed adjusted variables and setup for Shadow Warrior.
2023-04-22 21:40:57 +10:00
Christoph Oelckers
927d014cea
- final cleanup on hitradius.
...
Several dead code paths were also removed that are unable to be triggered by any event in the game - due to the spaghetti-style checks this hadn't been obvious before.
Also one more flag that handles the WT flamethrower's special case of not hurting any actors of the shooter's kind in a more generalized form
2023-04-22 12:08:47 +02:00
Christoph Oelckers
ac430e6bc7
- another flag and the second old one renamed.
2023-04-22 12:08:47 +02:00
Christoph Oelckers
9ddb5987cd
- two new flags and one renamed one for hitradius.
...
slowly getting closer to sorting this one out. The new flags already make operation a lot clearer.
2023-04-22 12:08:47 +02:00
Christoph Oelckers
19f4e4ff63
- added a new flag and split out the geometry destruction part from the hitradius functions
...
... which suddenly look a lot less menacing...
2023-04-22 12:08:47 +02:00
Christoph Oelckers
65e66a573d
- Duke: look up all internally used actor classes at game startup.
...
This allows early validation of the names but is also more efficient.
2023-04-22 12:08:46 +02:00
Christoph Oelckers
36d5ab74bb
- eliminated lots of direct tile references in spawn() calls.
2023-04-22 12:08:46 +02:00
Mitchell Richters
6ba227ab8b
- Spaces be damned!
2023-04-22 19:50:55 +10:00
Mitchell Richters
71d833f9ea
- Make Exhumed's new view tilting features accessible for all games.
2023-04-22 19:34:53 +10:00
Mitchell Richters
6799322544
- Exhumed: Add view bobbing, with defaults matching intensity of Powerslave Exhumed.
...
* `cl_viewbob` extended from bool to int, and allowing two modes: 1 == Powerslave Exhumed bobbing, 2 == Duke 3D-style bobbing.
* Height and speed of bobbing customisable.
2023-04-21 21:13:19 +10:00
Mitchell Richters
bb19997a2c
- Apply pitch/yaw input along-side the key inputs.
...
* Removes a lot of duplicated code.
2023-04-21 21:13:18 +10:00
Mitchell Richters
70dd565c50
- Slightly tune mouse formula in GameInput::processVehicle()
.
2023-04-21 21:13:17 +10:00
Mitchell Richters
258ab0db89
- Exhumed: Initial setup of view rolling effects.
...
* `cl_exviewtilting 1` enables a console-like view rolling upon yaw input.
* `cl_exviewtilting 2` enables a Quake-like view rolling upon strafe input.
2023-04-21 21:13:17 +10:00
Mitchell Richters
19da7a61bb
- Exhumed: Setup detection for Steam version.
...
* Buying games for $15 AUD that I already own just so I can add a detection... aren't I super? 🙃 .
2023-04-21 21:13:16 +10:00
Christoph Oelckers
86637cd20c
- fixed typo in NOHITSCANHIT flag export.
2023-04-16 23:38:54 +02:00
Marisa Heit
1bf03e463a
Add more GOG registry search paths
...
Adds the following GOG registry paths to locate games from GOG:
- Duke Nukem 3D Atomic Edition (no longer sold on GOG)
- Blood: One Unit Whole Blood (no longer sold on GOG)
- Shadow Warrior Classic Complete (Free! on GOG)
There are also three I scraped from their store pages, but commented
out because I don't own them so can't verify if they need any additional
search paths or not:
- Redneck Rampage Collection
- NAM
- Shadow Warrior Classic Redux
2023-04-16 21:37:44 +02:00
Christoph Oelckers
608b4e8e0f
- initialize the new temporary actor properties to something useful.
2023-04-16 17:35:23 +02:00
Christoph Oelckers
a3da3a4c43
- added a large bunch of script exports.
2023-04-16 17:35:15 +02:00
Christoph Oelckers
cb8137c32b
- consolidated shoot_d and shoot_r.
2023-04-16 16:53:52 +02:00
Christoph Oelckers
e97fc54179
- scriptified shootstuff.
2023-04-16 16:53:52 +02:00
Christoph Oelckers
1f5cd93564
- wall flag interface cleanup.
...
With wall textures now available the workarounds could be removed.
2023-04-16 16:53:51 +02:00
Christoph Oelckers
041d5214a4
- two new flags for the hitscan attack.
2023-04-16 16:53:51 +02:00
Christoph Oelckers
0643ab22c0
- scriptified the melee attack.
2023-04-16 16:53:51 +02:00
Christoph Oelckers
e15517cf57
- fixed some issues with projectile ownership.
...
Some init code was run here that should not be run. Added a new flag to handle this case without major code explosion.
2023-04-16 07:54:26 +02:00
Christoph Oelckers
c73830992f
- added a few exports and properties for weapon shooting and added missing 'const' annotations for ShootThis overrides.
2023-04-15 23:23:09 +02:00
Christoph Oelckers
812b9d76d6
- Blood: display the charge meter for the dynamite also on the alternative HUD.
2023-04-15 09:33:46 +02:00
Christoph Oelckers
c418356420
- added the action, move and ai properties.
2023-04-12 21:52:56 +02:00
Christoph Oelckers
ebf7b4a121
- copy the CON defined info into the actual actors.
...
Only using the strength value right now.
2023-04-12 20:29:37 +02:00
Christoph Oelckers
62ace9371f
- moved the 3 actor properties out of the global data.
2023-04-12 20:07:12 +02:00
Christoph Oelckers
0c17a369db
- Duke: changed skill filter to be solely controlled by the spawnclasses definitions.
...
All classes with no skill filter now need an explicit noskill declaration.
The only exception is inert sprites using DukeActor directly, these will never get filtered by skill.
2023-04-12 20:06:25 +02:00
Christoph Oelckers
660227e175
- Duke: restrict skill filter to those actors which originally handled it.
...
For flexibility there now is a flag that can be set on any actor class, but due to precedent it needs to be off by default.
2023-04-11 20:14:02 +02:00
Christoph Oelckers
7f758eef2b
- got rid of the script-side flag wrappers.
2023-04-09 09:46:09 +02:00
Christoph Oelckers
04a027f748
- removed most parameters from fall_common.
2023-04-09 09:46:09 +02:00
Christoph Oelckers
ae4ef6401c
- use the actual actor flags.
...
Not fully working yet...
2023-04-09 09:45:42 +02:00
Christoph Oelckers
510afe16fb
- NODAMAGEPUSH is the default for RR.
...
The game never had this feature
2023-04-09 09:35:38 +02:00
Christoph Oelckers
b908ede470
- reviewed actor flags and applied several fixes.
2023-04-09 09:35:37 +02:00
Christoph Oelckers
8172a9ac0c
- moved all flags into the actor definitions.
2023-04-09 09:35:37 +02:00
Christoph Oelckers
672374c5f4
- added fullbright flags where appropriate
2023-04-09 09:35:37 +02:00
Christoph Oelckers
f4c176988a
- first round of flag additions.
2023-04-09 09:35:36 +02:00
Christoph Oelckers
307276a276
- WIP for a default scale property.
...
For now a NOP, we need to get a little further with the scriptification work before this can be made operational.
2023-04-08 09:38:46 +02:00
Christoph Oelckers
60339a217c
- moved a lot of shareable code out of the CON interpreter.
2023-04-07 13:15:06 +02:00
Christoph Oelckers
0e169759d5
- animatesprites_r.cpp cleanup
2023-04-07 12:22:45 +02:00
Christoph Oelckers
ce00183707
- scriptified PlayerOnWater.
2023-04-07 12:17:56 +02:00
Christoph Oelckers
8b04f42ab5
- exported several fire related actors.
2023-04-07 11:52:53 +02:00
Christoph Oelckers
ef6a8c010a
- exported ceilingsteam and consolidated movefallers functions.
2023-04-07 11:52:53 +02:00
Christoph Oelckers
7a699e032f
- cleaned up Duke's very broken kill count system.
...
This now uses a static flag to denote an actor as countable and an internal flag to track its killed state, because CON can toggle that at will.
2023-04-07 09:49:20 +02:00
Mitchell Richters
85482b0951
- Fix CVAR comments from previous commit.
2023-04-05 17:59:04 +10:00
Mitchell Richters
32e6e1ce5f
- Allow disabling of level start/end cutscenes if a user desires.
...
* Allows for situations where in Blood or Exhumed, you wish to have a shortcut that directly gets you into a level.
* Could be used for seamless playing options if a user doesn't care for level ending screens.
* Not exposing this to the menu for now as I doubt demand would be high for such a thing.
2023-04-05 17:46:40 +10:00
Mitchell Richters
0f07ea9e37
- Fix skip size in SkipTicCmd()
missed during 8bfcb8c939
.
2023-04-05 15:00:47 +10:00
Mitchell Richters
c4bd550483
- Change InputState::KeyStatus
to be a FixedBitArray
object.
2023-04-05 12:57:48 +10:00
Mitchell Richters
2658af9fd0
- Use weapon enums when determining max slot numbers.
2023-04-05 10:22:18 +10:00
Mitchell Richters
4d82a0effa
- Put SB_QUICK_KICK
into the correct mask.
2023-04-05 10:20:54 +10:00
Mitchell Richters
3951407b68
- Fix issue with memset calls from 0eba341ac1
.
2023-04-05 07:39:31 +10:00
Mitchell Richters
6403c7291f
- Update player camera angles right before drawing a frame.
...
* Also stops situations where `GameInput::getInput()` was being called incessantly while in the menu, during screenjobs, etc.
2023-04-04 20:55:09 +10:00
Mitchell Richters
0eba341ac1
- Remove GameInput::prepareHidInput()
and GameInput::resetHidInput()
.
...
* Also reverts 23bff9f701
, but changes the loop into a `memset()` call instead.
2023-04-04 20:07:06 +10:00
Mitchell Richters
d454455d22
- Move invertmouse
CVARs into common code.
...
* Removes duplication of CVAR definitions between Raze and GZDoom.
2023-04-04 20:01:21 +10:00
Mitchell Richters
b4ea03b8ef
- Ensure GameInput::Clear()
clears the entire object.
...
* Unused mouse input could still accumulate during screenjobs (level end stats, etc).
2023-04-04 10:53:19 +10:00
Mitchell Richters
133c8fa80b
- Only scale the mouse input in GameInput::processMovement()
, where it's needed.
...
* Also fixes a potential signedness issue for `processVehicle()` if `m_yaw` is negatively set.
2023-04-04 09:53:43 +10:00
Mitchell Richters
a68fcfc71c
- Remove GameInterface::getConsoleAngles()
, it's not needed anymore.
2023-04-04 07:02:39 +10:00
Mitchell Richters
3ef431a428
- Make scaleAdjust
a float since it's what's needed anyway.
2023-04-03 19:38:00 +10:00
Mitchell Richters
69c65dfe7e
- Internalise InputPacket
used in movement functions.
2023-04-03 19:35:35 +10:00
Mitchell Richters
dbba0abb2e
- Move all mouse handling into GameInput
class.
2023-04-03 18:47:14 +10:00
Mitchell Richters
8d11fef916
- Initial conversion of game input into class GameInput
.
2023-04-03 18:46:36 +10:00
Mitchell Richters
23186cd8bb
- Relocate processCrouchToggle()
.
2023-04-03 18:38:10 +10:00
Mitchell Richters
31d3349d93
- Rearrange bools in processVehicleInput()
.
2023-04-03 18:37:38 +10:00
Mitchell Richters
fb519e9c53
- Move PlayerAngles
constants into the class.
2023-04-03 17:07:34 +10:00
Christoph Oelckers
810977f19f
- made RR thunder effect also work for Duke.
...
This mainly meant adding support for random sounds and playing the thunder sound by name instead of by index.
2023-04-02 17:20:06 +02:00
Christoph Oelckers
6248c8813b
- make RR's ingame thunder effect not depend on having seen one specific texture.
...
This really should check if the player has seen one sector where the effect is active.
2023-04-02 16:45:43 +02:00
Christoph Oelckers
30d066cee9
- added script exports for Duke's bosses.
...
This allows removing a few hack checks.
2023-04-02 13:13:45 +02:00
Christoph Oelckers
7f240a0a7a
- converted all remaining classes used by PicForName.
...
This means all functions using this can now pass class pointers directly to the native code.
2023-04-02 13:13:45 +02:00
Christoph Oelckers
c9888ae6cb
- exported several RR enemies/animals needed for the UFO spawner.
2023-04-02 13:13:06 +02:00
Christoph Oelckers
7b4d5eb26d
- scriptified SHRINKEREXPLOSION and WATERBUBBLE.
2023-04-02 13:10:26 +02:00
Christoph Oelckers
673ea69d35
- scriptified a few more skeleton items needed by PicforName.
2023-04-02 13:00:13 +02:00
Mitchell Richters
07ea5d06ae
- Update version.h.
2023-04-02 20:11:51 +10:00
Mitchell Richters
345f45ed12
- Fixed messed up formatting in savegamehelp.cpp
.
2023-04-02 19:56:53 +10:00
Mitchell Richters
10445635cf
- Tidy up autosaving for all the games.
...
* There's not really any reason to need the game's world to tic once, it's already fully loaded during the `gi->NewGame()`/`gi->NextLevel()` calls.
2023-04-02 19:56:52 +10:00
Mitchell Richters
272dfa762d
- Remove backend crouch toggle solution redeploy with Duke/Exhumed/Blood using new ESyncBit
bit.
...
* I tried to make this work in 2020 but its been nothing but headache. It's something for the game to control via a flag, not the backend to determine.
* For SW, this restores its original implementation.
2023-04-02 18:32:40 +10:00
Mitchell Richters
b9cf8a13c6
- Inline the remainder of InputState
methods.
2023-04-02 18:32:40 +10:00
Mitchell Richters
ea4e850674
- Move remaining mouse CVARs from inputstate.cpp
to gameinput.cpp
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
13cb52a0db
- Move HIDInput
struct from inputstate.h
to gameinput.h
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
10cd63f383
- Use an FVector2
inside HIDInput
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
4387294aff
- Eliminate the duplicate mouse storage since we have things in the right spot now.
2023-04-02 18:32:39 +10:00
Mitchell Richters
eeb67a2cdd
- Move all mouse CVARs from inputstate.cpp
to gameinput.cpp
.
2023-04-02 18:32:39 +10:00
Mitchell Richters
64b05b6f06
- Move remaining CCMDs and non-inputstate related items to gameinput.cpp
.
2023-04-02 18:32:38 +10:00
Mitchell Richters
43febd5aa1
- Stop passing inputBuffer
around within gameinput.cpp since everything's local now.
2023-04-02 18:32:38 +10:00
Mitchell Richters
3c82014d0e
- Move ApplyGlobalInput()
into gameinput.cpp
.
...
* Doesn't really belong in inputstate.cpp, it was just placed there in 2020 for lack of a better spot at the time.
2023-04-02 18:32:38 +10:00
Mitchell Richters
9e1ca0cb8f
- Make the turbo turn functions static within gameinput.cpp
.
2023-04-02 18:32:38 +10:00
Mitchell Richters
359371527b
- Move Duke's vehicle input processor into gameinput.cpp
.
2023-04-02 18:32:36 +10:00
Mitchell Richters
c13745efc8
- Remove the mouse input negation out of the event handler.
2023-04-02 18:24:05 +10:00
Mitchell Richters
b340807a6b
- Remove now-unneeded inline wrapper getHidInput()
.
2023-04-02 18:24:05 +10:00
Mitchell Richters
46b5977a6a
- Recover two ESyncBit
values for other uses.
...
* By masking aiming+centering, we have look bits :)
2023-04-02 18:24:05 +10:00
Christoph Oelckers
e1ea0492e1
- savegame version bump.
2023-04-02 08:50:05 +02:00
Mitchell Richters
daf63ce209
Revert "- InputState::ClearAllInput()
: Only clear crouch_toggle
bool if outside of a level, and resend SB_CROUCH
sync bit if inside a level and crouch_toggle
is true."
...
This reverts commit c076310e34
.
* It's no longer needed with 70706d3da8
.
2023-03-29 13:21:14 +11:00
Mitchell Richters
70706d3da8
- Don't stop getting input when we're paused.
...
* This is the cause of the long-standing crouch toggle issues, as well as a few other things.
2023-03-29 13:20:55 +11:00
Mitchell Richters
06dd971291
- When the gameaction
is ga_level
, return and don't break.
...
* This was causing the first input packet to only be sent to the playsim after the first tic occurred.
* Previous: player 1 of 1 (1 nodes); E1L1: Hollywood Holocaust; PlayClock: 4; PlayClock: 4; PlayClock: 12;, etc.
* Current: player 1 of 1 (1 nodes); E1L1: Hollywood Holocaust; PlayClock: 0; PlayClock: 4; PlayClock: 8;, etc.
* Fixes #900 .
2023-03-29 13:20:47 +11:00
Mitchell Richters
7caec5fa69
- Clean out where inputState.ClearAllInput()
is called.
...
* We can do this from just a few places and achieve the same result as having it sprinkled everywhere did.
2023-03-29 09:05:49 +11:00
Mitchell Richters
9f8cda4be3
- Move call to I_GetInputFrac()
to ensure we're never stalled waiting for a tic.
2023-03-29 09:04:40 +11:00
Mitchell Richters
d665037075
- Clean out where Net_ClearFifo()
is called.
...
* We can do this from one place and achieve the same result as having it sprinkled everywhere did.
2023-03-29 09:04:38 +11:00