Commit graph

92 commits

Author SHA1 Message Date
Christoph Oelckers
62138decfe - use Raze's layout for load and save game menus.
This has a lot less black void on screen.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
b8281f4758 - Backend update from Raze. 2020-10-16 22:57:28 +02:00
Christoph Oelckers
f99ac8b28b - allow struct extensions in zscript.
This is mainly for splitting the Doom specific content off the main definitions for easier reuse.
2020-10-16 22:57:27 +02:00
Christoph Oelckers
a08d87beb3 - added a customization hook class for the menu.
Currently the only thing it does is abstracting the menu caption, but more can be added here.
Not exposed to modding yet, though, that's for later.
2020-10-16 22:57:26 +02:00
Christoph Oelckers
35ff0a42a6 - restructured the option menu drawer for easier replacement of the caption handler. 2020-10-16 22:57:26 +02:00
Christoph Oelckers
cc9cadfac1 - moved compatibility cruft out of main implementation file. 2020-10-16 22:57:26 +02:00
Christoph Oelckers
0b317b432e - split the Doom specific menu extensions into their own file. 2020-10-16 22:57:24 +02:00
Christoph Oelckers
e0d8241a50 - use the backend's GameTicRate in the scripts where applicable.
This should replace TICRATE globally as it is the backend's actual ticking speed (still locked to 35, though.)
2020-10-16 22:57:24 +02:00
Player701
7da9f33cf9 - Fixed truncation warnings in playerdisplay.zs 2020-10-11 09:02:14 +02:00
Christoph Oelckers
756caede51 - fixed misnamed variable and removed restriction for draw pass in GetFullscreenRect. 2020-10-05 18:32:16 +02:00
Christoph Oelckers
497c474fee - transform mouse coordinates for menu with fullscreen scale 2020-10-05 00:03:00 +02:00
Christoph Oelckers
63a338fd73 - changed display in key binding menu to list all bound keys for an action, not just the first two. 2020-10-04 19:28:20 +02:00
Christoph Oelckers
f3d75469c9 - moved two native player menu functions out of the main menu class.
These manipulate entries of that menu and have no business being called from anywhere else than this menu and its subclasses.
2020-10-04 19:08:14 +02:00
Christoph Oelckers
f1b0f32786 - add an option to the ListMenu class to draw to a fixed virtual screen size.
This allows proper dimensions in the stock menus and should make menu layout for mods a lot easier because coordinates are more predictable than with the clean factors.
The feature is opt-in for custom content. As long as only stock elements are used, the menu will be able to switch between both on its own, but as soon as custom classes or custom elements are used, the virtual size must be declared explicitly, defaulting to clean scaling.
2020-10-04 15:03:29 +02:00
Christoph Oelckers
acd71f7019 - groundwork for menus with a fixed virtual screen size. 2020-10-04 09:16:20 +02:00
nashmuhandes
f467e4bc33 Add grayed-out support to sliders 2020-09-30 18:27:50 +02:00
Nash Muhandes
09a7a0d944
Allow conversation menu cursor graphic replacement. (#1134)
If "graphics/DialogReplyCursor.png" is present, it will be used for the reply cursor. Otherwise, the default ConFont cursor is used.
2020-08-25 11:55:43 -04:00
Christoph Oelckers
90befff479 - moved out the Doom specific parts from menu.cpp and messagebox.cpp. 2020-06-13 22:43:35 +02:00
Christoph Oelckers
3a23cc69d6 - since we already got lots of CVAR descriptions from the menu's content, let's use that as CVAR description if none is explicitly provided.
This also necessitated localization support for CVAR descriptions because menu content is multi-language.
2020-06-08 23:37:22 +02:00
alexey.lysiuk
f58027311e - fixed incomplete disabling of number field menu option
https://forum.zdoom.org/viewtopic.php?t=68075
2020-06-07 15:50:10 +03:00
Christoph Oelckers
328d9c75c4 - redid mouse control for the conversation menu.
Since the page operates on different coordinate systems, the only working way to check the mouse is to store the real coordinates when drawing and check the mouse position against those.
2020-06-04 14:11:36 +02:00
alexey.lysiuk
3b8ddb6b9b - fixed resetting of music volume after closing dialogue
https://forum.zdoom.org/viewtopic.php?t=67035
2020-01-20 22:05:15 +01:00
Alexander Kromm
1f011cda7f make enter key toggle Option Search mode too 2020-01-16 17:53:28 +01:00
Christoph Oelckers
4646273569 - fixed: menu sounds no longer got the CHANF_UI flag. 2020-01-04 19:36:22 +01:00
Christoph Oelckers
c0b9bb6e76 - bumped ZScript version to 4.3 and silenced the remaining deprecation warnings. 2020-01-04 14:25:56 +01:00
Christoph Oelckers
e82565373f - separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.

The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
Christoph Oelckers
6023b69693 - added null check to the dialogue lines array so that it doesn't crash if the text is never word wrapped. 2019-11-30 22:04:26 +01:00
Alexander
0c2ed71cdd fix bug when down arrow gave no result after mouse move in main menu
Steps to reproduce:
1. Load game.
2. Press any key to bring up the main menu.
3. Move the mouse anywhere out of the menu entries.
4. Press Down arrow.

Expected result: the menu cursor sound is played, the first menu element is selected.
Actual result: the menu cursor sound is played, no menu element is selected.

Repeated Down arrow pressing doesn't give any result, either.

If on step 4 Up arrow is pressed, the last element in the menu is selected.
2019-09-30 20:04:44 +02:00
alexey.lysiuk
31ebeaf833 - removed useless conditions from options menu 2019-09-08 10:01:10 +03:00
alexey.lysiuk
526a576d89 - fixed VM abort when entering search menu
https://forum.zdoom.org/viewtopic.php?t=65833
2019-09-08 09:52:16 +03:00
Alexander
d6396e79fb add empty line after standard options
Rationale:
When a mod adds a custom option menu, it adds a space before it, like this:
```
AddOptionMenu OptionsMenu
{
  StaticText ""
  Submenu "$MYTITLE", MyOptions
}
```
to prevent custom option menu being in the same block as the last entries in the
standard options list. It's okay.

But when more than one such mod is loaded, each one of them adds a space before
their option menu entry, and Options Menu becomes unnecessary bloated.

This simple edit allows mods to not add a space, still be separated from
standard options.
2019-08-31 21:34:09 +02:00
alexey.lysiuk
1bd249677b - fixed core script warnings with developer CVAR set to 2 or greater
Script warning, "gzdoom.pk3:zscript/ui/menu/conversationmenu.zs" line 159:
Truncation of floating point value
Script warning, "gzdoom.pk3:zscript/ui/menu/conversationmenu.zs" line 161:
Truncation of floating point value
2019-08-13 14:48:40 +03:00
Christoph Oelckers
3b4184816b - do not blur the background for portrait-less conversations. 2019-08-09 15:22:52 +02:00
Christoph Oelckers
352d5d098d - fixed mouse coordinate checks when using the generic VGA font with Strife conversations. 2019-08-07 20:24:45 +02:00
Christoph Oelckers
1dd98a5c89 - when using the VGA font, confine the speaker's text in Strife dialogues to the backdrop picture.
This looks a lot better. Unfortunately for the regular SmallFont this would severely reduce the available space for the text so it isn't done here, even though for shorter texts the formatting would look better as well.
2019-07-27 09:35:45 +02:00
Christoph Oelckers
86d2742798 - allow switching the Strife conversation screen to the VGA font for all languages by a CVAR.
This is for readability purposes because the styled SmallFont may be problematic for some players.
2019-07-26 20:23:46 +02:00
Alexander
c161635cca localize custom menu titles in option search results 2019-06-12 17:37:29 +02:00
alexey.lysiuk
5c0562ca7a - check for presence of fonts in message box menu
https://forum.zdoom.org/viewtopic.php?t=64958
2019-06-07 11:49:01 +03:00
Christoph Oelckers
61ead74492 - made the colorset names and the texts in the color picker localizable. 2019-05-19 18:57:39 +02:00
alexey.lysiuk
6d1a85af3c - fixed deprecation warnings in core scripts
Script warning, "gzdoom.pk3:zscript/ui/statscreen/statscreen.zs" line 24:
Call to deprecated function CharAt
Script warning, "gzdoom.pk3:zscript/ui/statscreen/statscreen.zs" line 24:
Accessing deprecated function CharAt - deprecated since 4.1.0
Script warning, "gzdoom.pk3:zscript/ui/menu/search/query.zs" line 64:
Call to deprecated function ToLower
Script warning, "gzdoom.pk3:zscript/ui/menu/search/query.zs" line 64:
Accessing deprecated function ToLower - deprecated since 4.1.0
Script warning, "gzdoom.pk3:zscript/ui/menu/search/query.zs" line 65:
Call to deprecated function ToLower
Script warning, "gzdoom.pk3:zscript/ui/menu/search/query.zs" line 65:
Accessing deprecated function ToLower - deprecated since 4.1.0
Script warning, "gzdoom.pk3:zscript/ui/menu/conversationmenu.zs" line 202:
Call to deprecated function CharAt
Script warning, "gzdoom.pk3:zscript/ui/menu/conversationmenu.zs" line 202:
Accessing deprecated function CharAt - deprecated since 4.1.0
Script warning, "gzdoom.pk3:zscript/ui/menu/conversationmenu.zs" line 235:
Call to deprecated function CharAt
Script warning, "gzdoom.pk3:zscript/ui/menu/conversationmenu.zs" line 235:
Accessing deprecated function CharAt - deprecated since 4.1.0
2019-04-28 11:26:01 +03:00
Christoph Oelckers
e0d57e5464 - added smarter font replacement logic to the confirmation screen. 2019-04-23 08:47:06 +02:00
Christoph Oelckers
8357f2b16b - re-enabled code block commented out for testing. 2019-04-22 18:52:21 +02:00
Christoph Oelckers
6f3982865f - refinement of font substitution logic. 2019-04-22 10:23:28 +02:00
Christoph Oelckers
13841655aa - add color remapping for NewSmallFont as well. 2019-04-21 10:49:27 +02:00
Christoph Oelckers
fcbde757c9 - do not mix game-specified fonts with the extensions for the stock version.
This generally doesn't look good when different colors are mixed or the mismatch in color ranges causes bad translations to be generated.
2019-04-21 08:09:31 +02:00
Christoph Oelckers
a5d743cc3b - fixed: The color sliders in the player setup menu may not be selected when inactive. 2019-04-19 07:50:52 +02:00
Christoph Oelckers
68597da75d - removed debug output. 2019-04-19 07:24:23 +02:00
Christoph Oelckers
35186e9fd7 - adjustments to the player menu so that the display isn't cut off on the smallest screen sizes. 2019-04-18 00:16:09 +02:00
Christoph Oelckers
2a329950f6 - fixed menu caption for languages which use the VGA font. 2019-04-17 23:40:05 +02:00
Christoph Oelckers
c45c7cdb4b - reimplemented as an OptionsMenu.
This is both for consistency and better localizability. The old code is retained to ensure that mods inheriting from the old menu continue to work.
2019-04-14 14:03:24 +02:00