Christoph Oelckers
2d5210ccf2
- added lowercase->uppercase mapping for ß and moved all glyphs to the uppercase code point for consistency.
2019-03-12 00:00:54 +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
60c5350e8b
- added an option to use the new console font for centered messages.
...
Like the notification messages, this is optional to not affect existing settings.
2019-03-11 19:54:03 +01:00
Christoph Oelckers
ed1615babb
- allow using the console font for notification messages (e.g. item pickup)
...
This is optional because it impacts display of game content, but for readability the new font definitely has advantages.
2019-03-11 19:09:37 +01:00
Christoph Oelckers
e2d3c6feea
- use the new console font for the chat input.
2019-03-11 18:42:28 +01:00
Christoph Oelckers
414a38c19d
- use the new console font to display stat output.
2019-03-11 18:27:46 +01:00
Christoph Oelckers
109413b3a1
- fixed cursor positioning in console with double-wide characters present.
2019-03-11 18:24:42 +01:00
alexey.lysiuk
d5410a8828
- added missing #include
...
src/c_console.cpp:167:7: error: no type named 'u32string' in namespace 'std'
2019-03-11 10:39:06 +02:00
Christoph Oelckers
02836b3c3f
- fixed: The command line parser of the console was incapable of handling non-ASCII characters.
2019-03-11 00:26:37 +01:00
Christoph Oelckers
4532c2c489
- fixed crash when inserting CJK text.
2019-03-11 00:06:44 +01:00
Christoph Oelckers
b605ae5213
- reactivated the formatting for the secret hints.
...
This had to be temporarily disabled for the font switch and wasn't undone afterward.
2019-03-10 23:29:33 +01:00
Christoph Oelckers
561d5a3d8b
- 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-03-10 19:07:48 +01:00
Christoph Oelckers
90c47e7497
- fixed character counting in TypeOn HUD message.
2019-03-10 18:54:57 +01:00
Christoph Oelckers
ec476877ac
- handle double wide characters in the console buffer.
2019-03-10 17:54:03 +01:00
Christoph Oelckers
eb4eb1ac00
- use a wide string for the console input buffer.
...
Since this needs to do cursor positioning calculations it's the one spot in the entire engine where UTF-8 would simply be to messy, especially when having to deal with double wide characters.
2019-03-10 17:54:03 +01:00
Christoph Oelckers
0884057ae1
- use a higher resolution console font with better Unicode support.
2019-03-10 17:54:03 +01:00
alexey.lysiuk
784e0347c0
- removed excessive std::move() reported by Clang
...
src/utility/xlsxread/xlsxio_read.cpp:69:27: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
2019-03-09 16:36:12 +02:00
alexey.lysiuk
bc69941514
- fixed compilation of Cocoa backend
...
src/posix/cocoa/i_video.mm:297:2: error: use of undeclared identifier 'SetFlash'
2019-03-09 16:34:54 +02:00
Christoph Oelckers
b7d09c95dd
- cleanup of savegame picture code.
...
* re-added screen blends for images from the hardware renderer.
* moved all postprocessing of the image out of the renderers.
* cleaned out a large piece of cruft for handling the palette in the frame buffer class. This was all a remnant of the old paletted backend that no longer exists. Nowadays the screen blend is just a postprocessing effect drawn over the 3D screen, there is no need to maintain any of it as global state anymore.
* since the engine doesn't produce paletted screenshots anymore there is no need to have handling for it in the generation code. This depended on otherwise obsolete information so it got removed along with that information.
2019-03-09 14:48:14 +01:00
Christoph Oelckers
29012a89c6
- for got to save this.
2019-03-09 13:34:22 +01:00
Christoph Oelckers
f9d4ea8424
- missed the part that the blend function was still drawing multiplicative blends.
...
This should be cleanly separated.
2019-03-09 13:12:24 +01:00
Christoph Oelckers
0e4a860c5e
- fixed uninitialized screen flash color for savegame images in the software renderer.
2019-03-09 12:52:07 +01:00
Christoph Oelckers
2fa5a88701
- do not render player sprites to canvases in the hardware renderer.
2019-03-09 12:34:10 +01:00
Christoph Oelckers
0ca7723c0e
- disable player sprite drawing on canvases for the softpoly renderer.
2019-03-09 12:17:57 +01:00
Christoph Oelckers
1a29d39355
- do not render player sprites to canvases in the software renderer.
...
This applies to both savegame images and camera textures.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
d2475b68d0
- removed unnecessary variable clear.
2019-03-09 12:12:33 +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
Sterling Parker
81059aee1d
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-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
Christoph Oelckers
0fa4e03db6
- process escape sequences for episode and skill names
...
For these, colorization is a desirable feature.
2019-03-05 00:22:26 +01:00
Christoph Oelckers
97ae74081a
- special remapping for the Hungarian double accented letters.
...
Instead of entirely stripping away the accent when they are not found, let's go to the Umlaut-variants first.
2019-03-04 20:06:19 +01:00
Alexander
77cb9ae866
added MakeScreenShot and MakeAutoSave functions to FLevelLocals
2019-03-04 19:16:51 +01:00
Christoph Oelckers
525b0214a7
- fixed macro substitution.
...
It was retrieving the macro from the wrong string.
2019-03-04 17:31:11 +01:00
alexey.lysiuk
a3554bda70
- replaced all usages of insecure vsprintf() function
2019-03-04 17:35:38 +02:00
Christopher Bruns
0fb940632a
Reduce number of blits required in stereo 3D by tracking current eye.
2019-03-04 13:14:41 +01:00
Rachael Alexanderson
068522f9c8
- fix building on FreeBSD
2019-03-03 17:08:45 +01:00
Christopher Bruns
73c7afe409
Fix typo and add clarifying comment.
2019-03-03 16:15:38 +01:00
Christopher Bruns
52ab4b968f
Remove Quad-buffered from list of VR-modes if we know it won't work.
2019-03-03 16:15:38 +01:00
Rachael Alexanderson
8fab907885
- set language cvar to global config, it should not be game-specific
2019-03-03 16:14:58 +01:00
Christoph Oelckers
213dfd2aaa
- fixed: when resizing the viewpoint buffer, the 2D entry must be reset so that for the next frame it gets recalculated.
2019-03-03 13:26:10 +01:00
Christoph Oelckers
3698a5edc1
- 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-03-03 12:12:17 +01:00
Christoph Oelckers
b3cff43be3
- 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-03-03 09:59:08 +01:00
Rachael Alexanderson
13d07e7912
- fix what appears to have been an accidental debug commit, this broke portals and skies
2019-03-03 03:24:55 -05: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
eacc6c8e08
- fixed: ACS's LocalAmbientSound did not check the activator before calling its methods.
2019-03-02 23:01:42 +01:00
Christoph Oelckers
0dc3485990
- fixed: in CollectWithinRadius, make pos a value variable instead of a reference.
...
The underlying data here can be reallocated and invalidate what it points to.
2019-03-02 22:10:44 +01:00
Magnus Norddahl
ef30ddbd40
- fix typo
2019-03-02 21:34:34 +01:00
Christoph Oelckers
0f184a0f28
- 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-03-02 21:10:24 +01:00
Christoph Oelckers
d893299185
- fixed: static event handlers must also receive WorldLoaded events on loading a savegame.
2019-03-02 13:50:58 +01:00
Christoph Oelckers
9ab57e242b
- fixed: PlayerStartStomp must check for NOTELEFRAG.
2019-03-02 13:35:35 +01:00
Christoph Oelckers
00febf0498
- fixed: FLevelLocals did not set the owner for its event manager.
2019-03-02 13:24:52 +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
4cf90d70ae
- fixed: cl_maxdecals did not reset the decal counter when deleting decals.
2019-03-02 12:58:28 +01:00
Christoph Oelckers
5f6198f4e4
- let IWAD and PWAD BigFonts override BigUpper for consistency.
2019-03-02 12:54:46 +01:00
Christoph Oelckers
ce1ecd0d4b
- implemented string table macros.
2019-03-02 12:06:24 +01:00
Christoph Oelckers
fa123f37c7
- adjustment for renamed spreadsheet.
2019-03-01 22:04:39 +01:00
Christoph Oelckers
a5d9d334d2
- fixed: The lump renaming was not performed for Doom, even for those pieces where needed.
2019-03-01 20:21:15 +01:00
alexey.lysiuk
2939bc701e
- fixed compilation error with GCC and Clang
...
src/intermission/intermission_parse.cpp:941:2: error: no matching function for call to 'F_StartFinale'
2019-03-01 10:06:34 +02:00
Marisa Kirisame
bc5baae827
Folder casing changes for Linux compatibility.
2019-02-28 23:56:29 +01:00
Christoph Oelckers
23a62cbe12
- added a 'testfinale' CCMD, so that the layout of finale texts can be tested more easily
2019-02-28 23:52:47 +01:00
Christoph Oelckers
86620aaba5
- allow reading xlsx spreadsheets directly for language definitions.
2019-02-28 22:21:55 +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
Christoph Oelckers
fab8fed8df
- reformat the intermission screen if the text is very long.
...
This will ensure better visibility on widescreen displays, at least.
2019-02-27 22:52:08 +01:00
nashmuhandes
407983749a
Added a master volume setting.
2019-02-27 14:17:45 -05:00
Christopher Bruns
8becc0e78d
Enable menu blur in stereo 3d.
...
Use more blitting to avoid confusing framebuffer state management in stereo 3D.
2019-02-27 09:51:02 +01:00
Christoph Oelckers
90ab830ff9
- added a workaround for mods using the name CONFONT directly.
...
In the old system it just loaded the font a second time, but with the folder based setup there is no file named CONFONT anymore so it needs to be dealt with explicitly.
2019-02-26 19:19:03 +01:00
Christoph Oelckers
e8f690116b
- removed unused gl_spritebrightfog CVAR.
2019-02-26 00:07:30 +01:00
Christoph Oelckers
4a427694ac
- 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-02-26 00:07:09 +01:00
Christopher Bruns
051145b2c8
Use flag to avoid second eye stereo color problem
2019-02-25 00:14:41 +01:00
Christopher Bruns
e83092a7eb
Fix stereo-3D 2D quad color problem.
2019-02-25 00:14:41 +01:00
Christoph Oelckers
b670d5f372
- 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-02-24 13:55:08 +01:00
Christoph Oelckers
0676a98efc
- fixed: ACS must use COPY_AAPTREX for all pointer transfers.
...
It was already correct for most, but two cases have slipped through.
2019-02-24 12:10:56 +01:00
Christoph Oelckers
6129f9a9cc
- fixed a warning and set NOINITCALL for a few CVARs accessing the current level.
...
These inits are done at a time when the data isn't even initialized so they will get overwritten anyway.
2019-02-24 10:05:01 +01:00
Christoph Oelckers
d5f138f14d
- 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-02-23 20:23:04 +01:00
Rachael Alexanderson
7098748e9e
- fix building on case sensitive systems
2019-02-23 13:51:24 -05:00
Christoph Oelckers
bae0094039
- fixed the status bar string drawers which weren't UTF-8 capable yet.
2019-02-23 19:44:00 +01:00
Christoph Oelckers
c5156d4598
- moved around a few more files.
2019-02-23 18:57:49 +01:00
Christoph Oelckers
c3890342e6
- moved the 2D drawing code to its own directory under 'rendering'.
2019-02-23 18:08:57 +01:00
Christoph Oelckers
ef3e5ef01e
- moved a few parts from g_level.cpp to better fitting places.
2019-02-23 15:21:54 +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
Christoph Oelckers
add10029b9
- fixed chat input.
2019-02-23 09:54:18 +01:00
Christoph Oelckers
a50a0c5b0d
- fixed: empty strings cannot be substituted.
2019-02-23 09:20:30 +01:00
Christoph Oelckers
e091369a38
- 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.
2019-02-22 20:24:24 +01:00
Christoph Oelckers
3d9dce0156
- fixed DHUDMessageTypeOnFadeOut with empty messages.
2019-02-22 19:58:52 +01:00
Christoph Oelckers
f907bb0484
- moved a few more things and deleted the unused v_pfx implementation.
...
These were pixel format conversion routines used in the D3D backend. Nothing in here is needed anymore - the FBitmap class offers much of the functionality covered here in a far more concise and approachable manner.
2019-02-22 19:48:18 +01:00
Christoph Oelckers
b386603044
- deleted the unused lumpconfigfile.
...
The chance that this will ever see some use is precisely zero so there's no need keeping this code around.
2019-02-22 19:13:40 +01:00
Christoph Oelckers
8c06a00ee6
- moved all dialogue loading code into the map loader.
2019-02-22 19:07:58 +01:00
Christoph Oelckers
e06aa28620
- 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.
2019-02-22 18:19:26 +01:00
Christoph Oelckers
2eb312e041
- added a kerning option to FONTDEFS
2019-02-21 01:02:42 +01:00
Christoph Oelckers
2907ba69a0
- implemented OkForLocalization
2019-02-21 00:56:03 +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
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
15eb57e00d
- finalized graphics substitution feature.
2019-02-20 19:40:17 +01:00
Christoph Oelckers
ecb1c2ee4a
- initialize the language right after reading the strings.
2019-02-20 19:30:39 +01:00
Christoph Oelckers
0e449405a4
- fixed string checks in dialogue loader.
2019-02-20 19:12:32 +01:00
Christoph Oelckers
d2ac77e721
- fixed reading of exit text replacements and display of intermission text screens for Unicode.
2019-02-20 19:04:34 +01:00