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
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
Rachael Alexanderson
fd97da05b7
- allow UNC search paths on Windows
2021-05-26 10:47:36 -04: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
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
0b181c67b9
- don't skip lines when an empty one gets deleted.
2021-05-23 17:22:29 +02:00
Christoph Oelckers
f212421547
- don't let the triangulator choke on empty sectors.
2021-05-23 17:19:01 +02:00
Christoph Oelckers
8aed9063f8
- sector splitting hack for SW $bath.map.
2021-05-23 17:06:47 +02:00
Christoph Oelckers
572f45ca53
- delete lines in proper order when eliminating a pair.
...
Deleting the lower one first will delete the wrong second one.
2021-05-23 16:36:06 +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
cc1def8d77
- fixed: When the node builder is used for triangulation, all zero-length lines must be eliminated first.
...
These can cause triangulation errors.
2021-05-23 09:16:30 +02:00
Brian Koropoff
bea0379830
Fix off-by-one error in group search
...
This could be hit when loading raze.pk3 from the build directory while
the file search path contains only one grp file
2021-05-23 08:51:32 +02:00
Brian Koropoff
9394ebe768
Resolve raze.pk3 via search paths
...
Linux installs typically don't have it next to the program binary
2021-05-23 08:51:32 +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
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
f69fe334fc
- removed duplicate variable.
2021-05-22 09:22:30 +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
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
4bb57cfab5
- fixed flickering floor sprites.
...
The SetDepthBias call was somehow gotten lost.
2021-05-21 19:03:39 +02:00
Christoph Oelckers
234f303348
- fixed typo in line segment culler.
2021-05-21 18:40:34 +02:00
Christoph Oelckers
f7a424cd06
- fixed precision issues with GetClosestPointOnWall for orthogonal lines.
...
The math failed for some large wall sprites (e.g. Blood E2M4, sprite #181 ), and in orthogonal cases it is better anyway to perform direct checks of the coordinates
2021-05-21 18:25:30 +02:00
Christoph Oelckers
b0cc5c14e2
- fixed bad argument count in ScreenJobRunner.Validate call.
2021-05-21 17:32:36 +02:00
Christoph Oelckers
24dbfc7827
- fixed BunchInFront to do a more thorough comparison in case it encounters colinear walls.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
716b8840af
- when using the node builder to triangulate sectors we must delete overlapping walls.
...
The node builder can create bad geometry from them because it does bad ordering when two lines facing in opposite directions overlap.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
079a95a0a3
- use a higher depth bias for non-orthogonal wall sprites.
...
Due to minor angular inaccuracies they are more sensitive to z-ordering than orthogonal ones when things are closely stacked.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
d572e56839
- removed the indirection for the global arrays.
...
No idea what part of EDuke32 needed this, but it is not necessary.
2021-05-21 14:32:01 +02:00
Cacodemon345
75ecd173b6
Destroy FStartupScreen before initializing video
...
Fixes terminal output cutoff on console tab completion on Unix systems.
2021-05-20 19:32:48 +02:00
Christoph Oelckers
be97ee04f9
- re-enable flat sprite rendering.
...
This was commented out for testing but forgotten afterward.
2021-05-20 19:21:14 +02:00
Christoph Oelckers
5cfd810311
- new renderer: take fog properties for walls and ceilings from the proper elements.
2021-05-20 19:17:21 +02:00
Christoph Oelckers
b5358bc03c
- fixed typo in wall sprite offsetting code.
2021-05-20 18:25:19 +02:00
Christoph Oelckers
d4eb54d686
- render free standing wall sprites without depth bias.
...
Otherwise they can end up badly ordered with walls.
2021-05-20 12:36:35 +02:00
Christoph Oelckers
e99567cd70
- fixed bad array of arrays access in sector splitting code.
2021-05-20 00:30:54 +02:00
Christoph Oelckers
5fd41ab910
- new renderer: draw the fog layer for skies.
...
Code was active but alpha wasn't set.
2021-05-18 00:42:45 +02:00
Christoph Oelckers
24ce5d6130
- Exhumed: fix animation stopping for inventory torch item.
...
I have no idea how the old code could ever work...
2021-05-16 20:25:56 +02:00
Christoph Oelckers
5e94eaff8e
- new renderer: handle light level underflows.
2021-05-16 18:50:54 +02:00
Christoph Oelckers
a348508779
- handle the wall sprite clipping properly.
2021-05-16 16:00:00 +02:00
Christoph Oelckers
5e57b738d5
- removed redundant menu initializsation in M_StartControlPanel.
...
This was a leftover of early development and is no longer needed.
2021-05-16 12:21:08 +02:00
Christoph Oelckers
5bb438b817
- new renderer: fixed bad positioning when a y-flipped wall sprite had to be clipped to floor or ceiling.
2021-05-16 12:17:26 +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
98ca5d5db4
- added 'load' and 'save' CCMDs.
2021-05-16 11:24:08 +02:00
Christoph Oelckers
7358f4344f
- pause the game when app is not active.
2021-05-16 10:53:38 +02:00
Christoph Oelckers
f2d75d4146
- made status bar configurable through rmapinfo.
2021-05-16 10:43:47 +02:00
Christoph Oelckers
ee559b7ba9
- removed all leftover parts of the native status bars.
2021-05-16 10:35:33 +02:00
Christoph Oelckers
8d8b3cda46
- scriptified SW's status bar.
...
Not tested yet. This just compiles without errors.
2021-05-16 09:34:08 +02:00
Christoph Oelckers
f136330628
- removed the native versions of Duke's and RR's status bar.
2021-05-15 17:15:29 +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
845ce63348
- make sure that all objects rendered as shadow reset the object color after the draw call.
2021-05-15 10:40:25 +02:00
Christoph Oelckers
b520d38bc0
- removed the native implementation od Exhumed's status bar.
2021-05-15 10:25:39 +02:00
Christoph Oelckers
b71c725e3e
- ported Exhumed's status bar.
...
Not tested yet.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
5a6121d424
- status bar interface work.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
c9361aff76
- Exhumed: moved nPlayerItem into PlayerList
2021-05-15 10:25:37 +02:00
Christoph Oelckers
55abb261c6
- this was in the wrong place. :(
2021-05-15 10:25:37 +02:00
Christoph Oelckers
db8572dbcc
- newrenderer: clip wall angles before doing any math with them.
...
In some cases these unclipped ranges ended up in other data structures, causing problems with bunch ordering.
2021-05-14 12:56:37 +02:00
Christoph Oelckers
3d6ae40bc0
- normalize all angles to the actual viewing range in the drawer.
...
This simplifies the debugging of this code a lot because we no longer have to deal with range overflows and can do direct comparisons everywhere.
2021-05-14 10:50:22 +02:00
Christoph Oelckers
d14d539144
- fixed issues with MAPINFO parser.
...
These cause problems with map progression, particularly with Exhumed.
2021-05-13 22:49:19 +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
acb4830eb5
- ported the BaseStatusBar class to ZScript.
...
Not hooked up yet, but it compiles.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
cb2bc7967a
- fixed the remaining warnings.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
d097c8e635
- removed the non-functional and long abandoned level music alias feature.
...
With RMAPINFO such a hack is no longer needed for anything.
2021-05-12 21:48:40 +02:00
Christoph Oelckers
783b94f922
- more warning fixes in 'core'.
2021-05-12 21:48:14 +02:00
Christoph Oelckers
1168341d5a
- fixed more warnings in 'core'.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
7283de0084
- fixed some very noisy warnings in two headers.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
03289f5097
- silenced some warnings.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
fd6dd7f467
- Skip the load screen if the level is started from the console.
...
In this case the load screen is not helpful as it blocks the actual level start, requiring closing and reopening the console first before entering any commands that need the level.
2021-05-12 00:36:04 +02:00
Christoph Oelckers
9dd9dc8efd
- handle savegame loads like GZDoom.
...
They are synchronized with the game loop and should not be initiated directly from the menu.
2021-05-12 00:31:49 +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
Christoph Oelckers
5d5af0cb09
- fixed error message spam when trying to load a non-existent voxel using .def.
2021-05-11 00:48:35 +02:00
Christoph Oelckers
d90b23ba9a
- take down the savegame loader's resources in proper order.
2021-05-10 20:14:38 +02:00
Christoph Oelckers
e74aca291c
- position tweaking for Nam's skies.
...
Why is this such an utter mess to get skies placed correctly? :(
2021-05-10 20:13:28 +02:00
Christoph Oelckers
d466ec081a
- fixed incorrect order of resource deallocation in savegame reader.
2021-05-08 09:22:08 +02:00
Christoph Oelckers
325af156e7
- fixed loop in ProcessBunch to account for array reallocation.
2021-05-08 09:16:06 +02:00
Christoph Oelckers
79823b430c
- reinstate the old code for rendering the first portal without stencil
...
The previous commit fixes the true issue causing the problems - with this back the restriction is not needed anymore.
2021-05-07 00:26:22 +02:00
Christoph Oelckers
b644000b02
- fixed texture y-flipping on bottom tiers of walls.
...
The flip flag was taken from the wrong side of the wall.
2021-05-07 00:18:13 +02:00
Christoph Oelckers
29b0106a96
- fixed yet another problem with the local 'sprite' variables in HWWall causing problems.
...
This variable and its companions in HWFlat and HWSprite have now been renamed to avoid these issues.
2021-05-07 00:09:30 +02:00
Christoph Oelckers
3fce8ab693
- added support for the 3 missing Duke Vacation SSIs.
2021-05-06 17:14:18 +02:00
Christoph Oelckers
2f9e32f748
Merge branch 'newrenderer'
2021-05-06 17:04:35 +02:00
Christoph Oelckers
72e4220929
- added an option to dump the list of discovered games to a JSON file.
2021-05-06 12:03:33 +02:00
Christoph Oelckers
c679f83f75
- make all games return to the main menu when the game is ended with F10.
...
Duke still went to the intro movies which was a bit problematic.
2021-05-04 11:32:09 +02:00
Christoph Oelckers
a7adef360b
- fixed compilation with Clang.
2021-05-04 00:11:43 +02:00
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
7d77b2315f
- merged the few remaining contents of mmulti.h into d_net.h
2021-05-03 19:01:00 +02:00
Christoph Oelckers
6589222da6
Merge branch 'scriptable_cutscenes' into newrenderer
2021-05-03 18:50:41 +02:00
Christoph Oelckers
d206a767b2
- added render workaround for CP07.
2021-05-03 17:48:35 +02:00
Christoph Oelckers
d8b808576f
- restrict the sky portal shortcut to skies in scenes where there are no other portals.
...
This entire setup does not work with sector portals, causing various render glitches in Shadow Warrior's portals. This also applies to skies within portals so it is now restricted to single sky setups.
2021-05-03 14:52:23 +02:00
Christoph Oelckers
56fcf904b5
- Backend update from GZDoom.
2021-05-03 14:48:55 +02:00
Christoph Oelckers
389340f97c
- use sections for rendering.
2021-05-03 00:15:09 +02:00
Christoph Oelckers
30b1b046e4
- added an intermediate data structure to decouple the rendering from the immediate map data.
...
This will be needed for sectors consisting of disjoint parts and for providing some help with addressing rendering anomalies
2021-05-03 00:04:36 +02:00
Christoph Oelckers
f40e52ab34
- fixed issues with validation of command line specified main game GRP file name.
2021-05-02 22:56:53 +02:00
Christoph Oelckers
8003ab6fa3
Merge branch 'scriptable_cutscenes' into newrenderer
2021-05-02 22:37:46 +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
575a38d835
- added RMAPINFO handler for Blood's message array.
2021-05-02 18:00:11 +02:00
Christoph Oelckers
c1b4fdff83
- added a "clearall" instruction to RMAPINFO.
...
Since, unlike GZDoom, this format is additive and uses defaults for map progression it would otherwise a bit tricky to compile new episodes without accidentally pulling in some original special features.
2021-05-02 17:42:19 +02:00