Commit graph

820 commits

Author SHA1 Message Date
Christoph Oelckers
27ca71a6ec - allow specifying a .def file in GAMEINFO.
This will be loaded on top of the regular .def files and not replace them.
2021-04-17 23:52:45 +02:00
Christoph Oelckers
cd58b1d055 - made the tile size getters a bit more robust.
They should not crash on invalid sprites.
2021-04-17 12:40:23 +02:00
Christoph Oelckers
962e313eb2 - fixed screen job fadeout. 2021-04-17 00:16:18 +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
584e4bfb4a - explicitly check for opening the console when running a screen job. 2021-04-16 22:39:48 +02:00
Christoph Oelckers
3910146740 - skip the fade-in of the screen job if it starts while the game is paused.
While this works with the current code it simply does not look good.
2021-04-16 22:21:57 +02:00
Christoph Oelckers
f28aa8f06c - properly pause streaming soundtracks of movies as well.
This is not relevant for any of the stock movies as they use separate sound files, we need to be aware of mods using the streaming sound capabilities of MVE and SMK.
2021-04-16 22:14:11 +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
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
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
Christoph Oelckers
aad6158288 - cleanup of movie player code, migration to event interface. 2021-04-16 17:24:58 +02:00
Christoph Oelckers
dbd3e1de44 - Screen Job refactoring WIP.
Framework to let them handle proper input events.
Not used yet.
2021-04-16 17:24:58 +02:00
Christoph Oelckers
6cb84dc554 - split out the movie player into its own file. 2021-04-15 23:55:29 +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
Christoph Oelckers
bc007d75de - make map art work. 2021-04-14 14:16:09 +02:00
Christoph Oelckers
b5dbc3cf29 - allow specifying startup .con files via GAMEINFO. 2021-04-13 18:08:55 +02:00
Christoph Oelckers
4fe3c50c7c - used the newly added game ID as reference for GAMEINFO to autoselect which game to start a mod with.
While in GZDoom this uses the IWAD name, the same approach is a lot more problematic here because of name duplications with far more incompatible content.
So this allows targeting a group of base games instead of one specific version.
2021-04-13 18:08:55 +02:00
Christoph Oelckers
6ad3ac8ef9 - added GameID field to GrpInfo.
This is for allowing new features easier referencing of the various records.
2021-04-13 18:08:55 +02:00
Christoph Oelckers
230312e7f3 - re-fixed Blood skill selection. 2021-04-13 18:08:55 +02:00
Christoph Oelckers
88fb2185fa - Blood: default skill is 2, not 3. 2021-04-13 00:31:49 +02:00
Christoph Oelckers
92cdec077d - fixed some bogus range checks in automap code. 2021-04-12 20:54:12 +02:00
Christoph Oelckers
aed7e8166e - fixed setup of startup title. 2021-04-12 19:39:42 +02:00
Christoph Oelckers
a15ac43722 - enable embedding of blood.rff and sounds.rff in mod archives when playing Blood
Some mods provide pregenerated resources, this allows loading them without picking them apart first.
2021-04-12 00:31:36 +02:00
Christoph Oelckers
f87e40131f - Blood: add a dummy sound entry at index 0.
Parts of the sound system treat entry 0 as "no sound" so nothing placed there would play.
This made the one custom sound in "The Way of Ira" not play because as the last sound being defined it ended up in the first, invalid slot.
2021-04-12 00:31:36 +02:00
Christoph Oelckers
135dd1f081 - added PlaySound CCNDs. 2021-04-12 00:31:23 +02:00
Christoph Oelckers
0ee28fb45e - also handle SW's voxels. 2021-04-11 13:38:23 +02:00
Christoph Oelckers
e5e23cd63c - make sure voxels are being precached.
In Blood's case it also needs to check the game-side array to find everything.
2021-04-11 13:19:48 +02:00
Christoph Oelckers
e4cf768fa8 - call StartPrecaching to keep Vulkan happy. 2021-04-11 10:50:04 +02:00
Christoph Oelckers
9fd3ab6b5e - fixed texture precaching.
After the migration to GZDoom's full backend this never created any textureds when precaching things.
2021-04-11 09:59:55 +02:00
Christoph Oelckers
b3bcedda6c - moved backend independent HUD code out of glbackend.cpp. 2021-04-11 08:40:18 +02:00
Christoph Oelckers
184d9be6b1 - fixed palette setup for duplicate base palettes.
Due to some old code it could happen that these weren't fully set up and missed their translations.
Fixes #301 - Blood's invulnerability palette is identical to the base.
2021-04-10 21:42:53 +02:00
Christoph Oelckers
addfe4e904 - activate the progress bar on the startup screen. 2021-04-10 19:28:46 +02:00
Christoph Oelckers
db5fbe3bbb - make the startup banner in the initial console window work. 2021-04-10 19:14:30 +02:00
Christoph Oelckers
ff0a3df302 - fixed extended music lookup again.
# Conflicts:
#	source/core/parsefuncs.h
2021-04-09 21:28:23 +02:00
Christoph Oelckers
fb02b38279 - better .def loading logic.
To allow cumulative loading without interfering with other ports, Raze will now look for files called xxxx-raze.def, where xxxx is the default .def name (e.g. duke3d-raze.def for Duke3D.) and if that is found, cumulatively load all same-named files - it will fall back on the default name if no such thing is found.
-def still overrides both and will not cumulatively load.
2021-04-09 14:30:01 +02:00
Christoph Oelckers
778a75c097 - fixed rffdefineid handler passing a bad file name to the backend. 2021-04-08 21:36:52 +02:00
Christoph Oelckers
51c4c47183 - block manual advancing of intermission screens when already fading out.
This seems to cause some serious stability issues with how they handle the 2D drawer.
2021-04-08 18:01:42 +02:00
Christoph Oelckers
793d2d99ef - re-fixed the music lookup. 2021-04-08 17:46:53 +02:00
Christoph Oelckers
fc1fbfe8b3 - fixed .def 'music' parsing.
This was incomplete and just ignored Duke's special music, and the levelnum generation used an outdated formula so that it never managed to assign any music to the maps.
2021-04-08 16:35:26 +02:00
Christoph Oelckers
e2f570a70a - fixed: extended sound lookup must check the sound/ folder. 2021-04-08 16:05:32 +02:00
Christoph Oelckers
1439897b65 - fixed extended music lookup.
The logic was inverted for extended lookup which always resulted in failure to find the song.
2021-04-08 15:55:37 +02:00
Christoph Oelckers
58fb938aa7 - block opening of the menu in the fade out phase of a screenjob and in Exhumed's map/intermission screens.
At these places there's some inteference that can bring the engine into an unstable state.
This is not a real fix, just a quick workaround. The actual problem requires closer examination why these are the only places where this happens.
2021-04-07 19:39:48 +02:00
Christoph Oelckers
424c0ce3f4 - testing some script parser improvements. 2021-04-06 15:07:12 +02:00
Christoph Oelckers
fc314b6616 - allow loading Zips where all content is in a subdirectory.
The same logic as in GZDoom applies: The root must not have any other content and the subdirectory must contain identifiable game content.
Some handling was also added to strip out macOS resource fork folders because they can contain data that can confuse file detection.
2021-04-06 01:06:03 +02:00
Mitchell Richters
5984fda8a1 - PlayerAngle: Repair issues with addadjustment() method following changes in 4ffe004483 that were affecting negative input. 2021-04-06 06:01:54 +10:00
Christoph Oelckers
869433ee2e - fixed invalidation of programmatic textures.
This is only relevant for Vulkan because it stores the descriptor sets with the material, not the hardware texture.
2021-04-05 19:18:57 +02:00