Commit graph

1095 commits

Author SHA1 Message Date
Christoph Oelckers
3aff12cf4c - sky management rework. 2022-01-16 12:12:43 +01:00
Christoph Oelckers
c5b382907d - SW: fixed velocity issue in InitEnemyFireball.
The value of the first shot was retrieved too early.
2022-01-15 10:36:55 +01:00
Christoph Oelckers
ddcee4ecbf - split up g_visibility into two variables.
This is preparation for experimenting with the weapon flashes that can be quite annoying with how they brighten distant parts of the level far more than nearby parts.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
e892de21ec - preparations for unlimited tsprites.
Right now it is a no-op because Polymost cannot deal with this properly.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
415dc5246d - fixed sprting of non-translucent sprites. 2022-01-08 21:18: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
a3162f6ccf - renamed testnewrenderer CVAR. 2022-01-07 12:49:41 +01: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
Christoph Oelckers
468aea78ef - SW: fixed wrong actor being checked in ContinueHitscan. 2022-01-04 12:42:46 +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
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
a6845f55e4 - comments 2022-01-02 15:59:24 +01: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
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
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
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
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
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
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
0cba0e19b5 - SW: fixed some pointer mixup in UpdatePlayerUnderSprite 2021-12-30 23:39:54 +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
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