Christoph Oelckers
5b8dd84361
- use setceilingtexture where textures are simply copied around
2022-12-18 13:52:10 +01:00
Christoph Oelckers
f3e652da84
- preparations and annotations for places in SW where textures are stored in tags.
2022-12-18 13:44:36 +01:00
Christoph Oelckers
5147826eeb
- consolidated precaching code and rewrote the core to work on texture IDs.
2022-12-18 13:37:54 +01:00
Christoph Oelckers
c34756e5f2
- cleanup of voxel init code.
...
The voxreserve array was never properly set up so it is gone now.
nextvoxid now gets set right before loading .def files.
2022-12-18 13:18:44 +01:00
Christoph Oelckers
8a789b9015
- voxel management cleanup.
...
Moving the voxel index into the texExtInfo array and removing most of Blood's and SW's special handling.
2022-12-18 13:18:43 +01:00
Christoph Oelckers
20edd800f9
- big texture system refactor.
...
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Mitchell Richters
cf5ba0886a
- SW: Properly guard the call to PlayerDeathReset()
in TerminateLevel()
.
...
* Stems from an oversight in 28b97486cd
.
* Fixes #796 .
2022-12-17 06:32:03 +11:00
Mitchell Richters
8bbf7f4e00
Revert "- SW: Revert last commit and apply changes directly in pp->setHeightAndZ()
so all bases are covered."
...
This reverts commit a643a74083
.
* Fixes #795
2022-12-16 08:44:38 +11:00
Mitchell Richters
a643a74083
- SW: Revert last commit and apply changes directly in pp->setHeightAndZ()
so all bases are covered.
2022-12-15 18:16:38 +11:00
Mitchell Richters
b83d321c4b
- SW: Don't use pp->setHeightAndZ()
when setting PLAYER_CRAWL_HEIGHTF
.
2022-12-15 18:06:07 +11:00
Mitchell Richters
28b97486cd
- SW: For single player games, call PlayerDeathReset()
from TerminateLevel()
and not DoPlayerDeathCheckKeys()
.
...
* This fixes issues where player stats like health, etc are shown onscreen as reset before the entire view reloads.
2022-12-11 19:46:27 +01:00
Mitchell Richters
b8a8164b24
- SW: Don't call DoSpawnTeleporterEffect()
upon death.
...
* This causes an air bubble to spawn above the player for a single tic, even while on land until the level truly restarts.
* Since we're restarting, its better to just not do this.
2022-12-11 19:46:27 +01:00
Mitchell Richters
9b73f46aff
- SW: Don't reset player pitch upon death.
...
* This _somewhat_ addresses #770 by hiding the effects of it.
* Since we re-init `Player::Angles` when a new actor is spawned, this all resets anyway.
2022-12-11 19:46:27 +01:00
Mitchell Richters
7d6eb2bae6
- Remove some pitch/yaw deltaangle additions in lieu of setting the angle directly.
...
* This deltaangle addition was needed with the old input setup.
2022-12-11 19:46:27 +01:00
Mitchell Richters
67b40ee1d5
- Convert angle in hud_drawsprite()
to work on true degrees, and in the right direction.
2022-12-11 19:46:26 +01:00
Christoph Oelckers
97d76a01e4
- SW: do a proper implementation for sprites which do not want texture animations.
...
Instead of hacking the picanm table it is far more preferable to flag the sprite as non-animating and let the renderer handle it.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
281b102fac
- gave all textures that were accessed with their "#0xxxx" name a descriptive names.
...
Only the fallback fonts were intentionally excluded because these are supposed to get the ART file content.
2022-12-11 19:45:18 +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
1258ddc551
- cleaned out tileHeight calls in SW's panel.cpp.
...
Direct access to tile numbers has been significantly reduced.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
f479f995a1
- transitioned all tileLeftOffset and tileTopOffset calls to use the texture manager.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
8b0e86e88b
- wrap a few more accesses to picnum variables
2022-12-11 19:44:00 +01:00
Christoph Oelckers
ffa265ae1d
- gave Blood's and SW's mirror/ROR tiles proper names.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
e5225e98e0
- migrated SW's portal setup code to texture IDs.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
fe3a32d692
- SW: fixed camera validation
2022-12-11 19:43:59 +01:00
Christoph Oelckers
a0722c55ea
- removed canvas hack stuff from Buildtiles after cleaning up the mess in SW.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
ede5b017ab
- renamed walltype::picnum to wallpicnum for easier searching.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
51ad64f71e
- initialize all special tiles to their intended type before starting the game.
...
This ensures that we have an immutable mapping of tile number to texture ID now.
2022-12-11 19:43:58 +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
470b4efac8
- Remove PlayerAngles::setYaw()
method usage and remaining associated code.
2022-12-11 19:43:56 +01:00
Mitchell Richters
491a42d2bb
- Remove PlayerAngles::addYaw()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
7a7758efaa
- Remove PlayerAngles::addPitch()
method usage.
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
Mitchell Richters
9437ea9622
- Move input vector rotation for Duke and SW into the playsim.
...
* The next commit needs this to ensure the vector is rotated using the most current angle.
2022-12-11 19:43:55 +01:00
Mitchell Richters
15b101870d
- Completely remove current scaled angle change setup.
...
* During this transition, temporarily enforce synchronised input at all times.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
67e807de26
- exported the tile flag setters to .def.
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
5a8612110d
- Process scaled angle adjustments in each game's render function, not from the input function.
...
* Previous config had the potential to call `I_GetInputFrac()` nearly twice in a row, which would have resulted in some hitching.
* Calling from each game's render function avoids the above and means we can start applying scaled angle changes one frame faster.
2022-12-11 18:42:01 +01:00
Mitchell Richters
2a284c73c9
- SW: Remove all remaining angle wrapper usage and the wrappers themselves.
2022-12-11 18:42:00 +01:00
Mitchell Richters
1aad5eacfa
- Remove all remaining legacy wrappers.
2022-12-11 18:42:00 +01:00
Mitchell Richters
e972818db5
- Tidy up modern crosshair/weapon offset drawers.
2022-12-11 18:41:59 +01:00
Mitchell Richters
25de63ffb5
- Cleanup of render draw code to use new angle getter.
2022-12-11 18:41:59 +01:00
Mitchell Richters
599a375d67
- Rename DCoreActor::interpolatedangle()
to DCoreActor::interpolatedyaw()
2022-12-11 18:41:59 +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
175b182805
- Invert rotscrnang
so it rolls forward, consistent with all other angles.
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
a84e09048e
- Change wrapper internals for current yaw to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
7f5b97a0b7
- Change wrapper internals for current pitch to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
850c988dfa
- Wrap access to previous yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
be466fec8d
- Wrap access to current yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
fd05d320ff
- Wrap access to previous pitch.
2022-12-11 18:41:56 +01:00
Mitchell Richters
15f1d89855
- Wrap access to current pitch.
2022-12-11 18:41:56 +01:00
Mitchell Richters
60a97f781e
- Add DCoreActor
pointer as PlayerAngles::pActor
, setting and nulling where the player's actor is set.
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
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
f305fbb370
- Rename PlayerAngle
getters in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
7d34288290
- Rename PlayerAngle::rotscrnang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
50cf22ec53
- Rename PlayerAngle::oang
in preparation for replacement work.
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
216fad7e18
- Rename PlayerHorizon::horizoff
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
0c53990c87
- Rename PlayerHorizon::ohoriz
in preparation for replacement work.
2022-12-11 18:41:53 +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
Christoph Oelckers
f103e33300
- fixed code up to the point where everything compiles again. Duke sounds are currently non-functional.
...
All Duke script code has been changed to use strings as sound names now, just like GZDoom these will be looked up at compile time.
Original Duke sound indices still exist but are now being managed as resource IDs, not sound engine indices anymore.
2022-12-11 18:41:51 +01:00
Mitchell Richters
e991116abf
- SW: Take full advantage of our floating point work for the wall blood drips.
2022-12-11 18:41:50 +01:00
Mitchell Richters
e3f6b5ff85
- SW: Clean up a useless test function.
2022-12-11 18:41:50 +01:00
Mitchell Richters
c43bde9b4d
- SW: Remove all the player oldpos
stuff.
...
* This only had one valid use, for a bad setup in `DoPlayerRun()` where `DoPlayerBob()` was called before `DoPlayerMove()`.
2022-12-11 18:41:49 +01:00
Mitchell Richters
703db0e3c3
- SW: Remove PLAYER::posGet()
.
2022-12-11 18:41:49 +01:00
Mitchell Richters
be06582062
- SW: Remove PLAYER::posAdd()
.
2022-12-11 18:41:49 +01:00
Mitchell Richters
7eba7aacbd
- SW: Remove last PLAYER::posSet()
calls.
2022-12-11 18:41:49 +01:00
Mitchell Richters
bf0f0345b3
- SW: Remove most PLAYER::posSet()
calls.
2022-12-11 18:41:49 +01:00
Mitchell Richters
0917434888
- SW: Remove PLAYER::posXY()
.
2022-12-11 18:41:49 +01:00
Mitchell Richters
ff75fa513a
- SW: Remove PLAYER::posZadd()
.
2022-12-11 18:41:48 +01:00
Mitchell Richters
3b961ccae9
- SW: Remove PLAYER::posZget()
.
...
- SW: Remove `PLAYER::posZget()`.
2022-12-11 18:41:48 +01:00
Mitchell Richters
fe795e6cfb
- SW: Remove PLAYER::posZset()
in favour of new utilities.
2022-12-11 18:41:48 +01:00
Mitchell Richters
f18512e270
- SW: Ladder fixes where centering of player was effectively occurring twice.
2022-12-11 18:41:48 +01:00
Mitchell Richters
7624f8b77d
- SW: Death sequence fixes.
2022-12-11 18:41:48 +01:00
Mitchell Richters
88bace9dd7
- SW: Slightly increase the range check in DoPlayerDeathHoriz()
.
2022-12-11 18:41:48 +01:00
Mitchell Richters
61086d7a8b
- SW: Don't bob the actual sprite's Z since we apply it as an offset in the draw code.
2022-12-11 18:41:48 +01:00
Mitchell Richters
e6044bc0fd
- SW: Repair player height issues.
2022-12-11 18:41:48 +01:00
Mitchell Richters
6d736aea19
- SW: Swap out the internals of the player's pos methods and get the game going again.
...
* Leave `PLAYER::PlayerOldPosition` for now.
2022-12-11 18:41:47 +01:00
Mitchell Richters
c14d1587f0
- SW: Move PLAYER
struct underneath include for swactor.h
.
...
* Needed by the next commit since the forward declaration isn't working.
2022-12-11 18:41:47 +01:00
Mitchell Richters
97a07cd83c
- SW: Wrap remaining calls to PLAYER::PlayerOldPosition
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
9ab5fd0801
- SW: Wrap calls to PLAYER::PlayerOldPosition.XY()
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
f711355f2f
- SW: Wrap calls that get PLAYER::PlayerPrevPosition
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
ad7a626b92
- SW: Wrap calls that set PLAYER::PlayerPrevPosition
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
2d351b2c28
- SW: Wrap calls that set PLAYER::PlayerPrevPosition.Z
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
bf833fcfa3
- SW: Wrap calls to PLAYER::PlayerPrevPosition.XY()
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
82e0e25b7e
- SW: Manual fixes to last commit I wanted to keep separate.
2022-12-11 18:41:46 +01:00
Mitchell Richters
a54d0f7639
- SW: Wrap calls that get PLAYER::PlayerNowPosition
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
964557ab6b
- SW: Wrap calls that add to PLAYER::PlayerNowPosition
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
11f9d82239
- SW: Wrap calls that set PLAYER::PlayerNowPosition
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
4bf202bee4
- SW: Wrap calls that get PLAYER::PlayerNowPosition.Z
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
4e0aa1add1
- SW: Wrap calls that add/subtract PLAYER::PlayerNowPosition.Z
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
6226d302f5
- SW: Wrap calls that set PLAYER::PlayerNowPosition.Z
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
7757288d33
- SW: Tidy up one vector equality test.
2022-12-11 18:41:45 +01:00
Mitchell Richters
7d0b2fba69
- SW: Wrap calls to PLAYER::PlayerNowPosition.XY()
.
2022-12-11 18:41:45 +01:00
Mitchell Richters
f0074a913e
- SW: Rename Player::oldpos
to Player::PlayerOldPosition
to make it easier to search upon.
2022-12-11 18:41:45 +01:00
Mitchell Richters
bf10d9816f
- SW: Rename Player::opos
to Player::PlayerPrevPosition
to make it easier to search upon.
2022-12-11 18:41:45 +01:00
Mitchell Richters
cf25884675
- SW: Rename Player::pos
to Player::PlayerNowPosition
to make it easier to search upon.
2022-12-11 18:41:45 +01:00
Mitchell Richters
17914db418
- SW: Utilise new weapon drawing offsets from the backend.
2022-12-11 18:41:38 +01:00
Mitchell Richters
ef52694365
- Improved crosshair drawing that factor's in look_ang better I've had stashed away for a little bit.
2022-11-30 10:03:52 +01:00
Mitchell Richters
a012fd8f94
- SW: Pitch-adjusted velocity for SpawnShell()
.
2022-11-30 10:03:52 +01:00
Mitchell Richters
84dbd935d7
- SW: Pitch-adjusted velocity for PlayerInitCaltrops()
.
2022-11-30 10:03:52 +01:00
Mitchell Richters
b6665a9855
- SW: Pitch-adjusted velocity for PlayerInitChemBomb()
.
2022-11-30 10:03:52 +01:00
Mitchell Richters
8193416e7e
- SW: Pitch-adjusted velocity for InitFireball()
.
2022-11-30 10:03:52 +01:00
Mitchell Richters
c8f4e8dab2
- SW: Pitch-adjusted velocity for InitMine()
.
2022-11-30 10:03:51 +01:00
Mitchell Richters
db2f9b9b13
- SW: Pitch-adjusted velocity for InitGrenade()
.
2022-11-30 10:03:51 +01:00
Mitchell Richters
9d0b146470
- SW: Pitch-adjusted velocity for InitSobjMachineGun()
.
2022-11-30 10:03:51 +01:00
Mitchell Richters
95a5e51283
- SW: Pitch-adjusted velocity for InitTurretLaser()
.
2022-11-30 10:03:51 +01:00
Mitchell Richters
a1791acf97
- SW: Pitch-adjusted velocity for InitTurretRail()
.
2022-11-30 10:03:50 +01:00
Mitchell Richters
01e326df9d
- SW: Pitch-adjusted velocity for InitTurretFireball()
.
2022-11-30 10:03:50 +01:00
Mitchell Richters
462576bc51
- SW: Pitch-adjusted velocity for InitTurretRocket()
.
2022-11-30 10:03:50 +01:00
Mitchell Richters
9299e5f813
- SW: Pitch-adjusted velocity for InitTurretMicro()
.
2022-11-30 10:03:50 +01:00
Mitchell Richters
86a7f7ca2c
- SW: Pitch-adjusted velocity for InitTankShell()
.
2022-11-30 10:03:49 +01:00
Mitchell Richters
b99dac1e56
- SW: Pitch-adjusted velocity for InitUzi()
.
2022-11-30 10:03:49 +01:00
Mitchell Richters
319c1533b3
- SW: Pitch-adjusted velocity for InitTracerTurret()
.
2022-11-30 10:03:49 +01:00
Mitchell Richters
25e0b9a073
- SW: Pitch-adjusted velocity for InitTracerUzi()
.
2022-11-30 10:03:49 +01:00
Mitchell Richters
7ae21a27cc
- SW: Pitch-adjusted velocity for InitMicro()
.
2022-11-30 10:03:48 +01:00
Mitchell Richters
7658d8772d
- SW: Pitch-adjusted velocity for InitNuke()
.
2022-11-30 10:03:48 +01:00
Mitchell Richters
393553780b
- SW: Pitch-adjusted velocity for InitBunnyRocket()
.
2022-11-30 10:03:48 +01:00
Mitchell Richters
26460bc6aa
- SW: Pitch-adjusted velocity for InitRocket()
.
2022-11-30 10:03:48 +01:00
Mitchell Richters
8da5b096c0
- SW: Pitch-adjusted velocity for InitRail()
.
2022-11-30 10:03:47 +01:00
Mitchell Richters
283f8d208a
- SW: Pitch-adjusted velocity for InitLaser()
.
2022-11-30 10:03:47 +01:00
Mitchell Richters
51c0fbcca1
- SW: Pitch-adjusted velocity for InitShotgun()
.
2022-11-30 10:03:47 +01:00
Mitchell Richters
3fd397e384
- SW: Pitch-adjusted velocity for InitHeartAttack()
.
2022-11-30 10:03:47 +01:00
Mitchell Richters
a27e5a0ed2
- SW: Pitch-adjusted velocity for InitStar()
.
2022-11-30 10:03:47 +01:00
Mitchell Richters
bcf09c3037
- SW: Pitch-adjusted velocity for InitFistAttack()
.
2022-11-30 10:03:46 +01:00
Mitchell Richters
2577ea21f2
- SW: Pitch-adjusted velocity for InitSwordAttack()
.
2022-11-30 10:03:46 +01:00
Mitchell Richters
2b4149b70e
- SW: Pitch-adjusted velocity for InitSpellMirv()
.
2022-11-30 10:03:46 +01:00
Mitchell Richters
b7a1e699f6
- SW: Pitch-adjusted velocity for InitSpellNapalm()
.
2022-11-30 10:03:46 +01:00
Christoph Oelckers
ec48b91730
- fixed the last remaining z/inttoworld mismatches.
...
The one in clipmove was critical, the other ones not so much.
2022-11-27 10:21:47 +01:00
Christoph Oelckers
ed4f49ac86
- fixed sound code for backend update.
2022-11-24 17:46:39 +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
af60408e63
- sector wall access cleanup.
...
lastWall was only used twice and firstWall() + index can be done better now.
2022-11-15 15:31:52 +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
b7a7584059
- renamed wallnum and sectnum functions.
...
These were creating a lot of search noise because local variables had the same name.
2022-11-15 12:03:44 +01:00
Christoph Oelckers
ac4be79e96
- implemented cl_weaponswitch for Duke.
2022-11-12 09:34:08 +01:00
Christoph Oelckers
cfb9ebf8e5
- fixed bad velocity assignment in DoLaser, causing an endless loop.
2022-11-10 10:00:44 +01:00
Christoph Oelckers
e88b24bce7
- SW: fixed clipdist for brown rippers.
2022-11-09 20:16:47 +01:00
Christoph Oelckers
d2f0981091
- SW: fixed distance check in DoGet.
2022-11-09 19:03:23 +01:00
Christoph Oelckers
870801b8ac
- SW: explicitly initialize sector object turn angle values.
...
The integer code relied on the memset to -1, but with floats that sets it to -NaN.
2022-11-09 18:35:03 +01:00
Christoph Oelckers
fd1864bb48
- fixed bad iterator setup in SpriteSetupPost
2022-11-07 13:48:01 +01:00
Mitchell Richters
d892fa10d2
- SW: Fix ladder speed with unnecessary amplification applied.
...
* Fixes #745 .
2022-11-07 20:23:14 +11:00
Mitchell Richters
143f691c06
- SW: Try to fix up the camera drawing a bit.
...
* Slight pitch adjustment, plus factoring in that values of 0 constituted 100 under original game.
* View screens in game are not actually 1:1 AR but 1.12:1
2022-11-06 21:59:07 +11:00
Christoph Oelckers
99753fd03a
- fixed bad scaling factor in girlninj.cpp.
2022-11-04 18:18:23 +01:00
Christoph Oelckers
0c87bcb91b
- renamed getzsofslopeptr to calcSlope and removed one redundant inline.
2022-10-30 16:51:40 +01:00
Christoph Oelckers
32b2e84fdc
- added episode and total episode time display to alt HUD
2022-10-30 16:51:40 +01:00
Christoph Oelckers
f4c8ac0140
- made AnimSet's vel parameter an actual double.
...
This does not affect any outcome, it just avoids pointless type conversions.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
4ac3820511
- deleted two unused local variables.
2022-10-30 16:51:36 +01: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
902f8c9706
- silenced lots of warnings for deliberate type conversions.
...
The ones in d_net.cpp are not in active code.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
0c8a76dc9c
- use ActorVect… functions in a few more places
2022-10-30 16:51:35 +01:00
Christoph Oelckers
e5efb5c15f
- fixed seeker missile aiming
...
merge to "floatified VectorMissileSeek"
2022-10-30 16:51:34 +01:00
Christoph Oelckers
c159953ac6
- use normalangle().
2022-10-30 16:51:33 +01:00
Christoph Oelckers
3c6b64d621
- renamed everything back
2022-10-30 16:51:33 +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
da523eb8e3
- unwrapped vector SetScale.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
15db7a7143
- unwrapped SetScaleX/Y.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
8265239d2d
- removed AddScale wrappers.
2022-10-30 16:51:32 +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
2df12e7961
- these are the final repeats
2022-10-30 16:51:31 +01:00
Christoph Oelckers
854c42e4ca
- handle all remaining repeat constants.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
42b36d97b9
- half of the remainint repeats in weapon.cpp.
2022-10-30 16:51:30 +01:00
Christoph Oelckers
391b8ffc34
- batch of repeats in weapons.cpp
2022-10-30 16:51:30 +01:00
Christoph Oelckers
0e8594628e
- did the messier parts of weapon.cpp's repeats.
2022-10-30 16:51:30 +01:00
Christoph Oelckers
ce0a40320c
- handle all 'notreallypos' places.
2022-10-30 16:51:30 +01:00
Christoph Oelckers
8a455aa09b
- all remaining repeats outside weapon.cpp plus a few more.
2022-10-30 16:51:30 +01:00
Christoph Oelckers
60782efd01
- some odd repeats.
2022-10-30 16:51:29 +01:00
Christoph Oelckers
33aed76977
- random scale stuff in jweapon.cpp
2022-10-30 16:51:29 +01:00
Christoph Oelckers
8cb40291f2
- lots of repeat literals in SW
2022-10-30 16:51:29 +01:00
Christoph Oelckers
8ede08ce69
- mostly coolie related scaling factors.
2022-10-30 16:51:29 +01:00
Christoph Oelckers
abf5c9feee
- all repeats in SW’s draw code
2022-10-30 16:51:29 +01:00
Christoph Oelckers
509d56d042
- handle bunny scaling in SW
2022-10-30 16:51:29 +01:00
Christoph Oelckers
dd3346cbc5
- mostly comparisons and code surrounding them
2022-10-30 16:51:26 +01:00
Christoph Oelckers
1085752e01
- added more Scale wrappers to spritetype.
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
91c318b708
- renamed most non-sprite xrepeat and yrepeat as refactpring aid.
...
These will be renamed back later but now they create too much search noise.
A few local variables have been permanently renamed to scale*.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
e60fafec52
- got rid of most REPEAT_SCALE factors.
2022-10-30 16:51:19 +01:00
Christoph Oelckers
8d1626de02
- yet more SetScale uses.
2022-10-30 16:51:18 +01:00
Christoph Oelckers
d8fac32459
- more simple SetScale replacements.
2022-10-30 16:51:17 +01:00
Christoph Oelckers
86d6ba43d4
- more automatic SetScale replacement, plus all of SetScale(0.5, 0.5);
2022-10-30 16:51:17 +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
35fbc634de
- silence some warnings
2022-10-30 16:51:17 +01:00
Christoph Oelckers
9f19a1315b
- replaced most native_clipdist() calls
...
Only those in nnext using internal int storage remain.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
e80c32cfd4
- handle magic clipdist values
2022-10-30 16:51:16 +01:00
Christoph Oelckers
a6e35edc6c
- replaced all set_native_clipdist
...
Note that truncation has to be preserved here to ensure the size stays the same as before so the MulScales were not resolved into their factors.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
ed5b35453a
- ';;' cleanup
2022-10-30 16:51:15 +01:00
Christoph Oelckers
7ed45d713a
- refactor all oclipdist uses
2022-10-30 16:51:15 +01:00
Christoph Oelckers
d22c473c31
- manual set_const_clipdist replacements
2022-10-30 16:51:15 +01:00
Christoph Oelckers
48fda0cafd
- second batch of set_const_clipdist replacements
2022-10-30 16:51:15 +01:00
Christoph Oelckers
4af4983d3e
- floatified clipdist and replaced fClipdist wrapper.
...
This uses a new variable because a few things use clipdist as a flag byte
2022-10-30 16:51:14 +01:00
Christoph Oelckers
88dcc37e94
- got rid of the wrappers for the SO angles.
2022-10-30 16:51:13 +01:00
Mitchell Richters
215fc7d407
- SW: Optimise DoPlayerDeathHoriz()
a bit.
2022-10-30 16:51:12 +01:00
Mitchell Richters
cea2b6b428
- Rename PlayerHorizon::__horiz
back to horiz
.
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
Mitchell Richters
619b8005ac
- Rename PlayerHorizon::horiz
in prep for negating this angle throughout code.
2022-10-30 16:51:11 +01:00
Christoph Oelckers
679e029c6d
- do not save randomseed twice.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
7d3babd678
- ported all pushmove calls to the float version.
2022-10-30 16:51:08 +01:00
Christoph Oelckers
f45acdc2a8
- floatified two SOP clipdist variables
2022-10-30 16:51:08 +01:00
Christoph Oelckers
9257fe0078
- fixed clipmove factors.
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
Christoph Oelckers
a4dd5bb4ce
- rewrote the model storage code.
...
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Mitchell Richters
8bc34f3dac
- Handle all remaining VecToAngle()
calls.
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
Mitchell Richters
c00c8d196e
- Simple VecToAngle() > .Angle() replacements.
2022-10-27 16:55:52 +02:00
Mitchell Richters
75047b6ad5
- Eliminate MulScaleF()
.
2022-10-27 16:55:52 +02:00
Mitchell Richters
fc8c0b80aa
- Clean up chase cam backwards scaling since we're now using floats of the same scale.
2022-10-25 07:07:14 +02:00
Mitchell Richters
9dd27ee3a2
- Remove old integer dragpoint()
interface that was used by floats in lots of places.
...
* Cannot wait until all the narrowing warnings can be re-enabled...
2022-10-25 07:07:14 +02:00
Christoph Oelckers
22ccf33569
- floatified walldist parameter of getzrange
2022-10-25 07:07:14 +02:00
Christoph Oelckers
3c3b602989
- made getzrangepoint slope sprite aware.
2022-10-25 07:07:13 +02:00
Mitchell Richters
8d3f3c6025
- Cut over to DAngle
from fixedhoriz
and remove the latter.
2022-10-25 07:06:55 +02:00
Mitchell Richters
a952c35669
- SW: Convert DoPlayerDeathHoriz()
to work on pitch and remove now-unused buildhoriz()
.
2022-10-25 07:06:55 +02:00
Mitchell Richters
293a71ed55
- Remove horizon from gi->WarpToCoords()
since we don't even print the horizon in our stats.
2022-10-25 07:06:54 +02:00
Mitchell Richters
ca8f8d6d36
- Remove all remaining q16horiz()
calls, also correcting a long-standing Duke bug.
2022-10-25 07:06:54 +02:00
Mitchell Richters
8697e5f054
- Replace all q16horiz(0)
calls.
2022-10-25 07:06:54 +02:00
Mitchell Richters
22a9f89b64
- Remove all uses of fixedhoriz::asq16()
.
2022-10-25 07:06:54 +02:00
Mitchell Richters
06a9a7b1a7
- SW: Change all weapon recoils to work on pitch.
2022-10-25 07:06:54 +02:00
Mitchell Richters
5851c0f2c6
- Clean up some q16horiz usage and how the view pitch is clamped.
2022-10-25 07:06:53 +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
f6f88f587d
- SW: Consolidate random range applied to weapon vel.Z into an inline.
2022-10-25 07:06:53 +02:00
Christoph Oelckers
babbad83af
- fixed FAFhitscan to not pass the hitpos back into hitscan.
...
This will overwrite the scan's start and cause the function to malfunction.
2022-10-22 20:41:27 +02:00
Christoph Oelckers
116ba340b2
- further hitscan overhaul.
...
* added floating point sprite intersect handlers for all sprite types. Hopefully this code is more understandable than Build's original variant.
* cleaned up intersectSprite a bit and moved the geometry math into the utility header.
* made some minor corrections to neartag.
* moved SW's testpointinquad to the backend because it was useful here.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
243c071834
- got rid of bsinf and bcosf.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
ef2f781e09
- rewrite from scratch of neartag.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
600648939a
- removed some unnecessary distance checks.
...
These are the same as the specified max distance and redundant.
2022-10-22 12:17:03 +02:00
Christoph Oelckers
aae468e2b2
- migrated all of SW's neartag calls to the fully floatified version
2022-10-22 12:17:03 +02:00
Christoph Oelckers
20043f6223
- use symbolic constants in neartag calls.
2022-10-22 12:17:03 +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
ac2a3c443f
- got rid of all deprecated updatesector variants.
...
This required a few changes in the map loader and render interface.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
c5a5e3cef5
- deleted some unused deprecated functions.
2022-10-22 12:17:01 +02:00
Christoph Oelckers
d9453138f9
- fixed FAFcansee not working in some edge cases where one actor is very small and poorly placed.
...
Instead of directly going to the alternative, let's just do a regular cansee anyway and only run the fallback if this fails. hitscan is not good enough to perform sight checks.
2022-10-22 12:17:01 +02:00
Christoph Oelckers
6a1ff029b7
- floatified getslopeval and all related code.
2022-10-22 12:17:00 +02:00
Mitchell Richters
930a78f7b2
- Use REPEAT_SCALE
in a few more places.
2022-10-22 12:16:59 +02:00