Commit graph

363 commits

Author SHA1 Message Date
Mitchell Richters
c25493762b - Eliminate bvectangbam(). 2022-10-05 00:36:28 +02:00
Mitchell Richters
8912d7d6cc - SW: Change RevolveAng, RevolveDeltaAng and GlobSpeedSO to DAngle objects.
* For now, SW is as `binangle` free as it can be until other backend parts are changed.
2022-10-05 00:36:23 +02:00
Mitchell Richters
2f76ca100f - SW: Replace last uses of binangle in game's draw code with DAngle objects.
* Easiest done in one hit since we had pointers and things to deal with.
2022-10-05 00:36:23 +02:00
Christoph Oelckers
24c845f827 - remove float_pos wrapper. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
6bd854da88 - floatified player_struct::truecz/truefz. 2022-10-02 20:46:58 +02:00
Christoph Oelckers
7fce0ed7ae - renamed truefz and truecz 2022-10-02 20:46:57 +02:00
Christoph Oelckers
793e9b7623 - renamed DDukeActor::floorz, ceilingz. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
f858d77e7c - fixed: starting a video must stop all playing music. 2022-10-01 09:01:14 +02:00
Christoph Oelckers
a59a771209 - use floats for ceilingz/floorz storage. 2022-08-27 10:49:59 +02:00
Christoph Oelckers
367a998b40 - removed the scripting wrappers for floorz and ceilingz.
These won't be needed anymore with floating point values
2022-08-27 10:16:57 +02:00
Christoph Oelckers
c15aeec9f7 - late __int_pos additions 2022-08-26 19:53:11 +02:00
Christoph Oelckers
77bc5999ce - Backend update from GZDoom.
* ZScript compiler fixes for type promotion
* FileSystem.FindLumpFullName
* Statusbar text scaling fixes.
* removed scalar addition operators from vectors.
2022-08-17 20:38:46 +02:00
Christoph Oelckers
0fd42a50e8 -fixed ZScript warnings with comparison signedness. 2022-08-03 19:44:37 +02:00
Christoph Oelckers
cac54d42e9 - fixed script warnings after updating to version 4.9.0 2022-08-03 13:49:17 +02:00
Christoph Oelckers
89e8d7ad58 - removed all remnants of the softpoly renderer which was never used in Raze. 2022-08-03 13:27:48 +02:00
Christoph Oelckers
6591b3b090 - Backend update from GZDoom.
Mainly new features for 2D drawer and model renderer.
2022-07-23 12:05:27 +02:00
Christoph Oelckers
abb7f87de3 - Backend update from GZDoom. 2022-07-23 12:10:08 +10:00
Christoph Oelckers
30b81c0920 - SW: changed fullscreen HUD to display all 8 keys without gaps ans overlapping. 2022-06-06 22:03:42 +02:00
Christoph Oelckers
84173ee09b - backend update from GZDoom.
The main bulk of this is the new start screen code. To make this work in Raze some more work on the startup procedure is needed.
What this does provide is support for the DOS end-of-game text screens in Duke and SW on non-Windows systems.
2022-06-06 11:45:34 +02:00
Christoph Oelckers
126f6051d2 - fixed level number for RRRA's travel animations.
first level is 1001, not 1.
2022-06-02 10:18:57 +02:00
Christoph Oelckers
0dc670da8e - added wipe transitions to screen job
Mainly to have the crossfade, the other styles are mostly bonus.
This also adds proper scoping to the cutscene code, which needs to run in UI scope.
2022-04-25 17:26:17 +02:00
Christoph Oelckers
789794539c - added script exports for Duke's main structures. 2022-02-21 00:19:26 +01:00
Christoph Oelckers
df7e6dfec8 - added scripting exports for the global map types and a few more actor utilities. 2022-02-21 00:12:51 +01:00
Christoph Oelckers
21fddd6c54 - spriteset management. 2022-02-15 22:34:48 +01:00
Christoph Oelckers
e396798198 - made DCoreActor's properties functional.
They cannot be parsed directly into the actor's sprite because that gets used in ways that require a different setup.
This alsp adds a property parser and a setter function for the SpriteSet array. The idea here is to write code that does not need to use actual tile indices so it can later be refactored to real textures.
2022-02-15 22:34:03 +01:00
Christoph Oelckers
37fda9cf89 - added position getters/setters to DCoreActor.
Scripting should not be subjected to that awful mixed fixed point format, but we cannot easily swap out the internals without risking breakage all over the place.
2022-02-15 22:33:49 +01:00
Christoph Oelckers
d9fee902de - setSpritesetImage export added. 2022-01-26 23:35:53 +01:00
Christoph Oelckers
6ff8e89739 - add statnums and virtual base methods to DukeActor. 2022-01-26 00:37:11 +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
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
04a380ce14 - added script exports for DCoreActor's member variables. 2022-01-24 00:24:46 +01:00
Christoph Oelckers
43f2601bd6 - added script definitions for the base actor classes so that the engine can start up again. 2022-01-23 13:03:40 +01:00
Rachael Alexanderson
d5aacb369a - oops this was in the wrong place 2022-01-21 01:16:22 +01:00
Christoph Oelckers
7c4319d099 - Nam: don't draw the icon for weapon 7 on the HUD.
This is just a blue square. In RedNukem it isn't shown, but there's no special code for it.
2022-01-08 21:58:15 +01:00
Mitchell Richters
09e1fa4d1e - Exhumed: Amend previous commit to do proper floating point calculation. 2022-01-04 22:54:51 +11:00
Mitchell Richters
572dcc08dd - Exhumed: Remove debug line and use game's ticrate in milliseconds instead of a hard-coded value (not that it should ever change anyway). 2022-01-04 22:51:19 +11:00
Christoph Oelckers
8bc1ca5f58 - Exhumed: interpolate the menu items when zooming. 2022-01-04 12:42:46 +01:00
Christoph Oelckers
be2efc03ad - Exhumed: interpolate the scrolling map. 2022-01-04 12:42:45 +01: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
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
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
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
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
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
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
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
bd47f56a5c - x() is gone entirely. 2021-12-30 09:57:22 +01:00
Mitchell Richters
6423684bfb - SW: Replace PLAYERstruct oposz with opos.Z calls. 2021-12-30 09:57:09 +01:00
Mitchell Richters
a2f2cc489a - SW: Replace PLAYERstruct oposy with opos.Y calls. 2021-12-30 09:57:08 +01:00
Mitchell Richters
ae50767c70 - SW: Replace PLAYERstruct oposx with opos.X calls. 2021-12-30 09:57:08 +01:00
Mitchell Richters
3adf81e4f9 - Duke: Replace player_struct oposz with opos.Z calls. 2021-12-30 09:57:07 +01:00
Mitchell Richters
111aa16e64 - Duke: Replace player_struct oposy with opos.Y calls. 2021-12-30 09:57:07 +01:00
Mitchell Richters
0e897c29b0 - Duke: Replace player_struct oposx with opos.X calls. 2021-12-30 09:57:07 +01:00
Christoph Oelckers
75b36cbd1c - Duke: made player.i a real pointer
How could I overlook this one.
2021-12-26 23:09:45 +01:00
Christoph Oelckers
c0496420ec - LadderSector 2021-12-26 23:08:46 +01:00
Christoph Oelckers
d1f7269ca8 replaced cursectnum with a cursector pointer 2021-12-25 21:28:56 +01:00
Christoph Oelckers
1790ced1f8 - Exhumed: renamed disassembly fields in player struct. 2021-12-25 21:28:52 +01:00
Mitchell Richters
af96180123 - Duke/RR; Don't lose the precision of p->MotoSpeed when calculating p->VBumpTarget. 2021-12-07 20:02:30 +11:00
Christoph Oelckers
0f2f46ec35 - made one_parallax_sectnum a pointer 2021-11-29 00:56:26 +01:00
Christoph Oelckers
caa9ef6dd3 - make access_wallnum a pointer 2021-11-29 00:56:22 +01:00
Christoph Oelckers
2b4ed0eaf3 - PlayerCheckDeath 2021-11-29 00:56:10 +01:00
Christoph Oelckers
fb95f0fff7 - store an actual actor pointer in PLAYER.
# Conflicts:
#	source/games/blood/src/player.cpp
2021-11-29 00:54:58 +01:00
Christoph Oelckers
5b9152abfd - eliminated the last access to playerActors in trigger.cpp and made AimTargets a pointer array. 2021-11-29 00:54:58 +01:00
Christoph Oelckers
a67da5003a - made voodooTarget a pointer and removed most direct references to target_i. 2021-11-29 00:53:47 +01:00
Mitch Richters
4d629e7de8 - Make screenjob valid keys for skipping ignore the Alt key as its used for modifiers, and special keys like the screenshot bind.
* Partially revert 8bb13bc4c2 as its changes are no longer needed.
* Partially revert 9e40e49c2c as its changes are no longer needed.
* Fixes #577.
2021-11-18 20:59:07 +11:00
Christoph Oelckers
a5f51cfd88 - SW: migrate everything to the main clipmove function 2021-11-08 23:11:30 +01:00
Christoph Oelckers
ae08ae1d8d - some leftover shorts plus utilities that ended up unused but may be useful later. 2021-11-07 16:46:23 +01:00
Christoph Oelckers
060da8ec1d - Duke: replaced most sector array accesses with pointers in actors.cpp.
This already helped to find one 16 bit value that stored a sector index.
2021-11-07 15:00:06 +01:00
Christoph Oelckers
1c0e3d849b - addressed the updatesector related deprecation warnings with Duke. 2021-11-06 20:46:08 +01:00
Mitch Richters
9d3d8e747c - Fix up bsin() usage within ZScript files. 2021-10-30 10:24:15 +02:00
Christoph Oelckers
9071949a46 - backend upate from GZDoom
* Vulkan SDK and dependencies updated.
* better interface for buffers in the render backend.
2021-10-30 09:34:38 +02:00
Christoph Oelckers
9cfd682c9e - eliminated Player::nSprite. 2021-10-28 13:54:09 +02:00
Christoph Oelckers
11912486de - moved all loose player related arrays into the Player struct. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
a3d9cd9a68 - Backend update from GZDoom - mainly for GLES2 support. 2021-09-18 12:20:28 +02:00
Christoph Oelckers
2e451618f8 - Duke: fixed some incorrect cutscene playback speeds. 2021-09-12 18:17:51 +02:00
Christoph Oelckers
68387cd59e - fixed: List menus still allowed to select unselectable items with the mouse.
This was particularly noticable in SW's episode menu with the subtitles.
2021-08-24 10:08:25 +02:00
Mitchell Richters
1ee6fd76c4 Merge branch 'blood-qavrework'
# Conflicts:
#	source/core/gamecvars.cpp
#	source/core/gamecvars.h
#	source/games/blood/src/weapon.cpp
2021-08-23 11:02:09 +10:00
Christoph Oelckers
fb5e8e72ab - fixed Exhumed credits display. 2021-08-14 10:54:51 +02:00
Christoph Oelckers
40730d26b8 - Exhumed: fixed incorrect CD tracks being played through cutscenes 2021-08-14 10:40:38 +02:00
Christoph Oelckers
9680674dec - Duke: fixed sound lists for E4 intro cutscene. 2021-08-14 09:25:50 +02:00
Christoph Oelckers
b057e59924 - Exhumed: fixed bad arguments of BuildGameoverScene. 2021-08-14 09:19:27 +02:00
Mitchell Richters
0d9afc1aaf - Extend menu's ImageScroller ZScript class with mAnimated and use with Blood for the help and credits menu. 2021-08-05 14:52:51 +10:00
Mitchell Richters
1ed1222e10 - Extend menu's ListMenu ZScript class with mAnimated already natively available, and use with Blood where BloodDripDrawer is defined.
* Finalises the interpolated blood dripping code changes from 9884d5f396.
2021-08-04 10:31:45 +10:00
Mitchell Richters
f6c7ed3984 - Blood: Restore originally intended isRunning code that never worked behind two CVARs to offer an alternative playing experience.
* `cl_bloodvanillarun` enables/disables the `isRunning` code that affects AI, bobbing and swaying.
* `cl_bloodvanillabobbing` enables/disables the `isRunning` code that affects bobbing and swaying, allowing only the `isRunning` AI changes.
2021-07-31 10:14:56 +10:00
Mitchell Richters
1685890bc5 - Replace calcSinTableValue() with game's native bsin() export.
* Also repair light for Duke's `DrawCursor()` with a multiply and shift down to get the `bsin()` output up to 24 and not 21.33 etc
2021-07-26 17:28:32 +10:00
Mitchell Richters
8a029cb4e1 - Blood: Fix ammo colour for status bar and first fullscreen HUD.
* Reported by Spill.
* Fixes #490.
2021-07-24 22:06:00 +10:00
Mitchell Richters
cb01fb0cf2 - Duke/RR: Remove check p.gotweapon[] check in DrawWeaponBar() that was causing weapon bar to display incorrect tiles and values.
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=72541.
2021-07-24 16:18:06 +10:00
Mitchell Richters
20bffbd94d - Exhumed: Revert source for ammo in DrawHUD2() from 7b8dcde5d2.
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=72853.
2021-07-24 15:40:48 +10:00
Mitchell Richters
0778dfb22a - Exhumed: Move key display on DrawHUD2() to accommodate larger ammo display for M60 with cl_showmagamt 1 from 2a8e636066. 2021-07-17 15:03:00 +10:00
Mitchell Richters
2a8e636066 - Exhumed: Extend 7b8dcde5d2 by showing the M60's clip/magazine amount available when cl_showmagamt 1 is set. 2021-07-17 14:57:43 +10:00
Mitchell Richters
7b8dcde5d2 - Exhumed: Make use of cl_showmagamt.
* Fixes #463.
2021-07-16 23:52:56 +10:00
Christoph Oelckers
6062af562d - allow external replacements of SW's 3D Realms logo to use their own palette.
This was already present for Duke, but not here.
2021-07-05 22:43:23 +02:00
Mitchell Richters
326a0798a1 - Exhumed: Fix alignment issues with ammo counter and compass on full HUD. 2021-06-27 21:34:04 +10:00
Christoph Oelckers
3512fe8fba - dynamically adjust SW's menu spacing based on language. 2021-06-26 11:58:40 +02:00
Mitchell Richters
9ed27effe5 - SW: Tune position of HUD elements since ZScript-ification.
* Fixes #428.
2021-06-24 21:13:05 +10:00
Mitchell Richters
30da87d55b - Exhumed: Fix level stat position on full HUD.
* Fixes #429.
2021-06-24 20:56:20 +10:00
Mitchell Richters
a27888f9df - Duke (RR): Tune position of RR HUD elements since ZScript-ification.
* Fixes #433.
2021-06-24 20:28:29 +10:00
Christoph Oelckers
9ab24f6031 - make sure that substitution remaps work in Duke's menus. 2021-05-31 21:20:32 +02:00
Christoph Oelckers
8900cc2f2e - cleanup of automap label printing.
Moved larger parts of the font selection logic into common code.
2021-05-31 21:20:32 +02:00
Christoph Oelckers
ee60a92b69 - removed debug output. 2021-05-31 21:20:32 +02:00
Christoph Oelckers
9c60ab791b - implemented all needed font overrides for localization. 2021-05-31 21:20:31 +02:00
Christoph Oelckers
90bcba302e - layout adjustments for localized texts.
In particular SW's main menu was far too tightly spaced, allowing no room for accents.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
39b84c4063 - don't use DI_ITEM_RELCENTER for Blood's animated heart.
It does not look right for this sprite.
2021-05-29 13:42:00 +02:00
Christoph Oelckers
8fae793341 - defined a new constant, CR_NATIVEPAL, to use the font functions with a predefined palette.
This is mainly for code clarification, the value is the same as CR_UNDEFINED.
2021-05-29 11:47:05 +02:00
Christoph Oelckers
d44500863b - removed the multiplayer scoreboard screens.
Since there is no plan to keep them in case MP gets implemented there's no need to maintain them.
These should later be replaced by a generic screen using a better font and a layout that takes higher resolutions into account.
2021-05-27 13:33:54 +02:00
Christoph Oelckers
b2545f8042 - PlayMusic script function. 2021-05-23 16:21:04 +02:00
Christoph Oelckers
0c6e2f0c9e - silenced some warnings. 2021-05-22 15:34:04 +02:00
Christoph Oelckers
d7a47b2f3a - route all accesses to gameaction from the backend through the sysCallbacks.
gameactions are frontend specific so this needs to be decoupled.
2021-05-22 13:02:34 +02:00
Christoph Oelckers
6ae09f8ec9 - ported Doom's type-on text screens as a screen job overlay. 2021-05-22 12:08:08 +02:00
Christoph Oelckers
5337513044 - ported GZDoom's subtitle drawer to the cutscene framework.
For later use, this isn't used yet.
2021-05-22 10:26:53 +02:00
Christoph Oelckers
d2ed4e703d - made Exhumed's text scroller a universal component of the cutscene system, usable by all games. 2021-05-22 10:06:15 +02:00
Christoph Oelckers
0d793a59fd - moved the cutscene core to 'engine'.
More adjustments for making this code compatible with GZDoom.
2021-05-22 02:15:49 +02:00
Christoph Oelckers
c80c2e7a6c - this wasn't supposed to be changed. 2021-05-19 22:48:21 +02:00
Christoph Oelckers
75cc66083d - Blood: fixed use of wrong font for ammo display on statusbar. 2021-05-19 22:40:10 +02:00
Christoph Oelckers
91bd24f8b5 - fixed level name display on automap. 2021-05-19 22:21:11 +02:00
Christoph Oelckers
98bb8c516d - added missing declarations for RR's intro movies. 2021-05-18 00:08:32 +02:00
Christoph Oelckers
4d226d19e7 - Exhumed: fixed jumping icons on the status bar.
Unfortunately, due to the utterly broken design of the sequences the fullscreen HUD is not fixed. This would require graphics replacements that fix the bad offsetting in the torch.
2021-05-17 19:22:57 +02:00
Christoph Oelckers
61d81efe45 - fixed definition of ExhumedCutscenes.BuildGameoverScene.
Needs to be declared static.
2021-05-17 18:17:15 +02:00
Christoph Oelckers
24ce5d6130 - Exhumed: fix animation stopping for inventory torch item.
I have no idea how the old code could ever work...
2021-05-16 20:25:56 +02:00
Christoph Oelckers
88fe8e49a3 - Blood: fixed throw power meter. 2021-05-16 18:56:56 +02:00
Christoph Oelckers
25d516c36f - fixed shadow and positioning of stats display. 2021-05-16 16:12:44 +02:00
Christoph Oelckers
ee559b7ba9 - removed all leftover parts of the native status bars. 2021-05-16 10:35:33 +02:00
Christoph Oelckers
83f151529b - fixed SW status bar. 2021-05-16 10:25:56 +02:00
Christoph Oelckers
8d8b3cda46 - scriptified SW's status bar.
Not tested yet. This just compiles without errors.
2021-05-16 09:34:08 +02:00
Christoph Oelckers
f136330628 - removed the native versions of Duke's and RR's status bar. 2021-05-15 17:15:29 +02:00
Christoph Oelckers
781cb32dcf - fixed all issues with Duke's/RR's status bar. 2021-05-15 16:46:08 +02:00
Christoph Oelckers
f84f58e714 - ported Duke and RR status bars.
Compiles but not tested yet.
2021-05-15 14:27:32 +02:00
Christoph Oelckers
d311792e06 - engine side preparations for Duke Statusbar scriptification.
Mainly, gotweapon had to be reverted to a flat bool array to avoid implementing FixedBitArray for the VM.
Also adding a few new tile names and PushV for string arrays.
2021-05-15 10:44:35 +02:00
Christoph Oelckers
b520d38bc0 - removed the native implementation od Exhumed's status bar. 2021-05-15 10:25:39 +02:00