Commit graph

1061 commits

Author SHA1 Message Date
Christoph Oelckers
bc34746227 - scriptified transport vehicles. 2022-12-11 19:43:50 +01:00
Christoph Oelckers
f1d6e0e6bb - scriptified Duke's shooting gallery targets. 2022-12-11 19:43:50 +01:00
Christoph Oelckers
4397e65443 - cleaned up the generic destructible code and used it for several more things. 2022-12-11 19:43:50 +01:00
Christoph Oelckers
f89ccec829 - scriptified Duke's reactor. 2022-12-11 19:43:50 +01:00
Christoph Oelckers
f6fe639233 - avoid propagating owner flags where easily doable.
This particular case is done a lot better by setting a special flag.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
59659bc284 - scriptified the last two RR projectiles.
These are particularly messy - they have different looks depending on the shooter...
2022-12-11 19:43:49 +01:00
Christoph Oelckers
403141807f - scriptified all simple and explosive RR projectiles. 2022-12-11 19:43:49 +01:00
Christoph Oelckers
82515e1d76 - scriptified the World Tour's flamethrower#s fireball.
Also using a better method to mark the trailing balls than checking the owner.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
26d9511087 - scriptified the octabrain projectile. 2022-12-11 19:43:49 +01:00
Christoph Oelckers
f2df8a162f - scriptified Duke's spit projectile. 2022-12-11 19:43:49 +01:00
Christoph Oelckers
fcd05e38c9 - scriptified the freezer projectile. 2022-12-11 19:43:49 +01:00
Christoph Oelckers
f4bc5d6df8 - scriptified Duke's RPG. 2022-12-11 19:43:48 +01:00
Christoph Oelckers
c1545a1eaa - scriptified the shrink spark. 2022-12-11 19:43:48 +01:00
Christoph Oelckers
a756b71647 - scriptified the firelaser projectile.
This also fixes the animation of the RR variant, which used a bad value with '&'.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
d946ebb74d - added Projectile base class.
Not hooked up yet, this only defines the framework for what comes.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
44fa420387 - added a few new flags and renamed some sprites.
All this is preparations for scriptifying the projectiles.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
15fb7dab35 - virtualized the 'shoot' interface and scriptified the bloodsplats to test it.
This calls virtual functions on the actor defaults now to allow writing specific shoot functions for subclasses.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
8a921c98bd - scriptified ooz. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
9d1384449c - scriptified the Recon. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
2ab5e63386 - added a few new actor flags. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
7db953e0ea - scriptified the force sphere.
Doesn't seem to be used anywhere, though...
2022-12-11 19:43:47 +01:00
Christoph Oelckers
6d9a8bfaa5 - scriptified the pool balls. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
1ef61c8588 - exported a bunch of stuff we're going to need soon. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
f138798e26 - scriptified the rat. 2022-12-11 19:43:46 +01:00
Christoph Oelckers
99413651b3 - scriptified the respawn marker. 2022-12-11 19:43:46 +01:00
Christoph Oelckers
f43dc9d925 - Duke: fixed Jibs animation and scale. 2022-12-11 19:43:46 +01:00
Christoph Oelckers
a6a4e628df - scriptified RRRA's gambling machines.
These were fallout from the generic destructibles because the code to destroy them was removed along with that.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
1d52963d4b - converted all simple destructible sprites.
Ironically the first item I used for testing needed a dedicated class, so here's that, too...
2022-12-11 19:43:46 +01:00
Christoph Oelckers
9e29c3970d - generic destructibles 2022-12-11 19:43:45 +01:00
Christoph Oelckers
93ef4b34d7 - scriptified the guts spawning function. 2022-12-11 18:46:40 +01:00
Christoph Oelckers
3ac8bd02f5 - scriptified the jibs 2022-12-11 18:46:40 +01:00
Christoph Oelckers
1b3f551216 - use a flag for outer space textures. 2022-12-11 18:42:02 +01:00
Christoph Oelckers
c7cdf96a62 - exported two more settings to tile flags. 2022-12-11 18:42:02 +01:00
Christoph Oelckers
0281e5dff8 - unified the spawnclasses definitions for Duke, Nam and WW2GI. 2022-12-11 18:42:01 +01:00
Christoph Oelckers
67e807de26 - exported the tile flag setters to .def. 2022-12-11 18:42:01 +01:00
Christoph Oelckers
52e5e2f59a - use a sepate file system filter for 'duke-like' games, i.e. Duke, NAM and WW2GI combined.
These 3 all require the same SNDINFO being loaded.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
797c122363 fixed the sound controller's sound selection.
In this case the game-side resource ID was silently cast to a sound ID but it needs explicit conversion.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
a825dfb8ca - Duke sound is working again. 2022-12-11 18:41:52 +01:00
Christoph Oelckers
f103e33300 - fixed code up to the point where everything compiles again. Duke sounds are currently non-functional.
All Duke script code has been changed to use strings as sound names now, just like GZDoom these will be looked up at compile time.
Original Duke sound indices still exist but are now being managed as resource IDs, not sound engine indices anymore.
2022-12-11 18:41:51 +01:00
Christoph Oelckers
1ac4aee0c1 - RR cactus stuff 2022-12-11 18:41:50 +01:00
Christoph Oelckers
c48dfc082f - scriptified RR's lumber blade. 2022-12-11 18:41:50 +01:00
Christoph Oelckers
76fabcd1c7 - chickenplant scriptified. 2022-12-11 18:41:50 +01:00
Mitchell Richters
0ab175b894 - Duke: Fix pos issues with crane's touchplate following position change to sprite. 2022-12-11 18:41:42 +01:00
Mitchell Richters
dd5834444e - Duke: Swap out the internals of the player's pos methods and get the game going again. 2022-12-11 18:41:41 +01:00
Mitchell Richters
abd6275f17 - Add new double DCoreActor::viewzoffset set in spawning code during level loads.
* Interpolated backup copy isn't needed for Duke, but will be for SW.
2022-12-11 18:41:41 +01:00
Mitchell Richters
4aa63b5446 - Duke: Rename player's pos to something identifiable. 2022-12-11 18:41:38 +01:00
Mitchell Richters
4bf8ea140c - Fix IWADBoxCallback() and MENUDEF setup for GLES backend. 2022-12-11 19:45:07 +11:00
Mitchell Richters
36c38dab9a - Make crosshairscale slider match GZDoom, including allowing it to slide down to 0 for unscaled. 2022-12-11 19:31:52 +11:00
Christoph Oelckers
f163c328d4 - text update. 2022-12-04 17:23:36 +01:00
Christoph Oelckers
1061e3e2ca - backend update from GZDoom. 2022-12-04 16:51:44 +01:00
Mitchell Richters
2c966e35ae - Add Kevin Caccamo (Talon1024) to Raze QA credits.
We really appreciate all your continued bug reports! 🤘
2022-11-30 18:11:10 +11:00
Rachael Alexanderson
e8b31d3c08 - complete transfer of vk_hdr fix from gzdoom (was missing the shader component) 2022-11-28 18:52:10 -05:00
Christoph Oelckers
aa3df50f9b - fixed locked activator setup.
This broke all locked doors.
2022-11-26 17:26:45 +01:00
Christoph Oelckers
adc2b884cd - Nam and WW2GI also need Duke's spawnclasses table. 2022-11-26 09:05:25 +01:00
Christoph Oelckers
4d6920e80b - fixed failiure to initialize the ambient tags array.
Also adding range checks to all places where it gets used. This is from CON code so proper values are never guaranteed.
2022-11-24 09:01:44 +01:00
Christoph Oelckers
13e19bad36 - fixed handling of bad class assignment to map picnums. 2022-11-24 08:12:18 +01:00
Mitchell Richters
a7ba843eb5 - Remove some leftover console debug prints. 2022-11-24 13:41:15 +11:00
Christoph Oelckers
6cb3e2f457 - Duke: fixed operator precedence in scrap spawning code. 2022-11-21 10:48:47 +01:00
Christoph Oelckers
8735e24d99 - don't print negative ammo numbers on the Duke HUD. 2022-11-21 10:01:44 +01:00
Christoph Oelckers
29c4c77e55 - fixed bad StopSound implementation. 2022-11-21 09:25:46 +01:00
Christoph Oelckers
a76d166966 - scriptified tongue actor.
This seems to be develpment garbage. No proper sprites exist for this.
2022-11-20 20:40:46 +01:00
Christoph Oelckers
b069904be1 - scriptified the remaining controller sprites. 2022-11-20 13:57:51 +01:00
Christoph Oelckers
cb005062cd - scriptified activators and locators. 2022-11-20 12:43:24 +01:00
Christoph Oelckers
9fa2fb75cf - scriptified the respawn controller.
This also handles one special RRRA controller which was just easier to scriptify right away than temporarily work around it.
2022-11-20 11:58:19 +01:00
Christoph Oelckers
d44b637f1b - fixed touchplate initialization
This was still using older code - the current native version was also not removed from the spawn function.
2022-11-20 08:51:09 +01:00
Christoph Oelckers
f515939fde - scriptified the sound controller. 2022-11-20 08:46:49 +01:00
Christoph Oelckers
714a2ef70e - scriptified canwithsomething, the last internal STAT_STANDABLE item. 2022-11-19 19:01:17 +01:00
Christoph Oelckers
dee33ba4dd - scriptified viewscreen and camera. 2022-11-19 17:35:04 +01:00
Christoph Oelckers
046ba1ae0c - scriptified touchplate 2022-11-19 15:40:35 +01:00
Christoph Oelckers
63a8c3148c - scriptified doorshock 2022-11-19 15:40:21 +01:00
Christoph Oelckers
15cd80cad3 - scriptified the waterdrip 2022-11-19 15:40:09 +01:00
Christoph Oelckers
11acb92553 - scriptified the bolts. 2022-11-19 12:54:50 +01:00
Christoph Oelckers
676ca73983 - scriptified the trash actor. 2022-11-19 12:54:15 +01:00
Christoph Oelckers
5ae7011e41 - converted the masterswitch. 2022-11-19 11:24:39 +01:00
Christoph Oelckers
b106fb693a - scriptified OozFilter + Seenine
Also fixing the default handling for onHit.
2022-11-17 21:46:24 +01:00
Christoph Oelckers
26ba1f601e - scriptified the fire extinguisher. 2022-11-17 20:19:22 +01:00
Christoph Oelckers
f9826241ef - scriptied the cracks. 2022-11-17 20:18:46 +01:00
Christoph Oelckers
8ce358fc24 - scriptified the trip bombs. 2022-11-17 18:38:25 +01:00
Christoph Oelckers
6b3e57fd2c - added 'foreach' loop to ZScript.
Syntax:

foreach(variable : array)
{
}

the variable's type is automatically deducted.
2022-11-15 21:29:04 +01:00
Christoph Oelckers
dc9451d584 - renamed global 'wall' and 'sector' arrays to 'walls' and 'sectors' for ZScript.
This avoids problems with name hiding.
2022-11-15 20:09:36 +01:00
Christoph Oelckers
bfae5ce1bc - use a TArrayView to store the wall references in a sector.
This is a lot more scripting friendly than hacking around the indices.
2022-11-15 14:53:39 +01:00
Christoph Oelckers
a2683559ce - refactored Duke's cactus. 2022-11-15 10:44:06 +01:00
Christoph Oelckers
ad7cf290d2 - restricted use of gs.firstdebris to the only place where it is really needed.
Also no script export for this, it is only needed for converting CON parameters to propr indices.
2022-11-15 08:28:05 +01:00
Christoph Oelckers
d253468b22 - scriptified the scraps.
A Duke-ish mess of epic proportions.
2022-11-15 00:06:21 +01:00
Christoph Oelckers
5fea500f92 - flammable actors scriptified. 2022-11-14 16:31:45 +01:00
Christoph Oelckers
190fd1827e - scriptified Dukes water fountain.
That's this thingy in the first corridor of E2L1.
2022-11-14 12:10:13 +01:00
Christoph Oelckers
306db376d9 - added script exports for 'spawn' and 'lotsofglass' and made the spawn variant using class names operational. 2022-11-14 10:30:59 +01:00
Christoph Oelckers
317968c45a - exported DukeGameInfo.
Only the parts that can be considered stable.
2022-11-14 10:25:17 +01:00
Christoph Oelckers
ced22bb0a8 - added onUse virtual to DukeActor. 2022-11-14 10:22:22 +01:00
Christoph Oelckers
f23ddc28f0 - Duke: scriptified the crane 2022-11-13 18:55:32 +01:00
Christoph Oelckers
660c546266 - actor interface fixes. 2022-11-13 18:51:23 +01:00
Christoph Oelckers
e3aa1da175 - CallOnanimate 2022-11-13 11:50:28 +01:00
Christoph Oelckers
ba016c7c3a - added CallOnHit and named spawn. 2022-11-13 10:30:52 +01:00
Christoph Oelckers
b06382a565 - this was supposed to be named 'sector'. 2022-11-13 10:15:40 +01:00
Mitchell Richters
5e6c899a2d - Comment out CoreActor::sectp for now so the games boot up. 2022-11-13 20:09:06 +11:00
Christoph Oelckers
48d1367a7e - added some VM exports for DukePlayer 2022-11-13 08:59:08 +01:00
Christoph Oelckers
53e43d6d1e - CoreActor setposition natives. 2022-11-13 08:59:07 +01:00
Christoph Oelckers
de51b65ead - reimplemented Duke's scripted actor iterators in a more lightweight fashion.
This now works without allocating garbage collected objects.
2022-11-13 08:59:07 +01:00
Christoph Oelckers
c32a695384 - DukeActor scriptification framework. 2022-11-13 08:55:20 +01:00
Christoph Oelckers
8806fb930b - Backend update from GZDoom
* Vector 4 in zscript
* garbage collector fixes
2022-11-12 10:45:39 +01:00
Christoph Oelckers
8f5923c324 - handle a visual glitch in Duke's E2L1 via compatibility.
There is already code to deal with this automatically, but this does not manage to fully eliminate the problem.
2022-11-07 11:51:40 +01:00
Mitchell Richters
9fbe564327 - Fix bad if statement guarding cl_clampedpitch in menu and make non-global. 2022-11-07 15:43:26 +11:00
Mitchell Richters
eb3f4c6e00 - Update language.csv. 2022-11-06 22:03:43 +11:00
Mitchell Richters
2357cc5c36 - Add option to (experimentally) unclamp the view pitch for the Duke family of games. 2022-11-06 22:03:42 +11:00
Christoph Oelckers
0e113dab79 - added true level compatibility map processing and deleted all related map hack code. 2022-10-31 10:45:47 +01:00
Christoph Oelckers
a6af6b88df - removed the MHK for Route66's coffin.map
This was actually a render bug that was fixed long ago, so the edit is no longer needed.
2022-10-31 08:27:15 +01:00
Christoph Oelckers
b636ffe6a7 - added a MHK for RR E1L1 to fix a render glitch in the barn. 2022-10-31 08:26:20 +01:00
Christoph Oelckers
6586868cb8 - added the framework for scripted level compatibility patching. 2022-10-30 16:51:41 +01:00
Christoph Oelckers
32b2e84fdc - added episode and total episode time display to alt HUD 2022-10-30 16:51:40 +01:00
Christoph Oelckers
fa3a8ca0d7 - add episode name display to alt hud. 2022-10-30 16:51:40 +01:00
Christoph Oelckers
562c1a18c8 - integrate hud_althud into hud_size
This makes it easier to use and avoids rendering a fullscreen hud on a screen size with view border.
2022-10-30 16:51:39 +01:00
Christoph Oelckers
2fbee8faf5 - Exhumed alt hud. 2022-10-30 16:51:38 +01:00
Christoph Oelckers
7808dae81b - implemented alt HUD for SW. 2022-10-30 16:51:38 +01:00
Christoph Oelckers
95042247cf - implemented alt HUD for RR. 2022-10-30 16:51:38 +01:00
Christoph Oelckers
95d10bd73c - Duke: fixed some issues with the pipe bomb’s detonator in the alt HUD. 2022-10-30 16:51:38 +01:00
Christoph Oelckers
2c7cf5564f - implemented alt HUD for Duke. (incl. NAM + WW2GI) 2022-10-30 16:51:37 +01:00
Christoph Oelckers
ff71ab14ce - added a GZDoom-style alternative HUD.
So far only implemented for Blood.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
5f50ee5204 - updated CoreActor’s script exports. 2022-10-30 16:51:35 +01:00
Christoph Oelckers
4aa765675e - use a float vector to store the scale. 2022-10-30 16:51:31 +01:00
Mitchell Richters
ffc16635b2 - Blood: Make bobPhase a proper float. 2022-10-30 16:51:24 +01:00
Christoph Oelckers
8d1626de02 - yet more SetScale uses. 2022-10-30 16:51:18 +01:00
Christoph Oelckers
4af4983d3e - floatified clipdist and replaced fClipdist wrapper.
This uses a new variable because a few things use clipdist as a flag byte
2022-10-30 16:51:14 +01:00
Mitchell Richters
0600bf5860 - Negate everything to do with PlayerHorizon::__horiz where appropriate, including some loose horizoff members. 2022-10-30 16:51:11 +01:00
Christoph Oelckers
0eea776065 - moved RS_ bits to gamehud.h because that's all that uses these flags. 2022-10-30 16:51:09 +01:00
Christoph Oelckers
5ab75f45e9 - floatified and consolidated throwPower handling. 2022-10-25 07:07:11 +02:00
Christoph Oelckers
f286565abc - floatifying player::slope, part 2 2022-10-25 07:07:09 +02:00
Mitchell Richters
8d3f3c6025 - Cut over to DAngle from fixedhoriz and remove the latter. 2022-10-25 07:06:55 +02:00
Mitchell Richters
06a9a7b1a7 - SW: Change all weapon recoils to work on pitch. 2022-10-25 07:06:54 +02:00
Christoph Oelckers
243c071834 - got rid of bsinf and bcosf. 2022-10-22 12:17:04 +02:00
Christoph Oelckers
c511e5dca9 - eliminated int_xvel 2022-10-22 11:33:16 +02:00
Christoph Oelckers
9325886e35 - split use of tempang between real angles and other counters. 2022-10-22 11:33:16 +02:00
Christoph Oelckers
b8efc5c563 - floatified RR noise code. 2022-10-22 09:34:14 +02:00
Mitchell Richters
db5fcde0db - Fix issues with startup on fresh config following CVAR overhaul. 2022-10-22 14:42:12 +11:00
Christoph Oelckers
5eb9af1e00 - Backend update from GZDoom
IQM model support and a few bugfixes.
2022-10-20 22:24:25 +02:00
Christoph Oelckers
50a9ca49f3 - floatified player_struct::hitang 2022-10-20 00:33:31 +02:00
Christoph Oelckers
5aa832f536 - fixed color of Duke's "ATOMIC" menu sprite. 2022-10-18 19:57:41 +02:00
Mitchell Richters
b127c37939 - Blood: Floatify all the bobbing/swaying code. 2022-10-18 19:52:02 +02:00
Mitchell Richters
954b394baa - Blood: Floatify PLAYER::zWeaponVel. 2022-10-18 18:30:38 +02:00
Mitchell Richters
0019b5ee02 - Blood: Floatify PLAYER::zWeapon. 2022-10-18 18:30:38 +02:00
Mitchell Richters
2d98c532eb - Blood: Floatify PLAYER::zViewVel. 2022-10-18 18:30:38 +02:00
Mitchell Richters
f35fffdf3d - Blood: Floatify PLAYER::zView. 2022-10-18 18:30:37 +02:00
Christoph Oelckers
7a9f89b95d - removed obsolete scripting exports. 2022-10-16 10:59:04 +02:00
Christoph Oelckers
b202cf7a12 - added option to show the level stats on the automap. 2022-10-15 17:14:34 +02:00
Mitchell Richters
427d4c1c1a - SW: Floatify CircleCamera(). 2022-10-15 13:32:04 +02:00
Christoph Oelckers
38bb103cdd - renamed velFloor and velCeil. 2022-10-15 13:31:59 +02:00
Christoph Oelckers
a9b19943dd - floatified bob_z and all actor spawns using it. 2022-10-14 23:39:33 +02:00
Christoph Oelckers
cebdc653bb - removed unused fields from PLAYER. 2022-10-14 23:17:46 +02:00
Christoph Oelckers
c3ac42a546 - removed unused PLAYER::up_speed and down_speed variables. 2022-10-14 23:17:46 +02:00
Christoph Oelckers
29d9d02b78 - floatified PLAYER::z_speed. 2022-10-14 23:17:46 +02:00
Christoph Oelckers
f8ba5bb660 - final xvel cleanup. 2022-10-14 23:13:33 +02:00