Christoph Oelckers
c72f5e2242
- SW: SECT_WALL_MOVE must consider tilenum 0 as 'no change'.
2022-12-29 14:40:18 +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
bfdfff7a42
- named all of SW's breakable wall textures.
...
We need this later when these get exported.
2022-12-29 14:14:53 +01:00
Mitchell Richters
e528c3fbb8
- SW: Repair whoopsie in BunnyCheat()
.
2022-12-29 21:50:29 +11:00
Mitchell Richters
fbee05e760
- SW: Restore two original cheat codes lost long ago.
...
* Fixes #810 .
2022-12-29 20:59:19 +11:00
Mitchell Richters
9d5bae0c8e
- SW: Fix clipmove call within DoPlayerMoveVehicle()
.
...
* Originating from 05ad1e38e9
.
* Fixes #829 .
2022-12-29 20:32:58 +11:00
Mitchell Richters
ca2a427379
- SW: Re-add CVAR_SERVERINFO
back to sw_ninjahack
but leave commented out, it may be needed later.
2022-12-29 19:41:41 +11:00
Mitchell Richters
6065140f68
- SW: Remove CVAR_SERVERINFO
flag from sw_ninjahack
and take them out of the global space.
2022-12-29 19:36:18 +11:00
Mitchell Richters
b0b2f1bf1b
- SW: Only bring the weapon back up after doing chops if not on a vehicle with a weapon.
2022-12-29 19:25:17 +11:00
Mitchell Richters
c240c8e6ee
- SW: Fix two bad calls to pushmove()
where a fixed point adjustment was used.
...
* Came in from 3ac4e7ed2d
.
* Fixes #816 .
2022-12-29 19:02:56 +11:00
Mitchell Richters
dcd0e62466
- SW: Remove call to doYawKeys()
from DoPlayerDeathFollowKiller()
.
2022-12-29 14:35:42 +11:00
Mitchell Richters
572ec96467
- SW: Reset player's render angle state only for the console player.
2022-12-29 14:35:41 +11:00
Mitchell Richters
7593114fc7
- SW: Tidy up UpdatePlayerSprite()
a bit.
2022-12-29 14:35:41 +11:00
Mitchell Richters
774c7795b1
- SW: Apply same fix to DoPlayerClimb()
.
2022-12-29 14:35:38 +11:00
Mitchell Richters
7e1e447f98
- SW: Apply same fix to DoPlayerFly()
.
2022-12-29 14:27:59 +11:00
Mitchell Richters
09304ef298
- SW: Fix player diving height issues.
...
* Fixes #822 .
2022-12-29 14:27:59 +11:00
Mitchell Richters
6c7797a9f0
- SW: Clean up some noisy commented out calls to DoPlayerHeight()
.
2022-12-29 13:50:27 +11:00
Mitchell Richters
0b3076d2b4
- SW: Fix PreMapCombineFloors()
setup due to player actor not yet being initialised.
...
* Fixes #804 .
2022-12-23 19:18:08 +11:00
Mitchell Richters
4890f1d9dc
- SW: Adjustments to the death height code on the back of the last commit.
2022-12-23 19:18:07 +11:00
Mitchell Richters
5f1581be9d
- SW: Rework the player's height adjustment to use the pos.Z setter from during the refactor.
...
* I tried to get smart during the refactor when I should have kept it simple.
* Fixes #813 .
2022-12-23 19:18:07 +11: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
837e4d1438
- eliminated many uses of wallpicnum.
...
The ones left require a bit more work on the data first.
2022-12-18 15:11:08 +01:00
Christoph Oelckers
a9ea2cd5c0
- moved GetReservedScreenSpace function into the scripted status bar where it belongs.
...
Since this is supposed to return the height of the status bar, keeping it native is a bit pointless as it cannot be modified that way.
2022-12-18 14:47:38 +01:00
Christoph Oelckers
e78fd90f67
- adapted sky code for using texture IDs.
2022-12-18 14:42:27 +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
4ea252c227
- simplified SW's mirror setup a bit to take advantage of Raze's in-engine mirror handling.
...
We only need one label texture and no special treatment of the backsector.
2022-12-18 14:06:34 +01:00
Christoph Oelckers
9d62951cf3
- SW: use surface types for detecting water and lava sectors
2022-12-18 14:05:17 +01:00
Christoph Oelckers
32ad16f84d
- SW's first texture flag, yay!
...
Removes two floorpicnum accesses
2022-12-18 14:04:33 +01:00
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