Christoph Oelckers
e5cb1976d3
- disable texture name truncation for textures/ directory.
...
Unlike Doom, a similar limit does not exist here and must not be enforced. Any texture from this folder needs to be usable by its full name without extension to be able to replace named tiles.
2021-07-05 22:39:24 +02:00
Christoph Oelckers
5d67987fe1
- don't attempt to decode animation frames at offsets beyond the end of the current page.
...
Copied from EDuke32.
2021-07-02 20:33:53 +02:00
Christoph Oelckers
f0d2aef9d9
- fixed hires replacements for colorized font characters.
2021-06-01 11:29:39 +02:00
Christoph Oelckers
454816299e
- reorganized loading of textures.
...
Due to dependencies on initializing some data in app_init it was not possible to cleanly set up the fonts.
This adds a game-side function for loading the entire palettes before starting with the texture data and another one for loading game-side texture data.
This now allows fully setting up the palettes before starting with the textures and to fully set up the textures before reading the .def files.
All this is needed because to properly initialize, the fonts need to be able to access the fully initialized texture state, including replacements and hires substitutions from the .def files.
2021-06-01 11:05:26 +02:00
Christoph Oelckers
25e57763af
- implemented substitution for incomplete fonts.
2021-05-31 21:20:32 +02:00
Christoph Oelckers
d174b61c3c
- allow switching between the two Duke BigFonts and fix Y in Duke's BigFont13.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
af781e0422
- moved all font setup out of the C++ code.
...
All internal fonts now get defined through FONTDEFS.
Also fixing a few offsets.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
42b70a7d93
- added internationalized fonts.
...
This still needs a bit of fixing and tweaking but most is working.
2021-05-31 21:20:30 +02:00
Christoph Oelckers
d7e1707b37
- removed the Doom specific font init code.
...
This has no use in Raze and only got in the way by enforcing unwanted defaults.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
8fae793341
- defined a new constant, CR_NATIVEPAL, to use the font functions with a predefined palette.
...
This is mainly for code clarification, the value is the same as CR_UNDEFINED.
2021-05-29 11:47:05 +02:00
Christoph Oelckers
22be26bd2d
- font system fixes.
2021-05-28 12:16:07 +02:00
Christoph Oelckers
d44500863b
- removed the multiplayer scoreboard screens.
...
Since there is no plan to keep them in case MP gets implemented there's no need to maintain them.
These should later be replaced by a generic screen using a better font and a layout that takes higher resolutions into account.
2021-05-27 13:33:54 +02:00
Christoph Oelckers
4ff4fa643b
- rewrote the default translation handling to be compatible with luminosity translations.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
8b1757eee2
- got rid of most of the font system's baggage that's no longer needed.
...
Mainly this means that it's no longer necessary to reorder the palette to get working translated glyphs, so the FFontChar1 class and the TranslatedPic member and its invasive handling could all be cleaned out.
All font operations now take place on true color data, with the sole execption of FSpecialFont's 'notranslate' handling.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
9769f346ec
- refactored the special fonts away from BuildTranslation so that this function and the entire large heap of ugly baggage it drags in can finally be deleted.
...
Function is gone, baggage will come next.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
372d425e01
- use luminosity translations for single lump fonts and let them use their original palette.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
377829d6a2
- let hex fonts use the luminosity translations.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
0bab333f36
- redid font translation so that it doesn't need to crush the font characters' color set to the base palette.
...
Right now it creates a special type of luminance translation that can operate on a true color bitmap.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
b2545f8042
- PlayMusic script function.
2021-05-23 16:21:04 +02:00
Christoph Oelckers
d98a567597
- halt the game timer when setting up a cutscene and when starting movie playback.
...
These are both lengthy operations that can take several 100s of milliseconds, so when starting a streaming video they can throw off the timing quite significantly.
With this the intermissiondelay counter could be removed as it was only there to flush the accumulated time before starting video playback.
2021-05-23 14:36:54 +02:00
Christoph Oelckers
0c6e2f0c9e
- silenced some warnings.
2021-05-22 15:34:04 +02:00
Christoph Oelckers
d7a47b2f3a
- route all accesses to gameaction from the backend through the sysCallbacks.
...
gameactions are frontend specific so this needs to be decoupled.
2021-05-22 13:02:34 +02:00
Christoph Oelckers
6ae09f8ec9
- ported Doom's type-on text screens as a screen job overlay.
2021-05-22 12:08:08 +02:00
Christoph Oelckers
5337513044
- ported GZDoom's subtitle drawer to the cutscene framework.
...
For later use, this isn't used yet.
2021-05-22 10:26:53 +02:00
Christoph Oelckers
0d793a59fd
- moved the cutscene core to 'engine'.
...
More adjustments for making this code compatible with GZDoom.
2021-05-22 02:15:49 +02:00
Christoph Oelckers
e10bcf6294
- split the screen job code into a generic and a Raze specific part.
...
Preparations for porting this to GZDoom.
2021-05-22 01:35:50 +02:00
Christoph Oelckers
1dff0502b0
- moved libvpx and libsmackerdec to more fitting places, plus some project cleanup.
2021-05-22 01:06:51 +02:00
Christoph Oelckers
16c6e2db05
- silence float truncation warnings for explicit casts.
2021-05-21 21:06:48 +02:00
Christoph Oelckers
4739c71b39
- PNG 16 bit support from GZDoom.
2021-05-21 21:06:11 +02:00
Christoph Oelckers
264d42179e
- optimized the wall drawer a bit to avoid repeated calls to the render API's deoth bias function.
...
The setters in FRenderState should check if the value actually changes and the wall drawer should only call it for non-translucent wall sprites.
2021-05-21 19:07:22 +02:00
Christoph Oelckers
eae97ded1b
- backend update from GZDoom.
2021-05-17 20:33:40 +02:00
Christoph Oelckers
60fe1d32fb
- Blood: unpositioned sounds must be limited to one per channel.
2021-05-16 11:51:51 +02:00
Christoph Oelckers
781cb32dcf
- fixed all issues with Duke's/RR's status bar.
2021-05-15 16:46:08 +02:00
Christoph Oelckers
f84f58e714
- ported Duke and RR status bars.
...
Compiles but not tested yet.
2021-05-15 14:27:32 +02:00
Christoph Oelckers
d311792e06
- engine side preparations for Duke Statusbar scriptification.
...
Mainly, gotweapon had to be reverted to a flat bool array to avoid implementing FixedBitArray for the VM.
Also adding a few new tile names and PushV for string arrays.
2021-05-15 10:44:35 +02:00
Christoph Oelckers
bdfe40af7c
- properly terminate base64 data.
2021-05-13 22:28:36 +02:00
Christoph Oelckers
e5dd4a8638
- made the scripted version of Blood's status bar functional.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
778378fd5c
- scriptified version of Blood's status bar compiles.
...
Not tested yet.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
783b94f922
- more warning fixes in 'core'.
2021-05-12 21:48:14 +02:00
Christoph Oelckers
499ed52972
- route savegame requests through the newwork, just like GZDoom does.
...
Although a bit overkill for single player saves only, this will ensure consistent behavior between both engines regarding the menu.
2021-05-12 00:21:26 +02:00
Cacodemon345
36b910a253
Fix compilation on OpenBSD
2021-05-10 08:25:14 +02:00
Christoph Oelckers
2f9e32f748
Merge branch 'newrenderer'
2021-05-06 17:04:35 +02:00
Rachael Alexanderson
7b45144023
- these changes were missing from the last Vulkan update
2021-05-06 04:27:58 -04:00
Christoph Oelckers
56fcf904b5
- Backend update from GZDoom.
2021-05-03 14:48:55 +02:00
Christoph Oelckers
8003ab6fa3
Merge branch 'scriptable_cutscenes' into newrenderer
2021-05-02 22:37:46 +02:00
Christoph Oelckers
4c2266ee88
- fixed incomplete SW ending cutscene.
2021-05-01 20:31:51 +02:00
Christoph Oelckers
4069a5096a
- scriptified Exhumed's 2D content (minus the programmatic textures.)
2021-04-30 20:08:36 +02:00
Christoph Oelckers
3c27ec8cbd
- tested all of Duke's and RR's cutscenes.
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