Christoph Oelckers
a1339f014c
- store indices in sectionsPerSector.
2022-02-20 23:11:04 +01:00
Mitchell Richters
009c03f430
- Exhumed: Properly fix interpolation issues when at the end of the level instead of trying to back up everything.
...
Revert "- Exhumed: Don't force the framerate to reduce to ticrate at end of each level, instead interpolate player's position to prevent draw errors."
This reverts commit 57d54a2105
.
Revert "- Exhumed: Extend 57d54a2105
to back up the player's `bobangle` variable as well at the map's end."
This reverts commit 520c03b4f1
.
Revert "- Exhumed: Extend 520c03b4f1
to back up the player's `totalvel` variable as well at the map's end."
This reverts commit 1446486871
.
2022-02-20 20:35:35 +11:00
Christoph Oelckers
892c361449
- avoid pointer arithmetic in feebtag.
2022-02-19 10:11:12 +01:00
Christoph Oelckers
951b93123a
- fixed incorrect symbolic constant for statnum.
2022-02-19 09:50:05 +01:00
Christoph Oelckers
fd6d09273f
- reverted wall pointer fix for FANSPRITE setup.
...
Turns out the bug came from the DOS code, but changing this breaks the fans.
2022-02-18 00:19:57 +01:00
Christoph Oelckers
21fddd6c54
- spriteset management.
2022-02-15 22:34:48 +01:00
Christoph Oelckers
680a87085a
- SW: remap LIGHT_Tics to the otherwise unused spritetype::detail.
...
We should not hijack a coordinate for this due to access rights for scripting and potential value ranme issues. Since this value is never loaded from a map this is safe.
2022-02-15 22:34:03 +01:00
Christoph Oelckers
536c7e0c7b
- SW: floatify slidor.cpp
2022-02-15 22:18:27 +01:00
Christoph Oelckers
71943abed0
- changed math utilities to floating point coordinate system.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
8cc8ebf30c
- preparations for more floatification.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
c18a46b98a
- fixed dofurniture
2022-02-15 22:18:26 +01:00
Christoph Oelckers
63f1a968d6
- do not update the sector for sector effectors moving themselves.
...
They need to stay in their originally assigned sector forever, or really bad things can happen.
If due to some math imprecisions they change their sector, they can screw up the entire map.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
b8ea49ee0e
- SW: bumped two hard limits because there's maps out there that exceed them.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
7374364527
- doFurniture floatified and inside rewritten as a floating point algorithm that works without bit masking.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
4d38f62a14
- cleaned up and floatified the jaildoor code
...
(which should probably be renamed to 'slidedoor' because it gets used for lots of stuff other than actual jail doors...)
2022-02-15 22:18:25 +01:00
Christoph Oelckers
6fbecf2348
- RR: cleaned up and floatified the mine cart code
2022-02-15 22:18:25 +01:00
Christoph Oelckers
13d01bc98b
- lower the value of MAXSO.
...
This was causing overflow issues and resulted in bad int <-> float conversions.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
6e96b1ee81
- floatify SW's sector object rotation.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
a12093af04
- use full precision math for rotating sectors in Blood.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
02d508baef
- renamed floatified wall coordinate to 'pos'.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
cd55658786
- use floats for vertices.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
59e834fdad
- Duke: changed animation storage to be independent of the animated values' types.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
a9cf6feb60
- SW: changed sector object interpolation to be independent of the interpolated values' types.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
bc0e8b4a8d
- use a method for setting wall coordinates when loading a map.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
f44736a5b6
-use an access function for reading wall positions so that we have a non-modifiable value wherever this is possible.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
89ef81da55
- renamed walltype::pos as preparation for refactoring.
...
no functional changes here
2022-02-15 22:18:22 +01:00
carnivoroussociety
1d8a11601d
Fix ceiling panning angle
2022-02-15 16:02:00 +01:00
Christoph Oelckers
ce325e6453
- disabled assert in FAFhitscan.
...
There's maps out there which trigger this - so it should better be silenced, despite being a mapping error.
2022-01-30 08:13:35 +01:00
Christoph Oelckers
12b25df582
- Exhumed: handle unterminated strings in LoadSound without reading beyond their end.
2022-01-29 13:29:59 +01:00
Christoph Oelckers
ca9936a601
- Exhumed: fix issues with uninitialized buffer data in seq_ReadSequence.
2022-01-29 12:25:48 +01:00
Christoph Oelckers
b82198b351
- Blood: fixed bad alignment flags for HUD flames.
2022-01-29 11:38:24 +01:00
Christoph Oelckers
a015958f66
- Duke: had to give the trip bomb yet another flag.
...
Unlike every other actor this has scripted animation logic attached that is not supposed to be used. Weird.
2022-01-29 10:45:36 +01:00
Christoph Oelckers
8487d693f5
- flags for the bolts.
2022-01-27 01:05:12 +01:00
Christoph Oelckers
82898e42a6
- fix the camera.
...
- camera flag added
2022-01-27 01:05:12 +01:00
Christoph Oelckers
8e89bc29e4
- new explosion flags
2022-01-27 01:05:12 +01:00
Christoph Oelckers
fba8f54bb3
- two more flags to get sprite indices out of movecrack.
...
# Conflicts:
# source/games/duke/src/constants.h
2022-01-27 00:48:39 +01:00
Christoph Oelckers
d3f2d50088
- added NOFLOORPAL flag to remove some special cases from animatesprites.
...
# Conflicts:
# source/games/duke/src/constants.h
2022-01-27 00:48:00 +01:00
Christoph Oelckers
c0a40cb7d7
- renamed RR's TRIPBOMBSPRITE to POWDERKEG
2022-01-27 00:46:46 +01:00
Christoph Oelckers
3d0c794224
- two more flags for LASERLINE.
2022-01-27 00:46:24 +01:00
Christoph Oelckers
a776e5c56e
- turned the exclude lists for initspriteforspawn into a flag.
2022-01-27 00:45:55 +01:00
Christoph Oelckers
e4cfc374be
- another trip bomb flag.
2022-01-27 00:42:57 +01:00
Christoph Oelckers
0574da7cd4
- SE24 cleanup using flags.
...
The whole setup is actually very simple, once all the mess got removed from the code.
2022-01-27 00:42:49 +01:00
Christoph Oelckers
eae5ca93d0
- cleanup - flag name and removal of unused code.
2022-01-27 00:42:40 +01:00
Christoph Oelckers
2468debe34
- added a new flag for non-teleporting items.
2022-01-27 00:42:16 +01:00
Christoph Oelckers
fc94fb9651
- replaced checktimetosleep with a flag.
2022-01-27 00:42:07 +01:00
Christoph Oelckers
72510a47fa
- replaced one more actor list check in hitradius with a flag.
2022-01-27 00:41:57 +01:00
Christoph Oelckers
125c3e8004
- flammable flags.
2022-01-27 00:41:33 +01:00
Christoph Oelckers
913b0622b8
- use symbolic constants
2022-01-27 00:35:45 +01:00
Christoph Oelckers
58b718d2a2
- turn all special actor type checks in moveflammable into flags.
...
Also wrap all flag checks in actorflag function
2022-01-27 00:34:21 +01:00
Christoph Oelckers
d9fee902de
- setSpritesetImage export added.
2022-01-26 23:35:53 +01:00
Christoph Oelckers
ef22a78618
- moved all VM exports to their own file.
2022-01-26 23:35:46 +01:00
Christoph Oelckers
5fe5dbd5aa
- added spriteSet property to DukeActor
...
The idea here is to abstract picnum manipulation. Since all this is strongly index based it translates poorly to a system with named textures.
This allows a class to define a set of sprite images it intends to operate on as if it was still a simple indexed resource, even if the underlying storage changes.
2022-01-26 00:36:34 +01:00
Christoph Oelckers
c27976b2e5
- added script exports for Duke's iterators
2022-01-26 00:16:21 +01:00
Christoph Oelckers
5bc8b1c2d3
- Duke: added two more flags to eliminate the references to the crane's tile numbers.
2022-01-25 22:26:53 +01:00
Christoph Oelckers
0e89bffabd
- Exhumed: fixed surace collisions of projectiles.
...
There was some commented out undefined behavior here, we need to properly define this case.
2022-01-25 00:57:59 +01:00
Christoph Oelckers
30adac6e7f
- Exhumed: removed erroneous target assignment in Anubis AI.
2022-01-25 00:25:52 +01:00
Christoph Oelckers
58f535d3a4
- Duke: fixed gamevars not being allocated for map spawned actors.
2022-01-24 23:05:22 +01:00
Christoph Oelckers
a252b206d1
- exported DukeActor's native member variables.
...
This includes renaming two native ones because they shared the same name with members of spritetype.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
f194fb6c90
- added a name to tilenum function so that we can define picnums by name in scripted actors.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
04a380ce14
- added script exports for DCoreActor's member variables.
2022-01-24 00:24:46 +01:00
Christoph Oelckers
0398ba4ff0
- added all parts needed to implement the actor property parser.
...
Not hooked up yet with the rest of the code, this just adds the needed files in compilable form.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
bd22aeb0d9
- SW: use correct sky scale in Polymost.
2022-01-23 12:44:22 +01:00
Christoph Oelckers
e64a6f7e30
- Blood: Fixed choking hand with new renderer.
...
This gets directed to the weapon 3D drawer, but for that it was processed too late.
2022-01-23 12:23:55 +01:00
Christoph Oelckers
a23124a201
- Exhumed: fixed check for bad ending cutscene.
2022-01-22 23:11:34 +01:00
Christoph Oelckers
c11000e4cd
- Blood: do color highlighting for trigger messages, like NBlood does.
2022-01-22 09:38:01 +01:00
Mitchell Richters
1446486871
- Exhumed: Extend 520c03b4f1
to back up the player's totalvel
variable as well at the map's end.
2022-01-19 23:00:04 +11:00
Mitchell Richters
f91f3eacca
- Blood: Fix off-by-one error in trProcessBusy()
loop.
...
* Originated from 0beb91e17e
.
2022-01-16 23:44:53 +11:00
Christoph Oelckers
82be7db269
- give the tree sky of DukeDC an offset of -40 to better hide its poor design in the new renderer.
2022-01-16 12:12:44 +01:00
Christoph Oelckers
3aff12cf4c
- sky management rework.
2022-01-16 12:12:43 +01:00
Christoph Oelckers
0beb91e17e
- Blood: don't use references to address gBusy.
...
This will fail if the callback in trProcessBusy adds new entries to the array which would invalidate the reference.
2022-01-16 12:02:38 +01:00
Mitchell Richters
520c03b4f1
- Exhumed: Extend 57d54a2105
to back up the player's bobangle
variable as well at the map's end.
2022-01-16 08:32:22 +11:00
Christoph Oelckers
40cee808a1
- Exhumed: use proper distance calculations when spawning weapon flashes.
...
The cheap distance approximation here tended to fail on longer walls.
2022-01-15 18:33:37 +01:00
Christoph Oelckers
b1d3e8ee54
- Exhumed: Avoid playing the same pickup sound while another copy of it is already active.
...
The pickup code here is not robust enough to play the sound only once per pickup.
2022-01-15 16:11:42 +01:00
Christoph Oelckers
4ee64df844
- uncouple the fist animation for being shrunk from the display frame rate.
2022-01-15 15:48:50 +01:00
Christoph Oelckers
26d89e932a
- Duke: add back a limit to the teleporter sound.
...
Due to broken game logic it is possible for this to play in very large quantities.
2022-01-15 11:56:38 +01:00
Christoph Oelckers
c5b382907d
- SW: fixed velocity issue in InitEnemyFireball.
...
The value of the first shot was retrieved too early.
2022-01-15 10:36:55 +01:00
Christoph Oelckers
24a67e194d
- Duke: reverted sector storage to temp_data[0] for the subway.
...
This was the ultimate revenge of the Spaghetti code: Somewhere in there, something needs this value in temp_data[0], but I cannot find where this is...
2022-01-13 22:34:43 +01:00
Christoph Oelckers
ecb2732629
- little bit of cleanup on Duke's bullet hole code.
2022-01-13 20:53:36 +01:00
Mitchell Richters
79f47ca2f9
- Duke: Add some comments to 40ffb23b44
so it can be better fixed in the future when multiplayer is going.
2022-01-13 22:42:48 +11:00
Christoph Oelckers
fcf04a7df1
- delete unused variable.
2022-01-13 12:27:40 +01:00
Mitchell Richters
40ffb23b44
- Duke: Directly check the backend input code's crouch_toggle
to always remain crouched after pausing, even if the first tic doesn't have input.
...
* This is needed because unlike the other games, Duke doesn't have any decent state manager for the player like Blood and SW do.
2022-01-13 21:54:56 +11:00
Christoph Oelckers
85cce1128a
- do proper handling of the 'no shadow' case for Duke's bad guys.
...
Using a flag like RedNukem instead of hacking dispicnum, which occasionally does reach the renderer and causes problems.
2022-01-13 00:42:34 +01:00
Christoph Oelckers
a13612ab9b
- Blood: allow bad start spots to pass for modern maps.
...
These can have alternative start spot definitions.
The error will still be printed, though.
2022-01-13 00:21:15 +01:00
Mitchell Richters
f8ffaa4be9
- Blood: Tidy up some missed kWeap
constants.
2022-01-12 22:22:54 +11:00
Christoph Oelckers
ddcee4ecbf
- split up g_visibility into two variables.
...
This is preparation for experimenting with the weapon flashes that can be quite annoying with how they brighten distant parts of the level far more than nearby parts.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
da5a92852f
- cleanup of Duke's actor flags.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
e892de21ec
- preparations for unlimited tsprites.
...
Right now it is a no-op because Polymost cannot deal with this properly.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
3c54495c58
- Duke: hardened the sound controller a bit by flagging the callsound call from doanimations as most likely terminating.
...
This allows avoiding unnecessary sound repeats on some doors.
A real fix is not possible with the broken setup here - the sound controller can only implicitly toggle its state so it is likely that improper use is frequent.
2022-01-09 23:03:11 +01:00
Christoph Oelckers
0f925d4cc0
- Duke: fixed monster sight sounds not being played.
2022-01-09 21:25:02 +01:00
Christoph Oelckers
e1661e0de1
- Duke: disabled sound limiting.
...
This does not work with how the game uses sounds. Unlike Doom the sound engine in DOS Duke has no channel limit so any sound can play as many times as the game deems fit.
2022-01-09 15:18:35 +01:00
Christoph Oelckers
694f44774f
- Duke: added missing z-offset in hits.
...
Among other things, this made throwing pipebombs on slopes misbehave.
2022-01-09 14:43:59 +01:00
Christoph Oelckers
a50430bf68
- Duke: fixed SE02's handling of sloping sectors.
2022-01-09 13:38:10 +01:00
Christoph Oelckers
3c2c53c7e1
- fixed NAM's sniper rifle.
...
This was using one of WW2GI's apl* variables, but shouldn't.
2022-01-08 21:42:44 +01:00
Christoph Oelckers
415dc5246d
- fixed sprting of non-translucent sprites.
2022-01-08 21:18:18 +01:00
Christoph Oelckers
70087ebc12
- fixed: The new renderer still called the Polymost screen finish function.
...
This led to a second, redundant postprocessing step with incorrect matrix values.
It now calls screen->Update() directly without the unneeded stuff, but this required a bit of reordering in the game code to ensure that the renderer receives the weapon data to display.
2022-01-08 13:50:47 +01:00
Christoph Oelckers
5759bcc1a6
- Duke/RR: removed all in-game assignments to g_visibility.
...
These are remnants of the software renderer which used it to calculate light fading but with the current hardware renderers none of these ever reach the renderer, the values are never used.
2022-01-08 13:49:06 +01:00
Mitchell Richters
771a84338e
- Fix typo in MOVEFTA flag (was NOVEFTA
). Thanks Gaerzi!
2022-01-08 22:30:34 +11:00
Christoph Oelckers
a3162f6ccf
- renamed testnewrenderer CVAR.
2022-01-07 12:49:41 +01:00
Mitchell Richters
e5bcb8ee61
- Duke: Repair issues with handle_se32()
following lost Sgn()
call.
...
* Originated from "- first batch of routing all write access to sectortype::ceilingz and floorz through a function interface.".
2022-01-05 22:45:33 +11:00
Christoph Oelckers
e1d32bdbf5
- removed the error messages in GetOverlapSector(2).
...
These can actually be triggered in legitimate scenarios by hitscans so just returning 0 looks like the best way of handling it.
2022-01-05 09:23:30 +01:00
Mitchell Richters
eca3c29261
- Duke: Fix nullptr issue in RR's processinput_r()
.
2022-01-05 19:22:21 +11:00
Christoph Oelckers
5ff7d45f7f
- Duke/RR: better handling for one random kill scenario in the player movement code.
...
Using the same appoach as EDuke32 - instead of outright killing the player it will first reset its position and retry the pushmove check.
2022-01-05 09:20:54 +01:00
Mitchell Richters
9de4b4753a
- Duke: Add nullptr check to haskey()
.
2022-01-05 18:05:15 +11:00
Mitchell Richters
b422b049c1
- Duke: Fix bad interp check in RR's dofurniture()
.
2022-01-05 10:03:33 +11:00
Mitchell Richters
874f9952f8
- Duke: Fix bad clipmove result check in movesprite_ex_r()
.
2022-01-05 09:50:22 +11:00
Christoph Oelckers
47b9de1fb4
- RR: interpolate moving furniture.
2022-01-04 17:18:25 +01:00
Christoph Oelckers
33aee54113
- RR: interpolate jaildoors and minecarts.
2022-01-04 17:18:25 +01:00
Christoph Oelckers
45b88277a3
- Platoon Leader: Set explicit sky offset for the third episode's orange sky.
2022-01-04 17:17:58 +01:00
Christoph Oelckers
8dedcf94d3
- Duke: removed special precaching for sky texture
...
Due to precomposition these single tiles will never be rendered anyway.
2022-01-04 17:17:58 +01:00
Mitchell Richters
6414a4ce78
- Duke: Add nullptr check to footprints()
code.
2022-01-04 22:44:11 +11:00
Christoph Oelckers
468aea78ef
- SW: fixed wrong actor being checked in ContinueHitscan.
2022-01-04 12:42:46 +01:00
Christoph Oelckers
2f66377511
- Exhumed: use the loop flag when starting music.
2022-01-04 12:42:45 +01:00
Christoph Oelckers
9c07f05f0f
- Exhumed: clear all pointers in the player struct when starting a level.
2022-01-04 12:42:45 +01:00
Christoph Oelckers
78f02fbd55
- avoid larger time jumps in Ramses text scroll.
2022-01-04 12:42:45 +01:00
Christoph Oelckers
8267f327e3
- Exhumed: hide all screen overlays when Ramses is talking.
2022-01-04 12:42:45 +01:00
Christoph Oelckers
894f9a6b0a
- Exhumed: fix Ramses text overlay display.
2022-01-04 12:42:44 +01:00
Mitchell Richters
57d54a2105
- Exhumed: Don't force the framerate to reduce to ticrate at end of each level, instead interpolate player's position to prevent draw errors.
2022-01-04 21:43:08 +11:00
Christoph Oelckers
226807db34
- RR: fixed wakeup check logic in movefta.
...
Essentially the feature must be on for all RR actors and off for all Duke actors.
RR's original logic here to exclude animals was broken and non-functional.
2022-01-04 09:39:55 +01:00
Mitchell Richters
783dd98641
- Duke: Fix nullptr check for Duke and RR that was causing a crash in a glitched spot in RR's E1L1.
2022-01-04 14:00:18 +11:00
Christoph Oelckers
b683c31ef7
- fixed bad GC setup for Blood's collision struct.
...
This is a union so the pointers must also be conditionally marked based on the union's state.
2022-01-03 16:18:07 +01:00
Christoph Oelckers
9f83fd3575
- SW: added a double deletion guard to KillBreakSprite.
...
This code can easily run into the case where SpawnShrap kills the actor but then further operations are performed, including deleting it again.
2022-01-03 12:28:25 +01:00
Christoph Oelckers
7915fb7ef1
- allow using "Mario" cheat with a space between name and number.
2022-01-03 07:13:34 +01:00
Mitchell Richters
aee4388a03
- Blood: Add nullptr check to OperatePath()
to fix crash in Eviction's sgarage.map.
2022-01-03 10:19:08 +11:00
Christoph Oelckers
00ffc8b6a2
- Blood: fixed vertical wall texture interpolations.
2022-01-02 17:53:07 +01:00
Christoph Oelckers
e302c45a0b
Revert "- added two FAFcansee variants that take shorter parameter lists for clearer code."
...
This reverts commit 29da39dda0
.
Something in here was wrong, so back to the start with it.
The positive effect was too small anyway.
2022-01-02 17:35:12 +01:00
Christoph Oelckers
7205319853
- Blood: clean up some variable mess in actFireVector
2022-01-02 17:23:01 +01:00
Christoph Oelckers
1d091ae395
- merged both movefta functions, using the already defined flags instead of explicit picnum checks.
2022-01-02 15:59:24 +01:00
Christoph Oelckers
a6845f55e4
- comments
2022-01-02 15:59:24 +01:00
Mitchell Richters
84e9356bf2
Revert "- Blood: Force synchronised input while a revolving door is busy/in-use."
...
This reverts commit 232dd5e07a
. The true fix was in "- Blood: fixed interpolation of sprites on rotating sectors.".
2022-01-03 01:50:17 +11:00
Christoph Oelckers
2ac83b733c
- SW: clear some pointers before killing actors in TerminateLevel.
...
KillActor is an in-game function which may produce undefined behavior if being run on a partially deinitialized level.
All actor pointers it may operate upon should be cleared before taking down the actors.cpp
2022-01-02 15:06:57 +01:00
Christoph Oelckers
3b833029b0
- Blood: fixed interpolation of sprites on rotating sectors.
2022-01-02 13:00:55 +01:00
Christoph Oelckers
e42fc5e743
- use the newly added flag to consolidate ifhitsector.
2022-01-02 12:27:36 +01:00
Christoph Oelckers
cc6d52013d
- made Duke actor flags type safe and added a few new definitions that are not active yet.
2022-01-02 10:17:44 +01:00
Christoph Oelckers
8c9b810b16
Revert "- removed Interp_Sprite_Z."
...
Sadly, SW's sprite interpolation is too screwed up to do a better fix on short notice.
It's the same with interpolating sprites attached to SOP's, it is only needed because generally interpolating sprites in SW is problematic.
2022-01-01 19:50:30 +01:00
Christoph Oelckers
0bfb4abc1c
- undid some leftover placeholder code in FAFhitscan.
2022-01-01 18:39:59 +01:00
Christoph Oelckers
d215ae0c63
- fixed bad target check for Ripper2's jump attack
2022-01-01 18:25:18 +01:00
Christoph Oelckers
1294f10cd7
- SW: fixed negated FAFcansee call in explosion code.
2022-01-01 17:14:49 +01:00
Christoph Oelckers
27eae52228
- fixed incorrect argument in FAFcansee call.
2022-01-01 17:11:15 +01:00
Christoph Oelckers
3499049976
- Blood: save basepoint for all actors, not just for those with an XSPRITE.
2022-01-01 15:52:05 +01:00
Mitchell Richters
45057ff8a0
- SW: Fix all GCC warning: suggest parentheses around assignment used as truth value [-Wparentheses]
warnings.
...
Regex to match such conditions: `while (\([\w]+\s?=\s?.+\.Next\(\)\))`.
2022-01-01 20:49:31 +11:00
Christoph Oelckers
17de3a08e8
- deal with bad start sectors.
...
The engine will now try to find a proper sector in the map loader if there's a mismatch.
2022-01-01 10:39:59 +01:00
Christoph Oelckers
8575447e37
- Blood: fixed bad parameter in aiPatrolMove
2022-01-01 09:56:45 +01:00
Christoph Oelckers
3e21db19be
- Blood: fixed Life Leech no longer gettable after having fired.
...
This was the direct result of dumb use of two pointers to different parts of the same objects.
2022-01-01 09:31:57 +01:00
Mitchell Richters
dcd006d34b
- Blood: Add missing actorHit
nullptr test in actImpactMissile()
.
2022-01-01 11:38:43 +11:00
Christoph Oelckers
87cace6e6c
- Blood: fixed wrong actor being used for key checks
2022-01-01 00:58:35 +01:00
Mitchell Richters
0375dfdf83
- SW: Replace SECTOR_OBJECT
zmid
with pmid.Z
calls and eliminate pmid
union.
2022-01-01 09:34:30 +11:00
Mitchell Richters
9145895b47
- SW: Replace SECTOR_OBJECT
ymid
with pmid.Y
calls.
2022-01-01 09:33:30 +11:00
Mitchell Richters
5e2bbb12b5
- SW: Replace SECTOR_OBJECT
xmid
with pmid.X
calls.
2022-01-01 09:32:40 +11:00
Mitchell Richters
1c0ba71c69
- SW: Eliminated ANIMATORp
typedef.
2022-01-01 09:09:41 +11:00
Mitchell Richters
1d51903a9e
- SW: Eliminated Voc3D_Flags
typedef.
2022-01-01 08:36:56 +11:00
Christoph Oelckers
cd599a7a15
- Duke: abstracted all checks for TILE_APLAYER with an isPlayer method.
2021-12-31 18:51:43 +01:00
Christoph Oelckers
84ca96c52c
eliminated STATEp
2021-12-31 16:00:14 +01:00
Christoph Oelckers
d1be430fbf
- eliminated PLAYERp
2021-12-31 15:59:11 +01:00
Christoph Oelckers
69b5d502e2
- renamed PLAYERstruct.
2021-12-31 15:57:55 +01:00
Christoph Oelckers
392397c2b0
- replaced SECTOR_OBJECTp
2021-12-31 15:50:44 +01:00
Christoph Oelckers
74593feab1
- replaced PANEL_SPRITEp
2021-12-31 15:49:07 +01:00
Christoph Oelckers
699bf9c4f5
- anim typedef eliminated.
2021-12-31 15:47:10 +01:00
Christoph Oelckers
8fb769649b
- eliminated sectortype aliases.
2021-12-31 15:43:47 +01:00
Christoph Oelckers
98492aae54
- eliminated walltype aliases.
2021-12-31 15:41:39 +01:00
Christoph Oelckers
72962cc098
- the last batch of small scale typedefs eliminated.
2021-12-31 15:40:29 +01:00
Christoph Oelckers
87d2b3274b
- cleaned out most of the less frequent typedef types in SW.
2021-12-31 15:27:18 +01:00
Christoph Oelckers
10187e892f
- handle track typedefs.
2021-12-31 15:13:05 +01:00
Christoph Oelckers
f43f63adec
- all typedefs in jsector.h and inv.h plus a bit of cleanup and #define removal.
2021-12-31 15:10:37 +01:00
Christoph Oelckers
6b50344417
- eliminated PANEL_SPRITEp
2021-12-31 15:03:12 +01:00
Christoph Oelckers
994a575435
- panel.h cleanup.
2021-12-31 13:49:34 +01:00
Christoph Oelckers
12c63d2337
- eliminated a few more typedefs,
2021-12-31 13:37:57 +01:00
Christoph Oelckers
89ab00fe99
- eliminated typedefs in sound code.cc.obj
2021-12-31 13:31:13 +01:00
Christoph Oelckers
085eb8a36e
- eliminated SHRAP typedefs.
2021-12-31 13:26:07 +01:00
Christoph Oelckers
271af39a59
- consolidated MISSILE_PLACEMENT definitions.
2021-12-31 13:20:56 +01:00
Christoph Oelckers
90ad4b8ef1
- eliminated typedefs for DECISION and BREAK_INFO.
2021-12-31 13:16:38 +01:00
Christoph Oelckers
3eb640658f
- don't typedef MATTGAMEVAR
2021-12-31 13:12:20 +01:00
Christoph Oelckers
0cba0e19b5
- SW: fixed some pointer mixup in UpdatePlayerUnderSprite
2021-12-30 23:39:54 +01:00
Christoph Oelckers
61d4d06783
- RRRA: fixed typo in portal setup.
2021-12-30 22:16:39 +01:00
Christoph Oelckers
a9b162b8e9
- moved the tsprite flags from cstat2 to clipdist which was already holding other ones.
...
cstat2 should only hold flags for game-side sprites.
2021-12-30 19:00:35 +01:00
Christoph Oelckers
552668418a
- moved opos and oang to DCoreActor.
2021-12-30 18:21:02 +01:00
Christoph Oelckers
2bb7cecf27
- eliminated spritetype::clear.
...
Most uses were bad anyway, and the legitimate ones are just clearing the object.
2021-12-30 17:55:17 +01:00
Christoph Oelckers
7f62df517d
- moved all interpolate* methods from spritetypebase to DCoreActor.
...
The places where it was used on tsprites were redone to use the actor's base coordinate, which at the point of the operation would always be the same.
2021-12-30 17:32:31 +01:00
Christoph Oelckers
c10fb1278a
- moved the backup... methods to DCoreActor.
2021-12-30 17:10:08 +01:00
Christoph Oelckers
6c381d4392
- removed sector() method from low level sprite type.
2021-12-30 16:58:48 +01:00
Christoph Oelckers
5498699faf
- use DCoreActor::sector() wherever possible.
2021-12-30 16:51:56 +01:00
Christoph Oelckers
88e4bb9f79
- moved sectno method to DCoreActor.
2021-12-30 16:39:43 +01:00
Christoph Oelckers
f0b7fe4add
- use setsector from DCoreActor.
...
Also did a bit of cleanup
2021-12-30 16:36:04 +01:00
Christoph Oelckers
af6ca40e3d
- use DCoreActor::insector instead of spritetype::insector.
2021-12-30 16:24:51 +01:00
Christoph Oelckers
4bc32e2777
- use actors in the sloped sprite utilities.
2021-12-30 16:11:14 +01:00
Mitchell Richters
dc50ad154e
- SW: Replace PANEL_SPRITEstruct
yorig
with bobpos.Y
calls.
2021-12-31 00:36:13 +11:00
Mitchell Richters
d8aab1ecea
- SW: Replace PANEL_SPRITEstruct
xorig
with bobpos.X
calls.
2021-12-31 00:34:46 +11:00
Mitchell Richters
36b549b7f1
- SW: Replace PANEL_SPRITEstruct
oy
with opos.Y
calls.
2021-12-31 00:34:03 +11:00
Mitchell Richters
81b74c2cdf
- SW: Replace PANEL_SPRITEstruct
ox
with opos.X
calls.
2021-12-31 00:32:55 +11:00
Mitchell Richters
145028bc16
- SW: Replace PANEL_SPRITEstruct
y
with pos.Y
calls.
2021-12-31 00:32:00 +11:00
Mitchell Richters
defdb23533
- SW: Replace PANEL_SPRITEstruct
x
with pos.X
calls.
2021-12-31 00:30:42 +11:00
Mitchell Richters
ab6b9fd083
- SW: Replace USER
zchange
with change.Z
calls.
2021-12-31 00:23:30 +11:00
Mitchell Richters
50cb85e389
- SW: Replace USER
ychange
with change.Y
calls.
2021-12-31 00:22:48 +11:00
Mitchell Richters
ad0ea3f2f1
- SW: Replace USER
xchange
with change.X
calls.
2021-12-31 00:22:42 +11:00
Mitchell Richters
424b9c5f34
- SW: Replace REMOTE_CONTROL
pos*
variables with a vector.
2021-12-31 00:19:34 +11:00
Mitchell Richters
287351e678
- SW: Replace REMOTE_CONTROL
*vect
variables with vectors.
2021-12-31 00:19:34 +11:00
Mitchell Richters
5d10b32301
- SW: Replace PLAYERstruct
oldpos*
variables with a vector.
2021-12-31 00:19:33 +11:00
Mitchell Richters
e4d19a0bbe
- SW: Replace PLAYERstruct
slide_yvect
with slide_vect.Y
calls.
2021-12-31 00:19:33 +11:00
Mitchell Richters
8c1c5f3d55
- SW: Replace PLAYERstruct
slide_xvect
with slide_vect.X
calls.
2021-12-31 00:19:33 +11:00
Mitchell Richters
8c99053ebd
- SW: Replace PLAYERstruct
oyvect
with ovect.Y
calls.
2021-12-31 00:19:33 +11:00
Mitchell Richters
75cc539c58
- SW: Replace PLAYERstruct
oxvect
with ovect.X
calls.
2021-12-31 00:19:33 +11:00
Mitchell Richters
5515830e2b
- SW: Replace PLAYERstruct
yvect
with vect.Y
calls.
2021-12-31 00:19:33 +11:00
Mitchell Richters
f2497d7d08
- SW: Replace PLAYERstruct
xvect
with vect.X
calls.
2021-12-31 00:19:33 +11:00
Mitchell Richters
03da70b3b9
- SW: Replace PLAYERstruct
si*
variables with a vector.
2021-12-31 00:19:33 +11:00
Mitchell Richters
6e130d026e
- SW: Replace PLAYERstruct
lv_*
variables with a vector.
2021-12-31 00:19:33 +11:00
Mitchell Richters
8f468607ff
- Exhumed: Replace Player
velocity and damage variables with vectors.
2021-12-31 00:19:33 +11:00
Mitchell Richters
225a2a39da
- Duke: Replace player_struct
noise_*
variables with a vector.
2021-12-31 00:19:33 +11:00
Mitchell Richters
1e90b0bbbe
- Duke: Replace player_struct
bobposy
with bobpos.Y
calls.
2021-12-30 23:00:44 +11:00
Mitchell Richters
034e1fd175
- Duke: Replace player_struct
bobposx
with bobpos.X
calls.
2021-12-30 23:00:44 +11:00
Mitchell Richters
f9b728d188
- Duke: Replace DDukeActor
lastvy
with ovel.Y
calls.
2021-12-30 23:00:44 +11:00
Mitchell Richters
8932b2fc1d
- Duke: Replace DDukeActor
lastvx
with ovel.X
calls.
2021-12-30 23:00:43 +11:00
Mitchell Richters
0bc26e78ba
- Duke: Replace player_struct
loogiey[64]
with loogie[64].Y
calls.
2021-12-30 23:00:43 +11:00
Mitchell Richters
e196a4daa3
- Duke: Replace player_struct
loogiex[64]
with loogie[64].X
calls.
2021-12-30 23:00:43 +11:00
Mitchell Richters
2d6bc783c4
- Duke: Replace player_struct
exity
with exit.Y
calls.
2021-12-30 23:00:43 +11:00
Mitchell Richters
8d2595ea84
- Duke: Replace player_struct
exitx
with exit.X
calls.
2021-12-30 23:00:43 +11:00
Mitchell Richters
19a9fc462f
- Duke: Replace CraneDef
poley
with pole.Y
calls.
2021-12-30 23:00:43 +11:00
Mitchell Richters
034727d902
- Duke: Replace CraneDef
polex
with pole.X
calls.
2021-12-30 23:00:42 +11:00
Mitchell Richters
4b1fbf13df
- Duke: Replace CraneDef
z
with pos.Z
calls.
2021-12-30 23:00:42 +11:00
Mitchell Richters
3dfcbafd93
- Duke: Replace CraneDef
y
with pos.Y
calls.
2021-12-30 23:00:42 +11:00
Mitchell Richters
8006d8e394
- Duke: Replace CraneDef
x
with pos.X
calls.
2021-12-30 23:00:42 +11:00
Mitchell Richters
788be33c1a
- Duke: Replace player_orig
oz
with opos.Z
calls.
2021-12-30 23:00:42 +11:00
Mitchell Richters
f5dd8ba3b9
- Duke: Replace player_orig
oy
with opos.Y
calls.
2021-12-30 23:00:42 +11:00
Mitchell Richters
c5d94f9a8e
- Duke: Replace player_orig
ox
with opos.X
calls.
2021-12-30 23:00:42 +11:00
Mitchell Richters
8a94022f5d
- Duke: - Duke: Replace FireProj
position and velocity variables with vectors.
2021-12-30 23:00:42 +11:00
Mitchell Richters
fd8c7bfa52
- Duke: Replace player_struct
poszv
with vel.Z
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
b2023efb44
- Duke: Replace player_struct
posyv
with vel.Y
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
31ed257f39
- Duke: Replace player_struct
posxv
with vel.X
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
10a167ab42
- Blood: Replace XWALL
panYVel
with panVel.Y
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
a325dfec62
- Blood: Replace XWALL
panXVel
with panVel.X
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
f091a72db1
- Blood: Replace XSPRITE
targetz
with TargetPos.Z
calls.
2021-12-30 23:00:41 +11:00
Mitchell Richters
431749cf6e
- Blood: Replace XSPRITE
targety
with TargetPos.Y
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
1d29716e6b
- Blood: Replace XSPRITE
targetx
with TargetPos.X
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
22275a16f6
- Blood: Replace DBloodActor
zvel
with vel.Z
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
ce08fd4304
- Blood: Replace DBloodActor
yvel
with vel.Y
calls.
2021-12-30 23:00:40 +11:00
Mitchell Richters
a9e66ec553
- Blood: Replace DBloodActor
xvel
with vel.X
calls.
2021-12-30 23:00:39 +11:00
Christoph Oelckers
9158796284
- partial replacement of tspriteptr_t.
2021-12-30 11:48:10 +01:00
Mitchell Richters
5badbd7884
- Blood: Replace game-side scale()
with backend Scale()
.
2021-12-30 20:46:38 +11:00
Mitchell Richters
4db3e91f24
- Blood: Remove some unused templated functions in common_game.h
.
2021-12-30 20:46:38 +11:00
Mitchell Richters
13639a09b7
- SW: Remove unused PLAYERstruct
variable turn180_target
that was deprecated with 7bf1cacc7f
.
2021-12-30 20:46:36 +11:00
Mitchell Richters
cf68018909
- SW: Replace PLAYERstruct
RevolveY
with Revolve.Y
calls.
2021-12-30 20:41:27 +11:00
Mitchell Richters
acc11f34bf
- SW: Replace PLAYERstruct
RevolveX
with Revolve.X
calls.
2021-12-30 20:41:27 +11:00
Mitchell Richters
05de974080
- SW: Replace PLAYERstruct
ly
with LadderPosition.Y
calls.
2021-12-30 20:41:27 +11:00
Mitchell Richters
a18fc5b66f
- SW: Replace PLAYERstruct
lx
with LadderPosition.X
calls.
2021-12-30 20:41:26 +11:00
Mitchell Richters
9c1e54a148
- SW: Replace USER
sz
with pos.Z
calls.
2021-12-30 20:40:29 +11:00
Mitchell Richters
0d70d26625
- SW: Replace USER
sy
with pos.Y
calls.
2021-12-30 20:31:09 +11:00
Mitchell Richters
fcf18c8c63
- SW: Replace USER
sx
with pos.X
calls.
2021-12-30 20:31:09 +11:00
Mitchell Richters
620f0fa7b8
- SW: Use correct function name in GetOverlapSector2()
I_Error()
call.
2021-12-30 20:31:09 +11:00
Mitchell Richters
9bbb54fe2e
- Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries.
2021-12-30 20:30:21 +11:00
Mitchell Richters
1b077251e3
- SW: Use BIT()
inline in a few places that were changed in "- SW: Replace the last few remaining TEST()
macro uses and remove from mytypes.h
."
...
Originally, `BIT()` was going to be dropped in a subsequent commit but we've elected not to.
2021-12-30 20:14:01 +11:00
Christoph Oelckers
f9cea2b1db
- turning one check in hitradius into a flag.
2021-12-30 09:58:48 +01:00
Christoph Oelckers
5061d5b37c
- tabified the rest of Blood's code.
2021-12-30 09:58:48 +01:00
Christoph Oelckers
b7d095b943
- tabified more Blood files.
2021-12-30 09:58:48 +01:00
Christoph Oelckers
c25641c631
- db.cpp cleanup.
...
There were too many pointless global variables here and quite a bit of code doing nothing useful.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
1d28e166c6
- fixed nnexts comparison with statcount.
...
This value is no longer maintained, so we got to count when the value is needed.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
69283bfb0c
- tabified several Blood source files.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
e670cf2786
- re-tabified several files that got mangled by repeated merging
2021-12-30 09:58:47 +01:00
Christoph Oelckers
3fcecedf32
- deleted ClearContent functions from actor classes.
...
this is a leftover from pre-DObject times and no longer needed.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
bf9defc062
- SW: moved some Polymost hack stuff to its proper place.
2021-12-30 09:58:46 +01:00
Mitchell Richters
bf7437c827
- SW: Remove ON
pre-processor define and eliminate mytypes.h
.
2021-12-30 09:58:46 +01:00
Mitchell Richters
3cf9450bd8
- SW: Remove OFF
pre-processor define.
2021-12-30 09:58:45 +01:00
Mitchell Richters
ae49a55fce
- SW: Replace the last few remaining TEST()
macro uses and remove from mytypes.h
.
2021-12-30 09:58:45 +01:00
Mitchell Richters
1439d5f268
- SW: Replace TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\)
with ($1 & ($2))
.
2021-12-30 09:58:45 +01:00
Mitchell Richters
48b0058d38
- SW: Replace TEST\(([\w\-\>.()]+),\s?(\w+)\)
with ($1 & $2)
.
2021-12-30 09:58:45 +01:00
Mitchell Richters
5316e23737
- SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\)
with !($1 & ($2))
2021-12-30 09:58:45 +01:00
Mitchell Richters
8df3966d08
- SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?(\w+)\)
with !($1 & $2)
.
2021-12-30 09:58:44 +01:00
Christoph Oelckers
b1d8f92ded
- added wall edge splitting for gl_seamless.
2021-12-30 09:58:44 +01:00
Christoph Oelckers
3fee8f3c4e
- replaced dragpoint (both the generic and the Blood variant) with a newly written vertexscan function.
...
This is a template allowing to run any task on a set of walls with equivalent start point.
Code was redesigned from scratch to be more clear than the existing variants.
The idea here is to reuse the base algorithm for other things that need to operate on the equivalent set of a given wall's start point.
2021-12-30 09:58:15 +01:00
Christoph Oelckers
c8b5fa6556
- SW: fixed signed-ness issue with SP_TAG13
2021-12-30 09:58:14 +01:00
Christoph Oelckers
16635e53fc
- renamed DDukeActor::picnum to attackertype.
...
This one having the same name here as spritetype::picnum is just confusing as hell and badly describes this variable's function.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
fb53f32603
- handle the remaining write accesses to ceilingz and floorz.
...
Everything is routed through the wrapper functions now.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
059412b75e
- first batch of routing all write access to sectortype::ceilingz and floorz through a function interface.
...
We need this for implementing "precise" rendering to flag vertices as dirty.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
c24aafd3d6
- SW: game.h cleanup
...
Turned almost all #defines into enums or inline functions, removed unused declarations and all leftover MONO_PRINT fragments elsewhere.
2021-12-30 09:58:13 +01:00
Christoph Oelckers
96396385e7
- more TEST() replacements.
...
This covers roughly half of the original use.
2021-12-30 09:58:13 +01:00
Christoph Oelckers
61564ab96a
- one third of TEST().
2021-12-30 09:58:13 +01:00
Christoph Oelckers
7727597bd7
- removed FLIP macro
...
was only used 3 times
2021-12-30 09:58:12 +01:00
Christoph Oelckers
08fcfb382c
- the remaining RESET() calls.
2021-12-30 09:58:12 +01:00
Christoph Oelckers
e29d0f50cf
- lots of RESET() flags replaced.
2021-12-30 09:58:12 +01:00
Christoph Oelckers
1ae7565a2a
- SW macro cleanup.
2021-12-30 09:58:12 +01:00
Christoph Oelckers
d15c3aeff6
- got rid of the DIV2 macro.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
387d65abb4
- the remaining SET()s.
...
These had to be done manually.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
fe292fce0d
- yet more SET flag replacements
...
90% done.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
12ad85f6f8
- SW: turned flag #defines into enums.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
92ed3fa728
- replaced more SET() macros.
...
This covers another 30-35%.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
dc3f2473ba
- quick search & replace on ~40% of SET( macros in SW.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
12619671e6
- Duke/RR: added fudging to work around aiming randomization issues with the pistol when autoaim is off.
...
Solution is the same as in RedNukem/EDuke32: do one hitscan directly in aiming order and if that hits a sprite, use it as aiming target.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
913f6e713d
- Hack for Exhumed: palette 4 does not fade to black so sprites should not have shades above numshades.
...
The new renderer will treat such shades as completely black to ensure proper rendering of shadows - but for this palette this must be skipped.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
ce1daa82c2
- Duke: make camera actors temporarily invisible before rendering a scene.
...
Mainly needed for voxel/model replacements of the security camera sprite.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
00a7be545d
- added a map preview to the user map browser.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
745794a1f1
- where did that comma go?
2021-12-30 09:58:07 +01:00
Christoph Oelckers
34f14aa4c3
- added vector variants of FindDistance2D and FindDistance3D
2021-12-30 09:58:07 +01:00
Christoph Oelckers
29da39dda0
- added two FAFcansee variants that take shorter parameter lists for clearer code.
2021-12-30 09:58:06 +01:00
Christoph Oelckers
e3ce0da111
- make all actor pointers in the player struct regular pointers.
2021-12-30 09:58:06 +01:00
Christoph Oelckers
de3e66016c
- removed the Actor() access method from Exhumed's player as well.
2021-12-30 09:58:06 +01:00
Christoph Oelckers
bf3f580d52
- deleted PLAYER::Actor()
...
Also made actor a regular pointer. Unlike the other ones this may not be prematurely nulled ever.
2021-12-30 09:58:06 +01:00
Christoph Oelckers
d340a7e80c
- u() and USERp are gone.
2021-12-30 09:58:05 +01:00
Christoph Oelckers
26f93ab724
- the final u()'s.
2021-12-30 09:58:05 +01:00
Christoph Oelckers
cf88bcbecb
- handle u-> in player.cpp
2021-12-30 09:58:05 +01:00
Christoph Oelckers
bfea02a192
- a few in player.cpp
2021-12-30 09:58:05 +01:00
Christoph Oelckers
cc161fe66a
- deleted u variables in track.cpp
2021-12-30 09:58:05 +01:00
Christoph Oelckers
c544046fb3
- renamed u-> in track.cpp
2021-12-30 09:58:05 +01:00
Christoph Oelckers
055982f0db
- smaller u in track.cpp
2021-12-30 09:58:04 +01:00