Commit Graph

3742 Commits

Author SHA1 Message Date
Nemrtvi 282cce765d MENUDEF change for new strings in Russian
This is to accomodate the grammatical gender system.
2019-03-30 21:26:15 +01:00
Christoph Oelckers f5ad144934 - fixed: air_finished was sometimes checked against level.time, sometimes against level.maptime.
For a per-level effect it needs to always check against level.maptime.
2019-03-30 18:52:32 +01:00
Christoph Oelckers f48e0280d8 - fixed: OptionMenuItemSafeCommand did not allow unsafe commands. 2019-03-30 09:25:48 +01:00
Christoph Oelckers 4619fc5622 - removed unused (now always active) gl_trimsprites option from the menu. 2019-03-29 19:10:10 +01:00
Rachael Alexanderson bd284cf337 Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-03-29 04:53:10 -04:00
player701 2766b5ab2b - Fixed misplaced vertex on Community Chest MAP16 2019-03-28 18:55:32 +01:00
alexey.lysiuk c4ef8ce465 - fixed level progression of titan-426 map on easy skill
https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/titan426
2019-03-27 13:18:33 +02:00
Rachael Alexanderson 1dd0909ec2 - fix a missing texture in strife map21 2019-03-27 06:57:41 -04:00
Christoph Oelckers f4401d1525 - this option was in the wrong menu 2019-03-26 17:30:44 +01:00
Magnus Norddahl 4cc9880f50 Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-26 13:08:59 +01:00
Christoph Oelckers 0341a3d75b - 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.
2019-03-26 00:38:54 +01:00
Rachael Alexanderson ddc67fb1bc - fix missing texture in Strife MAP15 2019-03-25 23:54:01 -04:00
Magnus Norddahl 2d8516b2ca - make shaderClipDistance optional 2019-03-25 19:44:46 +01:00
alexey.lysiuk 6c91d15b0a - fixed adjustment of options menu slider with mouse
https://forum.zdoom.org/viewtopic.php?t=64063
2019-03-25 12:59:36 +02:00
Rachael Alexanderson 91dfebd211 Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
# Conflicts:
#	wadsrc/static/menudef.txt
2019-03-24 09:08:55 -04:00
Christoph Oelckers 10b25110c4 - restored some accidentally deleted parts of the Display Options menu. 2019-03-24 13:41:43 +01:00
Rachael Alexanderson 26ec0f6f17 - fixed: VideoOptions was renamed to DisplayOptions, but its menu reference was not updated, causing a VM abort 2019-03-24 08:18:44 -04:00
Christoph Oelckers 48cff0a617 - fixed the label for "Master Volume".
The text already existed, just with a different name.
2019-03-24 12:56:38 +01:00
Christoph Oelckers 92586e6c17 - did a bit of cleanup on the option menus by regrouping some settings, especially splitting out of the Hardware Rendering Options menu into submenus. 2019-03-24 12:42:57 +01:00
Christoph Oelckers dc67355e95 - 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.
2019-03-24 12:42:57 +01:00
Christoph Oelckers d9ac337d7a - fixed string table references for "No Rest for the Living." 2019-03-24 12:42:56 +01:00
Player701 456c1eb926 - Added Unholy Realms MAP27 to the node rebuild compatibility list 2019-03-23 15:28:27 +01:00
Christoph Oelckers 4fff8a41b7 Merge branch 'master' into vulkan2 2019-03-23 09:49:57 +01:00
Christoph Oelckers 6ba8067499 - language update. 2019-03-23 09:49:15 +01:00
Christoph Oelckers 4aef99632d Merge branch 'master' into vulkan2 2019-03-21 18:56:06 +01:00
Christoph Oelckers 6d82e6f5f5 - 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-03-20 21:50:27 +01:00
Christoph Oelckers 0b84d6b204 - added a compatibility handler for a badly constructed crossbeam bridge in Unholy Realms MAP17. 2019-03-20 21:39:53 +01:00
Christoph Oelckers 9f6b8cd323 - fixed spacing of Strife's merchant's texts. 2019-03-20 00:49:00 +01:00
Christoph Oelckers cdc109fbc0 - fixed space calculations for option menu sliders. 2019-03-20 00:01:12 +01:00
Rachael Alexanderson 4fae7ad4a9 - implement a menu for Vulkan. todo: Implement a way to select a Vulkan renderer directly, also todo: Hide Vulkan menu if the system doesn't support it. 2019-03-19 15:38:34 -04:00
Rachael Alexanderson 3c594c6c93 Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-19 15:12:18 -04:00
Christoph Oelckers 6e0e221804 - 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-03-19 19:54:46 +01:00
Christoph Oelckers 0abd9d4aec - fixed slider scaling. 2019-03-19 18:50:38 +01:00
Christoph Oelckers a1acc4adc4 - 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-03-19 17:46:59 +01:00
Christoph Oelckers cda248df66 - localized some user-facing texts that were still string literals. 2019-03-19 00:37:43 +01:00
Christoph Oelckers d86dd902fb Merge branch 'master' into vulkan2 2019-03-18 13:31:04 +01:00
Christoph Oelckers 8f93dcc884 - fixed the option menu indentation.
This was yet another piece of code that essentially was unworkable thanks to the limited screen space with the old bitmap fonts.
With the new font there is enough screen space to do this properly.
2019-03-18 10:54:26 +01:00
Christoph Oelckers 86f9824c2a - updated the text data to the content of the Google spreadsheet. 2019-03-18 10:18:31 +01:00
Rachael Alexanderson dd4ef010ab Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-18 04:05:19 -04:00
Christoph Oelckers 54f5076b0f - fixed option menu selector and slider bar positioning. 2019-03-17 22:00:28 +01:00
Christoph Oelckers 13f3bf2331 - add an option to print the kill, item and secret stats on the alternative HUD with the NewSmallFont.
This has to be set in the console, the default is still the regular small font. Mainly added because some mods have really hard to read fonts where it is not easy to decipher the numbers.
2019-03-17 21:35:33 +01:00
Christoph Oelckers b839da45ec - Found two more unlocalized texts in the color picker. Due to space constraints a proper localization is not possible so these were replaced by a non-text. 2019-03-17 20:56:49 +01:00
Alexander dbb93d6c08 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-03-17 20:28:38 +01:00
Christoph Oelckers b515ac662e - cleaned up the coop summary screen.
This was one of the pieces that suffered badly from the proportions of the game provided SmallFonts, so now it uses the NewSmallFont.
2019-03-17 20:28:12 +01:00
Christoph Oelckers 478eef5628 - fixed positioning of "no files" message on load game screen. 2019-03-17 19:10:25 +01:00
Christoph Oelckers 95adbc58a8 - fixed the spacing for the sliders.
- moved the scroll indicators in the menu to the right and use a brighter color for them - the old ones were only barely visible.
2019-03-17 18:32:55 +01:00
Christoph Oelckers 1beaa8da58 - deleted obsolete and broken font characters. 2019-03-17 18:32:49 +01:00
Christoph Oelckers a6051c8231 - moved the flag display in the gameplay and compatibility menus down below the headline. 2019-03-17 18:32:48 +01:00
Christoph Oelckers 59f0a377d4 - consolidate the dependencies on the font in the option menu. 2019-03-17 18:32:48 +01:00
Christoph Oelckers 2227c15010 - create a second font based on the VGA glyphs that is stylistically more similar to the SmallFont and use that for the option menus. 2019-03-17 18:32:48 +01:00
Christoph Oelckers 2e260c6367 - use the new console font for the options menu to gain space and better character support.
So far this is just an experiment, this needs a bit of work to become viable.
2019-03-17 18:32:47 +01:00
Christoph Oelckers 0ff703c361 - fixed: Doom's episode names were not translatable. 2019-03-17 10:11:02 +01:00
Christoph Oelckers ba13a540e4 - changed default graphics substitution rules to be more localization friendly.
The default was changed to replace graphics if only known content is affected.
This also required blocking the feature for Hacx, Harmony and Action Doom 2 which have no localization yet and would fall back on Doom's texts if not blocked.
2019-03-17 09:27:40 +01:00
Alexander aa9c484b3b automap options readability changes 2019-03-16 20:01:26 +01:00
Christoph Oelckers 9b76c47dbe - added some placeholder strings to language.def.
This is in preparation for the spreadsheet based text handling.
2019-03-16 18:56:20 +01:00
Alexander 73d81d3983 added option search menu 2019-03-16 18:40:13 +01:00
Christoph Oelckers 04281d4a0b - fixed positoning issues in the load/save menu. 2019-03-15 20:22:40 +01:00
Magnus Norddahl cce96ca87a - implement shadow maps 2019-03-15 07:54:34 +01:00
Magnus Norddahl dca0b75038 - change the images to be upside down until presentation to increase compatibility with shaders designed for OpenGL
- clamp scissors fully to avoid NVidia's awful drivers locking up the entire system if they end up out of bounds
- perform buffer clears as part of the render pass. this puts some restrictions on how FRenderState.Clear can be used
- add an offset uniform to the present shaders so the vulkan target can flip the image during presentation
2019-03-12 23:53:20 +01:00
Magnus Norddahl 0620041228 - remove screenquadscale.vp 2019-03-12 16:24:55 +01:00
Rachael Alexanderson 879aae1bd3 Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-03-11 22:07:46 -04:00
Rachael Alexanderson fd4295b38c - add some /0 guards in the load/save menu to prevent VM aborts 2019-03-11 20:19:40 -04:00
Christoph Oelckers c0d333ee56 - adjusted the script-side MidPrint calls to honor the con_midconsolefont CVAR. 2019-03-11 22:44:28 +01:00
Christoph Oelckers 8b4690bc44 - use international date format for all places that print a date.
The most important one is the autosave tagging. This was done because the old printout was missing the year and printed the month as a 3 character English string, sabotaging any attempt to sort the autosaves by anything meaningful.
2019-03-11 21:21:37 +01:00
Christoph Oelckers 22cf35c1c7 - reworked the load/save menu to use the new console font.
Parts of this menu suffered badly from lack of screen space to convey the intended information due to the oversized fonts. With the new font this is a lot less problematic (unless using 320x200, of course)
2019-03-11 20:59:43 +01:00
Christoph Oelckers 0884057ae1 - use a higher resolution console font with better Unicode support. 2019-03-10 17:54:03 +01:00
Christoph Oelckers 5a891f3b0a - fixed color of status screen text. 2019-03-09 17:50:23 +01:00
alexey.lysiuk 02ed758447 Merge branch 'master' into vulkan2
# Conflicts:
#	src/posix/cocoa/i_video.mm
2019-03-09 16:45:49 +02:00
Christoph Oelckers 392ba7ed2e - properly construct the reply texts for Strife's merchants. 2019-03-09 13:34:47 +01:00
Christoph Oelckers 99c8ba1288 - use uAddColor instead of uObjectColor2 for the ending color of a special colormap range.
Unlike uObjectColor2, this is more global state. uObjectColor2 is part of gradient calculation which may later be offloaded to a secondary buffer which already resulted in only conditionally setting it, resulting in broken special colormap application for the software renderer.
2019-03-09 12:12:33 +01:00
Christoph Oelckers 54efbf3edd Merge remote-tracking branch 'remotes/origin/master' into vulkan2 2019-03-09 08:55:40 +01:00
Sterling Parker cabe0c583e Add LookScale property
As requested by @coelckers.
2019-03-07 21:22:33 +01:00
Sterling Parker ae1a1df02d Add LookScale variable on weapon
This variable allows a weapon to set a custom look sensitivity multiplier without fiddling with FOVScale / DesiredFOV hacks.
2019-03-07 21:22:33 +01:00
Magnus Norddahl b313f91ab0 - add layout location decl to all postprocess shaders 2019-03-05 18:55:31 +01:00
Magnus Norddahl 319099fee9 Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-05 03:07:30 +01:00
Alexander 77cb9ae866 added MakeScreenShot and MakeAutoSave functions to FLevelLocals 2019-03-04 19:16:51 +01:00
Major Cooke 6327734659 Added CanTouchItem virtual.
- Allows an actor with +PICKUP flag to determine if it can pick up specific items or not.
2019-03-04 13:15:27 +01:00
Magnus Norddahl 56afcd210b - fix: gl_PointSize is required in Vulkan when drawing points
- fix: add depthstencil attachment when stencil is active while depth is not
2019-03-03 23:30:36 +01:00
Christoph Oelckers 43ec2cf8f2 . added the missing Cyrillic letters to the console font. 2019-03-03 20:09:25 +01:00
Nemrtvi 864b99a5a0 Split “Linear” option value into three
This option value is used for 4 different options, and splitting it up into three will allow for languages based on grammatical gender systems to have different endings. Necessary for e.g. Russian in order to sound correctly.

The corresponding strings are already in the language spreadsheet.
2019-03-03 16:12:46 +01:00
Magnus Norddahl 7d56aa4b0b Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-03 13:45:22 +01:00
Christoph Oelckers 735e1d1a44 - allow localization of the fallback string "Person".
The corresponding text is in the translation spreadsheet which isn't part of the repo yet.
2019-03-03 09:16:21 +01:00
Christoph Oelckers f15e3c871d - 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-03-03 09:08:19 +01:00
Christoph Oelckers af3b100b81 - 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-03-03 08:58:49 +01:00
Christoph Oelckers be0f2f3b74 - 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-03-03 08:47:05 +01:00
Christoph Oelckers 83fce134f2 - split out the deathmatch and coop gameplay settings into their own submenus. 2019-03-03 08:41:20 +01:00
Christoph Oelckers cac032cb1c - 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-03-03 08:29:10 +01:00
Christoph Oelckers 1c828b98c2 - fixed incorrect flag keyword in IWADINFO. 2019-03-03 08:16:41 +01:00
Christoph Oelckers f3813c036f - filter out the BIGFONT lump in Chex Quest, now that we have a more complete font internally. 2019-03-03 07:50:10 +01:00
Christoph Oelckers 6ba8fee5c2 Merge branch 'master' into vulkan2 2019-03-03 00:04:19 +01:00
Christoph Oelckers 3903d957bd - moved the weapon bobbing options from the Display Options to the HUD Options menu. 2019-03-03 00:03:22 +01:00
Rachael Alexanderson 580c55f8a5 - moved language changer to miscellaneous menu
- removed spacing gaps in the customize controls menu
2019-03-02 13:59:42 -05:00
Christoph Oelckers 5682b1b5bb -corrected text placement on load+save menu. 2019-03-02 16:03:56 +01:00
Magnus Norddahl f8aa48d053 - fix blinking caused by uninitialized clipping planes 2019-03-02 14:16:11 +01:00
Christoph Oelckers 0febe20a08 - fixed: Unmorphing a monster did not clear its UNMORPHED flag. 2019-03-02 13:15:38 +01:00
Christoph Oelckers 805cf6c098 - moved the sprite box on the player menu up a bit because this was badly overlapping with some long texts in most languages. 2019-03-02 12:20:58 +01:00
Magnus Norddahl 05a6896d4f - Pass vertex color and normal via uniform buffer when the attribute isn't available 2019-03-02 01:56:08 +01:00
Magnus Norddahl d86a56086c Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-01 21:50:06 +01:00
Magnus Norddahl d4118a755c - load all the shaders and use the right one for each renderpass 2019-03-01 02:40:02 +01:00
Christoph Oelckers cad2f49ceb - use BigUpper font for option menu captions. 2019-02-28 22:19:53 +01:00
Major Cooke b48f7da43e Renamed to musplaying. 2019-02-28 18:47:28 +01:00
Major Cooke 210af0d414 Exported MusPlayingInfo to ZScript.
- Allows grabbing the currently playing song, base order, and loop properties.
2019-02-28 18:47:28 +01:00
Magnus Norddahl 2e0b34ca72 - hook up enough of renderstate to enable all of main.vp and main.fp 2019-02-28 00:26:49 +01:00
Rachael Alexanderson 612f198fcf - separate/group out the volume sliders, make them look slightly hierarchal in order to denote their importance 2019-02-27 14:56:12 -05:00
nashmuhandes 407983749a Added a master volume setting. 2019-02-27 14:17:45 -05:00
Rachael Alexanderson baf5ebd1ce - fixed: menu language selection would not save on exit (this was due to CVAR protections from the menu)
- moved language entry up a bit in the menu
- converted the language entry into a proper CVAR string list selection, instead of a separate menu with said list.
2019-02-27 14:07:49 -05:00
Magnus Norddahl fe67a2c24f - fix enough bugs to finally get some visuals 2019-02-26 20:19:54 +01:00
Rachael Alexanderson e719b9cf00 - merge the options menu properly - the language entry was separated in its own section 2019-02-26 13:39:42 -05:00
Christoph Oelckers e8f690116b - removed unused gl_spritebrightfog CVAR. 2019-02-26 00:07:30 +01:00
Christoph Oelckers 413412f603 Merge branch 'master' into vulkan2 2019-02-23 19:53:38 +01:00
Christoph Oelckers b542d1371d - reorganized the ZScript content in gzdoom.pk3 and changed the files' extensions to something unique for easier syntax highlighting. 2019-02-23 12:08:27 +01:00
Christoph Oelckers 2874a36fbe - added the final missing piece of localization support, i.e. forcing text based menus.
Now a localization mod can disable the graphics patches containing text entirely so that it can properly localize the text based menu variant.
If this flag gets set in MAPINFO, it will override all user settings.
2019-02-23 10:40:07 +01:00
Magnus Norddahl 52460d53d9 - compile main.vp and main.fp for vulkan 2019-02-22 11:30:48 +01:00
Nemrtvi 7060f9cc05 Add language menu to Options
In this menu, all languages supported by GZDoom are selectable with one simple click! Credits to @PROPHESSOR for making it!

(This only edits the English and French languages because they are the only languages currently up to date with GZDoom’s development. A Russian translation will follow suit at a later date.)
2019-02-21 17:54:13 +01:00
Christoph Oelckers 48fcdacf06 - more work on graphics substitutiion
* added a CVAR that sets how localizable graphics need to be dealt with.
* pass the substitution string to OkForLocalization so that proper checks can be performed.
* increased item spacing on Doom's list menus to 18 from 16 pixels, because otherwise the diacritic letters would not fit. 20 would have been more ideal but 18 was the limit without compromising its visual style
* added a second text-only main menu because here the spacing cannot be changed. Doing so would render any single-patch main menu non-functional. So here the rules are that if substitution takes place, it will swap out the entire menu class.
* fixed some issues with the summary screen's "entering" and "finished" graphics.
2019-02-21 00:35:27 +01:00
Christoph Oelckers a0c10df387 - made some adjustments so that the BigFont works as intended.
The auto-calculated height of 24 is too tall, this requires a manual setting here. Also fix the space calculations for the "finished" graphic.
2019-02-21 01:13:42 +01:00
Christoph Oelckers 22781e3cb9 - BigFont update. 2019-02-21 00:43:58 +01:00
Christoph Oelckers f580d85da6 - fixed typo in menu texts. 2019-02-21 00:24:09 +01:00
Christoph Oelckers 7ea2f135df - did not save the latest changes. 2019-02-21 00:23:49 +01:00
Christoph Oelckers 8bdbd2e915 - fixed layout of summary screen. 2019-02-21 00:16:48 +01:00
Christoph Oelckers 6a742f8d34 - 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-02-20 20:20:06 +01:00
Christoph Oelckers 74f5211046 - fixed accidental commit of incomplete test code. 2019-02-20 18:54:29 +01:00
Christoph Oelckers a6a091c83a - reworked summary screen to use consistent contents, either all patches or all text but not mixed 2019-02-20 00:44:17 +01:00
Christoph Oelckers 9f59a84a37 - allow text substitution for StaticPatch items in ListMenus 2019-02-20 00:43:31 +01:00
Christoph Oelckers 5e288ef2d4 - fixed: Doom used Chex Quest's default settings for menu fonts. 2019-02-20 00:01:20 +01:00
Christoph Oelckers c13e496107 - a bit of text cleanuo. Removed some unused strings and moved a few not-to-be-translated ones to language.def. 2019-02-19 23:18:46 +01:00
Christoph Oelckers 6b8303ed05 - 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.
2019-02-19 21:47:54 +01:00
Christoph Oelckers 5e7fb16d05 - preparation work for substituting the menu and intermission screen text graphics for localization 2019-02-19 01:22:12 +01:00
Christoph Oelckers 91206f12be - changed zstrformat to allow %c to emit non-ASCII characters as UTF-8. 2019-02-19 00:27:47 +01:00
Christoph Oelckers b29975503d - 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.
2019-02-19 00:08:23 +01:00
Rachael Alexanderson c7103cbe4d - autoload nerve.wad with Doom 2 2019-02-16 17:23:43 +01:00
Alexander cce270ba72 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-02-16 17:21:55 +01:00
Christoph Oelckers aa550310f6 - 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.
2019-02-15 00:29:24 +01:00
Christoph Oelckers 3dce45545f - added U-100-U-17f to the console font.
This was mostly just accent edits of existing characters, so this also contains the less important characters.
2019-02-17 21:01:29 +01:00
Christoph Oelckers 45d75745f0 - reworked console font loading to use the glyph sheets directly and allowing to load more than one per font. 2019-02-17 19:15:57 +01:00
Christoph Oelckers d39a624942 - 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-02-16 22:57:02 +01:00
Christoph Oelckers deb233677e - 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-02-16 21:29:46 +01:00
Christoph Oelckers d15e3391a0 Merge remote-tracking branch 'remotes/origin/master' into localization
# Conflicts:
#	src/v_font.cpp
2019-02-16 17:35:15 +01:00
Rachael Alexanderson 9f62289507 Merge branch 'master' of https://github.com/coelckers/gzdoom into localization 2019-02-16 10:50:49 -05:00
Ne Mrtvi 0356c2fc67 New BIGFONT, uppercase and lowercase
Now that GZDoom supports uppercase and lowercase characters in the BIGFONT format, this commit actually adds those characters. It contains full support for both the English and Russian (minus the letter Ё) alphabets for both Doom and Strife. As for the existing punctuation graphic lumps in Strife, all extra space is removed, and the sprite offsets are adjusted instead.

This also adjusts the English language file so that all menu header texts utilize these new characters. As a tiny extra, it also adds the letter Ё to the Strife smallfont.

(Credits to Skulltag for the uppercase B, Amuscaria for the uppercase X and Z, and @jnechaevsky for all Russian characters, taken from Russian Doom!)
2019-02-15 19:00:19 +01:00
Christoph Oelckers 6e9b62a43e Merge branch 'master' into localization 2019-02-14 22:24:12 +01:00
Christoph Oelckers 868ac5adf8 - switched the Windows backend to use the Windows Unicode API.
With localization for non-Latin languages on the support list the multibyte API doesn't cut it anymore. It neither can handle system text output outside the local code page nor can an ANSI window receive text input outside its own code page.
Similar problems exist for file names. With the multibyte API it is impossible to handle any file containing characters outside the active local code page.

So as of now, everything that may pass along some Unicode text will use the Unicode API with some text conversion functions. The only places where calls to the multibyte API were left are those where known string literals are passed or where the information is not used for anything but comparing it to other return values from the same API.
2019-02-14 22:23:33 +01:00
alexey.lysiuk be6ce43045 - 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
2019-02-13 21:47:53 +01:00
Christoph Oelckers 914818cb88 - fixed run health clamping.
This didn't scale the move factors properly.
2019-02-13 20:12:13 +01:00
Christoph Oelckers 6ff6a6af00 - 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-02-13 14:59:55 +01:00
Christoph Oelckers e526cebc8e Merge remote-tracking branch 'origin/master' into localization 2019-02-12 00:20:00 +01:00
Christoph Oelckers 0b8fb3ac1a - 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-02-12 00:19:44 +01:00
alexey.lysiuk eaf0ac1f7b - added compatibility entries for maps affected by buggy CheckSwitchRange behavior 2019-02-11 17:57:03 +01:00
alexey.lysiuk d4d010ac32 - added compatibility flag for buggy CheckSwitchRange behavior
https://forum.zdoom.org/viewtopic.php?t=63008
https://forum.zdoom.org/viewtopic.php?t=63650
2019-02-11 17:57:03 +01:00
Christoph Oelckers 3a440a5fa7 - moved the displayed text in strfhelp.o to the string table. 2019-02-11 00:43:57 +01:00
Christoph Oelckers 4bacde36c0 - moved Strife's map names to the string table. 2019-02-11 00:27:08 +01:00
Christoph Oelckers 88e227f1f3 Merge branch 'new_level_refactor' into localization 2019-02-09 12:22:15 +01:00
Christoph Oelckers 3c0c076226 - 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-02-09 09:25:29 +01:00
Christoph Oelckers 3d3f260137 - exported LevelLocals's compatibility flags to scripting and fixed all places where access to combined compatibility flags is needed. 2019-02-09 09:17:57 +01:00
Major Cooke acc510dfb3 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-02-08 20:07:49 +01:00
Christoph Oelckers c0bbb4fd0d - fixed lowercase handling of non-basic-latin characters and added Undead's Russian translation.
The added table may be overkill but this way the font engine is prepared for things to come.
Currently the text placement in the menu seems a bit broken, that's a task for later.
2019-02-07 13:49:54 +01:00
Christoph Oelckers 5af5717cf1 - 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-02-07 09:42:51 +01:00
Christoph Oelckers 495298079b - 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.
2019-02-06 13:59:41 +01:00
Christoph Oelckers 0936a2fa19 - 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.
2019-02-05 13:39:38 +01:00
Christoph Oelckers 546d3d1bf5 - 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.
2019-02-05 11:51:19 +01:00
Christoph Oelckers a0042fd653 - removed bad character from A_CustomPunch definition. 2019-02-04 14:08:34 +01:00
Christoph Oelckers 53162a8a5c Merge branch 'master' into new_level_refactor
# Conflicts:
#	src/am_map.cpp
2019-02-03 09:20:13 +01:00
Christoph Oelckers 25071e26e5 - fixed: The CheckEnvironmant call in PlayerThink can already invalidate the PlayerPawn so even the calls to CheckUndoMorph and CheckUse need to get the pawn through the PlayerInfo. 2019-02-03 09:11:33 +01:00
Nemrtvi 4af80fa43b Fixed “Finished:” and “Now entering” in Heretic
The text file
gzdoom/wadsrc/static/zscript/statscreen/statscreen.txt
is set to use strings called “$ENTERING” and “$FINISHED”, located in the language files, in intermission screens between levels in Heretic. However, these strings are named incorrectly in the language files, instead being written as “$WI_ENTERING” and “$WI_FINISHED” for some reason I’m unaware of. After renaming the original script, the ingame text shows up through what is written in the language files, as intended.

On a miscellaneous note: in GZDoom, the text between levels in Heretic says “Entering:”. In the DOS version, it says “Now entering:”. This is accurately reflected in the English language file, though, and thus faithful to the original when displayed ingame.
2019-02-02 18:29:33 +01:00
Christoph Oelckers 1dbbb56a1b Merge branch 'master' into new_level_refactor
# Conflicts:
#	src/p_user.cpp
2019-02-02 16:58:30 +01:00
Christoph Oelckers 235c4c0499 - allow localization of Strife's log text. 2019-02-02 16:56:58 +01:00
Nemrtvi fa53ae21e6 Localized “FIND HELP” in Strife
The very first quest log that appears in Strife, “FIND HELP”, is located in a source file. This moves it to the language files.
2019-02-02 10:57:14 +01:00
Christoph Oelckers 45dc9a7b47 - renamed the level variables.
currentUILevel is now primaryLevel.
For ZScript, currentVMLevel was added. This is also exported as 'level' and will change as needed.
This also means that no breaking deprecations will be needed in the future, because in order to sandbox a level only 4 variables need to be handled: level, players, playeringame and consoleplayer.
The remaining global variables are not relevant for the level state.

The static 'level' has been mostly removed from the code except some places that still need work.
2019-02-02 00:25:51 +01:00
Major Cooke 695eced81a Added Inventory UNCLEARABLE flag.
- Allows prevention of ClearInventory without stopping it from being dropped.
2019-02-01 18:29:31 +01:00
Christoph Oelckers ff903da19a Merge remote-tracking branch 'remotes/origin/master' into new_level_refactor 2019-01-31 20:43:24 +01:00
Major Cooke b1c508fa6c Added CheckReplacee.
- Allows defining of what actor is replacing another for information.
- If multiple arachnotrons, a modder can attribute them as being a replacer of Arachnotron itself, allowing A_BossDeath and GetReplacee to work with it.
2019-01-31 19:05:44 +01:00
Erick Tenorio b9e71d6db3 - DOOM.WAD fixes 2019-01-31 19:03:57 +01:00
Christoph Oelckers cfa35f548f - make the file name of savegame nodes read only. 2019-01-31 17:57:39 +01:00
Christoph Oelckers 68bff17d63 - this was missing 2019-01-31 03:29:45 +01:00
Christoph Oelckers ddab2c3e78 - removed the playernum parameter from CheckLocalView
This was always used with 'consoleplayer' which really is the only thing making sense here. But this is a part of the global state which should be avoided in play code.

In particular, this makes no real sense in case of secondary maps where it should always return false.
2019-01-31 03:29:25 +01:00
Christoph Oelckers 0eb3b2abca Merge branch 'master' into new_level_refactor 2019-01-30 22:03:21 +01:00
Christoph Oelckers a2065cae4b - fixed: RecreateAllAttachedLights must activate the lights it creates.
This also removes the gl_attachedlights CVAR because with the new management this doesn't really work anymore.
2019-01-30 20:21:00 +01:00
Christoph Oelckers b12de04258 - fixed the remaining deprecation warnings in the base script.
All these required access to the sector's Level reference.
The remaining references to the global 'level' variable are all in deprecated functions which is ok.
2019-01-30 00:58:44 +01:00
Christoph Oelckers 6451b7d592 - moved the combined compatibility flags into FLevelLocals. 2019-01-29 19:28:22 +01:00
Christoph Oelckers 14101fa447 - health groups and software rendering textures freed of 'level'
Edited cherry-pick of an older commit.
2019-01-29 16:06:17 +01:00
Christoph Oelckers f9239f6e0f - added a compiler-side workaround for the formerly static methods of FLevelLocals.
LevelLocals on the left side of.a function call will now always be remapped to 'Level', which will either remap to the same-named instance variable or the global deprecated one.

In a few degenerate cases where there is a conflicting local variable named 'level' it may error out but that is unavoidable here but this is very unlikely.
2019-01-29 02:04:31 +01:00
Christoph Oelckers 60873bc5d6 Moved the PointInSector functions into FLevelLocals 2019-01-29 01:30:41 +01:00
Christoph Oelckers 259ae41774 - 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.
2019-01-28 20:15:48 +01:00
Christoph Oelckers 3721771934 - forgot to save this. 2019-01-28 18:44:42 +01:00
Christoph Oelckers 3c14a7db76 - use map time, not hub time for map actions. 2019-01-28 18:42:56 +01:00
Christoph Oelckers 66695ac6a0 - made most of the player spawn spot handliing functions members of FLevelLocals. 2019-01-28 02:44:05 +01:00
Christoph Oelckers b4acb857ad - the final batch of easy level replacements.
What's left will require a bit more work...
2019-01-27 21:59:19 +01:00
Christoph Oelckers 73ea59179c - fixed some deprecation warnings about 'level'. 2019-01-27 14:48:35 +01:00
Christoph Oelckers 84baa5bb4d - deprecated the global 'level' variable.
This will currently output 9 warnings for the UDMF property getters. To silence these a bit more work is needed.
2019-01-27 14:33:02 +01:00
Christoph Oelckers 05830455e7 - made the automap an object.
This simplifies handling a lot because it allows to make the level the owner of its map.
2019-01-26 15:21:20 +01:00
Christoph Oelckers 10feb446fa - made most of the EV_* functions part of FLevelLocals. 2019-01-26 08:28:45 +01:00
Christoph Oelckers 4e052f2857 - use a separate variable pointing to the current level for the UI code.
UI always runs on the primary level, so this does not need the ability to operate on multiple levels. Additionally, this can later be set to null when running play code so that scope violations result in an abort.
2019-01-25 18:31:40 +01:00
Christoph Oelckers bf3dc2f99b Merge branch 'rolling_back' into new_level_refactor 2019-01-25 00:57:01 +01:00
Christoph Oelckers b2ee99c7cc - call level compatibility handlers for all levels and pass the map name as a second parameter.
This is for user-made handlers for which the checksum is rather useless both for deciding whether to call the handler and for identifying the map.
2019-01-25 00:56:15 +01:00
Christoph Oelckers 3cef56249d - moved most functions of portals.cpp into FLevelLocals.
Much of this is used during level init and needs to be independent of the current level.
2019-01-25 00:30:55 +01:00
Christoph Oelckers 0e5986769e - moved the tid hash into FLevelLocals and adjusted the interface to the iterators. 2019-01-24 19:28:40 +01:00
Christoph Oelckers 1f2162fea8 - moved the scripted creation functions for tag iterators to LevelLocals
The old static methods are now deprecated, this was done to clarify the relationships at play here.
2019-01-24 02:17:10 +01:00
Christoph Oelckers 5c8ae72453 - fixed: ScriptUtil.PlayerAmmo must be declared static. 2019-01-23 21:50:11 +01:00
Rachael Alexanderson dc27011370 - remove vid_hwgamma, force always use shader gamma
*** note to drfrag: Please don't cherry-pick this commit. Systems that do not use renderbuffers will still need this feature!
2019-01-23 21:50:11 +01:00
Christoph Oelckers 477560e1ef - swapped order of checks for picking up an item.
Failure must take precedence over the morph check because this does not return a proper toucher.
2019-01-23 21:50:10 +01:00
Christoph Oelckers f6ce5f59ae - fixed armor bonus giving in A_CustomPunch 2019-01-23 21:49:18 +01:00
nashmuhandes d911fa99a1 Move the "time" string in saved game comment into the LANGUAGE lump.
# Conflicts:
#	src/g_game.cpp
2019-01-23 21:48:30 +01:00
alexey.lysiuk 12db808307 - fixed 'missing interpolation point' warning 2019-01-23 21:46:46 +01:00
Rachael Alexanderson b378b29421 - modify the wording in the preset scaling menu to imply that all it does is pixel scaling, not change the actual screen resolution 2019-01-23 21:45:26 +01:00
Rachael Alexanderson 8f7038aa53 - add 4k UHD resolution to presets 2019-01-23 21:44:27 +01:00
Rachael Alexanderson c280457635 - fix spacing on one of the resolution preset entries 2019-01-23 21:44:14 +01:00
alexey.lysiuk 7d4765b5cd - workaround code generation issue in PlayerPawn.FindMostRecentWeapon()
Multiple values in returned from a subfunction cannot be used directly as a function result

https://forum.zdoom.org/viewtopic.php?t=63284
2019-01-23 21:41:03 +01:00
alexey.lysiuk 8aa47e664e - fixed disappearing inventory after morphing pickup
When player is picked up item that does morph, the corresponding toucher actor is changed in process
Previously, morhing item was removed from original actor leaving player's inventory in inconsistent state

https://forum.zdoom.org/viewtopic.php?t=63124
2019-01-23 21:40:44 +01:00
Christoph Oelckers 5e4ef04a4d - allow assignment of line IDs through LevelCompatbility. 2019-01-23 21:40:19 +01:00
alexey.lysiuk c6ee8e084c - fixed condition to produce blood splatter during line attack
https://forum.zdoom.org/viewtopic.php?t=63186
2019-01-23 21:23:35 +01:00
Christoph Oelckers 2d90cc288b - fixed: Strife was missing the move factors. 2019-01-23 21:21:22 +01:00
Marrub af06d7cb9e Make LevelLocals::ExecuteSpecial return int
# Conflicts:
#	wadsrc/static/zscript/base.txt
2019-01-23 21:15:33 +01:00
Christoph Oelckers 4126f8ce72 - made OP_NEW a builtin function instead of an opcode.
The code was present 3 times due to the JIt, and this is not something that benefits from being a real opcode, even in the interpreted case.
2019-01-23 21:12:23 +01:00
Christoph Oelckers a1ae01e392 - fixed last PR.
The result of GetPointer must be null checked as well!
2019-01-23 20:43:23 +01:00
Cacodemon345 70a07e154c Move receiver NULL check above the orresult check (#695)
This is to prevent a VM abort from happening here if orresult is false.
2019-01-23 20:42:41 +01:00
Christoph Oelckers c651045ed3 - let RunHealth clamping respect the newly added global properties. 2019-01-05 15:37:14 +01:00
Christoph Oelckers dab68184f5 - moved the global spot state into FLevelLocals.
This way it doesn't even have to be a thinker.
2019-01-05 10:04:27 +01:00
Christoph Oelckers bfbf7ff9c9 - made forwardmove and sidemove defaults configurable through the gameinfo section. 2019-01-05 08:48:57 +01:00
Christoph Oelckers d898cadda5 - fixed: Trying to remove the first item in an actor's inventory would lose all owned items. 2019-01-04 18:56:14 +01:00
Magnus Norddahl f10ded756e - split shadowmap AABB tree into two parts. one for static and one for dynamic
- upload only the dynamic AABB subtree using glBufferSubData
- change internal raytracing stack limit from 16 to 32
- update shadowmap AABB tree after R_SetupFrame for proper frame interpolation
2019-01-04 15:51:59 +01:00
Christoph Oelckers f9ff097457 - fixed A_Chase default detection. 2019-01-03 23:43:15 +01:00
Christoph Oelckers 9521b6cd1f - removed all remaining native parts of APlayerPawn.
Unlike the other classes, the places where variables from this class were accessed were quite scattered so there isn't much scriptified code. Instead, most of these places are now using the script variable access methods.
This was the last remaining subclass of AActor, meaning that class Actor can now be opened for user-side extensions.
2019-01-03 22:05:49 +01:00
Christoph Oelckers c18e895272 - exported all native components of APlayerPawn.
Only the class definition itself remains and needs to be taken care of.
2019-01-03 18:01:58 +01:00
Christoph Oelckers 3314a1efe5 - scriptified the remaining PlayerPawn methods. 2019-01-03 14:35:17 +01:00
Christoph Oelckers 2258a71c36 - took several methods out of the native PlayerPawn implementation, either by scriptification or moving them to other places. 2019-01-03 13:59:46 +01:00
Christoph Oelckers 23146f1af2 - scriptified PlayerPawn.ResetAirSupply. 2019-01-03 13:04:48 +01:00
Christoph Oelckers badacbb968 - scriptified APlayerPawn's DamageFade handling. 2019-01-03 12:47:34 +01:00
Christoph Oelckers 2bd72478ee - scriptified P_CalcHeight.
This was the only code using the ViewBob member variable.
This also moves the range check for this variable to its application, because a badly behaved mod can just as easily change it at run time instead of just setting an absurdly large value in the class definition.
2019-01-03 11:57:20 +01:00
Christoph Oelckers 9e5c5b68c5 - did some more lightening on the PlayerPawn class. 4 more properties and one native member function have been handled. 2019-01-03 10:06:45 +01:00
Christoph Oelckers c753d59a72 - scriptified A_SkullPop and ObtainInventory.
These were the last relevant items to access PlayerPawn.InvFirst.
2019-01-03 00:35:56 +01:00
Christoph Oelckers 6eb8ded471 - made ColorRangeStart and ColorRangeEnd meta properties of APlayerPawn.
These are only used during initialization and they should have been readonly from the start.
2019-01-02 22:13:57 +01:00
Christoph Oelckers bc47fdfa78 - scriptified useflechette CCMD's item finding code. 2019-01-02 11:58:26 +01:00
Marrub 3e3d21cd35 Fix A_CustomBulletAttack's spawnofs_xy parameter
The current behaviour offsets to the front of the actor rather than the side, due to an oversight in the code, which oddly is not present in the A_FireBullets equivalent.
2019-01-02 08:13:53 +01:00
Christoph Oelckers dc612703d5 - scriptified the declaration of AmbientSound
Most of the code is still native, but this means that PlayerPawn is the last remaining child of AActor.
2019-01-02 01:05:20 +01:00
Player701 68091db598 - Since GetParentAmmo is now virtual, BackpackItem and the "give ammo" cheat should call GetParentAmmo to determine base ammo classes. 2019-01-01 22:00:35 +01:00
Christoph Oelckers d654e02dea - rewrote dynamic lights to not use actors for the internal representation and made DynamicLight a purely scripted class.
This should be less of a drag on the playsim than having each light a separate actor. A quick check with ZDCMP2 showed that the light processing time was reduced to 1/3rd from 0.5 ms to 0.17 ms per tic.
It's also one native actor class less.
2019-01-01 19:35:55 +01:00
alexey.lysiuk 99479d84b1 - fixed everlasting fast projectile after hitting ceiling
Without the test for ceiling hit fast projectile could enter its Death state every tick infinitely

https://forum.zdoom.org/viewtopic.php?t=63023
2019-01-01 08:14:28 +01:00
Christoph Oelckers 0b2a919bbe - fixed crash in AutoUseStrifeHealth
The loop never checked if the item was still valid and would continue to try to use it, even after it was removed from the inventory and destroyed.
As native code this just failed silently, but with the VM it needs to be explicitly checked.
2018-12-31 19:03:02 +01:00
Major Cooke 8d9d71f55f - Fixed: SXF_CLEARCALLERSPECIAL cleared the spawned actor's special instead of the caller. 2018-12-30 19:01:31 +01:00
alexey.lysiuk 36896a1224 - fixed ammo check for weapon with 'uses both' flags
https://forum.zdoom.org/viewtopic.php?t=63047
2018-12-29 13:36:10 +02:00
alexey.lysiuk 8e684f9687 - fixed missing attack sound in A_CustomPunch
See 7bb3855439/src/p_actionfunctions.cpp (L1729)

https://forum.zdoom.org/viewtopic.php?t=63049
2018-12-29 12:34:38 +02:00
Christoph Oelckers dd3dba2ef1 - made PlayerPawn.TweakSpeeds virtual. 2018-12-29 08:43:36 +01:00
Christoph Oelckers 3559f7dffb Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-12-28 23:14:22 +01:00
Christoph Oelckers 5f303859e9 - made some changes to how the compatibility code works to allow removing the last remaining global variables of the map loading code.
Everything temporary is now part of the MapLoader class.
2018-12-28 23:14:11 +01:00
Erick Tenorio 0a6ec054d2 - TNT.WAD fixes 2018-12-27 20:52:08 +01:00
Erick Tenorio 9ee0271320 - Have Plutonia MAP16 pit kill player 2018-12-27 18:59:29 +01:00
Kevin Caccamo e04fc026ff 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
2018-12-26 16:58:27 +01:00
Kevin Caccamo 286886e161 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.
2018-12-26 16:58:27 +01:00
Kevin Caccamo 9622ca7517 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
2018-12-26 16:58:27 +01:00
Kevin Caccamo 0773e6a98e 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
2018-12-26 16:58:27 +01:00