Commit graph

2464 commits

Author SHA1 Message Date
Christoph Oelckers
fe3da5eaab - split off formatting 2021-11-29 00:53:38 +01:00
Christoph Oelckers
766999118c - sectorKillSounds + useDudeSpawn 2021-11-29 00:53:38 +01:00
Christoph Oelckers
3761424501 - the remaining AIFight stuff. 2021-11-29 00:53:38 +01:00
Christoph Oelckers
a5471b1079 - aiFightDudeIsAffected + aiFightGetDudesForBattle 2021-11-29 00:53:38 +01:00
Christoph Oelckers
55716c9409 - aiFightGet(Fine)TargetDist 2021-11-29 00:53:38 +01:00
Christoph Oelckers
baf4bb0785 - formatting only. 2021-11-29 00:53:37 +01:00
Christoph Oelckers
57c3571555 - several aiFight functions. 2021-11-29 00:53:37 +01:00
Christoph Oelckers
ca3d7c9bdf - formatting only 2021-11-29 00:53:37 +01:00
Christoph Oelckers
78cbb4ed0a - aiFightGetTargetInRange 2021-11-29 00:53:37 +01:00
Christoph Oelckers
a449d97b86 - modernTypeTrigger 2021-11-29 00:53:37 +01:00
Christoph Oelckers
ea8166871a - formatting only. 2021-11-29 00:53:36 +01:00
Christoph Oelckers
43e9e07910 - 2 modernType functions. 2021-11-29 00:53:36 +01:00
Christoph Oelckers
1ff6dc7c69 - useSeqSpawnerGen 2021-11-29 00:53:36 +01:00
Christoph Oelckers
c59a6bbb86 - clean up some loops 2021-11-29 00:53:36 +01:00
Christoph Oelckers
9714febaab - eliminated the actPostSprite wrapper with an index parameter. 2021-11-29 00:53:36 +01:00
Christoph Oelckers
e0f1948ccc - wrapped all setsprite calls in Blood and adapted a few leftover uses of the index version of actPostSprite. 2021-11-29 00:53:35 +01:00
Christoph Oelckers
5cda9d0858 - tabified two files in Duke that were missed somehow, plus some comment cleanup elsewhere. 2021-11-29 00:53:35 +01:00
Christoph Oelckers
b54d3f3567 - useSpriteDamager + damageSprite 2021-11-29 00:53:35 +01:00
Christoph Oelckers
1689efe698 - useEffectGen + useSectorWindGen 2021-11-29 00:53:35 +01:00
Christoph Oelckers
1847b905ba - useTeleportTarget 2021-11-29 00:53:35 +01:00
Christoph Oelckers
f21dc51207 - usePropertiesChanger 2021-11-29 00:53:34 +01:00
Christoph Oelckers
cd98e940aa - useObjResizer 2021-11-29 00:53:34 +01:00
Christoph Oelckers
63ae861765 - DropVoodooCb 2021-11-29 00:53:34 +01:00
Christoph Oelckers
be9e423d7c - trPlayer* functions. 2021-11-29 00:53:34 +01:00
Christoph Oelckers
470f82bc26 - Blood: fixed loading of actors with extended AI states. 2021-11-29 00:51:35 +01:00
Christoph Oelckers
aac02d52db - Duke/RR: fixed hitradius
The recent optimization did not update the sector pointer inside the loop
2021-11-15 00:18:52 +01:00
Christoph Oelckers
dc1d97b6bd - SW: fix bad return value in QueueWallBlood.
Had been known for some time, it just wasn't unclear if this is bad.
Now I was able to confirm that this is indeed bad and can cause crashes.
2021-11-13 19:30:16 +01:00
Christoph Oelckers
5732bb2db3 - Blood: fixed loading of maps with tracking conditions.
These use a pointer in the DBloodActor structure, but this part wasn't cleared for sprites loaded with the map.

# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-13 13:55:25 +01:00
Christoph Oelckers
01deb13694 - SW: fixed NORM_xxx macros
kHitIndexMask already has the -1 considered, it is 0x3fff.
2021-11-12 11:09:24 +01:00
Christoph Oelckers
401f3cf1d7 - Blood: removed unused CSectorListMgr class. 2021-11-11 23:48:19 +01:00
Christoph Oelckers
9b21233c98 - little bit of cleanup 2021-11-11 23:47:26 +01:00
Christoph Oelckers
5a6d4f88d5 - Exhumed: eliminate all remaining MAXSECTORS references 2021-11-11 23:46:50 +01:00
Christoph Oelckers
794c4483ca -Exhumed: better handling of BuildNear/BelowNear.
BuildNear was only called right before calling BelowNear - now both functions are merged and use the global GlobalSectorList array for storage.
Since the data in this is local to this function it is also unnecessary to write it out to a savegame as it will get recereate each time before it is used.
2021-11-11 23:45:59 +01:00
Christoph Oelckers
d70e76e5c6 - Exhumed: use dynamic arrays for the palette backup in DrawView. 2021-11-11 23:34:03 +01:00
Christoph Oelckers
2e3c212444 - Duke: moved the temtempsector* arrays into the only function using them 2021-11-11 23:32:49 +01:00
Christoph Oelckers
8f19dc12d8 - SW: code/data pointer saving cleanup.
* a large number of code pointer records were removed because none of these functions ever gets assigned to a pointer
* instead of looking up entries by index, do it by name. This is far less fragile and will survive deeper refactoring. The old storage by table index will break as soon as a single entry gets removed.

Since the old savegames got broken due to this problem recently it was a good time to change the setup.
2021-11-11 23:28:28 +01:00
Christoph Oelckers
f109f6c857 - Duke/RR: fixed two bad assignments to wall 0. 2021-11-11 21:58:15 +01:00
Christoph Oelckers
2164d244d2 - SW: removed 3 unused global arrays. 2021-11-11 21:58:14 +01:00
Christoph Oelckers
25a6774540 - SW: got rid of MAXWALLS.
Only places left are declarations of global arrays.
2021-11-11 21:58:14 +01:00
Christoph Oelckers
b6579809ad - SW: eliminated all remaining MAXSECTORS references, except static array declarations. 2021-11-11 21:58:14 +01:00
Christoph Oelckers
75e2d801a7 - SW: only check valid sectors for SecUser entries. 2021-11-11 21:58:14 +01:00
Christoph Oelckers
6bd239c5b7 - SW: use the global sector list in PreMapCombineFloors 2021-11-11 21:58:14 +01:00
Christoph Oelckers
a79f7a3784 - SW: use a dynamic array to track already visited sectors in TraverseBreakableWalls. 2021-11-11 21:57:55 +01:00
Christoph Oelckers
642088ed80 - let ValidateSprite print better messages when developer mode is set to warning and also call it for Blood. 2021-11-11 21:28:53 +01:00
Christoph Oelckers
f2e344a235 - removed magic flags added to sector indices in Polymost.
These are better done as separate function arguments.
2021-11-11 21:28:53 +01:00
Mitch Richters
3c4afaa6ee - InputScale(): Add enabled-by-default scaler to returned value from function to correct drift that occurs as the frame-rate increases, taking into account different scaling ratios needed for differing ticrates. 2021-11-10 20:27:19 +11:00
Christoph Oelckers
9433e9bdb1 - trPlayerCtrlStartScene + changing index to initiator pointer in QAVSCENE.
- clear QAVSCENE's initiator pointer at the start of a level or when it holds an actor that's about to be deleted.

Seems there is no proper bookkeeping here, so until we can GC actors it needs to be done manually.
2021-11-09 23:16:16 +01:00
Christoph Oelckers
ad36916fd3 - formatting again and fallthrough annotations. 2021-11-09 23:11:54 +01:00
Christoph Oelckers
bb094fd003 - 3 smaller functions. 2021-11-09 23:10:34 +01:00
Christoph Oelckers
733d9b2e2b - debrisMove 2021-11-09 23:10:03 +01:00
Christoph Oelckers
942e93b2e7 - debris functions. 2021-11-09 22:51:01 +01:00
Christoph Oelckers
6e2f8ec47f - vel replacements. 2021-11-09 22:49:43 +01:00
Christoph Oelckers
7430a630bd - yet another commit with extracted formatting stuff and minor cleanup.
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-11-09 22:49:28 +01:00
Christoph Oelckers
5558c3e896 - debrisGetIndex and some related code. 2021-11-09 22:18:38 +01:00
Christoph Oelckers
ce622c9c88 - two missed lines 2021-11-09 21:51:51 +01:00
Christoph Oelckers
5b057415da - sanitized tileGetSurfType. 2021-11-09 21:42:51 +01:00
Christoph Oelckers
9221262dfc - refactoring of all getzrange code to use the Collision struct. 2021-11-09 21:39:59 +01:00
Christoph Oelckers
55362edce4 - cleanup and formatting in getSpriteMassBySize 2021-11-09 21:00:27 +01:00
Christoph Oelckers
6f8fe44bb0 - getSpriteMassBySize 2021-11-09 20:59:52 +01:00
Christoph Oelckers
81c3443af9 - nnExtProcessSuperSprites, plus replacing xindex with actor in TRCONDITION. 2021-11-09 20:58:27 +01:00
Christoph Oelckers
a898dfc4ec - some cleanup in nnExtProcessSuperSprites before refactoring. 2021-11-09 20:46:54 +01:00
Christoph Oelckers
754042e10a - windGenDoVerticalWind 2021-11-09 20:45:10 +01:00
Christoph Oelckers
06be31daea - pure formatting stuff split out of following commit. 2021-11-09 20:43:11 +01:00
Christoph Oelckers
18b608df1a - randomDropPickupObject + randomSpawnDude 2021-11-09 20:40:39 +01:00
Christoph Oelckers
c427669595 - randomGetDataValue 2021-11-09 20:37:10 +01:00
Christoph Oelckers
1cc5dbccb9 - GetDataVal 2021-11-09 20:33:16 +01:00
Christoph Oelckers
5465c9976c - replaced a few chars in Exhumed 2021-11-09 17:46:39 +01:00
Christoph Oelckers
baa3e531d4 - Exhumed: more ints for shorts 2021-11-09 17:32:50 +01:00
Christoph Oelckers
9b52b3b451 - made all nSector variables full ints.
This already takes care of most sector[] accesses in Exhumed
2021-11-09 17:27:54 +01:00
Christoph Oelckers
366df9d4b6 - Exhumed: use the sprite's sector() member where possible. 2021-11-09 00:26:46 +01:00
Christoph Oelckers
ef241acda2 - Exhumed: some quick sector[] substitution 2021-11-09 00:12:18 +01:00
Christoph Oelckers
a35900362e - only use un-deprecated variants of updatesector(z) in SW. 2021-11-09 00:09:48 +01:00
Christoph Oelckers
94b2b0af31 - widen sector index in engineLoadBoard to 32 bit 2021-11-09 00:07:00 +01:00
Christoph Oelckers
762ebafc2a - made clipmoveboxtracenum a function argument of clipmove
There’e zero need for hackery here.
2021-11-08 23:22:48 +01:00
Christoph Oelckers
2d91786516 - changed all sector variables being passed to pushmove to full ints 2021-11-08 23:18:40 +01:00
Christoph Oelckers
a5f51cfd88 - SW: migrate everything to the main clipmove function 2021-11-08 23:11:30 +01:00
Christoph Oelckers
16f9d4ec36 - got rid of COVERupdatesector
Not needed as it just forwards to the engine’s updatesector - and it gets in the way of other changes
2021-11-08 23:11:30 +01:00
Christoph Oelckers
3811147f70 - use proper clipmove variant in Blood and Exhumed
This merely extends some shorts to full ints to match the desired parameter's size.
2021-11-08 23:11:30 +01:00
Christoph Oelckers
2e1ff313b0 - Duke: only use the main clipmove function and match clipmove_ex’s interface 2021-11-08 23:11:29 +01:00
Christoph Oelckers
477a2a23e6 - nextSector in runlist 2021-11-08 18:37:21 +01:00
Christoph Oelckers
52389ae02e - sectp in osdcmd_spawn 2021-11-08 18:37:21 +01:00
Christoph Oelckers
066896db8e - warnings fix 2021-11-08 18:37:20 +01:00
Christoph Oelckers
f51cbf31ba - sectp in runlist_ProcessSectorTag 2021-11-08 18:37:20 +01:00
Christoph Oelckers
afec39aded - reworked non-functional anim detection when picking up an item.
This would not unregister the item's run list entries because the logic was insufficient.
2021-11-08 01:13:54 +01:00
Christoph Oelckers
43fdc1bb56 - Exhumed: fixed uninitialized variable in bullet code. 2021-11-07 23:33:39 +01:00
Christoph Oelckers
0da2250efe - Exhumed: try to improve timing of the menu plasma. 2021-11-07 22:14:58 +01:00
Christoph Oelckers
60faceaf59 - Exhumed: fixed serialization.
The exhumedActors array was not written out, resulting in all kinds of strange effects.
2021-11-07 21:45:51 +01:00
Christoph Oelckers
6b6c3f26a5 - use wallsofsector in a few more places. 2021-11-07 18:08:22 +01:00
Christoph Oelckers
59df3b0e19 - added a little utility that allows iterating over the walls of a sector with C++ for's. 2021-11-07 17:27:05 +01:00
Christoph Oelckers
4b0ffe5443 - looks I missed a few shorts.
Now all local short variables are gone, except for 2 lotags arrays.
2021-11-07 16:58:48 +01:00
Christoph Oelckers
ae08ae1d8d - some leftover shorts plus utilities that ended up unused but may be useful later. 2021-11-07 16:46:23 +01:00
Christoph Oelckers
35b9318580 - Duke/RR: checked the rest of the code for shorts and replaced most local ones with ints. 2021-11-07 16:33:13 +01:00
Christoph Oelckers
3a73a9f8ed - Duke/RR: replaced more local short variables with ints. 2021-11-07 16:30:56 +01:00
Christoph Oelckers
98f57a7ad4 - use explicitly sized types for static const arrays. 2021-11-07 16:30:56 +01:00
Christoph Oelckers
fd2764dc6e - Duke: eliminated all local short variables in actors*.cpp. 2021-11-07 16:30:55 +01:00
Christoph Oelckers
9b2b34a026 - removed a few unneeded type casts. 2021-11-07 16:30:55 +01:00
Christoph Oelckers
15be44a931 - use explicitly sized types for static const arrays. 2021-11-07 16:30:55 +01:00
Christoph Oelckers
1eeb8864a4 - Duke/RR: eliminated all uses of 'char' outside of text management 2021-11-07 16:30:55 +01:00
Christoph Oelckers
e2faeec2ce renamed all signed and unsigned chars to int8_t/uint8_t. 2021-11-07 16:30:55 +01:00
Christoph Oelckers
0eba3335c6 - eliminated some leftover 16 bit values used for storing indices. 2021-11-07 16:30:44 +01:00
Christoph Oelckers
977d668bef - extended animatetarget to 32 bit. 2021-11-07 16:21:44 +01:00
Christoph Oelckers
f95af3368b - use ints in hitscan wrapper as well. 2021-11-07 16:20:59 +01:00
Christoph Oelckers
de7a06bea4 - Duke: extended neartag wrapper to use 32 bit integers as return values. 2021-11-07 16:20:59 +01:00
Christoph Oelckers
887279f8a5 - RR: Use int instead of short in bowling functions. 2021-11-07 16:20:59 +01:00
Christoph Oelckers
b13398c268 - quick global wall[] replacements. 2021-11-07 15:57:29 +01:00
Christoph Oelckers
a594e6465c - added nextSector access function to walltype and used it to eliminate a few more sector[] references. 2021-11-07 15:56:29 +01:00
Christoph Oelckers
0c64560fd8 - Duke: wall[] replacement in script code. 2021-11-07 15:00:08 +01:00
Christoph Oelckers
c8c8ca05d3 - Duke: sector[] handled in one more premap loop. 2021-11-07 15:00:08 +01:00
Christoph Oelckers
5eed73f7af - Duke/RR: sector[] replacement in spawn code. 2021-11-07 15:00:08 +01:00
Christoph Oelckers
ca5a014a2d - Duke: a few more sector[] replacements in precaching code. 2021-11-07 15:00:08 +01:00
Christoph Oelckers
2c1881530a - Duke: use a sector pointer in spawneffector. 2021-11-07 15:00:07 +01:00
Christoph Oelckers
c068054fa0 - RR: most sector[] accesses replaced by pointers in actors_r.cpp. 2021-11-07 15:00:07 +01:00
Christoph Oelckers
7749bcbedf - Duke: clean up actors_lava.cpp.
Use sector pointer variables and extend all arrays holding sector indices to 32 bit.
2021-11-07 15:00:07 +01:00
Christoph Oelckers
e0f3fa2aa0 -Duke: replaced sector array accesses in actors_d.cpp. 2021-11-07 15:00:07 +01:00
Christoph Oelckers
8c5e4a7fa9 - Duke: a large batch of quick'n easy sector[] replacements with pointers. 2021-11-07 15:00:07 +01:00
Christoph Oelckers
d45f687d4b - pass a sector pointer to floorspace/ceilingspace. 2021-11-07 15:00:06 +01:00
Christoph Oelckers
060da8ec1d - Duke: replaced most sector array accesses with pointers in actors.cpp.
This already helped to find one 16 bit value that stored a sector index.
2021-11-07 15:00:06 +01:00
Mitch Richters
bc9ea38aba - Duke: Fix issue where calculated value for old player variable return_to_center could have been negative, causing undefined behaviour. 2021-11-07 21:14:29 +11:00
Christoph Oelckers
9a1c80c464 - Duke: added a wrapper for player_struct::cursectnum to directly return the sector pointer.
This eliminates more than 10% of the existing direct references to the sector[] array.
2021-11-06 21:59:42 +01:00
Christoph Oelckers
c3cbd1b1eb - Duke: cleanup of cycler code.
Now uses a struct instead of an array with magic indices.
2021-11-06 21:53:15 +01:00
Christoph Oelckers
1c0e3d849b - addressed the updatesector related deprecation warnings with Duke. 2021-11-06 20:46:08 +01:00
Christoph Oelckers
d20aa47adf - made sector parameter of updatesectorz an int and deprecated the short version. 2021-11-06 19:27:51 +01:00
Christoph Oelckers
e69e1b9908 - some ?vel replacements. 2021-11-06 18:16:18 +01:00
Christoph Oelckers
cce3d8f440 - some minor stuff 2021-11-06 18:14:39 +01:00
Christoph Oelckers
41316f7f8f - evSend 2021-11-06 18:14:08 +01:00
Christoph Oelckers
b8f8c0fe04 - more changesprite* renaming. 2021-11-06 18:13:16 +01:00
Christoph Oelckers
1bbcca5f28 - nnExtInitModernStuff 2021-11-06 17:21:08 +01:00
Christoph Oelckers
a184d919b8 - brace placement part taken out of following commit. 2021-11-06 17:19:24 +01:00
Christoph Oelckers
5f56423e88 - nnExtEraseModernStuff 2021-11-06 17:19:24 +01:00
Christoph Oelckers
6a96d6c354 - nnExtIsImmune 2021-11-06 17:00:52 +01:00
Christoph Oelckers
6846b50a21 - nnExtSpawnDude 2021-11-06 16:57:24 +01:00
Christoph Oelckers
5ee7505d11 - proper handling of actors in TRCONDITION. 2021-11-06 16:55:27 +01:00
Christoph Oelckers
83fe41e71e - made updatesector receive a 32 bit int pointer and deprecated the 16 bit variant. 2021-11-06 15:53:16 +01:00
Christoph Oelckers
f2adeff8c1 - Duke: extended 3 arrays holding sector and wall indices to full ints.
Just to be prepared for the future.
2021-11-06 14:22:16 +01:00
Christoph Oelckers
f4cc5b5b89 - Duke: const-ify SE24 tile lists 2021-11-06 14:19:55 +01:00
Christoph Oelckers
c8d65a1f06 - use sector wrappers where easily doable with search and replace. 2021-11-06 14:19:55 +01:00
Christoph Oelckers
9e4afd543c - Duke/RR: Some quick wall[] replacements. 2021-11-06 14:19:55 +01:00
Christoph Oelckers
b548d9eca2 - a few more quick sector[] replacements. 2021-11-06 14:19:55 +01:00
Christoph Oelckers
bc56b5a28f - RR: cleaned up STAT_DESTRUCT init code a bit 2021-11-06 14:19:54 +01:00
Christoph Oelckers
8818a3f1cb - Duke: added a getSector method to DDukeActor. 2021-11-06 14:19:54 +01:00
Mitch Richters
8f37097e1b - Exhumed: Revert change from edf54b4b0a that wasn't meant to be committed. 2021-11-06 19:54:12 +11:00
Mitch Richters
edf54b4b0a - Exhumed: Remove some dead input code that isn't in any usage. 2021-11-06 19:44:59 +11:00
Mitch Richters
3778327818 - Duke: Back up rotscrnang if script sets target to new value so we can interpolate the changes. 2021-11-06 17:57:37 +11:00
Mitch Richters
1bb0c04e61 Revert "- Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage."
This reverts commit 276c000f9f.

* This was added for testing/debugging etc but it really doesn't work unless the QAV is built for it. As such, just get rid of it.
2021-11-06 17:32:55 +11:00
Mitch Richters
8bd2b960ee - Blood: Consolidate duplicated code in viewUpdateShake() into a lambda. 2021-11-06 15:14:25 +11:00
Mitch Richters
7499c84d0b - Add interpolatedhorizon() inlines to handle interpolating fixedhoriz objects without having to convert old and new values back to Q16.16 first. 2021-11-06 14:07:58 +11:00
Christoph Oelckers
389f760d45 - address C++20 deprecation warnings with enums in floating point arithmetic. 2021-11-02 23:32:31 +01:00
Mitch Richters
59850fa768 - SW: When adjusting horizon in DoPlayerDeathHoriz(), just use integer horizon values and not Q16.16. 2021-11-02 10:29:31 +11:00
Mitch Richters
523285b9b0 - Duke (RR): Clean up some unnecessary FixedToFloat() usage with the fixedhoriz asbuildf() method. 2021-11-02 10:29:26 +11:00
Christoph Oelckers
86166f5e67 Revert "- xs_Float.h: Make all inlines return an unsigned value, and change previous unsigned inlines to signed."
Revert "- `xs_Float.h`: Add `getint()` getter to `_xs_doubleints` struct."
Revert "- SW: When adjusting horizon in `DoPlayerDeathHoriz()`, just use integer horizon values and not Q16.16."
Revert "- Duke (RR): Clean up some unnecessary `FixedToFloat()` usage with the `fixedhoriz` `asbuildf()` method."
Revert "- `binaryangle.h`: Use `constexpr` on inline functions where it was previously not possible to do so."
Revert "- `m_fixed.h`: Use `constexpr` on inline functions where it was previously not possible to do so."
Revert "- `xs_Float.h`: Convert header to `constexpr`."

This does nor work as it violates the constexpr rules for unions. The code will error out on compilation for accessing an inactive member of a union.
2021-11-01 20:25:38 +01:00