Mitchell Richters
f9866f4a21
- Blood: Call resetForcedSyncInput()
after sethorizon()
in ProcessInput()
vs. playerProcess()
. Call was too early and causing player not to be able to look while synchronised input is being forced.
2020-12-01 22:02:20 +11:00
Christoph Oelckers
5850c7b284
- let SyncInput return a combination of gamesetinput and cl_syncinput - also serialize gamesetinput.
2020-11-30 23:45:21 +01:00
Christoph Oelckers
ae36ea88c3
- wrap all checks of cl_syncinput in an inline function.
2020-11-30 23:40:16 +01:00
Mitchell Richters
f429871cc6
- Blood: Promote pPlayer->angold
to binangle class.
2020-12-01 07:43:31 +11:00
Mitchell Richters
232dd5e07a
- Blood: Force synchronised input while a revolving door is busy/in-use.
...
* Fixes #205 .
2020-12-01 07:43:25 +11:00
Mitchell Richters
22f7fc93f4
- Exhumed/SW: Move code to trigger synchronised input for edge cases where its needed into gamecontrol.
2020-12-01 07:31:47 +11:00
Christoph Oelckers
0b797b0ccd
- Exhumed: added JSON serialization for view and switch - also renamed the fields in the switch struct.
...
Some refactoring was needed to put a plain C array into a TArray to remove the limits.
2020-11-29 23:32:28 +01:00
Christoph Oelckers
a51b77b95b
- do not statically initialize DukeGameInfo.
...
Since this structure contains several large arrays it will inflate the EXE size with 800kb of empty space.
2020-11-29 22:31:02 +01:00
Christoph Oelckers
9a345bdfa7
- Exhumed: Wasp
2020-11-29 22:29:36 +01:00
Christoph Oelckers
45ee475df7
- Exhumed: Set.
2020-11-29 20:59:42 +01:00
Christoph Oelckers
59e9cfa6ac
- Exhumed: Scorpion
2020-11-29 20:52:16 +01:00
Christoph Oelckers
cf5982b3fc
- Exhumed: Roach.
2020-11-29 20:47:55 +01:00
Christoph Oelckers
4f1999ab24
- Exhumed: Rex
2020-11-29 20:43:35 +01:00
Christoph Oelckers
4543982e54
- Exhumed: Rat
2020-11-29 20:39:27 +01:00
Christoph Oelckers
d92428d217
- Exhumed: The mummy has been handled, too - also renamed some fields to match the other enemies.
2020-11-29 20:34:55 +01:00
Christoph Oelckers
1fa087767e
- Exhumed: ... and for the lava dude.
2020-11-29 20:30:17 +01:00
Christoph Oelckers
bd3efcb6c4
- Exhumed: same procedure for the Lion.
2020-11-29 20:26:54 +01:00
Christoph Oelckers
b669e5405d
- Exhumed: did the same for the fish, changed some disassembly names and removed unused fields from enemy structs.
2020-11-29 20:16:58 +01:00
Christoph Oelckers
e81dbbdc93
- Exhumed: limit removal, cleanup and JSON serialization for the spider.
2020-11-29 19:32:58 +01:00
Christoph Oelckers
b26f6157e9
- Exhumed: Anubis cleanup, JSON serialization and limit removal.
2020-11-29 19:20:38 +01:00
Christoph Oelckers
8a7b3dc667
- Interpolate Duke's wave floor effect.
2020-11-29 17:40:41 +01:00
Christoph Oelckers
3ba0a242bf
- Blood: do not recreate the bucket list when loading a savegame.
...
It has been read from the savegame already, and creating a new one will not produce a correct list because not all data has been loaded yet.
2020-11-29 16:22:29 +01:00
Christoph Oelckers
ed8266df0b
- fixed bad args check in WarpToCoords CCMD.
2020-11-29 16:06:15 +01:00
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
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
Christoph Oelckers
d60bc8be9f
- replaced all remaining uses of tilesiz[].y
2020-11-23 08:39:49 +01:00
Christoph Oelckers
35f3de64f7
- partial cleanup of SW's game.h
...
inlined several macros, removed some unused ones, replaced a few with one or two uses and simplified some functions to remove 90's optimizations that these days have no positive effect aside from complicating the code.
2020-11-23 08:39:20 +01:00
Christoph Oelckers
6b889cbb77
- port from NBlood: Show all available powerups in HUD.
2020-11-23 07:49:36 +01:00
Mitchell Richters
3f14886830
- binaryangle.h: Return BAngToBAM()
as int64_t
to handle signed values without overflowing on unsigned values.
2020-11-23 10:49:47 +11:00
Mitchell Richters
ea2e4051f1
- Duke (RR): Fix incorrect inline call for angAdjustment
following changes in ea4ad0548a
.
2020-11-23 10:44:38 +11:00
Mitchell Richters
b65326dc22
- Duke (RR): Fix weapon swaying after copy-paste issue originating from 5172c43e71
.
2020-11-23 10:24:43 +11:00
Christoph Oelckers
bbf1352db1
- replaced approx 1/3 of all accesses to the tilesiz wrapper class.
2020-11-23 00:18:30 +01:00
Mitchell Richters
fc359065ae
- Duke: Tune level end summary screen text positioning.
...
* Number positioning was 1 px off for some items such as `TXT_YourTime`.
* Positioning of number and text was 1px off for some items such as `TXT_3DRTIME` and `TXT_EnemiesLeft`.
2020-11-23 09:36:05 +11:00
Christoph Oelckers
3ad37631a6
- SW: fixed several keycards that were accidentally flagged one-sided.
2020-11-22 23:18:45 +01:00
Mitchell Richters
89048c8e70
- binaryangle.h: Use cmath.h functions for binangle
/lookangle
trig methods as well.
2020-11-23 08:40:18 +11:00
Christoph Oelckers
b89cd6d14c
- cleanup on binaryangle.h
...
* why the reference parameters? These should be passed by value.
* removed the < and > operators from binangle class because angles should not be ordered.
* instead of calling the CRT trig functions, use the ones from cmath.h which are more reliable
2020-11-22 21:54:39 +01:00
Mitchell Richters
5ba2e7863d
- binaryangle.h: Add asbuildf()
method to all classes and use where appropriate.
2020-11-22 21:18:12 +01:00
Mitchell Richters
e57d6f8785
- Duke: Fix crane's angle settarget()
call.
...
* Fixes #185 .
2020-11-22 21:18:12 +01:00
Mitchell Richters
c42771228d
- binaryangle.h: Reverse order of binangle
and lookangle
classes and declare binangle
class a friend of lookangle
.
...
* In-prep for addressing #185 .
2020-11-22 21:18:11 +01:00
Mitchell Richters
3b3e926fd3
- gameinput.h: For PlayerAngle
struct, add int settarget()
overload and change one true call with a float to bvectangf()
.
2020-11-22 21:18:11 +01:00
Mitchell Richters
ea4ad0548a
- All Games: Make use of new addadjustment()
overloads in PlayerAngle
struct created in 25207e4f1818a5ed38648ce87673329cd75e20e4.
2020-11-22 21:18:11 +01:00
Mitchell Richters
2341ed4e25
- gameinput.h: For PlayerAngle
struct, add extra addadjustment()
overloads to remove type conversions game-side, and when incoming.
2020-11-22 21:18:11 +01:00
Mitchell Richters
35845a63e2
- binaryangle.h: Expand all classes with bit-shift operators and binangle
/lookangle
classes with some lt/le/ge/gt bools to have parity with the fixedhoriz
class.
2020-11-22 21:18:11 +01:00
Mitchell Richters
42689e02c4
- gameinput.cpp: Define getincanglebam()
and slightly clean up other getincangle*() functions.
2020-11-22 21:18:11 +01:00
Mitchell Richters
0190a98a10
- Remove calcSinTableValue()
inline function and clean up use of PI
/fPI
and BANG2RAD
#defines.
2020-11-22 21:18:10 +01:00
Mitchell Richters
6b66a958d0
- buildutils: Replace calcSinTableValue()
use within Exhumed with bsinf()
/bcosf()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
5172c43e71
- buildutils: Replace calcSinTableValue()
use within Duke with bsinf()
/bcosf()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
a2ac8cccc1
- buildutils: Replace calcSinTableValue()
use within SW with bsinf()
/bcosf()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
feb6d023fa
- buildutils: Replace sintable[]
use within SW's weapon.cpp with bsin()
/bcos()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
a7a223c13d
- buildutils: Replace sintable[]
use within SW's wallmove.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
a5082d24d9
- buildutils: Replace sintable[]
use within SW's track.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
72f12e19f3
- buildutils: Replace sintable[]
use within SW's sprite.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
09a560cb6d
- buildutils: Replace sintable[]
use within SW's skull.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00