Commit graph

14166 commits

Author SHA1 Message Date
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
300f4adea8 - fixed incorrect implementation of "episode = clear" in UMAPINFO. 2019-06-19 21:59:56 +02:00
alexey.lysiuk
a334d08a7b - fixed incomplete parsing of UMAPINFO when map already exists
https://forum.zdoom.org/viewtopic.php?t=65100
2019-06-19 21:59:53 +02:00
alexey.lysiuk
8ec249077d - fixed missing skill menu for episodes defined by UMAPINFO
https://forum.zdoom.org/viewtopic.php?t=65096
2019-06-19 21:59:51 +02:00
alexey.lysiuk
633900ef15 - fixed: all UMAPINFO definitions were applied to default map slot
https://forum.zdoom.org/viewtopic.php?t=65102
2019-06-19 21:59:48 +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
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
drfrag
336a9f9015 - More helpful unsupported version error message. 2019-06-16 14:44:28 +02:00
Chronos Ouroboros
65a3322166 Fixed "if (!(lhs ~== rhs))" breaking with vectors. 2019-06-14 13:34:06 +02:00
drfrag
a7bcd8ff52 - Take vanilla light mode into account for MAPINFO but they never worked. 2019-06-14 13:33:28 +02:00
Rachael Alexanderson
fb326b2780 - add nullptr checks for double-frame model interpolation 2019-06-13 15:54:17 +02:00
Christoph Oelckers
06c0dbe71e - on second thought, better call M_ClearMenus instead of calling Destroy directly. 2019-06-10 20:58:38 +02:00
Christoph Oelckers
96d857cd78 - fixed: DeinitMenus must explicitly destroy the active menu before taking down the descriptors.
Otherwise the menu will only be collected by the garbage collector and no longer find all relevant data.
2019-06-10 20:58:34 +02:00
drfrag
36020225eb - Added DEG2RAD function. 2019-06-10 20:54:47 +02:00
alexey.lysiuk
1e496d2d6f - fixed compilation of Cocoa backend
src/posix/cocoa/i_main.mm:225:12: error: Objective-C declarations may only appear in global scope
src/posix/cocoa/i_main.mm:247:17: error: Objective-C declarations may only appear in global scope
src/posix/cocoa/i_main.mm:545:2: error: expected '}'
2019-06-10 20:52:50 +02:00
Christoph Oelckers
b473fc936c - consolidated the 3 atterm implementations.
Each platform had its own copy. Why?

# Conflicts:
#	src/CMakeLists.txt
#	src/dobjtype.cpp
#	src/g_mapinfo.cpp
#	src/g_statusbar/sbarinfo.cpp
#	src/i_net.cpp
#	src/menu/menudef.cpp
#	src/p_setup.cpp
#	src/posix/cocoa/i_video.mm
#	src/posix/i_system.h
#	src/posix/sdl/i_main.cpp
#	src/r_utility.cpp
#	src/s_advsound.cpp
#	src/s_sound.cpp
#	src/v_video.cpp
#	src/win32/i_input.cpp
#	src/win32/i_system.h

# Conflicts:
#	src/CMakeLists.txt
#	src/doomtype.h
#	src/i_net.cpp
#	src/posix/sdl/i_system.cpp
#	src/win32/i_system.cpp
#	src/win32/win32video.cpp
2019-06-10 20:52:02 +02:00
alexey.lysiuk
d76c7306ca - removed explicit self null tests from dynarray native wrappers
They are useless since d3e6ed3c9b in which generation of implicit self null pointer check was added to JIT
2019-06-10 20:12:03 +02:00
drfrag
4e3f294453 - Extended fake Shape2D. 2019-06-10 20:07:47 +02:00
Gutawer
9df4683056 - cleaned up SDL mouse event handling
* Right/middle clicking no longer cancels out the mouse motion events
* The events for the side mouse buttons (EV_GUI_BackButtonDown/Up, EV_GUI_FwdButtonDown/Up) were never fired
* The EV_GUI_WheelRight/Left events were never fired
* The key bindings for mouse buttons above 3 (from 4-8) were broken - pressing MOUSE4 would bind to MOUSE6, for example
2019-06-08 13:11:00 +02:00
alexey.lysiuk
b3f18e5e47 - report implicitly initialized variable in code generator once
Vectors are no longer reported several times
Previously, warnings were issued per every register
2019-06-08 13:10:58 +02:00
alexey.lysiuk
279bac7fe9 - fixed access to wrong event data in SDL backend
Wrong button state event data were read on mouse motion

https://forum.zdoom.org/viewtopic.php?t=64950
2019-06-08 13:10:55 +02:00
alexey.lysiuk
f0b156c5e1 - added implicit initialization of reused register variables in ZScript 2019-06-07 20:23:31 +02:00
alexey.lysiuk
0103f9976e - added null check for self pointer before calling a native function
With JIT enabled, an implicit test for null self pointer is added to generated code
This has no effect without JIT as VM verifies a pointer before calling a native method

https://forum.zdoom.org/viewtopic.php?t=64961
2019-06-07 20:23:28 +02:00
alexey.lysiuk
977eac8672 - fixed hires texture lookup in Doomsday style .pk3
IWAD wasn't detected properly, and wrong texture can be picked as a hires replacement (e.g., SLADRIP1 from Ultimate Doom instead of TNT)

https://forum.zdoom.org/viewtopic.php?t=64915
2019-06-06 18:43:27 +02:00
Christoph Oelckers
4b598d4976 - fixed the write barriers for the HUD message linked list.
To ensure that no broken relations occur, any change in the list must be handled by a write barrier, not just the single message that gets added.

# Conflicts:
#	src/g_statusbar/shared_sbar.cpp
2019-06-06 18:43:26 +02:00
drfrag
b0d98425a6 - Fixed Strife dialogues. 2019-06-06 18:43:24 +02:00
Chronos Ouroboros
e4f0c366c4 Really fixed arrays of dynarrays this time. 2019-06-05 12:47:01 +02:00
William Breathitt Gray
666bf57d5f Cephes code is released under BSD license
The Cephes Mathematical Library author Steve Moshier has released the
Cephes Mathematical Library under the BSD license. This patch patch
replaces the cephes license with the BSD license for all Cephes
Mathematical Library code.

See also: https://bugs.gentoo.org/687276
See also: https://lists.debian.org/debian-legal/2004/12/msg00295.html
See also: https://github.com/deepmind/torch-cephes/blob/master/LICENSE.txt
See also: https://github.com/nearform/node-cephes/blob/master/LICENSE

# Conflicts:
#	src/math/readme.txt
2019-06-05 12:46:59 +02:00
Rachael Alexanderson
c6c8f514fb - added a third state for cl_blockcheats. ==2 now blocks them silently. 2019-06-05 12:46:57 +02:00
Alexander
3e3097fe71 added native double round(double) function 2019-06-05 12:46:56 +02:00
alexey.lysiuk
ff92b4b5d7 - reset internal console state on clear CCMD
'last line needs update' flag cannot be set when console is empty as there are no lines at all in this case

https://forum.zdoom.org/viewtopic.php?t=64909

# Conflicts:
#	src/c_consolebuffer.cpp
2019-06-03 12:47:29 +02:00
drfrag
6dd1d5eb38 - Fixed uninitialized variable in case GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS does not exist.
Old graphics, like mine (Intel Sandybridge Mobile, GL 3.0 Mesa) do not support this, therefore most of the time RFL_SHADER_STORAGE_BUFFER wasn't unset (I found no consequence of this on my machine, but better safe than sorry).

Found out by Valgrind. (patch by edward-san)
2019-06-02 22:01:18 +02:00
Edoardo Prezioso
768dc56ac0 - Fixed a buffer overflow with Timidity++ when playing Sigil e5m5 music.
See https://forum.zdoom.org/viewtopic.php?f=2&t=64910 .
2019-06-02 22:01:01 +02:00
Kevin Caccamo
9e9bc7fb7f Fix OBJ face normal direction
https://forum.zdoom.org/viewtopic.php?f=2&t=64740
2019-06-02 22:00:59 +02:00
drfrag
5153d19af0 - Fixed compilation with gcc and clang. 2019-05-30 12:23:38 +02:00
alexey.lysiuk
a45c2ed9b6 - adjusted condition for ZScript global variable deprecation warning
The message is always printed for any use of deprecated global variable
If such variable is accessed inside a deprecated function from a core script lump, the message is printed only when verbosity level is set to highest

https://forum.zdoom.org/viewtopic.php?t=64830

# Conflicts:
#	src/scripting/backend/codegen.cpp
2019-05-30 11:37:30 +02:00
drfrag
dd4807a6ee - Added new great icons by Tormentor667. 2019-05-30 00:05:02 +02:00
alexey.lysiuk
6f2102ae1d - fixed: version wasn't set for ZScript global variables
https://forum.zdoom.org/viewtopic.php?t=64830
2019-05-29 22:14:48 +02:00
alexey.lysiuk
6fbb1596e7 - fixed code generation for ternary operator with vector result types
https://forum.zdoom.org/viewtopic.php?t=64831
2019-05-29 22:14:46 +02:00
alexey.lysiuk
f44a9c8453 - fixed crash on message output during decorate parsing
Script position is now initialized at the very beginning of decorate parsing process
Script position no longer contains uninitialized file name

https://forum.zdoom.org/viewtopic.php?t=64836
2019-05-29 22:14:43 +02:00
alexey.lysiuk
b8e483166b - fixed conversation links with pages referenced by name
https://forum.zdoom.org/viewtopic.php?t=64177

# Conflicts:
#	src/p_usdf.cpp
2019-05-27 11:58:19 +02:00
alexey.lysiuk
1b0d8391c4 - fixed 'Pause by <playername>' message in multiplayer
https://forum.zdoom.org/viewtopic.php?t=64765

# Conflicts:
#	src/d_main.cpp
2019-05-27 11:58:06 +02:00
alexey.lysiuk
dc18200339 - fixed wrong native call for Actor.Vec2Offset()
https://forum.zdoom.org/viewtopic.php?t=64810
2019-05-27 11:58:03 +02:00
drfrag
1c593d0f67 - fixed character position assignment for multi-lump fonts
https://forum.zdoom.org/viewtopic.php?t=64741#p1104427
(patch by _mental_)
2019-05-27 11:57:44 +02:00
David Carlier
5add93d60a Fixing crash when loaded module, using proper function liberate them. 2019-05-27 11:57:32 +02:00
Christoph Oelckers
d8c13bed5e - Fixed loading of folder based fonts and added a config lump per font.
This is done by putting a font.inf file into the folder.
Current options are "Kerning", "Scale", "FontHeight" and "SpaceWidth"

# Conflicts:
#	src/textures/textures.h
#	src/v_font.cpp

# Conflicts:
#	src/v_font.cpp
2019-05-26 21:38:08 +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
Christoph Oelckers
1edf0a001b - changed font loader to detect fonts in folders and to find all default fonts in folders.
# Conflicts:
#	src/v_font.cpp
2019-05-26 21:17:44 +02:00
Christoph Oelckers
32c24038b0 - reworked font loader to make adding multi-lump fonts easier.
A multi-lump font can be created by putting all characters into a subdirectory of fonts/ with the intended name. Each character needs to be named by its character index as hex number.
So far this is only active for the predefined small fonts

# Conflicts:
#	src/v_font.cpp
2019-05-26 21:17:16 +02:00
drfrag
b62973d190 - Fixed compilation with old gcc and clang. 2019-05-23 00:05:16 +02:00
Rachael Alexanderson
d54c1a7af1 - add some debugging information for GZSDF pagenames feature
# Conflicts:
#	src/p_usdf.cpp
2019-05-22 19:57:26 +02:00
alexey.lysiuk
d1298e2a71 - do not pass TObjPtr<> instances as ScriptUtil::Exec() arguments
There was no read barrier inserted for AActor object while it's a subject of garbage collection
Pointer stored in TObjPtr<> was reinterpreted as void* because of vararg function

https://forum.zdoom.org/viewtopic.php?t=64771

# Conflicts:
#	src/dobjgc.h
#	src/p_acs.cpp
2019-05-22 19:57:24 +02:00
Christoph Oelckers
75f5318b00 - fixed text color setup for added console message. 2019-05-22 19:57:22 +02:00
drfrag
14981adb6a - Greek Sigma character fallback
The lowercase Sigma letter in Greek has two different forms (σ and ς), which changes depending on its placement in a word, but in uppercase and smallcaps contexts, it only has one look regardless of word positioning. If the character ς is missing, it should fall back to σ.
(patch by Graf & Nemrtvi)
2019-05-22 19:57:19 +02:00
Alexander
9191a33d82 made "netevent cannot be used outside of a map" message a warning 2019-05-18 14:09:01 +02:00
Alexander
fa42357891 added a crosshair on/off toggle
# Conflicts:
#	wadsrc/static/menudef.txt
2019-05-18 14:08:59 +02:00
drfrag
fcdc296ec7 - Missing casting, even when that function is deprecated. 2019-05-15 19:13:01 +02:00
drfrag
1186bccca0 - Fixed crash with dummy texture inside FTexture::FillBuffer in software mode.
Caused by The following GameInfo line in Doom Tournament:
 Border = 0,0,"","","","","","","",""
2019-05-15 18:41:11 +02:00
alexey.lysiuk
b0398273e2 - fixed compilation with GCC and Clang
src/g_mapinfo.cpp:840:58: error: cannot pass objects of non-trivially-copyable type ‘class FString’ through ‘...’
2019-05-14 20:13:16 +02:00
drfrag
369233c2cf - fixed 'I' to 'i' upper-to-lower mapping
https://forum.zdoom.org/viewtopic.php?t=64526
(patch by _mental_)
2019-05-14 20:13:13 +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
Christoph Oelckers
2887bc6afc - do proper checks for chat string length.
The counter variable was not only used incorrectly, it was completely redundant.
This still has a byte limit due to how the network code works so for non-Latin languages may result in shorter strings.
2019-05-14 19:47:12 +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
drfrag
f2a43353c4 - Exported some types to fontinternals.h. 2019-05-14 19:37:44 +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
drfrag
77f2497ecf - added a few more character fallbacks and fixed the StringWidth function
This checked character size without substituting missing characters, resulting in bad return values.
(patch by Graf)
2019-05-14 19:34:12 +02:00
Christoph Oelckers
344c6a380b - fixed: The WideString conversion function was missing a null check. 2019-05-14 19:10:27 +02:00
Christoph Oelckers
52b8c02fdf - use the Unicode version of GetCommandLine for the crash log. 2019-05-14 19:09:24 +02:00
alexey.lysiuk
d85fb785eb - fixed missing command line in crash reports
https://forum.zdoom.org/viewtopic.php?t=64149
2019-05-14 19:09:22 +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
f026198a8d - set a Unicode capable font for the Windows console.
The default raster font only contains the OEM 437 code page which is quite useless.
2019-05-14 18:42:33 +02:00
drfrag
a31c9273dd - do not use iswspace to check raw UTF-8.
At least under MSVC this function reports 0x85 as whitespace, but it is a continuation byte for UTF-8 sequences and may not be treated as whitespace.
(patch by Graf)
2019-05-14 18:41:40 +02:00
drfrag
8a9ffb3031 - added a fallback mapping for the typographic upper quotation mark to the generic form.
- added lowercase->uppercase mapping for ß.
(patch by Graf)
2019-05-14 18:39:00 +02:00
Christoph Oelckers
d47d1f248b - fixed: The command line parser of the console was incapable of handling non-ASCII characters. 2019-05-14 18:31:02 +02:00
Christoph Oelckers
182846c9a0 - fixed character counting in TypeOn HUD message.
# Conflicts:
#	src/g_shared/hudmessages.cpp
2019-05-14 18:29:11 +02:00
Christoph Oelckers
c7101b6b32 - reformat the intermission screen if the text is very long.
This will ensure better visibility on widescreen displays, at least.

# Conflicts:
#	src/intermission/intermission.cpp
2019-05-14 18:04:22 +02:00
Christoph Oelckers
5bd6b6758c - fixed utf8_decode.
This function was written for already validated UTF-8 but not for text that can be mixed with ISO-8859-1.
To handle that properly it needs to do a bit more validation to avoid mangling its output and instead reject invalid input.
2019-05-14 18:01:46 +02:00
Christoph Oelckers
2ea80429a7 - fixed the status bar string drawers which weren't UTF-8 capable yet.
# Conflicts:
#	src/g_statusbar/sbarinfo.cpp
#	src/g_statusbar/shared_sbar.cpp
2019-05-14 18:00:54 +02:00
Christoph Oelckers
d2959760dc - fixed chat input.
# Conflicts:
#	src/ct_chat.cpp
2019-05-14 17:49:05 +02:00
Christoph Oelckers
4561eaf093 - Fixed the character substitution logic.
For pure uppercase fonts it makes no sense to try a lowercase substitution as a first step.

# Conflicts:
#	src/gamedata/fonts/font.cpp
#	src/v_font.h
2019-05-14 17:46:42 +02:00
Christoph Oelckers
3127a28e35 - fixed reading of exit text replacements and display of intermission text screens for Unicode. 2019-05-14 17:40:12 +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
drfrag
4c7eb79d72 - Fixed MinGW compilation. 2019-05-14 17:30:58 +02:00
Christoph Oelckers
d51728c7c3 - did a bit of fine tuning to the character replacement mappings:
* prefer accent-less lower case over uppercase letters if an accented lower case letter cannot be found.
* added accent-less mappings for Latin Extended 1 (0x100-0x17f) and some easy to handle characters between 0x200 and 0x220. This should allow to display all Eastern European text without empty gaps for missing letters.

# Conflicts:
#	src/v_font.cpp
2019-05-14 17:28:16 +02:00
Christoph Oelckers
b14a48d2dc - fixed Windows startup.
* the window class name was still ASCII, thanks to some totally pointless and ultimately dangerous type cast to LPCTSTR which rendered all type checks ineffective.
* use wWinMain instead of WinMain so that a Unicode argv gets created. For whatever reason, the ANSI startup leaves this variable empty.
* added a 'disablecrashlog' CCMD for Windows. It is a lot more useful with a debugger present to get the standard crash notification from the system which allows opening a debugger than the crash log and no option to open a debugger.
2019-05-14 17:20:30 +02:00
Christoph Oelckers
163d3395b8 - fixed crash log display.
This still contained pieces where a multibyte string was passed through SendMessage and WM_SETTEXT. All these have been replaced with SetWindowTextW.
This commit also removes the never used crash log upload code and all associated assets because it is extremely unlikely that such a feature will ever be implemented.
2019-05-14 17:20:17 +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
Christoph Oelckers
d067c55cff - made the chat input Unicode-capable.
Also changed this to use the console font because it is far better equipped with special characters than the small font.

# Conflicts:
#	src/ct_chat.cpp

# Conflicts:
#	src/ct_chat.cpp
2019-05-14 17:17:41 +02:00
Rachael Alexanderson
9b8ec98f78 - fix building in 32 bit windows 2019-05-14 17:16:15 +02:00
Christoph Oelckers
c7877388a9 - made the console Unicode-capable.
This also necessitated some character remapping in the console font to move the Windows-1252 extra characters to their proper Unicode code points.

# Conflicts:
#	src/CMakeLists.txt
#	src/posix/sdl/i_input.cpp
#	src/scripting/backend/codegen.cpp
#	src/v_font.cpp

# Conflicts:
#	src/c_console.cpp
2019-05-14 17:12:18 +02:00
Christoph Oelckers
9030289e1e - use the Unicode version of Windows's clipboard functions. 2019-05-14 17:10:00 +02:00
Christoph Oelckers
4c9e6853b1 - made Windows backend parts of the console Unicode capable.
# Conflicts:
#	src/c_console.cpp
#	src/v_font.cpp
#	src/win32/i_system.cpp
2019-05-14 17:05:40 +02:00
drfrag
77498e2740 Revert "- Applied some Blzut3 patches to compile with MinGW."
This reverts commit ad5959b827.

Compilation with vanilla MinGW is broken since the changes to the HQ resize modes anyway.
2019-05-14 16:32:39 +02:00
Christoph Oelckers
8d157f3ced - 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.

# Conflicts:
#	src/rendering/hwrenderer/postprocessing/hw_postprocess.h
#	src/win32/base_sysfb.cpp
#	src/win32/i_main.cpp
#	src/win32/win32basevideo.cpp
#	src/win32/win32glvideo.cpp

# Conflicts:
#	src/version.h
#	src/win32/i_main.cpp
#	src/win32/i_system.cpp
#	src/win32/optwin32.h
#	src/win32/win32gliface.cpp
#	wadsrc/static/language.enu
2019-05-14 16:17:05 +02:00
Christoph Oelckers
e27efa5a2e - fixed DHudMessageTypeOnFadeOut's character counter to be UTF-8 compatible.
This was reading the string by byte and not by character and could end up printing incomplete UTF-8 data.
2019-05-14 13:31:23 +02:00
Christoph Oelckers
18253b5203 - added some character counting utilities to FString. 2019-05-14 13:31:07 +02:00
Christoph Oelckers
8626dd665c pass full Unicode characters to EV_GUI_Char for Linux and macOS.
The Linux backend looked like it didn't handle anything non-ASCII at all, but this all needs to be tested.
Windows will be a bit more work because it requires using the Unicode API for creating the main window.
2019-05-14 13:30:52 +02:00
drfrag
b041e629ac - fixed lowercase handling of non-basic-latin characters.
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.
(patch by Graf)

# Conflicts:
#	src/v_font.cpp
2019-05-14 13:11:10 +02:00
drfrag
eb0b3f3d53 - Changed ToLong and ToULong prototypes. 2019-05-14 13:02:04 +02:00
alexey.lysiuk
5e2a4345ba - removed useless assertions
https://forum.zdoom.org/viewtopic.php?t=64616#p1103673

# Conflicts:
#	src/p_sight.cpp
2019-05-13 14:34:35 +02:00
XxMiltenXx
c8398d5cf3 Fixes for Door_AnimatedClose (#838)
* Fixes for Door_AnimatedClose

- Fixing that Door_AnimatedClose would be activated on an already closed door (playing the sound and the 1st frame of the animation)
- There was no check if the Door is already Animated when a tag was used with Door_AnimatedClose

* Removed doubled "door->StartClosing();".
2019-05-12 20:23:06 +02:00
alexey.lysiuk
2fb48f30ff - made setting actor TID more explicit
Now it's no longer possible to manipulate TID hash from arbitrary location
For example, this prevents linking of destroyed object into the hash
TID member is still public but writing to it is limited to a few very specific cases like serialization and player traveling between levels

https://forum.zdoom.org/viewtopic.php?t=64476

# Conflicts:
#	src/actor.h
#	src/maploader/maploader.cpp
2019-05-10 12:41:29 +02:00
drfrag
ab24128049 - Missed some things regarding software threads.
(with help from dpJudas)
2019-05-10 11:27:12 +02:00
alexey.lysiuk
8c81888471 - removed obsolete snd_flipstereo CVAR
https://forum.zdoom.org/viewtopic.php?t=64630
2019-05-09 16:27:40 +02:00
alexey.lysiuk
93b7f16e8d - added missing compat flag CVAR for Strife railing
https://forum.zdoom.org/viewtopic.php?t=64627
2019-05-09 16:27:37 +02:00
drfrag
88e8034db1 - Fall back to two threads for software and add a warning if the number of cores cannot be determined. 2019-05-09 15:06:22 +02:00
alexey.lysiuk
6efd03bbcd - fixed compilation of Cocoa backend
src/posix/cocoa/i_input.mm:487:30: error: no member named 'GetTrueHeight' in 'DFrameBuffer'
2019-05-09 11:01:51 +03:00
drfrag
7763698166 Revert "- Add stack protection for MinGW."
This reverts commit 9d3326d847.

Forgot to revert this, made it crash on 64 bit windows.
2019-05-06 14:25:10 +02:00
alexey.lysiuk
60748c16e4 - improved handling of HUDMSG_TYPEON
This includes the following changes
* Validation of serialized values
* Proper fix for message cut off after an empty line, part of https://forum.zdoom.org/viewtopic.php?t=63935, which appeared to be broken again with dbf06fc
* No crash with an empty HUD message, https://forum.zdoom.org/viewtopic.php?t=63761 and https://forum.zdoom.org/viewtopic.php?t=64569

# Conflicts:
#	src/g_shared/hudmessages.cpp
2019-05-05 23:42:51 +02:00
drfrag
819b9f972d - Added "-zsvoverride" command line switch to override mod ZScript version requirement. 2019-05-03 19:09:17 +02:00
drfrag
f7268fadd8 - This didn't work with only one light. 2019-05-03 15:26:08 +02:00
alexey.lysiuk
2e0185373f - fixed missing null checks in JIT generated code
https://forum.zdoom.org/viewtopic.php?t=64307
2019-05-02 19:59:13 +02:00
alexey.lysiuk
2b65cbf687 - fixed crash on JIT allocations over 1 MB
https://forum.zdoom.org/viewtopic.php?t=64383
2019-05-02 19:59:10 +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
9ef338282d - fixed allocation mismatch in WildMidi. 2019-05-02 19:52:06 +02:00
Christoph Oelckers
a36aa185db - reinstated the old clean scaling factor calculation just for the status bar.
Some mods took the lack of validation in this code for granted.
2019-05-02 19:29:38 +02:00
drfrag
d697d4dc2a - Bumped ZScript version. 2019-05-02 19:27:12 +02:00
drfrag
47c9fce26a - More castings. 2019-05-02 19:26:47 +02:00
Christoph Oelckers
18bf8d65ba - fixed radius use in dynamic light traversal for models.
# Conflicts:
#	src/hwrenderer/scene/hw_spritelight.cpp

# Conflicts:
#	src/gl/scene/gl_spritelight.cpp
2019-05-02 18:00:43 +02:00
drfrag
411169bc46 - fixed: GetDisplayDeviceName must always pick a valid monitor.
There is no default here, so if vid_adapter is invalid for whatever reason the engine would crash without a defined setting.
(patch by Graf)
2019-05-02 17:28:25 +02:00
Magnus Norddahl
5d469a532b - add r_ticstability for a smoother experience playing mods with high think times 2019-05-02 17:27:53 +02:00
alexey.lysiuk
aa7a7474ba - added message about missing texture for material definition
https://forum.zdoom.org/viewtopic.php?t=64234
2019-05-02 16:58:15 +02:00
alexey.lysiuk
42b3518266 - fixed crash in GLDEFS parser caused by missing texture
https://forum.zdoom.org/viewtopic.php?t=64234
2019-05-02 16:54:21 +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
Christoph Oelckers
5eebffd7b5 - fixed: ACS's APROP_ViewHeight needs to check if a real player is attached to a PlayerPawn. 2019-05-01 00:59:20 +02:00
Christoph Oelckers
943991ff89 - the resuming of the conversation interrupted by a slideshow must be performed by the game action handler
If this is done within the intermission code, both intermission and menu will write to the same global variables and destroy their data, this became very apparent when it altered the screen scale for the conversation.

# Conflicts:
#	src/g_game.cpp
2019-05-01 00:58:45 +02:00
pkubaj
25fc00f64c Remove bad BigLong variants 2019-05-01 00:43:11 +02:00
pkubaj
ff670651ec Fix build on big-endian platforms
GCC 8 complains that it can't find relevant functions:
/wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_png.cpp:669:42: error: call of overloaded 'BigLong(uint32_t)' is ambiguous
     chunklen = BigLong((unsigned int)x[1]);
                                          ^
In file included from /wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_png.cpp:44:
/wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_swap.h:212:15: note: candidate: 'long unsigned int BigLong(long unsigned int)' <deleted>
 unsigned long BigLong(unsigned long) = delete;
               ^~~~~~~
/wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_swap.h:213:6: note: candidate: 'long int BigLong(long int)' <deleted>
 long BigLong(long) = delete;

This is on FreeBSD/powerpc64.
2019-05-01 00:43:09 +02:00
alexey.lysiuk
fac9cb1bbd - fixed crash with push/insert to null dynarray when JIT is on
https://forum.zdoom.org/viewtopic.php?t=64148
2019-05-01 00:43:07 +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
drfrag
52ee76c66e - removed obsolete hack for Hexen main menu dimming
https://forum.zdoom.org/viewtopic.php?t=64122
(patch by _mental_)
2019-05-01 00:39:48 +02:00
Christoph Oelckers
9ca41daf15 - removed the NetUpdate calls from the software renderer.
These can cause highly dangerous recursions and execute play code deep inside the renderer and since the hardware renderer does not have these, there is very little point for the software renderer to retain them.

# Conflicts:
#	src/polyrenderer/poly_renderer.cpp
#	src/rendering/swrenderer/line/r_walldraw.cpp

# Conflicts:
#	src/swrenderer/line/r_renderdrawsegment.cpp
2019-05-01 00:07:08 +02:00
Christoph Oelckers
a2e81167b9 - reverted D_GenderToInt to check full words instead of merely initial letters. 2019-04-29 20:06:53 +02:00
alexey.lysiuk
92343ec2ba - made gender string to integer conversion case insensitive
https://forum.zdoom.org/viewtopic.php?t=64109
2019-04-29 20:06:44 +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
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
usernameak
c6778628a3 Fixed postprocess shaders with 2 or more textures 2019-04-29 19:36:29 +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
drfrag
18a17c4e1f - changed Strife dialogue setup so that STRIFE00 is being processed and the random texts explicitly excluded.
This fixes the stray "Peasant" in this file.
(patch by Graf)
2019-04-29 19:27:35 +02:00
Christoph Oelckers
3f96ec7955 - fixed bad default for scaleoverride. 2019-04-29 19:04:09 +02:00
Christoph Oelckers
6c14fe7202 - fixed lifetime of ScaleOverrider for Strife dialogues. 2019-04-29 19:03:34 +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
Christoph Oelckers
34ac0f0985 - localize 'By' 2019-04-29 18:53:37 +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
508b65bdd8 - fixed: A pusher thinker must destroy itself if the point pusher/puller thing is gone. 2019-04-29 18:52:57 +02:00
Christoph Oelckers
0e4f868281 - fixed: The software renderer was destroying global state when initializing a camera texture.
As a result the HUD wasn't drawn.
2019-04-29 18:52:40 +02:00
Christoph Oelckers
7d49fec477 - fixed: SpawnShootDecal tried to get the current level from a value that could point to actor defaults which do not have a level. 2019-04-29 18:52:11 +02:00
Christoph Oelckers
cdcc8996a7 - make the clean scaling system more consistent.
Now, all menus will use the same scale, i.e. it only depends on the screen width and a base size of 640. This nearly universally yields better results than trying to make a 320x200 screen fit.
The only exceptions to this are the intermission screens and the level summary. These, unlike the menu need to try to make a 320x200 screen fit, but without all the hackery that was present to adjust the menu display.
Note that since this affects globally visible script variables, both the intermission and summary drawers will not use their own set but instead temporarily override the global setting as long as they run their own code.
Changing the use of variables here might cause much worse problems with menu code so it wasn't attempted

# Conflicts:
#	src/v_video.cpp
2019-04-29 18:51:44 +02:00
Christoph Oelckers
5bac765849 - replaced the "or" in the keybind menu with a darker comma so that this part is language neutral. 2019-04-29 18:13:47 +02:00
Christoph Oelckers
3158826ec0 - removed the automatic system language detection for Windows.
Default language is now always American English, just like on Linux and macOS.

# Conflicts:
#	src/g_cvars.cpp
#	src/gamedata/stringtable.cpp
#	src/textures/texturemanager.cpp

# Conflicts:
#	src/win32/i_system.cpp
2019-04-29 17:42:54 +02:00
Christoph Oelckers
e70810cfdc - disabled the error message spam from the demo loop
These messages are useful for the playdemo CCMD, but since the demo loop is mostly non-functional anyway they better be disabled there.
2019-04-29 00:06:54 +02:00
alexey.lysiuk
37a82e08dc - fixed crash on startup inside userinfo_t::GetGender()
This function is required for localization handling but when it's called userinfo_t may not be fully initialized yet

https://forum.zdoom.org/viewtopic.php?t=63959
2019-04-29 00:06:02 +02:00
Christoph Oelckers
af3ba712b2 - fixed: player_t::GetGender needs to check if the CVAR exists.
This function can get called before the player's userinfo is available
2019-04-29 00:06:00 +02:00
Chronos Ouroboros
6617edfe97 Fixed arrays of dynamic arrays causing a compilation error. 2019-04-29 00:05:58 +02:00
Chronos Ouroboros
3a8f602875 Fixed nested dynamic array indexing causing a compilation error. 2019-04-29 00:05:55 +02:00
Christoph Oelckers
1e587a7f1d - fixed: The FFont* serializer was unable to handle null pointers. 2019-04-28 23:55:58 +02:00
Christoph Oelckers
3583cb1fe5 - 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-04-28 23:54:06 +02:00
Christoph Oelckers
3dcbee6747 - fixed: IsPointInLevel must explicitly check for minisegs, which can be one-sided on maps with unclosed sectors.
Obviously, in such a case it is impossible to decide whether a point is really inside the map, so if this happens, behavior is undefined.
2019-04-28 23:14:38 +02:00
Sterling Parker
47b5378a62 Fix faulty multiplication logic for LookScale
Turns out the entire thing was getting shortcutted because FOVScale is 0 unless set explicitly or via A_ZoomFactor.
2019-04-28 23:01:59 +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
Christoph Oelckers
99d1047332 - process escape sequences for episode and skill names
For these, colorization is a desirable feature.
2019-04-28 23:01:37 +02:00
alexey.lysiuk
0d968d0943 - replaced all usages of insecure vsprintf() function 2019-04-28 22:58:48 +02:00
Rachael Alexanderson
86e8bf3b28 - fix building on FreeBSD 2019-04-28 22:57:25 +02:00
Christoph Oelckers
bc10c3e5bb - replaced the assignment operator in player_t with a named function.
This didn't behave like an assignment operator so it shouldn't be one, especially since the two places where it got called need different functionality.
2019-04-28 22:57:06 +02:00
Magnus Norddahl
f78e8cb71c - fix typo 2019-04-28 22:57:04 +02:00
Christoph Oelckers
ff21cee842 - fixed: SBARInfo's Tick function was using actor references from its last Draw operation.
Between these two calls these can change so these need to be retrieved each time either Draw or Tick are called.
2019-04-28 22:53:06 +02:00
Christoph Oelckers
c7b9781c57 - fixed: ACS's LocalAmbientSound did not check the activator before calling its methods.
# Conflicts:
#	src/p_acs.cpp
2019-04-28 22:50:54 +02:00
Christoph Oelckers
06f84d2420 - reject all DMX sounds shorter than or equal 8 bytes.
8 bytes is the minimum header size for DMX, so for one byte of sample data it has to be 9 bytes.
This was causing access to invalid memory when trying to read the header of something too short.
For other file formats this is of no concern because none has a header this short.
2019-04-28 22:50:21 +02:00
Christoph Oelckers
a531ca557d - fixed: PlayerStartStomp must check for NOTELEFRAG. 2019-04-28 22:47:04 +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
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
6c869f123d - changed calculation of the scaling value for the option menu.
This was already far too generous and caused space problems, but with localization these became a lot worse, so now it will try to allocate at least 640 virtual pixels for the menu width and only go below that for small resolution ranges where the smaller value would result in too small text.
2019-04-28 22:17:07 +02:00
Christoph Oelckers
7a2b72d2aa - made the text comparison for Dehacked case insensitive so that the contents of the string table can be properly capitalized without breaking old-style string replacements. 2019-04-28 22:14:37 +02:00
Christoph Oelckers
26a698a72a - fixed: empty strings cannot be substituted. 2019-04-28 22:14:27 +02:00
Christoph Oelckers
e245852bff - removed FCriticalSection and replaced all of its uses with std::mutex.
There's really no need for a non-standard solution here anymore with C++11.
This also fixes an unreleased lock in the WildMidi code.

# Conflicts:
#	src/posix/sdl/critsec.cpp
2019-04-28 22:13:36 +02:00
Christoph Oelckers
1e21b44db2 - fixed DHUDMessageTypeOnFadeOut with empty messages. 2019-04-28 21:37:58 +02:00
Christoph Oelckers
bfe3d251f9 - added a kerning option to FONTDEFS
# Conflicts:
#	src/gamedata/fonts/v_font.cpp
2019-04-28 21:29:13 +02:00
Christoph Oelckers
d2d637f431 - fixed the usedcolor array's base type.
The usedcolors array which counts the number of pixels in a given color in a font used bytes as storage, so any color that just happened to have a count that is a multiple of 256 the color was considered not present.

# Conflicts:
#	src/gamedata/fonts/font.cpp
#	src/gamedata/fonts/fontinternals.h
#	src/gamedata/fonts/specialfont.cpp
#	src/gamedata/fonts/v_font.cpp
#	src/v_font.h
2019-04-28 21:28:41 +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
a87e9a0343 - initialize the language right after reading the strings. 2019-04-28 21:24:44 +02:00
Christoph Oelckers
6685238a62 - fixed string checks in dialogue loader. 2019-04-28 21:22:55 +02:00
Christoph Oelckers
0eef6f031f - fixed: The language ID was set before reading the config.
This essentially rendered saving the language CVAR useless.
2019-04-28 21:20:57 +02:00
Major Cooke
31820098a6 Pass the target as the source for active damage modifiers (i.e. PowerDamage) instead of the actual source.
- Getting the victim would be impossible otherwise, and passing in the original source is redundant when there's already the owner.
2019-04-28 20:35:38 +02:00
Rachael Alexanderson
ee5bbdf011 Squashed commit of the following:
- Implement page string names for dialog lumps
    - Create special new GZDoom name space for ZSDF
    - add usdf_gzdoom spec document
    - fixed: restored original behavior with negative conversation id's for the original strife dialog lumps
    - reposition the binary strife fix in a more appropriate location
    - add compatibility fix for negative numbers in responses in USDF/ZSDF (don't know if it's actually necessary)
2019-04-28 20:35:21 +02:00
Robert Cochran
88e1711ff5 Add handling of left and right mousewheel events to the SDL2 input path 2019-04-28 20:34:35 +02:00
Major Cooke
ecdfd92fc8 - Fixed monsters waking up even if all the damage was absorbed without pain causing flags
- Fixed FORCEPAIN not overriding PainThreshold property
2019-04-28 20:06:46 +02:00
Christoph Oelckers
389c27c920 - fixed: 'level.frozen' still needs to be writable and have an effect.
# Conflicts:
#	src/gamedata/g_mapinfo.h
#	src/scripting/vmthunks.cpp

# Conflicts:
#	src/g_levellocals.h
2019-04-28 19:12:39 +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
Rachael Alexanderson
197c618dac - Remove "gitversion.h" from "version.h" - should result in faster compiles after a commit in Windows
- Fix zdoom.rc to show the actual git commit tag and id for the Product Version
- Made zdoom.rc "codepage 1252" compliant as dictated by the #pragma (if this needs changed the pragma should be updated, this was messing up the version strings in the final compile)

# Conflicts:
#	src/version.h

# Conflicts:
#	src/win32/zdoom.rc
2019-04-28 15:14:34 +02:00
alexey.lysiuk
842dff300e - fixed automap marks placement with custom fonts
Automap rotation wasn't taken into account when drawing marks

https://forum.zdoom.org/viewtopic.php?t=63693
2019-04-28 15:13:01 +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
drfrag
e7c37e5f51 - Added FindEx to TArray. 2019-04-28 12:08:17 +02:00