Commit graph

10526 commits

Author SHA1 Message Date
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
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
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
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
Christoph Oelckers
8267f327e3 - Exhumed: hide all screen overlays when Ramses is talking. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
894f9a6b0a - Exhumed: fix Ramses text overlay display. 2022-01-04 12:42:44 +01:00
Mitchell Richters
57d54a2105 - Exhumed: Don't force the framerate to reduce to ticrate at end of each level, instead interpolate player's position to prevent draw errors. 2022-01-04 21:43:08 +11:00
Christoph Oelckers
226807db34 - RR: fixed wakeup check logic in movefta.
Essentially the feature must be on for all RR actors and off for all Duke actors.
RR's original logic here to exclude animals was broken and non-functional.
2022-01-04 09:39:55 +01:00
Mitchell Richters
783dd98641 - Duke: Fix nullptr check for Duke and RR that was causing a crash in a glitched spot in RR's E1L1. 2022-01-04 14:00:18 +11:00
Christoph Oelckers
b683c31ef7 - fixed bad GC setup for Blood's collision struct.
This is a union so the pointers must also be conditionally marked based on the union's state.
2022-01-03 16:18:07 +01:00
Christoph Oelckers
e2e3b4482d - do some better sorting of slope sprites.
Splitting by translucent floor plane is essential, splitting by wall not that much - sorting by center point should be sufficient here.
2022-01-03 12:31:54 +01:00
Christoph Oelckers
9f83fd3575 - SW: added a double deletion guard to KillBreakSprite.
This code can easily run into the case where SpawnShrap kills the actor but then further operations are performed, including deleting it again.
2022-01-03 12:28:25 +01:00
Christoph Oelckers
be92d252ff - fixed signedness issue with slope sprite coefficient. 2022-01-03 09:54:23 +01:00
Christoph Oelckers
7915fb7ef1 - allow using "Mario" cheat with a space between name and number. 2022-01-03 07:13:34 +01:00
Mitchell Richters
aee4388a03 - Blood: Add nullptr check to OperatePath() to fix crash in Eviction's sgarage.map. 2022-01-03 10:19:08 +11:00
Mitchell Richters
bc6dd4ae3e - Add nullptr check to Interp_Sprite_Z reversion so I can load older saves before this was reverted. 2022-01-03 09:13:11 +11:00
Christoph Oelckers
00ffc8b6a2 - Blood: fixed vertical wall texture interpolations. 2022-01-02 17:53:07 +01:00
Christoph Oelckers
e302c45a0b Revert "- added two FAFcansee variants that take shorter parameter lists for clearer code."
This reverts commit 29da39dda0.

Something in here was wrong, so back to the start with it.
The positive effect was too small anyway.
2022-01-02 17:35:12 +01:00
Christoph Oelckers
7205319853 - Blood: clean up some variable mess in actFireVector 2022-01-02 17:23:01 +01:00
Christoph Oelckers
1d091ae395 - merged both movefta functions, using the already defined flags instead of explicit picnum checks. 2022-01-02 15:59:24 +01:00
Christoph Oelckers
a6845f55e4 - comments 2022-01-02 15:59:24 +01:00
Mitchell Richters
84e9356bf2 Revert "- Blood: Force synchronised input while a revolving door is busy/in-use."
This reverts commit 232dd5e07a. The true fix was in "- Blood: fixed interpolation of sprites on rotating sectors.".
2022-01-03 01:50:17 +11:00
Christoph Oelckers
2ac83b733c - SW: clear some pointers before killing actors in TerminateLevel.
KillActor is an in-game function which may produce undefined behavior if being run on a partially deinitialized level.
All actor pointers it may operate upon should be cleared before taking down the actors.cpp
2022-01-02 15:06:57 +01:00
Christoph Oelckers
3b833029b0 - Blood: fixed interpolation of sprites on rotating sectors. 2022-01-02 13:00:55 +01:00
Christoph Oelckers
d0ab13f95a - use GPLv2 in all files dual-licensed with the Doom Source license.
None of this was ever GPLv3, the original id source was released under the GPLv2 so this should be, too.
2022-01-02 12:42:54 +01:00
Christoph Oelckers
e42fc5e743 - use the newly added flag to consolidate ifhitsector. 2022-01-02 12:27:36 +01:00
Christoph Oelckers
46078323ff - backend update from GZDoom, mainly license updates. 2022-01-02 12:24:53 +01:00
Christoph Oelckers
cc6d52013d - made Duke actor flags type safe and added a few new definitions that are not active yet. 2022-01-02 10:17:44 +01:00
Christoph Oelckers
daa07b9e55 - an attempt to render "reflection" floor sprites by lifting them up to the floor and drawing them with 33% alpha. 2022-01-01 20:01:36 +01:00
Christoph Oelckers
8c9b810b16 Revert "- removed Interp_Sprite_Z."
Sadly, SW's sprite interpolation is too screwed up to do a better fix on short notice.
It's the same with interpolating sprites attached to SOP's, it is only needed because generally interpolating sprites in SW is problematic.
2022-01-01 19:50:30 +01:00
Christoph Oelckers
6807086f3c - relaxed the FindWall check for wall sprites a bit so that slightly out-of-sector sprites can find a wall to attach to. 2022-01-01 18:55:42 +01:00
Christoph Oelckers
0bfb4abc1c - undid some leftover placeholder code in FAFhitscan. 2022-01-01 18:39:59 +01:00
Christoph Oelckers
d215ae0c63 - fixed bad target check for Ripper2's jump attack 2022-01-01 18:25:18 +01:00
Christoph Oelckers
fcb3e43799 - fixed side check for sloped sprites. 2022-01-01 17:27:09 +01:00
Christoph Oelckers
1294f10cd7 - SW: fixed negated FAFcansee call in explosion code. 2022-01-01 17:14:49 +01:00
Christoph Oelckers
27eae52228 - fixed incorrect argument in FAFcansee call. 2022-01-01 17:11:15 +01:00
Christoph Oelckers
3499049976 - Blood: save basepoint for all actors, not just for those with an XSPRITE. 2022-01-01 15:52:05 +01:00
Christoph Oelckers
9680ff1863 - ignore y-flipping when rendering slope sprites in the new renderer.
This is what Polymost, and apparently NBlood, do here.
2022-01-01 12:55:28 +01:00
Christoph Oelckers
551ff89778 - fixed signed/unsigned comparison warning. 2022-01-01 11:30:00 +01:00
Mitchell Richters
f1530a051f - Fix two signedness warnings in hw_sections.cpp. 2022-01-01 21:02:00 +11:00
Mitchell Richters
733b6a7367 - Fix GCC warning warning: ‘vec.TVector2<double>::X’ may be used uninitialized [-Wmaybe-uninitialized]. 2022-01-01 20:50:58 +11:00
Mitchell Richters
45057ff8a0 - SW: Fix all GCC warning: suggest parentheses around assignment used as truth value [-Wparentheses] warnings.
Regex to match such conditions: `while (\([\w]+\s?=\s?.+\.Next\(\)\))`.
2022-01-01 20:49:31 +11:00
Christoph Oelckers
17de3a08e8 - deal with bad start sectors.
The engine will now try to find a proper sector in the map loader if there's a mismatch.
2022-01-01 10:39:59 +01:00
Christoph Oelckers
8575447e37 - Blood: fixed bad parameter in aiPatrolMove 2022-01-01 09:56:45 +01:00
Christoph Oelckers
3e21db19be - Blood: fixed Life Leech no longer gettable after having fired.
This was the direct result of dumb use of two pointers to different parts of the same objects.
2022-01-01 09:31:57 +01:00
Mitchell Richters
dcd006d34b - Blood: Add missing actorHit nullptr test in actImpactMissile(). 2022-01-01 11:38:43 +11:00
Christoph Oelckers
87cace6e6c - Blood: fixed wrong actor being used for key checks 2022-01-01 00:58:35 +01:00
Mitchell Richters
0375dfdf83 - SW: Replace SECTOR_OBJECT zmid with pmid.Z calls and eliminate pmid union. 2022-01-01 09:34:30 +11:00
Mitchell Richters
9145895b47 - SW: Replace SECTOR_OBJECT ymid with pmid.Y calls. 2022-01-01 09:33:30 +11:00
Mitchell Richters
5e2bbb12b5 - SW: Replace SECTOR_OBJECT xmid with pmid.X calls. 2022-01-01 09:32:40 +11:00
Mitchell Richters
1c0ba71c69 - SW: Eliminated ANIMATORp typedef. 2022-01-01 09:09:41 +11:00
Mitchell Richters
1d51903a9e - SW: Eliminated Voc3D_Flags typedef. 2022-01-01 08:36:56 +11:00
Christoph Oelckers
cd599a7a15 - Duke: abstracted all checks for TILE_APLAYER with an isPlayer method. 2021-12-31 18:51:43 +01:00
Christoph Oelckers
84ca96c52c eliminated STATEp 2021-12-31 16:00:14 +01:00
Christoph Oelckers
d1be430fbf - eliminated PLAYERp 2021-12-31 15:59:11 +01:00
Christoph Oelckers
69b5d502e2 - renamed PLAYERstruct. 2021-12-31 15:57:55 +01:00
Christoph Oelckers
392397c2b0 - replaced SECTOR_OBJECTp 2021-12-31 15:50:44 +01:00
Christoph Oelckers
74593feab1 - replaced PANEL_SPRITEp 2021-12-31 15:49:07 +01:00
Christoph Oelckers
699bf9c4f5 - anim typedef eliminated. 2021-12-31 15:47:10 +01:00
Christoph Oelckers
8fb769649b - eliminated sectortype aliases. 2021-12-31 15:43:47 +01:00
Christoph Oelckers
98492aae54 - eliminated walltype aliases. 2021-12-31 15:41:39 +01:00
Christoph Oelckers
72962cc098 - the last batch of small scale typedefs eliminated. 2021-12-31 15:40:29 +01:00
Christoph Oelckers
87d2b3274b - cleaned out most of the less frequent typedef types in SW. 2021-12-31 15:27:18 +01:00
Christoph Oelckers
10187e892f - handle track typedefs. 2021-12-31 15:13:05 +01:00
Christoph Oelckers
f43f63adec - all typedefs in jsector.h and inv.h plus a bit of cleanup and #define removal. 2021-12-31 15:10:37 +01:00
Christoph Oelckers
6b50344417 - eliminated PANEL_SPRITEp 2021-12-31 15:03:12 +01:00
Christoph Oelckers
994a575435 - panel.h cleanup. 2021-12-31 13:49:34 +01:00
Christoph Oelckers
12c63d2337 - eliminated a few more typedefs, 2021-12-31 13:37:57 +01:00
Christoph Oelckers
89ab00fe99 - eliminated typedefs in sound code.cc.obj 2021-12-31 13:31:13 +01:00
Christoph Oelckers
085eb8a36e - eliminated SHRAP typedefs. 2021-12-31 13:26:07 +01:00
Christoph Oelckers
271af39a59 - consolidated MISSILE_PLACEMENT definitions. 2021-12-31 13:20:56 +01:00
Christoph Oelckers
90ad4b8ef1 - eliminated typedefs for DECISION and BREAK_INFO. 2021-12-31 13:16:38 +01:00
Christoph Oelckers
3eb640658f - don't typedef MATTGAMEVAR 2021-12-31 13:12:20 +01:00
Christoph Oelckers
4dbbe892ae - fixed main game resource detection for Blood.
* code did not scan .rff files for content-defined versions.
* code did not check content-defined versions for CRC matches.
2021-12-31 13:04:32 +01:00
Christoph Oelckers
1849fe541e - fixed alignment of sloped sprites.
The offset fields are not valid for them so thwy may not be used for offsetting.
2021-12-31 11:55:25 +01:00
Christoph Oelckers
717dd123e5 - fixed slope sprite flag getting cleared by some leftover code.
Also merged copyfrom into the one single function that called it.
2021-12-31 10:55:55 +01:00
Christoph Oelckers
0cba0e19b5 - SW: fixed some pointer mixup in UpdatePlayerUnderSprite 2021-12-30 23:39:54 +01:00
Christoph Oelckers
f679b61a30 - fixed issue with wall sprite angle check.
The resulting value had no sign, so 'abs' did not work. It now uses some bit shifting magic to get a proper sign.
2021-12-30 22:56:33 +01:00
Christoph Oelckers
61d4d06783 - RRRA: fixed typo in portal setup. 2021-12-30 22:16:39 +01:00
Christoph Oelckers
a9b162b8e9 - moved the tsprite flags from cstat2 to clipdist which was already holding other ones.
cstat2 should only hold flags for game-side sprites.
2021-12-30 19:00:35 +01:00
Christoph Oelckers
552668418a - moved opos and oang to DCoreActor. 2021-12-30 18:21:02 +01:00
Christoph Oelckers
2bb7cecf27 - eliminated spritetype::clear.
Most uses were bad anyway, and the legitimate ones are just clearing the object.
2021-12-30 17:55:17 +01:00
Christoph Oelckers
51abee4351 - eliminated spritetypebase::setpos, which was the last remaining method in this struct. 2021-12-30 17:49:16 +01:00
Christoph Oelckers
7f62df517d - moved all interpolate* methods from spritetypebase to DCoreActor.
The places where it was used on tsprites were redone to use the actor's base coordinate, which at the point of the operation would always be the same.
2021-12-30 17:32:31 +01:00
Christoph Oelckers
c10fb1278a - moved the backup... methods to DCoreActor. 2021-12-30 17:10:08 +01:00
Christoph Oelckers
6c381d4392 - removed sector() method from low level sprite type. 2021-12-30 16:58:48 +01:00
Christoph Oelckers
5498699faf - use DCoreActor::sector() wherever possible. 2021-12-30 16:51:56 +01:00
Christoph Oelckers
88e4bb9f79 - moved sectno method to DCoreActor. 2021-12-30 16:39:43 +01:00
Christoph Oelckers
f0b7fe4add - use setsector from DCoreActor.
Also did a bit of cleanup
2021-12-30 16:36:04 +01:00
Christoph Oelckers
af6ca40e3d - use DCoreActor::insector instead of spritetype::insector. 2021-12-30 16:24:51 +01:00
Christoph Oelckers
eb00fe52db - more spritetype references eliminated. 2021-12-30 16:11:14 +01:00
Christoph Oelckers
4bc32e2777 - use actors in the sloped sprite utilities. 2021-12-30 16:11:14 +01:00
Mitchell Richters
dc50ad154e - SW: Replace PANEL_SPRITEstruct yorig with bobpos.Y calls. 2021-12-31 00:36:13 +11:00
Mitchell Richters
d8aab1ecea - SW: Replace PANEL_SPRITEstruct xorig with bobpos.X calls. 2021-12-31 00:34:46 +11:00