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