Commit Graph

13212 Commits

Author SHA1 Message Date
Christoph Oelckers d04013066c - build a composite texture of all the segments for sky rendering to reduce the seams between the single segments. 2020-12-04 22:29:25 +01:00
Christoph Oelckers aba3539275 - moved dudeSlope fully into DBloodActor. 2020-12-04 18:03:02 +01:00
Christoph Oelckers 99c0b77cf2 - rerouted all accesses to gDudeSlope. 2020-12-04 18:03:02 +01:00
Christoph Oelckers 7e78bc1c14 - refactored the SEQ callback to receive an actor pointer instead of an xsprite index. 2020-12-04 18:03:01 +01:00
Christoph Oelckers 44805e29b3 - changed parameter of aiNewState to DBloodActor 2020-12-04 18:03:01 +01:00
Christoph Oelckers 502d911a95 - refactored Blood's AI callback interface to only use a single DBloodActor parameter. 2020-12-04 18:03:01 +01:00
Christoph Oelckers 0ac41e0b5a - drafted a DBloodActor to wrap the multitude of arrays (12 overall!) in which an actor is split up. 2020-12-04 18:03:01 +01:00
Christoph Oelckers bc1adc9c51 - Blood: fixed cl_autorun affecting bobbing intensity even when no movement takes place.
Blood uses the state of the 'run' bit as the sole information that the player is running, which leads to very different behavior with cl_autorun on or off.
Apparently Raze's semantics here do not agree with how it was handled originally and the residual bobbing when coming to a stop was more than a little bit distracting.
2020-12-04 00:06:23 +01:00
Christoph Oelckers 396e3cd524 - actually call the model animation timer somewhere.
Now models also animate properly. :)
2020-12-02 00:19:22 +01:00
Christoph Oelckers 25ef58f897 - re-enabled all model specific code in Duke's animatesprites function and removed some remaining software renderer-only code in the engine. 2020-12-01 23:57:39 +01:00
Christoph Oelckers 9a507e5d0a - fixed model rendering.
(What a stupid mistake... :?)

Model animations still do not work as intended, though.
2020-12-01 22:03:20 +01:00
Christoph Oelckers b0bf51ec5c - Duke/RR: Selecting the alternative weapon must set the proper bits in 'subweapon'.
Otherwise the weapon cycling breaks.
Fixes #182
2020-12-01 21:07:38 +01:00
Christoph Oelckers 06a069750f - addressed more type casting issues in SW.
This should cover everything with coordinates.
2020-12-01 19:01:38 +01:00
Christoph Oelckers 39b67b4086 - SW: removed some very dangerous type casting. 2020-12-01 18:30:21 +01:00
Christoph Oelckers b52668ecdf - SW: added some simple allocation wrappers around common code sequences. 2020-12-01 16:53:29 +01:00
Christoph Oelckers 6dfe869614 - shorten the struct for puser to what actually gets used from it.
This is preparation for making USER more serialization friendly as it was copied to puser.
2020-12-01 16:22:32 +01:00
Christoph Oelckers dd75c8dbe4 - weaken the reverb in Duke.
Unfortunately the entire thing is very poorly defined, not setting it for sectors but for sprites with a distance. But some of these sprites cover non-reverb sectors as well and this can produce some ugly sound field in spots where this isn't wanted at all.
2020-12-01 16:34:47 +01:00
Christoph Oelckers 1d6d58538c - cleaned out the remains of the old savegame code. 2020-12-01 12:58:10 +01:00
Christoph Oelckers 67dff2a863 - Exhumed: Serialize global state as JSON.
This was the last item to be converted.
2020-12-01 12:58:10 +01:00
Christoph Oelckers 487d62e264 - Exhumed: Bullet and Grenade. 2020-12-01 12:58:10 +01:00
Christoph Oelckers 54eec61828 - Exhumed: Init 2020-12-01 12:58:10 +01:00
Christoph Oelckers 15579798ad - Exhumed: bubbles and gun. 2020-12-01 12:58:09 +01:00
Christoph Oelckers 08d8ba8fe4 - Exhumed: lighting 2020-12-01 12:58:09 +01:00
Christoph Oelckers 83ba046d04 - Exhumed: items and move. 2020-12-01 12:58:09 +01:00
Christoph Oelckers bb0ef6ff70 - Exhumed: Objects. 2020-12-01 12:58:09 +01:00
Christoph Oelckers 262af72235 - Exhumed: Anims and Player. 2020-12-01 12:58:09 +01:00
Christoph Oelckers 531d7c96b4 - Exhumed: Queen 2020-12-01 12:53:10 +01:00
Christoph Oelckers 026d355096 - serialize Ra as JSON, do not serialize Ramses.
The Ramses intermissions cannot be safely resumed from a savegame - so saving was blocked there, meaning that this data does not need to be saved.
2020-12-01 12:53:10 +01:00
Christoph Oelckers 3c83775273 - add back the missing secret hint notification calls for Duke/RR. 2020-12-01 12:52:49 +01:00
Christoph Oelckers 92a72cef8b - Blood: only trigger a secret if the hint system hasn't registered it.
There's some bugs in Blood that allow a secret to be triggered multiple times. However, since the hint system already knows which secrets were triggered, use that info to avoid retriggers.
Fixes #206
2020-12-01 12:52:42 +01:00
Christoph Oelckers 6475d772ca - Exhumed: Runlist and Rand. 2020-12-01 12:19:09 +01:00
Christoph Oelckers c1b478bf83 - Exhumed: Snake and Sequence
# Conflicts:
#	source/exhumed/src/save.cpp
2020-12-01 12:15:43 +01:00
Christoph Oelckers e8c56b1f9f - Exhumed: serialize the status bar as JSON - added a helper class to handle static arrays with an attached free list more easily. 2020-12-01 12:15:43 +01:00
Christoph Oelckers 1b2895bee6 - Exhumed: wrap all serialized game data into another JSON object
# Conflicts:
#	source/exhumed/src/save.cpp
2020-12-01 12:15:43 +01:00
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