Christoph Oelckers
3906d5cfb0
- fixed: the fullscreen color blends did not set their command's screenFade member.
...
Since this remained 0, those blends lost their color.
2021-04-17 23:43:16 +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
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
962e313eb2
- fixed screen job fadeout.
2021-04-17 00:16:18 +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
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
03d517c509
- removed debug assert.
2021-04-16 22:16:21 +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
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
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
Mitchell Richters
be4fbbf9ec
- Exhumed: Hide player panning code behind cl_slopetilting
.
...
* Fixes #303 . again.
2021-04-16 23:37:05 +10:00
Christoph Oelckers
6cb84dc554
- split out the movie player into its own file.
2021-04-15 23:55:29 +02: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
Christoph Oelckers
f6c4c19b02
- added a filter to the directory loader to remove EDuke32's texture cache files.
...
These cause problems with the texture manager.
2021-04-14 22:12:15 +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
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
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
1e40e93da4
- fixed the vertical offsets of the World Tour skies.
...
They were rendered too low.
2021-04-12 19:47:16 +02:00
Christoph Oelckers
aed7e8166e
- fixed setup of startup title.
2021-04-12 19:39:42 +02:00
Christoph Oelckers
efe76a6647
- Blood: fixed crash with badly defined drop objects.
...
Got -1 for picnum there, this was causing crashes.
2021-04-12 16:32: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
d25838fe15
- Blood: fixed issue with INI detection when having content added by RFS files.
2021-04-12 00:31:36 +02:00
Christoph Oelckers
135dd1f081
- added PlaySound CCNDs.
2021-04-12 00:31:23 +02:00
Christoph Oelckers
9b977ba96e
- fixed mixup of values 0 and -1 in sound code.
...
0 means 'default', -1 means 'silent'. This caused playback issues for useSoundGen. All other places were passing proper volume values along, this is the only one to read the volume from map data.
2021-04-11 22:42:24 +02:00
Christoph Oelckers
6142f9d795
- added CHANF_FORCE flag for forcing non-looped sounds to start, even when sound is paused.
...
Blood needs this for its PlayerSound controller, which is run right on map load - so without this it wouldn't start the sound when a map is initiated from the console.
2021-04-11 21:14:09 +02:00
Christoph Oelckers
fd6a71cac5
- fixed a random crash with an empty sprite I just experienced.
2021-04-11 21:14:09 +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
32250f704f
- mograted Blood's precaching to the backend's implementation.
2021-04-11 12:42:59 +02:00
Christoph Oelckers
6342926871
- disabled the QAV preload calls in Blood.
...
Aside from not having been functional, this is ultimately more harmful than useful as it forces loading of a large number of textures at the same time during gameplay instead of spreading them out.
2021-04-11 12:10:52 +02:00
Christoph Oelckers
d663d84596
- changed precaching setup for Exhumed.
...
This looks overly simplistic - I doubt it's enough to catch everything.
2021-04-11 10:54:10 +02:00
Christoph Oelckers
e4cf768fa8
- call StartPrecaching to keep Vulkan happy.
2021-04-11 10:50:04 +02:00
Christoph Oelckers
387c62d584
- rewrote SW's precaching code.
...
* made it palette aware
* use backend facilities to track precached data.
* fixes bug in animation precaching loops - they only precached the base index over and over again.
2021-04-11 10:20:52 +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
0bdbf0f1cb
- fixed: alpha was never set for voxels.
...
Fixes #304
2021-04-11 08:26:36 +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
02dedaad46
- Blood: undid restriction for original QAV for Guns Akimbo shotgun fix.
2021-04-09 22:48:39 +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
2820c50f3e
- Blood: let the RFS parser handle forward slashes when cutting out the base directory of a given file name.
2021-04-09 18:25:32 +02:00
alexey.lysiuk
57c7a85d9f
- fixed compilation with Clang
...
source/build/src/defs.cpp:3198:56: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2021-04-09 15:55:30 +03: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
f20acca498
- always default the resource ID to -1, even for dummy entries.
...
Better be safe than sorry, this should never happen in Blood but we never know what people may load...
2021-04-08 22:03:25 +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
a53ed46bae
- fixed item placement on SW minihud.
...
Fixes #295
2021-04-08 17:43:56 +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
e0ee3a6701
- fixed: Vulkan did not define NPOT_EMULATION for its fragment shader.
2021-04-08 09:29:08 +02:00
Christoph Oelckers
a80c5db02b
- forgot to save the Exhumed part of the last commit
2021-04-07 21:37:01 +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
68b7628f56
- RRRA: Sector effector type 156 is not supposed to scroll the floor texture.
2021-04-07 18:12:25 +02:00
Christoph Oelckers
4a6a999f89
- SW: fixed interpolation for sector object sprites.
...
When checking for an existing interpolation it needs to check the actual sprite, not just the interpolation type.
2021-04-07 15:08:26 +02:00
Christoph Oelckers
424c0ce3f4
- testing some script parser improvements.
2021-04-06 15:07:12 +02:00
Christoph Oelckers
cbe25d9d6b
- Blood: disable look left and look right in the classic key configuration.
2021-04-06 12:06:03 +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
Christoph Oelckers
bfcedc2177
- autodetect .inis when loading Blood mods.
...
This works as long as the loaded mods have one single .ini file in them - in that case it is assumed that it is supposed to replace blood.ini, which will allow dragging & dropping such archives without further user intervention.
2021-04-06 00:57:31 +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
8ea13f7c65
- implemented support for paletted textures to Vulkan backend.
2021-04-05 21:24:29 +02: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
Christoph Oelckers
c0f1949fb9
- fixed some swapped parameters in status bar code.
2021-04-05 19:07:59 +02:00
Christoph Oelckers
0017b5d9c5
- pad out the StreamData buffer to 16 bytes and avoid any form of conditional compilation here.
...
Vulkan does not manage to get the shader properly compiled without this.
2021-04-05 18:00:02 +02:00
Christoph Oelckers
f2dd4ceaab
- always ensure that the global index buffer is not empty.
...
This needs to be valid for Vulkan, even if it isn't used.
2021-04-05 18:00:02 +02:00
Christoph Oelckers
96fb96617f
- backend update from GZDoom.
2021-04-05 17:59:54 +02:00
Christoph Oelckers
008391a2ad
- license correction for ct_chat.cpp
...
This was supposed to get the same treatment as d_net.cpp, i.e get the old license restored and be released under a duplicate GPL/Doom Source license but it was somehow missed when it got added. Also removed all leftover Doom specific parts.
2021-04-05 08:59:06 +02:00