Christoph Oelckers
c17ec5fa45
- cleanup of savegame framework
2021-04-22 00:03:17 +02:00
Christoph Oelckers
b85da221d7
- SW: save tracks as JSON.
2021-04-22 00:03:17 +02:00
Christoph Oelckers
bb8309831c
- SW: eliminated the int pointer in ANIM.
...
# Conflicts:
# source/games/sw/src/save.cpp
2021-04-22 00:03:16 +02:00
Christoph Oelckers
c49c5fcf1d
- SW: serialize SO interpolations as JSON.
2021-04-22 00:03:16 +02:00
Christoph Oelckers
2d571586bd
- save sector objects as JSON
2021-04-22 00:03:16 +02:00
Christoph Oelckers
e9b1342ffd
- SW: save globals as JSON.
2021-04-22 00:03:16 +02:00
Christoph Oelckers
66e5b9ada7
- SW: save SectUser as JSON, also store in a managed array.
2021-04-22 00:03:16 +02:00
Christoph Oelckers
06b03f7301
- SW: save the player and related data as JSON.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
9bae2295cc
- better USER clearing.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
8fee2b3ed7
- save SW's User array as JSON.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
32955621f8
- removed all parental lock garbage from SW.
...
Better get rid of it as it's a major complication as implemented.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
bbb53bc717
- refactored the main User array into something that's automatically managed.
2021-04-22 00:03:14 +02:00
Christoph Oelckers
cd45a1f035
- made more parts of USER serialization friendly.
2021-04-22 00:03:14 +02:00
Christoph Oelckers
dcb393bc44
- started reorganizing SW's memory management.
...
Need to get rid of all those unmanaged allocations and present game data in an easily serializable form.
This adds a managed TPointer class that replicates the useful parts of std::unique_pointer but steers clear of its properties that often render it useless.
2021-04-22 00:03:14 +02:00
Christoph Oelckers
9e40e49c2c
- generalized the special key handling for skipping cutscenes.
2021-04-20 15:01:26 +02:00
Mitchell Richters
0c5729b0f6
- SW: Ensure all sprite angles are backed up in the ticker.
...
* Fixes #326 .
2021-04-20 21:33:42 +10:00
Mitchell Richters
1daa346fdd
- Exhumed: Make SB_CENTERVIEW
work properly when cl_syncinput 1
is set.
2021-04-19 20:24:11 +10:00
Mitchell Richters
4eaf05d95e
- Duke: Fix bad vehicle speed clamp change from e79c6bacd3
.
...
- Fixes #325 .
- 🤦
2021-04-19 19:33:13 +10:00
Mitchell Richters
3961fcc28a
- Exhumed: When returning to center after going up/down stairs etc (slope tilting), don't use the backend's aim/look up/down return to center code as it's slower.
2021-04-18 10:04:17 +10:00
Christoph Oelckers
eb912604d2
- RFS compatibility with GDX: The outermost path component can be left out.
2021-04-17 23:59:10 +02:00
Christoph Oelckers
d2c9b5979d
- gave key 7 a proper spawn record using the blue outline as image.
...
A proper definition here is needed to allow dropping this item.
The original code had a picnum of -1 here which caused crashes.
2021-04-17 12:05:37 +02:00
Christoph Oelckers
0cdb7a53ce
- more char removal - mostly weapon.cpp
2021-04-17 10:34:12 +02:00
Christoph Oelckers
9828b0228e
- made type of shade variables consistent.
...
Some were char, some signed char and the initializers needed type casts.
This wasn't serious but created a lot of casting noise.
2021-04-17 10:22:00 +02:00
Christoph Oelckers
ada28d8d04
- Blood: replaced 'unsigned char' with 'uint8_t' and 'signed char' with 'int8_t'.
...
Preparation for getting rid of all those excessively used plain chars which are a menace to code stability.
2021-04-17 10:14:03 +02:00
Christoph Oelckers
839547a9fc
- Blood: gave FXDATA meaningful member names
2021-04-17 10:12:40 +02:00
Christoph Oelckers
42b87362ee
- When keeping around a dummy sprite, make sure that the engine's utilities cannot find it anymore.
...
This was causing issues with the master switch sprites in Duke that have to be kept for sound purposes.
Unfortunately, both hitscan and neartag are far too dumb to analyze sprites they may hit in any way and needed some help skipping such sprites.
2021-04-17 09:37:38 +02:00
Christoph Oelckers
091a9b7fef
- fixed Exhumed laptop cutscene.
2021-04-17 00:01:28 +02:00
Christoph Oelckers
2b9a527aba
- added a 'Start' method to DScreenJob.
...
Since the menu pauses the ticker this is needed to perform initial setup before the first frame.
2021-04-16 23:29:53 +02:00
Christoph Oelckers
49e07a47c6
- now that everything is fixed, the map in Exhumed can be initiated from the console.
2021-04-16 22:40:21 +02:00
Christoph Oelckers
03d517c509
- removed debug assert.
2021-04-16 22:16:21 +02:00
Christoph Oelckers
1852c0b802
- properly pause the screen job player if the menu is open.
...
Still needs a bit of work for movies with embedded streaming sound.
2021-04-16 22:03:01 +02:00
Christoph Oelckers
2942e011bf
- cleaned up the screen job's fade handling, now that the jobs no longer depend on an external timer.
2021-04-16 21:27:54 +02:00
Christoph Oelckers
e580407d7d
- the remaining Exhumed screens.
...
These are not tested yet, a bit more work is needed to allow this.
2021-04-16 20:48:40 +02:00
Christoph Oelckers
a43259c40c
- Exhumed's map.
2021-04-16 20:10:46 +02:00
Christoph Oelckers
fed15a79e4
- Exhumed's intro screens.
2021-04-16 20:08:20 +02:00
Christoph Oelckers
4950b556c9
- handled SW's screens.
2021-04-16 18:43:59 +02:00
Christoph Oelckers
9dff494e6c
- handle all of RR's screens.
2021-04-16 17:38:05 +02:00
Christoph Oelckers
f4b089b776
- fixed bad sound checkin Duke's intermission.
2021-04-16 17:37:08 +02:00
Christoph Oelckers
7895d67b18
- ported the Duke intermission screen.
...
This also got its timing code thoroughly cleaned up.
2021-04-16 17:24:59 +02:00
Christoph Oelckers
a78af92959
- migrated the Duke end of episode animations.
2021-04-16 17:24:59 +02:00
Christoph Oelckers
2a2c85c082
- migrated Duke's intro images and the first episode's ending animation.
2021-04-16 17:24:59 +02:00
Christoph Oelckers
6ed1d5e678
- DBlackScreen and DImageScreen migrated to event-based handling.
2021-04-16 17:24:58 +02:00
Mitchell Richters
be4fbbf9ec
- Exhumed: Hide player panning code behind cl_slopetilting
.
...
* Fixes #303 . again.
2021-04-16 23:37:05 +10:00
Christoph Oelckers
9c5f3f3673
- Exhumed: Skip the map when changing levels from the console.
...
The current screen job implementation does not coexist well with UI elements.
More like a hotfix, the screen job framework needs to be redone for properly handling input.
2021-04-15 23:04:14 +02:00
Christoph Oelckers
96d78ab9e6
- made DukeActor::s a pointer.
...
As a reference we would never be able to export this to scripting
2021-04-15 19:21:43 +02:00
Christoph Oelckers
61a6321cd6
- Exhumed: Change map command to start the level directly without going through the scrolling map.
2021-04-15 18:55:54 +02:00
Mitchell Richters
e79c6bacd3
- Duke: Clamp RRRA vehicle input in processVehicleInput()
.
2021-04-15 18:59:07 +10:00
Mitchell Richters
aeb16e390c
- Duke: Add resurrected
flag to handle resurrection via cheating or when pissing in RR.
2021-04-15 18:00:58 +10:00
Mitchell Richters
7b57df3c8f
- Exhumed: Redo player panning code.
...
* Initial implementation from d32dcd5f8e
was not working properly and already had some workarounds for when the player was underwater, etc.
* Re-read implementation in GDX and rebased off of it.
* Fixes #303 .
2021-04-13 21:56:01 +10:00
Christoph Oelckers
eaebcfcd7d
- Exhumed: hotfix for moving on sloped floors
2021-04-13 00:31:50 +02:00