Christoph Oelckers
4f2170655c
- animateoffs cleanup and consolidation
...
This was rewritten based on specs alone - it still doesn’t look that different due to its simplicity.
2022-08-05 23:32:16 +02:00
Christoph Oelckers
ec66f39535
- replaced a few naked chars with better types.
2022-08-05 17:04:46 +02:00
Christoph Oelckers
c2fc7577db
- cleanup of 3D viewport code.
...
Removes all the hackery that Polymost needed and now uses a sane struct to store the info.
2022-08-05 17:04:45 +02:00
Christoph Oelckers
b60181eed5
- variable cleanup.
2022-08-03 15:58:18 +02:00
Christoph Oelckers
291726cc55
- removed the Polymost renderer.
2022-08-03 15:50:27 +02:00
Mitchell Richters
00e12ea031
- Remove some uses of xs_Float.h
functions in game-side code where overflow protection isn't needed.
...
* Went a little bit nuts and just used this everywhere back way back when.
2022-07-23 10:37:32 +10:00
Christoph Oelckers
6c915d7940
- Blood may not abort on a bogus start position.
...
There seem to be ways to override it elsewhere.
The initial position gets used by some code, so it still needs to be validated, though.
2022-07-12 09:52:30 +02:00
Mitchell Richters
71fb91940d
Revert "- Simplify PlayerHorizon::settarget()
by adding a dedicated angle setter that resets interpolated value as well."
...
This reverts commit 0416834d9d
.
Revert "- Simplify `PlayerAngle::settarget()` by adding a dedicated angle setter that resets interpolated value as well."
This reverts commit 5a550613f3
.
Revert "- Add bool `lock` to `PlayerHorizon::settarget()` when setting target from the ticker without having to call setters and resetters."
This reverts commit 18541d1ab4
.
Revert "- Add bool `lock` to `PlayerAngle::settarget()` when setting target from the ticker without having to call setters and resetters."
This reverts commit 1ac58dc41c
.
* We need to ensure only the ticker can unlock the player's input if it's telling us to lock the input.
2022-06-06 18:41:45 +10:00
Mitchell Richters
1ac58dc41c
- Add bool lock
to PlayerAngle::settarget()
when setting target from the ticker without having to call setters and resetters.
2022-05-30 21:24:02 +10:00
Mitchell Richters
18541d1ab4
- Add bool lock
to PlayerHorizon::settarget()
when setting target from the ticker without having to call setters and resetters.
2022-05-30 21:22:24 +10:00
Mitchell Richters
5a550613f3
- Simplify PlayerAngle::settarget()
by adding a dedicated angle setter that resets interpolated value as well.
2022-05-30 21:22:10 +10:00
Mitchell Richters
7282e0d8bf
- Remove multiple addadjustment()
/settarget()
overloads in favour of native binangle
/fixedhoriz
versions only.
...
* Simplifies these classes a bit.
* Better shows intent in actual game code.
* Removes unnecessary int to double conversions.
2022-05-30 20:35:41 +10:00
Christoph Oelckers
aab13addb7
-renamed spritetype’s owner field to ‚intowner‘
...
Mainly for easier searching.
Also remove the duplicate ‚detail‘ field.
2022-05-24 00:30:41 +02:00
Christoph Oelckers
84bafe6d02
- manual merge of latest nnext update.
2022-05-11 08:31:58 +02:00
Christoph Oelckers
acb244653c
- several more Blood fixes copied from NBlood
2022-05-06 01:40:27 +02:00
Christoph Oelckers
83499740c3
- blood: GetHighestSprite fix
...
copied from NBlood f984eb8f5cb52653c301e015e34e8471d9ed8b7c
2022-05-06 01:28:21 +02:00
Christoph Oelckers
d85a8b6507
- blood: fix velCeil calculation
...
copied from NBlood 397992b6d5acd9c839db78dafde3a9a718b2503f
2022-05-06 01:26:38 +02:00
Christoph Oelckers
219970f626
- blood: SetupGibWallState fix
...
copied from NBlood f53f40ee79750aaadf1eeb4adc72a2cca034d8a2
2022-05-06 01:25:17 +02:00
Christoph Oelckers
4c139a2609
- blood: add missing case in OperateSprite
...
copied from NBlood 87315860a45dc16942f8e3c36290a856c886d619
2022-05-06 01:23:14 +02:00
Christoph Oelckers
5c9730766d
- dd self check for burning cultist fix
...
Fix issue with spawned kDudeBurningCultist dudes entering water
Copied from NBlood ae80eef10fdd42224c7b6e782f259ba23c1069e7
2022-05-06 01:21:48 +02:00
Christoph Oelckers
aab0a4f129
- renamed a variable
2022-05-06 01:17:18 +02:00
Christoph Oelckers
2576de04b8
- Renamed checkFired6or7->checkLitSprayOrTNT
...
replicates NBlood 285ad39455556ede31a0a94796a324ac43d1e3ef
2022-05-06 01:16:10 +02:00
Christoph Oelckers
67339d18ae
- use symbolic constants
...
Should be given real names, actually ;)
2022-05-06 01:14:58 +02:00
Christoph Oelckers
b26917f848
- Reset thinkTime for kDudeModernCustomDude
...
copied from NBlood commit a32f6d5f47f06ea3e97b66bdb4dcfafd319961ac
2022-05-06 01:11:44 +02:00
Christoph Oelckers
1e356741f9
- Set inittype on actSpawnDude()
...
copied from NBlood commit 3fefdfa85bb86b5e8e951e886a6d13c769666215
2022-05-06 01:10:22 +02:00
Christoph Oelckers
ca423e15f0
- Check enemy type when adding to enemy level count
...
Fixes count issues with respawning enemies
copied from NBlood commit a6bbac4a213f6fb76a7c20b80da6b30c9ffc3064
2022-05-06 01:08:09 +02:00
Christoph Oelckers
dd1178df91
- Initialize viewbob members for playerResetPosture()
...
copied from NBlood commit 1d72f1deba850cf616e443647064fddfa192f543
2022-05-06 00:59:53 +02:00
Christoph Oelckers
84834b0095
-Fix kDudeModernCustomDude may not morphing during specific events
...
copied from NBlood commit 0fbf9a1b2efef997e9ab8ba16e0405acd8d860b0
2022-05-06 00:55:50 +02:00
Christoph Oelckers
98c985de73
- Renamed dword_138BB0 -> gCultTeslaFireChance
...
copied from NBlood commit c253f4af105b0c588d585f199cfc20021f4f6d4e
2022-05-06 00:50:18 +02:00
Christoph Oelckers
b452f53ff2
- stretch HUD flames in widescreen
2022-05-06 00:34:47 +02:00
Christoph Oelckers
c6f799dfff
- shadow positioning improvements from NBlood
2022-05-06 00:22:39 +02:00
Christoph Oelckers
80f9ade43a
- Blood: fix delirium being twice as fast
...
Copied from NBlood commit cc3c2f7f55bd9a865daee1e72442ef7af4f7d779
2022-05-06 00:05:44 +02:00
Christoph Oelckers
26179c56cf
- improved the secret hint management for Blood.
...
This now uses sprite and sector indices directly instead of encoding them into a larger number. Sprite secrets will use a $t prefix instead of $s now.
2022-03-20 12:47:23 +01:00
Christoph Oelckers
3114059145
- fixed sprite indices for map spawned sprites.
2022-03-20 12:08:47 +01:00
Rachael Alexanderson
735740e453
- add level names to title bar (and by proxy, to RPC)
2022-03-18 05:06:58 -04:00
1e1cf9dd9c
Fix tesla cultist prone state
2022-03-08 15:17:12 +01:00
Christoph Oelckers
b6eadbccb5
-Blood: fix crashes when trying to exit from a fatal error during startup.
...
soundEngine can be null here.
2022-02-21 00:26:51 +01:00
Christoph Oelckers
2f55d2a1c7
- Blood: fixed bad marker check in OperatePath
2022-02-20 23:28:20 +01:00
Christoph Oelckers
71943abed0
- changed math utilities to floating point coordinate system.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
6fbecf2348
- RR: cleaned up and floatified the mine cart code
2022-02-15 22:18:25 +01:00
Christoph Oelckers
13d01bc98b
- lower the value of MAXSO.
...
This was causing overflow issues and resulted in bad int <-> float conversions.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
a12093af04
- use full precision math for rotating sectors in Blood.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
02d508baef
- renamed floatified wall coordinate to 'pos'.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
cd55658786
- use floats for vertices.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
bc0e8b4a8d
- use a method for setting wall coordinates when loading a map.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
f44736a5b6
-use an access function for reading wall positions so that we have a non-modifiable value wherever this is possible.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
89ef81da55
- renamed walltype::pos as preparation for refactoring.
...
no functional changes here
2022-02-15 22:18:22 +01:00
carnivoroussociety
1d8a11601d
Fix ceiling panning angle
2022-02-15 16:02:00 +01:00
Christoph Oelckers
b82198b351
- Blood: fixed bad alignment flags for HUD flames.
2022-01-29 11:38:24 +01:00
Christoph Oelckers
f194fb6c90
- added a name to tilenum function so that we can define picnums by name in scripted actors.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
04a380ce14
- added script exports for DCoreActor's member variables.
2022-01-24 00:24:46 +01:00
Christoph Oelckers
e64a6f7e30
- Blood: Fixed choking hand with new renderer.
...
This gets directed to the weapon 3D drawer, but for that it was processed too late.
2022-01-23 12:23:55 +01:00
Christoph Oelckers
c11000e4cd
- Blood: do color highlighting for trigger messages, like NBlood does.
2022-01-22 09:38:01 +01:00
Mitchell Richters
f91f3eacca
- Blood: Fix off-by-one error in trProcessBusy()
loop.
...
* Originated from 0beb91e17e
.
2022-01-16 23:44:53 +11:00
Christoph Oelckers
3aff12cf4c
- sky management rework.
2022-01-16 12:12:43 +01:00
Christoph Oelckers
0beb91e17e
- Blood: don't use references to address gBusy.
...
This will fail if the callback in trProcessBusy adds new entries to the array which would invalidate the reference.
2022-01-16 12:02:38 +01:00
Christoph Oelckers
a13612ab9b
- Blood: allow bad start spots to pass for modern maps.
...
These can have alternative start spot definitions.
The error will still be printed, though.
2022-01-13 00:21:15 +01:00
Mitchell Richters
f8ffaa4be9
- Blood: Tidy up some missed kWeap
constants.
2022-01-12 22:22:54 +11: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
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
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
Christoph Oelckers
00ffc8b6a2
- Blood: fixed vertical wall texture interpolations.
2022-01-02 17:53:07 +01:00
Christoph Oelckers
7205319853
- Blood: clean up some variable mess in actFireVector
2022-01-02 17:23:01 +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
3b833029b0
- Blood: fixed interpolation of sprites on rotating sectors.
2022-01-02 13:00:55 +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
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
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
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
4bc32e2777
- use actors in the sloped sprite utilities.
2021-12-30 16:11:14 +01:00
Mitchell Richters
10a167ab42
- Blood: Replace XWALL
panYVel
with panVel.Y
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
a325dfec62
- Blood: Replace XWALL
panXVel
with panVel.X
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
f091a72db1
- Blood: Replace XSPRITE
targetz
with TargetPos.Z
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
431749cf6e
- Blood: Replace XSPRITE
targety
with TargetPos.Y
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
1d29716e6b
- Blood: Replace XSPRITE
targetx
with TargetPos.X
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
22275a16f6
- Blood: Replace DBloodActor
zvel
with vel.Z
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
ce08fd4304
- Blood: Replace DBloodActor
yvel
with vel.Y
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
a9e66ec553
- Blood: Replace DBloodActor
xvel
with vel.X
calls.
2021-12-30 23:00:39 +11:00
Mitchell Richters
5badbd7884
- Blood: Replace game-side scale()
with backend Scale()
.
2021-12-30 20:46:38 +11:00
Mitchell Richters
4db3e91f24
- Blood: Remove some unused templated functions in common_game.h
.
2021-12-30 20:46:38 +11:00
Mitchell Richters
9bbb54fe2e
- Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries.
2021-12-30 20:30:21 +11:00
Christoph Oelckers
5061d5b37c
- tabified the rest of Blood's code.
2021-12-30 09:58:48 +01:00
Christoph Oelckers
b7d095b943
- tabified more Blood files.
2021-12-30 09:58:48 +01:00