Commit graph

3549 commits

Author SHA1 Message Date
PaulyB
955c71c773 Level compatibility additions for Scythe 2 and Hell Revealed
# Conflicts:
#	wadsrc/static/zscript/level_compatibility.zs
2019-09-01 00:09:11 +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
drfrag
45abf1a5c9 - Added support for up to 4 DirectInput joysticks at the same time for fake splitscreen. But with more than 32 buttons per device they will overlap as before and you'll get wrong labels. 2019-08-21 14:06:29 +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
Hugo Locurcio
1c8c8224be Improve crosshair health color to be more informative
With `crosshairhealth 2`, the crosshair will now
go from white to yellow, then yellow to red as the player's health
decreases. As the player's health increases up to 200, the crosshair
will also go from white to green to indicate overheal.
This is similar to the implementation in games like Xonotic.

The old behavior (`crosshairhealth 1`) is still the default.
2019-08-19 00:25:03 +02:00
drfrag
1fca65f9e4 - Missed some language strings again. 2019-08-14 10:40:33 +02:00
Rachael Alexanderson
7adda0e47a - fix a couple issues with sigil.wad:
- e5m2: floating skulls disappear on lower skill levels
- e5m4: the platform with the baron of hell that led to the invulnerability secret had a missing texture
2019-08-11 14:32:37 +02:00
Christoph Oelckers
d13499d2b7 - fixed the extremely long standing bug that Lost Souls didn't reacquire their target when slamming into something.
This was one of that annoying old design mistakes where Doom and Heretic features were poorly merged together. The Heretic Gargoyle uses very similar coding but performs a subtly different action when actually hitting another actor. This different action was made the default, even for the Lost Soul.
It has now been changed that both monsters use their original action, being distinguished by an actor flag. For compatibility with custom definitions Heretic's behavior, which has been the default in ZDoom will be the preferred one. The one of the Lost Soul can be reactivated by a flag.
2019-08-11 14:28:51 +02:00
alexey.lysiuk
e4ef998dc2 - exposed Append() method to ZScript dynamic array
https://forum.zdoom.org/viewtopic.php?t=65570
2019-08-11 00:09:51 +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
Blue Shadow
b9a9e3f8b7 - moved GetSaveAmount() from the base armor class 2019-08-05 13:29:02 +02:00
Blue Shadow
80c561a056 - fixed buggy ArmorFactor behavior when set to a value other than 1.0 2019-08-05 13:29:01 +02:00
Christoph Oelckers
070dde2e2b - made adjustments to the text placement on the summary screen.
With extended fonts much of the old code did not work anymore, this needed more precise checks for the sources of the printed texts.

Without the adjustments, just added GetMaxAscender for compatibility. (drfrag)

# Conflicts:
#	src/gamedata/fonts/font.cpp
#	src/scripting/vmthunks.cpp
#	wadsrc/static/zscript/ui/statscreen/statscreen.zs
2019-08-05 13:28:43 +02:00
drfrag
31b823a796 - Tweaked 1K Deaths. 2019-08-05 12:56:35 +02:00
drfrag
a62c7fc31c - Missing strings. 2019-07-29 18:54:45 +02:00
Kevin Hutchins
ac238545fd Adds option to use a rotation of quicksaves instead of having one quicksave slot that needs to be manually created. 2019-07-29 18:54:43 +02:00
drfrag
865d1581dd - Extended the fake generic font support for the dialogue system. 2019-07-27 12:56:32 +02:00
alexey.lysiuk
c7516a0fc5 - added ability to specify display duration of subtitles
Duration of sound playback and subtitles display will be synchronized if sound id is specified
For existing Strife messages this works out of the box

https://forum.zdoom.org/viewtopic.php?t=65379
2019-07-26 21:59:43 +02:00
Christoph Oelckers
768959af45 - fixed: The numcommands value in A_KoraxCommand needs to be decremented by one because the max parameter of the random function is inclusive. 2019-07-26 14:15:57 +02:00
Major Cooke
7f5a2d3a11 Added A_SoundPitch and an optional pitch parameter to A_PlaySound and S_Sound.
- Note: Because sound channels are not in zscript, there's no way to modify a sound made by S_Sound.

# Conflicts:
#	src/s_sound.cpp
#	wadsrc/static/zscript/base.zs
2019-07-25 00:06:12 +02:00
Christoph Oelckers
136e828de9 - use proper interface calls to give the initial BasicArmor to the player.
The old code didn't check if giving the item was proper and just went ahead adding it to the inventory unconditionally.
2019-07-18 14:30:09 +02:00
alexey.lysiuk
f38c83f96c - added PSprite.bMirror flag to ZScript class definition
https://forum.zdoom.org/viewtopic.php?t=65372
2019-07-18 14:30:05 +02:00
Christoph Oelckers
6999c89cbb - moved several IWAD dependent files into the game_support resource
* sprite offset definitions, which are IWAD dependent
* Freedoom's decal overrides
* conversation ID definitions for the Strife teasers
* the fallback BigFont now can also be loaded by IWADs which declare themselves as GAME_Heretic or GAME_Hexen.

# Conflicts:
#	src/gamedata/fonts/v_font.cpp
2019-07-18 14:28:40 +02:00
Rachael Alexanderson
264f1d875f - add +ZDOOMTRANS to BFGExtra in order to force classic transparency per user setting. 2019-07-18 13:57:59 +02:00
Christoph Oelckers
7757798d22 - moved iwadinfo.txt to zd_extra.pk3.
This was done for two reasons:

1. It forces loading of zd_extra.pk3 for the stock IWADs, eliminating a certain kind of user error.
2. It removes the stock IWAD definitions for custom games that distribute the engine along with their data, so that it doesn't pick up on Steam and GOG installations and shows an inappropriate IWAD picker.
2019-07-18 13:53:20 +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
Christoph Oelckers
65a054ba88 - implemented subtitle display for Blackbird's voiceover messages.
# Conflicts:
#	src/g_statusbar/shared_sbar.cpp
2019-07-18 12:33:48 +02:00
drfrag
a87d8ef7e2 - Missing strings. 2019-07-18 12:32:36 +02:00
Christoph Oelckers
1fb5361a82 - implemented subtitles for intermission slideshows.
# Conflicts:
#	src/d_main.cpp
#	wadsrc/static/language.csv
2019-07-18 12:30:19 +02:00
drfrag
0beb8b85bd - Changed default keybindings for Strife. 2019-07-18 00:47:26 +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
Christoph Oelckers
26863bfd94 - tested and fixed the attachable lights.
# Conflicts:
#	src/g_shared/a_dynlight.cpp
2019-07-17 17:53:43 +02:00
Christoph Oelckers
0c4fc385cc - User definable dynamic lights
This hasn't been tested yet!

# Conflicts:
#	src/g_shared/a_dynlight.h

# Conflicts:
#	src/g_shared/a_dynlightdata.cpp
2019-07-17 17:51:28 +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
8f3f95dfc8 - mark NewPlayerMenu as protected. 2019-07-15 20:38:32 +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
Rachael Alexanderson
3cf84ee60b - improved backdrop texture a little bit. replaced with a CC0 texture designed in Krita 2019-07-15 20:34:06 +02:00
Christoph Oelckers
2ca0e82e79 - added missing files.
No idea why they weren't committed...
2019-07-15 19:56:06 +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
drfrag
1d77f880a4 - Fixed hack: CanPrint must return 0 or it'd signal to the mods that NO FONT can print the text (what Graf said). 2019-07-11 14:07:47 +02:00
drfrag
e5f7bf068c - Some ugly hackery to try to make it more compatible. 2019-07-11 14:07:20 +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
Major Cooke
7bf370dd63 'Fixed' spacing. 2019-07-03 21:48:06 +02:00
Major Cooke
dfe8f19dd5 Added RenderUnderlay.
- Works exactly like RenderOverlay, but is drawn behind the status bar/huds instead.

# Conflicts:
#	src/events.cpp
#	src/events.h
2019-07-03 21:48:01 +02:00
Erick Tenorio
ce0b4b1ead - DOOM2.WAD fixes 2019-07-02 14:50:15 +02:00
drfrag
3ed0541647 Revert "- Fixed dithering in the present shader."
This reverts commit b359b65f35.

It gave a shader compile error on hardware not supporting GL 4.2.
2019-06-26 03:26:57 +02:00
Kevin Caccamo
3923a92f11 Expand UDMF and ZScript API for side's own additive colors
Add 'useowncoloradd_{top,mid,bottom}' sidedef properties to the UDMF 
spec
Only use side's additive colors if 'useowncoloradd_(top|mid|bottom)' is 
set.
Rename UseOwnColors flag to UseOwnSpecialColors
Add UseOwnAdditiveColor flag to side_t::part
Add EnableAdditiveColor to side_t
Add Side.EnableAdditiveColor to ZScript API
2019-06-23 14:11:08 +02:00
Kevin Caccamo
2c08a77f2c Minor fixes for additive colour ZScript API
Sector.SetAdditiveColor actually called Sector.SetSpecialColor
Add use boolean property, used to determine whether or not to override the sector's additive wall colour with the side's additive colour.
2019-06-23 14:11:06 +02:00
Kevin Caccamo
d503d1ce9b Add additive color before applying object colors
Based on what I saw in this video (https://youtu.be/Yx1tflavea8), the 
additive colors are applied before the object colors
2019-06-23 14:11:03 +02:00
Kevin Caccamo
6ae47bad88 Rework implementation as per the new specification
The new specification is more flexible, and allows assigning additive
colors to individual parts of a sector (walls, sprites, flats) and even
individual parts of a side (top, middle, bottom)

Add AdditiveColors arrays to sector_t and side_t::part
Initialize AdditiveColors arrays to 0
Export AdditiveColors to ZScript
Save AdditiveColors in saved game files
Use colors from AdditiveColors arrays when setting the additive color
for the render state
Add code to parse the new UDMF additive color properties
Remove additive color slot from sector color/part enum
Add SetAdditiveColor to sector_t and side_t
Add GetAdditiveColor to side_t
Export new methods and additive color arrays to ZScript

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/hwrenderer/scene/hw_walls.cpp
#	src/hwrenderer/scene/hw_weapon.cpp

# Conflicts:
#	src/gl/scene/gl_walls_draw.cpp
#	src/gl/scene/gl_weapon.cpp
#	src/hwrenderer/scene/hw_flats.cpp
#	src/r_defs.h
2019-06-23 14:10:41 +02:00
Kevin Caccamo
16a52cd8c8 Implement additive colour on walls and sprites
Also, don't modify the alpha channel when adding the additive colour.

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/hwrenderer/scene/hw_walls.cpp
#	src/hwrenderer/scene/hw_weapon.cpp

# Conflicts:
#	src/gl/scene/gl_weapon.cpp
2019-06-23 12:46:54 +02:00
Kevin Caccamo
575b660b20 Rename ColorAdd to AddColor, and use it ingame
Rename ColorAdd to AddColor
Add AddColor to FRenderState
Tweak SpecialColors array in ZScript to include the additive color
Add uAddColor to the shader compiler
Add uAddColor to the texel

# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/hwrenderer/scene/hw_flats.cpp
#	src/hwrenderer/scene/hw_renderstate.h
#	src/hwrenderer/utility/hw_draw2d.cpp

# Conflicts:
#	src/gl/scene/gl_flats.cpp
#	src/hwrenderer/scene/hw_flats.cpp
2019-06-23 11:45:03 +02:00
Magnus Norddahl
98607f594e - use the exact sRGB->linear transfer function in HDR mode as the 2.2 gamma approximation is visibly inaccurate in this case
# Conflicts:
#	src/rendering/gl/renderer/gl_postprocess.cpp
#	src/rendering/gl/renderer/gl_stereo3d.cpp
#	src/rendering/hwrenderer/postprocessing/hw_postprocess.h
#	src/rendering/vulkan/renderer/vk_postprocess.cpp
#	wadsrc/static/shaders/glsl/present.fp

# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/stereo3d/gl_interleaved3d.cpp
#	src/hwrenderer/postprocessing/hw_presentshader.h
2019-06-21 14:21:03 +02:00
Magnus Norddahl
11faa63009 - prevent excessively bright pixels as this is actually visible on a HDR monitor 2019-06-21 13:02:43 +02:00
drfrag
b359b65f35 - Fixed dithering in the present shader. 2019-06-20 23:40:38 +02:00
Rachael Alexanderson
1a26946e5b - Allow specifying monitor bits-per-channel for dithering output. Not all displays are created equal, so this option is actually important for specifying the exact amount for your display.
# Conflicts:
#	src/gl/renderer/gl_stereo3d.cpp
#	wadsrc/static/menudef.txt

# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/stereo3d/gl_interleaved3d.cpp
2019-06-20 22:12:48 +02:00
Magnus Norddahl
7021e612b0 - add gl_dither for toggling dithered output on and off
# Conflicts:
#	src/gl/renderer/gl_stereo3d.cpp
#	wadsrc/static/menudef.txt

# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/stereo3d/gl_interleaved3d.cpp
#	src/hwrenderer/postprocessing/hw_presentshader.h
2019-06-20 21:27:17 +02:00
Magnus Norddahl
888fba12ea - use a texture for the dither matrix
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderbuffers.h

# Conflicts:
#	wadsrc/static/shaders/glsl/present.fp
2019-06-20 18:20:33 +02:00
drfrag
7fdf558ad6 Revert "- add gl_dither for toggling dithered output on and off"
This reverts commit 770c676ac9.

# Conflicts:
#	wadsrc/static/menudef.txt
2019-06-20 18:04:30 +02:00
drfrag
8b7c5242cb Revert "Revert "- add dithering to present shader""
This reverts commit c2a3895bfe.

# Conflicts:
#	wadsrc/static/menudef.txt
2019-06-20 18:03:24 +02:00
Christoph Oelckers
bf767dd560 - give UMAPINFO the ability to disable cluster-based exit texts.
# Conflicts:
#	src/g_level.cpp
#	src/gamedata/g_mapinfo.h
2019-06-19 21:59:46 +02:00
alexey.lysiuk
b0ac9e66a7 - switched to unconditional level exit in scriptified actors
Action special may not work properly in a very specific setup
E.g., exit to the next level within a hub via boss brain death was broken
2019-06-17 22:03:32 +02:00
alexey.lysiuk
8735dd18ad - exported unconditional level exit to ZScript
Exit_Normal and Exit_Secret specials imply addition conditions to make a decision about proceeding to the next map
A few scriptified actors require a bypass of these conditions in order to work properly
2019-06-17 22:03:28 +02:00
Alexander
53f08d27d6 automap options readability changes 2019-06-17 22:03:24 +02:00
Rachael Alexanderson
7db087d5eb - compat_pointonline for doom2 map14 2019-06-17 22:03:20 +02:00
Alexander
b19284cea9 localize custom menu titles in option search results 2019-06-13 15:54:19 +02:00
drfrag
4e3f294453 - Extended fake Shape2D. 2019-06-10 20:07:47 +02:00
drfrag
5bb8e81981 Revert "- Do not use the internal graphic for the new Doom skill level even when the generated title looks worse, this way it can use custom fonts."
This reverts commit 41023881cd.

It had wrong colors anyway.
2019-06-08 13:10:08 +02:00
Blue Shadow
6b3a7ace0b - fixed PlaySpawnSound call in A_ThrowGrenade 2019-06-05 12:47:03 +02:00
drfrag
fc37e59bda - add support for NRFTL as an expansion for Doom 2.
(patch by Rachael)
2019-06-03 21:31:02 +02:00
drfrag
c4b6d0a1f1 - Added missing order in the selection box for SIGIL. 2019-06-03 13:44:51 +02:00
Rachael Alexanderson
5996fe9dbb - add support for SIGIL as an expansion for Ultimate Doom 2019-06-03 12:57:38 +02:00
drfrag
6dcabe52ca - Fixed typo. 2019-05-27 11:58:21 +02:00
Christoph Oelckers
1252042e33 - cleanup of font init to have less special cases
To make things easier, DBIGFONT, SBIGFONT and HBIGFONT will now be renamed in the lump directory to make things a bit easier to handle.

Another change is to make font folders atomic units to prevent cross-pollution between incompatible fonts. The only exception to this are the def* folders because they need to piece together their fonts from both zd_extra.pk3 and the IWADs.
2019-05-26 21:31:46 +02:00
drfrag
8feeef9228 - Missing strings. 2019-05-19 20:40:24 +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
Alexander
fa42357891 added a crosshair on/off toggle
# Conflicts:
#	wadsrc/static/menudef.txt
2019-05-18 14:08:59 +02:00
drfrag
5fb354e7f4 - Forgot to update the internal ZScript version. 2019-05-14 21:33:41 +02:00
drfrag
59633d8c72 - Changed deprecations. 2019-05-14 20:10:58 +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
a6491c71b5 - added monospacing support to Screen.DrawText and its native counterparts.
# Conflicts:
#	src/g_statusbar/shared_sbar.cpp
#	src/v_draw.cpp
#	src/v_video.h

Without the HUD modifications. (drfrag)

# Conflicts:
#	src/v_draw.cpp
#	wadsrc/static/zscript/base.zs
2019-05-14 19:50:25 +02:00
Player701
405ece578a - Added "const" qualifiers to the new UTF-8-aware string methods 2019-05-14 19:39:09 +02:00
Christoph Oelckers
0c36ab0651 - added CharUpper and CharLower functions to ZScript.
These, like MakeUpper and MakeLower, use the internal Unicode case conversion tables.

# Conflicts:
#	src/scripting/vmthunks.cpp
2019-05-14 19:37:49 +02:00
Christoph Oelckers
1e0228c13a - added Unicode aware MakeUpper/MakeLower functions to FString and ZScript's String and deprecated ToUpper/ToLower because their semantics did not allow fixing them. 2019-05-14 19:37:47 +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
drfrag
e290cb77e4 - Added missing language definitions for option search.
# Conflicts:
#	wadsrc/static/language.rus
2019-05-14 18:59:34 +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
Christoph Oelckers
0153a42240 - fixed issues with text entering
* entering a savegame description did not work anymore
* the length check was too restrictive and always underestimated the available space
* use the console font for entering a savegame description. This has more characters and better contrast for this content.
* the interface to the text enterer used bad measurements.

# Conflicts:
#	wadsrc/static/zscript/ui/menu/optionmenuitems.zs
2019-05-14 17:38:21 +02:00
Christoph Oelckers
1e9a65e673 - fixed the player name display.
This was broken by several small unicode-incompatible code fragments.
This commit also removes the input limit for the player name and the savegame description. With multibyte encoding, limiting them to a fixed length did not work right.
Currently these will just overflow the fields if the text becomes too long, this needs some additional work.
2019-05-14 17:19:34 +02:00
Christoph Oelckers
f790d48041 - made the menu's text input handler Unicode capable.
Also make sure that the savegame description remains readable. Unlike in-game text this can be done without double-encoding existing UTF-8.
2019-05-14 17:19:19 +02:00
drfrag
41023881cd - Do not use the internal graphic for the new Doom skill level even when the generated title looks worse, this way it can use custom fonts. 2019-05-10 23:43:41 +02:00
player701
cb57c712cb - Fixed random generation of friendly obituaries 2019-05-05 23:44:01 +02:00
Christoph Oelckers
aafb781d76 - removed the leftovers of the removed savedamount variable. 2019-05-02 19:56:24 +02:00
Christoph Oelckers
d599e2738d - removed the MaxAmount fudging from MaxHealth. 2019-05-02 19:55:35 +02:00
Christoph Oelckers
c258e60340 - use Obituary for both Demon and Spectre. 2019-05-02 19:54:19 +02:00
Alexander
c147990452 added MakeScreenShot and MakeAutoSave functions to FLevelLocals
# Conflicts:
#	src/g_game.h
#	wadsrc/static/zscript/base.zs
2019-05-02 19:53:42 +02:00
Christoph Oelckers
8bb4457a62 - re-added the menu option for wipetype which got lost in a recent menu reorganization. 2019-05-02 19:51:16 +02:00
Player701
d30c749d02 - Fixed conditions tested for when checking whether "Force respawn" or "Respawn protection" dmflags are enabled 2019-05-02 17:10:16 +02:00
Christoph Oelckers
9d70b8436a - changed the filter name for Doom IWADs
It's "doom.id.doom1/2" instead of "doom.doom1/2" now.
The config file's content will be renamed and for lump filtering a fallback has been added - note that you cannot combine both naming schemes! The old one has to be considered deprecated now.

This also removes the duplicated content necessitated by the old naming scheme.

# Conflicts:
#	src/version.h
2019-05-01 01:01:35 +02:00
Christopher Bruns
a1eb22bb02 Fix typo: add missing dollar sign in new stereo 3D submenu. 2019-05-01 00:59:23 +02:00
Christoph Oelckers
6ec2ddb702 - use a more reliable menu check for the player menu items.
This needs to ensure that it only allows modification from within a menu's event handlers and nowhere else.
2019-05-01 00:42:31 +02:00
Christoph Oelckers
85efd1fa0f - use the proper virtual methods for setting and retrieving the string in OptionMenuItemTextField.
Without this the class cannot be properly subclassed.

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

# Conflicts:
#	wadsrc/static/zscript/ui/menu/optionmenuitems.zs
2019-05-01 00:29:19 +02:00
Christoph Oelckers
9ea041897c - fixed: OptionMenuItemSafeCommand did not allow unsafe commands. 2019-04-29 20:05:08 +02:00
Christoph Oelckers
dd916932e1 - removed unused (now always active) gl_trimsprites option from the menu.
# Conflicts:
#	src/gl/system/gl_menu.cpp
2019-04-29 19:56:19 +02:00
player701
95f4d626c7 - Fixed misplaced vertex on Community Chest MAP16 2019-04-29 19:51:53 +02:00
alexey.lysiuk
4711ced89b - fixed level progression of titan-426 map on easy skill
https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/titan426
2019-04-29 19:51:51 +02:00
Rachael Alexanderson
08e5ca62b7 - fix a missing texture in strife map21 2019-04-29 19:51:48 +02:00
Christoph Oelckers
becd294661 - this option was in the wrong menu 2019-04-29 19:51:46 +02:00
Christoph Oelckers
82fac693d8 - made the gross railing hack for Strife a compatibility option and restricted it to MAP04
The side effects here broke other maps and this is really too glitchy to be turned on unless really necesasary.

# Conflicts:
#	src/gamedata/g_mapinfo.h
#	src/gamedata/stringtable.cpp
#	src/maploader/maploader.cpp
#	src/p_map.cpp
#	src/p_udmf.cpp
2019-04-29 19:51:43 +02:00
Rachael Alexanderson
55e43293c5 - fix missing texture in Strife MAP15 2019-04-29 19:51:39 +02:00
drfrag
4aece219a7 - Added missing language strings.
# Conflicts:
#	wadsrc/static/language.enu
#	wadsrc/static/language.rus
2019-04-29 19:34:41 +02:00
Christoph Oelckers
bafa312b91 - did a bit of cleanup on the option menus by regrouping some settings, especially splitting out of the Hardware Rendering Options menu into submenus.
# Conflicts:
#	wadsrc/static/language.csv
#	wadsrc/static/menudef.txt
#	wadsrc_extra/static/language.csv
2019-04-29 19:30:46 +02:00
Christoph Oelckers
a488791add - added A_Explode compatibility options.
There are two options here - one only disables the vertical thrust and the other goes back fully to the original non-z-aware code.
Both options are settable through MAPINFO.
For the compatibility presets, the normal ones only disable the vertical thrust, the strict ones force use of the old code entirely.

# Conflicts:
#	wadsrc/static/language.csv
2019-04-29 19:30:06 +02:00
Christoph Oelckers
bcb595002d - fixed the label for "Master Volume".
The text already existed, just with a different name.
2019-04-29 19:27:03 +02:00
Player701
5b0869f5b9 - Added Unholy Realms MAP27 to the node rebuild compatibility list 2019-04-29 19:26:45 +02:00
Christoph Oelckers
aeef28f544 - fix some holes the player can fall in for darken2 MAP12.
This map went a bit too far with lighting hacks depending on holes in the floor.
2019-04-29 19:26:43 +02:00
Christoph Oelckers
8a155b7452 - added a compatibility handler for a badly constructed crossbeam bridge in Unholy Realms MAP17. 2019-04-29 19:26:41 +02:00
Christoph Oelckers
b5fb443258 - fixed spacing of Strife's merchant's texts. 2019-04-29 19:06:21 +02:00
Christoph Oelckers
d96473c74a - give Hexen's PoisonCloud the OLDRADIUSDMG flag.
This actor has such oddball semantics that it's better not subjected to the revised radius damage code.
2019-04-29 19:04:07 +02:00
Christoph Oelckers
963d1b682c - fixed layout issues with Strife's dialogues.
They were using some settings from the option menu which they never should have used to begin with.
2019-04-29 19:03:23 +02:00
drfrag
2fb5c9a32b - Added missing strings.
# Conflicts:
#	wadsrc/static/language.enu
2019-04-29 19:02:50 +02:00
Christoph Oelckers
f57ebacae6 - localized some user-facing texts that were still string literals. 2019-04-29 18:53:22 +02:00
Christoph Oelckers
7a9b881299 - properly construct the reply texts for Strife's merchants. 2019-04-28 23:12:02 +02:00
Sterling Parker
c2bdeb7da1 Add LookScale property
As requested by @coelckers.
2019-04-28 23:02:01 +02:00
Sterling Parker
8ce7da0a5e Add LookScale variable on weapon
This variable allows a weapon to set a custom look sensitivity multiplier without fiddling with FOVScale / DesiredFOV hacks.
2019-04-28 23:01:57 +02:00
Major Cooke
fc510a7d89 Added CanTouchItem virtual.
- Allows an actor with +PICKUP flag to determine if it can pick up specific items or not.
2019-04-28 22:57:40 +02:00
Christoph Oelckers
a5b7250f3b - did a bit more tweaking to the menu dims.
Red on red in Doom was still not good, so the colors were darkened more and made more opaque.
2019-04-28 22:52:35 +02:00
Christoph Oelckers
c5a1c8be4a - split up the compatibility menu by making each subsection its own submenu.
This one, even more than the gameplay options has devolved into an overwhelming wall of text.
2019-04-28 22:52:33 +02:00
Christoph Oelckers
a97aacca1f - split up the automap colors menu.
The cheat and overlay settings are now in submenus. Like the gameplay menu, this was simply too long.
2019-04-28 22:52:31 +02:00
Christoph Oelckers
3c984f8c58 - split out the deathmatch and coop gameplay settings into their own submenus. 2019-04-28 22:52:28 +02:00
Christoph Oelckers
4e0934369c - made the menu dim darker and a bit more opaque.
The recent localization work has made it apparent that on many images the menu was extremely hard to read because its colors often clash with the background.
The choice of a bright overlay color with extremely low opacity is simply not enough to make the menus comfortable to navigate. Chex Quest was particularly bad but the problem existed in many Doom mods as well.
This also changes the CQ dim color to something a bit more green to better fit with the theme.
2019-04-28 22:52:09 +02:00
Christoph Oelckers
44aeb8effc - moved the weapon bobbing options from the Display Options to the HUD Options menu. 2019-04-28 22:51:06 +02:00