Commit graph

266 commits

Author SHA1 Message Date
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
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
2e451618f8 - Duke: fixed some incorrect cutscene playback speeds. 2021-09-12 18:17:51 +02: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
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
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
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
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
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
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
663f330684 - fixed GetChunkFrame implementation and one bad GetString call.
Exhumed's status bar is fully working with this.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
b71c725e3e - ported Exhumed's status bar.
Not tested yet.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
5a6121d424 - status bar interface work. 2021-05-15 10:25:38 +02:00
Christoph Oelckers
317238147b - Blood: fixed scriptified MP statusbar code to the point where it compiles.
Mainly to avoid code rot by future changes, this probably cannot remain as it is if MP gets reimplemented.
2021-05-15 10:25:37 +02:00
Christoph Oelckers
e5dd4a8638 - made the scripted version of Blood's status bar functional. 2021-05-12 21:50:02 +02:00
Christoph Oelckers
778378fd5c - scriptified version of Blood's status bar compiles.
Not tested yet.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
4ad20e4c00 - more preparations for scriptification of Blood's status bar.
* restructured some code that could not be converted as-is due to access to data that should be off-limits to scripts.
* exporting most of PLAYER's member fields.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
bb9d492db6 - migrated RRRA as well. 2021-05-02 14:01:10 +02:00
Christoph Oelckers
6f4e380728 - migrated RR's cutscene definitions.
Also turned several level-specific init options into map flags or map parameters.
2021-05-02 13:12:24 +02:00
Christoph Oelckers
2d4e91615f - migrated Duke's cutscene definitions to the new RMAPINFO.txt. 2021-05-02 12:02:55 +02:00
Christoph Oelckers
03b9275244 - removed debug printf. 2021-05-01 23:59:45 +02:00
Christoph Oelckers
51aeb6dd39 - fixed issues with skipping over an entire cutscene.
This must never destroy the last element of the cutscene because it is still needed to draw something while shutdown is performed.
2021-05-01 20:54:57 +02:00
Christoph Oelckers
fa3fd9ac8f - removed unused array. 2021-05-01 20:34:43 +02:00
Christoph Oelckers
4c2266ee88 - fixed incomplete SW ending cutscene. 2021-05-01 20:31:51 +02:00
Christoph Oelckers
a2a850ea3c - center the texts on Duke's loading screen. 2021-05-01 20:14:30 +02:00
Christoph Oelckers
512f1d852b - fixed: Blood's summary screen needs to stop it sound when it ends. 2021-05-01 20:11:47 +02:00
Christoph Oelckers
f0bd290801 - corrected speed of RR intro videos. 2021-05-01 20:04:22 +02:00
Christoph Oelckers
4069a5096a - scriptified Exhumed's 2D content (minus the programmatic textures.) 2021-04-30 20:08:36 +02:00
Christoph Oelckers
5b54e9c1ad - removed the 26 factor from Duke's par times.
What were they thinking?
2021-04-30 20:08:36 +02:00
Christoph Oelckers
aa148d602c - scriptified SW's 2D screens.
Compiles but not tested yet.
2021-04-30 20:08:35 +02:00
Christoph Oelckers
6c2aab3017 - fixed remaining issues with Blood's cutscenes. 2021-04-30 20:08:34 +02:00
Christoph Oelckers
eaf5e1fba5 - Cutscene support in Blood.
Intro tested, rest to do.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
869dbd70e5 - fixed the design by merging the episode start handler into ShowIntermission.
Tying the start-of-episode cutscene to the cluster does not really work because it gets triggered by all maps of the cluster.
All currently existing intro cutscenes are tied to the map anyway.
Also correcting transition movie name for RRRA E2L1.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
cdccdec3e7 - final cleanup on new cutscene interfacw
* fixed frame gaps when exiting a cutscene. This must be properly synchronized with the state handler in the main loop.
* reactivated the loading screens. With texture precaching working the delay when loading a map becomes significant enough to require a visual feedback.
* RR does not play 'bonusmusic' on its summary screen.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
ad01aee5ec - fixed RR summary screen 2021-04-30 20:08:33 +02:00
Christoph Oelckers
6d743ce921 - most of the summary screen is working 2021-04-30 20:08:33 +02:00
Christoph Oelckers
3c27ec8cbd - tested all of Duke's and RR's cutscenes. 2021-04-30 20:08:33 +02:00
Christoph Oelckers
26a7700579 - Duke's intro works, without fading. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
af8d06994a - implemented the scripting interface layer. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
ef6d8c2c67 - added cutscene definitions for Duke and finalized the definecutscene parser. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
021f1b7832 - make SummaryInfo a struct instead of passing a list of values to the script classes. 2021-04-30 20:08:32 +02:00
Christoph Oelckers
57853bf8fe - RR Cutscene generators. 2021-04-30 20:08:31 +02:00
Christoph Oelckers
f077359196 - merge DukeDC's end of episode cutscene into BuildE3End.
This will make things a bit easier on the setup side because it eliminates the need for mission pack specific definitions.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
88dfb93865 - redid Duke cutscene code to use functions, not classes as exports and added the missing screens.
Functions are better because they allow doing more in the internal setup code.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
eeefc4355e - scriptified all of Duke's end of episode cutscenes. 2021-04-30 20:08:30 +02:00
Christoph Oelckers
9d20185b39 - used pushv to make the intro init code look nicer. 2021-04-30 20:08:30 +02:00
Christoph Oelckers
66799d9a6d - more screen job setup work.
* interface for movie player done.
* first cutscene definition done.
* all converted classes removed from C++ code.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
4ff2010bd1 - moved the entire screen job management to the script side.
This isn't hooked up yet and lots of code is commented out, the games won't start with this commit.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
d853b63a1a - RR summary screen 2021-04-30 20:08:29 +02:00
Christoph Oelckers
d5a8147f1b - Duke screens are complete. 2021-04-30 20:08:25 +02:00
Christoph Oelckers
c07fcbee08 - migrated level summary screen. 2021-04-30 20:08:24 +02:00
Christoph Oelckers
4636a52699 - MP summary screen ported. 2021-04-30 20:08:24 +02:00
Christoph Oelckers
7fbe153ae7 - more Duke screen porting. 2021-04-30 20:08:24 +02:00
Christoph Oelckers
9c95f003f1 - ported E2ENDSCREEN 2021-04-30 20:08:24 +02:00
Christoph Oelckers
05fa21785d - ported Duke end of E1 cutscene 2021-04-30 20:08:24 +02:00
Christoph Oelckers
e75f0c17e4 - ported the TitleScreen class. 2021-04-30 20:08:23 +02:00
Christoph Oelckers
1022564cab - initial framework for scriptification of screen jobs. 2021-04-30 20:08:23 +02:00
Christoph Oelckers
20db6b0c78 - added protection against oversized menu caption bars.
SWC20 is a mod that contains a caption that is larger then the entire screen and was pushing the actual menu content out of it.
Fixes #239
2021-02-02 23:49:04 +01:00
Christoph Oelckers
aed8a450fd - SW: fixed episode menu display.
The subtitle needs to use the game specific drawer, not the generic one.
Fixes #162
2020-11-08 10:12:12 +01:00
Christoph Oelckers
127440f03c - fixed some menu alignment issues
* the left selector in Duke was misplaced to the right.
* some issues with incomplete handling of RR's downscaled fonts.
* give SW's caption bar a little more space on the edges.
2020-10-13 22:53:27 +02:00
Christoph Oelckers
db21d5e946 - took all script exports out of the namespaces.
It looks like GCC cannot deal with this - on MSVC it works fine.
2020-10-10 10:11:22 +02:00
Christoph Oelckers
2e94fdc3b5 - Duke: fixed text alignment in menu caption. 2020-10-10 00:40:36 +02:00
Christoph Oelckers
2d8bcd06fd - added the player display for Duke.
This completes the menu transition.
2020-10-09 01:09:51 +02:00
Christoph Oelckers
a10aacea3a - added the QAV drawer page. 2020-10-09 00:50:21 +02:00
Christoph Oelckers
4024ebd12d - re-added Duke 1.3's credit screens. 2020-10-09 00:11:49 +02:00
Christoph Oelckers
02507d937d - got the text screens working. Also reformatted RR's credits a bit for a better presentation. 2020-10-08 23:40:17 +02:00
Christoph Oelckers
968fe10de7 - use unsigned variables for Duke's spinning selector.
The formula depends on unsigned modulo.
2020-10-08 01:49:21 +02:00
Christoph Oelckers
a7e25a116f - made Exhumed's text menu fully operational. 2020-10-08 00:50:23 +02:00
Christoph Oelckers
56eae0b42d - got the basics working for Exhumed's main menu. 2020-10-08 00:21:07 +02:00
Christoph Oelckers
a953404331 - SW's text menus done.
This also copies the Build texture animation info into the texture manager so that the 2D code can access it through existing interfaces.
2020-10-07 23:22:29 +02:00
Christoph Oelckers
789eb6d51d - Most of Duke's menus work again. 2020-10-07 20:32:43 +02:00
Christoph Oelckers
0968a9d97e - renamed the Customizer to 'Delegate' because this works very much like a delegate in Objective-C.
- route menu sound calls through the delegate to better deal with differences between games.
2020-10-07 01:00:43 +02:00
Christoph Oelckers
603c3b50ec - reimplemented Blood's menu items. 2020-10-07 00:50:26 +02:00
Christoph Oelckers
a7035a932f - added a DrawSelector hook to the customizer. 2020-10-07 00:03:05 +02:00
Christoph Oelckers
06b00887f5 - added a menu control for Blood's dripping blood. 2020-10-06 23:49:34 +02:00
Christoph Oelckers
1ea6084478 - Exhumed also done.
Also using proper assets now.
2020-10-06 22:35:25 +02:00
Christoph Oelckers
17a68bc60a - SW's caption done, too.
In this case the font is squashed to be more narrow because otherwise many texts would not fit anymore.
2020-10-06 22:01:20 +02:00
Christoph Oelckers
bec1f67178 - implemented the menu caption for Duke et.al. 2020-10-06 20:49:55 +02:00
Christoph Oelckers
d22bdf9dc7 - use an alias for the menu bar texture in Blood.
Direct tile access has been disabled for now, hopefully this can be buried deep in the engine for all eternity.
2020-10-06 20:05:51 +02:00
Christoph Oelckers
1e131eda9e - implemented Blood's menu caption 2020-10-06 00:34:35 +02:00
Christoph Oelckers
3dbb8cbb11 - safety commit 2020-10-05 21:47:53 +02:00