Commit graph

1922 commits

Author SHA1 Message Date
Christoph Oelckers
89ef81da55 - renamed walltype::pos as preparation for refactoring.
no functional changes here
2022-02-15 22:18:22 +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
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
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
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
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
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
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
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