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
2377b17106
- fixed bad aspect ratio calculation in DStatusBarCore::SetScale
2022-01-10 00:19:39 +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
91d51d518b
- this hack is needed because dragging vertices around can randomly create wall intersection.
...
In clear English: Geometry in Build maps is always broken by design. :(
2022-01-09 20:38:07 +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
a0e6ee0e2e
- added a bit more logic to handle overlapping walls.
...
All this is needed to make the back door to the cinema in Duke E1L1 render properly without making the clipper break on complex overlapping sector setups, like some of the ducts in Duke E2L7.
2022-01-09 12:05:36 +01:00
Christoph Oelckers
36bb3e621f
- fix typo.
2022-01-09 11:53:32 +01:00
Christoph Oelckers
fcba341546
- use proper aspect ratio to calculate the frustum's angle.
2022-01-08 23:43:08 +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
fe0581ed97
- disable palette emulation when rendering weapons.
...
The 2D code cannot handle transparency well with it.
2022-01-08 14:16: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
1c721f3568
- make the new renderer the default.
2022-01-07 23:21:28 +01:00
Christoph Oelckers
a3162f6ccf
- renamed testnewrenderer CVAR.
2022-01-07 12:49:41 +01:00
Christoph Oelckers
0cfe6bbed3
- do the unlink properly when replacing a clip node.
2022-01-07 00:22:02 +01:00
Christoph Oelckers
98258e0bb2
- fix handling in the clipper for a new range that completely covers an existing one.
...
The handling for this was from the first draft of the clipper that made very different assumptions than the final version.
This cannot simply delete the old range - it has to explicitly alter it and recursively insert the outer sub-ranges separately.
2022-01-06 16:34:04 +01:00
Christoph Oelckers
159409d5d2
- allow a bit of tolerance when sorting walls, so that microscopic intersections can be ignored.
2022-01-06 00:43:47 +01:00
Christoph Oelckers
fab5a02ba3
- deleted unused variable.
2022-01-06 00:43:46 +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
Christoph Oelckers
9f6d6a0e6d
- block y-flipping of slope sprites only if they are actually sloped.
...
This mirrors Polymost's (buggy) handling.
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
d5daa8ee84
- fixed: The bunch drawer's gotwall array was cleared before resizing.
...
This means that on the first frame of a new map it'd operate on partially uninitialized data.
2022-01-04 17:18:26 +01:00
Christoph Oelckers
227ac0fca6
- RR: address a missing texture in E1L2.
...
The current texture on this wall is suboptimal but it's still better than glitchy HOM.
2022-01-04 17:18:25 +01: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
03cad0fe3b
- consider slope sprites unavailable in map formats 5 and 6.
...
Exhumed has several sprites flagged with this combo - they all need to be treated as face sprites.
2022-01-04 17:18:25 +01:00
Christoph Oelckers
bb95f26c5e
- removed debug message.
2022-01-04 17:18:24 +01:00
Christoph Oelckers
3494c701ee
- Nam/WW2GI: use the console font for the generic message display.
...
The small font in these games is not usable because it is too small, too ugly and not extendable for localization.
2022-01-04 17:17:59 +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
ac3546bdaa
- fixed depth buffer use of slope sprites.
...
They cannot be treated like perfectly horizontal floor sprites and need to write to the depth buffer in the same pass as the regular pixels.
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
e2e3b4482d
- do some better sorting of slope sprites.
...
Splitting by translucent floor plane is essential, splitting by wall not that much - sorting by center point should be sufficient here.
2022-01-03 12:31:54 +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
be92d252ff
- fixed signedness issue with slope sprite coefficient.
2022-01-03 09:54:23 +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
Mitchell Richters
bc6dd4ae3e
- Add nullptr check to Interp_Sprite_Z
reversion so I can load older saves before this was reverted.
2022-01-03 09:13:11 +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
d0ab13f95a
- use GPLv2 in all files dual-licensed with the Doom Source license.
...
None of this was ever GPLv3, the original id source was released under the GPLv2 so this should be, too.
2022-01-02 12:42:54 +01:00
Christoph Oelckers
e42fc5e743
- use the newly added flag to consolidate ifhitsector.
2022-01-02 12:27:36 +01:00
Christoph Oelckers
46078323ff
- backend update from GZDoom, mainly license updates.
2022-01-02 12:24:53 +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
daa07b9e55
- an attempt to render "reflection" floor sprites by lifting them up to the floor and drawing them with 33% alpha.
2022-01-01 20:01:36 +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
6807086f3c
- relaxed the FindWall check for wall sprites a bit so that slightly out-of-sector sprites can find a wall to attach to.
2022-01-01 18:55:42 +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
fcb3e43799
- fixed side check for sloped sprites.
2022-01-01 17:27:09 +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
Christoph Oelckers
9680ff1863
- ignore y-flipping when rendering slope sprites in the new renderer.
...
This is what Polymost, and apparently NBlood, do here.
2022-01-01 12:55:28 +01:00
Christoph Oelckers
551ff89778
- fixed signed/unsigned comparison warning.
2022-01-01 11:30:00 +01:00
Mitchell Richters
f1530a051f
- Fix two signedness warnings in hw_sections.cpp
.
2022-01-01 21:02:00 +11:00
Mitchell Richters
733b6a7367
- Fix GCC warning warning: ‘vec.TVector2<double>::X’ may be used uninitialized [-Wmaybe-uninitialized]
.
2022-01-01 20:50:58 +11: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
4dbbe892ae
- fixed main game resource detection for Blood.
...
* code did not scan .rff files for content-defined versions.
* code did not check content-defined versions for CRC matches.
2021-12-31 13:04:32 +01:00
Christoph Oelckers
1849fe541e
- fixed alignment of sloped sprites.
...
The offset fields are not valid for them so thwy may not be used for offsetting.
2021-12-31 11:55:25 +01:00
Christoph Oelckers
717dd123e5
- fixed slope sprite flag getting cleared by some leftover code.
...
Also merged copyfrom into the one single function that called it.
2021-12-31 10:55:55 +01:00
Christoph Oelckers
0cba0e19b5
- SW: fixed some pointer mixup in UpdatePlayerUnderSprite
2021-12-30 23:39:54 +01:00
Christoph Oelckers
f679b61a30
- fixed issue with wall sprite angle check.
...
The resulting value had no sign, so 'abs' did not work. It now uses some bit shifting magic to get a proper sign.
2021-12-30 22:56:33 +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
51abee4351
- eliminated spritetypebase::setpos, which was the last remaining method in this struct.
2021-12-30 17:49:16 +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
eb00fe52db
- more spritetype references eliminated.
2021-12-30 16:11:14 +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
Mitchell Richters
e06c083c3b
- Use #pragma once
in EASTL's intrusive_list.h
.
2021-12-30 23:00:39 +11:00
Christoph Oelckers
50a3089648
- eliminated tspriteptr_t and moved a few polymost-exclusive inlines into polymost.cpp.
2021-12-30 11:51:33 +01:00
Christoph Oelckers
9158796284
- partial replacement of tspriteptr_t.
2021-12-30 11:48:10 +01:00
Christoph Oelckers
44d2cc1951
- eliminated usectorptr_t.
2021-12-30 11:45:58 +01:00
Christoph Oelckers
285a5f2fd2
- eliminated uwallptr_t.
2021-12-30 11:38:34 +01:00
Christoph Oelckers
18fdb7548e
- changed sprite argument in get_floorspr_points to DCoreActor and eliminated uspriteptr_t.
2021-12-30 11:35:49 +01:00
Christoph Oelckers
17736d1d5e
- changed sprite argument in spriteheightofsptr to DCoreActor.
2021-12-30 11:31:45 +01:00
Christoph Oelckers
7676958f40
- changed try_facespr_intersect's sprite argument to DCoreActor.
2021-12-30 11:28:09 +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
c61d82cead
- made RRRA E1L3 fix a bit more robust by neutralizing the unconnected one of the two walls.
...
Also fix thw 'warning C4456: declaration of 'i' hides previous local declaration' warning.
2021-12-30 10:09:13 +01:00
Christoph Oelckers
4d8028831b
- fixed vertexscan crashing on bad walls.
2021-12-30 09:58:48 +01: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
d46a7abb0e
- better wall sprite handling.
...
When they are directly on a wall, project their coordinates onto the wall to eliminate the imprecisions from Build's ad-hoc setup.
2021-12-30 09:58:46 +01:00
Christoph Oelckers
1a2b9d43f7
- fixed check for wallsprites on walls.
...
This completely ignored the case where a wall was flagged as one-sided which was the main reason with that sneaky sign in E2L1.
The problem is not entirely fixed with this but now it will detect that it's on a wall.
2021-12-30 09:58:46 +01:00
Christoph Oelckers
4f8f85c634
- backend update from GZDoom.
2021-12-30 09:58:46 +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
f7e7476010
- hooking up the vertex map with the rest of the engine.
2021-12-30 09:58:44 +01:00
Christoph Oelckers
27ae8d627b
- vertex height map creator for precise render mode like in GZDoom.
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
a15e5399fa
- don't use a full sector backup in the triangulator for comparing changes.
...
Instead use a smaller struct only containing the relevant data.
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
8710e76a2d
- delete voxel models when shutting down
2021-12-30 09:58:10 +01:00
Christoph Oelckers
dc7082f264
- removed duplicate PClass::StaticInit call.
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
1f2abda23c
- fixed map ccmd.
...
Something got lost when implementing user maps.
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
eaac9de1a4
- Added skill selection for user maps.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
e5c9691166
- fixed clipping issue with sloped walls.
...
The window was calculated too narrow for this case, it needs to use the lower point of a floor slope and the upper point of a ceiling slope.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
50bad91f14
- handle edge case in clipper where adding a new window will remove the entire clipper's content before adding the new range.
...
This case would have passed the actual logic but not the asserts.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
04f3268893
- silenced the debug output that was still present in the section creator.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
00a7be545d
- added a map preview to the user map browser.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
6dfd975f88
- activated the user map menu item in the episode selection.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
ffd23c23ca
- implemented user map browser.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
3be2128b3a
- added utilities to read all usermaps into a directory tree
2021-12-30 09:58:08 +01:00
Christoph Oelckers
ccf50c7812
- fixed user map music lookup for real without disabling other things.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
87a32d9095
Revert "- fixed music lookup for user maps."
...
This reverts commit 9558e7d518c1d5f7a898fcb2564078bd9ec956ac.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
4843cf98d8
- usermap files
2021-12-30 09:58:07 +01:00
Christoph Oelckers
7204b7c616
- fixed music lookup for user maps.
...
This was only looking for real files, but instead needs to check the file system. The game directory's content will always be part of that so other checks are counterproductive.
2021-12-30 09:58:07 +01:00
Christoph Oelckers
99b069d122
- fixed the user map label.
...
TXT_USERMAP does not exist, only MNU_USERMAP does.
2021-12-30 09:58:07 +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
Christoph Oelckers
050d93a92c
- deleted unused pointers and handled u() in the script interface.
2021-12-30 09:58:04 +01:00
Christoph Oelckers
6df854d612
- replaced one sprite inline with its actor variant.
2021-12-30 09:58:04 +01:00
Christoph Oelckers
4e7724ece2
- deleted all leftover SPRITEp stuff.
2021-12-30 09:58:04 +01:00
Christoph Oelckers
f1c60e4a52
- fixed SpawnFireballFlames and deleted leftover sprite pointers.
2021-12-30 09:58:04 +01:00
Christoph Oelckers
2543a46278
- deleted all u variables from weapon.cpp
2021-12-30 09:58:03 +01:00
Christoph Oelckers
8739ef9182
- renamed all u-> in weapon.cpp
2021-12-30 09:58:03 +01:00
Christoph Oelckers
3e79c917f2
- the last u in weapon.cpp that are not actor->u()
2021-12-30 09:58:03 +01:00
Christoph Oelckers
b522356120
- stuff that was missed.
2021-12-30 09:58:03 +01:00
Christoph Oelckers
85b687ba13
- all eu, which are expActor.
2021-12-30 09:58:03 +01:00
Christoph Oelckers
e16caa0c62
- eu, that are not expActor
2021-12-30 09:58:03 +01:00
Christoph Oelckers
7147d3c89e
- several non-u users in weapon.cpp
2021-12-30 09:58:02 +01:00
Christoph Oelckers
9485816cf7
- deleted u variables from sprite.cpp.
2021-12-30 09:58:02 +01:00
Christoph Oelckers
b9a8647d73
- renamed u-> in sprite.cpp
2021-12-30 09:58:02 +01:00
Christoph Oelckers
02d8551330
- non "u = actor" Users in sprite.cpp
2021-12-30 09:58:02 +01:00
Christoph Oelckers
221f1dc69a
- handle u-> in slidor.cpp
2021-12-30 09:58:02 +01:00
Christoph Oelckers
9f27e05fef
- deleted u variables in sector.cpp
2021-12-30 09:58:02 +01:00
Christoph Oelckers
121ae62108
- renamed u-> in sector.cpp
2021-12-30 09:58:01 +01:00
Christoph Oelckers
65b9841666
- handle u-> in rotator.cpp
2021-12-30 09:58:01 +01:00
Christoph Oelckers
be1d53db56
- deleted u variables in vator.cpp
2021-12-30 09:58:01 +01:00
Christoph Oelckers
ab359844aa
- renamed u-> in vator.cpp
2021-12-30 09:58:01 +01:00