Commit graph

951 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
6b889cbb77 - port from NBlood: Show all available powerups in HUD. 2020-11-23 07:49:36 +01: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
5ba2e7863d - binaryangle.h: Add asbuildf() method to all classes and use where appropriate. 2020-11-22 21:18:12 +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
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
32a1796728 - buildutils: Replace sintable[] use within Build with bsin()/bcos(), using bsinf()/bcosf() where appropriate.
* Includes a few header include shuffles to make it all come together.
2020-11-22 21:18:02 +01:00
Mitchell Richters
b2c42d5d03 - buildutils: Replace sintable[] use within Blood with bsin()/bcos().
* Further review of this should be considered as the use of sintable[] for nCos was actually sine and the use of sintable[] for nSin was actually cosine. Preserved math despite the variable names.
2020-11-22 21:18:02 +01:00
Christoph Oelckers
182b8023ca - Blood: ported BloodGDX's fix for the double shotgun graphics glitch.
Fixes #114
2020-11-22 20:09:09 +01:00
Christoph Oelckers
63d71c120a - Blood: save level stats as JSON. 2020-11-22 13:05:17 +01:00
Christoph Oelckers
751c295b62 - minor savegame optimizations.
Do not write out empty elements of arrays where these are by far the most common ones.
2020-11-22 12:48:43 +01:00
Christoph Oelckers
1a588c3cbf - merged two smaller savegame handlers into the main function. 2020-11-22 12:48:43 +01:00
Christoph Oelckers
2cb3d44384 - AI JSON serialization. 2020-11-22 12:48:43 +01:00
Christoph Oelckers
18352a760c - more renames. 2020-11-22 12:48:42 +01:00
Christoph Oelckers
2c6fa57090 - activeXSprites map. 2020-11-22 12:48:42 +01:00
Christoph Oelckers
d4873754f3 - even more renames 2020-11-22 12:48:42 +01:00
Christoph Oelckers
dced173cda - JSON serializer for actor.
Also cleaned up use of gAffectedSectors and gAffectedXWalls. These are merely needed as local worker variables, not as global persistent status.
2020-11-22 12:48:42 +01:00
Christoph Oelckers
b2a7a0635b - Blood: JSON serializer for triggers
Also renaming members of struct BUSY.
2020-11-21 20:25:06 +01:00
Christoph Oelckers
f73ca55c79 - renamed more disasm stuff. 2020-11-21 20:10:45 +01:00
Christoph Oelckers
27dfefef6c - JSON serializer for warp.cpp 2020-11-21 19:39:24 +01:00
Christoph Oelckers
678dedf224 - more renaming. 2020-11-21 19:30:00 +01:00
Christoph Oelckers
c13dd52e34 - renamed a few functions with disasm names. 2020-11-21 19:19:02 +01:00
Christoph Oelckers
a319687373 - use static init for QAV callbacks.
runtime init order is undefined, so this is not safe.
2020-11-21 18:28:29 +01:00
Christoph Oelckers
9bd02634d9 - renamed a few things with disasm names. 2020-11-21 18:18:58 +01:00
Christoph Oelckers
7945242fa8 - removed some redundant utility functions. 2020-11-21 18:13:10 +01:00
Christoph Oelckers
8bfc6d98d4 - Blood: cleanup and simplification of SEQ code.
* removed all the large instance arrays. None of this is really necessary, all we need is a single dynamic array with only the active sequences that can expand as needed.
* added JSON serialization. With the above change this part now becomes trivial.
* renamed all 'atxx' variables in this code.
2020-11-21 18:12:51 +01:00
Christoph Oelckers
4aa06ff702 - use a static table for SEQ callbacks.
This ensures that callback indices are consistent. Runtime registration as performed by NBlood has undefined order and will make savegames non-transferrable.
2020-11-21 16:34:32 +01:00
Christoph Oelckers
fe845d7e12 - renamed some of those annoying 'atxx' variables. 2020-11-21 15:45:37 +01:00
Christoph Oelckers
1535182577 - simplified the event management further and added a JSON serializer for it. 2020-11-21 15:09:38 +01:00
Christoph Oelckers
5f54eac297 - made palette loader part of the game interface.
This gets rid of the Blood 'replace' hook for thus.
2020-11-21 12:54:09 +01:00