Commit graph

1809 commits

Author SHA1 Message Date
Simon
91ede1126f Initial commit of update to Raze mazter
All prior changes can be found on the (will be published in the future) RazeXR repo
2023-01-13 23:41:22 +00:00
Christoph Oelckers
b7799a5a3c - fix kill counter in Blood (for real this time.) 2023-01-08 20:12:28 +01:00
Christoph Oelckers
d7d4bfe04b - Blood: use a 3D unit vector to set Blood's projectile velocity. 2023-01-08 19:16:58 +01:00
Christoph Oelckers
7cf13ed158 - fixed bad angle math in cl_showweapon handler. 2023-01-06 17:22:21 +01:00
Mitchell Richters
1d0e9b369e - Blood: Fix bad spawned actor angle for actFireMissile().
* Originating from a8cc6c1189.
* Fixes #837.
2023-01-06 17:55:40 +11:00
Mitchell Richters
1438bb5e80 - Blood: Ensure actor's XY pos is updated before calling Z slope utils.
* Originates from efc832ca5c.
* Fixes #833.
2023-01-06 17:08:56 +11:00
Mitchell Richters
676cdba259 - Blood: Adjust VDoorBusy() setup from e133985fa0.
* Changes to case 3 while visibly different, actually equates to the same algorithm for case 0.
* Revert case 3 back to original condition and send through 0 to `ZTranslateSector()` in `VDoorBusy()` if its 3 and we're not vanilla.
2023-01-05 20:59:14 +11:00
Mitchell Richters
a36cb45421 - Blood: Add VanillaMode() test to previous commit. 2023-01-03 09:01:37 +11:00
Mitchell Richters
e133985fa0 - Blood: Adjust sine wave in GetWaveValue for 4th type to use full curve of the wave.
* Initial setup would cause a very abrupt stop when coming to the top of an elevator, such as the one in E1M5.
* This would continue for an abrupt fall, causing the floor to essentially give out underneath the player or a dude actor.
* Lengthened wave allows the wave to start off softly and finish softly, with the elevator fastest in the middle of motion.
* Fixes #778.
2023-01-02 23:42:37 +11:00
Mitchell Richters
95f05d51c5 - Blood: Increase precision of values used within GetWaveValue(). 2023-01-02 23:26:54 +11:00
Mitchell Richters
30cacb1a70 - Blood: Fix bad cherry pick in bcd2d82bc7. 2023-01-02 19:33:51 +11:00
bcd2d82bc7 - Blood: Allow fire button to be used for tnt/spray throw
Prevent alt fire blocking fire button for tnt/spray can throwing

* Advised of fix to Raze here: https://github.com/nukeykt/NBlood/pull/654#issuecomment-1253886969
* Fixes #671.
2023-01-02 19:24:38 +11:00
Mitchell Richters
deef767c5d - Blood: Fix some nullptr issues in checkHit() and checkFloorHit().
* Fixes #834.
2023-01-02 15:02:57 +11: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
Mitchell Richters
96e8565ba7 - Blood: Reset player's render angle state only for the console player. 2022-12-29 14:35:42 +11:00
Christoph Oelckers
ef7c72ce9f - Blood: add all statically stored EventObjects to the GC processor. 2022-12-18 17:54:54 +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
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
8dfbbc8220 - migrated floorpicnum and ceilingpicnum to FTextures.
The sky code still needs some work.
2022-12-18 14:32:52 +01:00
Christoph Oelckers
6848af9b6c - use texture IDs in Duke's texture flag checkers. 2022-12-18 13:42:28 +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
1a6f808fca - refactored all access to the fake picanm[] array.
Also use symbolic names in precache calls in Blood.
2022-12-18 13:26:29 +01:00
Christoph Oelckers
e23a5095cb - moved the other tile info tables of Blood to the texExtInfo array as well.
The two fields are easily reusable for the other games so it's a welcome simplification.
2022-12-18 13:23:59 +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
Christoph Oelckers
82c30f551f - Blood: relax range check in AlignSlopes.
This now checks the full range of the wall array and if outside just does nothing. E2M6 has a bogus value for this feature that asserted with the old check.
2022-12-17 20:23:54 +01:00
Christoph Oelckers
bfe958abd6 - Blood: do not double-rotate the player.
One of these actions needs to be removed, now that the angles are consolidated.
2022-12-17 20:03:56 +01:00
Christoph Oelckers
521a59fd26 - Blood: fixed blood splats being spawned in the wrong place. 2022-12-17 19:34:35 +01:00
Christoph Oelckers
32071c4460 - Blood: fixed 3 places where 3D distance was used but 2D should have been used. 2022-12-17 18:43:15 +01:00
Christoph Oelckers
9fc17a4bcf - fixed velocity handling in a few enemy swimChase functions.
The one for the gill beast was particularly bad.
2022-12-14 11:32:56 +01:00
Christoph Oelckers
629dc8e163 - fixed kill counting in Blood. 2022-12-13 08:37:22 +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
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
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
f479f995a1 - transitioned all tileLeftOffset and tileTopOffset calls to use the texture manager. 2022-12-11 19:44:01 +01:00
Christoph Oelckers
afa821c2fd - removed redundant voxel/model code in Blood's animatesprites.
This just duplicated the generic handling in the renderer so it is not needed.
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
a6db974a62 - refactored Blood's tile property arrays to texture IDs.
The data structure here can be optimized later when the other games get to the same point, but this allows to rid Blood of all references to wallpicnunm, floorpicnum and ceilingpicnum except one place in the precacher.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
483617d3e1 - use the texture wrappers in a few places. 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
f4bda94dad - added tileGetTextureID and tested it with Blood's mirror/portal setup code. 2022-12-11 19:43:59 +01:00
Christoph Oelckers
bfef616981 - let tileDelete create a new null texture instead of using the default one.
This is to ensure that marker textures are still unique.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
49f87e6227 - got rid of gotpic.
Now everything uses the 'seen' flag in the texture which indicates that the texture was actually used for hardware rendering since the last check.
It's also only the 3 places checking this flag which are responsible for clearing it.
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