Christoph Oelckers
1cfba8e989
- cleaned up the main thinker loops, using a flag to denote actors that are not on STAT_ACTOR but need to run CON code.
...
This should not be automatic as it may cause problems with mods not expecting this.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
cbb3b0ebfb
- preparations for the next script exports.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
9ad8f67ce9
- added isEffector inline and exported NATURALLIGHTNING which got a bit in the way.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
be6ead173a
- scriptified several smaller actors
2022-12-11 19:43:51 +01:00
Christoph Oelckers
0dc526899b
- scriptified FrameEffect
2022-12-11 19:43:51 +01:00
Christoph Oelckers
44d4e7a20a
- scriptified the mortar projectiles.
...
This was split off heavyhbomb for clarity and to avoid interference with the pickup code.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
0bc9023e17
- scriptified the pipe bomb and RR's dynamite, which is mostly the same thing.
...
The mortars were split off because they made the code too convoluted.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
ff6a9b89ac
- scriptified the green slimer.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
bc34746227
- scriptified transport vehicles.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
f1d6e0e6bb
- scriptified Duke's shooting gallery targets.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
5358b3d98c
- added a new sprite flag for those types which can trigger respawn actions.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
f89ccec829
- scriptified Duke's reactor.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
82515e1d76
- scriptified the World Tour's flamethrower#s fireball.
...
Also using a better method to mark the trailing balls than checking the owner.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
26d9511087
- scriptified the octabrain projectile.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
f2df8a162f
- scriptified Duke's spit projectile.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
fcd05e38c9
- scriptified the freezer projectile.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
f4bc5d6df8
- scriptified Duke's RPG.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
c1545a1eaa
- scriptified the shrink spark.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
a756b71647
- scriptified the firelaser projectile.
...
This also fixes the animation of the RR variant, which used a bad value with '&'.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
15fb7dab35
- virtualized the 'shoot' interface and scriptified the bloodsplats to test it.
...
This calls virtual functions on the actor defaults now to allow writing specific shoot functions for subclasses.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
8a921c98bd
- scriptified ooz.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
9d1384449c
- scriptified the Recon.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
7db953e0ea
- scriptified the force sphere.
...
Doesn't seem to be used anywhere, though...
2022-12-11 19:43:47 +01:00
Christoph Oelckers
6d9a8bfaa5
- scriptified the pool balls.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
f138798e26
- scriptified the rat.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
99413651b3
- scriptified the respawn marker.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
b485d7a450
- use isPlayer function where possible.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
786c335489
- added SFLAG2_NORADIUSPUSH flag.
2022-12-11 18:46:40 +01:00
Christoph Oelckers
93ef4b34d7
- scriptified the guts spawning function.
2022-12-11 18:46:40 +01:00
Christoph Oelckers
3ac8bd02f5
- scriptified the jibs
2022-12-11 18:46:40 +01:00
Christoph Oelckers
1b3f551216
- use a flag for outer space textures.
2022-12-11 18:42:02 +01:00
Mitchell Richters
dfb55c39ca
- Duke: Remove all remaining angle wrapper usage.
2022-12-11 18:42:00 +01:00
Mitchell Richters
bef4536c1f
- Remove old PlayerAngles
backup/restore methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
aa868232c8
- Clean up all previously annotated angle/yaw checks.
2022-12-11 18:41:58 +01:00
Mitchell Richters
be466fec8d
- Wrap access to current yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
15f1d89855
- Wrap access to current pitch.
2022-12-11 18:41:56 +01:00
Mitchell Richters
b9f5bb71cc
- Merge PlayerHorizon
and PlayerAngle
structs into PlayerAngles
struct.
2022-12-11 18:41:56 +01:00
Mitchell Richters
353c2a20fd
- Rename remaining PlayerAngle
methods.
2022-12-11 18:41:55 +01:00
Mitchell Richters
bd063de5f5
- Rename PlayerAngle::ang
in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
9ab8db04db
- Rename remaining PlayerHorizon
methods.
2022-12-11 18:41:54 +01:00
Mitchell Richters
401a829d54
- Rename PlayerHorizon::horiz
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
f027d07ae5
- Annotate all player angles that are being set as the sprite angles to review later.
...
* Once the angles between player and sprite have been unified, these will be much harder to identify.
2022-12-11 18:41:53 +01:00
Mitchell Richters
110cc5149d
- Annotate all sprite angles that are being set as the player angle to review later.
...
* Once the angles between player and sprite have been unified, these will be much harder to identify.
2022-12-11 18:41:53 +01:00
Mitchell Richters
2e0b9490e1
- Change spritetypebase::angle
to a DRotator named Angles
.
...
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Mitchell Richters
a5e35637ac
- Duke: Remove 2x player sprite Z setters that shouldn't be necessary.
2022-12-11 18:41:51 +01:00
Mitchell Richters
4848a844af
- Duke: Use getPosWithOffsetZ()
in a few places.
2022-12-11 18:41:51 +01:00
Christoph Oelckers
7188956702
- minor cleanup.
2022-12-11 18:41:50 +01:00
Mitchell Richters
39d1a758ed
- Remove DCoreActor::ZeroVelocityXY()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
66a08a26e8
- Duke: Remove player_struct::posoldX()
, player_struct::posoldY()
, and player_struct::posoldXY()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
27be72c7ec
- Duke: Remove player_struct::posGet()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
b42672dcf9
- Duke: Remove player_struct::posZget()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
78b04649f1
- Duke: Remove player_struct::posZset()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
92dd6c9795
- Duke: Remove player_struct::posXY()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
6f102e1171
- Duke: Remove player_struct::posX()
and player_struct::posY()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
b1bd59db41
- Duke: Clean up all player position calls referencing gs.playerheight
that don't need it when using the sprite height.
2022-12-11 18:41:42 +01:00
Mitchell Richters
29f2212d8f
- Duke: Remove player_struct::backupz()
in lieu of actor variant.
2022-12-11 18:41:42 +01:00
Mitchell Richters
a8c923f05c
- Duke: Remove player_struct::backupxy()
in lieu of actor variant.
2022-12-11 18:41:42 +01:00
Mitchell Richters
6eeedbd38a
- Duke: Move player_struct::restorexyz()
to DCoreActor::restorepos()
.
2022-12-11 18:41:42 +01:00
Mitchell Richters
a78d976352
- Duke: Remove player_struct::backupxyz()
in lieu of actor variant.
2022-12-11 18:41:42 +01:00
Mitchell Richters
202137ed69
- Duke: Fix interpolation issues with player's XY coordinates while drawing using the sprite.
2022-12-11 18:41:41 +01:00
Mitchell Richters
9972c65842
- Duke: Back up all sprites as soon as possible.
...
* The player's input is processed before the sprites were backed up, causing interpolation issues with the player's Z.
2022-12-11 18:41:41 +01:00
Mitchell Richters
fa16d5d344
- Duke: Wrap calls to player_struct::PlayerOldPosition.XY()
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
a3b1ab10fe
- Duke: Wrap calls that get player_struct::PlayerNowPosition
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
58381c6eca
- Duke: Wrap calls that set player_struct::PlayerNowPosition
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
25e6c4ecf8
- Duke: Wrap calls that get player_struct::PlayerNowPosition.Z
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
93189037c3
- Duke: Wrap calls that set player_struct::PlayerNowPosition.Z
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
008c05710b
- Duke: Wrap calls to player_struct::PlayerNowPosition.Y
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
3a07c05af7
- Duke: Wrap calls to player_struct::PlayerNowPosition.X
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
5d3878eb55
- Duke: Wrap calls to player_struct::PlayerNowPosition.XY()
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
4b7d2fcfcc
- Duke: Rename player's opos to something identifiable.
2022-12-11 18:41:38 +01:00
Mitchell Richters
4aa63b5446
- Duke: Rename player's pos to something identifiable.
2022-12-11 18:41:38 +01:00
Mitchell Richters
098542de69
- Duke: Call movetransports()
before processing any player movement.
...
* This simply works much better. In addition to being able to revert commits like `- Duke: Maintain x/y/z velocity when falling through a portal, such as E1L1's air duct.`, transitioning from above water to underwater and vice-versa is interpolated, smooth and seamless, something that I was unable to hack in without this change.
2022-11-30 09:53:51 +01:00
Mitchell Richters
641b22addf
Revert "- Duke: Maintain x/y/z velocity when falling through a portal, such as E1L1's air duct."
...
This reverts commit 1cb57a813948a494197e7df67dd6f58ae987b7db.
2022-11-30 09:53:51 +01:00
Christoph Oelckers
c9a94a4899
- fixed bad angle use in move_d.
2022-11-27 11:56:27 +01:00
Mitchell Richters
f1bfaac301
- Duke: Minor fixes to some angle checks.
2022-11-24 23:08:28 +11:00
Christoph Oelckers
6cb3e2f457
- Duke: fixed operator precedence in scrap spawning code.
2022-11-21 10:48:47 +01:00
Christoph Oelckers
ae37461feb
- one more stat constant.
2022-11-21 10:24:42 +01:00
Christoph Oelckers
a76d166966
- scriptified tongue actor.
...
This seems to be develpment garbage. No proper sprites exist for this.
2022-11-20 20:40:46 +01:00
Christoph Oelckers
5528725985
- got rid of deletesprite, plus one new flag.
2022-11-20 19:25:23 +01:00
Christoph Oelckers
9fa2fb75cf
- scriptified the respawn controller.
...
This also handles one special RRRA controller which was just easier to scriptify right away than temporarily work around it.
2022-11-20 11:58:19 +01:00
Christoph Oelckers
714a2ef70e
- scriptified canwithsomething, the last internal STAT_STANDABLE item.
2022-11-19 19:01:17 +01:00
Christoph Oelckers
dee33ba4dd
- scriptified viewscreen and camera.
2022-11-19 17:35:04 +01:00
Christoph Oelckers
046ba1ae0c
- scriptified touchplate
2022-11-19 15:40:35 +01:00
Christoph Oelckers
63a8c3148c
- scriptified doorshock
2022-11-19 15:40:21 +01:00
Christoph Oelckers
15cd80cad3
- scriptified the waterdrip
2022-11-19 15:40:09 +01:00
Christoph Oelckers
11acb92553
- scriptified the bolts.
2022-11-19 12:54:50 +01:00
Christoph Oelckers
676ca73983
- scriptified the trash actor.
2022-11-19 12:54:15 +01:00
Christoph Oelckers
5ae7011e41
- converted the masterswitch.
2022-11-19 11:24:39 +01:00
Christoph Oelckers
b106fb693a
- scriptified OozFilter + Seenine
...
Also fixing the default handling for onHit.
2022-11-17 21:46:24 +01:00
Christoph Oelckers
26ba1f601e
- scriptified the fire extinguisher.
2022-11-17 20:19:22 +01:00
Christoph Oelckers
f9826241ef
- scriptied the cracks.
2022-11-17 20:18:46 +01:00
Christoph Oelckers
8ce358fc24
- scriptified the trip bombs.
2022-11-17 18:38:25 +01:00
Christoph Oelckers
42e02d2956
- eliminated firstWall as well.
2022-11-15 15:44:33 +01:00
Christoph Oelckers
5798fa067f
- cleaned up all -> accesses through firstWall().
2022-11-15 15:33:35 +01:00
Christoph Oelckers
7d9a4ea70d
- eliminated wallsofsector.
2022-11-15 15:24:17 +01:00
Christoph Oelckers
84b17a8a53
- eliminate wall_count.
2022-11-15 14:59:28 +01:00
Christoph Oelckers
c23db8ea35
- wrapped all reads of sectortype::wallnum and renamed all other wallnum variables.
2022-11-15 12:21:21 +01:00
Christoph Oelckers
ad7cf290d2
- restricted use of gs.firstdebris to the only place where it is really needed.
...
Also no script export for this, it is only needed for converting CON parameters to propr indices.
2022-11-15 08:28:05 +01:00
Christoph Oelckers
d253468b22
- scriptified the scraps.
...
A Duke-ish mess of epic proportions.
2022-11-15 00:06:21 +01:00
Christoph Oelckers
e867c4603f
- Duke: fixed issues with CON-based movement.
...
Bad integer divisions and one incorrect check for X instead of Z.
2022-11-14 18:48:31 +01:00