Commit graph

8810 commits

Author SHA1 Message Date
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
5050947dca - PlayerAngle::applyinput(): Consolidate some mostly duplicated code into a lambda. 2021-11-06 17:57:00 +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
ed67d5d395 - PlayerHorizon::applyinput(): Only run through all the horizon to pitch and back code if we have input to process. 2021-11-06 15:34:10 +11:00
Mitch Richters
8bd2b960ee - Blood: Consolidate duplicated code in viewUpdateShake() into a lambda. 2021-11-06 15:14:25 +11:00
Mitch Richters
5f8c8fe0a4 - PlayerHorizon::applyinput(): Consolidate some mostly duplicated code into a lambda. 2021-11-06 15:07:28 +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
Mitch Richters
5ec5321034 - gameinput.h/cpp: Abstract the angle/horizon adjustment math into a few inlines to avoid repetition and having to cast enums as doubles for C++20 compliance. 2021-11-06 14:07:53 +11:00
Mitch Richters
4c02663842 - PlayerAngle::applyinput(): Re-add addition of +/- 1. when returning rotscrnang to 0 lost long, long ago. 2021-11-06 14:07:36 +11:00
Mitch Richters
ab99b6b29d - PlayerHorizon::calcviewpitch(): Make returning horizoff to 0 speed uniform across all games. 2021-11-06 13:31:29 +11:00
Mitch Richters
91f6b2954c - binangle class: Tidy up missed C++20 warning fixed about enum used in floating-point arithmetic. 2021-11-06 10:27:04 +11:00
Mitch Richters
0eb4ff4ad2 - PlayerHorizon::calcviewpitch(): Provide commentary on how numeric literals used in function came to be and place into an enum for clarity. 2021-11-06 10:27:00 +11:00
Mitch Richters
1df2ba80ed - PlayerAngle::applyinput(): Provide commentary on how numeric literals used in rotscrnang/look_ang/spin math came to be and place into an enum for clarity. 2021-11-06 10:26:54 +11:00
Mitch Richters
8e8dfa9f9a - PlayerHorizon::applyinput(): Provide commentary on how numeric literals used in aim/look up/down and return to centre math came to be and place into an enum for clarity. 2021-11-06 09:30:03 +11:00
Mitch Richters
c424f7c8dd - processMovement(). Remove cl_exhumedoldturn CVAR and tidy up numeric literals in use.
* In our older codebase before the input code was refactored, Exhumed's turning was broken and was only applying the base factor of 12, significantly slower than the other games.
* Upon doing some testing in PCExhumed, I noticed their turning was faster as when the counter meets its target, the turn value is shifted left by 2, effectively making it 48: b90417ed8e/source/exhumed/src/player.cpp (L336-L337)
* Removed this CVAR because of this.
* Reworked turning code so that pressing left+right together cancel each other out and that pressing both doesn't call `updateTurnHeldAmt(scaleAdjust)` twice.
* Redid turn averages factoring in Exhumed's speeds, rounded off values and stored in an enum for clarity.
2021-11-06 09:28:47 +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
Mitch Richters
d9bbe1fa61 - xs_Float.h: Make all inlines return an unsigned value, and change previous unsigned inlines to signed.
* Removes situations where calling `xs_CRoundToUInt()` and other unsigned inlines would go through extra casts (`uint32_t` > `int32_t` > `uint32_t`).
* Because the native data in the `_xs_doubleints` struct is a union of a double and `uint32_t`, it makes sense to do everything unsigned and convert to `int32_t` if needed instead.
2021-11-01 23:57:40 +11:00
Mitch Richters
d1274e76dc - xs_Float.h: Add getint() getter to _xs_doubleints struct. 2021-11-01 23:42:49 +11:00
Mitch Richters
3e25637385 - SW: When adjusting horizon in DoPlayerDeathHoriz(), just use integer horizon values and not Q16.16. 2021-11-01 23:37:32 +11:00
Mitch Richters
1363ed654c - Duke (RR): Clean up some unnecessary FixedToFloat() usage with the fixedhoriz asbuildf() method. 2021-11-01 23:37:32 +11:00
Mitch Richters
f3a2de92a4 - binaryangle.h: Use constexpr on inline functions where it was previously not possible to do so. 2021-11-01 23:37:31 +11:00
Mitch Richters
306c0a3ebb - m_fixed.h: Use constexpr on inline functions where it was previously not possible to do so. 2021-11-01 23:37:31 +11:00
Mitch Richters
a84aa84838 - xs_Float.h: Convert header to constexpr.
* Allow use of this library in static initialisers.
* Required re-arranging a little bit to order everything so inlines could be used without prototypes.
2021-11-01 23:37:31 +11:00
Mitch Richters
eb8b075727 - binaryangle.h: Change binangle bitshift operators to operate on signed value to properly handle angles > 1024. 2021-11-01 22:13:39 +11:00
Mitch Richters
a1570c185f - Duke: Remove posx/posy/posz variables and replace with points in the previously unionised pos vec3_t variable. 2021-10-31 17:52:52 +11:00
Mitch Richters
6ca6d5639b - SW: Fix horizon of camera screens originating from changes in 09a05f354c. 2021-10-31 11:06:13 +11:00
Mitch Richters
9495b9e6d0 - SW: Interpolate the player's weapon recoil.
* Reported as missing by @nashmuhandes.
2021-10-31 08:53:26 +11:00
Christoph Oelckers
e8f9afb174 - DoScaleSprite. 2021-10-30 17:30:03 +02:00
Christoph Oelckers
e84d61e80a - redid the iterators in _polymost.cpp. 2021-10-30 17:30:03 +02:00
Christoph Oelckers
d6bdc735d6 - patch up Blood's GetZRange to compile with getzrange_old being gone. 2021-10-30 17:30:03 +02:00
Mitch Richters
f0a347263a - SW: Replace use of getzrange_old() inline wrapper with getzrange() and remove inline wrappers. 2021-10-30 17:30:02 +02:00
Mitch Richters
1d39bb371e - Exhumed: Replace use of getzrange_old() inline wrapper with getzrange(). 2021-10-30 17:30:02 +02:00
Mitch Richters
add3481e40 - SW: Replace use of pushmove_old() inline wrapper with pushmove() and remove inline wrappers. 2021-10-30 17:30:02 +02:00
Mitch Richters
bdbe57a6b6 - Exhumed: Replace use of pushmove_old() inline wrapper with pushmove(). 2021-10-30 17:30:02 +02:00
Mitch Richters
0ee3b5af1c - Blood: Replace use of pushmove_old() inline wrapper with pushmove(). 2021-10-30 17:30:02 +02:00
Mitch Richters
adcdbdc931 - SW: Replace use of clipmove_old() inline wrapper with clipmove() and remove inline wrappers. 2021-10-30 17:30:02 +02:00
Mitch Richters
0ac63fd663 - Exhumed: Replace use of clipmove_old() inline wrapper with clipmove(). 2021-10-30 17:30:01 +02:00
Mitch Richters
b793bc8327 - Blood: Replace use of clipmove_old() inline wrapper with clipmove(). 2021-10-30 17:30:01 +02:00
Mitch Richters
0fe5ac6a56 - gameinput.h: Correctly use targetset() in PlayerHorizon and PlayerAngle structs. 2021-10-30 17:30:01 +02:00
Mitch Richters
15c4d38694 - gameinput.h: Add initial structure for PlayerPosition as companion to PlayerAngle and PlayerHorizon structs. 2021-10-30 17:30:01 +02:00
Mitch Richters
7ee4f49649 - gameinput.h: Remove some of the verticality from the PlayerHorizon and PlayerAngle structs. 2021-10-30 17:30:01 +02:00
alexey.lysiuk
9d310c7d6a - fixed compilation on Linux with glibc
source/glbackend/glbackend.h:201:22: error: use of undeclared identifier 'SHRT_MIN'
source/glbackend/pm_renderstate.h:93:15: error: use of undeclared identifier 'SHRT_MIN'
2021-10-30 16:26:16 +03:00
Christoph Oelckers
c7da8ca9d4 - fixed compilation on non-Windows.
In this header we must explicitly use the std:: namespace for min/max.
2021-10-30 11:38:55 +02:00
Christoph Oelckers
6e0fbb2043 - removed templates.h includes. 2021-10-30 10:51:03 +02:00
Mitch Richters
b02a6a3ec9 - Replace MIN() from templates.h with version provided in STL. 2021-10-30 10:36:15 +02:00
Mitch Richters
9894729fc2 - Replace MAX() from templates.h with version provided in STL.
# Conflicts:
#	source/common/textures/hw_ihwtexture.cpp
#	source/common/utility/templates.h
2021-10-30 10:36:02 +02:00
Christoph Oelckers
57b638f26f - use std::clamp instead of our homegrown version. 2021-10-30 10:35:00 +02:00
Mitch Richters
059a99f7c8 - Blood: Remove costable[]. 2021-10-30 10:24:16 +02:00
Mitch Richters
5a57beb343 - Blood: Replace remaining uses of costable[] with Sin() inlines. 2021-10-30 10:24:16 +02:00
Mitch Richters
ad183b5a3e - Blood: Replace internals of Cos() to use sintable[] array instead of costable[] array. 2021-10-30 10:24:16 +02:00
Mitch Richters
79b3e10f2a - Blood: Replace internals of Sin() to use sintable[] array instead of costable[] array. 2021-10-30 10:24:15 +02:00
Mitch Richters
ead877450d - Blood: Replace CosScale16() with bsin() from backend. 2021-10-30 10:24:15 +02:00
Mitch Richters
3ec1767791 - Blood: Replace SinScale16() with bsin() from backend. 2021-10-30 10:24:15 +02:00
Mitch Richters
879e2f3ce4 - Build: Promote sintable[] array values to precision Blood uses in prep for replacing Blood's costable[]. 2021-10-30 10:24:15 +02:00
Mitch Richters
e699c264f0 - Blood: Fix missed change integer to enum change for StartQAV() call missed from 77704d54d9. 2021-10-30 10:24:15 +02:00
Mitch Richters
98d3850b95 - Blood: Fix horizon adjustment for death camera to avoid Fixed > Float > Fixed conversion. 2021-10-30 10:24:14 +02:00
Mitch Richters
20d958e0a9 - Exhumed: Don't run through the slopetilting math if the view is locked. 2021-10-30 10:24:14 +02:00
Mitch Richters
738491d9e5 - Exhumed: Repair player look/aim code. 2021-10-30 10:24:14 +02:00
Mitch Richters
8f679ecf61 - Exhumed: Repair math for chase camp gi functions. 2021-10-30 10:24:14 +02:00
Mitch Richters
3663c4c742 - Split out sine/cosine scaling from bsinf() and bcosf() into its own inline. 2021-10-30 10:24:14 +02:00
Mitch Richters
07fc3b77b1 - Privatise tosigned() method in binangle class. 2021-10-30 10:24:14 +02:00
Mitch Richters
156b796e0b - Cleanup header duplicates in g_pch.h. 2021-10-30 10:24:14 +02:00
Christoph Oelckers
9071949a46 - backend upate from GZDoom
* Vulkan SDK and dependencies updated.
* better interface for buffers in the render backend.
2021-10-30 09:34:38 +02:00
Christoph Oelckers
509124c1dd - redid SW action interface to use a separate wrapper class from USER.
Turned out that not all sprites in the world have a USER, so we need something different to wrap the game's sprite data.
2021-10-29 20:55:31 +02:00
Christoph Oelckers
8bad95c7c6 - reinstated deleted saveable_code entries with dummy pointers.
This is to preserve savegame compatibility for now.
Later the code pointer saving needs a thorough cleanup.
2021-10-29 09:16:07 +02:00
Christoph Oelckers
e241e7dc52 - SW: changed Animator interface to use USERp parameters. 2021-10-28 23:37:07 +02:00
Christoph Oelckers
bb3a141c42 - fixed last commit. 2021-10-28 23:16:03 +02:00
Christoph Oelckers
7e191fb29b - fixed damage amount in the runlist dispatcher. 2021-10-28 23:04:50 +02:00
Christoph Oelckers
f1b40b7878 - bumped savegame version for Exhumed. 2021-10-28 18:59:40 +02:00
Christoph Oelckers
91ecda2fcb - cleaned up the run list interface.
Due to serialization concerns it still isn't optimal, though, because we cannot get rid of the index table yet.
2021-10-28 18:57:50 +02:00
Christoph Oelckers
791240786d - use a wrapper function to check for the radial damage event. 2021-10-28 18:43:54 +02:00
Christoph Oelckers
7a65cc46d0 - moved AI wrappers out of the main sources.
This is mainly to reduce commit noise for what follows. These functions will soon be deleted.
2021-10-28 18:39:49 +02:00
Christoph Oelckers
3842936012 - feebtag. 2021-10-28 14:25:28 +02:00
Christoph Oelckers
07ad50d97c - sound API 2021-10-28 14:23:31 +02:00
Christoph Oelckers
97b4116f28 - run list API 2021-10-28 14:23:15 +02:00
Christoph Oelckers
4197a7ed84 - BlockInfo 2021-10-28 14:08:53 +02:00
Christoph Oelckers
3a5ea07951 - some smaller changes. 2021-10-28 14:06:36 +02:00
Christoph Oelckers
ee03eb1b3d - movement and elevators. 2021-10-28 13:54:36 +02:00
Christoph Oelckers
9cfd682c9e - eliminated Player::nSprite. 2021-10-28 13:54:09 +02:00
Christoph Oelckers
076a995c6e - besttarget and Player::nTarget. 2021-10-28 13:51:32 +02:00
Christoph Oelckers
8e13bb6e35 - RestartPlayer, plus wrapper removal. 2021-10-28 13:43:39 +02:00
Christoph Oelckers
2195bc0b76 - got rid of several inline wrappers. 2021-10-28 10:51:12 +02:00
Christoph Oelckers
2b8893762c - movesprite family mostly done. 2021-10-28 10:46:16 +02:00
Christoph Oelckers
30541b09a4 - PlotCourseToSprite, FindPlayer and GetUpAngle. 2021-10-28 09:57:35 +02:00
Christoph Oelckers
49c1163a33 - eliminated AngleChase inline. 2021-10-28 09:54:10 +02:00
Christoph Oelckers
be19dbb2ce - nDoppleSprite 2021-10-28 09:47:29 +02:00
Christoph Oelckers
eae1d589ec - playerFloorSprite 2021-10-28 09:25:13 +02:00
Christoph Oelckers
1e10cef556 - PostProcess 2021-10-28 09:21:49 +02:00
Christoph Oelckers
9d642e18e7 - BuildDrip / ProcessTrailSprite 2021-10-28 08:51:50 +02:00
Christoph Oelckers
e6c7e5bc18 - radial stuff. 2021-10-28 08:32:08 +02:00
Mitch Richters
4030a18245 Merge branch 'master' into whaven 2021-10-28 09:45:52 +11:00
Christoph Oelckers
df9d1b1ceb - the rest of object.cpp 2021-10-27 23:04:33 +02:00
Christoph Oelckers
b59cb67f05 - Object, part 1. 2021-10-27 23:03:59 +02:00
Christoph Oelckers
d3e55739c7 - energy blocks. 2021-10-27 23:02:56 +02:00
Christoph Oelckers
51202cba78 - nFinaleSpr. 2021-10-27 20:58:13 +02:00
Christoph Oelckers
b480bb3634 - BuildSpark 2021-10-27 20:56:43 +02:00
Christoph Oelckers
56d0f41a36 - BuildTrap 2021-10-27 20:56:43 +02:00
Christoph Oelckers
11912486de - moved all loose player related arrays into the Player struct. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
c01c9122de - slideData cleanup. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
73d415369d - AddFlow API cleanup. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
6bf6ac5b34 - Flashes 2021-10-27 20:56:42 +02:00
Christoph Oelckers
a4306d9bab - renamed some fields. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
ca6724a3f5 - make nNetStartSprite an actor array. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
1591d6fbdb - Regenerates.
MP only so not really relevant - the code looked broken anyway.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
2f511b3cff - UseItem + subfunctions. 2021-10-27 20:56:41 +02:00
Christoph Oelckers
d04d92fd49 - destroyItemAnim, other replacements in AIPlayer::Tick 2021-10-27 20:56:41 +02:00
Christoph Oelckers
587cd09e8e - BuildItemAnim 2021-10-27 20:56:41 +02:00
Christoph Oelckers
6a1423d92f - sprite[] in gun.cpp. 2021-10-27 20:56:41 +02:00
Christoph Oelckers
9ef4f0fa99 - Gravity function. 2021-10-27 20:56:41 +02:00
Christoph Oelckers
5234481370 - fixed bad actor conversion. 2021-10-27 20:56:30 +02:00
Christoph Oelckers
14ccb74aac - for radial damage the 'other' actor is always undefined. 2021-10-27 16:12:56 +02:00
Christoph Oelckers
f60d20b50a - handle the grenade. 2021-10-27 15:46:18 +02:00
Christoph Oelckers
525ea72bfa - use pointers for grenades. 2021-10-27 00:37:17 +02:00
Christoph Oelckers
6b3aa44211 - first pass over grenade.cpp.
Mainly field renaming.
2021-10-27 00:37:17 +02:00
Christoph Oelckers
c9d391634d - some missing queen bits. 2021-10-27 00:37:17 +02:00
Christoph Oelckers
2a28908b1a - pass radial damage inflictor through event struct 2021-10-27 00:30:57 +02:00
Christoph Oelckers
a09f2d8a51 - migrated deletesprite calls in spawn function. 2021-10-27 00:25:00 +02:00
Christoph Oelckers
6d3f9ca0d6 - migrated a few functions to use actors. 2021-10-27 00:24:28 +02:00
Christoph Oelckers
345667f945 - handle the remaining old-style iterators. 2021-10-27 00:18:23 +02:00
Christoph Oelckers
2397bf48f2 - fixed uninitialized ObjectList.
This needs to clear each entry each time it is allocated for use.
The object where this frequently caused problems is the drum being spawned by the Anubis drummers.
2021-10-26 23:52:21 +02:00
Christoph Oelckers
75b8a0579e - elevator stuff. 2021-10-26 22:08:26 +02:00
Christoph Oelckers
c59ec14ba4 - fixed wasp event dispatcher to pass along the damage amount. 2021-10-26 21:55:59 +02:00
Christoph Oelckers
331ba71473 - BuildCreatureChunk wrapper. 2021-10-26 21:15:07 +02:00
Christoph Oelckers
70a7656619 - handle the queen itself. 2021-10-26 21:10:51 +02:00
Christoph Oelckers
52ab800548 - QueenAngleChase. 2021-10-26 20:52:25 +02:00
Christoph Oelckers
ae271b272a - made QueenEgg use actor pointers. 2021-10-26 20:13:03 +02:00
Christoph Oelckers
47929972c0 - replaced sprite indices in QueenHead. 2021-10-26 19:55:20 +02:00
Christoph Oelckers
c7d4779b7e - fixed some warnings. 2021-10-26 18:54:43 +02:00
Christoph Oelckers
839292ac91 - renamed fields in the queen structs to match DExhumedActor. 2021-10-26 18:50:46 +02:00
Christoph Oelckers
c4ea5cf336 - restore original krand formula.
Note: The only game module actually using this is Duke/RR.
2021-10-26 18:48:54 +02:00
Christoph Oelckers
3971c8ffd2 - fixed compilation 2021-10-26 08:13:23 +02:00
Christoph Oelckers
ae786bff98 - removed the last references to sprite[] in bullet.cpp. 2021-10-25 23:16:35 +02:00
Christoph Oelckers
99e189fa2b - IgniteSprite 2021-10-25 23:15:59 +02:00
Christoph Oelckers
c1598185f7 - parameter cleanup of BuildBullet. 2021-10-25 23:09:01 +02:00
Christoph Oelckers
eece69fbbd - renamed variables in BuildBullet and removed unused parameters. 2021-10-25 23:07:58 +02:00
Christoph Oelckers
fa657e23a3 - bullet.cpp, enemy pointer. 2021-10-25 23:07:42 +02:00
Christoph Oelckers
3d35ceecb0 - bullet.cpp, first part. 2021-10-25 22:24:20 +02:00
Christoph Oelckers
bf1f87eff9 - converted Ra. 2021-10-25 21:19:32 +02:00
Christoph Oelckers
d023f9633a - converted the snake 2021-10-25 21:09:33 +02:00
Christoph Oelckers
4980e0ea41 - refactor Set to use actors. 2021-10-25 19:02:44 +02:00
Christoph Oelckers
48a5448f94 - access SetList through a pointer. 2021-10-25 18:57:10 +02:00
Christoph Oelckers
0b37c9afec - did the bubbles. 2021-10-25 17:52:31 +02:00
Emile Belanger
14ebe23f0d Fix compilation with USE_GLES2 = 1 2021-10-25 17:50:48 +02:00
Christoph Oelckers
5cc1a8934e - refactored Anim to use actors. 2021-10-24 21:50:03 +02:00
Christoph Oelckers
3b0df0e9b4 - renamed fields in Anim to match DExhumedActor. 2021-10-24 20:14:36 +02:00
Christoph Oelckers
e8e0294929 - access AnimList through a pointer. 2021-10-24 20:06:46 +02:00
Christoph Oelckers
43e849ca40 - BuildSplash and BuildExplosion. 2021-10-24 19:18:11 +02:00
Christoph Oelckers
a7b71c724e - use the actor variant of BuildAnim wherever trivially doable. 2021-10-24 19:12:06 +02:00
Christoph Oelckers
5ff8852d12 - refactor the wasp to use actors. 2021-10-24 18:35:13 +02:00
Christoph Oelckers
a46a8c21a3 - access WaspList through a pointer. 2021-10-24 13:15:40 +02:00
Christoph Oelckers
2c8da6fe72 - refactor the spider to use actors. 2021-10-24 13:06:41 +02:00
Christoph Oelckers
6821fef5e1 - refactor scorpion to use actors. 2021-10-24 12:22:32 +02:00
Christoph Oelckers
6903404718 - access scorpion through a pointer. 2021-10-24 12:20:26 +02:00
Christoph Oelckers
937e71cfbb - refactor Roach to use actors. 2021-10-24 12:11:33 +02:00
Christoph Oelckers
3a051b8acb - access RoachList through a pointer. 2021-10-24 12:10:18 +02:00
Emile Belanger
ff009cbf7a Re-enable depth clamping 2021-10-24 12:06:54 +02:00
Christoph Oelckers
f0f0ca020b - refactor rex to use actors. 2021-10-24 10:59:45 +02:00
Christoph Oelckers
1cf616c7ba - access RexList through a pointer. 2021-10-24 10:58:27 +02:00
Christoph Oelckers
821f3d356b - renamed DDukeActor::GetIndex to GetSpriteIndex to bring it in line with the other games. 2021-10-24 09:22:35 +02:00
Christoph Oelckers
7ebe492e94 - fixed map-spawned actor indexing in Blood.
This is needed for error reporting and the secret hint system.
2021-10-24 09:11:43 +02:00
Christoph Oelckers
d101a2b51f - removed pointless address check.
This array was once a pointer but the check was forgotten.
2021-10-24 08:26:10 +02:00
Christoph Oelckers
54fc724b25 - fixed bad initialization of local variable.
Probably went unnoticed because it is in an unlikely code path.
2021-10-24 08:24:02 +02:00
Christoph Oelckers
5d0ee1478c - fixed bad pointer comparison.
MSVC did not catch this, only GCC 11 and Clang errored out on this one. :(
2021-10-24 08:21:54 +02:00
Christoph Oelckers
da817a234b - fixed bad actor use in actCheckDudes. 2021-10-24 00:06:02 +02:00
Christoph Oelckers
e88627b72a - refactor the rat to use actors. 2021-10-23 21:57:13 +02:00
Christoph Oelckers
9c8fda9a4d - access RatList through a pointer. 2021-10-23 21:50:57 +02:00
Christoph Oelckers
cd97fdaa30 - refactor the mummy to use actors. 2021-10-23 20:49:03 +02:00
Christoph Oelckers
fab0fff1fe - access LionList through a pointer. 2021-10-23 20:06:48 +02:00
Christoph Oelckers
cd2c796574 - refactor the lion to use actors. 2021-10-23 19:37:04 +02:00
Christoph Oelckers
3de4bc29c1 - access LionList through a pointer. 2021-10-23 19:31:53 +02:00
Christoph Oelckers
77525cecf0 - refactor the lava dude to use actors. 2021-10-23 18:51:52 +02:00
Christoph Oelckers
f12faa9279 - access LavaList through a pointer. 2021-10-23 18:41:05 +02:00
Christoph Oelckers
657e5ef6be - refactor the fish to use actors. 2021-10-23 13:02:43 +02:00
Christoph Oelckers
f8cab790d4 - access FishList through a pointer.
To make the following commmit more readably.
2021-10-23 12:33:33 +02:00
Christoph Oelckers
5d7d4ce496 - fixed radial damage for actors. 2021-10-22 23:57:46 +02:00
Christoph Oelckers
0ac449ab95 - refactored Anubis.
This now stores its data in the actor, not a static array.
2021-10-22 22:09:02 +02:00
Christoph Oelckers
fa8edc7493 - quick replacement of some sprite[] accesses. 2021-10-22 22:05:02 +02:00
Christoph Oelckers
944b7b8776 - DeleteActor implementation. 2021-10-22 22:04:44 +02:00
Christoph Oelckers
491c27caa6 - fixed runlist handling for actor targets. 2021-10-22 22:04:04 +02:00
Christoph Oelckers
51ee9cf6c6 - fixed bad interpolation setup in AddFlow, plus some variable renaming. 2021-10-22 21:55:51 +02:00
Christoph Oelckers
4ee3505dde - Exhumed: fixed return value of BuildTrap 2021-10-22 08:06:24 +02:00
Mitch Richters
d30c94c709 - Blood: Re-fix lighter when changing from TNT to aerosol.
* Fixes #564.
2021-10-20 20:58:10 +11:00
Mitch Richters
fc73c67bb1 - Blood: Fix TNT pickup accidentally equipping player with voodoo doll.
* Fixes #544.
* Thanks to @carnivoroussociety for pointing me in the right direction.
2021-10-20 19:58:07 +11:00
Christoph Oelckers
1214f8ba00 - properly macro-fy parsed strings from Blood's INI. 2021-10-19 21:49:03 +02:00
Christoph Oelckers
4d94fa9b03 - Duke/RR: strip trailing spaces off strings parsed in CON. 2021-10-19 21:49:02 +02:00
Christoph Oelckers
6e919f2364 - Exhumed: fixed handling of torch messages for localization 2021-10-19 21:49:02 +02:00
Christoph Oelckers
2cece35902 Replaced sprite[] in some smaller functions 2021-10-19 21:49:02 +02:00
Mitch Richters
df88b23f63 - Blood: Backport GDX fix for lighter just appearing when switching to the aerosol.
* Fixes #564.
* Thanks to @carnivoroussociety for the heads up.
2021-10-19 11:20:44 +11:00
Christoph Oelckers
5a9978a27b - extended the run list to handle actor targets.
Also renamed fields to be more descriptive.
2021-10-17 16:22:25 +02:00
Christoph Oelckers
1b8d3f9a89 - Exhumed: some inlines for upcoming actor refactoring. 2021-10-17 15:21:29 +02:00
Emile Belanger
2a905e8026 Fix palette mode for GLES 2021-10-16 18:42:02 +02:00
Christoph Oelckers
86c58649ba - fixed black rendered sectors in Exhumed/Polymost.
More a hack than a fix, thanks to Polymost's poor state handling
2021-10-16 15:36:34 +02:00
Christoph Oelckers
33261db902 - some quick sprite[] replacements. 2021-10-16 15:36:34 +02:00
Christoph Oelckers
3419d6a901 - fixed compilation. 2021-10-16 15:36:34 +02:00
Christoph Oelckers
1839634d79 - small stuff 2021-10-16 15:36:33 +02:00
Christoph Oelckers
b1d15811c5 - make nBodygunSprite an actor array. 2021-10-16 15:36:33 +02:00
Christoph Oelckers
fe9ddabd35 - made nChunkSprite an actor array
# Conflicts:
#	source/games/exhumed/src/move.cpp
2021-10-16 15:36:33 +02:00
Christoph Oelckers
c2467dc47b - made nBodySprite an actor array.
# Conflicts:
#	source/games/exhumed/src/aistuff.h
#	source/games/exhumed/src/player.cpp

# Conflicts:
#	source/games/exhumed/src/aistuff.h
#	source/games/exhumed/src/player.cpp
2021-10-16 15:36:33 +02:00
Christoph Oelckers
dbe4aa3515 - renamed disassembly variables in bubbles.cpp.
# Conflicts:
#	source/games/exhumed/src/bubbles.cpp
#	source/games/exhumed/src/exhumedactor.h
2021-10-16 15:36:33 +02:00
Christoph Oelckers
0d0326f8c1 - argument of BelowNear 2021-10-16 15:36:32 +02:00
Christoph Oelckers
9badd2e78b - converted switches to classes. 2021-10-16 15:36:32 +02:00
Christoph Oelckers
601d358b49 - converted FuncWasp to a class. 2021-10-16 15:36:32 +02:00
Christoph Oelckers
8d7f37066f - converted FuncSpider to a class 2021-10-16 15:36:32 +02:00
Christoph Oelckers
5a424bdd06 - converted FuncSnake to a class. 2021-10-16 15:36:32 +02:00
Christoph Oelckers
61df236588 - converted FuncSet/FuncSoul to a class. 2021-10-16 15:36:32 +02:00
Christoph Oelckers
d77a5208f3 - converted FuncScorp to a class. 2021-10-16 15:36:31 +02:00
Christoph Oelckers
5418c4326f - converted FuncRoach to a class. 2021-10-16 15:36:31 +02:00
Christoph Oelckers
25de6fe4c5 - converted FuncRex to a class. 2021-10-16 15:36:31 +02:00
Christoph Oelckers
89d98ddf34 - fixed the rat.
- converted FuncRat to a class.
2021-10-16 15:36:11 +02:00
Christoph Oelckers
39ca524185 - converted FuncRa to a class. 2021-10-15 22:57:53 +02:00
Christoph Oelckers
335ebe9272 - converted queen funcs to classes 2021-10-15 22:55:03 +02:00
Christoph Oelckers
93b0a35927 - converted FuncPlayer into a class 2021-10-15 22:19:07 +02:00
Christoph Oelckers
f13e1f2127 - converted all FuncObjects to classes. 2021-10-15 22:14:14 +02:00
Christoph Oelckers
3bda4d5b07 - converted FuncMummy into a class 2021-10-15 22:02:06 +02:00
Christoph Oelckers
008825fe32 - converted FuncCreatureChunk into a class. 2021-10-15 21:58:07 +02:00
Christoph Oelckers
b772200dd4 - converted FuncLion into a class 2021-10-15 21:29:24 +02:00
Christoph Oelckers
45e7b7c4d5 - converted FuncLavaDude(Limb) into classes 2021-10-15 21:25:53 +02:00
Christoph Oelckers
e73725a40e - converted FuncGrenade into a class. 2021-10-15 21:20:28 +02:00
Christoph Oelckers
cdc7fba8a0 - converted AIFish(Limb) into classes 2021-10-15 21:17:25 +02:00
Christoph Oelckers
8f9e9de4b4 - converted FuncBullets into a class. 2021-10-15 21:11:01 +02:00
Christoph Oelckers
832b394561 - converted FuncBubble into a class. 2021-10-15 21:07:58 +02:00
Christoph Oelckers
0fc490bf40 - converted FuncAnubis into a class. 2021-10-15 21:07:33 +02:00
Christoph Oelckers
ce78b23fb6 - converted FuncAnim into a class 2021-10-15 21:06:53 +02:00
Christoph Oelckers
d130a43aa0 - preparations for cleaning up Exhumed's event dispatcher. 2021-10-15 18:51:22 +02:00
Christoph Oelckers
b725adc426 - Exhumed: split up the message word for event messages. 2021-10-15 18:49:35 +02:00
Christoph Oelckers
2ee7be0382 - Exhumed: split up the value parameter of the run list. 2021-10-15 18:37:39 +02:00
Christoph Oelckers
719081824a - exhumedactor.h added. 2021-10-15 00:18:37 +02:00
Christoph Oelckers
d2beee587d - updated version.h. 2021-10-14 22:50:12 +02:00
Christoph Oelckers
2396c89fb9 - migrated EVENT to use its actor pointer. 2021-10-14 21:59:49 +02:00
Christoph Oelckers
f430c28f88 - split up evSend
# Conflicts:
#	source/games/blood/src/nnexts.cpp
2021-10-14 21:59:49 +02:00
Christoph Oelckers
efc791ee00 - route all remaining calls to evPost and evKill through type specific variants. 2021-10-14 21:59:41 +02:00
Christoph Oelckers
b64aede68e - made patrolBonkles local to the only function using this array. 2021-10-14 20:31:45 +02:00
Christoph Oelckers
71b144023d - renamed evPost to evPostActor and evKill to evKillActor for clarity. 2021-10-14 20:31:17 +02:00
Christoph Oelckers
0ab33b7ffe - need to pass the actor separately to getDataFieldOfObject.
We cannot use rxindex anymore.
2021-10-14 20:28:56 +02:00
Christoph Oelckers
e32ac93d96 - use the actor pointer in rxBuckets. 2021-10-14 20:27:36 +02:00
Christoph Oelckers
b449e0a43b - event redirectors for rxBuckets. 2021-10-14 20:26:42 +02:00
Christoph Oelckers
40a8cd7fa3 - playerQavSceneProcess handled for rxBuckets 2021-10-14 20:25:10 +02:00
Christoph Oelckers
db9d4efdc9 - handled 4 aiFight functions for rxBuckets. 2021-10-14 19:53:08 +02:00
Christoph Oelckers
0ef388538d - refactored 'mate' function for rxBucket. 2021-10-14 19:51:49 +02:00
Christoph Oelckers
1d04ce90e4 - first batch of rxBucket refactoring. 2021-10-14 19:49:18 +02:00
Christoph Oelckers
5d0086cb49 - renamed RXBUCKET.index to rxindex.
This will be needed for refactoring for easier lookup.
2021-10-14 19:41:22 +02:00
Christoph Oelckers
93e909dd58 - use actors in the CFX interface. 2021-10-14 19:41:01 +02:00
Christoph Oelckers
77c827e817 - renamed evKill and added an actor pointer to EVENT struct. 2021-10-14 19:37:53 +02:00
Christoph Oelckers
1e1764eda6 - got rid of fxSpawn. 2021-10-14 19:36:25 +02:00
Christoph Oelckers
085bd3a165 - replaced all fxSpawn calls with fxSpawnActor. 2021-10-14 19:35:05 +02:00
Christoph Oelckers
fbe2373972 - started cleanup of evPost calls by renaming the internal functions.
This just renames things - no changes in functionality.
2021-10-14 19:07:51 +02:00
Christoph Oelckers
2a1f31581c - added null pointer checks to all event callback functions. 2021-10-14 19:07:24 +02:00