Mitchell Richters
16189ff7f9
- Remove GameInterface::getConsoleActor()
in place of direct access.
2023-10-02 18:11:53 +11:00
Mitchell Richters
6de8fc91d6
- Remove GameInterface::reapplyInputBits()
and directly perform operation in GameTicker()
.
2023-10-02 18:11:51 +11:00
Mitchell Richters
02bd017d07
- Directly set CorePlayer::ucmd
rather than copying it to a temporary array.
2023-10-02 17:00:50 +11:00
Mitchell Richters
d90aca9640
- Directly store a ticcmd_t
object within CorePlayer
.
2023-10-02 17:00:50 +11:00
Mitchell Richters
23d4cbc3bd
- Remove all game-side PlayerArray[]
objects and store within common code.
2023-10-02 15:43:00 +11:00
Mitchell Richters
789c4669f1
- SW: Initial setup to convert PlayerArray
array to array of SWPlayer
pointers.
2023-10-02 15:43:00 +11:00
Mitchell Richters
1604cf009c
- Move the actor pointer for each game's player structures into CorePlayer
.
...
* Something strange was going on here with Blood where the static_cast would not work... Moved the player structure into `bloodactor.h` for now to work around it.
2023-10-02 15:42:59 +11:00
Mitchell Richters
6beec5eed2
- Set up initial implementation of CorePlayer
struct and make game-side player structs inherit from it.
2023-10-02 15:42:59 +11:00
Mitchell Richters
6a7eabd23f
- SW: Rename Player[]
array to PlayerArray[]
and wrap its access.
2023-10-02 15:42:59 +11:00
Mitchell Richters
2327e08acb
- SW: Replace remaining Player +
pointer arithmetic with array accesses.
2023-10-02 15:42:58 +11:00
Mitchell Richters
2733c90237
- SW: Replace all pp (.)\= Player \+ (.+)\)
with array accesses.
2023-10-02 15:42:58 +11:00
Mitchell Richters
3c499b060f
- SW: Replace all pp = Player \+ (.+);
with array accesses.
2023-10-02 15:42:58 +11:00
Mitchell Richters
3cc2aa7af4
- SW: Replace remaining Player+
pointer arithmetic with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
edd089cc0d
- SW: Replace Player+pnum
pointer arithmetic with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
6a72b3dd83
- SW: Replace all pp (.)\= Player\+(.+)\)
with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
5d5327c427
- Replace direct pointer access to Player[]
array with array accesses.
2023-10-02 15:42:57 +11:00
Mitchell Richters
dbb11eed4d
- SW: Rename PLAYER
struct to SWPlayer
.
2023-10-02 15:42:55 +11:00
Mitchell Richters
a20e2b64f9
- SW: Wrap access to player's actor pointer.
2023-10-02 15:30:35 +11:00
Christoph Oelckers
ee07ae35aa
retrieve time in fillSummary.
2023-10-01 12:10:56 +02:00
Christoph Oelckers
4dcf0fd3c4
get rid of the GetStats interface function.
...
Now that all data it retrieves is available in shared code it is no longer needed.
2023-10-01 11:48:32 +02:00
Christoph Oelckers
19dfd84320
use global stat manager in SW
2023-10-01 10:33:07 +02:00
Mitchell Richters
8f9b413d38
- Always clear object in PlayerAngles::initialize()
rather than expecting the caller to do it.
2023-09-28 22:16:30 +10:00
Mitchell Richters
7fa5df934b
- Make playercmds[]
non-global and pass through as pointer.
2023-09-28 22:16:30 +10:00
Christoph Oelckers
8a0f79141b
code cleanup
...
* gave reverb functions the proper 'S_' prefix for consistency.
* Blood: fixed license of 4 files which do not contain any NBlood code anymore (sound code was completely rewritten, and all such code has long been moved out of d_menu.cpp)
* Blood: renamed VIEWPOS_* constants
2023-09-26 23:30:38 +02:00
Mitchell Richters
32480dde16
- Ensure all games preserve SB_CENTERVIEW
and SB_CROUCH
bits upon loading.
2023-09-24 17:22:38 +10:00
Mitchell Richters
29e021b5bf
- Move crouch toggling back into the backend so the toggle key can be used as a swim key.
...
* Reverts 272dfa762d
, but is a fresh implementation.
* I doubted anyone was doing this but apparently not.
* Exhumed needed a bit more work as it has very specific underwater checks.
2023-09-24 14:15:49 +10:00
Christoph Oelckers
d34bad3045
- adapted game side code.
2023-08-19 19:41:40 +02:00
Christoph Oelckers
32ede813e9
- new files for backend update.
2023-08-19 18:17:17 +02:00
Christoph Oelckers
2095a2120c
- consolidated the 4 ReadSound functions.
2023-08-19 18:11:19 +02:00
Christoph Oelckers
3c695a5abd
- adapted to backend changes.
2023-08-19 18:08:27 +02:00
Christoph Oelckers
f0623c7098
- fix compilation
2023-08-06 09:22:07 +02:00
Christoph Oelckers
bd078cc3e6
- SW: Clear FinishTimer when starting a new level.
2023-08-03 17:53:25 +02:00
Christoph Oelckers
0380ef3b80
- SW: remove redundant ; in sector object serializer.
...
This caused the animtype field not to be saved.
2023-07-16 10:59:39 +02:00
Christoph Oelckers
1e2b5c2747
- added missing range checks to PlaySpriteSound.
...
This can be called with attr_none!
2023-06-29 18:28:16 +02:00
Christoph Oelckers
b31e8dd8b4
- some initial preparations for exporting SW's actors.
2023-06-01 22:07:47 +02:00
Christoph Oelckers
d74c2ba52f
- added a few texture names for picnum literals.
2023-05-31 21:53:14 +02:00
Christoph Oelckers
54335f7215
- got rid of the tilenum variant of hud_drawsprite.
2023-05-30 19:08:26 +02:00
Christoph Oelckers
27d17bc413
- moving around some constants.
2023-05-29 22:16:23 +02:00
Christoph Oelckers
a2f0bfb073
- clean out digi.h
...
It's only the enum now - all the rest is externally defined.
2023-05-29 22:16:22 +02:00
Christoph Oelckers
d163e67a36
- named all breakable sprites.
2023-05-29 22:16:11 +02:00
Christoph Oelckers
e97dfb3687
- moved ActorActionFunc and Personality out of __LegacyState again.
2023-05-28 21:07:34 +02:00
Christoph Oelckers
b07a182df4
- change type of AF()
2023-05-28 11:19:36 +02:00
Christoph Oelckers
8d57281101
- turn the SO's Animator and PostMoveAnimator into non-functions as well.
...
What little is here can be done just as easily by more traditional means which are easier to serialize.
2023-05-28 11:19:35 +02:00
Christoph Oelckers
5e64d6c7aa
- call ScaleSectorObject directly.
...
It's the only PreMoveAnimator so a bool can be used as easily as the full pointer.
2023-05-28 11:19:35 +02:00
Christoph Oelckers
20b39c6a0d
- removed several non-actions from player.cpp's saveable code.
2023-05-28 11:19:35 +02:00
Christoph Oelckers
4bf0029c32
- remove lots of unneeded SAVE_CODE and SAVE_DATA declarations.
...
Everything ported to VMFunctions can now be saved natively and the DECISIONs never get stored in serialized pointers.
2023-05-28 11:19:35 +02:00
Christoph Oelckers
ddfb485424
- added a serializer for VMFunction pointers.
2023-05-28 11:19:34 +02:00
Christoph Oelckers
64d012b073
- implement the VM call's return value
2023-05-28 11:19:23 +02:00
Christoph Oelckers
fb79228600
- get rid of all ANIMATOR function pointers.
...
Everything now uses VMFunctions.
2023-05-28 09:06:51 +02:00
Christoph Oelckers
280d685774
- get rid of more ANIMATOR declarations.
2023-05-28 09:01:43 +02:00
Christoph Oelckers
4e5372133c
- removed the godawful hack to use function addresses as identifier for playing sounds.
...
This already required a bad workaround, but let's do it cleanly now so it can be used from scripts properly.
In most places this wasn't even used to decide on sound playing at all - only the 'broadcast' decision matters.
2023-05-28 09:01:05 +02:00
Christoph Oelckers
f12cc01055
- wrap all personality decision actions in VM functions.
2023-05-28 08:52:46 +02:00
Christoph Oelckers
540f96407d
- clean up ANIMATOR declarations.
2023-05-28 08:46:03 +02:00
Christoph Oelckers
1b685d8652
- wrap all action functions in a VMFunction.
...
To allow piece-by-piece refactoring.
2023-05-28 08:35:19 +02:00
Christoph Oelckers
89cce849e8
- wrapped more direct access to the states.
2023-05-28 08:32:52 +02:00
Christoph Oelckers
beb8368819
- more stateGroup wrapping
2023-05-28 08:24:56 +02:00
Christoph Oelckers
7eb713ab04
- wrap state setters so they can use state names.
2023-05-28 08:13:20 +02:00
Christoph Oelckers
7d30f1921c
- moved remaining stuff to refactor to a substructure for easier lookup later.
2023-05-27 22:15:52 +02:00
Christoph Oelckers
3612127a5e
- move stuff to refactor to a sub-structure.
2023-05-27 12:37:24 +02:00
Christoph Oelckers
12266a3693
- SW: inline setting the end state.
2023-05-27 12:11:41 +02:00
Christoph Oelckers
98961b54a8
- removed unused variable
2023-05-27 10:11:31 +02:00
Christoph Oelckers
5dfb0c902a
- consolidation of sound init code.
2023-05-27 09:12:51 +02:00
Christoph Oelckers
92f2503160
- did a bit of optimization on sfxinfo_t.
...
Using two bytes of alignment gap to add a userval variable.
2023-05-27 09:03:10 +02:00
Christoph Oelckers
1cb86af5f9
- give SW's sounds proper names and move their definition out of the EXE.
...
Also handle custom rolloff by the sound engine
2023-05-26 23:27:46 +02:00
Christoph Oelckers
f35ae98e13
- remove unused variable.
2023-05-21 08:11:44 +02:00
Christoph Oelckers
11ba136df1
- make autosaving happen immediately for other games than Blood only.
...
Blood does not like it, but for the others it should be ok.
2023-05-19 22:59:47 +02:00
Christoph Oelckers
22415d0d22
- Duke: for camera textures, set display_mirror
to 2, not 1.
...
This avoids actually mirroring the sprites while otherwise retaining the effects on player visibility. Although a value of 1 was working previously it was merely by happenstance, not by design.
Also remove two redundant local copies of display_mirror in Blood and SW.
2023-05-19 22:53:17 +02:00
Christoph Oelckers
6e060c2e83
Revert "- Tidy up autosaving for all the games."
...
This reverts commit 10445635cf
.
Contrary to what the reverted commit states, it is absolutely essential to have this delay. Duke and Blood initialize a lot of things in their first tick that are necessary before the world is stable to save.
2023-05-19 22:53:17 +02:00
Christoph Oelckers
44f4104eda
- got rid of the last tilenum uses in Duke.
...
This meant refactoring the crosshair drawer to work on a named texture called "CROSSHAIR" and hard coding the magic numbers for spawndebris.
2023-04-29 09:54:15 +02:00
Mitchell Richters
11181f51f8
- Allow roll input through the packet system, giving us 6DOF for VR usage, etc.
2023-04-24 21:31:21 +10:00
Mitchell Richters
8e3df00b8b
- SW: Hook up InputPacket::uvel
to relevant code.
2023-04-24 21:01:32 +10:00
Mitchell Richters
e60e767232
- Break down some increasingly long lines in GameInput::processMovement()
.
2023-04-23 19:19:26 +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
bb19997a2c
- Apply pitch/yaw input along-side the key inputs.
...
* Removes a lot of duplicated code.
2023-04-21 21:13:18 +10:00
Christoph Oelckers
ecd0c8c1ff
- fixed a few bad scaling values.
2023-04-15 12:20:10 +02: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
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
43febd5aa1
- Stop passing inputBuffer
around within gameinput.cpp since everything's local now.
2023-04-02 18:32:38 +10: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
Mitchell Richters
96055fbc03
- Clean out all games setting gameaction = ga_level
and do it centrally.
2023-03-29 03:10:16 +11:00
Mitchell Richters
9618ba1e78
- Don't serialise player angles twice.
2023-03-28 09:15:58 +11:00
Mitchell Richters
4fa12a9e30
- Exhumed/SW: Make sure the pitch keys are done after the slope tilting.
...
* Pitch key code does player horizon bounding.
2023-03-27 08:28:32 +11:00
Mitchell Richters
e5f3f5f149
- Make setForcedSyncInput()
require a player index.
...
* This should only ever apply to the console player.
2023-03-23 17:09:02 +11:00
Mitchell Richters
183ad0c61c
- Adjust a few setForcedSyncInput()
calls.
2023-03-23 16:34:33 +11:00
Mitchell Richters
88e6a6e894
- Rework ff652f454c
slightly to accept an InputPacket
pointer.
2023-03-22 20:08:53 +11:00
Mitchell Richters
ff652f454c
- Tidy up how games reapply needed bits at start of tic.
2023-03-22 18:17:50 +11:00
Mitchell Richters
de5b73c60f
- SW: Fix strafing issue due to missing bool negation.
2023-03-19 11:14:04 +11:00
Mitchell Richters
1147030bca
- Remove concept of InputOptions
, its messy and unnecessary.
2023-03-18 21:16:50 +11:00
Mitchell Richters
b3c27a177e
- Consolidate each game's gi-GetInput()
into a unified function.
...
* Eliminates a lot of boilerplate.
* Consolidation of input accumulation buffers discretely used in each game.
* Allows privatisation of `PlayerAngles::CameraAngles`.
2023-03-18 19:49:25 +11:00
Mitchell Richters
65ee4b14d6
- Move gi->getConsoleActor()
directly into the header.
2023-03-18 19:29:29 +11:00
Mitchell Richters
bd3e9b305e
- Adjust signatures of input functions slightly for consistency.
2023-03-18 19:29:29 +11:00
Mitchell Richters
b1888a44c3
- SW: Process weapon bits within the ticker and not the input handler.
2023-03-18 19:17:30 +11:00
Mitchell Richters
a4f0a75a58
- SW: Simplify unsynchronised input setup.
...
* Had complicated flagging and setup for SO vehicles that never worked and doubt I'd ever get to work.
* Setup now lends itself well to a potential more generic input setup.
2023-03-18 19:17:30 +11:00
Mitchell Richters
446218dd7b
- Get mouse/controller input by pointed variable and not copy on return.
2023-03-17 20:58:11 +11:00
Mitchell Richters
81caf74721
- Tidy up coord
stat to use gi->getConsoleActor()
and also print pitch.
2023-03-17 17:28:26 +11:00