Commit graph

920 commits

Author SHA1 Message Date
Mitchell Richters
0d62e6befe - Exhumed: Optimise UnlinkIgnitedAnim() from fb97e3c6ca a bit.
* Bad cherry pick caused a stat iteration over the wrong stat number.
* Cleaned up commentary to reflect that we have actors and not so much sprites or an anim array anymore.
2023-03-15 22:52:14 +11:00
sirlemonhead
fb97e3c6ca PCExhumed: Fixed Ignited sprite anim issue that could cause invalid array access.
* Fixes #638.
2023-03-15 17:20:29 +11:00
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
Mitchell Richters
9ffc65fa48 - Exhumed: Eliminate PlayerInput struct in favour of InputPacket object PlayerList::input. 2023-03-14 21:45:37 +11:00
Mitchell Richters
67c7dd65f9 - Exhumed: Remove PlayerInput::vel in favour of just using actor's velocity. 2023-03-14 21:45:37 +11:00
Mitchell Richters
73acffac2c - Exhumed: Move PlayerInput::nItem to Player struct as Player::nCurrentItem. 2023-03-14 21:45:37 +11:00
Mitchell Richters
f77b1007be - Exhumed: Remove unused PlayerInput::buttons 2023-03-14 21:45:37 +11:00
Mitchell Richters
c73ee5f848 - Exhumed: Move PlayerInput::pTarget to Player struct. 2023-03-14 21:45:37 +11:00
Mitchell Richters
991ef5c27f - Minor input tidy-up. 2023-02-04 17:05:18 +11:00
Christoph Oelckers
432021b8e7 - Exhumed: avoid shade hacks with palette emulation on.
This code only makes sense with true color rendering.
2023-01-28 11:44:05 +01:00
Christoph Oelckers
33f0d229fa - Exhumed: fixed bad return values for two HUD functions. 2023-01-21 14:37:57 +01:00
Mitchell Richters
7f1add4786 - Exhumed: Remove unused local variable left over from 087aa7b2ee. 2023-01-13 10:34:31 +11:00
Mitchell Richters
087aa7b2ee - Exhumed: Tidy up DrawMap() entrypoint. 2023-01-12 18:59:32 +11:00
Mitchell Richters
c606fc11da - Add call to resetForcedSyncInput() for all games.
* Blood was missing it.
* If it's pre-added to all games, it never needs thinking about.
2023-01-12 18:59:32 +11:00
Christoph Oelckers
2e35d6a6a8 - Exhumed: account for rounding errors in MoveSectorSprites
The formula here left no margin for error and minor rounding errors are inevitable with this code.
2023-01-07 10:45:15 +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
b1e2b2addf - backend cleanup from GZDoom. 2022-12-18 16:31:50 +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
c41dc29885 - eliminated half of the remaining tileWidth and tileHeight calls. 2022-12-18 14:45:09 +01:00
Christoph Oelckers
e78fd90f67 - adapted sky code for using texture IDs. 2022-12-18 14:42:27 +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
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
Christoph Oelckers
ff09257d47 - Exhumed: allow Anubis to get out of the walking state if he loses his target.
This happened on occasion on the first map
2022-12-14 10:25:01 +01:00
Kevin Caccamo
4cdb0c3c55 Attempt to fix #787 2022-12-13 14:08:02 +01:00
Christoph Oelckers
9c1fc93e1c - Exhumed: The ObjectList was not properly garbage collected. 2022-12-13 08:49:56 +01:00
Mitchell Richters
c3f276a08a - Tidy up remaining Build angle constants in gamefuncs.h. 2022-12-11 19:46:27 +01:00
Mitchell Richters
de8353f085 - Eliminate BAngToDegree constant. 2022-12-11 19:46:26 +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
e26d9106aa - handle all occurences of tileWidth and tileHeight using spritetypebase::picnum. 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
0869497ecb - rewrote the tile pixel cache to work on texture IDs instead of tile IDs.
This allows using the related checking features with other textures as well.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
8b0e86e88b - wrap a few more accesses to picnum variables 2022-12-11 19:44:00 +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
Christoph Oelckers
a63ee8079a - implemented customizable breakable walls and ported all hard coded variants to use this. 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
f58e3c58aa - Remove PlayerAngles::setPitch() 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
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
58c1efb8de - Exhumed: Remove all remaining angle wrapper usage. 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
cca36b8061 - Make legacy weapon drawers in PlayerAngles local to Redneck code, they will eventually go. 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