Christoph Oelckers
a303da37a9
- added a mapinfo dumper and used it to verify correctness of the data generated from game-native definitions.
...
Also simplified the levelnumber setup a bit.
2021-05-03 23:00:24 +02:00
Christoph Oelckers
a1381c0ff2
- fixed Blood cutscene setup to avoid dependency on the sound code initialization.
...
It now only stores the sound name or ID but not the internal index which is only looked up when needed.
2021-05-02 18:10:59 +02:00
Christoph Oelckers
dfd47ea33a
- migrated SW to RMAPINFO as well.
...
Also removed the 'definecutscene' code from the .def parser as this was never meant to be more than a temporary solution.
2021-05-02 17:35:25 +02:00
Christoph Oelckers
4b064b9f34
- migrated Exhumed's level setup to RMAPINFO.
...
This game never had a proper setup so this also fixes the crashes with visiting the multiplayer maps.
2021-05-02 15:54:19 +02:00
Christoph Oelckers
bb9d492db6
- migrated RRRA as well.
2021-05-02 14:01:10 +02:00
Christoph Oelckers
6f4e380728
- migrated RR's cutscene definitions.
...
Also turned several level-specific init options into map flags or map parameters.
2021-05-02 13:12:24 +02:00
Christoph Oelckers
4458f8c929
- migrated the global cutscenes to RMAPINFO as well.
2021-05-02 12:22:40 +02:00
Christoph Oelckers
dbd179be5c
- RR progression fixes.
...
* E1L7 abuses an 'end the game' command to progress to E2L1, this needs special treatment.
* handle ENDGAME.MAP more cleanly by injecting an 'engine.con' into the compilation chain to define its map record. The main issue with this is that it needs to be defined before the regular CONs run.
* check the already defined 'clearinventory' and 'clearweapons' flags that are exposed through RMAPINFO (Duke/RR only so far.)
2021-05-02 10:55:22 +02:00
Christoph Oelckers
1798380f23
- adapted map transition in Duke/RR.
...
There's still some issues which will be taken care of by adding map flags.
2021-05-02 10:35:43 +02:00
Christoph Oelckers
e9385ed4e8
- adapted Blood to the new level progression features and simplified several parts, particularly the clumsy retrieval of the next level.
...
Some cheats in Duke will not work correctly with this commit!
2021-05-02 09:08:57 +02:00
Christoph Oelckers
93bfc35ad6
- use the volumes to find the starting maps for the menu and the clusters for the cutscenes.
2021-05-02 01:01:30 +02:00
Christoph Oelckers
825963661b
- migrated volumes to the new storage.
2021-05-02 00:35:56 +02:00
Christoph Oelckers
f732d4ec64
- added MAPINFO parser, based on GZDoom's.
...
This isn't hooked up yet, but all necessary structures and fields have been added so that selected pieces can be tested.
2021-05-01 22:52:28 +02:00
Christoph Oelckers
869dbd70e5
- fixed the design by merging the episode start handler into ShowIntermission.
...
Tying the start-of-episode cutscene to the cluster does not really work because it gets triggered by all maps of the cluster.
All currently existing intro cutscenes are tied to the map anyway.
Also correcting transition movie name for RRRA E2L1.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
cdccdec3e7
- final cleanup on new cutscene interfacw
...
* fixed frame gaps when exiting a cutscene. This must be properly synchronized with the state handler in the main loop.
* reactivated the loading screens. With texture precaching working the delay when loading a map becomes significant enough to require a visual feedback.
* RR does not play 'bonusmusic' on its summary screen.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
6d743ce921
- most of the summary screen is working
2021-04-30 20:08:33 +02:00
Christoph Oelckers
0dc6980e5c
- made episode intro cutscenes a game independent feature.
...
So far only defined for Duke E4 but all the logic is outside the game code now and can be universally handled.
2021-04-30 20:08:33 +02:00
Christoph Oelckers
af8d06994a
- implemented the scripting interface layer.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
021f1b7832
- make SummaryInfo a struct instead of passing a list of values to the script classes.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
e05f900315
- added the data structures to hold the cutscene data.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
38ddbfe65f
- activated most of the support code for programmatically created menus again.
...
Blood's regular menu screens mostly work again
2020-10-07 01:31:41 +02:00
Christoph Oelckers
82612a1330
- it compiles again (with lots of code commented out.)
2020-10-04 20:11:02 +02:00
Christoph Oelckers
e5e8c02f1d
- WIP level transition refactored to a game independent event system.
2020-09-04 19:43:35 +02:00
Christoph Oelckers
b417ad2f6d
- 0 is a valid level number.
...
Fixes #206 .
2020-08-18 20:12:04 +02:00
Christoph Oelckers
724c811de3
- Moved message storage to the map records.
2020-08-03 20:16:32 +02:00
Christoph Oelckers
35a5c4e23c
- undid hardcoded coupling of Mapinfo slots with episode/level pairs in Blood.
...
This both lifts the imposed limit of 16 levels and will allow dynamic management of global mapinfo data.
2020-08-03 20:11:30 +02:00
Christoph Oelckers
a9f152c1fe
- added JFDuke's label type checker and did some cleanup on the CON init code.
...
Most importantly: Use dynamic buffers for managing the labels instead of hijacking some other storage space.
2020-07-15 12:34:42 +02:00
Christoph Oelckers
01fce31f43
- everything compiles again.
...
Still needs testing.
2020-07-07 20:27:21 +02:00
Christoph Oelckers
6b86d7606f
- safety commit - does not compile!
2020-07-07 13:19:09 +02:00
Christoph Oelckers
bb303c6469
- cleaned up the rest of the summary screen code, particularly the totally redundant second variant for RRRA.
2020-07-01 20:31:29 +02:00
Christoph Oelckers
e146e73345
- consolidated the 'music' parsing in Defs (pending a refactor of the MAPINFO system.)
...
- removed the remaining parts of the game Defs parser because we do not want anything EDuke in here.
2020-06-24 00:40:22 +02:00
Christoph Oelckers
e2f5e8fe34
- renamed 'common' to 'core'.
...
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00