Commit graph

2150 commits

Author SHA1 Message Date
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