Latest Raze Changes
Latest 50 commits, skipping 7450
Unofficial development builds at DRD Team
20-Feb-2019 (Wednesday) at 15:24:09 PST by Christoph Oelckers
- fixed typo in menu texts.
20-Feb-2019 (Wednesday) at 15:23:49 PST by Christoph Oelckers
- did not save the latest changes.
20-Feb-2019 (Wednesday) at 15:16:48 PST by Christoph Oelckers
- fixed layout of summary screen.
20-Feb-2019 (Wednesday) at 12:21:57 PST by Magnus Norddahl
- add 3rd party vulkan dependencies
- add stubs for a vulkan hw renderer backend
- add RAII wrappers for vulkan object types
- add builder classes to isolate vulkan boilerplate code
- add a swap chain class
20-Feb-2019 (Wednesday) at 11:20:06 PST by Christoph Oelckers
- 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.
20-Feb-2019 (Wednesday) at 10:40:17 PST by Christoph Oelckers
- finalized graphics substitution feature.
20-Feb-2019 (Wednesday) at 10:30:39 PST by Christoph Oelckers
- initialize the language right after reading the strings.
20-Feb-2019 (Wednesday) at 10:12:32 PST by Christoph Oelckers
- fixed string checks in dialogue loader.
20-Feb-2019 (Wednesday) at 10:04:34 PST by Christoph Oelckers
- fixed reading of exit text replacements and display of intermission text screens for Unicode.
20-Feb-2019 (Wednesday) at 09:54:29 PST by Christoph Oelckers
- fixed accidental commit of incomplete test code.
19-Feb-2019 (Tuesday) at 15:52:31 PST by Christoph Oelckers
- reworked texture lookup for localized textures
19-Feb-2019 (Tuesday) at 15:44:17 PST by Christoph Oelckers
- reworked summary screen to use consistent contents, either all patches or all text but not mixed
19-Feb-2019 (Tuesday) at 15:43:31 PST by Christoph Oelckers
- allow text substitution for StaticPatch items in ListMenus
19-Feb-2019 (Tuesday) at 15:43:06 PST by Christoph Oelckers
- fixed a typo
19-Feb-2019 (Tuesday) at 15:42:02 PST by Christoph Oelckers
- enforce that localized graphics need to be the same size as the one they replace.
This is one of those things where the work needed to make it robust stands in no relation to the gain. This simply isn't worth the hassle of going through the entire code and fixing every single use of the 2D texture drawing functions.
Unfortunately this means that the graphics items for the menu cannot be replaced this way because their size will most likely differ, but considering that the only candidates for this are the contents of Doom's main menu, the episode menu, the skill menu and the single player summary screen, it's simply not worth it.
In all these cases the IWAD contents can just as easily be replaced with text and user mods which want to offer localized menus will have to work within the confines of the system, e.g. making sure that all menu items are designed to have proper size for substitution to work or by requesting text based menus, which will be added as a modding feature later.
19-Feb-2019 (Tuesday) at 15:22:00 PST by Christoph Oelckers
- added support for localized texture replacements
This reads the textures and builds the data tables, but doesn´t use the textures yet. A bit more work is needed first.
19-Feb-2019 (Tuesday) at 15:01:20 PST by Christoph Oelckers
- fixed: Doom used Chex Quest's default settings for menu fonts.
19-Feb-2019 (Tuesday) at 14:18:46 PST by Christoph Oelckers
- a bit of text cleanuo. Removed some unused strings and moved a few not-to-be-translated ones to language.def.
19-Feb-2019 (Tuesday) at 12:47:14 PST by Christoph Oelckers
- 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.
18-Feb-2019 (Monday) at 16:22:12 PST by Christoph Oelckers
- preparation work for substituting the menu and intermission screen text graphics for localization
18-Feb-2019 (Monday) at 15:29:22 PST by Christoph Oelckers
- fixed: The language ID was set before reading the config.
This essentially rendered saving the language CVAR useless.
18-Feb-2019 (Monday) at 15:27:47 PST by Christoph Oelckers
- changed zstrformat to allow %c to emit non-ASCII characters as UTF-8.
18-Feb-2019 (Monday) at 15:08:23 PST by Christoph Oelckers
- 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.
18-Feb-2019 (Monday) at 14:36:56 PST by Christoph Oelckers
- fixed uninitialized variable and a few warnings.
18-Feb-2019 (Monday) at 11:53:56 PST by Christoph Oelckers
- added a function that creates a texture for a text in a given font.
Not tested yet, this is for synthesizing localized variant of Doom's textures with text content.
17-Feb-2019 (Sunday) at 15:43:40 PST by Christoph Oelckers
- fixed: The wbstartstruct that gets passed to the level summary screen needs to be static
This variable is needed long after the function which sets it up will be exited. So this either needs to be dynamically allocated or static, and in this case using a static variable is simpler. However, unlike before, it is only being accessed in the one function that needs to initialize it and pass to the summary screen and nowhere else.
12-Feb-2019 (Tuesday) at 08:00:28 PST by Major Cooke
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.
14-Feb-2019 (Thursday) at 03:05:28 PST by alexey.lysiuk
- fixed: offsets got lost in font's translated textures
13-Feb-2019 (Wednesday) at 20:26:15 PST by Rachael Alexanderson
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)
13-Feb-2019 (Wednesday) at 19:00:28 PST by Rachael Alexanderson
- autoload nerve.wad with Doom 2
14-Feb-2019 (Thursday) at 13:13:44 PST by Robert Cochran
Add handling of left and right mousewheel events to the SDL2 input path
14-Feb-2019 (Thursday) at 06:15:46 PST by Alexander
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
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.
15-Feb-2019 (Friday) at 08:02:59 PST by Major Cooke
- Fixed monsters waking up even if all the damage was absorbed without pain causing flags
- Fixed FORCEPAIN not overriding PainThreshold property
15-Feb-2019 (Friday) at 07:21:59 PST by alexey.lysiuk
- fixed automap marks placement with custom fonts
Automap rotation wasn't taken into account when drawing marks
14-Feb-2019 (Thursday) at 15:29:24 PST by Christoph Oelckers
- 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.
17-Feb-2019 (Sunday) at 14:18:28 PST by Christoph Oelckers
- added German Umlauts for the BigFont and fixed the character substitution logic.
For pure uppercase fonts it makes no sense to try a lowercase substitution as a first step.
17-Feb-2019 (Sunday) at 12:01:29 PST by Christoph Oelckers
- 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.
17-Feb-2019 (Sunday) at 10:15:57 PST by Christoph Oelckers
- reworked console font loading to use the glyph sheets directly and allowing to load more than one per font.
17-Feb-2019 (Sunday) at 04:50:57 PST by Christoph Oelckers
- split the FFont base class into its own file.
17-Feb-2019 (Sunday) at 04:41:04 PST by Christoph Oelckers
- 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.
17-Feb-2019 (Sunday) at 03:53:12 PST by Christoph Oelckers
- moved FSpecialFont to its own file.
17-Feb-2019 (Sunday) at 03:29:08 PST by Christoph Oelckers
- split FSinglePicFont into its own file.
17-Feb-2019 (Sunday) at 03:00:04 PST by Christoph Oelckers
- split the FSingleLumpFont class into its own file.
17-Feb-2019 (Sunday) at 02:43:04 PST by Christoph Oelckers
- moved font code into a subdirectory.
17-Feb-2019 (Sunday) at 01:30:44 PST by Christoph Oelckers
- set a kerning of -1 for both BigFonts.
17-Feb-2019 (Sunday) at 01:10:41 PST by Christoph Oelckers
- 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.
16-Feb-2019 (Saturday) at 23:50:49 PST by Christoph Oelckers
- 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.
16-Feb-2019 (Saturday) at 13:57:02 PST by Christoph Oelckers
- 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.
16-Feb-2019 (Saturday) at 12:29:46 PST by Christoph Oelckers
- 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.
16-Feb-2019 (Saturday) at 09:49:38 PST by Christoph Oelckers
- 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.