Commit graph

13405 commits

Author SHA1 Message Date
Christoph Oelckers
1b1449605f - fixed: Blood did not serialize its mirror data (which is also used for certain portals.)
Fixes #203
2020-11-29 16:05:23 +01:00
Christoph Oelckers
cd1b79a703 - use stricter checks when trying to levelwarp.
If saving is blocked, so should changing the level.
Fixes #204.
2020-11-29 15:22:54 +01:00
Christoph Oelckers
92bf1232da - Duke: documented global variables for eventual scriptification.
Most are only needed internally or for very special uses and do not need any scripting consideration.
2020-11-29 15:09:23 +01:00
Christoph Oelckers
553bb2af19 - moved 'frags' into player_struct.
Again for reducing the work with the script interface.
2020-11-29 14:10:03 +01:00
Christoph Oelckers
346921211e - re-enabled the widescreen pinning code.
It is still off by default - the idea here is to provide a means for the user to switch it on in case a mod replaces the weapons with non-widescreen-friendly versions.
2020-11-29 14:05:53 +01:00
Christoph Oelckers
7ad0750839 - grouped all of Duke's constant per-session state in a single struct.
Mainly done so later the script export can be done more easily.
This also renames a few of the affected variables for clarity.
2020-11-29 13:54:58 +01:00
Christoph Oelckers
a34f5debe8 - route the shared control CCMDs through the game interface instead of registering local variants for each game. 2020-11-29 13:35:09 +01:00
Christoph Oelckers
48b16d5233 - cleanup on player CVAR use. 2020-11-29 13:22:04 +01:00
Christoph Oelckers
7887c4e80d - use lambdas instead of templates for chaining ExitFromMenu's actions. 2020-11-29 13:15:19 +01:00
Christoph Oelckers
f2f095c469 - Blood: Only clear global state before reading a savegame.
Doing it before writing permanently trashes it.
2020-11-28 00:20:12 +01:00
Christoph Oelckers
7143f62cb1 - Blood: restore pointers after loading all sequences. 2020-11-27 23:47:39 +01:00
Christoph Oelckers
6a29c38240 - Blood: write out the buckethead array to the savegame instead of trying to restore it afterward.
It looks like this cannot be reliably reconstructed from a running level anymore.
2020-11-27 23:34:36 +01:00
Christoph Oelckers
a587a1a888 - SW: generalize the resetting of the one-sided flag for pickup items instead of trying to handle each case explicitly.
Fixes #202
2020-11-27 20:21:13 +01:00
Christoph Oelckers
daf71fa470 - replaced a few more literal numbers. 2020-11-27 20:06:38 +01:00
Christoph Oelckers
81bdee90f7 - Exhumed: interpolate texture animations. 2020-11-26 18:32:37 +01:00
Christoph Oelckers
d22229c042 - removed the unused interpolation utilities in Exhumed.
None of this was used, but with the shared implementation it isn't needed anymore.
2020-11-26 18:32:37 +01:00
Christoph Oelckers
922dc178d6 - SW: interpolate texture panning. 2020-11-26 18:32:37 +01:00
Christoph Oelckers
3d0842d851 - SW: made sector object interpolation more serialization friendly.
This eliminates all the direct pointers to various game data and replaces it by encoded offsets.
2020-11-26 18:32:36 +01:00
Christoph Oelckers
bf4cc9c6af - migrated SW to the common interpolation system.
So far only the existing pieces - animations and sector objects still to do.
2020-11-26 18:32:36 +01:00
Christoph Oelckers
b9477f147e - migrated Duke's interpolations to the common system and added handling for texture scrollers. 2020-11-26 18:32:36 +01:00
Christoph Oelckers
87111a2fbc - we no longer need to recreate interpolations after loading a savegame. 2020-11-26 18:32:36 +01:00
Christoph Oelckers
82a0e95485 - made the new interpolation system work in Blood.
The panning interpolations need wraparuound handling due to their small value range.
2020-11-26 18:32:35 +01:00
Christoph Oelckers
2cd3927613 - use floats for wall panning offsets. 2020-11-26 18:32:35 +01:00
Christoph Oelckers
357199ecc1 - cross-game, serialization-friendly and pointer free interpolation implementation.
Not hooked up yet.
2020-11-26 18:32:35 +01:00
Christoph Oelckers
d545eb7aa9 - make sector panning variables floats and added some convenience wrappers. 2020-11-26 18:32:35 +01:00
Christoph Oelckers
82d80f3f07 - Blood: handle super secrets properly in the statistics display.
Fixes #198
2020-11-26 07:48:34 +01:00
Mitchell Richters
1504e19cf8 - Exhumed: Add sprite interpolation to analyzesprites(). 2020-11-26 19:15:49 +11:00
Mitchell Richters
00ce61959c - SW: Clean up some Q16.16 angle usage within DoPlayerTurnTurret(). 2020-11-26 17:30:45 +11:00
Mitchell Richters
80ff918b17 - gameinput.h: For PlayerAngle struct methods settarget(), properly set target as angle + delta between angle & target within method and not game-side. 2020-11-26 17:26:29 +11:00
Mitchell Richters
e9e4590f6a - gameinput.h: For PlayerHorizon and PlayerAngle struct methods settarget(), always set the angle directly if backup set to true. 2020-11-26 16:42:07 +11:00
Mitchell Richters
b9e1cbb5de - gamecontrol.h: Move getHalfLookAng() into PlayerAngle struct as look_anghalf().
* Uses internal struct variables at full BAM precision.
2020-11-26 16:37:37 +11:00
Christoph Oelckers
aac4fcefa2 - fixed comment 2020-11-25 00:09:13 +01:00
Christoph Oelckers
6549f05127 - SW: silence an apparently misplaced ambient sound in level 9. 2020-11-24 22:39:50 +01:00
Mitchell Richters
73df144f65 - SW: Fix ladder angle issues.
* Fixes #197.
2020-11-25 07:50:30 +11:00
Christoph Oelckers
0b115ac9c7 - Exhumed: added a countdown display for the magic spells in the fullscreen HUD. 2020-11-24 21:04:27 +01:00
Christoph Oelckers
7470286d5b - Exhumed: Switch sounds must use CHANF_LISTENERZ because they use no z-coordinate for their position. 2020-11-24 00:14:32 +01:00
Christoph Oelckers
8cbd67974e - Exhumed: fixed typo in player taunt code. 2020-11-23 19:32:12 +01:00
Christoph Oelckers
2fda1b9d52 - Exhumed: fixed positioning of the player's scream sound.
This was played on the wrong actor - the calling code passed 0 instead of the player's actual sprite index.
2020-11-23 18:38:58 +01:00
Christoph Oelckers
5a5f9b8e02 - backend update from GZDoom. 2020-11-23 15:54:06 +01:00
Christoph Oelckers
26c7bcdca4 - added default controller bindings from GZDoom. 2020-11-23 13:54:22 +01:00
Mitchell Richters
4ad227c7d6 - Blood: Remove orphaned/unincluded loadsave.h header file. 2020-11-23 22:47:43 +11:00
Christoph Oelckers
88666c3e95 - Blood: always compare xsector and xwall serialization against a null base to reduce file size. 2020-11-23 12:23:19 +01:00
Christoph Oelckers
48049d5548 - Blood: fixed AIState and posture data serialization 2020-11-23 10:18:47 +01:00
Christoph Oelckers
9a4073508d - Blood: Savegame fully transitioned to JSON
not tested yet.
2020-11-23 09:53:58 +01:00
Christoph Oelckers
572d3c9944 - Blood: serialize player as JSON. 2020-11-23 09:53:58 +01:00
Christoph Oelckers
13eae3a7bd - a bit more cleanup 2020-11-23 09:53:58 +01:00
Christoph Oelckers
fde6407266 - removed the local duplication of the player name in Blood.
Using the global CVAR instead - once multiplayer support is in this will work for all players.
2020-11-23 09:53:58 +01:00
Christoph Oelckers
0c6318aed9 - renamed team variables to something meaningful. 2020-11-23 09:53:58 +01:00
Christoph Oelckers
4950a5e963 - Blood: serialize mirrors as JSON and renamed the 3 atxx variables in here. 2020-11-23 09:53:57 +01:00
Christoph Oelckers
169d708547 - removed all remaining uses of tilesiz. 2020-11-23 08:55:02 +01:00