Commit graph

2986 commits

Author SHA1 Message Date
Christoph Oelckers
3ce2375a3e - LocateTheLocator + related sector storage in temp_data 2021-12-25 21:28:39 +01:00
Christoph Oelckers
64f1029416 - Duke: pass a sector pointer to callsound. 2021-12-25 21:28:39 +01:00
Christoph Oelckers
f6db4a8e51 - SW: move User into DSWActor. 2021-12-25 21:28:39 +01:00
Christoph Oelckers
fe83487c77 - missed one bit of old savegame 2021-12-25 21:28:39 +01:00
Christoph Oelckers
47e207f158 - eliminated spritetype::index.
# Conflicts:
#	source/games/sw/src/swactor.h
2021-12-25 21:28:38 +01:00
Christoph Oelckers
fa48b740c0 -proper owner storage for Duke. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
b9602bbb05 - store owner outside the sprite. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
10e6486744 - fixed typo in GenDudeExtra save check. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
771f5e3338 - removed all old savegame handling 2021-12-25 21:28:38 +01:00
Christoph Oelckers
77a23e39c5 - Blood: added closing EndObject() call to DUDEEXTRA serializer. 2021-12-25 21:28:38 +01:00
Christoph Oelckers
6705e8e51e - moved xsprite into DBloodActor and save all relevant parts of DBloodActor.
This completes Blood's transition.
2021-12-25 21:28:37 +01:00
Christoph Oelckers
766d87106a - we do not need XSPRITE::reference anymore. 2021-12-25 21:28:37 +01:00
Christoph Oelckers
3d22bfa362 - do not crunch condition info to an int.
Once the global sprite array is gone we need full actor info here.
2021-12-25 21:28:37 +01:00
Mitch Richters
c6f2aaf1b7 - Miscellaneous fixes to commit to change sector checks over to validSectorIndex().
* Fix missed changeover in Blood's `actSpawnSprite()`.
* Fix non-negated check on a `validSectorIndex()` call in Blood's `debrisMove()`.
* Removed a superfluous terminator in Duke's `actor.cpp`.
* Fixed bad call to `validSectorIndex()` in Exhumed's `AIAnim::Tick()`.
2021-12-25 21:28:37 +01:00
Christoph Oelckers
999ec3c95a use validSectorIndex checks where appropriate.
Let’s hope that this sloppiness doesn’t have negative effects with broken maps.

# Conflicts:
#	source/games/sw/src/sprite.cpp

# Conflicts:
#	source/games/duke/src/prediction.cpp
#	source/games/duke/src/render.cpp
2021-12-25 21:28:37 +01:00
Christoph Oelckers
2d7c085617 - SW: fixed bad user in SpawnSplash 2021-12-25 21:27:36 +01:00
Christoph Oelckers
d1c6c783a6 - SW: fixed user spawned for wrong actor. 2021-12-25 20:35:53 +01:00
Christoph Oelckers
3ec904d5c0 - SW: fixed several bad User references in missile seeking code. 2021-12-25 20:11:40 +01:00
Christoph Oelckers
1c5fc16fa5 - SW: fixed two bad user assignments 2021-12-25 19:54:45 +01:00
Christoph Oelckers
a94f298600 - print new errors in red. 2021-12-16 11:56:26 +01:00
Christoph Oelckers
d011f3c201 - Blood: validate upper/lower sector links before starting a level.
Originally this just performed an OOB memory access, but with Raze's setup it would dereference a null pointer so these must be eliminated.
2021-12-16 11:54:55 +01:00
Christoph Oelckers
7f1a3431ca - SW: fixed accidentally inverted colliision check in DoMirvMissile. 2021-12-15 20:51:31 +01:00
Christoph Oelckers
4daad25e5c - use WORDS_BIGENDIAN directly in place of B_BIG_ENDIAN 2021-12-14 12:27:41 +01:00
Christoph Oelckers
7c4233bcf7 - replaced fallthrough__ with [[fallthrough]] as we are requiring C++17 and don't need workarounds for that. 2021-12-14 12:27:28 +01:00
Christoph Oelckers
7daa501a4d - removed all #include "compat.h" except the one in build.h
Still all compiles fine.
2021-12-14 12:24:10 +01:00
Christoph Oelckers
6e43f1a15a - Blood: refine picnum 0 filter to apply to face sprites only. 2021-12-13 17:58:11 +01:00
Mitchell Richters
6aecc18c35 - SW: Use floating point radians instead of converting integer Build angle into radians for when updating a sound's angle. 2021-12-13 23:37:11 +11:00
Christoph Oelckers
8abd67a3b1 - fixed sound listener angle for the remote control case.
It was taking the angle of the rotating sector object instead of the angle from the listener's position to it.
2021-12-13 13:24:33 +01:00
Christoph Oelckers
498abf25f3 - Blood: make sure that invalid sprites don't get rendered at all.
Seems the game may have depended on them being clipped by the floor or ceiling.
2021-12-13 11:45:28 +01:00
Christoph Oelckers
e104316e75 - fixed bad parameter to getzrange.
This originated from 1d39bb371e where the getzrange_old function was removed
2021-12-13 09:39:57 +01:00
Christoph Oelckers
507dc10e4f - Duke/RR: Fixed sprite validation checks in animatesprites. 2021-12-11 09:57:02 +01:00
Mitchell Richters
3269d6a398 - Duke: Ensure all weapon variables used for interpolation have the o values set when CON updates them.
* Hasn't been an issue to date but could become one should a mod set these.
* Can't simply back the variable up and set the main one because unless the mod knows we're interpolating, it could have undesirable effects.
2021-12-10 17:31:51 +11:00
Mitchell Richters
ee1ffd2347 - Duke: Fix lotag signedness issue affecting SE10 (door auto-close).
* Originated in 01abe7b2ac while removing a casting to short.
* Fixes #594.
2021-12-10 17:26:56 +11:00
Mitch Richters
5aa4243327 - Duke: Test tsprite's sector in animatesprites_d() following crash while noclipping in Duke WT's E5L1. Apply same fix to animatesprites_r() as well. 2021-12-07 22:55:08 +11:00
Mitch Richters
6aba76cfe5 - Duke/RR: Fix RR crash while operating weapon outside of a sector (noclipping, etc). 2021-12-07 21:42:21 +11:00
Mitchell Richters
af96180123 - Duke/RR; Don't lose the precision of p->MotoSpeed when calculating p->VBumpTarget. 2021-12-07 20:02:30 +11:00
Mitch Richters
63a19bbb15 - Port spritetype::insector() over from develop and use with sector nullptr checks in 6539d72663. 2021-12-07 19:56:50 +11:00
Mitch Richters
6539d72663 - Duke/RR: Add three sector nullptr checks after receiving crash in Redneck Rampage Route 66 while noclipping. 2021-12-07 19:44:35 +11:00
Mitch Richters
85a2e3bd06 - Duke/RR: Do nullptr test in floorspace_d()/floorspace_r() functions to match ceilingspace_*() functions. 2021-12-07 19:41:25 +11:00
Mitch Richters
a7e99a3bd1 - Duke/RR: Do nullptr test in ceilingspace_r() after receiving crash in Redneck Rampage Route 66 (do Duke for parity). 2021-12-07 19:41:22 +11:00
Mitch Richters
96867e15d5 - Duke: Apply same nullptr fix in 2e7496888a to prelevel_r(), and rename sect to sectp for 1:1 match between _d.cpp and _r.cpp files. 2021-12-07 19:41:18 +11:00
Mitch Richters
2e7496888a - Duke: Re-add lost nullptr check in prelevel_d() that was causing a crash while loading Duke Nukem's Penthouse Paradise. 2021-12-03 10:14:41 +01:00
Christoph Oelckers
81268cb9b6 partial Revert of "- optimized vector math."
This reverts commit 826fd7ddb2.

Looks like there's dependencies on the intermediate variables. The optimized code gave the same result but did not work anymore.
2021-12-02 23:32:20 +01:00
Christoph Oelckers
c2baa68160 - fixed camera textures breaking in SW when restarting a level.
This was caused by attempting to delete the camera textures when cleaning up the mirror array.
The Build tile manager was not prepared for such a use case and left a broken texture behind.

To allow this to function it now resets the texture replacement type when deleting a tile and to avoid creating new camera textures these will now be stored in a cache and recycled later.
2021-12-02 21:40:43 +01:00
Christoph Oelckers
60630f5b84 - do not init pointers to 0xffffffffffffffff.
These will most certainly crash when used in any way.
2021-12-02 18:42:02 +01:00
Christoph Oelckers
cb099b1b66 - added two missing semicolons.
Unbelievable that this was legal C++ and didn't even get a warning!
2021-12-01 23:30:02 +01:00
Christoph Oelckers
57aca0ed07 - SW: fixed sector object setup with vator effect.
This used some weird initialization logic that was missed when first modifying this code.
2021-12-01 21:00:00 +01:00
Christoph Oelckers
324e35e776 - SW: fixed use of uninitialized variable in WallSetup 2021-12-01 19:55:18 +01:00
Christoph Oelckers
5bb114ba6e - fixed two bad actor references in Exhumed's radial damage code.
The radial source is passed through pRadialActor, not pObjActor.
2021-11-30 22:44:54 +01:00
Christoph Oelckers
690994ea1e - Duke: fix missing sectp update in processinput_d.
RR version had this correct
2021-11-30 00:20:16 +01:00