Commit graph

17036 commits

Author SHA1 Message Date
Christoph Oelckers
694f44774f - Duke: added missing z-offset in hits.
Among other things, this made throwing pipebombs on slopes misbehave.
2022-01-09 14:43:59 +01:00
Christoph Oelckers
a50430bf68 - Duke: fixed SE02's handling of sloping sectors. 2022-01-09 13:38:10 +01:00
Christoph Oelckers
a0e6ee0e2e - added a bit more logic to handle overlapping walls.
All this is needed to make the back door to the cinema in Duke E1L1 render properly without making the clipper break on complex overlapping sector setups, like some of the ducts in Duke E2L7.
2022-01-09 12:05:36 +01:00
Christoph Oelckers
36bb3e621f - fix typo. 2022-01-09 11:53:32 +01:00
Christoph Oelckers
fcba341546 - use proper aspect ratio to calculate the frustum's angle. 2022-01-08 23:43:08 +01:00
Christoph Oelckers
7c4319d099 - Nam: don't draw the icon for weapon 7 on the HUD.
This is just a blue square. In RedNukem it isn't shown, but there's no special code for it.
2022-01-08 21:58:15 +01:00
Christoph Oelckers
3c2c53c7e1 - fixed NAM's sniper rifle.
This was using one of WW2GI's apl* variables, but shouldn't.
2022-01-08 21:42:44 +01:00
Christoph Oelckers
415dc5246d - fixed sprting of non-translucent sprites. 2022-01-08 21:18:18 +01:00
Christoph Oelckers
fe0581ed97 - disable palette emulation when rendering weapons.
The 2D code cannot handle transparency well with it.
2022-01-08 14:16:18 +01:00
Christoph Oelckers
70087ebc12 - fixed: The new renderer still called the Polymost screen finish function.
This led to a second, redundant postprocessing step with incorrect matrix values.
It now calls screen->Update() directly without the unneeded stuff, but this required a bit of reordering in the game code to ensure that the renderer receives the weapon data to display.
2022-01-08 13:50:47 +01:00
Christoph Oelckers
5759bcc1a6 - Duke/RR: removed all in-game assignments to g_visibility.
These are remnants of the software renderer which used it to calculate light fading but with the current hardware renderers none of these ever reach the renderer, the values are never used.
2022-01-08 13:49:06 +01:00
Mitchell Richters
771a84338e - Fix typo in MOVEFTA flag (was NOVEFTA). Thanks Gaerzi! 2022-01-08 22:30:34 +11:00
Christoph Oelckers
1c721f3568 - make the new renderer the default. 2022-01-07 23:21:28 +01:00
Christoph Oelckers
a3162f6ccf - renamed testnewrenderer CVAR. 2022-01-07 12:49:41 +01:00
Mitchell Richters
5ce9955f39 - Exclude episode 4 "The Birth" from the 1.5-bound grpinfo for Duke!ZONE II. 2022-01-07 20:00:08 +11:00
Mitchell Richters
48b966c45a - Add a new Duke!ZONE II grpinfo definition so that the copy supplied from Zoom which ships with a 1.5 copy of Duke 3D can be found. 2022-01-07 19:28:31 +11:00
Christoph Oelckers
0cfe6bbed3 - do the unlink properly when replacing a clip node. 2022-01-07 00:22:02 +01:00
Christoph Oelckers
98258e0bb2 - fix handling in the clipper for a new range that completely covers an existing one.
The handling for this was from the first draft of the clipper that made very different assumptions than the final version.
This cannot simply delete the old range - it has to explicitly alter it and recursively insert the outer sub-ranges separately.
2022-01-06 16:34:04 +01:00
Christoph Oelckers
159409d5d2 - allow a bit of tolerance when sorting walls, so that microscopic intersections can be ignored. 2022-01-06 00:43:47 +01:00
Christoph Oelckers
fab5a02ba3 - deleted unused variable. 2022-01-06 00:43:46 +01:00
Mitchell Richters
a65e2e8448 - Don't do an animated transition for Duke's credits menu and don't redraw the background for RR/RRRA's credits menu. 2022-01-06 10:32:33 +11:00
Christoph Oelckers
709dcd9155 - flip keyhole in TD's $shore.map. 2022-01-05 12:51:12 +01:00
Mitchell Richters
e5bcb8ee61 - Duke: Repair issues with handle_se32() following lost Sgn() call.
* Originated from "- first batch of routing all write access to sectortype::ceilingz and floorz through a function interface.".
2022-01-05 22:45:33 +11:00
Christoph Oelckers
e1d32bdbf5 - removed the error messages in GetOverlapSector(2).
These can actually be triggered in legitimate scenarios by hitscans so just returning 0 looks like the best way of handling it.
2022-01-05 09:23:30 +01:00
Mitchell Richters
eca3c29261 - Duke: Fix nullptr issue in RR's processinput_r(). 2022-01-05 19:22:21 +11:00
Christoph Oelckers
5ff7d45f7f - Duke/RR: better handling for one random kill scenario in the player movement code.
Using the same appoach as EDuke32 - instead of outright killing the player it will first reset its position and retry the pushmove check.
2022-01-05 09:20:54 +01:00
Christoph Oelckers
9f6d6a0e6d - block y-flipping of slope sprites only if they are actually sloped.
This mirrors Polymost's (buggy) handling.
2022-01-05 09:20:54 +01:00
Mitchell Richters
9de4b4753a - Duke: Add nullptr check to haskey(). 2022-01-05 18:05:15 +11:00
Mitchell Richters
b422b049c1 - Duke: Fix bad interp check in RR's dofurniture(). 2022-01-05 10:03:33 +11:00
Mitchell Richters
874f9952f8 - Duke: Fix bad clipmove result check in movesprite_ex_r(). 2022-01-05 09:50:22 +11:00
Mitchell Richters
77da0b9278 - Exhumed: Mark in-game menu as animated so its interpolation works properly. 2022-01-05 08:13:57 +11:00
Christoph Oelckers
d5daa8ee84 - fixed: The bunch drawer's gotwall array was cleared before resizing.
This means that on the first frame of a new map it'd operate on partially uninitialized data.
2022-01-04 17:18:26 +01:00
Christoph Oelckers
227ac0fca6 - RR: address a missing texture in E1L2.
The current texture on this wall is suboptimal but it's still better than glitchy HOM.
2022-01-04 17:18:25 +01:00
Christoph Oelckers
47b9de1fb4 - RR: interpolate moving furniture. 2022-01-04 17:18:25 +01:00
Christoph Oelckers
33aee54113 - RR: interpolate jaildoors and minecarts. 2022-01-04 17:18:25 +01:00
Christoph Oelckers
03cad0fe3b - consider slope sprites unavailable in map formats 5 and 6.
Exhumed has several sprites flagged with this combo - they all need to be treated as face sprites.
2022-01-04 17:18:25 +01:00
Christoph Oelckers
bb95f26c5e - removed debug message. 2022-01-04 17:18:24 +01:00
Christoph Oelckers
3494c701ee - Nam/WW2GI: use the console font for the generic message display.
The small font in these games is not usable because it is too small, too ugly and not extendable for localization.
2022-01-04 17:17:59 +01:00
Christoph Oelckers
45b88277a3 - Platoon Leader: Set explicit sky offset for the third episode's orange sky. 2022-01-04 17:17:58 +01:00
Christoph Oelckers
8dedcf94d3 - Duke: removed special precaching for sky texture
Due to precomposition these single tiles will never be rendered anyway.
2022-01-04 17:17:58 +01:00
Mitchell Richters
09e1fa4d1e - Exhumed: Amend previous commit to do proper floating point calculation. 2022-01-04 22:54:51 +11:00
Mitchell Richters
572dcc08dd - Exhumed: Remove debug line and use game's ticrate in milliseconds instead of a hard-coded value (not that it should ever change anyway). 2022-01-04 22:51:19 +11:00
Mitchell Richters
6414a4ce78 - Duke: Add nullptr check to footprints() code. 2022-01-04 22:44:11 +11:00
Christoph Oelckers
468aea78ef - SW: fixed wrong actor being checked in ContinueHitscan. 2022-01-04 12:42:46 +01:00
Christoph Oelckers
8bc1ca5f58 - Exhumed: interpolate the menu items when zooming. 2022-01-04 12:42:46 +01:00
Christoph Oelckers
2f66377511 - Exhumed: use the loop flag when starting music. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
9c07f05f0f - Exhumed: clear all pointers in the player struct when starting a level. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
be2efc03ad - Exhumed: interpolate the scrolling map. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
78f02fbd55 - avoid larger time jumps in Ramses text scroll. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
ac3546bdaa - fixed depth buffer use of slope sprites.
They cannot be treated like perfectly horizontal floor sprites and need to write to the depth buffer in the same pass as the regular pixels.
2022-01-04 12:42:45 +01:00