Commit graph

60 commits

Author SHA1 Message Date
Christoph Oelckers
c3759f389c - 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.

# Conflicts:
#	src/bbannouncer.cpp
#	src/fragglescript/t_func.cpp
#	src/g_shared/a_lightning.cpp
#	src/p_effect.cpp
#	src/p_mobj.cpp
#	src/p_switch.cpp
#	src/playsim/p_spec.cpp
#	src/sound/s_doomsound.cpp
#	src/sound/s_doomsound.h
#	wadsrc/static/zscript/base.zs

# Conflicts:
#	src/intermission/intermission.cpp
#	src/sound/s_doomsound.cpp
2020-01-06 15:00:05 +01:00
Christoph Oelckers
d4a71e3d20 - added null check to the dialogue lines array so that it doesn't crash if the text is never word wrapped. 2019-12-01 10:59:09 +01:00
alexey.lysiuk
ff4924bf8f - made most of AltHud class functions virtual
This allows arbitrary customization of alternative HUD
2019-11-26 16:48:04 +01:00
Christoph Oelckers
10c5b0588b - fixed redundant map name display on alternative HUD's automap HUD.
# Conflicts:
#	wadsrc/static/zscript/ui/statusbar/alt_hud.zs
2019-11-26 16:47:59 +01:00
alexey.lysiuk
1a4f62c54f - added ability to set custom alternative HUD
Use GAMEINFO key 'althudclass' to specify own class derived from AltHud

https://forum.zdoom.org/viewtopic.php?t=66422
2019-11-26 16:47:54 +01:00
Player701
d7542a8cd9 - Implemented scale parameter for BaseStatusBar::DrawString
# Conflicts:
#	src/g_statusbar/shared_sbar.cpp

# Conflicts:
#	src/g_statusbar/shared_sbar.cpp
2019-11-25 12:10:58 +01:00
Marisa Kirisame
50a7db6fa3 Localize level/author strings on intermission startup, fixes misalignments.
# Conflicts:
#	wadsrc/static/zscript/ui/statscreen/statscreen.zs
2019-11-13 19:34:31 +01:00
drfrag
0907972c2f Revert "- allow the language table to supersede the title patches, if appropriate"
This reverts commit 2b51e8d5dd.

# Conflicts:
#	src/g_hub.cpp
#	src/g_level.cpp
#	src/p_setup.cpp
#	src/wi_stuff.cpp
#	src/wi_stuff.h
#	wadsrc/static/zscript/ui/statscreen/types.zs

Revert "- fixed: The wbstartstruct that gets passed to the level summary screen needs to be static"

This reverts commit 4a563f449d.

# Conflicts:
#	src/g_level.cpp

Revert "- Fixed compilation."

This reverts commit 149a294a49.

# Conflicts:
#	src/g_level.cpp

Revert "- Fixed game finales not being shown after the intermission."

This reverts commit 55af0b11c6.

All this didn't make sense without localization and caused problems with intermissions and endings, it was incompatible with the old code without the level refactor.
2019-10-25 16:23:42 +02:00
Alexander
b4d10d2f5b 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 21:38:48 +02:00
alexey.lysiuk
df05187229 - fixed inventory scroll arrows in alternative HUD
https://forum.zdoom.org/viewtopic.php?t=65976
2019-09-29 18:16:10 +02:00
drfrag
a1e19657f9 - Added support for PrtSc and cosmetic changes. 2019-09-22 19:34:56 +02:00
Alexander
6535f837b7 implement taking screen shots in menus
# Conflicts:
#	wadsrc/static/zscript/ui/menu/menu.zs
2019-09-22 12:45:32 +02:00
PaulyB
245326b5ac Added Armor to Hexen fullscreen display
Since the armor icon is much larger than the flask icon, both have been moved to the right slightly
2019-09-11 00:27:25 +02:00
alexey.lysiuk
3081dbca13 - removed useless conditions from options menu 2019-09-08 10:11:23 +02:00
alexey.lysiuk
015f57ed52 - fixed VM abort when entering search menu
https://forum.zdoom.org/viewtopic.php?t=65833
2019-09-08 10:11:21 +02:00
Christoph Oelckers
9097f23286 - the Doom status bar has been partially virtualized to allow overriding specific parts of it, most notably the ammo display
# Conflicts:
#	wadsrc/static/zscript/ui/statusbar/doom_sbar.zs
#	wadsrc/static/zscript/ui/statusbar/harm_sbar.zs
2019-09-08 00:08:50 +02:00
Alexander
9f8241865b 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-09-01 00:09:18 +02:00
PaulyB
016d7e5293 Fix typo in Heretic status bar 2019-08-31 10:08:25 +02:00
Rachael Alexanderson
df2eab612d - oops, this didn't get through 2019-08-26 00:51:44 +02:00
PaulyB
8e78f973d0 Let Hexen Cleric and Mage use unique health chains
- (changed slightly by Rachelle)

Hexen's characters incorrectly only used the Fighter's health chain previously.
2019-08-26 00:51:43 +02:00
Marisa Kirisame
b08ba350d3 Allow custom status bars to override notifications, centered prints and chat prompt.
# Conflicts:
#	src/c_console.cpp
#	src/ct_chat.cpp
2019-08-20 13:06:52 +02:00
Christoph Oelckers
994bdc0b03 - fixed: Do not use BasicArmor's save percentage when no armor present.
This function is only for the Hexen status bar and printed incorrect values.
2019-08-10 12:47:57 +02:00
Christoph Oelckers
1161a17f00 - do not blur the background for portrait-less conversations.
- Fixed the mHasBackdrop flag. (drfrag)

# Conflicts:
#	wadsrc/static/zscript/ui/menu/conversationmenu.zs

# Conflicts:
#	src/menu/menu.cpp
2019-08-10 12:47:41 +02:00
drfrag
61bd1d614a - More fake generic font support. 2019-08-08 00:39:22 +02:00
drfrag
25c890d91c - Fixed bad return value. 2019-08-07 13:42:03 +02:00
Christoph Oelckers
78fa0a6f95 - added option to print a map author's name on the summary screen
For now only with font-printed map names. Allowing this with titlepatches will require more work and an option to disable.

# Conflicts:
#	src/g_level.cpp
#	src/gamedata/g_mapinfo.h
#	src/gi.cpp
#	wadsrc/static/zscript/ui/statscreen/statscreen.zs
2019-08-06 18:46:23 +02:00
Christoph Oelckers
2b51e8d5dd - allow the language table to supersede the title patches, if appropriate
For the Doom IWADs the provided font looks almost identical to the characters used on the title patches. So, for any level name that got replaced in some language, it will now check if the retrieved name comes from the default table, and if not, ignore the title patch and print the name with the specified font.

This also required removing the 'en' label from the default table,  because with this present, the text would always be picked from 'en' instead of 'default'. Since 'en' and 'default' had the same contents, in any English locale the 'default' table was never hit, so this won't make any difference for the texts being chosen.

Last but not least, wminfo has been made a local variable in G_DoCompleted. There were two places where this was accessed from outside the summary screen or its setup code, and both were incorrect.

# Conflicts:
#	src/g_hub.cpp
#	src/g_level.cpp
#	src/gamedata/g_mapinfo.h
#	src/gi.h
#	src/p_setup.cpp
#	src/stringtable.cpp
#	src/stringtable.h
#	wadsrc/static/zscript/ui/statscreen/statscreen.zs
#	wadsrc_extra/static/iwadinfo.txt

# Conflicts:
#	src/gi.h
#	wadsrc_extra/static/iwadinfo.txt
2019-08-06 17:13:21 +02:00
drfrag
865d1581dd - Extended the fake generic font support for the dialogue system. 2019-07-27 12:56:32 +02:00
Christoph Oelckers
e51f9a6c13 - allow setting the font used for the status screen's content text.
But only works partially for Raven games (hacked). (drfrag)

# Conflicts:
#	src/gi.cpp
#	wadsrc/static/mapinfo/chex.txt
#	wadsrc/static/mapinfo/doomcommon.txt
#	wadsrc/static/mapinfo/heretic.txt
#	wadsrc/static/mapinfo/hexen.txt
#	wadsrc/static/mapinfo/mindefaults.txt
#	wadsrc/static/mapinfo/strife.txt
#	wadsrc/static/zscript/ui/statscreen/statscreen_sp.zs
#	wadsrc_hacxextra/static/zmapinfo.txt
2019-07-18 13:22:44 +02:00
drfrag
02ee44772c - fake VGA font support to the MessageBoxMenu class 2019-07-17 23:58:12 +02:00
drfrag
8c941ba1cf - A few more missing things for compatibility.
# Conflicts:
#	wadsrc/static/language.enu
2019-07-17 23:58:09 +02:00
drfrag
b702a5a514 - fake generic font support for the dialogue system. 2019-07-17 23:49:47 +02:00
drfrag
3000e15aec - Adjustments to the new player setup menu. 2019-07-16 01:53:29 +02:00
drfrag
a66bb6ad16 - Cosmetic changes. 2019-07-15 20:38:44 +02:00
Christoph Oelckers
f77336b25c - fixed: The color sliders in the player setup menu may not be selected when inactive. 2019-07-15 20:38:29 +02:00
Christoph Oelckers
ce7920727c - removed debug output. 2019-07-15 20:38:28 +02:00
Christoph Oelckers
2577c0843e - adjustments to the player menu so that the display isn't cut off on the smallest screen sizes. 2019-07-15 20:38:26 +02:00
Christoph Oelckers
bba2854796 - reimplemented new player setup menu 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.

# Conflicts:
#	src/menu/menudef.cpp
#	src/namedef.h
#	wadsrc/static/zscript/ui/menu/optionmenu.zs
2019-07-15 20:37:36 +02:00
Christoph Oelckers
3700b0c7b8 - replaced the procedural backdrop texture with some warped noise texture.
This was done because the backdrop as implemented was the only texture in the entire game that had to be deleted and recreated each frame.
However, with Vulkan this would have necessitated quite a bit of synchronization with the render pipeline which wasn't really feasible just for this one single texture.
Now the texture manager can assume that once a texture was created it will be immutable and never has to change.

# Conflicts:
#	src/CMakeLists.txt
#	src/textures/backdroptexture.cpp
#	src/v_2ddrawer.cpp
2019-07-15 19:55:51 +02:00
Christoph Oelckers
d14a48f8f4 - use BigUpper font for option menu captions.
# Conflicts:
#	src/gamedata/fonts/v_font.cpp

There's actually no BigUpper font here. (drfrag)
2019-07-11 13:24:40 +02:00
drfrag
08cd080597 - Added DrawOptionText function for the options menu. 2019-07-10 23:04:40 +02:00
drfrag
a6429a1ae1 - Added some dummy functions for the option menu. 2019-07-10 22:59:53 +02:00
Alexander
b19284cea9 localize custom menu titles in option search results 2019-06-13 15:54:19 +02:00
Christoph Oelckers
38fd06656d - made the colorset names and the texts in the color picker localizable.
# Conflicts:
#	wadsrc/static/language.csv
2019-05-19 20:40:22 +02:00
alexey.lysiuk
1577da4186 - fixed deprecation warnings in core scripts
Actually no warnings here (drfrag)

# Conflicts:
#	wadsrc/static/zscript/ui/statscreen/statscreen.zs
2019-05-14 20:07:55 +02:00
Player701
f55ad14663 Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString (#810)
* - Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString

* - added underlying type declaration for EMonospacing

* - replaced "#include v_video.h" with a declaration of EMonospacing
2019-05-14 19:50:43 +02:00
Christoph Oelckers
6caf1f60c6 - added some UTF-8 utilities to FString.
This deprecated CharAt and CharCodeAt for being unsuitable for text processing and in the case of CharCodeAt also for being buggy.
A new replacement, ByteAt has been added that reads a string byte by byte, as well as CodePointCount, which counts the amount of Unicode code points in a string and GetNextCodePoint which reads the string code point by code point.
Note that while this woll work as intended with the currently supported languages as a means to read single characters, there is no guarantee that this will remain so if Unicode support gets extended to things which break the "one code point == one character" assumption.
2019-05-14 19:35:21 +02:00
Alexander
73a0275cf6 option search improvements
1. Top-level menu names are now properly handled.
2. Changing "Any or All terms" option now immediately updates the results.
3. Reformatted menu.zs to have tabs instead of spaces.
2019-05-14 19:01:25 +02:00
Alexander
dc666203b7 added option search menu
# Conflicts:
#	src/g_cvars.cpp
#	wadsrc/static/menudef.txt

# Conflicts:
#	src/menu/menu.cpp
2019-05-14 18:59:10 +02:00
Christoph Oelckers
cf818fbe10 - changed zstrformat to allow %c to emit non-ASCII characters as UTF-8. 2019-05-14 17:38:45 +02:00