Mitchell Richters
a90665732c
- Clean up other PlayerAngles interfaces for consistency.
2023-03-14 21:45:38 +11:00
Mitchell Richters
62561d863e
- Tidy up PlayerAngles::doPitchKeys()
interface by passing the whole sync packet through.
2023-03-14 21:45:37 +11:00
Christoph Oelckers
9783b8c402
- scriptified World Tour's flamethrowerflame.
...
The first of 3 mixed native/CON items which are the last things remaining in the main thinker loops.
2023-01-28 16:31:45 +01:00
Christoph Oelckers
97f14c0e0e
- Duke: fixed projectile offsetting for BOSS2 and BOSS3
2023-01-14 11:53:13 +01:00
Mitchell Richters
9a27cf025f
- Duke: Fix bad setup for stopping Duke's scream when putting the jetpack on.
2023-01-06 22:17:14 +11:00
Christoph Oelckers
220c1f0e76
- make sure the RPG's start spund plays.
...
This fix is just a temporary workaround due to the incomplete scriptfication
2023-01-04 20:20:10 +01:00
Christoph Oelckers
d064706f93
- got rid of wallpicnum and overpicnum.
...
All map geometry npw uses texture IDs and no longer depends on Build's tile system.
(What's missing is a new map format, though, but this was a necessary prerequisite to make that worthwile...)
2022-12-29 14:14:53 +01:00
Christoph Oelckers
f5e9e7d981
- got rid of most remaining references to wallpicnum and overpicnum.
...
What remains now needs changing the variables to texture IDs first.
2022-12-29 14:14:53 +01:00
Christoph Oelckers
95a2b85fae
- migrated the rest of the switch code to use the external data.
2022-12-29 13:35:21 +01:00
Christoph Oelckers
808fb3c433
- simplified several switch check blocks using the data from the definition files.
2022-12-29 13:32:30 +01:00
Christoph Oelckers
8c41294cb0
- overpicnum lightening.
...
Especially make sure that it is never set to tile 0. There seems to have been some undefined behavior here treating 0 as 'no texture', but doing so inconsistently.
2022-12-18 15:13:22 +01:00
Christoph Oelckers
8dfbbc8220
- migrated floorpicnum and ceilingpicnum to FTextures.
...
The sky code still needs some work.
2022-12-18 14:32:52 +01:00
Christoph Oelckers
622710ede4
- migrated all uses of floorpicnum.
...
This necessitated a few more surface type definitions.
2022-12-18 14:02:56 +01:00
Christoph Oelckers
4a306a21dc
- split several texture flags off into a surface type value.
...
Using the same field in the TexExtInfo struct as Blood's surfType.
This frees up a lot of flags for later use.
2022-12-18 13:56:54 +01:00
Christoph Oelckers
1a98f9b478
- Duke: change all checks for mirrors to texture IDs
2022-12-18 13:52:10 +01:00
Christoph Oelckers
0ffeb2378a
- generalize Duke's purple lava check.
2022-12-18 13:43:26 +01:00
Christoph Oelckers
6848af9b6c
- use texture IDs in Duke's texture flag checkers.
2022-12-18 13:42:28 +01:00
Christoph Oelckers
e9acd74157
- added a fallback in shoot_* for incompletely ported items.
2022-12-18 00:34:17 +01:00
Christoph Oelckers
e26d9106aa
- handle all occurences of tileWidth and tileHeight using spritetypebase::picnum.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
ede5b017ab
- renamed walltype::picnum to wallpicnum for easier searching.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a08db47528
- exported all breakable ceilings.
...
Very simple stuff with instant profit. :)
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a63ee8079a
- implemented customizable breakable walls and ported all hard coded variants to use this.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
e9b6e84d47
- renamed all tile constants for Duke to DTILE_*.
...
We need to be able to find them for the ongoing work
2022-12-11 19:43:57 +01:00
Mitchell Richters
2c592405fa
- Separate pitch/yaw key input into separate functions and apply from the ticker.
2022-12-11 19:43:56 +01:00
Mitchell Richters
968d0ae0d2
- Implement new scaled angle change setup and remove enforcement of synchronised input.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
cbb3b0ebfb
- preparations for the next script exports.
2022-12-11 19:43:53 +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
5358b3d98c
- added a new sprite flag for those types which can trigger respawn actions.
2022-12-11 19:43:50 +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
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
2ab5e63386
- added a few new actor flags.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
dbb7965550
- added two new flags for later use.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
9e29c3970d
- generic destructibles
2022-12-11 19:43:45 +01:00
Christoph Oelckers
c7cdf96a62
- exported two more settings to tile flags.
2022-12-11 18:42:02 +01:00
Christoph Oelckers
5a2819239c
- moved Duke's tile flags into the tile manager.
...
This is so that .def can access them. Later the other games also might make use of this.
2022-12-11 18:42:01 +01:00
Mitchell Richters
6c0493868e
- Implement new method for applying scaled angle changes.
...
* This method works more accurately to how an angle change would occur under interpolated circumstances.
2022-12-11 18:42:01 +01:00
Mitchell Richters
dfb55c39ca
- Duke: Remove all remaining angle wrapper usage.
2022-12-11 18:42:00 +01:00
Mitchell Richters
a7a5d4b946
- Preserve one legacy getter that's needed extensively in Duke.
2022-12-11 18:42:00 +01:00
Mitchell Richters
abdeeac205
- Rework PlayerAngles::doViewPitch()
to apply at ticrate like PlayerAngles::doViewYaw()
.
2022-12-11 18:41:59 +01:00
Mitchell Richters
f9aeee5b4a
- Split out view angle stuff out of PlayerAngles::applyYaw()
into PlayerAngles::doViewYaw()
.
...
* Do all the view angle stuff as interpolated changes in the playsim as well, there's no need for these to be done at ticrate.
2022-12-11 18:41:59 +01:00
Mitchell Richters
d7d76d5fc4
- Move all PlayerAngles view angle properties into new DRotator objects.
2022-12-11 18:41:58 +01:00
Mitchell Richters
bef4536c1f
- Remove old PlayerAngles
backup/restore methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
630c10856e
- Re-write PlayerAngles
scaled adjustment 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
b9f5bb71cc
- Merge PlayerHorizon
and PlayerAngle
structs into PlayerAngles
struct.
2022-12-11 18:41:56 +01:00
Mitchell Richters
d75ac9e445
- Rename PlayerAngle
prototypes in preparation for replacement work.
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
d810afa2e9
- Rename PlayerHorizon
prototypes 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
3758d93ad8
- Rename PlayerHorizon
getters in preparation for replacement work.
2022-12-11 18:41:54 +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
Christoph Oelckers
347d725ba0
- Duke: gave all switch animation phases proper texture names.
2022-12-11 18:41:52 +01:00
Mitchell Richters
4a6e2683f2
- Duke/RR: Properly fix movement()
so the player's Z always makes it back to floorz.
...
* The `abs(k)` here was really messing it up.
* RR's height of 40 is actually a fix of Duke's 38, which left the player slightly off the ground.
* Duke when returning from crouching, jumping, or otherwise changing the Z always correctly ends up at the floor's Z now.
2022-12-11 18:41:51 +01:00
Mitchell Richters
f10f1b9154
- Duke: Remove player_struct::posoldZset()
and player_struct::posoldZget()
.
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
4551274e7d
- Duke: Remove player_struct::posSet()
.
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
bd8a6dd956
- Duke: Remove player_struct::posZadd()
.
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
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
a78d976352
- Duke: Remove player_struct::backupxyz()
in lieu of actor variant.
2022-12-11 18:41:42 +01:00
Mitchell Richters
b0c95f69c5
- Duke: Wrap calls that get player_struct::PlayerOldPosition
.
2022-12-11 18:41:41 +01:00
Mitchell Richters
e4dd69f5b0
- Duke: Wrap calls that get player_struct::PlayerOldPosition.Z
.
2022-12-11 18:41:40 +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
e9dcffc5ec
- Duke: Route all clipmove()
/pushmove()
calls through a new interface that accepts a separated Z coordinate.
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
adc78c81c6
- Duke: Wrap calls that subtract from player_struct::PlayerNowPosition.Z
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
44166ae9e6
- Duke: Wrap calls that add to 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
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
Christoph Oelckers
dc60c643c9
- Duke: added an ammo check to the chaingun firing loop
...
With weapon switching disabled it would not stop firing.
2022-11-26 17:59:22 +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
8ce358fc24
- scriptified the trip bombs.
2022-11-17 18:38:25 +01:00
Christoph Oelckers
ac4be79e96
- implemented cl_weaponswitch for Duke.
2022-11-12 09:34:08 +01:00
Mitchell Richters
bd5d96df10
- Duke: Fix chaingunner spit velocity that was still in fixed point.
...
* Fixes #742 .
2022-11-11 21:34:23 +11:00
Mitchell Richters
60366d298e
- Duke: Use player's pitch sine rather than tangent when throwing a pipebomb while crouched.
...
* Maintains the feel of the weapon by having the pipebomb roll along the ground.
* Sign of sine is correct and allows for an expected throw behavior when looking up/down unlike original code.
* Prevents an infinite tangent value from messing things up.
2022-11-11 21:10:41 +11:00
Christoph Oelckers
a8585d72c7
- fixed velocity for Duke's pipe bomb and RR's dynamite when crouching.
...
These cases may not use the generic free aim adjustment.
2022-11-09 22:50:13 +01:00
Mitchell Richters
c8114e7ed0
- Revert change to TAngle<T>
's /
operator that snuck in.
2022-11-07 15:43:00 +11:00
Mitchell Richters
3a1f1c7580
- Duke: Pitch-adjusted velocity for operateTripbomb()
when free-aiming.
2022-11-06 21:59:05 +11:00
Mitchell Richters
3908ec0c42
- Duke: Pitch-adjusted velocity for operateweapon()
when free-aiming.
2022-11-06 21:59:05 +11:00
Mitchell Richters
fe7c49fcac
- Duke: Pitch-adjusted velocity for shootlaser()
when free-aiming.
2022-11-06 21:59:05 +11:00
Mitchell Richters
9e60284ff6
- Duke: Pitch-adjusted velocity for shootlaser()
when free-aiming.
2022-11-06 21:59:05 +11:00
Mitchell Richters
1b499520a5
- Duke: Pitch-adjusted velocity for shootweapon()
when free-aiming.
2022-11-06 21:59:05 +11:00
Mitchell Richters
63917fd158
- Duke: Pitch-adjusted velocity for shootknee()
when free-aiming.
2022-11-06 21:59:05 +11:00
Mitchell Richters
a200db6f3a
- Duke: Pitch-adjusted velocity for shootstuff()
when free-aiming.
2022-11-06 21:59:05 +11:00
Mitchell Richters
73477a722c
- Duke: Pitch-adjusted velocity for shootshrinker()
when free-aiming.
2022-11-06 21:59:04 +11:00
Mitchell Richters
9f32eae1a7
- Duke: Pitch-adjusted velocity for shootflamethrowerflame()
when free-aiming.
2022-11-06 21:59:04 +11:00
Mitchell Richters
64f55726c9
- Duke: Pitch-adjusted velocity for shootfireball()
when free-aiming.
2022-11-06 21:59:04 +11:00
Mitchell Richters
33e2de70a2
- Duke: Pitch-adjusted velocity for shootrpg()
when free-aiming.
2022-11-06 21:59:04 +11:00
Mitchell Richters
8ec475aec8
- Replace clamped off tangent values with a linear interpolation of the player's pitch.
...
* Gives a tangent-like ramping where it's noticeable without having to use the tangent at all.
* Had to do homegrown lerper since we're not C++20 yet.
2022-11-06 21:59:04 +11:00
Christoph Oelckers
98e2fecd37
- another bunch of type conversion warnings fixed.
...
the ones in the findplayer functions are not critical in singleplayer.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
81341ce4a6
- unwrapped SetScale as well.
...
Again no edits here - it's one big replace action.
2022-10-30 16:51:33 +01:00
Christoph Oelckers
85b52b1c77
- removed Scale(), CopyScale() and MultScale wrappers.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
51768439a9
- started removing wrappers. ScaleX() and ScaleY() done.
...
No manual changes in here.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
2a4483e860
- all remaining repeats in Duke except spawn_d and spawn_r
2022-10-30 16:51:27 +01:00
Christoph Oelckers
1a22127123
- refactoring CreateActor - part 1
2022-10-30 16:51:26 +01:00
Christoph Oelckers
fb164450a7
- use MultScale
2022-10-30 16:51:25 +01:00
Mitchell Richters
80f4124b17
- Duke: Fix integer division in shootrpg()
.
...
* Stems from initial floatification in `- floatified Duke's shootrpg`.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
520d838a8c
- use Scale wrappers in global code and parts of Duke.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
8a8ef22e53
- mostly '>' comparisons with scale values.
2022-10-30 16:51:22 +01:00
Christoph Oelckers
a11a366697
- some automatic replacements.
2022-10-30 16:51:21 +01:00
Christoph Oelckers
cf5d787f40
- manual repeats in Duke.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
71d61b26df
- 34 more uses of SetScale.
2022-10-30 16:51:19 +01:00
Christoph Oelckers
e60fafec52
- got rid of most REPEAT_SCALE factors.
2022-10-30 16:51:19 +01:00
Christoph Oelckers
e6a97157d7
- several manual replacements with SetScale.
2022-10-30 16:51:18 +01:00
Christoph Oelckers
c7c3b2a20c
- added a SetScale method to spritetype and used it for all places setting x/yrepeat to 0.
2022-10-30 16:51:17 +01:00
Christoph Oelckers
03d6826fce
- first batch of set_const_clipdist replacements
2022-10-30 16:51:14 +01:00
Mitchell Richters
94941adce8
- Duke: Fix sign on 4x tangent offsets.
2022-10-30 16:51:12 +01:00
Mitchell Richters
ff1d51b4fe
- Fix 4x horiz negation issues.
2022-10-30 16:51:11 +01:00
Mitchell Richters
0600bf5860
- Negate everything to do with PlayerHorizon::__horiz
where appropriate, including some loose horizoff
members.
2022-10-30 16:51:11 +01:00
Christoph Oelckers
7d3babd678
- ported all pushmove calls to the float version.
2022-10-30 16:51:08 +01:00
Christoph Oelckers
600c2a0243
- map all clipmove calls to the version with a full float interface.
2022-10-30 16:50:48 +01:00
Mitchell Richters
8bc34f3dac
- Handle all remaining VecToAngle()
calls.
2022-10-27 16:55:53 +02:00
Mitchell Richters
e7dff22095
- Duke: Fix some badly negated angle setups.
2022-10-27 16:55:53 +02:00
Mitchell Richters
1e7cce28af
- VecToAngle() with delta()
inside to .Angle() replacements.
2022-10-27 16:55:53 +02:00
Mitchell Richters
9b98388215
- VecToAngle() with XY()
inside to .Angle() replacements.
2022-10-27 16:55:53 +02:00
Christoph Oelckers
22ccf33569
- floatified walldist parameter of getzrange
2022-10-25 07:07:14 +02:00
Mitchell Richters
d8a6471680
- Add fixedhoriz::Tan()
and replace most asbuildf()
calls with it.
2022-10-25 07:06:53 +02:00
Mitchell Richters
95cd74bdc0
- renamed slope functions so that the int versions get a special name.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
b2fd1fdaa4
- second part of final bsin replacement.
2022-10-22 12:09:54 +02:00
Christoph Oelckers
9a4c699f53
- floatify all 3 operateweapon functions.
2022-10-22 12:09:44 +02:00
Christoph Oelckers
c511e5dca9
- eliminated int_xvel
2022-10-22 11:33:16 +02:00
Christoph Oelckers
b712315ec3
- floatified playerJump
2022-10-22 11:33:14 +02:00
Christoph Oelckers
167e0ecd0e
- merge with processinput_d
...
- floatified processinput_d
2022-10-22 11:33:13 +02:00
Christoph Oelckers
47dc2e6b1f
- hitscan call in operatetripbomb
2022-10-22 11:33:13 +02:00
Christoph Oelckers
89cb29292c
- floatified operateJetpack
2022-10-22 11:33:13 +02:00
Christoph Oelckers
583a5bd0e3
- floatified playerisdead
2022-10-22 11:33:13 +02:00
Christoph Oelckers
30a3bba644
- many CreateActor calls converted to true floats.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
5ccefcb77b
- first round of CreateActor calls.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
13dd7260f5
- handle all remaining set_int_xvel and set_int_zvel.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
fdfd8c2a35
- change for pyoff
2022-10-22 09:34:15 +02:00
Christoph Oelckers
f52b361dfc
- floatified aim()
2022-10-22 09:34:14 +02:00
Christoph Oelckers
9591325876
- floatified return value of hits()
2022-10-22 09:34:13 +02:00
Christoph Oelckers
52dc48d671
- fixed spawn position calculation in shootflamethrowerflame.
2022-10-21 22:20:41 +02:00
Christoph Oelckers
45e2347006
- fixed velocity issues with shoot* functions.
2022-10-21 21:42:00 +02:00
Christoph Oelckers
99ca695333
- floatified the main shoot functions.
2022-10-21 00:00:09 +02:00
Christoph Oelckers
ef7a6f8c8d
- floatified remaining parts of shootflamethrowerflame.
2022-10-21 00:00:08 +02:00
Christoph Oelckers
9d8685096d
- floatified shootshrinker
2022-10-21 00:00:07 +02:00
Christoph Oelckers
0b58f2ea3c
- floatified shootmortar
2022-10-21 00:00:07 +02:00