Commit graph

1198 commits

Author SHA1 Message Date
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