Commit graph

665 commits

Author SHA1 Message Date
alexey.lysiuk
38f2402d2d - added TVector2<> constructor from float*
As we seem to do not like explicit constructors, this will make temporary `TVector3<>` object creation much less probable
2021-06-13 10:42:34 +03:00
alexey.lysiuk
ff784fc905 - fixed parsing of 2D vectors in OBJ model loader
There is no `TVector2<>` constructor that accepts a pointer to float. However, there is such constructor in `TVector3<>`, so `TVector2<>` can be constructed from `float*` implicitly via temporary `TVector3<>` object.
2021-06-13 10:42:34 +03:00
alexey.lysiuk
e166eeb13d - added detection of macOS 12 Monterey 2021-06-08 10:25:05 +03:00
Christoph Oelckers
b3fd8ce12a - fixed permission validation in OptionMenuItemCommand.DoCommand.
This was missing the InMenu check like the other critical menu functions.
2021-06-07 08:16:53 +02:00
Christoph Oelckers
b0ccd3a7df - moved Doom specific font init code out of the backend. 2021-05-31 22:13:40 +02:00
Christoph Oelckers
868220107b - added fallback to the parenthesis glyphs for the braces. 2021-05-28 12:36:47 +02:00
Christoph Oelckers
38520e36c8 - fixed generation of default color range for the option menu font. 2021-05-28 12:11:34 +02:00
Christoph Oelckers
d36fd4f42b - fixed: GetColorTranslation did not handle translation-less single pic 'fonts' properly. 2021-05-28 10:47:11 +02:00
Christoph Oelckers
36e84a3669 - do not calculate translations for empty fonts.
FONTDEFS will create some due to lack of game filtering.
2021-05-27 13:50:02 +02:00
Christoph Oelckers
5f02b92cd0 - font system overhaul.
This eliminates nearly all palette dependencies, most importantly font translation will now be done on True Color data, making translations on True Color font less destructive.
2021-05-24 21:28:21 +02:00
Christoph Oelckers
7eef7614f8 - do not send depth bias changes to the GPU if nothing has changed. 2021-05-21 21:01:20 +02:00
Christoph Oelckers
a3a65f184f - use stb-image to handle PNGs with 16 bit color channels.
It is still not recommended to use this format - images tend to be huge and setup time is normally prohibitive - but at least they work now.
2021-05-19 19:20:51 +02:00
Christoph Oelckers
bd0ca55a35 - fixed: explicit float to int casts should not emit truncation warnings. 2021-05-19 18:35:36 +02:00
Christoph Oelckers
8a4fa8b65f - backend update from Raze. 2021-05-17 20:44:19 +02:00
Christoph Oelckers
97b8c0ccfb Revert "- fixed some uses of postincre,ment/decrements on narrow types."
This reverts commit 668f8f2cf6.

Revert "- added a proper error message when '--' or '++' gets used on 8 or 16 bit values."

This reverts commit a94f5dd1b3.

None of this was necessary - the triggered assert was bogus and had to be removed.
2021-05-17 18:13:30 +02:00
Christoph Oelckers
6e9c85791c - pick the proper dot for cutting off the extension in ExtractFileBase. 2021-05-17 13:11:41 +02:00
Christoph Oelckers
5bf2a26b82 - removed bogus assert from FxMinMax.
This would also trigger on signed/unsigned mismatches which it is not supposed to do.
2021-05-17 12:48:22 +02:00
Christoph Oelckers
0b5b919352 - let the CSV parser for the string table handle hex escapes. 2021-05-17 12:42:45 +02:00
Christoph Oelckers
668f8f2cf6 - fixed some uses of postincre,ment/decrements on narrow types.
THe VM has no opcode for this, all these places produced code with undefined behavior.
2021-05-17 12:42:22 +02:00
Christoph Oelckers
a94f5dd1b3 - added a proper error message when '--' or '++' gets used on 8 or 16 bit values. 2021-05-17 12:27:27 +02:00
Christoph Oelckers
31b1d760b1 - include fix. 2021-05-12 09:58:26 +02:00
Cacodemon345
c1c4066c76 SDL: Report Vulkan initialization errors 2021-05-09 22:57:00 +03:00
Rachael Alexanderson
bc15ded2a1 - make DI_ALPHAMAPPED change the style to STYLE_Shaded in the status bar drawer 2021-05-07 03:41:41 -04:00
Christoph Oelckers
3477d6c7c1 - added missing default values. 2021-05-03 14:33:40 +02:00
Christoph Oelckers
52554dc32c - Backend update fron Raze, mainly new script exports and extensions. 2021-05-03 14:13:03 +02:00
Cacodemon345
e4ada10e78
Remove support for SDL2 2.0.5 and earlier 2021-05-02 12:59:38 +03:00
Rachael Alexanderson
153968dc7c - change vid_allowtrueultrawide - -1 allows for any arbitrary ratio for hud aspects, 0 changed to old behavior (max 16:9), 1 changed to old behavior except at 21:9, 1 is now the default.
- `vid_allowtrueultrawide` is now placed in game-specific config, instead of global.
2021-05-02 01:25:21 -04:00
nashmuhandes
afd7b2e954 Allow settable render styles for status bar drawing functions DrawTexture, DrawImage and DrawString 2021-04-26 23:04:39 +02:00
alexey.lysiuk
8695325383 - fixed saving game to wrong save slot
This is a temporary solution as it makes GZDoom and Raze code bases incompatible

https://forum.zdoom.org/viewtopic.php?t=72085
2021-04-26 09:46:20 +03:00
Rachael Alexanderson
a2d3dbf74e - Change VKHardwareTexture::CreateTexture to allow a null buffer to be passed. This is used by the software renderer to create an arbitrary texture for screen rendering. 2021-04-25 02:06:40 -04:00
alexey.lysiuk
4bcea0ab78 - handle empty command names when getting key binds
See https://github.com/Realm667/WolfenDoom/issues/498
2021-04-19 18:09:20 +03:00
Christoph Oelckers
ba146ed5e5 - Backend update from Raze 2021-04-19 12:58:35 +02:00
Magnus Norddahl
4e503a1d1b Removed depthClamp requirement (note: portals will not render correctly on such devices)
Added format fallback support for VK_FORMAT_A2R10G10B10_UNORM_PACK32 since the pi4 doesn't support it
2021-03-28 18:26:23 +02:00
Rachael Alexanderson
ad8ae0f146 - set libADL and libOPN bank settings (only) to game specific 2021-03-28 09:01:54 -04:00
Erick Vasquez Garcia
03473abea2 A software implementation for gamma, brightness, contrast and saturation effects on SoftPoly. Based on original code by @dpjudas, thanks for the code. 2021-03-27 10:35:41 +01:00
Erick Vasquez Garcia
bf3018cc84 Bug fix in invulnerability in Doom Software Render Mode and True Color SW Render in SoftPoly. 2021-03-27 10:35:41 +01:00
Cacodemon345
3b50f7dfa6 SDL: Don't write garbage to output if it is redirected 2021-03-21 12:09:19 +02:00
Christoph Oelckers
ae09ca7a48 - moved EColorManipulation into the backend. 2021-03-13 12:21:07 +01:00
Christoph Oelckers
a0cffca3bb - restore accidentally deleted 'testmusicvol' CCMD. 2021-03-12 08:48:59 +01:00
Christoph Oelckers
d1023046ba - default replay gain to 'off'. 2021-03-11 15:47:05 +01:00
Christoph Oelckers
b9dafaaa6b - fill in the MIDI defaults for generating the lookup string for replay gain.
Both synth and sound font can be very relevant here for the final volume so using the same song with different settings needs to create different strings.
2021-03-11 00:20:19 +01:00
Christoph Oelckers
f11780600f - implemented replay gain calculation and management.
This is done entirely on the streamed sound data, unlike the old relative volume which uses the backend's volume setting.
2021-03-10 23:06:21 +01:00
alexey.lysiuk
952d43b884 - escape double quotes in Cocoa IWAD picker's extra arguments
https://forum.zdoom.org/viewtopic.php?t=71675
2021-03-08 11:44:14 +02:00
Christoph Oelckers
d18b74b537 Merge branch 'master' of https://github.com/Chernoskill/gzdoom 2021-03-06 11:32:31 +01:00
Chernoskill
d1ea33a815
Update models_obj.cpp 2021-03-06 11:27:23 +01:00
Chernoskill
27cf152438
Update models_ue1.cpp 2021-03-06 11:26:53 +01:00
Chernoskill
4e583772d7
Update models_md3.cpp 2021-03-06 11:26:31 +01:00
Chernoskill
72787c2c4c
Update model.h 2021-03-06 11:18:45 +01:00
Christoph Oelckers
357163c60d - Backend update from Raze. 2021-03-04 14:45:29 +01:00
Magnus Norddahl
996b4f9f5c Implement depth clamp 2021-03-02 03:22:18 +01:00
Magnus Norddahl
d6f8e80177
Fix portals not working in softpoly (#1323) 2021-02-28 20:24:15 -05:00
Chernoskill
fa2058004b The two TArrays of type FTextureID skinIDs and surfaceskinIDs no longer have any null elements. These elements will have a textureid (FTextureID.texnum) of 0.
Re-worded error messages which were unprecise or unfitting before (model index below 0 was not acknowledged at all, or grouped together with a "too many models" message).

modelIDs are given a default value of -1.

Important: A MODELDEF's FrameIndex lines can no longer refer to model indices that are beyond the number of models of that MODELDEF entry. There is in fact a check to avoid going beyond the number of an actor's models which would abort program operation at startup, but it never caught any such occurances.

surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]
Used TArray.Alloc to make TArrays have the correct size depending on the number of models.

Also removed MAX_MODELS_PER_FRAME.
Edited skinSurfaceIDs access for one-dimensional TArray

Added MD3_MODELS_MIN
To ensure compatibility with mods, all model-related TArrays (four in total) have a minimum size of 4, defined by MD3_MODELS_MIN.
2021-02-26 22:22:33 +01:00
Christoph Oelckers
feb3520ee9 - added m_swapbuttons CVAR for the Windows RawInput and DirectInput backends.
The problem I discovered is that these backends do not respect the GUI-side system setting for swapping the buttons, so this needs to be done in-application so that swapped buttons can behave the same in the menu and the game.
2021-02-26 10:37:55 +01:00
Gutawer
73dc528112
- fix some crashes in the Shape2D VBO code due to unsound pointer usage (#1318) 2021-02-25 10:49:41 -05:00
Rachael Alexanderson
d6987ff6b2 Revert "Dynamic number of models per frame instead of a hard limit of four. (#1298)"
This reverts commit 769d60a64f.
2021-02-25 09:58:17 -05:00
Cacodemon345
a531c9c35f
Properly abort the program if the SDL window can't be created at all (#1296) 2021-02-24 15:27:42 -05:00
Chernoskill
769d60a64f
Dynamic number of models per frame instead of a hard limit of four. (#1298)
* Changed model-related arrays to TArrays.

* Update models.cpp

Used TArray.Alloc to make TArrays have the correct size depending on the number of models. 
surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, it's size is now (models * MD3_MAX_SURFACES)
surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case sSurfaceIndex + modelIndex * MD3_MAX_SURFACES]

* Edited skinSurfaceIDs access for one-dimensional TArray

* Edited skinSurfaceIDs access for one-dimensional TArray

* Edited skinSurfaceIDs access for one-dimensional TArray

* Changed model-related arrays to TArrays.

Also removed MAX_MODELS_PER_FRAME.

* Used TArray.Alloc to make TArrays have the correct size depending on the number of models. 

surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]

* Used TArray.Alloc to make TArrays have the correct size depending on the number of models. 

surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]

* Update models.h

* Edited MAX_MODELS_MD3

* Update models_obj.cpp
2021-02-24 15:26:47 -05:00
alexey.lysiuk
e6810620cd - restored sound-related developer messages
https://forum.zdoom.org/viewtopic.php?t=71486
2021-02-20 11:00:12 +02:00
Erick Vasquez Garcia
65b0047b26 SoftPoly: Fixed the md3 models, you can now correctly display the frame of the model, in addition, interpolation is added to the model.
This error is mentioned by drfrag in the following link https://forum.zdoom.org/viewtopic.php?f=336&t=71228
2021-02-20 09:14:18 +01:00
dondiego
395fc28e12
SoftPoly: Fixed the screen turning white with invulnerability sphere in Doom and in Heretic avoiding color errors in some pixels when activating the "ring of invincibility". (#1307)
Co-authored-by: Erick Vasquez Garcia <erickv5394@gmail.com>
2021-02-18 23:37:53 -05:00
Player701
387abf81a0
- Added a new intrinsic for class pointers to check if the class is abstract (#1308) 2021-02-18 11:17:23 +01:00
Erick Vasquez Garcia
78c0ec0470 - Fixed sprites were not affected by dynamic lights on SoftPoly. 2021-02-16 08:27:02 -05:00
Raccoon
59fcf45222
Add Warnings for when PNG loads fail due to unsupported flags (#1302)
This was the result of an issue which stumped the entire Discord, which led to me having to debug from source to find why some relatively standard publicly available PBR materials work.  GZDoom is the ONLY program in the typical development stack (GIMP, Slade, UDB) with this narrow of support for the PNG format. As such, the average developer will have no other way to figure out what's going wrong without these: these CANNOT be allowed to fail silently.  As things like PNG-compression and 64-bit color become more common in royalty-free PBR materials, support should be an eventual target.  Even then, these warnings should remain to prevent this from being an issue the next time things change.
2021-02-12 19:37:18 +01:00
Christoph Oelckers
c9ed4293f7 - backend update from Raze. 2021-02-12 14:40:34 +01:00
Magnus Norddahl
7e68223794 Add support for zero size buffers as the hwrenderer uses that!
Also add a sanity check on zero size textures just in case that ever happens!
2021-02-12 06:38:26 -05:00
Cacodemon345
f2469c6dcf Change _access to _waccess 2021-02-12 09:07:09 +01:00
Cacodemon345
349a2e9235 Fix crash when trying to open unreadable IWAD files 2021-02-12 09:07:09 +01:00
alexey.lysiuk
6bc82bdeff - fixed incorrect extension of overridden function prototype
Prototype of overridden function with optional argument(s) missing could extend unrelated prototype of previously defined function when their arguments and return value(s) match

https://forum.zdoom.org/viewtopic.php?t=71340
2021-02-12 08:42:57 +01:00
alexey.lysiuk
e0e0fb0d8f - fixed uninitialized global rolloff in sound engine
Depending on SNDINFO definitions, type of global rolloff could left uninitialized, and linear rolloff might be treated as logarithmic

https://forum.zdoom.org/viewtopic.php?t=70248
2021-02-08 11:50:00 +02:00
Christoph Oelckers
917eb2b5e3 - fixed: FTextureManager::ReplaceTexture did not calculate the upscale flags. 2021-02-07 09:19:56 +01:00
alexey.lysiuk
74685a1360 - added detection of more x86 extended CPU instructions
Replaced report of 3DNow support with recent fancy CPU instructions
2021-02-06 16:56:59 +02:00
alexey.lysiuk
6d47d79e22 - removed useless x86.h #include's 2021-02-06 15:01:08 +02:00
alexey.lysiuk
d9a5c00cd4 - cleaned x86 CPU detection of obsolete code 2021-02-06 15:01:08 +02:00
alexey.lysiuk
a7e97daa86 - added detection of a few x86 extended CPU instructions
i hope this will make some people a bit happier
2021-02-06 15:01:08 +02:00
Gutawer
aad50cb218 - fix alpha (and other parameter properties) not reuploading the buffer on Shape2D 2021-02-06 06:49:20 -05:00
Cacodemon345
3c5f5f392f Add progress bar for SDL backend 2021-02-02 03:32:40 -05:00
alexey.lysiuk
9bd07e5c83 - improved JIT simple frame error message
https://forum.zdoom.org/viewtopic.php?t=71340
2021-01-31 14:47:33 +02:00
Rachael Alexanderson
ad66063354 - oops this was not supposed to be in master
Revert "- failed attempt at automap line thickness"

This reverts commit 9651dd3a48.
2021-01-31 06:24:43 -05:00
Rachael Alexanderson
b9e37ff0f4 Merge branch 'master' of https://github.com/coelckers/gzdoom 2021-01-29 22:52:33 -05:00
Rachael Alexanderson
9651dd3a48 - failed attempt at automap line thickness 2021-01-29 22:52:28 -05:00
Christoph Oelckers
f108a106c9 - backend update from Raze. 2021-01-29 13:54:18 +01:00
Rachael Alexanderson
c783b9dce9 - 21:9 improvements
- vid_aspect is now set to change to 21:9's ACTUAL aspect - 64:27
- screen elements now scale to 64:27 properly. to restore classic behavior, set cvar `vid_allowtrueultrawide` to false
2021-01-17 11:41:36 -05:00
Rachael Alexanderson
efa788cd5e - remove erroneous assert in the ZScript codegen compiler
- fixes issue #1279
2021-01-17 10:58:44 -05:00
Marisa Kirisame
44b4359ba5 Add alternate "Full" mode for PowerIronFeet that prevents leaky damage. 2021-01-16 17:09:57 +01:00
William E. Waterman
3261eb3643
Side By Side Letterbox Display mode (#1255)
* Added SBSLETTERBOX to menudef.txt

* Changed PresentSideBySide in gl_renderer

Needed for new side-by-side mode

* Added VR_SIDEBYSIDELETTERBOX to gl_stereo3d.cpp

For side by side letterbox display mode

* Added VR_SIDEBYSIDELETTERBOX to hw_modes.h

For new side by side letterbox display mode

* Added VR_SIDEBYSIDELETTERBOX to hw_vrmodes.cpp

For Side By Side Letterbox display mode
2021-01-13 07:09:13 -05:00
Chronos Ouroboros
d8164e0050 - Fix the "Max" constant being incorrect for unsigned int types. 2021-01-06 15:50:58 -03:00
alexey.lysiuk
1767fdfe7a - extended operating system information with os-release's pretty name
https://www.freedesktop.org/software/systemd/man/os-release.html
2021-01-02 14:59:31 +02:00
Rachael Alexanderson
6089c34558 - oops forgot to add this file 2021-01-02 07:47:25 -05:00
Gutawer
276cdde112
Modify Shape2D so that it manages its own vertex buffer rather than using the draw list (#1249)
* - modify Shape2D so that it manages its own vertex buffer

* - fix the last commit failing on Shape2Ds that were modified after AddShape was called

* - make buffers an array of F2DVertexBuffers instead of an array of pointers

* - fix AddShape with the same VBO but different transformation crashing the game

* - formatting fixes
2021-01-02 07:41:32 -05:00
Rachael Alexanderson
e917cd0a2c - oops, fix previous commit, that wasn't meant to be in there 2021-01-01 22:44:36 -05:00
Rachael Alexanderson
54fba4d642 - windows: create stub functions for the crash logger for ARM. this invites the possibility, hopefully, that if someone is inclined, to actually make one. it also cleans up the code a little bit for intel. 2021-01-01 20:52:18 -05:00
alexey.lysiuk
499df03821 - removed limitation on number of descriptor set layout bindings
https://forum.zdoom.org/viewtopic.php?t=70955
2021-01-01 14:46:24 +02:00
Cacodemon345
0dda8733db
Print name of OS on POSIX systems when using SDL
#1265
2020-12-31 14:48:48 +02:00
Christoph Oelckers
423fe60080 - fixed: strbin did not check for a terminating 0-character right after an escaping backslash. 2020-12-11 11:22:07 +01:00
Rachael Alexanderson
64ff15b82b
Squashed commit of the following: (#1248)
commit bbfb934e808c6602d3a059adf270e997b71b900c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sun Dec 6 23:50:15 2020 -0500

    - and now it builds! but ... does it run?

commit 67096c8966f28dcff40c998d10e5510d6a689a13
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sun Dec 6 22:25:13 2020 -0500

    - one more step closer to compile

commit 5a0c84dd2d3e1798e7a99f4ec1696f678708f0e6
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sun Dec 6 22:13:39 2020 -0500

    - set up dynamic opengl load for windows

commit 6ef8118b801f305000ce881a4b04aaaef0196226
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sat Dec 5 16:38:53 2020 -0500

    - allow compiling for win-arm64

commit 7d6f3797c4393fa7b0ed567b94d1de135ecb5ac6
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Dec 4 05:18:29 2020 -0500

    - allow targeting ARM64 on Windows

Co-authored-by: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
2020-12-10 09:16:28 -05:00
Gutawer
f223005584 - fix keyboard repeat events not being sent to menus if TranslateKeyboardEvents is true 2020-12-09 16:20:42 -03:00
makise-homura
10c682acf6 Change type of ops[] to deal with goto *p for EDG compilers 2020-11-30 09:26:16 +02:00
Chris Robinson
51adcd45e6 Simplify manual sound rolloff handling 2020-11-25 16:26:38 +01:00
Christoph Oelckers
9925cc380e - backend update from Raze. 2020-11-23 15:45:33 +01:00
Christoph Oelckers
58d8ce1a4f - cleanup of m_fixed.h.
With fixed point math barely being used anywhere with the vast majority of calls in the software voxel drawer it makes sense to reduce the function interface to the minimum possible and move the shift value into the function call as an argument.
2020-11-22 10:25:04 +01:00
alexey.lysiuk
38d29c235b - fixed incorrect autosegs section addresses on macOS
It appeared that getsectbyname() returns address stored in executable header as is, i.e. without adjusting it for ASLR
2020-11-14 12:16:51 +02:00
alexey.lysiuk
18b5928f49 - eliminate dependency on linking order for autosegs registration 2020-11-13 11:03:16 +02:00
alexey.lysiuk
013078a02f - fixed compilation with MSVC 14.28.29333 from VS2019 16.8.0
include\algorithm(7419,17): error C3892: '_First': you cannot assign to a variable that is const (compiling source file src\rendering\hwrenderer\scene\hw_drawlist.cpp)
2020-11-12 12:06:03 +02:00
alexey.lysiuk
b8b93e0dd8 - fixed most of implicit fallthrough compilation warnings
src/common/console/c_console.cpp:1032:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/common/console/c_console.cpp:958:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/common/scripting/backend/codegen.cpp:2969:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/common/scripting/frontend/zcc_compile.cpp:2656:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/common/scripting/frontend/zcc_compile.cpp:521:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/common/scripting/jit/jit_math.cpp:966:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/d_main.cpp:1538:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/d_main.cpp:1549:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/d_main.cpp:3820:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/gameconfigfile.cpp:544:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/gamedata/p_xlat.cpp:193:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/gamedata/p_xlat.cpp:200:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/gamedata/p_xlat.cpp:210:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/g_game.cpp:1145:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/maploader/maploader.cpp:2142:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/menu/doommenu.cpp:159:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/m_cheat.cpp:109:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/mapthinkers/a_ceiling.cpp:254:24: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/mapthinkers/a_floor.cpp:322:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/mapthinkers/a_floor.cpp:330:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/mapthinkers/a_floor.cpp:344:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/mapthinkers/a_plats.cpp:129:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/mapthinkers/a_plats.cpp:284:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/p_acs.cpp:6302:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/p_acs.cpp:8111:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/playsim/p_spec.cpp:344:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/scripting/decorate/thingdef_parse.cpp:1343:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/scripting/zscript/zcc_compile_doom.cpp:298:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
src/wi_stuff.cpp:463:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
2020-10-31 13:37:51 +02:00
alexey.lysiuk
112640e6c0 - fixed compilation warnings reported by GCC and Clang
src/common/menu/menudef.cpp:785:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
src/playsim/p_pspr.cpp:178:3: warning: field 'processPending' will be initialized after field 'HAlign' [-Wreorder]
2020-10-31 13:37:51 +02:00
Christoph Oelckers
53a6b9ee59 - moved status bar base class to 'common'. 2020-10-31 12:24:15 +01:00
Christoph Oelckers
e6c96bcb75 - move VM exports to the proper class. 2020-10-31 12:24:14 +01:00
Christoph Oelckers
783d532bbe - moved the script exports to the base class as wello. 2020-10-31 12:24:14 +01:00
Christoph Oelckers
196d3c32bb - moved the drawing utilities to the abstact base statusbar function. 2020-10-31 12:24:13 +01:00
Player701
08302146d7 - Extended AddOptionMenu to allow inserting items before or after a specific menu item 2020-10-29 11:21:39 +01:00
Player701
e276431336 - Implemented AddListMenu MENUDEF directive to allow extending list menus.
Syntax: AddListMenu "MenuName" [<before|after> "SubMenuName"] { ... }

By default, new items will be added to the end of the menu. Specifying before/after allows inserting items before or after a specific submenu item.
2020-10-28 21:45:04 +01:00
Christoph Oelckers
d4d187e27b - removed the limiter flags again and addressed the underlying problem properly.
The real issue is that the number of unattenuated sounds was unchecked and the near limit never kicked in.
To do this properly it is necessary to adjust the limit distance by the attenuation - zero attenuation must mean infinite distance and for high attenuations the distance must be lowered for limiting to work as intended.
The limit for the Doom boss sounds was increased to 4 to compensate for this change.

# Conflicts:
#	src/common/audio/sound/oalsound.cpp
2020-10-28 21:30:25 +01:00
alexey.lysiuk
2ebf38c9c9 - removed duplicated line of code 2020-10-28 09:52:56 +02:00
Christoph Oelckers
fb0a40e0f0 - enable OpenAL's sound volume normalizer. 2020-10-27 20:36:17 +01:00
Rachael Alexanderson
34c57ab6be - add 'loadwidescreen' to gameinfo, works exactly like 'loadbrightmaps' or 'loadlights' 2020-10-26 10:08:34 -04:00
Rachael Alexanderson
7479648083 - add widescreen loader, and a bare pk3 2020-10-26 09:56:58 -04:00
Christoph Oelckers
d850ca6a0e - fixed: MENUDEF did not take recusive parsing into account when checking the default scaling mode. 2020-10-26 06:27:24 +01:00
Christoph Oelckers
6a9bfa2cb3 - do not use the border flat for the fullscreen console. 2020-10-26 06:15:13 +01:00
Christoph Oelckers
54f85d4caa - made the sinmple options menu switchable.
Also ensure that custom mods pick up the simple version if enabled.
2020-10-25 17:07:03 +01:00
Christoph Oelckers
14776aebb6 - some minor adjustments to the console init interface. 2020-10-25 15:41:30 +01:00
Christoph Oelckers
66abbf647c - this was in the wrong branch 2020-10-25 14:50:45 +01:00
Christoph Oelckers
964417947f - use the border flat as console fallback instead of the title pic.
This tends to work a lot better because it has far lower contrast.
2020-10-25 14:37:29 +01:00
Christoph Oelckers
0e4625867e - moved c_console.cpp to 'common'. 2020-10-25 13:25:31 +01:00
Christoph Oelckers
f912712f9d - cleaned up c_console.cpp to be moved into 'common'. 2020-10-25 13:14:19 +01:00
Christoph Oelckers
194824f810 - some fixes for the console.
* it is now possible to switch back to the main intro loop from the fullscreen console.
* do not distort the background of the fullscreen console. Always draw the console on top of what the main loop currently displays with a translucent black overlay.
* do not use the CONPIC for the fullscreen console as it tends to be more of a distraction than an asset when filling the entire screen.
* cleaned up c_console.cpp and moved several pieces of code unrelated to actual console management out of it.
2020-10-25 09:17:31 +01:00
Christoph Oelckers
838733af4a - do not use the GetFullscreenRect function as a native scripting function 2020-10-24 21:19:20 +02:00
Christoph Oelckers
bc2b0a0252 - added flag option menu item by Accensus. 2020-10-24 17:49:56 +02:00
Christoph Oelckers
e1af278b37 - adapt the bunny scroller to widescreen images.
This only concerns the actual horizontal scroller. The vertical one still needs work and the "The End" screen only works if the second picture of the scroller is the full widescreen image because this page is done as a regular single image page which does not know anything about widescreen asset replacements.
2020-10-24 15:31:45 +02:00
Christoph Oelckers
54ddb400a5 - fixed fullscreen scaling for narrow aspect ratios. 2020-10-24 12:07:05 +02:00
Christoph Oelckers
74925783aa - default to fullscreen mode 3.
The option still remains for cases where it does not work but the cases where mode 3 causes real problems are rare.
All I could find were a handful of poor intermission pics in some old mods which aren't worth keeping this artificial limitation.
2020-10-24 11:36:50 +02:00
Player701
63035d5031 - Prevent calling abstract functions via Super or parent class name qualifiers at compile time 2020-10-19 11:20:50 +02:00
Player701
761dea8640 - Implemented ZScript abstract functions 2020-10-19 08:24:43 +02:00
Christoph Oelckers
565a5acd85 - changed order of identifier types to be checked to what it was in 4.3 2020-10-17 15:13:14 +02:00
Christoph Oelckers
28a12d2597 - fixed update check for shadow map tree.
This should only flag the tree as new if it is different from the last one.
This not only caused issues with dynamic updates but also made the renderer recreate the tree's data structures repeatedly.
2020-10-17 15:01:05 +02:00
Christoph Oelckers
14e94aa6c1 - added localization fallback handling for the BigFont in menu items and captions. 2020-10-17 14:00:29 +02:00
Christoph Oelckers
473072d556 - doubled the default for horizontal mouse sensitivity.
This seems to fit more systems.
2020-10-17 13:10:09 +02:00
Christoph Oelckers
38df70f4bc - clear intermediate entries when inserting an object beyond the end of an array. 2020-10-17 12:08:55 +02:00
Christoph Oelckers
0526e0e04e - fixed: Array.Insert must zero all elements before the new one if something gets inserted outside the existing range. 2020-10-17 11:40:51 +02:00
Christoph Oelckers
d6e962c91e - upgraded code base to C++17.
Mainly to allow using 'if constexpr'.
Older CI compiler setups like GCC 5 for Linux were removed as a consequence.
Windows 32 bit was also removed because there are no plans to do any more 32 bit releases of GZDoom.
2020-10-17 11:39:59 +02:00
Christoph Oelckers
a89afe61f2 - use a few static asserts instead of runtime asserts in the VM's type code. 2020-10-17 10:18:37 +02:00
Christoph Oelckers
65c52b9825 - Backend update. 2020-10-16 23:25:18 +02:00
Christoph Oelckers
ef7a7cc39d - moved console command line buffer tab completion into their own files.
- layout fixes in load/save menu and confirmation screen.
2020-10-16 22:57:30 +02:00
Christoph Oelckers
a6842b6482 - ensure that sfxinfo_t is always fully initialized, regardless how the setup is performed.
The recent pitch additions did not do this on all possible paths.
2020-10-16 22:57:30 +02:00
Christoph Oelckers
4deb7593b5 - final update of menu code from Raze. 2020-10-16 22:57:30 +02:00
Christoph Oelckers
fa4ab53e7c - script side support for menu transitions. 2020-10-16 22:57:29 +02:00
Christoph Oelckers
cf7518fe43 - added two more system callbacks for menu customization. 2020-10-16 22:57:29 +02:00
Christoph Oelckers
881a77b3a1 - backport of menu transition code from Raze. 2020-10-16 22:57:29 +02:00
Christoph Oelckers
62138decfe - use Raze's layout for load and save game menus.
This has a lot less black void on screen.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
b8281f4758 - Backend update from Raze. 2020-10-16 22:57:28 +02:00
Christoph Oelckers
3ea0658449 - split the savegame manager into a game dependent and a reusable game indepenent part.
- added menu/advance sound alias.
2020-10-16 22:57:28 +02:00
Christoph Oelckers
504f85e6d4 - moved date code to its own file. 2020-10-16 22:57:27 +02:00
Christoph Oelckers
f99ac8b28b - allow struct extensions in zscript.
This is mainly for splitting the Doom specific content off the main definitions for easier reuse.
2020-10-16 22:57:27 +02:00
Christoph Oelckers
3a81c07ecf - moved language switching code to 'common'. 2020-10-16 22:57:27 +02:00
Christoph Oelckers
a08d87beb3 - added a customization hook class for the menu.
Currently the only thing it does is abstracting the menu caption, but more can be added here.
Not exposed to modding yet, though, that's for later.
2020-10-16 22:57:26 +02:00
Christoph Oelckers
4b77064fc4 - moved most of the menu code into the backend. 2020-10-16 22:57:25 +02:00
Christoph Oelckers
f6240ef428 - merged string table callbacks with system callbacks. 2020-10-16 22:57:25 +02:00
Christoph Oelckers
f30285b0ce - route menu's CheckGame call through SysCallbacks.
Needed to be able to move the menu into the backend.
2020-10-16 22:57:25 +02:00
Christoph Oelckers
46043f6278 - moved AutomapBindings export into common code. 2020-10-16 22:57:24 +02:00
Alexander Kromm
aa16fefd88 add a message for the failure case for resetcvar command 2020-10-14 20:19:07 +02:00
Alexander Kromm
92d68d05db rename reset command to resetcvar and do not create a new CVAR 2020-10-14 20:19:07 +02:00
Alexander Kromm
18a8fafd7d add console command to reset a CVAR to default value
Rationale:
1. Now to reset a CVAR to default, the user doesn't need to remember the default value.
2. If a modder wants to reset a CVAR via menu command, they don't need to keep menudef and cvarinfo in sync.
2020-10-14 20:19:07 +02:00
alexey.lysiuk
43a3188bdf - fixed compilation warnings reported by GCC and Clang
src/common/filesystem/file_ssi.cpp:78:20: warning: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
src/common/filesystem/file_ssi.cpp:130:38: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
2020-10-10 17:26:51 +03:00
Rachael Alexanderson
a2f0c27651 - add option to texture hqresize resize model skins. 2020-10-08 00:30:12 -04:00
Christoph Oelckers
756caede51 - fixed misnamed variable and removed restriction for draw pass in GetFullscreenRect. 2020-10-05 18:32:16 +02:00
Christoph Oelckers
63a338fd73 - changed display in key binding menu to list all bound keys for an action, not just the first two. 2020-10-04 19:28:20 +02:00
Christoph Oelckers
f1b0f32786 - add an option to the ListMenu class to draw to a fixed virtual screen size.
This allows proper dimensions in the stock menus and should make menu layout for mods a lot easier because coordinates are more predictable than with the clean factors.
The feature is opt-in for custom content. As long as only stock elements are used, the menu will be able to switch between both on its own, but as soon as custom classes or custom elements are used, the virtual size must be declared explicitly, defaulting to clean scaling.
2020-10-04 15:03:29 +02:00
Wohlstand
4bfcbb4b18 libADLMIDI: Fixed a mistake with Volume Model setup
Don't set a bank number instead of a volume model!
2020-10-04 08:14:23 +02:00
Christoph Oelckers
f9ee465741 - backport of some enhancements for Cyrillic font support for Raze.
Now the identical looking characters can be mapped to their Latin counterpart if they do not have their own glyphs.
2020-10-04 08:11:56 +02:00
Christoph Oelckers
ff62d7a8a3 - made sysCallbacks a value variable instead of a pointer to simplify the checks for it. 2020-10-03 16:47:47 +02:00
Christoph Oelckers
2016f56a7e - added a new scaling mode to the level summary screen to scale to a given size.
In this mode the clean scaling factors are ignored and content is always scaled to fit the screen as efficently as possible.
For the default summary screens an option was added to use this mode, which is a lot closer to the original look of this screen.
It is not 100% identical because it still factors in the author, if given and long level names that may be broken into multiple lines of text.
2020-10-03 13:32:18 +02:00
Christoph Oelckers
bd68ef917e - this too. 2020-10-03 08:54:41 +02:00
Nikolay Ambartsumov
da97b51c35 Show CVar's default value in addition to current 2020-10-03 07:37:08 +02:00
C.W. Betts
b07c9550cf Update iwadpicker_cocoa.mm
Use proper integer types for ObjC protocols.
2020-09-29 21:47:10 +02:00
Christoph Oelckers
92d630eb45 - keep mouse coordinates as floats for as long as possible. 2020-09-28 22:12:44 +02:00
Christoph Oelckers
3cfd19b2ef - removed const that erorred out. 2020-09-28 21:38:48 +02:00
Christoph Oelckers
51518d63a4 - cleanup of mouse input code and removal of all magic factors.
Sensitivity scaling of both axes is now exposed as a raw factor to the user instead of obscuring it behind an unclear 'prescale' boolean.
This also consolidates the coordinate processing code to prevent such discrepancies as were present here from happening again.
Migration code for old config settings is present so that this change does not affect existing configurations.
2020-09-28 21:13:34 +02:00
Christoph Oelckers
3ef806c2e9 - do not set CTF_Indexed for the software canvas and do not check for the shader to make decisions.
Always check the flag.
2020-09-27 19:55:04 +02:00
alexey.lysiuk
99a0ab2372 - restored old mouse scaling for Cocoa backend
This reverts commit cc07c56c36.
2020-09-27 17:25:28 +03:00
Christoph Oelckers
5595eb6280 Revert "- make SDL mouse scaling match that of Windows for consistency."
This reverts commit 8578c11789.

This caused more problems than it cured.
2020-09-27 16:20:17 +02:00
Christoph Oelckers
1d863d6cab - made player indexing consistent in i_net.cpp. 2020-09-27 16:19:34 +02:00
Christoph Oelckers
baf93b51af - handle SoftLightLevel properly in the 2D drawer. 2020-09-27 16:09:35 +02:00
Jaime Moreira
fd4d600694 SDL joystick events now work while in menus
- DirectInput axes are now X first, Y second.
- Menu axes controls swapped/fixed.
- Added SDL DualShock3 buttons in menu actions.
- Fixed SDL mouse system cursor; it could appear in-game.
2020-09-27 15:05:15 +02:00
Player701
3a526c9e5a - Implement return type covariance for ZScript virtual functions 2020-09-27 14:18:15 +02:00
Christoph Oelckers
df3dc91514 - fixed crash on texture init. 2020-09-27 13:32:30 +02:00
Christoph Oelckers
348f9ae68c - moved i_net into 'common' to bring it in line with Raze. 2020-09-27 12:30:54 +02:00
Christoph Oelckers
228dfb5b8d - removed dead uBlendColor uniform. 2020-09-27 11:57:17 +02:00
Christoph Oelckers
c65fd80fd2 - added support code for indexed rendering from Raze. 2020-09-27 11:53:39 +02:00
Christoph Oelckers
2be5dc9238 - fixed binding issues in OpenGL when resetting the samplers due to a texture filter change. 2020-09-27 11:53:15 +02:00
Christoph Oelckers
6dd6df96e1 - font side support for 'OffsetsNotForFont' flag. 2020-09-27 11:40:03 +02:00
Christoph Oelckers
b3a179b691 - backported symbol table support for FScanner from Raze. 2020-09-27 11:36:13 +02:00
Christoph Oelckers
8a0634ed0d - file system update from Raze
* support for SSI container format - this is an obscure format used by a few Duke Nukem mods - added to have this subsystem identical between both engines.
* removed some dead wrapper code
* made the Open methods local to their implementations, this was never called virtually.
2020-09-27 10:56:42 +02:00
Christoph Oelckers
79ac41c5b3 - more 'override's. 2020-09-27 10:48:38 +02:00
Christoph Oelckers
31628a70c8 - added some 'overrides' and block 'forcelookup' for script access to textures. 2020-09-27 10:45:45 +02:00
Christoph Oelckers
528e4e46b3 - texture manager update from Raze
* new texture format: ANM - this reads the first frame of a Build-ANM movie as a texture.
* some preparations for indexed (paletted) rendering.
* optimization of the patch texture checker - do not read in the entire file if checking the initial header is sufficient for rejecting it.
2020-09-27 10:38:12 +02:00
Christoph Oelckers
96ceb11af0 - various engine updates from Raze.
* removed refreshFreq variable and related code. This only got into the backend because of stupid interpolation code in some of the Build games which has long been removed.
* save FixedBitArrays as base64 in savegames.
* allow indirections in the string table - by prefixing the language string with '$$' the remaining text is interpreted as another string label to resolve.
* constexpr in palette code, also replacing #defines with enums.
2020-09-27 10:17:58 +02:00
Christoph Oelckers
c65f707a20 - added a proper 'sound finished' callback to the sound engine.
Backported from Raze - without this there is no way to implement sounds that can unload themselves, because the existing ChannelEnded function is called when the sound is still active.
2020-09-27 09:46:12 +02:00
Christoph Oelckers
2b64f8fb19 - added custom sound stream feature from Raze.
Currently not active yet but may be useful to implement streaming sounds in ZScript
2020-09-27 09:38:14 +02:00
Christoph Oelckers
700304bf46 - update of console code.
Backports con_pulsetext and toggle messages for CVARs from Raze.
2020-09-27 09:35:06 +02:00
Christoph Oelckers
c415518066 - allow drawing fonts with explicit palette translations.
Backported from Raze.
2020-09-27 09:19:12 +02:00
Christoph Oelckers
dbf2d4d7d7 - backported all new scaling and rotation options for the 2D drawer from Raze.
With proper scaling and viewport support, things should become a lot easier now. The 2D drawer now also can rotate content by arbitrary angles.
2020-09-27 09:17:41 +02:00