Commit graph

3196 commits

Author SHA1 Message Date
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
Rachael Alexanderson
d1ec7c8cfd - removed spacing gaps in the customize controls menu 2019-04-28 22:50:19 +02:00
Christoph Oelckers
536c0b7647 - fixed: Unmorphing a monster did not clear its UNMORPHED flag. 2019-04-28 22:47:02 +02:00
Major Cooke
d34108f0e9 Renamed to musplaying.
# Conflicts:
#	wadsrc/static/zscript/base.zs
2019-04-28 22:38:25 +02:00
Major Cooke
43eaa03654 Exported MusPlayingInfo to ZScript.
- Allows grabbing the currently playing song, base order, and loop properties.

# Conflicts:
#	wadsrc/static/zscript/base.zs

# Conflicts:
#	wadsrc/static/zscript/base.zs
2019-04-28 22:37:08 +02:00
Rachael Alexanderson
99b5dd0c66 - separate/group out the volume sliders, make them look slightly hierarchal in order to denote their importance 2019-04-28 22:27:03 +02:00
nashmuhandes
ddaae8e614 Added a master volume setting.
# Conflicts:
#	wadsrc/static/language.enu
2019-04-28 22:25:50 +02:00
Christoph Oelckers
60e1bb604e - removed unused gl_spritebrightfog CVAR.
# Conflicts:
#	src/gl/system/gl_cvars.h
#	src/gl/system/gl_menu.cpp
2019-04-28 22:25:12 +02:00
Christoph Oelckers
961a6fe211 - reorganized the ZScript content in gzdoom.pk3 and changed the files' extensions to something unique for easier syntax highlighting.
# Conflicts:
#	wadsrc/static/zscript.txt
2019-04-28 22:14:34 +02:00
Christoph Oelckers
ff0774c2f2 - changed all places which used a localized string as a format template for printf, String.Format et.al.
Passing something non-constant at compile time here is extremely dangerous, especially when users can replace those strings if they like.
It now uses FString::Substitute in all cases where something needs to be inserted into a template string.
2019-04-28 21:25:28 +02:00
Christoph Oelckers
9835ef5cfa - a bit of text cleanup. Removed some unused strings and moved a few not-to-be-translated ones to language.def.
# Conflicts:
#	wadsrc/static/language.rus
2019-04-28 21:22:21 +02:00
Christoph Oelckers
ed1be38e56 - moved the lump/resource names in the string table to their own file and removed them from other language files.
These are neither supposed to be translated nor overridden by other language tables.
Doing so may break later Dehacked refactorings.

# Conflicts:
#	wadsrc/static/language.rus
2019-04-28 21:21:41 +02:00
Alexander
f2de88073d moved controls to submenus in "Customize Controls" menu
What is done:
D1. Controls are separated by existing sections, each section is now a submenu;
D2. The original sections are preserved;
D3. The original controls order is preserved;
D4. "Controls" section is renamed to "Game", because "Controls" submenu of "Customize Controls" would be too confusing;
D5. Map (automap) controls are added as a section, map controls submenu is unchanged;
D6. Missing controls are added to "Other" section;
D7. Sections are given a title following the scheme "Customize <section> Controls", except N4 (see below).
D8. Inside the sections, spaces are added to group the related controls.

Things that I'm not sure about:
N1. "Game" controls section name is too generic - I'll gladly change it to something more suitable;
N2. "Other" controls section name is too generic - I'll gladly change it to something more suitable;
N3. Map controls submenu could use some spacing, and internal title ("Map Controls") is redundant;
N4. "Strife Popup Screens" section name is too long to fit in scheme described in D7, therefore the title is "Strife Popup Screens Controls";
N5. "Game" section could be divided further, but this will break the original menu structure.
2019-04-28 20:34:24 +02:00
drfrag
171517f430 - Exported missing ZScript functions and added workaround for different syntax without the level refactor. 2019-04-28 20:04:35 +02:00
Christoph Oelckers
074ee3238b - sanitized the 'frozen level' code.
This had two different flags that were checked totally inconsistently, and one was not even saved.
Moved everything into a few subfunctions so that these checks do not have to be scattered all over the code.

# Conflicts:
#	src/actorinlines.h
#	src/decallib.cpp
#	src/g_levellocals.h
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/p_mobj.cpp
#	src/p_saveg.cpp
#	src/p_user.cpp
#	src/polyrenderer/scene/poly_particle.cpp
#	src/scripting/vmthunks.cpp
#	src/swrenderer/things/r_particle.cpp
#	wadsrc/static/zscript/actors/player/player.zs
#	wadsrc/static/zscript/base.zs

# Conflicts:
#	src/g_levellocals.h
#	src/hwrenderer/scene/hw_sprites.cpp
#	wadsrc/static/zscript/base.txt
2019-04-28 19:10:52 +02:00
alexey.lysiuk
f5f1564f69 - added ability to customize font of automap marks
Set am_markfont CVAR to a desired font name
Use am_markcolor to select a text color, has no effect with the default font, AMMNUMx

# Conflicts:
#	src/am_map.cpp
2019-04-28 15:11:43 +02:00
Christoph Oelckers
5b78d7faaa - fixed run health clamping.
This didn't scale the move factors properly.
2019-04-28 15:09:25 +02:00
Christoph Oelckers
30512f8fe3 - made gameaction read only
The script side cannot do anything useful with this, because most actions require parameters in global variables, so this is a first grade candidate for rogue mods to make the engine misbehave.
2019-04-28 15:09:22 +02:00
alexey.lysiuk
ec4f306463 - added compatibility entries for maps affected by buggy CheckSwitchRange behavior 2019-04-28 12:03:55 +02:00
alexey.lysiuk
9f0eb35b28 - added compatibility flag for buggy CheckSwitchRange behavior
https://forum.zdoom.org/viewtopic.php?t=63008
https://forum.zdoom.org/viewtopic.php?t=63650
2019-04-28 12:03:52 +02:00
Christoph Oelckers
83dbabfa22 - moved the displayed text in strfhelp.o to the string table. 2019-04-28 11:53:39 +02:00
Christoph Oelckers
b8ee8f3e94 - moved Strife's map names to the string table. 2019-04-28 11:53:36 +02:00
Christoph Oelckers
2cad60d9e9 - removed extraneous parameter in SpawnPlayerMissile call in A_FireProjectile.
The native variant has a MissileActor out parameter in this place, but in ZScript that's a secondary return value.
2019-04-28 11:46:51 +02:00
Christoph Oelckers
736bac7a93 - exported LevelLocals's compatibility flags to scripting and fixed all places where access to combined compatibility flags is needed.
# Conflicts:
#	src/scripting/vmthunks.cpp
#	src/scripting/vmthunks_actors.cpp
#	wadsrc/static/zscript/doom/fatso.txt
#	wadsrc/static/zscript/doom/painelemental.txt
2019-04-28 11:46:26 +02:00
Major Cooke
47dbc95e2b Added inflictor, source and flag parameters to GetModifiedDamage on actors and ModifyDamage on inventory.
- The flags are used by DamageMobj so modders can determine radius damage, for example, by checking for DMG_EXPLOSION.
2019-04-27 23:45:49 +02:00
Christoph Oelckers
0a7027489e - added a compatibility fix for KDiZD Z1M3 and fixed some tagging issues in the compatibility handler.
One sector in an underwater area of KDIZD Z1M3 got tagged with an incorrect Transfer_Heights effect which caused render glitches in that area.
There were also a few AddSectorTag calls without first clearing the sector's tags leading to potentially undefined behavior.
2019-04-27 23:45:47 +02:00
Christoph Oelckers
1c410d4050 - rewrote the language table so that it doesn't have to reload everything on a language change.
It now reads everything into a two-dimensional TMap and creates a list of mappings that apply to the current setting.
The constant need for reloading was the main blocker in redesigning how Dehacked strings get inserted. Currently they override everything, but IWAD-based Dehacked text shouldn't block PWAD overrides from PWADs' LANGUAGE lumps and instead be treated as coming from an [en default] block.

This also renames the main block from [enu default] to [en default], because it should be treated as the English default for all English locales and not just make it fall through to the base default as it did before.

# Conflicts:
#	src/doomstat.cpp

# Conflicts:
#	src/stringtable.cpp
2019-04-27 16:13:21 +02:00
Christoph Oelckers
1382d79ab1 - exported all texts from Strife's dialogues to the string table.
Now all this content can be localized. However, since this is actual game content it was placed in a secondary file in zd_extra.pk3, so that it won't affect the GPL-compatible status of the main one.

# Conflicts:
#	src/p_conversation.cpp
2019-04-27 13:47:44 +02:00
Christoph Oelckers
23a4094080 - allow localization of Hexen's original ACS strings.
This way of looking up strings is intentionally limited to content from Hexen.wad and Hexdd.wad.

# Conflicts:
#	src/maploader/maploader.cpp
#	src/p_acs.cpp
#	src/p_acs.h
2019-04-27 13:47:40 +02:00
Christoph Oelckers
3b631ca766 - removed bad character from A_CustomPunch definition. 2019-04-27 13:47:37 +02:00