Christoph Oelckers
4fb6b7c7d4
- block off the Substitute function by making it private to the 3 classes that really need it.
2020-04-19 21:08:24 +02:00
Christoph Oelckers
bd3f4e7347
- relax pointer substitution restriction for morphed monsters.
2020-04-19 21:08:23 +02:00
Christoph Oelckers
b7ea483323
- fixed checkForHacks placement.
2020-04-19 19:52:03 +02:00
Christoph Oelckers
8dbc727178
- fixed compile errors pointed out by CI
2020-04-19 19:05:50 +02:00
Christoph Oelckers
88d5bf6877
- relax pointer substitution restriction for morphed monsters.
2020-04-19 19:03:25 +02:00
Christoph Oelckers
0eb68177ca
Merge branch 'master' into texture_rework
2020-04-19 18:07:16 +02:00
Christoph Oelckers
052172b9ee
- let TeleportSpecial universally map to Teleport when checking action special names.
2020-04-19 18:00:27 +02:00
Christoph Oelckers
db6a284253
- apply aspect ratio compensation for all fullscreen images with a height of 200 and 400, and not just to 320x200 and 640x400.
2020-04-19 13:49:10 +02:00
Christoph Oelckers
a21d3ae106
- fixed incorrect value range for particle's depth value, used for sorting.
2020-04-19 13:46:00 +02:00
Christoph Oelckers
e63871d6f5
- made 3D floor damage transfers optional by adding a new flag bit (2048) and made that mode automatic for the old ZDoom-based light only transfer special.
2020-04-19 13:40:21 +02:00
Christoph Oelckers
5228a67ff5
- fixed keybinding reader - before trying to load DEFBINDS the lump index wasn't reset.
2020-04-19 13:23:02 +02:00
Christoph Oelckers
90f3b49bc3
- removed the "no IWAD definitions found" error message because the condition it checks for is not an error.
2020-04-19 13:17:20 +02:00
Christoph Oelckers
6dfc416b51
- fixed setup of IPK3's where all content is in a subdirectory.
...
These never received the file name list that was needed to eliminate this directory from internal paths.
2020-04-19 13:04:29 +02:00
Christoph Oelckers
d4cc217d42
- fixed a few things that slipped through
2020-04-19 12:40:30 +02:00
Christoph Oelckers
14ce0f4605
- deleted unused variable.
2020-04-19 12:37:50 +02:00
Christoph Oelckers
1c99e0917e
- do not treat the ':' as a path separator.
...
The cases where it really is needed have special handling for it, in all others it causes more problems than it solves.
2020-04-19 12:24:12 +02:00
Christoph Oelckers
b2281c38e1
- fixed texture layer management so that each material layer can decide for itself if it wants to allow upscaling.
...
- rewrote the hardware texture precacher to use the new texture management to properly track the data to delete.
2020-04-19 10:57:56 +02:00
Christoph Oelckers
cedc95c2a5
- split out FGameTexture into its own files.
2020-04-19 10:57:56 +02:00
Christoph Oelckers
5a2a72fc95
- store the Vulkan descriptor sets in the material - where they belong!
...
Having them in the base texture object was a major maintenance issue.
2020-04-19 10:57:56 +02:00
Christoph Oelckers
46e75e8107
- fixed crash with particles checking a non-existent actor.
2020-04-19 10:57:56 +02:00
Christoph Oelckers
c836dd3dbf
- initialize bNoRemap0
2020-04-19 10:57:55 +02:00
Christoph Oelckers
ef8e7a4944
- reworked the multipatch texture builder to reuse the FImageTexture objects.
2020-04-19 10:57:55 +02:00
Christoph Oelckers
59cd049b77
- added missing handling for Rotations to the hardware renderer.
...
Untested due to lack of material.
2020-04-19 10:57:55 +02:00
Christoph Oelckers
389892a079
- moved SkyOffset and Rotations.
2020-04-19 10:57:55 +02:00
Christoph Oelckers
f7dd16ba16
- test skyboxes with dynamic_cast and scale them properly.
2020-04-19 10:57:55 +02:00
Christoph Oelckers
217b80b1fb
- moved the brightmap check flag out of FTexture.
2020-04-19 10:57:54 +02:00
Christoph Oelckers
0a1bd458db
- moved most material flags out of FTexture.
2020-04-19 10:57:54 +02:00
Christoph Oelckers
d812801707
- moved the shader properties to FGameTexture.
2020-04-19 10:57:54 +02:00
Christoph Oelckers
e60d758287
- made all member variables of FTexture protected. Also temorarily disabled the CleanUnused call of the precacher - this needs some reworking, now that the texture system is better equipped for it.
2020-04-19 10:57:54 +02:00
Christoph Oelckers
718949f74d
- moved the texture name to FGameTexture.
2020-04-19 10:57:53 +02:00
Christoph Oelckers
7dd108c960
- removed FTexture's Scale variable.
2020-04-19 10:57:53 +02:00
Christoph Oelckers
eb369dbf41
- initialize texture offsets for images on construction.
2020-04-19 10:57:53 +02:00
Christoph Oelckers
61380fc505
- moved the offsets to FGameTexture.
...
# Conflicts:
# src/common/textures/textures.h
2020-04-19 10:57:53 +02:00
Christoph Oelckers
8843761bf8
- moved most of the texture size maintenance to the FGameTexture class.
2020-04-19 10:57:53 +02:00
Christoph Oelckers
9bc1d4f38f
- restored null texture setup.
2020-04-19 10:57:52 +02:00
Christoph Oelckers
c563f4993f
- took the sky cap color getter out of the texture system.
...
# Conflicts:
# src/common/textures/textures.h
2020-04-19 10:57:52 +02:00
Christoph Oelckers
d1da26895b
- moved the texture ID up one level.
2020-04-19 10:57:52 +02:00
Christoph Oelckers
7641da8b7b
- moved several members from FTexture to FGameTexture.
2020-04-19 10:57:52 +02:00
Christoph Oelckers
42304d9680
- store the material layers in reference counted pointers in the FGameTexture object.
...
Reference counting is used because a texture image may be shared by more than one game texture.
2020-04-19 10:57:51 +02:00
Christoph Oelckers
70ec20c137
- optimization of texture scaling checks.
...
The texture dimension checks can be performed up front when the texture is inserted into the texture manager.
2020-04-19 10:57:51 +02:00
Christoph Oelckers
09898ef6c3
- cache the upscaling check's result in the texture, as this will be queried quite frequently.
2020-04-19 10:57:51 +02:00
Christoph Oelckers
8505c7ee7d
- major refactor of texture upscaling control.
...
All decisions were done deep inside the texture creation code, leaving zero options to the higher level code for controlling the feature.
Changed this so that the option to upscale must be passed as a parameter to FRenderState::SetMaterial and extended all needed variables to manage the added texture variants.
Still not solved: Material layers need explicit control, not only for scaling but also for filtering.
2020-04-19 10:57:51 +02:00
Christoph Oelckers
0b990f0dcb
- moved the decision whether to upscale textures up one level in the function chain. Still not the perfect place, this should be decided before creating the texture, not in the middle of the process.
...
- disabled the selective texture cleaning in the precacher. The logic here turned out to be a serious blocker and needs to be rethought.
2020-04-19 10:57:50 +02:00
Christoph Oelckers
a81bb2a136
- make FGameTexture a separate object owning an FTexture instead of merely using a type cast to access it.
2020-04-19 10:57:50 +02:00
Christoph Oelckers
095a5e2c0a
- allocate the sprite positioning info on demand only.
...
For most textures this is never needed and it can easily be put in the memory arena being used for image sources.
2020-04-19 10:57:50 +02:00
Christoph Oelckers
c5e81c54a2
- Moved the raw texture handling into the texture manager as well.
2020-04-19 10:57:50 +02:00
Christoph Oelckers
5352682697
- moved the front layer hack for Hexen's skies to the texture manager.
2020-04-19 10:57:50 +02:00
Christoph Oelckers
da873ca8d1
- moved the handling for paletted replacements into the texture manager.
...
This is something the texture should not concern itself with.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
18760d6622
- deleted unused function.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
662fa6e667
- removed the conversion helper code and fixed a few places where FMaterial was only used to access the hardware textures in the FTexture class.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
7bdef7fe9a
- cleaned the texture manager's method interface from FTexture references.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
f5d5888c22
- thinned out the Texturemanager interface.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
437d4f8af0
- changed storage in texture manager to FGameTexture.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
397b1520bc
- deal with I_SetCursor
2020-04-19 10:57:48 +02:00
Christoph Oelckers
c605359b0e
- animator transitioned.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
83817080bb
- more texture cleanup.
...
It is now in a state where FTexture really needs to be separated from FGameTexture.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
31035a6cea
- cleaned out the coordinate code in FMaterial.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
c178313da5
- got rid of the last remaining FMaterial references in the high level renderer.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
4cbd20e822
- transitioned sky and decal code away from FMaterial.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
cca3f878f5
- removed FMaterial references from other high level renderer data like HWFlat and HWSprite.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
1146cf9e08
- use FGameTexture instead of FMaterial for texture tracking in HWWall.
...
The FMaterial object is only needed when finally binding the texture to the render state.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
0ce0099e29
- moved the sprite positioning info out of FMaterial back into FTexture.
...
This cleans out half of FMaterial and brings it closer to being a texture binding descriptor, which is all it really should be.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
9099bc8420
- reworking some lower level texture code.
2020-04-19 10:57:46 +02:00
Christoph Oelckers
72835c5462
- transitioned the GLDEFS parser to FGameTexture.
2020-04-19 10:57:46 +02:00
Christoph Oelckers
54f4267597
- use FGameTexture in the model rendering code.
2020-04-19 10:57:46 +02:00
Christoph Oelckers
b9b6a354c7
- changed all texture access in the play code to use FGameTexture and redid Hexen's front sky layer by adding a new texture instead of hacking the existing one.
2020-04-19 10:57:46 +02:00
Christoph Oelckers
9e7094848c
- transitioned the 2D drawer to FGameTexture.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
d9928b51a8
- eliminated all cases of calling DrawTexture with an FTexture.
...
Everything uses FGameTexture now.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
c7db5b932e
- switched the entire status bar code to use FGameTexture.
...
- scale the automap parchment to clean 320x200 dimensions.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
5d8adb90c4
- made 'supportRemap0' an image property so that later the handling for this can be taken out of the actual texture class by just providing a replacement texture for the skies.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
9593cb56ae
- decoupled the software renderer entirely from FTexture - it will only look at FSoftwareTexture now, all access to the texture manager has been wrapped.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
73b4fbe861
- FGameTexture conversion in am_map.cpp
2020-04-19 10:57:44 +02:00
Christoph Oelckers
aeba304715
- texture code refactoring to consolidate multiple textures referencing the same backing image.
2020-04-19 10:57:44 +02:00
Christoph Oelckers
3a47c5c7f7
- fixed Vulkan's uTextureMode setup. Also only mask out the flags we really do not want to avoid surprises in the future.
2020-04-19 10:57:44 +02:00
Magnus Norddahl
9ef6d8fd53
Always null textures for all slots because the vulkan target is an OpenGL emulator ;)
2020-04-19 10:57:44 +02:00
Christoph Oelckers
7c46dace03
- this still doesn't work on Vulkan. :(
2020-04-19 10:57:44 +02:00
Christoph Oelckers
dd5de4ce51
- removed test code that forced all textures being warped.
2020-04-19 10:57:43 +02:00
Christoph Oelckers
8381092cce
- major shader rework
...
* handle brightmaps in the main shader instead of keeping separate instances around.
* added detail and glow layers from Raze.
* fixed material setup which could not guarantee that everything was initialized correctly.
* for warped textures, warp all layers. With this brightmaps finally work on warped textures.
Note: Vulkan reports a "device lost" error with this which still needs to be investigated.
2020-04-19 10:57:43 +02:00
alexey.lysiuk
b5c88957f0
- fixed detection of standalone IWADs
...
https://forum.zdoom.org/viewtopic.php?t=68218
2020-04-17 12:29:46 +03:00
Rachael Alexanderson
c1421b70cf
Revert "- fixed: player spawn code should now always use defaults for the currently selected player class, not current flags"
...
This reverts commit 8dda7c02c9
.
2020-04-15 07:02:58 -04:00
Rachael Alexanderson
8dda7c02c9
- fixed: player spawn code should now always use defaults for the currently selected player class, not current flags
2020-04-15 06:58:27 -04:00
Christoph Oelckers
3e02121822
- fixed setup of content ID in CreateTexBuffer.
2020-04-13 14:55:16 +02:00
Christoph Oelckers
e92be97f33
- let FSkybox inherit from FImageTexture to simplify the redirection of the base image for the software renderer.
2020-04-13 14:23:57 +02:00
Christoph Oelckers
9a3b663e04
- fixed text size calculations in the status bar.
...
To avoid errors, all spacing calculations have been added to FFont::StringWidth which already performs proper escape filtering.
2020-04-13 12:11:14 +02:00
Christoph Oelckers
17df95d69e
- fixed startup-time setup of serverinfo CVARs.
...
Looks I completely forgot this part when refactoring the interface - it must account for the callbacks not doing anything due to the network code not being operational yet.
2020-04-13 11:53:08 +02:00
Christoph Oelckers
6722b64ac0
- fixed: Setting 'noallies' on the level cleared the player's friendly flag.
...
The check was for mobj->player, which at this point wasn't set yet so the check failed.
2020-04-13 10:54:40 +02:00
Christoph Oelckers
4b5c74f856
- reactivated saving of sounds by name, not by index.
2020-04-13 10:32:46 +02:00
alexey.lysiuk
d29c6a55eb
- fix autoseg registration by moving start/end files back to src directory
...
Link order was wrong when building via Xcode project because CMake generator sorts files by paths
This made most of classes missing from corresponding segments, and the game crashes right after launch
2020-04-13 10:14:07 +03:00
Major Cooke
a56177f178
Begin TICRATE conversion.
...
- Moved TICRATE from Thinker to Object in ZScript so status bars have access to it.
2020-04-12 22:43:33 +02:00
alexey.lysiuk
9c23c0ac59
- fixed compilation with GCC 5
2020-04-12 11:50:11 +03:00
alexey.lysiuk
5a56f209d3
- fixed conditions with SND_PlayerReserve flag
...
src/sound/s_advsound.cpp:953:9: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
src/sound/s_advsound.cpp:1264:20: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
src/sound/s_advsound.cpp:1426:6: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
2020-04-12 11:49:47 +03:00
alexey.lysiuk
72c8df530f
- fixed compilation of optimized GCC and Clang targets
2020-04-12 11:03:25 +03:00
alexey.lysiuk
f0ca7fb213
- fixed compilation of Linux targets
2020-04-12 11:03:01 +03:00
alexey.lysiuk
91914b728b
- fixed compilation of Cocoa backend
2020-04-12 11:02:28 +03:00
alexey.lysiuk
2b1ef5f4f2
- common fixes for compilation with GCC and Clang
2020-04-12 11:02:05 +03:00
alexey.lysiuk
f5a98ed7fa
- fixed CMake configuration
...
CMake Error at src/CMakeLists.txt:1188 (add_executable): Cannot find source file: gamedata/textures/bitmap.cpp
2020-04-12 10:59:09 +03:00
Christoph Oelckers
ab8d2ef62d
- fixed serializer.
...
All includes of RapidJSON *must*(!!!) have the same #defines, otherwise incompatible code will be generated without any hint of a warning.
2020-04-11 22:53:26 +02:00
Christoph Oelckers
07e303f99b
- fixed compilation.
2020-04-11 22:23:09 +02:00
Christoph Oelckers
8f8aed5ee3
- moved bitmap.cpp to 'common' and remove the duplicate IceRemap.
2020-04-11 20:23:26 +02:00
Christoph Oelckers
9dce6d88fa
- use 'override' qualifier.
2020-04-11 20:21:00 +02:00
Christoph Oelckers
0cb2a1b8e9
- moved gl_load to common.
2020-04-11 20:20:59 +02:00
Christoph Oelckers
295fa1e73f
- header cleanup in gl_interface.cpp
2020-04-11 20:20:59 +02:00
Christoph Oelckers
1e40b745d5
- added some things from Raze to allow using the same code in both projects.
2020-04-11 20:20:59 +02:00
Christoph Oelckers
5fe22c70b5
- moved the 2D drawer to 'common'.
2020-04-11 20:20:59 +02:00
Christoph Oelckers
def123823b
- cleanup of 2D code.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
ce4c2be3c7
- use the 2d drawer's size where appropriate.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
b18faacab0
- 2D drawer cleanup.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
ac1f4b8f11
- initialize native functions before the first query.
2020-04-11 20:20:57 +02:00
Christoph Oelckers
932f5c64c2
- moved stats.cpp to common.
2020-04-11 20:20:57 +02:00
Christoph Oelckers
fa99fc5346
- added global variants of the main 2D-draw functions taking an F2DDrawer as their first parameter.
...
This is a preparation for refactoring the calls to these so that they no longer require a 'screen' parameter.
2020-04-11 20:20:57 +02:00
Christoph Oelckers
3bf7686cfb
- moved v_text.cpp to 'common'.
2020-04-11 20:20:56 +02:00
Christoph Oelckers
2e5bc3e962
- moved compiler frontend to 'common'.
2020-04-11 20:20:56 +02:00
Christoph Oelckers
466ed4e8f2
- separated the Doom specific parts of the ZScript parser from the core into a subclass.
2020-04-11 20:20:56 +02:00
Christoph Oelckers
2838f5792c
- moved all FString exports from vmthunks to stringformat.cpp.
2020-04-11 20:20:55 +02:00
Christoph Oelckers
a28182fe35
- moved the script compiler's backend to 'common'.
2020-04-11 20:20:55 +02:00
Christoph Oelckers
3454314bb1
- separated the Doom specific parts from the compiler backend into a separate file, these parts now get invoked via callback hooks.
2020-04-11 20:20:55 +02:00
Christoph Oelckers
64dc9ac456
- moved around some bits of code.
2020-04-11 20:20:54 +02:00
Christoph Oelckers
ef8b4c7d5e
- put the state pointer serializer in a virtual function so that types.cpp can operate without any knowledge of Doom states.
2020-04-11 20:20:54 +02:00
Christoph Oelckers
1ce11ff02a
- dictionary can also go to 'common'.
2020-04-11 20:20:54 +02:00
Christoph Oelckers
f6bd2e4f76
- moved serializer to 'common'.
2020-04-11 20:20:54 +02:00
Christoph Oelckers
7b292cca57
- split the serializer in two to keep the Doom specific parts out of the main file.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
f74efcf721
- split the TObjPtr serializers into a separate file to avoid polluting everything that needs to use the serializer.
...
To use these it is necessary to include dobject.h and all its dependencies, so this should not be done unless necessary.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
f02c5c0a56
- took InitializeDefaults out of PClass and moved it to PClassActor.
...
Like so many other parts, this created a hard dependency of the low level code on very invasive game content.
2020-04-11 20:20:53 +02:00
Christoph Oelckers
74c5f83658
- moved most of the root marking out of the garbage collector, replacing it with callbacks.
...
Yet another place where low level code was tied too tightly to the game instead of providing a proper interface.
2020-04-11 20:20:52 +02:00
Christoph Oelckers
933c1f6403
- moved dumpactors CCMD out of dobject.cpp.
2020-04-11 20:20:52 +02:00
Christoph Oelckers
cf51508ce6
- moved around some pieces of code to make sharing with Raze easier.
2020-04-11 20:20:52 +02:00
Christoph Oelckers
f8ac9a2662
- moved DObject and core parts of the VM to 'common'.
...
# Conflicts:
# src/common/objects/dobject.h
2020-04-11 20:20:51 +02:00
Christoph Oelckers
1a0ace4f88
- palette related fixes.
2020-04-11 20:20:40 +02:00
Christoph Oelckers
940f1dc9a2
- move font code to 'common'.
...
- fix use of translation slot 0, used for internal translations.
2020-04-11 20:20:40 +02:00
Christoph Oelckers
32300f7d26
- use translation slot 0 for reserved content, like font translations.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
2dcf63c57d
- backport some fixes from Raze - mostly redundant includes.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
d586ffa79c
- const-ified the palette pointers in the texture creation code.
...
- fixed includes.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
65f15e1147
- moved the material class to 'common' as well.
2020-04-11 20:20:38 +02:00
Christoph Oelckers
580e463498
- moved texture code to 'common'.
2020-04-11 20:20:38 +02:00
Christoph Oelckers
5bde737be9
- split buildtexture.cpp in two.
...
The texture itself is 'common', but the setup is not.
2020-04-11 20:20:38 +02:00
Christoph Oelckers
2ff93b4635
- added the missing blend modes to FRenderStyle.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
3e285d2261
- moved renderstyle and colortables code to 'common'.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
f8e9cb8fbc
- major dependency reduction of the texture system.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
ab77416ddc
- set transparent color 0 in the proper place.
2020-04-11 20:20:36 +02:00
Christoph Oelckers
1ed170d955
- moved some data needed by the texture system into palettecontainer.cpp.
2020-04-11 20:20:36 +02:00
Christoph Oelckers
be24023722
- split animation management out of the texture manager into a separate class.
2020-04-11 20:20:36 +02:00
Christoph Oelckers
7d192decc7
- some cleanup of the texture code
...
* removed unneeded includes
* moved global brightmap to GPalette
* took Build tile init code out of the FTextureManager class, because this code is not compatible with how real Build games need to go about it, making the texture manager not shareable.
* removed dependency on higher level info from the Image class.
2020-04-11 20:20:35 +02:00
Christoph Oelckers
a13c7bd053
- moved sound code to "common".
2020-04-11 20:20:35 +02:00
Christoph Oelckers
018794f1dd
- moved game specific data out of the sound backend.
...
In Raze I already had a user data array for that so this gets used here, too, now.
Also copied a few other fixes.
2020-04-11 20:20:35 +02:00
Christoph Oelckers
50e1efa965
- minor sound code cleanup
...
# Conflicts:
# src/sound/backend/oalsound.cpp
2020-04-11 20:20:34 +02:00
Christoph Oelckers
cd9e2d3795
- moved music code to "common".
2020-04-11 20:19:55 +02:00
Christoph Oelckers
7d36af8840
- put things in their proper place.
2020-04-11 20:19:55 +02:00
Christoph Oelckers
00bbc48e70
- music.cpp include cleanup
...
- use a TMap to store music volume settings instead of using a homegrown linked list.
2020-04-11 20:19:54 +02:00
Christoph Oelckers
f0534afde6
- separated the game-dependent music lookup parts from the core player.
2020-04-11 20:19:54 +02:00
Christoph Oelckers
4af96bab47
- some cleanup on music code.
...
* change the license of the main file because there is no more id-based code here licensed under the GPL.
* moved VM interface definition out of the implementation.
* moved idmus CCMD out of implementation because it is dependent on Doom level definitions.
* moved s_music.cpp into the music folder with the rest of the music code.
2020-04-11 20:19:54 +02:00
Christoph Oelckers
56f2b2ac56
- reduce backend's dependency on game state by using callbacks.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
721b857e5e
- minor FTexture cleanup.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
b4e9c3f20d
- missed two things that need to be 'common'.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
ac610d87e5
- merged FPalette and PaletteContainer.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
f94e4a908c
- m_png is common.
2020-04-11 20:19:52 +02:00
Christoph Oelckers
7243495b16
- moved special color maps to utilities.
...
The default tables are needed by the texture compositor which should be universal, so this needs to be, too.
2020-04-11 20:19:52 +02:00
Christoph Oelckers
db62aeb671
- c_cmds is not 'common'.
2020-04-11 20:19:52 +02:00
Christoph Oelckers
777f2ee7c6
- moved stringtable to 'common'.
2020-04-11 20:19:51 +02:00
Christoph Oelckers
b3c7b81893
- decoupled the string table from game implementation details.
...
Using callbacks now to query needed game state.
2020-04-11 20:19:51 +02:00
Christoph Oelckers
c3a381ed92
- moved most of the console code to 'common'.
...
The main console.cpp file cannot be done yet, but the rest is ready to go.
2020-04-11 20:19:51 +02:00
Christoph Oelckers
a712866219
- split out non-game specific CCMDs into their own file.
2020-04-11 20:19:51 +02:00
Christoph Oelckers
8dacdf2951
- use an array to store the buttons.
...
This puts a lot less knowledge about the game's features into the low level code.
2020-04-11 20:19:50 +02:00
Christoph Oelckers
0e7480b4ed
- moved the file lookup functions to utilities.
...
# Conflicts:
# src/common/utility/findfile.cpp
2020-04-11 20:19:50 +02:00
Christoph Oelckers
5dd89541fe
- made console notification scrolling independent of the global game ticker variable.
2020-04-11 20:19:25 +02:00
Christoph Oelckers
d7a9bdc858
- moved key definitions to their own header.
...
- moved VM hooks to vmthunks.cpp.
- header cleanup for c_bind.h to avoid including high level game definitions.
2020-04-11 20:19:25 +02:00
Christoph Oelckers
756a743974
- uncouple console's cursor blinking from the game ticker.
...
This is now done in real time by the drawer.
2020-04-11 20:19:25 +02:00
Christoph Oelckers
31fbff85f4
- c_dispatch header cleanup and splitting of gamestate into a separate header, to avoid polluting low level code with game specific headers.
2020-04-11 20:19:25 +02:00
Christoph Oelckers
b7ff7302e5
- copied some CCMD improvements from Raze
...
* no longer uses copystring function.
* ability to dynamically register CCMDs.
2020-04-11 20:19:24 +02:00
Christoph Oelckers
d63a6baa5d
- removed the 'caller' parameter from the CCMD dispatcher.
...
This can never be anything but players[consoleplayer].mo, so there is no need to pass it through the interface.
2020-04-11 20:19:24 +02:00
Christoph Oelckers
603ad755ab
- separated the button code from c_dispatch.
...
Two separate features justify two separate files.
2020-04-11 20:19:24 +02:00
Christoph Oelckers
4a50f78bfe
- more work on console code.
2020-04-11 20:19:24 +02:00
alexey.lysiuk
0d420a75b7
- fixed compilation for Linux and macOS
2020-04-11 20:36:36 +03:00
Christoph Oelckers
76db26ee0b
- split off the console's command line class into its own file.
2020-04-11 14:00:22 +02:00
Christoph Oelckers
e425615770
- moved the V_GetColor family of functions to the global palette utilities.
2020-04-11 14:00:22 +02:00
Christoph Oelckers
1479e3a1c3
- CVAR cleanup, in particular decoupling from game internals, which now get handled via callbacks.
2020-04-11 14:00:22 +02:00
Christoph Oelckers
05239c63f9
- moved some palette related code into the 'common' folder.
2020-04-11 14:00:22 +02:00
Christoph Oelckers
c713850dac
- moved sc_man and palettecontainer to the 'common' folder.
2020-04-11 14:00:21 +02:00
Christoph Oelckers
98472d999b
- moved name.cpp to 'common'.
...
Still got to find a way to handle namedef.h without polluting the low level code with game content.
2020-04-11 14:00:21 +02:00
Christoph Oelckers
a00c976245
- removed a large batch of unused names.
2020-04-11 14:00:21 +02:00
Christoph Oelckers
5ac88ebce2
- added some Raze-specific file system utilities so that both can work with the same code.
2020-04-11 14:00:21 +02:00
Christoph Oelckers
05d8856fe0
- moved file system implementation to 'common'.
2020-04-11 14:00:20 +02:00
Christoph Oelckers
80c6d5b276
- renamed more stuff and also moved the Strife teaser voice handling out of the file system.
2020-04-11 14:00:19 +02:00
Christoph Oelckers
c1bb7de23a
- more file system refactoring.
...
* moved the sprite renaming out of the file system entirely into a caller-provided callback.
* renamed several functions to closer match the terms of a file system.
* moved the VM interface out of the implementation.
2020-04-11 14:00:19 +02:00
Christoph Oelckers
6bccde3b51
- renamed the file system related classes to actually use the term "FileSystem".
2020-04-11 14:00:18 +02:00
Christoph Oelckers
83befa7686
- moved the "??? lumps" messages out of the single resource file handlers into the calling function and did a bit of include cleanup.
2020-04-11 14:00:18 +02:00
Christoph Oelckers
7d83dfa03a
- moved the file names used for deciding to remove the root directory of zips out of the resource file management.
...
Yet again too much dependencies on game specifics in low level code.
2020-04-11 14:00:18 +02:00
Christoph Oelckers
135f159927
- pass lump filters as parameter when initializing the file system to reduce dependencies on high level state in the low level code.
2020-04-11 14:00:17 +02:00
Christoph Oelckers
d12a9bb77a
- renamed the caching functions of FResourceLump.
2020-04-11 14:00:17 +02:00
Christoph Oelckers
510fc2d549
- added handler for Witchaven's sound resource files.
...
Useful for loading these to play the MIDIs. Since these files have no named directory, the content just gets inserted into a subdirectory named after the file with each entry given a 4 digit hex number as a name.
2020-04-11 14:00:17 +02:00
Christoph Oelckers
1574799683
- moved most parts of the Doom specific lump setup out of the file format implementations into the main class.
...
This is to keep as much higher level logic out of these as possible. The presentation of the data should be a concern of the file system, not the data containers.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
ef300a9ea8
- lump flags cleanup.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
025e80b74a
- moved NeedFileStart out of the lump flag word into an empty part of the FZipLump structure.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
a38633aa22
- moved the file name management out of the single resource lumps.
...
This is now being managed by the main file system class. The single lumps should only concern themselves with the actual data they manage, not with how the file system presents them to the outside.
The IWAD detection code was also switched to use a file system wrapper instead of looking at the single files directly.
2020-04-11 14:00:16 +02:00
Christoph Oelckers
89fb479c19
- moved the linkedTexture pointer up one level out of the resource descriptor into the file system record.
2020-04-11 14:00:15 +02:00
Christoph Oelckers
2e258e8cdb
- include cleanup in Win32 folder.
2020-04-11 14:00:15 +02:00
Christoph Oelckers
fdc14ca805
- renamed fullscreen CVar internally to vid_fullscreen to make searching for it easier.
...
The word 'fullscreen' appears a bit too frequently in the source.
2020-04-11 14:00:15 +02:00
Christoph Oelckers
d523da1313
- make DumpCPUInfo return a string instead of letting it print the info itself. Also consolidated I_Init, because both existing versions were identical.
2020-04-11 14:00:15 +02:00
Christoph Oelckers
76352dd9b3
- moved the last remaining utilities.
2020-04-11 14:00:14 +02:00
Christoph Oelckers
5a1c4693de
- moved SFMT to 'common'.
...
Now it is third party code with no hooks into higher level dependencies.
2020-04-11 14:00:14 +02:00
Christoph Oelckers
9ef6b15bfa
- moved more stuff and split FRandom in two so that the high level baggage does not need to be pulled in to use the RNG.
2020-04-11 14:00:14 +02:00
Christoph Oelckers
fb1a7679ec
- moved most basic utility code without any dependencies on the rest of the engine to 'common' directory.
...
Again the objective is easier sharing with Raze.
2020-04-11 14:00:13 +02:00
Christoph Oelckers
ace3e29473
- removed the implicit conversion operators from FName.
...
These were creating dangerous interdependencies. It is better to do explicit conversions when needed.
As an added plus, this means that zstring.h no longer depends on name.h which was very annoying.
2020-04-11 14:00:13 +02:00
Christoph Oelckers
6996d54a23
- moved more code to 'common'.
...
This is all low level utilities with no dependencies on game logic. Having this in a separate directory makes sharing with Raze a lot easier.
2020-04-11 14:00:12 +02:00
Christoph Oelckers
e230420f88
- moved all character set utilities to utf8.cpp.
...
- moved matrix class to 'common'.
2020-04-11 14:00:12 +02:00
Christoph Oelckers
669e8fbe48
- started some reorganization of low level utility code by moving all third party dependencies to a separate place.
2020-04-11 14:00:12 +02:00
Christoph Oelckers
820fe8b3f9
- split off the container for the translation data into its own file.
2020-04-11 14:00:11 +02:00
Christoph Oelckers
66a837f983
- took the translation slot definition out of the container and use a dynamic array to store the data.
2020-04-11 14:00:11 +02:00
Christoph Oelckers
cf757ba834
- made the translation container a class.
...
This also splits off some Doom-specific implementation details into higher level headers.
2020-04-11 14:00:11 +02:00
Christoph Oelckers
520a96033b
- minimalized the interface to the translation tables to a small set of functions.
...
Now the internals can be refactored without affecting all using code.
2020-04-11 14:00:10 +02:00
Christoph Oelckers
0a7344e432
- abstract the external translation interface.
...
The translation table array now only gets accessed from within r_translate.cpp.
2020-04-11 14:00:10 +02:00
Christoph Oelckers
d00ad60437
- fixed a few issues pointed out by the assert in the TArray [] operator.
2020-04-11 14:00:10 +02:00
Christoph Oelckers
77c4a57c51
- allocate FRemapTable's content statically.
...
first step of organizing this data more renderer-friendly.
2020-04-11 14:00:10 +02:00
Christoph Oelckers
b0ecb02d6b
- move SuperFastHash to its own set of files, instead of having this tied to the console.
...
- replace swapvalues with std::swap globally.
- added some additions to utility code from Raze, mainly to reduce file content differences.
- reduced some unused utilities
2020-04-11 14:00:10 +02:00
Christoph Oelckers
003294e598
- added printf.h header to avoid including more dirty ones for the console printing functions.
2020-04-11 14:00:09 +02:00
Christoph Oelckers
1fe667c6a0
- cleaned up the includes in m_png.h, this file had far too many and far too broad dependencies.
2020-04-11 14:00:09 +02:00
Christoph Oelckers
cc48f18303
- moved the dictionary implementation into the 'scripting' folder where it really belongs.
2020-04-11 14:00:09 +02:00
Christoph Oelckers
40e380f2c0
- updated m_argv.cpp from Raze.
2020-04-11 14:00:08 +02:00
Christoph Oelckers
6847ea027d
- updated files.cpp with some new features from Raze.
...
Not really needed for GZDoom but it's convenient to have the files being identical.
2020-04-11 14:00:08 +02:00
Christoph Oelckers
c623b04170
- copied some fixes for overlong config entries from Raze.
...
- renamed basictypes.h to basics.h to keep the file name in line with Raze and make comparisons easier.
2020-04-11 14:00:08 +02:00
Christoph Oelckers
58afc3d5b2
- added some utilities to cmdlib.cpp and changed its license to BSD, because no original Quake code is left here.
2020-04-11 14:00:08 +02:00
Christoph Oelckers
3113c6b69b
- removed 2 redundant string copies in CCMD code.
2020-04-11 14:00:08 +02:00
Christoph Oelckers
3db56651f4
- avoid using plain char pointers to store script data for FraggleScript.
2020-04-11 14:00:07 +02:00
Christoph Oelckers
5865c4dcca
- use FString to manage strings in bot code.
2020-04-11 14:00:07 +02:00
Christoph Oelckers
6bfdf904b9
- removed use of copystring in Dehacked code and cleaned up the list of includes in cmdlib.cpp
2020-04-11 14:00:07 +02:00
Blue
52f1c8a0d1
Added $OPTVAL_MBFSTRICT to menudef.txt, and added corresponding case 7 to the compatmode cvar in d_main.cpp
2020-04-08 18:51:38 +02:00
Magnus Norddahl
0d7eb9da58
Revert "- Fix legacy input state getting out of sync when raw mouse input grabs or releases the events"
...
This reverts commit b4424b2d4d
.
2020-04-08 16:21:16 +02:00
Lucy Phipps
2c1a42ae55
remove gl_texture_usehires since it's unused now
...
GLTEXMNU_ENABLEHIRES in language.csv is unused too
2020-04-05 13:22:32 +01:00
Christoph Oelckers
5490ffcd77
- removed the obsolete Doomsday 1.8-style texture pack support.
...
This poorly integrated into the texture system and wasn't compatible with modern texture packs anymore so its usefulness was questionable.
2020-04-04 12:55:24 +02:00
drfrag
8336e80f48
- Fixed sprites sunk into water on Carmack with HQ resize modes.
2020-04-01 14:25:10 +02:00
dondiego
4bfb0e937f
- Fixed tutti-frutti and crash with liquid warp effects on the Carmack renderer when texture resizing was disabled. ( #1063 )
2020-03-31 19:17:41 -04:00
dondiego
cc0594df2e
- Use g_sin for the SoftPoly warp effects as Graf suggested. ( #1061 )
2020-03-31 10:25:46 -04:00
drfrag
cfafe65069
- OS detection cleanup.
2020-03-31 09:34:20 +02:00
Major Cooke
09a5771ad4
- Fixed: SPECTRAL flag didn't check for DMG_FORCED before aborting DamageMobj.
2020-03-30 12:16:16 +02:00
Magnus Norddahl
b4424b2d4d
- Fix legacy input state getting out of sync when raw mouse input grabs or releases the events
...
- Remove the need to center the mouse by specifying RIDEV_INPUTSINK (RIDEV_CAPTUREMOUSE does not take effect unless it is also an input sink)
2020-03-29 07:48:58 +02:00
alexey.lysiuk
43eb262571
- fixed compilation of Cocoa backend
...
src/utility/i_time.h:6:15: error: redefinition of 'TimeScale' as different kind of symbol
2020-03-28 15:38:45 +02:00
alexey.lysiuk
51b46f1408
- removed detection of unsupported macOS versions
2020-03-28 15:38:05 +02:00
Christoph Oelckers
fabe772833
- moved high level code out of i_time.cpp.
2020-03-27 12:39:56 +01:00
Rachael Alexanderson
6049e806d1
- amend previous commit: add softpoly fix
2020-03-26 17:53:32 +01:00
Rachael Alexanderson
7c9d8a0b99
- fix nullptr crash in player.camera reference when player.camera is nullptr
2020-03-26 17:53:32 +01:00
nashmuhandes
f954df7a00
Don't draw weapon tags when player tries to switch weapons while they're dead
2020-03-25 14:44:41 +01:00
Rachael Alexanderson
ecb3ff0977
- add warp2 shader to softpoly2
2020-03-24 14:05:39 -04:00
Magnus Norddahl
175b697ba2
Implement warp effect
2020-03-24 17:49:21 +01:00
nashmuhandes
cb6514cc05
Added Actor.CopyBloodColor to copy another existing actor's blood color.
2020-03-23 21:04:59 +01:00
nashmuhandes
74db8b7684
Move the opaqueBlood member definition so that object size remains unchanged
2020-03-23 12:50:17 +01:00
nashmuhandes
dd0769de80
Opaque blood decals must be defined with 'OpaqueBlood' keyword in DECALDEF
2020-03-23 12:50:17 +01:00
nashmuhandes
8facd5f3f3
Colorize opaque decals using the bleeding actor's blood color, if the 'Shaded' keyword is omitted from the DECALDEF.
2020-03-23 12:50:17 +01:00
Rachael Alexanderson
5e262c6145
-- revert last 2 commits
2020-03-22 07:29:22 -04:00
Rachael Alexanderson
442bead31b
- undo the change from last commit for 5:4 monitors - turns out the scale is calculated differently for 1280x1024 and needs the buggy version to work correctly.
2020-03-22 07:23:13 -04:00
Rachael Alexanderson
e7bad7218f
- fix status bar scaling: use a fractional that takes full advantage of the precision type, rather than a static numerical constant. (this fixes rendering in very odd resolutions such as 1440x847)
2020-03-22 07:12:08 -04:00
Rachael Alexanderson
aa0df7479e
- remove assumption in DFrameBuffer::FillBorder that ultrawide screens will stretch an image, since it is no longer the case.
2020-03-22 06:47:34 -04:00
Magnus Norddahl
d19527cf87
Fix compile error when using std::sort with Visual Studio 16.5.0
2020-03-18 21:11:44 +01:00
Christoph Oelckers
d32e0b91c2
- clear the screen before drawing content, not afterward.
...
The intermission screens got it wrong and drew the black border over the image.
2020-03-17 08:50:00 +01:00
Christoph Oelckers
15d4fb8fcd
- fixed file existence check in TRNSLATE parser.
2020-03-17 07:57:59 +01:00
Christoph Oelckers
828cba13a1
- changed translation management so that the fonts also use translation IDs.
2020-03-16 17:23:30 +01:00
Christoph Oelckers
b7970ed763
- block StaticPointerSubstitution for non-player objects.
...
The only safe use of this function is to swap out PlayerPawns for morphing or respawning.
2020-03-16 09:21:37 +01:00
Christoph Oelckers
16ae7e3124
- fixed typo.
2020-03-15 12:19:22 +01:00
Christoph Oelckers
0c04cddd28
- allow specifying full palettes in translation definitions.
2020-03-15 10:22:42 +01:00
Christoph Oelckers
27b8284881
- forgot to remove the test settings for the fullscreen feature.
2020-03-15 10:02:19 +01:00
Christoph Oelckers
db5efddf12
- implemented better aspect ratio control for fullscreen images.
...
Due to backwards compatibility needs and for flexibility this needs to be controlled by a gameinfo setting (fullscreenautoaspect):
0: Treat all images as having an aspect ratio of 4:3, this is the default for compatibility reasons
1: Scale all images to fit the screen, i.e. either pillarbox or letterbox them.
2: Scale all images to fill the screen.
3: Scale all images so that the center 4:3 area is always fully visible. This is the recommended mode for 16:9 images designed to be shown with the sides being cropped on narrower displays.
A new DTA_ tag - DTA_FullscreenEx also exists which allows specifying the scale mode directly
2020-03-15 09:27:02 +01:00
Nash Muhandes
2edbbac759
Print weapon name tag when switching with "slot" command ( #1048 )
2020-03-14 14:17:04 +02:00
alexey.lysiuk
f46e80e2b4
- fixed FLineTraceData scripting definition
...
https://forum.zdoom.org/viewtopic.php?t=67795
2020-03-14 12:51:06 +02:00
alexey.lysiuk
b9d4ce052b
- replaced assert() in ZScript fields compilation code
...
Field pointer can be null if error occurred while compiling its definition
2020-03-14 12:50:10 +02:00
alexey.lysiuk
13e6ea7796
- added line break to 'No GENMIDI lump' message
...
'ST_Init: Init startup screen.' is no longer concatenated with the given line
2020-03-13 13:33:11 +02:00
Christoph Oelckers
a638cfbd6e
- fixed: player_t::GetPSprite cannot guarantee success
...
As a consequence it must return null in the failure case instead of asserting and all calls to this function must check for the failure case.
2020-03-11 00:56:29 +01:00
Christoph Oelckers
8613e47899
- default terrain's DamageTimeMask to a reasonable value.
...
Use 31, which is the default for damaging floor specials instead of 0.
2020-03-11 00:32:11 +01:00
Magnus Norddahl
920b322d72
Add missing segment clipping clamps for decals, sprites and wall sprites
2020-03-11 02:18:43 +01:00
Alexander Kromm
9daec9dc46
bring minimal save version back, as most of the savegames load fine
2020-03-08 18:46:37 +01:00
Alexander Kromm
b038c168c6
aggregate TMap into Dictionary instead of deriving from it
2020-03-08 18:46:37 +01:00
Alexander Kromm
3607ffaf66
fix Dictionary and DictionaryIterator memory leaks
2020-03-08 18:46:37 +01:00
alexey.lysiuk
fcf004ec39
- fixed infinite loop reporting '... before first state' errors
...
https://forum.zdoom.org/viewtopic.php?t=67729
2020-03-05 11:01:33 +02:00
Rachael Alexanderson
178cf40428
- fix debug assertion, cleanup vestigial A_PlaySound addition
2020-03-03 22:50:01 -05:00
Rachael Alexanderson
9e5444f8ae
- fixed: removed startTime from the wrong function internally.
2020-03-02 22:15:37 +01:00
Rachael Alexanderson
3d3a29979b
- remove addition from deprecated A_PlaySound
2020-03-02 22:15:37 +01:00
Rachael Alexanderson
5dfdac62ab
- add checking in S_StartSound for startTime length
2020-03-02 22:15:37 +01:00
Rachael Alexanderson
1b80b7bf2f
- ported over Nash's startTime for A_StartSound
2020-03-02 22:15:37 +01:00
Major Cooke
4cf7c6351d
Added A_StopSounds(int chanmin, int chanmax).
...
- If both channels are 0, completely silences the actor.
- Adapted A_StopAllSounds to call A_StopSounds(0,0);
2020-03-01 19:42:21 +01:00
Major Cooke
55284d46bf
Added A_StopAllSounds.
2020-02-29 19:19:51 +01:00
Christoph Oelckers
3a2eaf2bfd
- fixed: Windows must call the wide version of _mkdir for Unicode support.
2020-02-25 18:51:42 +01:00
alexey.lysiuk
5d6a490846
- prohibit core shaders overriding for OpenGL renderer
...
https://forum.zdoom.org/viewtopic.php?t=67519
2020-02-25 15:57:50 +02:00
alexey.lysiuk
56311b765e
- stop all sounds after exiting level regardless of intermission screen
...
https://forum.zdoom.org/viewtopic.php?t=67521
2020-02-23 16:16:23 +02:00
alexey.lysiuk
359e7927de
- fixed comparison with uninitialized data in MAPINFO parser
...
This issue was reported by Valgrind
2020-02-23 13:43:47 +02:00
Rachael Alexanderson
04ce0b6ec6
- use GAMENAMELOWERCASE macro for music config defaults
2020-02-23 08:12:41 +01:00
alexey.lysiuk
45617043f8
- fixed arguments order for ZMusic_Start() function
2020-02-22 13:08:10 +02:00
johannes hanika
5ee864ab5b
vid: remove explicit bit depth gl calls
...
this makes gzdoom start on xorg configured with 30bit/pixel deep
colour modes, too. it seems these explicit calls are not required,
and detection via SDL_GetWindowPixelFormat does not yet work with
extended bit depths, so detection + setting size to 8 or 10 depending
on the result is unreliable too (as of SDL 2.0.1).
2020-02-21 11:08:29 +02:00
Christoph Oelckers
5391382807
- removed CD audio support.
...
Mainly because this is an ancient deprecated feature on the system side that serves no good purpose anymore.
2020-02-18 21:53:30 +01:00
alexey.lysiuk
78bae1f166
- fixed wrong name assigned to dummy texture with zero ID
...
Texture created with image and name set to nullptr's is named after the very first lump, it's ALTHUDCF currenty
2020-02-17 15:37:56 +02:00
Christoph Oelckers
8ff888422e
- force Greek to use the standard font in Heretic and Hexen.
...
Unlike the other games where only 7 characters need to be added to their all caps fonts, for the Raven games' lowercase fonts all Greek characters need to be entirely redone which right now is entirely unrealistic.
This can be changed back once a workable font exists.
2020-02-16 13:52:44 +01:00
Christoph Oelckers
653336de24
- fix character substitution for mixed case fonts and text update.
2020-02-16 13:51:31 +01:00
Christoph Oelckers
7a6b133e93
- Greek letters for Strife's Big and Mini fonts.
2020-02-16 12:44:16 +01:00
Christoph Oelckers
f4edfa23dc
- reformattede getAlternative for compactness.
2020-02-16 08:58:57 +01:00
drfrag
68f338b134
- Fixed compilation with MinGW and did some cleanup.
2020-02-16 09:39:17 +02:00
Christoph Oelckers
e6aaab3c32
- remap accented Greek uppercase letters to their base variant instead of directly to the Latin/Cyrillic replacement.
2020-02-16 08:26:03 +01:00
Christoph Oelckers
9644e26ce3
- removed accented Greek characters from BigUpper font as well.
...
I think the same applies as for allcaps fonts, and aside from that the form of accents being used here is not correct for Greek anyway.
2020-02-16 00:04:22 +01:00
dondiego
e13e034cc4
SoftPoly only worked with Vulkan support on POSIX platforms ( #1036 )
...
* - CMake: fix wrong filename.
* - Fixed: SoftPoly only worked with Vulkan support on POSIX platforms.
2020-02-15 17:41:52 -05:00
Christoph Oelckers
7a86e7f043
- fix for Greek uppercase-only fonts.
...
In Greek for all-caps text there *must* not be any accents. As such, all accented characters now contain a default remap to the unaccented version and the accented characters in the already converted Doom Small and BigFont have been removed as these are all-caps fonts. Doom BigUpper still requires investigation how Smallcaps fonts need to be handled.
2020-02-15 23:32:52 +01:00
Magnus Norddahl
08e86b5bcc
- fix vulkan crash when there are no textures in player's view
2020-02-15 10:42:46 +01:00
Christoph Oelckers
c485256c74
Merge remote-tracking branch 'remotes/origin/zmusic_dll'
2020-02-15 10:22:45 +01:00
Christoph Oelckers
85ff05c0b2
- missed these in the last commit.
2020-02-15 10:16:38 +01:00
Magnus Norddahl
dd2d9f4182
- Fix vk_hdr looking for the wrong colorspace
2020-02-15 09:46:24 +01:00
Christoph Oelckers
6aed119403
- backported a few sound code fixes from Raze.
2020-02-15 09:32:05 +01:00
Christoph Oelckers
617b6cd987
- use floats for sprite depth sorting in the hardware renderer.
...
Fixed point is clearly insufficient here.
2020-02-15 09:22:30 +01:00
Chronos Ouroboros
6486380dd1
Fixed a crash when trying to include a missing mixin.
2020-02-14 22:26:30 -03:00
Danilo Spinella
bd216695cc
Add missing time.h include in cmdlib.h
2020-02-14 19:07:24 +01:00
alexey.lysiuk
2bde2d8268
- fixed 32-bit Linux build with SSE support enabled
2020-02-13 15:29:48 +02:00
alexey.lysiuk
c80bfcf9f6
- added missing #include
...
src/sound/music/i_soundfont.cpp:121:12: error: no viable overloaded '='
src/sound/music/i_soundfont.cpp:127:12: error: no viable overloaded '='
src/sound/music/i_soundfont.cpp:140:14: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
2020-02-11 12:29:20 +02:00
Major Cooke
39a9a48ad6
Added source, inflictor and damage flags to AbsorbDamage.
2020-02-09 19:07:52 +01:00
alexey.lysiuk
a1b5ab6e9b
- added ZMusic library detection to CMake configuration
2020-02-09 15:51:50 +02:00
Christoph Oelckers
2dd3c28d05
- transitioned engine to use ZMusic as a DLL.
2020-02-09 08:56:49 +01:00
Chronos Ouroboros
d22a4c835c
Mixins now perform a deep copy of the AST. (Fixes default blocks in mixins)
2020-02-08 16:48:15 -03:00
Major Cooke
e13d43a576
Fixed colorization not being applicable to bottom wall textures.
2020-02-07 22:56:46 -06:00
Christoph Oelckers
77ed5b1fe8
- let freelook default to true.
2020-02-03 21:41:52 +01:00
Braden Obrzut
62e9e0cbbb
- Change updaterevision to a CMake script
...
The benefit to this is fairly small, but it does mean a little less work needs
to be done in the build scripts for cross compiling. The C version wasn't
especially concise so it was not obviously better in any way.
2020-02-02 11:43:36 +01:00
alexey.lysiuk
d527866e6d
- moved showing of start window banner to proper location in Cocoa backend
2020-02-02 11:29:17 +02:00
Christoph Oelckers
2817bc5508
- backported fix for loading VOC files.
...
In NAM there is one that needed a bit of extra treatment.
2020-02-01 17:34:06 +01:00
Chris Robinson
5b4c9eb7f6
Remove FSoundLoadBuffer since it wasn't doing anything
2020-02-01 17:11:26 +01:00
Chris Robinson
3c975f18bc
Remove LoadSoundBuffered since its no longer called
2020-02-01 17:11:26 +01:00
Chris Robinson
30bdd0c2d4
Get rid of the LoadSound3D method
...
It no longer does anything since there's no separate buffer for 3D sfx.
2020-02-01 17:11:26 +01:00
Chris Robinson
d823091446
Update a couple comments about monoized sounds
2020-02-01 17:11:26 +01:00
Chris Robinson
e88b1039a3
Stop sources immediately when the sound is forced to stop
...
The reason for the previous delay was to allow OpenAL Soft to fade the sound to
silence and avoid a sudden amplitude change, which can cause a "click" or "pop"
noise. However, with OpenAL Soft 1.20, this is a built-in feature of the mixer
so the extra complexity is unnecessary.
2020-02-01 17:11:26 +01:00
Chris Robinson
c095872b0a
Remove the 'monoize' option from sound loading
...
Unnecessary with the AL_SOFT_source_spatialize extension, which has been
available for over a year.
2020-02-01 17:11:26 +01:00
Chris Robinson
42fd84a09d
Remove the fallback for lack of AL_EXT_SOURCE_RADIUS
...
It's been available in OpenAL Soft for years and the fallback method wasn't very good.
2020-02-01 17:11:26 +01:00
alexey.lysiuk
c58e98cc7f
- fixed usage of floor sound with Plat_DownWaitUpStayLip special
...
https://forum.zdoom.org/viewtopic.php?t=67126
2020-01-31 13:21:14 +02:00
alexey.lysiuk
dd54c14380
- fixed code generation for very special if+switch combination
...
CheckReturn() must be called before emitting code, otherwise it will always return false for switch statements
Redundant jump instruction added because of that will point right after the end of function's code when if statement is the last one in the given function
This wasn't a problem for VM because bytecode in question was unreachable
JIT compiler tries to generate native code for a bogus jump destination, and this leads to out-of-bounds read from labels array
https://forum.zdoom.org/viewtopic.php?t=67149
2020-01-30 18:01:52 +02:00
alexey.lysiuk
f9906ae6cd
- fixed I_FindAttr() to handle symlinks on POSIX platforms
2020-01-26 11:04:06 +02:00
alexey.lysiuk
d425d8d9ca
- put common POSIX system code to a separate file
2020-01-26 11:01:13 +02:00
alexey.lysiuk
bf18eab54b
- fixed sprite and particle colors when not affected by dynlights
...
When gl_light_sprites and/or gl_light_particles CVARs were unset, random values could be used their colors
https://forum.zdoom.org/viewtopic.php?t=67066
2020-01-23 17:20:20 +02:00
alexey.lysiuk
0d758014dd
- exposed Level.MusicVolume to ZScript
2020-01-20 22:05:15 +01:00
alexey.lysiuk
a05a5a8f00
- fixed calling a function on string CVar
...
https://forum.zdoom.org/viewtopic.php?t=66768
2020-01-19 16:49:51 +01:00
alexey.lysiuk
5a19010699
- added ability to filter VM disassembly dump
...
Use '-dumpdisasm something' to output functions with 'something' in their printable names
Open and close output file only once when processing code generated by Dehacked, and calculate its sizes as well
2020-01-19 16:48:35 +02:00
Rachael Alexanderson
14dc46772c
- add check for unity version of Nerve.wad
...
- infrastructure in place in case Nerve.wad changes again, this can be extended
2020-01-18 22:19:42 +01:00
alexey.lysiuk
747c6dcbc9
- customized invulnerability colormap does not interfere with Powerup.ColorMap
...
https://forum.zdoom.org/viewtopic.php?t=66955
2020-01-18 17:27:45 +01:00
Magnus Norddahl
e43894213e
Remove softpoly specific matrix and vector classes
2020-01-18 13:56:37 +01:00
Magnus Norddahl
43562c94d0
Seems the clamp was required
2020-01-18 12:55:36 +01:00
Magnus Norddahl
e68b46cb6a
Implement special colormap support for softpoly
2020-01-17 21:58:33 +01:00
Alexander Kromm
bdb4bdeb09
save and restore config-only variables from proper sections
2020-01-17 19:24:17 +01:00
Magnus Norddahl
3b336a1476
Fix broken fixed camera light for walls
2020-01-17 01:15:44 +01:00
Alexander Kromm
7973ab9c6b
make nosave standalone CVar flag, alongside server and user
2020-01-16 17:52:58 +01:00
Alexander Kromm
f85e3fb9a0
make nosave cvars set their value bypassing network code
...
This may look as a workaround, it is not.
nosave cvars are meant to be used as a storage for statistical data that doesn't
affect gameplay. That's why this data isn't saved to the savefile in the first
place. Therefore, there is no point in sending this data over network. It would
have no meaning on machines other than local.
2020-01-14 15:50:20 +01:00
alexey.lysiuk
efd2f8a1a8
- implemented screenshots in softpoly backend
2020-01-14 12:14:03 +02:00
Christoph Oelckers
dc3b36ebda
- we are past 4.3 now.
2020-01-12 23:22:41 +01:00
alexey.lysiuk
7092a0a8f0
- fixed Linux and macOS implementations of I_FindAttr()
...
At the moment, we assume that dirent struct has d_type member, and DT_DIR is defined
This is true for supported versions of macOS, and Linux with glibc
https://forum.zdoom.org/viewtopic.php?t=66945
2020-01-12 23:03:59 +02:00
Christoph Oelckers
583734861e
- compatibility workaround for using Scroll_Texture_Model with a line id of 0.
...
This would do very bad things if not being checked for.
2020-01-12 13:21:15 +01:00
Christoph Oelckers
e3eae62af2
- store CVARs non-destructively in savegames.
...
The old method using a single string with a backslash as separator is unable to handle anything with actual backslashes in the data.
It now uses a JSON object with each CVAR being a separate key.
2020-01-12 12:59:08 +01:00
alexey.lysiuk
f32aff3396
- fixed A_PlaySound() called from Dehacked
...
The recently added argument was missing from PlaySound code pointer handling
Verified other Dehacked functions, and changed one incorrect comment
2020-01-12 11:48:45 +02:00
Christoph Oelckers
d636acb002
- GAMESIG was never supposed to be used in printed output. Replaced all occurences with GAMENAME.
2020-01-12 09:43:47 +01:00
Christoph Oelckers
1d0ece26b6
- missed a warning.
2020-01-12 08:26:07 +01:00
Christoph Oelckers
9e13d3c60d
- fixed: The directory scanner for reading a directory into the WAD file system and ScanDirectory were not Unicode capable on Windows.
...
Both now use the Unicode capable I_Find* interface instead of duplicating all its functionality in multiple platform dependent incarnations.
2020-01-12 08:18:47 +01:00
Kevin Caccamo
91589d9799
Attempt to optimize check for ML_DRAWFULLHEIGHT
...
It is less likely that a line will have the ML_DRAWFULLHEIGHT flag than its' ceiling will be above the neighbouring sector's ceiling and vice versa.
2020-01-11 13:24:02 +01:00
Kevin Caccamo
d73a5f5e16
Use != 0 after ANDing with the relevant flags
...
This is mostly a "just in case" measure, in case I did something wrong with the previous commits.
2020-01-11 13:24:02 +01:00
Kevin Caccamo
2ff92e91d2
Fix ML_DRAWFULLHEIGHT flag check
2020-01-11 13:24:02 +01:00
Kevin Caccamo
7ca6e7e5c1
Add handling for drawfullheight flag
...
Parse drawfullheight flag in UDMF
Draw full height for walls if the linedef has this flag
2020-01-11 13:24:02 +01:00
Kevin Caccamo
b443d0755e
Change ML_NOSKYWALLS and add ML_DRAWFULLHEIGHT
...
ML_DRAWFULLHEIGHT will be used to draw walls from the front/back sector's floor to the other sector's ceiling.
2020-01-11 13:24:02 +01:00
Kevin Caccamo
9b598017f9
Add more ways to prevent GZDoom from drawing skybox walls
...
Add noskywalls flag to sectors and linedefs
2020-01-11 13:24:02 +01:00
alexey.lysiuk
f9fa07dca5
- restored old values for CHAN_... constants
...
https://forum.zdoom.org/viewtopic.php?t=66929
2020-01-11 13:27:10 +02:00
alexey.lysiuk
3185e359b9
- added workaround for GLSL noise functions on macOS
...
There is no chance that Apple will fix their OpenGL drivers
The only viable solution is to preprocess these functions out, and put zeroes instead of them
2020-01-10 13:52:17 +02:00
alexey.lysiuk
1bc67cf7b9
- added ability to use static SDL2 library
...
This is intended for developers only, e.g. for testing SDL backend on macOS
2020-01-09 15:37:01 +02:00
alexey.lysiuk
442f953d67
- fixed invalid context warnings with Cocoa backend
...
A bunch of 'CGContext<...>: invalid context 0x0' messages were printed to console during OpenGL view creation and resizing
2020-01-07 14:37:25 +02:00
alexey.lysiuk
7e050010aa
- removed obsolete softpoly render modes
...
https://forum.zdoom.org/viewtopic.php?t=66888
2020-01-06 14:31:34 +02:00
alexey.lysiuk
fca492df2b
- fixed compilation of debug target with older macOS SDKs
...
src/posix/cocoa/i_video.mm:633:31: error: property 'layer' not found on object of type 'id'
2020-01-06 14:26:16 +02:00
Alexander Kromm
eeddd72458
fix nosave cvar keyword (saved to config, not saved to savegame)
2020-01-06 12:07:07 +01:00
alexey.lysiuk
cad14d1c93
- fixed resolving of music aliases with full filenames
...
https://forum.zdoom.org/viewtopic.php?t=66815
2020-01-06 11:15:17 +02:00
alexey.lysiuk
83f46c4b2f
- fixed erroneous override of default language strings
...
If the default identifier is present in LANGUAGE lump, following entries were treated as default as well
https://forum.zdoom.org/viewtopic.php?t=66873
2020-01-06 10:22:42 +02:00
Chronos Ouroboros
a83fff0eb4
Disabled default blocks in mixins for now.
2020-01-05 19:07:03 -03:00
Rachael Alexanderson
98ee0a7035
- move colorization parser from 'textures' to 'gldefs'
2020-01-05 16:30:01 -05:00
Alexander Kromm
b209fd9572
add "nosave" cvar token
...
It makes a cvar value not be saved in a save file.
2020-01-05 17:36:44 +01:00
Christoph Oelckers
26784d7453
- reverted the clamping when assigning to FScanner::Number.
...
This broke unsigned integer parsing without explicitly declaring the constant unsigned.
2020-01-05 00:17:58 +01:00
Rachael Alexanderson
cb7a097ed4
- vid_scalemode 1 now only goes down to 640x400 at minimum, instead of 320x200
2020-01-04 15:05:35 -05:00
Petr Mrázek
3c20d5fe88
- Run the Alsa MIDI thread every 40ms or so, use non-blocking sequencer
2020-01-04 20:19:36 +01:00
Chronos Ouroboros
a588c24c4f
Fixed some incorrect parentheses in S_PlaySoundPitch.
2020-01-04 15:34:43 -03:00
Chronos Ouroboros
6ccbccc3de
Removed a redundant switch and added a default case to the mixin parsing code to shut GCC up.
2020-01-04 15:11:31 -03:00
Christoph Oelckers
b7e1a35e6f
- cleaned up the parameters of A_StartSound.
...
There were two booleans that could be merged into the flag word.
This also fixes a bug with CHAN_NOSTOP not working for local sounds because it checked the wrong sound source for the playing sound.
2020-01-04 14:25:55 +01:00
alexey.lysiuk
651dfbc49f
- fixed a few compilation warnings
...
src/d_main.cpp:280:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
src/rendering/r_videoscale.cpp:147:22: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
src/sound/s_reverbedit.cpp:250:18: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
2020-01-04 12:59:26 +02:00
Christoph Oelckers
8b3c03d416
- fixed Doom64 style lighting.
...
The check for the presence of Doom64 style lighting was done too early before the line lists in the sector were created.
2020-01-04 10:45:22 +01:00
Christoph Oelckers
4253fb6b4a
Merge branch 'zmusic_dll'
...
# Conflicts:
# libraries/zmusic/zmusic/configuration.cpp
2020-01-04 09:48:04 +01:00
Magnus Norddahl
fca3da8af4
Update and clarify the licenses for the postprocess, vulkan and softpoly parts
2020-01-03 05:52:01 +01:00
Christoph Oelckers
8898448014
- refactored the MIDI list code.
...
Let's hope nothing got broken on the Linux side, the recent submission's code was not usable.
2020-01-02 14:21:26 +01:00
Rachael Alexanderson
f398819ce3
- due to issues with chat, scoreboard, and the stat screen, disable 320x200 in multiplayer for now
2020-01-02 06:47:17 -05:00
Christoph Oelckers
f442d2dc54
- made the sound decoding interface DLL friendly and added compile switches to the MIDI players so that different licenses can be uses as compile target.
2020-01-02 12:43:37 +01:00
alexey.lysiuk
d4ac797602
- made load game failure a bit more resilient
...
https://www.doomworld.com/forum/topic/111069-savestate-problems-with-gzdoom/
2020-01-02 13:40:14 +02:00
Christoph Oelckers
71cd4ef488
Merge branch 'master' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# libraries/zmusic/zmusic/mididefs.h
# libraries/zmusic/zmusic/zmusic.h
2020-01-02 08:45:48 +01:00
Petr Mrázek
ea1b8de405
- Support for MIDI on Linux via alsa sequencer
2020-01-02 08:29:39 +01:00
Rachael Alexanderson
118e3db5ca
- r_videoscale: make the compiler manage vScaleTable's size
2020-01-01 23:23:20 -05:00
Christoph Oelckers
d2ca1ea4e0
- rewrote the ZMusic interface so that it is free of C++ constructs.
...
Now it is ready to put in a DLL.
2020-01-02 01:26:01 +01:00
Christoph Oelckers
0d000344ca
- replaced the C++ based file access wrapper in ZMusic with a C compatible version.
2020-01-01 22:54:27 +01:00
Christoph Oelckers
527fb40a5f
- there's no need to let the XM Vorbis decoder run through the client - all related functionality is part of ZMusic itself.
2020-01-01 20:58:15 +01:00
Christoph Oelckers
47d70c839d
- made adjustments to the remaining parts of the function interface.
2020-01-01 20:47:33 +01:00
Christoph Oelckers
7923d25cce
- made the ZMusic interface more DLL friendly: Reworked all functions not to throw exceptions across the library boundary and made a few definitions internal.
...
Not complete yet.
2020-01-01 20:01:38 +01:00
Rachael Alexanderson
ea98676085
- oops, missed this one
2020-01-01 08:12:31 -05:00
Rachael Alexanderson
dff45eb1f3
- relicense some of my past work under BSD
2020-01-01 07:38:06 -05:00
Alexander Kromm
60026ba4f2
export dictionary iterator
2020-01-01 08:39:25 +01:00
Rachael Alexanderson
5ae0ae885d
- amend last commit: do it the other direction, too
2020-01-01 01:28:42 -05:00
Rachael Alexanderson
e87ed35565
- add framerate limiter to polybackend update function
2020-01-01 00:39:33 -05:00
Rachael Alexanderson
aa4abfc977
- added pixel ratio detection to supersampling detection for forcing linear scaling - this should likely make it so if there's ever an instance where a viewport pixel is smaller than a screen pixel, the screen should go to linear scaling now
2020-01-01 00:25:48 -05:00
Rachael Alexanderson
0d60a0f4ea
- bump version requirement to 219 for defcvars
2019-12-31 23:49:44 -05:00
Rachael Alexanderson
856bc8ee8c
- silence double to float warning in gameconfigfile.cpp
2019-12-31 15:25:26 -05:00
Rachael Alexanderson
5389d8ad1a
- set sane limits for vid_scale_custompixelaspect
2019-12-31 15:21:47 -05:00
Alexander Kromm
2f9177127c
dictionary from empty string is not an error, but empty dictionary
2019-12-31 17:04:37 +01:00
Rachael Alexanderson
4bc923dddf
- slight rearrange of vid_scalemode and menu update
2019-12-31 10:41:30 -05:00
Rachael Alexanderson
903f448461
- made linear scaling more user controlled
2019-12-31 10:26:23 -05:00
Rachael Alexanderson
99ef731fd3
- do config migration for vid_scale_custompixelaspect
2019-12-31 09:50:38 -05:00
Rachael Alexanderson
5d2d187b84
- allow custom pixel ratio scaling
2019-12-31 09:41:42 -05:00
Rachael Alexanderson
eaee3d6ac5
- fixed softpoly backend unconditionally applying linear scaling
2019-12-31 08:59:38 -05:00
Rachael Alexanderson
8be7ef0ec5
- forbid defcvars from a wadfile
2019-12-31 11:00:16 +01:00
Rachael Alexanderson
7dfd49b42e
- tell the user the game version number when version is not specified as a hint
2019-12-31 04:23:53 -05:00
Magnus Norddahl
839b737429
Fix wrong blend tables used when dynamic lights hits translucent lines
2019-12-31 03:00:36 +01:00
Rachael Alexanderson
2b05bfed68
- implement 'defcvars'
...
# Conflicts:
# src/d_main.cpp
2019-12-30 19:07:01 +01:00
Alexander Kromm
bd1892120d
add Dictionary.Remove(String key) function
2019-12-30 14:57:37 +01:00
Alexander Kromm
2dc9837078
fix crash with saving null Dictionary
2019-12-30 14:57:37 +01:00
Cacodemon345
7fd27bc925
Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
2019-12-30 13:05:38 +01:00
Marisa Kirisame
55e482d0fc
Additional CHAN_OVERLAP awareness for StartSound and ChangeSoundVolume/Pitch.
2019-12-30 13:01:59 +01:00
Christoph Oelckers
d08bb93b84
- elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP.
2019-12-30 09:47:25 +01:00
Christoph Oelckers
d79c6c1c0a
- fixed: A_StartSound was still masking the sound channel value for checking if it plays something.
2019-12-30 09:09:56 +01:00
Major Cooke
5425aa979d
- Fixed: Invulnerability checking for rails was done before the various THRU actor flags instead of after, meaning actors could block shots regardless of those flags. This was never intended.
2019-12-30 08:37:08 +01:00
Major Cooke
0b0984b88e
Added STOPRAILS actor flag.
...
- An actor with this flag will prevent railgun shots from penetrating further.
2019-12-30 08:37:08 +01:00
Alexander Kromm
703686beee
export TMap<FString, FString> to ZScript
2019-12-29 13:37:38 +01:00
Christoph Oelckers
77469e0512
- fixed the colorization parser.
2019-12-29 12:11:16 +01:00
Christoph Oelckers
3530bc5945
- cleanup.
...
(The Raven license got removed from sc_man after checking that no Raven code is still present here, this file got a nearly complete overhaul over all those years.)
2019-12-29 11:30:37 +01:00
Christoph Oelckers
9b9fd35107
- hooked up the colorization feature.
...
It can now be used from UDMF and ZScript.
To avoid clutter it doesn't allow setting the values individually but requires definition of a data record in TEXTURES.
colorization
{
DesaturationFactor <float>
Invert
AddColor <color>
ModulateColor <color>
BlendColor <color>, <mode> [, <alpha>]
}
Mode for BlendColor can be Alpha (normal translucent blending), as well as 3 special values taken from Build engine games: Screen, Overlay and HardLight.
2019-12-29 11:30:37 +01:00
Christoph Oelckers
f9d2dc51d0
- cleanup of new colorization code.
...
- profiling shows that running the code for applying the colorization and the gradients is extremely expensive, apparently this always causes a cache miss, so now the entire thing is enabled by a sidedef flag.
2019-12-29 11:30:36 +01:00
Christoph Oelckers
695ab81bca
- let a sight check that gets lost return failure.
...
This way these cannnot unwantedly wake up monsters.
2019-12-28 16:33:20 +01:00
Rachael Alexanderson
15ebc84017
- fix a /0 crash in intermission text
2019-12-26 07:13:59 -05:00
alexey.lysiuk
388d800b40
- fixed compilation with GCC and Clang
...
src/d_main.cpp:3101:37: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-12-25 17:44:57 +02:00
Rachael Alexanderson
2e467bd239
- update window title with current level name
2019-12-25 09:52:57 -05:00
Rachael Alexanderson
9858ed70b0
- fixed sprite drawing with hqresized textures
2019-12-24 06:44:52 -05:00
alexey.lysiuk
4fc1b3231a
- removed <CR> symbols to fix zdoom.rc being modified after checkout
2019-12-24 10:46:13 +02:00
Rachael Alexanderson
9ad628f6e5
- fixed: strife conversations do not need to unnecessarily trigger the switch to 640x400
2019-12-24 00:55:24 -05:00
Rachael Alexanderson
4ff8922006
- reinstate 320x200 with the following caveat: it only functions outside of menus and console, and only when the dialogues and logs use the default font, the game will temporarily switch to 640x400 in these situations
2019-12-23 23:14:08 -05:00
Rachael Alexanderson
510a121b62
- change IWAD startup dialog to allow selecting between OpenGL, Vulkan, and SoftPoly backends. (windows only)
2019-12-23 20:05:17 -05:00
Cacodemon345
0090925fac
Implement renderstyle and transparent actor sprite rendering in automap ( #997 )
...
* Implement renderstyle and transparent actor sprite rendering in automap
* Add "am_advspriterender" CVAR and add invisible actor checks.
* Rename cvar to `am_thingrenderstyles`
2019-12-23 10:29:14 -05:00
alexey.lysiuk
e9a7dcd17b
- precache switch textures from ANIMATED lump
...
For example, SW1SKULL and SW2SKULL switches are animated in TNT: Evilution
Their frames are defined in ANIMATED lump which is old BOOM binary format
Textures other than base were not cached because the corresponding switch definitions (in ANIMDEFS lump) have one frame only and BOOM style animations were not taken into account
https://forum.zdoom.org/viewtopic.php?t=66652
2019-12-23 13:11:06 +01:00
Rachael Alexanderson
f284567830
- change vid_scalemode 6 to work similarly to 0 and 1 when vid_cropaspect is turned on
...
- add vid_scaletolowest
2019-12-22 09:01:43 -05:00
Christoph Oelckers
738b9ceb08
- fixed incompletely changed shader.
...
It was still using a variable from the first revision that no longer exists.
2019-12-21 21:07:00 +01:00
Magnus Norddahl
1004ac1636
Automatically size the StreamUBO to 64 KB regardless of what is in it
2019-12-21 16:13:39 +01:00
alexey.lysiuk
81ea919d61
- fixed shader compilation errors with OpenGL backend
...
ERROR: 0:95: Use of undeclared identifier 'uTextureModulateColor'
ERROR: 0:104: Use of undeclared identifier 'uTextureAddColor'
ERROR: 0:107: Use of undeclared identifier 'uTextureModulateColor'
...
2019-12-21 15:42:04 +02:00
Christoph Oelckers
bb8db9422f
- scaled down the texture colorization feature for easier usability.
...
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
fd15af0b50
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-20 18:56:38 +01:00
Christoph Oelckers
03537e90ff
- linked new properties with the renderer.
...
Support for the softpoly renderer still missing.
2019-12-20 18:56:03 +01:00
Christoph Oelckers
3a249cb06f
- added high level interface to the new properties, i.e. UDMF and ZScript.
2019-12-20 18:02:42 +01:00
alexey.lysiuk
ffe1a651a9
- upsample texture if width * height is less or equal to gl_texture_hqresize_maxinputsize squared
...
https://forum.zdoom.org/viewtopic.php?t=66652
2019-12-20 18:11:22 +02:00
Christoph Oelckers
3209d4ed23
- added a few more texture coloring options to the shader.
...
Aside from adding an additive component it can now also do:
- desaturation (not limited to the range of 0..1 so it can also be used for oversaturation by applying a negative number or negative saturation by going above 1.0.
- invert the texture
- apply a blend, including 3 special mode taken from EDuke32.
Currently only the implementation is done, it is not exposed to UDMF yet.
2019-12-20 16:05:00 +01:00
Christoph Oelckers
41a9496bef
- the texture precaching message is supposed to be debug only
2019-12-20 14:38:22 +01:00
alexey.lysiuk
a0670f5c5b
- added minimal time profiling of texture precaching
2019-12-20 11:06:00 +02:00
alexey.lysiuk
daedf9d158
- improved normalNx scaling performance by ~10%
...
Actual boost heavily depends on platform's memory architecture, made it a bit more cache friendly in general
2019-12-20 11:04:50 +02:00
Rachael Alexanderson
33483115cd
- amend last commit: use VID_MIN_HEIGHT and VID_MIN_WIDTH macros in place of hardcoded values
2019-12-20 03:31:44 -05:00
Rachael Alexanderson
a53652f36e
- implement vid_scalemode = 6 - sets absolute minimum scaling to fill entire screen - useful for speeding up software rendering
2019-12-20 03:05:44 -05:00
Christoph Oelckers
318da33e39
- sound engine update.
...
Notable changes:
* IsSourcePlayingSomething had undefined behavior when checking unattached and unpositioned sounds.
* loading Blood RAW sounds with different sample rates but the same backing lump may not use the same hardware sound buffer.
* when playing an unpositioned sound the attenuation is irrelevant and must be ignored. This resulted in a 3D sound being started which was mostly inaudible due to lack of valid origin.
2019-12-19 11:57:58 +01:00
alexey.lysiuk
59f09d4893
- move setting status bar defaults to proper location
...
BaseStatusBar.Init() method isn't suitable for this because it will override SBarInfoWrapper setup done in native code
https://forum.zdoom.org/viewtopic.php?t=66676
https://forum.zdoom.org/viewtopic.php?t=66339
2019-12-18 15:40:39 +02:00
Marisa Kirisame
9430e1556f
Change IsSourcePlayingSomething to handle overlapping sounds.
2019-12-17 15:53:56 +01:00
Christoph Oelckers
0ba6816622
- made FSoundChan::EntChannel a full int and reordered the structure for better packing.
2019-12-17 11:43:13 +01:00
Christoph Oelckers
136ab4f48a
- renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope.
2019-12-17 09:58:50 +01:00
Christoph Oelckers
0a8effaf9e
- fixed inverted listener check when using compatibility options.
2019-12-17 08:49:50 +01:00
Christoph Oelckers
3808e85c3e
- the old bit masking for the channel needs to go, of course.
2019-12-17 00:28:32 +01:00
Christoph Oelckers
639e9d3cd4
- fixed VOC loader. Its 16 bit code did not work because it set the variable to -16 instead of 16.
...
- removed a few MAX calls with std::max.
2019-12-17 00:05:35 +01:00
Christoph Oelckers
e82565373f
- separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
...
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
Christoph Oelckers
b09e9f10ed
- sound engine update.
2019-12-16 21:45:34 +01:00
Magnus Norddahl
c5717d98db
Implement the other light modes and fix dynamic lights being calculated twice(!)
2019-12-15 20:05:13 +01:00
Magnus Norddahl
b44c40a63d
Implement EFF_FOGBOUNDARY
2019-12-15 17:33:49 +01:00
Magnus Norddahl
0fd964ec4f
Fix compile error
2019-12-15 17:32:12 +01:00
Magnus Norddahl
a4ca7cfb8d
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-15 17:14:34 +01:00
Magnus Norddahl
5632c80ab2
Split softpoly into more files
2019-12-15 17:14:23 +01:00
Christoph Oelckers
71d7013255
- better validation checks for CSV-based string files.
2019-12-15 16:42:24 +01:00
David Carlier
e0fb9a45e2
Marking final class to suppress build warning with clang.
2019-12-12 23:26:32 +01:00
alexey.lysiuk
c3ede69d16
- fixed linked sound resolving
...
Hash indices and sound ids were used interchangeably but they are different entities
https://forum.zdoom.org/viewtopic.php?t=66618
2019-12-12 17:37:10 +01:00
alexey.lysiuk
1a19dbb52f
- added 'damageonland' property to terrain definition
...
This property helps to replicate vanilla Hexen behavior of damaging player right after touching lava floor
https://forum.zdoom.org/viewtopic.php?t=66512
2019-12-12 15:14:30 +01:00
Christoph Oelckers
bf8305062a
- do not allow summon CCMD to spawn abstract classes
2019-12-12 02:13:19 +01:00
Christoph Oelckers
165d9951aa
- made the sound resolving a virtual method
...
This way the player sounds can be done in the proper place without infesting the core.
2019-12-12 01:31:41 +01:00
Fabian Greffrath
cc7807bb10
do not expect user input if stdin is redirected
...
If GZDoom is built on a POSIX system without the GTK frontend and not
run from a KDE session, an IWAD picker is presented on the terminal
and expects the user to select a game wad. However, if stdin is
redirected, this won't work, so start with the default IWAD instead.
2019-12-11 08:16:08 +02:00
alexey.lysiuk
194dd3e4cf
- fixed debugger visualization for FSoundID
2019-12-10 16:38:37 +02:00
alexey.lysiuk
3cb571c1d5
- rewrote test for occupied sound channel without special types
...
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 13:36:05 +02:00
alexey.lysiuk
f050a23541
- restored stopping of channel by new sound
...
If source actor/sector/polyobject is playing something on the selected channel, stop it before playing a new sound
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 11:40:32 +02:00
Magnus Norddahl
ab4c792201
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-10 00:44:53 +01:00
Magnus Norddahl
49af4a4b35
- fix line backside textures mirrored
2019-12-10 00:44:40 +01:00
Braden Obrzut
5a578ba1ae
Fixed: GetClientWidth and GetClientHeight were still using SDL_Surface which on some systems would allocate an SDL_Renderer automatically.
2019-12-09 18:39:36 -05:00
Magnus Norddahl
bf68f1a851
Change SDL renderer creation error to a fatal one and also include why SDL failed the call
2019-12-09 23:33:22 +01:00
alexey.lysiuk
5e35077364
- remove redundant call to SoundRenderer::UpdateSounds()
...
At that point SoundEngine::StopAllChannels() did this already
2019-12-09 16:09:07 +02:00
alexey.lysiuk
5966391108
- moved sound engine cleanup calls to own function
...
https://forum.zdoom.org/viewtopic.php?t=66605#p1127457
2019-12-09 16:06:41 +02:00
alexey.lysiuk
430a6f3247
- fixed crash when exiting before sound engine initialization
...
https://forum.zdoom.org/viewtopic.php?t=66605
2019-12-09 15:43:01 +02:00
alexey.lysiuk
47305a740f
- removed redundant call to S_StopAllChannels()
...
It's the first thing that S_ClearSoundData() does anyway
2019-12-09 15:40:40 +02:00
Braden Obrzut
4ae2e12cbf
Convert SDL_Surface code to SDL_Renderer
2019-12-08 21:31:16 -05:00
Magnus Norddahl
61036dfdca
Fix include error
2019-12-09 03:10:37 +01:00
Christoph Oelckers
298e29ffcc
Merge branch 'soundsource_refactor'
2019-12-08 22:19:51 +01:00
Christoph Oelckers
6725cfcca5
- cleaned the includes of the sound backend code of unwanted content.
...
Also simplified the sound init decision making. With FMod gone there is no reason to be pedantic here. Even the check of snd_backend for the Null device could be omitted here, its only realistic use is '-nosound'.
2019-12-08 22:17:19 +01:00
Christoph Oelckers
83349bee1b
- separated reverb data and reverb editor.
...
Again, isolating the part that is game independent from parts that are specific to GZDoom.
2019-12-08 21:45:45 +01:00
Christoph Oelckers
b9582cc98e
- continued refactoring on sound code.
...
The game independent part of the code has been mostly isolated.
2019-12-08 21:22:53 +01:00
Magnus Norddahl
2052a6db53
Simplify code slightly
2019-12-08 18:27:26 +01:00
Magnus Norddahl
1e239ba4bb
SSE for the blend functions
2019-12-08 18:20:50 +01:00
Magnus Norddahl
819c675c3d
Fix typo
2019-12-08 16:40:14 +01:00
Magnus Norddahl
0b9e4e1f3d
Oops, shifting using a SSE register apparently requires AVX2
2019-12-08 16:29:14 +01:00
Magnus Norddahl
6c65c25303
Create specific blend functions for the common legacy render styles
2019-12-08 16:06:42 +01:00
Magnus Norddahl
42720f87cc
Select fragment shader once per triangle
2019-12-08 14:52:12 +01:00
Magnus Norddahl
f7ae955e6a
Select blend function once per triangle
2019-12-08 14:42:20 +01:00
Magnus Norddahl
73c62c5404
Minor code simplification
2019-12-08 13:57:40 +01:00
Magnus Norddahl
aa44fa7c77
Create SSE2 version of BlendColor
2019-12-08 13:55:28 +01:00
Christoph Oelckers
fd181f469d
- reduced the dependency of the sound system on game state.
...
Many of the simple wrappers have been moved to a separate file and the sound source handling has been abstracted.
This is only the first phase, the work is not complete yet.
Also changed the license of the sound code to BSD after verifying that this code bears no similarity to id's original sound code anymore, save for a few function names (which are due to be refactored out anyway.)
2019-12-08 13:28:52 +01:00
Christoph Oelckers
22e692e21c
- started separating the sound engine code from game dependent parts.
...
First step: Split the header. Todo: Abstract listener and sound source specifics out of the sound engine.
2019-12-08 10:07:26 +01:00
Magnus Norddahl
844b203971
Split the various stages of the fragment shader into functions
2019-12-08 03:18:05 +01:00
Magnus Norddahl
c97d02ae51
Alpha test must be performed before vcolor is applied
2019-12-08 02:39:42 +01:00
Magnus Norddahl
fdb93309fe
Fix render to texture
2019-12-08 01:39:17 +01:00
Magnus Norddahl
cef3fd53ab
Clamp vColor
2019-12-08 00:41:24 +01:00
Magnus Norddahl
f365f6f433
Fix depth test staying active when it shouldn't
2019-12-08 00:41:02 +01:00
Magnus Norddahl
310ef73aa8
Rename PolyTriangleDrawer to PolyCommandBuffer and make its interface look like one
2019-12-07 23:15:12 +01:00
Magnus Norddahl
bb64b178e1
Fix sky transition
2019-12-07 21:17:11 +01:00
Magnus Norddahl
90f5eee6c6
Add dynamic lights
2019-12-07 15:09:58 +01:00
alexey.lysiuk
372733da8c
- handle mirroring in MNTR sprite renaming
...
https://forum.zdoom.org/viewtopic.php?t=66583
2019-12-07 14:58:23 +02:00
alexey.lysiuk
e4587138bb
- added support for softpoly backend on macOS
...
Grabbed most of code from old Cocoa backend with separate code path for software rendering
2019-12-07 13:25:12 +02:00
Magnus Norddahl
75248cffd0
- fix decal color bug
2019-12-06 23:26:38 +01:00
Madame Rachelle
f3897e26f0
- allow to change acceleration type in SDL backend for softpoly
2019-12-06 14:38:25 -05:00
Magnus Norddahl
fd4fc45040
Move blend operator and alpha test flag out of the inner blend loop
2019-12-06 20:35:19 +01:00
Magnus Norddahl
aede0633bc
- fix bug where SSE wasn't actually really used at all
...
- improve precision of the SSE version of WriteW
- use SSE to calculate the texture wrapping
2019-12-06 18:51:41 +01:00
Rachael Alexanderson
edd7fe1e16
- migrate vid_enablevulkan to vid_preferbackend in config file
2019-12-06 12:05:52 -05:00
Rachael Alexanderson
eaab122076
Merge remote-tracking branch 'origin/polybackend'
2019-12-06 09:30:55 -05:00
alexey.lysiuk
ffe8aaa091
- updated xBRZ scaler to 1.8
...
Removed all C++17 features: std::clamp(), attribute [[likely]], terse static asserts, ...
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.8.zip/download
2019-12-06 13:18:43 +02:00
Magnus Norddahl
8075510289
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-06 00:20:25 +01:00
Madame Rachelle
c646478aa0
- allow SDL to use OpenGL acceleration for polybackend
2019-12-05 18:27:46 -05:00
Magnus Norddahl
a7a899ca14
Fix null pointer crash
2019-12-06 00:19:51 +01:00
Magnus Norddahl
dd87619cc4
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-05 21:19:20 +01:00
Magnus Norddahl
9b7db26a37
Fix the compile error on Windows
2019-12-05 21:18:11 +01:00
Magnus Norddahl
ab4f3ee0b1
Fix black border clears
2019-12-05 22:04:28 +01:00
Magnus Norddahl
e4bd2483e5
Implement SDL present functions
2019-12-05 21:26:01 +01:00
Chronos Ouroboros
b9367caa6f
Fixed the JIT's OP_VTBL check not checking if it's already at the start of the code.
2019-12-04 17:37:20 -03:00
Magnus Norddahl
0f6aec5e99
Some vid_preferbackend compile fixes
2019-12-02 20:12:27 +01:00
Magnus Norddahl
a9e6592feb
Switch to the D3DSWAPEFFECT_FLIPEX swap model
2019-12-02 20:05:13 +01:00
Magnus Norddahl
43139276d1
SSE2 version of wrap
2019-12-02 18:44:15 +01:00
Rachael Alexanderson
3269b61ffc
- change menu option for 'vid_preferbackend'
2019-12-02 09:43:06 -05:00
Magnus Norddahl
f501e1bb49
Fix texture binding bug
2019-12-02 01:48:59 +01:00
Magnus Norddahl
865b7a1a2c
Implement func_paletted shader
2019-12-02 01:28:35 +01:00
Magnus Norddahl
44c2223c2f
Draw 8-bit software renderer with polybackend (well, sort of!)
2019-12-02 01:07:28 +01:00
Magnus Norddahl
4a2b763aaa
Support 8-bit textures
2019-12-02 00:35:15 +01:00
Magnus Norddahl
74c6b9fe6d
Remove PolyDrawArgs
2019-12-02 00:21:42 +01:00
Magnus Norddahl
d2f4570337
Remove old polyargs
2019-12-02 00:01:04 +01:00
Magnus Norddahl
4a4b79194d
Remove/disable old swrenderer model rendering code
2019-12-01 23:37:43 +01:00
Magnus Norddahl
3059b8f5c8
Remove old softpoly drawer implementation
2019-12-01 23:23:25 +01:00
Rachael Alexanderson
f1e136487d
Merge branch 'polybackend' of https://github.com/coelckers/gzdoom into polybackend
2019-12-01 16:06:54 -05:00
Rachael Alexanderson
bdc7329d32
- replace vid_enablevulkan with vid_preferbackend - disabled startup window selector for this (will replace when the startup screen changes are done)
2019-12-01 16:06:36 -05:00
Magnus Norddahl
8ca05fe30a
Implement crossfade
2019-12-01 22:05:10 +01:00
Magnus Norddahl
1b9479ea45
Implement burn.fp and second texture binding
2019-12-01 21:44:44 +01:00
Magnus Norddahl
2c751d214f
Hook up some SSE2
2019-12-01 20:23:41 +01:00
Magnus Norddahl
4a25c9f69b
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-01 20:09:19 +01:00
alexey.lysiuk
51c90f54a4
- fixed wrong display of Hexen AC for SBARINFO
...
Do not use BasicArmor's save percentage when no armor present
Applied change from 34c2c65bb6
to old status bar definitions
2019-12-01 10:30:06 +02:00
Christoph Oelckers
d420b0ab05
- fixed: AActor::Revive did not restore flags8.
2019-11-30 22:03:19 +01:00
ZZYZX
116d81cb9f
Normalize mouse events received by the modder through EventHandlers
2019-11-30 11:06:30 +02:00
alexey.lysiuk
33fb2a7856
- pass master volume to ZMusic library on startup
...
MIDI devices that don't output music through the sound system (like WinMM) ignored master volume setting
https://forum.zdoom.org/viewtopic.php?t=66510
2019-11-29 11:13:03 +02:00
alexey.lysiuk
628b2ef97f
- removed unused code from serializer
2019-11-27 12:30:09 +02:00
Ed the Bat
001df17daa
Optional override for SetSlot and ClearPlayerClasses
...
With this, a decade-long struggle can now be ended.
# Conflicts:
# wadsrc/static/language.csv
2019-11-26 09:58:53 -05:00
alexey.lysiuk
fdd17403e5
- added ability to force internal alternative HUD
...
Set hud_althud_forceinternal CVAR to disable unwanted HUD customizations
2019-11-26 15:45:18 +02:00
alexey.lysiuk
a7f2df4fef
- added ability to set custom alternative HUD
...
Use GAMEINFO key 'althudclass' to specify own class derived from AltHud
https://forum.zdoom.org/viewtopic.php?t=66422
2019-11-26 15:45:18 +02:00
Rachael Alexanderson
a3741abbf3
- add cvar 'cl_disableinvertedcolormap' - changes the invulnerability… ( #972 )
...
* - add cvar 'cl_disableinvertedcolormap' - changes the invulnerability sphere to instead be a regular desaturated colormap that transitions from deep blue to pale yellow
* - add menu option for cl_disableinvertedcolormap
* - added customization for invulnerability colormap
* - fixed custom colormap being calculated incorrectly
* - disable custom invulnerability map before the main game loop
2019-11-26 07:46:18 -05:00
alexey.lysiuk
20d3752fdd
- exported several Wads.GetLump...() methods to ZScript
...
* GetLumpName() returns 8-characters lump name
* GetLumpFullName() returns full name with path and extension
* GetLumpNamespace() returns lump's namespace
* GetNumLumps() returns total number of lumps
https://forum.zdoom.org/viewtopic.php?t=66285
2019-11-25 17:37:56 +02:00
Player701
db1359f98e
- Implemented scale parameter for BaseStatusBar::DrawString
2019-11-24 10:45:07 +01:00
Christoph Oelckers
354d5eb66e
- Renamed AlignedAlloc.
...
according to Travis error logs these AlignedAlloc lines were causing compile errors, presumably AlignedAlloc was defined to aligned_alloc, so better use different names.
2019-11-24 10:42:18 +01:00
Magnus Norddahl
bff22bbd81
- don't map the frame buffer memory every frame when doing software rendering
2019-11-23 12:09:05 +01:00
Magnus Norddahl
8abbd63427
Only allocate WallColumnDrawerArgs once per thread
2019-11-23 11:57:42 +01:00
alexey.lysiuk
c75233a842
- avoid name clashing with C11 function
...
src/rendering/swrenderer/r_memory.cpp:78:14: error: ‘void* aligned_alloc(size_t, size_t)’ was declared ‘extern’ and later ‘static’ [-fpermissive]
2019-11-23 11:17:34 +02:00
Magnus Norddahl
b7745aaa8b
Make absolutely sure allocated frame memory is always 16-byte aligned
2019-11-23 02:26:52 +01:00
Magnus Norddahl
bc37d8d601
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-11-23 02:25:58 +01:00
Magnus Norddahl
62b2039a75
Queue a full wall as one draw command
2019-11-23 02:25:42 +01:00
alexey.lysiuk
cf8c05c9c4
- fixed missing checks for function calls from DECORATE
...
State functions could call ZScript code with incompatible self pointer, e.g. weapon's function could be called with self pointed to player pawn
DECORATE scripts that contain such errors are no longer accepted
https://forum.zdoom.org/viewtopic.php?t=66429
2019-11-21 16:58:28 +02:00
Magnus Norddahl
310459b490
Remove dead code
2019-11-20 22:11:40 +01:00
Magnus Norddahl
2ac6be3510
- fix scale bug and remove some member variables
2019-11-20 22:06:15 +01:00
Magnus Norddahl
236b476933
- change ProjectedWallTexcoords to use gradients for its texture coordinate calculations
...
- change SpriteDrawerArgs to draw a full sprite instead of one column at a time
- add r_noaccel cvar to allow forced software rendering of the psprites (useful for debugging and also one person on the forum actually requested this feature)
- remove FWallTmapVals and calculate texture coordinates directly from FWallCoords
- move portal clipping out of the inner sprite drawing loop
2019-11-20 04:50:24 +01:00
Magnus Norddahl
1085287af1
Reverse the order of the functions in r_walldraw
2019-11-15 22:47:40 +01:00
Magnus Norddahl
16c2d9366d
Remove ProcessWallNP2 as NPOT textures are already handled elsewhere
2019-11-15 22:28:59 +01:00
Magnus Norddahl
9f9884d03c
- move decal light calculations into RenderDecal::RenderDecals
2019-11-15 06:06:11 +01:00
Magnus Norddahl
a478cf9a96
- support dynamic lights on translucent and 3d floor walls
2019-11-15 05:53:55 +01:00
Magnus Norddahl
7168466c28
Calculate all light in RenderWallPart
2019-11-15 05:45:52 +01:00
Magnus Norddahl
82855ab1fd
Calculate light closer to where it is used
2019-11-15 05:21:10 +01:00
Magnus Norddahl
3428b50924
Fix type typo
2019-11-15 03:46:21 +01:00
Magnus Norddahl
608895dae7
Fix fog boundary drawing for 3d floors and add a few helper functions to RenderDrawSegment
2019-11-15 03:41:10 +01:00
Rachael Alexanderson
4d66e9a8bb
- remove SetLineSideRefs - this actually cannot be exported right now, due to the fact that both sides and lines have backreferences to themselves and their ancestry, and that linedefs have forward references to the sectors on their respective sides.
...
- made FlipLineSideRefs native, due to the SetLineSideRefs removal
- fixed a bug with FlipLineSideRefs that rendered upper and lower textures incorrectly due to incorrect sector references
- FlipLineSideRefs now should only work on single-sided lines
2019-11-14 14:32:20 -05:00
Rachael Alexanderson
b0751db552
- add native SetLineSideRefs(line, side1idx, side2idx)
...
- add scripted FlipLineSideRefs(line)
2019-11-14 09:20:16 -05:00
Magnus Norddahl
642cd2b160
Fix 3d floor rendering bug
2019-11-14 02:28:53 +01:00
PaulyB
a74be69371
Added 'NoKeyboardCheats' option to IWADINFO
...
This is useful for IWADs that do not want to use the hardcoded engine cheats. This can still be overriden with the 'allcheats' CVAR
2019-11-13 17:34:42 +01:00
Rachael Alexanderson
26dd900b3e
- cl_blockcheats added to 'nocheat' check
2019-11-13 04:45:57 -05:00
Magnus Norddahl
88848f1d59
Add some helpers on DrawSegmentClipInfo
2019-11-13 04:17:46 +01:00
Christoph Oelckers
5cc75af295
- changed secret message handling so that the debug output of the sector number is only printed to the console but not the centered message.
2019-11-12 23:39:05 +01:00
Magnus Norddahl
72bba914ce
Move drawseg clipping variables to DrawSegmentClipInfo
2019-11-12 19:46:45 +01:00
Magnus Norddahl
879fae7cd0
Also calculate wallsprite and decal texture coordinates in ProjectedWallTexcoords
2019-11-12 18:44:17 +01:00
Rachael Alexanderson
37fdf14422
- add calc indices before running level postprocessor
2019-11-12 09:46:14 -05:00
Rachael Alexanderson
21a74dfb13
- new zscript function 'SetLineVertexes(line, v1, v2)'
...
- scriptify 'FlipLine' completely using new function, remove native version
2019-11-12 08:08:35 -05:00
3saster
a4b6a8f093
Added 'nocheats' CVAR ( #969 )
...
This CVAR disables all classic cheats (i.e. keyboard cheats). This prevents keypresses from being eaten due to attempting to read cheats
2019-11-12 07:29:16 -05:00
Magnus Norddahl
fa3e5e34a8
Move all ProjectedWallTexcoords calculations to that class
2019-11-12 02:22:30 +01:00
Magnus Norddahl
e388abbb77
Clarify that 'fake wall' means a 3d floor wall
2019-11-11 23:41:14 +01:00
Magnus Norddahl
fec280a5fc
Remove the sprite drawer from wall drawing
2019-11-11 05:37:02 +01:00
Magnus Norddahl
3944ee5b67
- Calculate drawseg texture coordinates in r_line
2019-11-11 04:10:08 +01:00
Magnus Norddahl
6410bc81cc
- merge top/mid/bottom texture coordinate calculations
2019-11-11 03:19:00 +01:00
Christoph Oelckers
81753e5ffb
- moved the level postprocessor to its own source file.
2019-11-10 21:28:01 +01:00
Rachael Alexanderson
57eb1a82d6
- oops - add rangecheck to 'FlipLine'
2019-11-10 10:01:17 -05:00
Rachael Alexanderson
1098a13fdb
- add 'FlipLine' to 'LevelPostProcessor'
2019-11-10 09:04:30 -05:00
alexey.lysiuk
82c248854d
- extended level post-processing with special string arguments
2019-11-10 11:37:02 +02:00
alexey.lysiuk
00ff4083d2
- extended level post-processing with thing IDs
2019-11-10 11:37:02 +02:00
alexey.lysiuk
098b1c5973
- level post-processor cleanup
2019-11-10 11:37:02 +02:00
alexey.lysiuk
c5237ce58f
- level post-processor can now add new things
2019-11-10 11:37:02 +02:00
alexey.lysiuk
1e29444152
- extended level post-processing with specials and arguments
2019-11-10 11:37:02 +02:00
alexey.lysiuk
79880b2bd9
- extended level post-processing with editor numbers and angles
2019-11-10 11:37:02 +02:00
alexey.lysiuk
a2a50f34d5
- added things related getters to level post-processing
...
New functions cover existing interface only
Unsigned integers are now used instead signed for indices and bitfields
2019-11-10 11:37:02 +02:00
alexey.lysiuk
59bdebb20a
- added generic level post-processing script class
...
It was extracted from LevelCompatibility class, and native code was moved accordingly
2019-11-10 11:37:02 +02:00
alexey.lysiuk
6ad965abb5
- improved handling of return value mismatches
...
Prohibit returning more values than declared in function
The exception is a void function returning one value, but only for compatibility with old scripts
https://forum.zdoom.org/viewtopic.php?t=66341
2019-11-10 11:14:08 +02:00
Player701
8c05816378
- Fixed erroneous "Return type mismatch error" when returning value of derived type
2019-11-10 09:58:25 +02:00
Magnus Norddahl
48d0ebab58
Convert some variables to be function local
2019-11-09 05:29:14 +01:00
Magnus Norddahl
b40ffb1d64
Move more texture coordinate variables into ProjectedWallTexcoords
2019-11-09 04:45:39 +01:00
Magnus Norddahl
5c21a6c973
Remove the ProjectedWallTexcoords arrays
2019-11-09 03:16:48 +01:00
Magnus Norddahl
370c185415
Mark FWallTmapVals members as private and make FWallTmapVals part of wallsetup
2019-11-09 02:41:37 +01:00
Magnus Norddahl
7fae5ea905
Remove unused code
2019-11-09 00:07:33 +01:00
Magnus Norddahl
62ec165d28
Further isolate texture coordinate calculations to r_wallsetup
2019-11-08 03:46:07 +01:00
Chronos Ouroboros
c64fafc490
Merge pull request #701 from Doom2fan/DirectNativeShape2D
...
Added direct-native versions of the Shape2D API.
2019-11-07 18:49:53 -03:00
Rachael Alexanderson
20e61ead49
- add Vulkan to the startup box in Windows
2019-11-05 08:57:50 -05:00
alexey.lysiuk
fd5e8d6e7b
- fixed source lump assignment for multipatch textures
...
It was impossible to detect a WAD that contains a multipatch texture
https://forum.zdoom.org/viewtopic.php?t=66299
2019-11-05 14:47:13 +02:00
Chronos Ouroboros
583d8faf5c
Fixed mixins.
2019-11-04 18:31:31 -03:00
Christoph Oelckers
2ae3f6d326
- fixed bad variable name for lump filter
2019-11-04 00:08:06 +01:00
alexey.lysiuk
be8009d9ca
- fixed: IfGame else branch was ignored in MENUDEF
...
https://forum.zdoom.org/viewtopic.php?t=66282
2019-11-03 16:56:24 +02:00
Christoph Oelckers
077d4e08bb
- fixed: lump filters without any dot in the name did not work.
2019-11-03 15:53:41 +01:00
Rachael Alexanderson
e55a935220
- implement ccmd 'togglehud' for taking screenshots
...
- it disables most 2D drawing in order to favor a fullscreen output view for screenshot taking
- enabling the console or any menu should cancel it
- it does use several CVARs but their state should be restored when this mode is canceled
2019-11-03 03:51:22 -05:00
drfrag
bd90a768f5
- Fixed stretching for 256 and 240 pixels tall skies in software.
2019-11-02 22:57:31 +01:00
Chronos Ouroboros
af17864968
Fixed a bug in the flagdef processing code.
2019-11-01 18:38:19 -03:00
Chronos Ouroboros
e63b6d494a
Added mixins for classes.
2019-11-01 18:34:52 -03:00
alexey.lysiuk
4c7c1138aa
- adjusted collision detection for item pickups
...
Use vanilla condition for a thing with MF_SPECIAL flag to fix inability to grab it when item's top is at the same height as sector's floor from it can be picked up
https://forum.zdoom.org/viewtopic.php?t=60181&start=88#p1122935
2019-10-31 12:07:50 +01:00
alexey.lysiuk
958b52d3aa
- fixed localization support for intermission texts
...
https://forum.zdoom.org/viewtopic.php?t=66221
2019-10-27 10:43:09 +02:00
alexey.lysiuk
ae2f7dd892
- fixed radius attack that may inflict damage twice
...
https://forum.zdoom.org/viewtopic.php?t=66191
2019-10-27 09:34:13 +01:00
Christoph Oelckers
d54a7de284
- sort CVAR output in config alphabetically instead of randomly dumping them in their internal order.
2019-10-27 08:18:03 +01:00
Chronos Ouroboros
8f7e902875
Fixed ZScript's Screen.DrawLine using the wrong color when drawing pure black.
2019-10-26 13:42:24 -03:00
alexey.lysiuk
fb384c6b8d
- fixed usage of uninitialized object in BlockLinesIterator
...
DBlockLinesIterator::check was used by FMultiBlockLinesIterator before it was constructed
https://forum.zdoom.org/viewtopic.php?t=66224
2019-10-26 11:01:49 +03:00
alexey.lysiuk
dfecc1229f
- removed hardcoded width limit for screenshots
...
https://forum.zdoom.org/viewtopic.php?t=66204
2019-10-24 10:42:39 +03:00
Chronos Ouroboros
3071723a67
Fixed dynamic arrays as function arguments.
2019-10-23 18:38:41 -03:00
alexey.lysiuk
4ae16c27e2
- added Visual Studio debugger visualization for several types
2019-10-23 20:15:55 +02:00
alexey.lysiuk
94e7b6f3b5
- do not accept read-only variable as out argument
...
https://forum.zdoom.org/viewtopic.php?t=66179
2019-10-22 11:11:22 +03:00
alexey.lysiuk
9a727f6c2f
- fixed variable's stack offset for implicit dynarray clearing
...
https://forum.zdoom.org/viewtopic.php?t=66187
https://forum.zdoom.org/viewtopic.php?t=66189
https://forum.zdoom.org/viewtopic.php?t=66198
2019-10-22 10:40:45 +03:00
Chronos Ouroboros
4fa6678fc5
Fixed Vector2/3 out parameters in the ZScript compiler.
2019-10-21 16:30:05 -03:00
alexey.lysiuk
994960627b
- added explicit clearing of global VM stask
...
When exception is thrown from JITed code, VM stask isn't cleared during unwinding
It needs to be clear explicitly to avoid memory leaks and references to destructed objects on shutdown
https://forum.zdoom.org/viewtopic.php?t=66172
2019-10-21 15:54:13 +03:00
Rachael Alexanderson
ed337b3ecc
- fixed: Made "Col2RGB8_2" a global variable, since "Col2RGB8_LessPrecision[]" references it by pointer.
2019-10-21 08:45:48 -04:00
Rachael Alexanderson
d20601d65e
- fixed: made Col2RGB8_2[]
in BuildTransTable()
static, the array was originally designed to be used in the global in scope but when it was moved to be local it did not init properly, causing transparency issues in the software renderer.
2019-10-21 05:32:58 -04:00
Christoph Oelckers
777798ede4
- fixed GetLineX/GetLineY ACS implementation
2019-10-20 14:32:11 +02:00
Christoph Oelckers
8b10d231cd
- when adding some minmum lateral movement to trigger collision detection, do not just set Vel.X but actually use a vector pointing in the proper facing direction of the actor.
2019-10-20 14:02:28 +02:00
Christoph Oelckers
19c7e24d69
- fixed: MF8_RECREATELIGHTS must be processed in pause mode as well.
...
When issuing a netevent from the console the game is in pause mode, and if this removes a light it would have crashed the game.
2019-10-20 12:55:24 +02:00
alexey.lysiuk
ce8b235d0b
- implicitly clear local dynamic arrays
...
https://forum.zdoom.org/viewtopic.php?t=62710
2019-10-20 12:20:18 +02:00
alexey.lysiuk
5a6d8035d0
- added access check for state functions
...
Private functions cannot be called from derived classes anymore
https://forum.zdoom.org/viewtopic.php?t=66158
2019-10-19 14:50:36 +02:00
Chronos Ouroboros
1a67899bba
Added direct-native versions of the Shape2D linear transform API.
2019-10-19 05:25:31 -03:00
Chronos Ouroboros
f45ade151a
Added direct-native versions of the Shape2D API.
2019-10-19 04:41:57 -03:00
alexey.lysiuk
c3dc8ea837
- fixed selection of system MIDI device on startup
...
https://forum.zdoom.org/viewtopic.php?t=66150
2019-10-18 15:22:58 +03:00
Christoph Oelckers
f7f51e1964
- fixed: The dynamic lights must be initialized before the first frame is ticked.
...
Otherwise they only show up after the first frame.
2019-10-17 00:11:38 +02:00
alexey.lysiuk
c45e8b32d0
- fallback to console font in case of missing small font
...
https://forum.zdoom.org/viewtopic.php?t=66102
2019-10-16 09:46:23 +02:00
alexey.lysiuk
d44d91d6a4
- fixed compilation of Cocoa backend with 10.9 SDK
...
src/posix/cocoa/i_video.mm:68:31: error: property 'delegate' not found on object of type 'id'
src/posix/cocoa/st_console.mm:464:37: error: property 'delegate' not found on object of type 'id'
2019-10-15 22:31:02 +03:00
Major Cooke
d0a256b51c
Fixed CheckBossDeath not checking for actor replacements.
...
- A_BossDeath relies upon this function in particular.
- This completes CheckReplacee's purpose, allowing for varied actors to count as one particular actor, such as a Fatso for map07 and avoid lowering the walls until they are all dead.
2019-10-15 20:44:21 +02:00
Christoph Oelckers
e166563ac9
- removed redundant resource reading.
2019-10-15 18:46:53 +02:00
Christoph Oelckers
4d8f0fc014
- fixed: ZMusic_Close may not lock the mutex because it will delete it.
...
Here the calling code must ensure that the music object won't be accessible anymore before it gets deleted.
2019-10-15 01:16:02 +02:00
Christoph Oelckers
dc32c2148a
- ZMusic interface refactoring.
...
Use global functions instead of the class interface which exposed too many implementation details.
2019-10-15 00:23:03 +02:00
alexey.lysiuk
30f2ac1e89
- fixed crash with DMSS_INFLICTORDMGTYPE flag and no inflictor
...
https://forum.zdoom.org/viewtopic.php?t=66110
2019-10-14 13:01:13 +03:00
alexey.lysiuk
29e3222fb3
- updated Cocoa backend to follow single exit point workflow
2019-10-12 14:44:13 +03:00
alexey.lysiuk
bb5ca2ce39
- deleted leftovers of exit refactoring
2019-10-12 12:43:49 +03:00
alexey.lysiuk
b40e0ae38d
- made GL nodes loader more resilient to broken data
...
https://forum.zdoom.org/viewtopic.php?t=66086
2019-10-12 12:41:14 +03:00
alexey.lysiuk
b68a9ebef5
- cleanup SDL fatal error reporting
...
Output error text to terminal if SDL message box cannot be shown
Removed wrong "No IWAD found" message
2019-10-11 12:03:23 +03:00
alexey.lysiuk
279b327c6c
- fixed potential crashes in Linux crash reporter
...
Do not access various global objects at early stage of initialization and late stage of shutdown
2019-10-11 12:01:36 +03:00
alexey.lysiuk
08a66abde9
- call SDL_Quit() from main() instead of atexit()
...
This should help with crash reporting during SDL shutdown
2019-10-11 11:56:38 +03:00
drfrag
525d678219
- Fixed capped tall skies not working (Heretic and Hexen).
...
- Fixed sky stretching for the new freelook limit.
2019-10-09 15:08:39 -04:00
alexey.lysiuk
bfa8e25100
- fixed crash on exiting from IWAD selector
...
https://forum.zdoom.org/viewtopic.php?t=66073
2019-10-09 15:05:20 +03:00
alexey.lysiuk
d3c50eadaa
- removed test code
...
https://forum.zdoom.org/viewtopic.php?t=66065
2019-10-08 22:23:43 +03:00
alexey.lysiuk
d87170ed9e
- restored command line arguments initialization in SDL backend
2019-10-08 22:18:47 +03:00
alexey.lysiuk
f678b5d4d6
- fixed crash on closing fatal error window
...
Framebuffer was accessed after its destruction
2019-10-08 12:39:45 +02:00
alexey.lysiuk
d87f7593b8
- fixed compilation of POSIX targets
...
src/posix/cocoa/i_main.mm:152:2: error: use of undeclared identifier 'ShutdownJoysticks'
src/posix/sdl/i_system.cpp:128:3: error: ‘I_FatalError_Gtk’ was not declared in this scope
src/posix/sdl/st_start.cpp:329:8: error: ‘CExitEvent’ was not declared in this scope
2019-10-08 10:48:43 +03:00
Christoph Oelckers
523fd0bf3a
Revert "AsmJit update"
...
This reverts commit 747b3dfcfe
.
# Conflicts:
# libraries/asmjit/asmjit/core/compiler.h
This had to be reverted because it breaks exception handling which is a critical problem.
With the updated code any exception thrown inside code that had a JITed call stack would crash.
2019-10-07 20:34:55 +02:00
Christoph Oelckers
2e7af1338c
- the big cleanup of the exit cleanup is done!
...
atterm is gone and only a few system-side functions use atexit.
All game side cleanup is performed in D_DoomMain now.
2019-10-07 20:28:55 +02:00
Christoph Oelckers
6f821a9198
- fixed compilation on Windows.
2019-10-07 18:59:18 +02:00
Christoph Oelckers
ff379e7c0c
replaced all 'exit's with an ExitEvent exception
...
The main exits are initiated from code that cannot filter this back to D_DoomMain easily so the exception is the only way to get there.
The 3 main points of exit are:
* quit/exit CCMD
* quitting the menu through ST_Endoom
* receiving a quit message on the main window.
2019-10-07 01:24:51 +02:00
Christoph Oelckers
5d265d2d88
- don't exit from within a window proc.
...
This should be handled by the message pump evaluating WM_QUIT which is how Windows suggests this to be done.
2019-10-07 01:11:53 +02:00
Christoph Oelckers
c95a07d2c4
- missed one exit.
2019-10-07 01:10:37 +02:00
Christoph Oelckers
0a611e1992
- refactored the exit calls out of the networking code
...
These ones were particularly bad examples of misusing the exit handlers by temporarily installing one themselves and then calling exit to clean stuff up.
Now they just return an error code to D_DoomMain to perform a regular exit.
2019-10-07 00:55:14 +02:00
Christoph Oelckers
96006eb94f
- moved all exception handling out of the backends
...
The main catch is now in D_DoomMain, only calling platform specific functions to handle the output for the error.
As a nice side effect, -norun can now be done without an exception, just by exiting D_DoomMain with a special exit code.
2019-10-07 00:37:56 +02:00
Christoph Oelckers
b5fa08bf15
- consolidated I_FatalError functions
...
This also removes the handling from thr Posix backend and will not compile on non-Windows.
2019-10-07 00:20:07 +02:00
Christoph Oelckers
cd086ae1da
- consolidated the 3 I_Error implementations
...
Debug output is now being handled by the respective interface functions, not by the Windows I_Error itself.
2019-10-07 00:01:12 +02:00
Christoph Oelckers
5a72e0bfb7
- added a new texture class using stb_image to read a more formats.
...
This implementation only reads GIF, BMP and PIC formats. No animated GIF support because stb_image does not handle that.
PNG, JPG and TGA are still being handled by the existing dedicated implementations.
PSD and HDR are impractical for reading texture data and thus are disabled.
PnM could be enabled, if its identification semantics were stronger. stb_image only checks the first two characters which simply would falsely identify several flats with the right colors in the first two bytes.
This is more or less a waste product of getting stb_image to work with something actually testable, so it is just provided as-is.
2019-10-06 08:37:23 +02:00
Rachael Alexanderson
5cbb1c86ab
- add missing information for the drawers, from the wallsprite code. this reverts a revert.
...
This reverts commit 338430995e
.
2019-10-05 14:51:48 -04:00
drfrag
e6c6b617e2
- Fixed crash with wallsprites in the software renderer for real.
2019-10-05 19:18:00 +02:00
drfrag
338430995e
Revert "- fixed a crash in the software renderer that caused wallsprites to crash"
...
This reverts commit 0dea6fcecc
.
2019-10-05 19:18:00 +02:00
alexey.lysiuk
46270326be
- implemented str(n)icmp function definitions via CMake macro
2019-10-05 14:47:36 +03:00
alexey.lysiuk
9332316c2a
- set initial vsync state after creation of framebuffer
...
https://forum.zdoom.org/viewtopic.php?t=66020
2019-10-04 10:46:52 +03:00
Rachael Alexanderson
0dea6fcecc
- fixed a crash in the software renderer that caused wallsprites to crash
...
(note: there is still a bug with grabbing the texture for these)
2019-10-03 23:32:14 -04:00
alexey.lysiuk
1d9b5cb239
- restored ability to link with thirdparty sound libraries explicitly
...
DYN_SNDFILE=NO and DYN_MPG123=NO were ignored while DYN_FLUIDSYNTH=NO broke compilation
These options should be applied to ZMusic target instead of the main executable
As a bonus, it's now possible to build GZDoom without FluidSynth
2019-10-03 12:22:46 +03:00
alexey.lysiuk
ad3327bdf5
- fixed compilation of Cocoa backend
...
src/posix/cocoa/st_start.mm:63:7: error: redefinition of 'FBasicStartupScreen'
2019-10-02 10:57:39 +03:00
Christoph Oelckers
b0acfc3ce6
- split up st_start.cpp into one file with the Windows interface code and a second one which only contains platform independent code.
...
Since this made heavy use of Windows type, those were duplicated to avoid rewriting the entire interface.
This split at least reduces the amount of code needed to refactor for making the screens work on other platforms than Windows.
2019-10-01 23:00:13 +02:00
Christoph Oelckers
5179a69fdb
- don't let Vulkan access the vid_vsync variable directly.
...
Since the FrameBuffers have a SetVsync method anything these last set must count, not the global variable directly.
2019-10-01 20:50:15 +02:00
Christoph Oelckers
b9d4e77214
- eliminate a little bit of redundancy.
2019-10-01 20:13:40 +02:00
Christoph Oelckers
d2c156224b
- cleanup of the sound init/exit code.
...
Now there is only one single entry point for both, instead of previously 2 entry and 4 exit points.
This also eliminates the explicit shutdown of ZMusic. Timidity++'s two buffers have been put in containers that self-destruct on shutdown and calling dumb_exit is not necessary because the only feature requiring it is not used by any code in the music library.
2019-10-01 20:04:46 +02:00
Christoph Oelckers
86ab366958
- some reformatting on exit code, mainly to make searching for the content easier.
2019-10-01 19:06:28 +02:00
Christoph Oelckers
241a47602b
- small fix
2019-10-01 15:24:17 +02:00
Christoph Oelckers
338ae15a4c
- sanitized exit code a bit
...
Instead of trying a homegrown way to avoid recursive exceptions, let's do it with the defined procedure C++ has for this case: call std::terminate.
This allowed removing some old hackery inherited from Boom and will now hopefully allow sanitizing the exit procedure to the point that it can be done without depending on exit handlers.
2019-10-01 01:37:21 +02:00
Christoph Oelckers
ff40bcd178
- moced I_DetectOS call into D_DoomMain
...
This requires the console and was the reason for this strange setup.
2019-10-01 01:02:49 +02:00
Christoph Oelckers
a1a73ef2b3
- moved the initial C_InitConsole call into D_DoomMain
...
The only difference here were the size values on Windows but for this initial call they have been useless for a long time. When this code was written the console buffer still had a fixed width that needed to be set before adding any text.
2019-10-01 01:00:37 +02:00
Christoph Oelckers
9f15efc5f5
- also put the Windows system specific exit handlers into atexit's list
...
Again, these have no place in the game's own uninit code.
2019-10-01 00:51:14 +02:00
Christoph Oelckers
eae593b1f5
- put SDL_Quit into the atexit queue instead of atterm
...
System exit procedures should not go in there.
2019-10-01 00:44:28 +02:00
Christoph Oelckers
12440bbca3
- new exception class for quitting the game
...
This will eventually replace the atexit mess, right now it isn't used.
2019-10-01 00:43:12 +02:00
Christoph Oelckers
e7c388dccd
- don't throw exceptions before the system isn't initialized
...
If the window cannot be opened this has no way to report the problem. In this case a message box is needed.
2019-10-01 00:42:21 +02:00
Christoph Oelckers
42a54ef545
- copied the restart cleanup code into its own function
2019-10-01 00:30:44 +02:00
Christoph Oelckers
282047e67c
- added a mapping table from DOS-IBM-437 to Unicode
...
This is for future use, added now so that it won't get lost.
2019-10-01 00:26:07 +02:00
Christoph Oelckers
2a3205200f
- reordered a few things in the startup procedure
...
Mainly done to isolate the calls that actually manipulate the global frame buffer.
V_Init alsoi initialized some palette data, which was moved to V_InitPalette and did something entirely different when running a restart as opposed to an initial start.
2019-10-01 00:21:51 +02:00
Christoph Oelckers
a2883cdf39
- added missing return to the GENMIDI loader.
2019-10-01 00:11:41 +02:00
Braden Obrzut
63f2bf7ae3
- Document limitation of TArray and silence warnings about non-trivial types being trivially moved
2019-09-30 20:45:52 +02:00
Alexander
ff9715c080
add m_quickexit option for quick exit in game menu
...
Default: off (false)
When this option is enabled (true), then exiting the game from
main menu and by menu_quit command doesn't require confirmation
and doesn't play sound.
2019-09-30 20:07:45 +02:00
Christoph Oelckers
a76cdd0946
- fixed crash with non-looping music ending.
...
In this case it was the song terminating the stream, with the new setup the main music code has to do this itself.
2019-09-30 19:41:03 +02:00
Christoph Oelckers
83e8e5535d
- fixed compilation on Windows.
2019-09-30 18:21:34 +02:00
Christoph Oelckers
2b87941d7d
Merge branch 'master' into zmusic_work
...
# Conflicts:
# src/sound/music/i_musicinterns.h
2019-09-30 17:48:34 +02:00
Christoph Oelckers
c61e8ada86
- removed the remains of the FModEx-style stream implementation
...
FMod had MP3/Ogg playback integrated right into itself, and the OpenAL backend tried to replicate this functionality.
This functionality, however, has been removed over two years ago when FMod started breaking things more and more, it was only this backing implementation that was left in.
2019-09-30 03:01:33 +02:00
Christoph Oelckers
2bc72f38cc
- renamed a few functions in the public interface of ZMusic.
2019-09-30 02:40:22 +02:00
Christoph Oelckers
02507effe8
- moved the music loader code to ZMusic.
...
This was the final piece of code reorganization.
What's left is cleaning up the interface.
2019-09-30 02:35:47 +02:00
Christoph Oelckers
c42deda6e6
- cleanup of the remaining music code in the main project
2019-09-30 02:31:12 +02:00
Christoph Oelckers
d0cf21654e
- moved the CD Audio code to ZMusic, too.
...
This was the last player class.
This code was also cleaned up for non-Windows systems where CD Audio is not implemented.
Instead of providing an empty implementation, all related code is now explicitly deactivated.
2019-09-30 02:22:53 +02:00
Christoph Oelckers
352365189f
- moved the main music classes to ZMusic
...
What's left is the CD-Audio playback and some global functions.
2019-09-30 02:10:00 +02:00
Christoph Oelckers
6bfa1bf692
- fixed compilation with XCode and silenced several warnings
2019-09-30 01:51:53 +02:00
Christoph Oelckers
2c33e47988
- hooked up a few more CVARs and other values the music backend needs to know about and moved the MusInfo base class into zmusic.
2019-09-30 01:34:16 +02:00
Christoph Oelckers
7c27cd0c57
- moved the sound system's sound stream for the music out of the song objects.
...
It is now being handled by the controlling code.
While of no benefit for GZDoom itself, this finally allows to separate the entire music code into a separate, engine independent project that merely provides streamed music data when not playing on a hardware device (WinMM Midi or CD Audio.)
The tight coupling of the music code with the sound backend made this nearly impossible before
2019-09-30 00:02:31 +02:00
Christoph Oelckers
c7b379483e
- reordering code a bit to see where the stream must be started.
2019-09-29 22:54:13 +02:00
Christoph Oelckers
d06ec56c2e
- a bit of cleanup - moving internal class declarations into the sources.
...
Now i_musicinterns.h doesn't bleed the entire implementation everywhere anymore.
2019-09-29 22:32:42 +02:00
Christoph Oelckers
b9b706e951
- renamed the configuration file.
2019-09-29 22:03:14 +02:00
Christoph Oelckers
44a6b6e87c
- moved all configuration code to zmusic project.
...
The CVARs are now just getting forwarded without any own logic.
2019-09-29 22:01:19 +02:00
Christoph Oelckers
b7b57b904d
- first state of music configuration refactor.
2019-09-29 20:01:57 +02:00
Christoph Oelckers
ab016be6b9
- did a bit of reordering on I_RegisterSong.
...
The way CDDA was treated as an afterthought made handling of stream songs somewhat problematic, because the state could be unclear.
CDDA is an easily identifiable format so it should be tested first.
2019-09-29 15:10:06 +02:00
Christoph Oelckers
6d7b6fb9fd
- moved MIDI format detection and source creation into zmusic project.
2019-09-29 14:47:10 +02:00
Christoph Oelckers
859028b35a
- moved the stream sources to zmusic project.
2019-09-29 13:33:09 +02:00
Christoph Oelckers
247346e821
- removed ZDoom dependencies from music_libsndfile.cpp
2019-09-29 13:06:40 +02:00
Christoph Oelckers
cdf2a17c5a
- moved the sound decoding code to the zmusic project.
...
Since this gets used by both the sound backend and the music code it needs to be in a place accessible to both.
2019-09-29 12:48:12 +02:00
Christoph Oelckers
b883d27a1f
- XA, too.
2019-09-29 01:44:59 +02:00
Christoph Oelckers
dbabc3c0f6
- ... and the raw OPL format.
2019-09-29 01:31:42 +02:00
Christoph Oelckers
dbb4539f4f
- gave music_gme.cpp the treatment.
2019-09-29 01:00:15 +02:00
Christoph Oelckers
5eed3dab59
- dependency cleanup in music_dumb.cpp.
2019-09-29 00:41:13 +02:00
Christoph Oelckers
7468c0f36d
- consolidated the different file access interfaces in the backends into one shared version.
...
This was getting a bit unwieldy. The include path setup is not perfect yet, that's work for later.
(It's about time we're getting C++20 with modules so that this include path madness can be put to an end.)
2019-09-28 23:17:16 +02:00
Christoph Oelckers
d94b63b486
- uncoupled the stream sources from the low level implementation. The entire setup had the stream sources depend on the SoundStream class, severely limiting reusability. This was changed that there is one SoundStream class that uses the StreamSources as mere data source that has no knowledge and no connection to the underlying system, similar to how the MIDI system works. With this there are only 3 top level music classes left - MIDIStreamer, StreamSong and CDSong.
...
Also made the decode_vorbis function in DUMB a function pointer so that the library does not depend on high level code and can just ignore the vorbis case if no supported.
2019-09-28 21:04:41 +02:00
Christoph Oelckers
cfe89ef6e6
- created a new zmusic library which will eventually contain all the music playback code.
...
Currently all it contains are the MIDI sources and the MIDI devices, the rest needs to be reworked first.
2019-09-28 18:32:25 +02:00
Christoph Oelckers
fc6eba0c26
- more dependency removal, this time from the MIDI devices.
2019-09-28 16:50:00 +02:00
Christoph Oelckers
820cbcc689
- removed all dependencies on ZDoom code from the MIDI sources (including TArray and FileReader.)
2019-09-28 13:59:46 +02:00
alexey.lysiuk
e00a4a53a6
- fixed compilation of Linux targets
...
src/sound/music/i_musicinterns.h:111:7: error: no template named 'shared_ptr' in namespace 'std'
src/sound/music/i_musicinterns.h:133:7: error: no template named 'shared_ptr' in namespace 'std'
src/sound/music/i_musicinterns.h:152:7: error: no template named 'shared_ptr' in namespace 'std'
2019-09-28 13:32:31 +03:00
alexey.lysiuk
9f190e76e3
- disabled code signing in Xcode by default
...
It’s impossible to build GZDoom without valid code signing identity with Xcode 11 using a project
2019-09-28 13:32:31 +03:00
drfrag
634ef60c78
- Fixed player sprites not being affected by sector light level in the classic software renderer.
2019-09-28 10:31:27 +02:00
Christoph Oelckers
d8a1005c76
- fixed typo.
2019-09-28 10:04:09 +02:00
Christoph Oelckers
123ed9d01d
- moved the stream handling out of the MIDI device into the MIDIStreamer class.
...
This isn't the final location but this means that the device is merely a data provider, with the sole exception of the Win32 MIDI device whose unwieldy usage requirements unfortunately dictate much of the needed interface here.
2019-09-28 10:00:22 +02:00
Christoph Oelckers
67169b80e5
- split out the MIDIDevice implementation into its own source file.
2019-09-28 07:47:50 +02:00
Christoph Oelckers
d13766f2ee
- fixed a merge error.
2019-09-28 07:47:10 +02:00
Christoph Oelckers
c5f2578ff5
Merge branch 'midi_work_2'
2019-09-28 00:11:54 +02:00
Christoph Oelckers
61bc25d781
- WildMidi also done.
2019-09-28 00:10:39 +02:00
Christoph Oelckers
890db1fbf9
- Timidity++ done.
2019-09-27 22:19:00 +02:00
Christoph Oelckers
1cb668e895
- fixed the GUS MIDI device.
...
The sound font reader may not be deleted because its ownership is transferred to the instrument set.
The gus_patchdir variable was not transferred to the config struct.
2019-09-27 20:08:03 +02:00
alexey.lysiuk
b5e1656c8e
- fixed compilation on Linux
...
libraries/oplsynth/oplio.cpp:59:32: error: ‘memset’ was not declared in this scope
src/sound/mididevices/midi_cvars.cpp:43:31: error: expected initializer before ‘GetSystemDirectoryA’
2019-09-27 10:21:11 +03:00
Christoph Oelckers
ed7b73d8cb
- work on GUS MIDI device plus some cleanup
...
This is not tested yet!
2019-09-27 02:31:27 +02:00
Christoph Oelckers
b3b870d67e
- Gave OPN device the same treatment
...
Also made some improvements to the interface.
2019-09-27 01:51:05 +02:00
Christoph Oelckers
621945905f
- same treatment for the OPL Midi player.
2019-09-27 01:01:52 +02:00
Christoph Oelckers
d67fcd3887
- missed an 'else'.
2019-09-27 00:23:49 +02:00
Christoph Oelckers
647abf040b
- cleared FluidSynthMIDIDevice of most ZDoom dependencies.
2019-09-27 00:16:32 +02:00
Christoph Oelckers
8d2c67fe95
- more work on music code
...
- renamed the FluidSetting functions to ChangeSetting so that they can be used as a generic means to change music player options without overloading the virtual function table for each minor thing.
- pass Printf as a parameter to the MIDI renderer to uncouple it from the main GZDoom code.
- throw exceptions when setting up the renderer fails so that this can be handled consistently for all construction errors here.
- delete FluidSynth handles before the constructor aborts.
2019-09-26 22:30:07 +02:00
Christoph Oelckers
9b0529b8a3
- removed most dependencies on ZDoom code in ADL Midi device.
2019-09-26 21:29:06 +02:00
Christoph Oelckers
d3df422031
- made the OPL synth backend a separate library.
2019-09-26 20:06:39 +02:00
Christoph Oelckers
b085ac3efb
- cleaned up the dependencies of the OPL interface layer.
...
This also removes the OPL dumper because I wasn't able to get any non-broken output from it and have no desire to fix such a niche feature.
2019-09-26 19:33:28 +02:00
Christoph Oelckers
17eac1c57b
- removed all ZDoom dependencies from the OPL backend code.
2019-09-26 18:15:23 +02:00
Christoph Oelckers
2aa03e8e8a
- removed the global current_opl_core variable and pass the needed info as function parameters
...
because using global variables for this is really bad style!
This also removes the unused OPLMUSDumper class.
2019-09-26 17:40:39 +02:00
Christoph Oelckers
159b98ea88
- gave the Timidity error functions better names and hooked up the WildMidi version.
2019-09-26 17:22:54 +02:00
alexey.lysiuk
021e548db7
- fixed compilation with Apple Clang as well
...
src/utility/basictypes.h:39:23: error: unknown type name 'size_t'; did you mean 'time_t'?
2019-09-26 10:56:07 +03:00
Christoph Oelckers
c3f26422df
- changed MIDI sources so that they do not have to include i_musicinterns.h anymore.
...
They were already clean of unwanted external references, but including this file made it hard to keep it that way.
This also moves a few useful definitions around to less 'dirty' headers.
2019-09-25 21:47:33 +02:00
Christoph Oelckers
b8824b572f
- adapted the PSX XA decoder from EDuke32 as a music format in GZDoom.
...
Libsndfile cannot decode this format but tries to play these files as regular WAVs and turns them into noise (Both are in a RIFF container.)
2019-09-25 21:11:00 +02:00
Christoph Oelckers
4ba8da290c
- made WildMidi a library.
2019-09-25 19:38:48 +02:00
Christoph Oelckers
a562d69ec3
Merge branch 'wildmidi_cleanup'
2019-09-25 19:21:12 +02:00
Christoph Oelckers
32e1605e17
- fixed WildMidi.
2019-09-25 19:20:22 +02:00
Christoph Oelckers
4369220335
- refactoring of WildMidi to have proper instrument management
...
Not tested yet, it compiles but may not work as-is.
2019-09-25 17:27:10 +02:00
Marisa Kirisame
8dbddfc365
Fix crash on vulkan with a large number of texture shaders.
2019-09-25 17:46:33 +03:00
alexey.lysiuk
6ab9991e8d
- fixed potential resetting of bindings
...
Quitting GZDoom during initialization could lead to unbound game controls
https://forum.zdoom.org/viewtopic.php?t=65945
2019-09-25 12:21:08 +03:00
Christoph Oelckers
d9e32eb207
- started cleanup work on WildMidi code.
2019-09-24 23:46:27 +02:00
Christoph Oelckers
7962bf189e
- made the Timidity(GUS) device a separate library.
2019-09-24 23:43:44 +02:00
Christoph Oelckers
dcef3681d4
- cleaned up the includes in timidity.cpp.
2019-09-24 23:12:38 +02:00
Christoph Oelckers
d557f609cf
- cleanup of the TimidityMIDIDevice(GUS) backend code to eliminate the storage in global variables and to remove the dependencies on core ZDoom code.
...
The organization here is now the same as for the Timidity++ device, i.e. it is the device owning the instruments to give better control over their lifecycle.
2019-09-24 23:08:56 +02:00
Christoph Oelckers
c107657ea8
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-09-24 11:08:47 +02:00
Christoph Oelckers
fea0f77905
- removed some ZDoomd dependencies from Timidity(GUS) backend
...
* use std::string instead of FString
* replaced the single use of clamp with std::min/std::max.
* copied MAKE_ID macro into the source.
* use snprintf instead of mysnprintf
* use std::runtime_error instead of I_Error to abort on failed memory allocations.
2019-09-24 11:07:32 +02:00
alexey.lysiuk
ca5ca8e974
- fixed C++ compilation flags applied to C files
...
This had an effect on 32-bit targets without SSE support
2019-09-24 11:53:18 +03:00
Rachael Alexanderson
7ba485f632
fixed the software resized texture warp problem. ( #934 )
...
* - almost nearly fixed the software resized texture warp problem.
* - proposed fix for mipmapping issue for previous commit
* - reduce texture allocation for mipmapped warped textures in the software renderer
* - add a check for the resize mode
2019-09-23 22:37:35 -04:00
Christoph Oelckers
66c9f0902b
Merge commit '115d1cb182168bb2c8c29a3650dfc33b08e3e6cb'
2019-09-23 15:21:43 +02:00
alexey.lysiuk
7ec33b6b92
- fixed crash when setting sound pitch on non-existing channel
...
This applies to a lack of free channels, -nosound command line switch, missing OpenAL library, sound initialization failures, ...
https://forum.zdoom.org/viewtopic.php?t=65926
2019-09-23 15:42:03 +03:00
Christoph Oelckers
115d1cb182
- made the Timidity++ backend a library, now that it has no dependencies on GZDoom anymore.
2019-09-23 14:27:43 +02:00
Christoph Oelckers
56e4c8f213
- handled the final piece where Timidity++ had a direct dependency on GZDoom - the error logging function.
...
This is npw a function pointer so that a simple stdout printout can be used as default, but allows to override it.
Also added the missing timidity_file.h header.
2019-09-23 14:14:32 +02:00
Christoph Oelckers
98329311b4
- moved the CVars out of the Timidity++ backend.
2019-09-23 13:58:16 +02:00
Christoph Oelckers
cf6d0c3127
- implemented an abstract sound font reader interface for Timidity++.
...
The only dependency left on the main GZDoom code are the CVars, which will be dealt with next.
2019-09-23 13:53:28 +02:00
Christoph Oelckers
16ab52c5f3
- thinned out the FSoundFontReader interface a bit more by moving the file open code into the FSoundFontReader class itself.
2019-09-23 12:45:26 +02:00
Christoph Oelckers
2cf8cc47df
- moved the instrument set maintenance out of the Timidity++ library into the player class.
...
This removes the dependency on the sound font manager from the low level library, reducing the direct dependencies to FileReader and SoundFontReader.
2019-09-23 11:27:57 +02:00
Christoph Oelckers
df7a4bb0d9
- removed a few dependencies of the Timidity++ code from the main GZDoom code base.
...
The big issues, i.e. FileReader and SoundFontReader still need to be handled to make this a standalone library.
2019-09-23 10:18:19 +02:00
Christoph Oelckers
b3a9884eb1
- gave libopen the same treatment and made it its own subproject
2019-09-23 10:03:18 +02:00
Christoph Oelckers
84cc7cbdd2
- made libadl its own library subproject.
...
This is to improve compile times because the MSVC compiler tends to become slow with large lists of source files in a single project.
This new project is still our stripped down copy of libadl, not the original, because that project contains a large amount of baggage we do not need.
2019-09-23 10:03:17 +02:00
drfrag
2a642c66be
- Fixed ancient ZDoom savegame slot selection bug. When creating new autosaves LastAccessed and LastSaved were not updated accordingly.
2019-09-19 18:43:18 +02:00
Christoph Oelckers
b709a0b6b2
- fixed: sector lights could access the sector before it was set.
2019-09-16 17:34:41 +02:00
Christoph Oelckers
c8c8fecad3
- fixed a few warnings.
2019-09-16 17:30:39 +02:00
Marisa Kirisame
2628dabc31
Fix for LineTrace not setting its starting sector based on its offset.
2019-09-15 21:58:25 +02:00
drfrag
0cbb08ce84
- Fixed crash with mock2.wad in software.
2019-09-14 13:13:55 -04:00
alexey.lysiuk
e48edf6199
- fixed compilation with MSVC
...
src\gamedata\resourcefiles\resourcefile.h(77): error C4716: 'FResourceLump::FillCache': must return a value
2019-09-13 17:35:31 +03:00
Rachael Alexanderson
836f774b6c
- use drfrag's suggested fix of checking for valid texture access, rather than checking whether it is null, when drawing fog boundaries in the software renderer
2019-09-13 09:18:26 -04:00
Christoph Oelckers
587fd75190
- extended lump injection to allow injecting data into a PWAD's directory, not just the IWAD.
2019-09-13 13:55:53 +02:00
Christoph Oelckers
31aa855a51
- generate a hash identifier for each loaded resource file.
...
This is not useful by itself but can be used for adding new features later, e.g. mod-wide compatibility settings or file specific lump replacement or injection.
2019-09-13 12:29:17 +02:00
Marisa Kirisame
bcef440511
Squashed commit of the following:
...
commit 6ecd831eb45a8258995c02664450c3ca8cfe5b48
Merge: a4fb1f61c afbd7f7a2
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Sun Jul 28 22:02:19 2019 +0200
Merge branch 'master' of github.com:coelckers/gzdoom into f3dfloor_export
commit a4fb1f61c0532d3a6051d4c1fca4ac72ec33e060
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Fri Jul 12 15:43:25 2019 +0200
Renamed EFFloorType enum in ZScript to the more descriptive EF3DFloorFlags
commit 9ad1c3b5625d53c06229be2a94d44fa0f36f41fd
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Sun Jul 7 20:25:31 2019 +0200
Add bounds checks to Get3DFloor/GetAttached
commit dd2a7956a887b92ed24ce5e79f10b1a445664d6c
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Sun Jul 7 17:13:44 2019 +0200
Correct handling of 3d floor plane texture getting.
commit 9b748287892c8fdee9ac67019bf1f66bc4b69eab
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Sun Jul 7 16:14:45 2019 +0200
Implemented requested changes to F3DFloor exports.
* Getters for ffloors/attached arrays.
* Getter for 3D floor top/bottom texture.
commit 6a1482bb0637a70890629e4c13e8759c7a3673f3
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Sat Jul 6 13:42:52 2019 +0200
Renamed exported extsector pointer in Sector struct to something more descriptive.
commit 7c6783d43b898cbd7a01fb2191fd401ed8e8c300
Merge: ff64e04b2 8d36f0a0c
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Mon Apr 29 12:40:44 2019 +0200
Merge branch 'master' into f3dfloor_export
commit ff64e04b251f23325d2f72bc25c59f34b4cab6fa
Merge: a90947392 5b6bae409
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Sun Apr 21 16:56:18 2019 +0200
Merge branch 'master' into f3dfloor_export
commit a90947392a27eb1c2dac7005614592ec2f410274
Author: Marisa Kirisame <marisa@sayachan.org>
Date: Mon Feb 4 17:47:25 2019 +0100
Export F3DFloor structure and related data.
Small changes to Trace code to better use this struct.
2019-09-11 08:19:19 +03:00
Christoph Oelckers
62b0fc5f4e
- give P_ExplodeMissile a damage type when being called from P_DamageMobj
2019-09-09 15:41:09 +02:00
Christoph Oelckers
21a621031b
- rename sprite names with '^' in the hires namespace.
2019-09-09 10:52:34 +02:00
Christoph Oelckers
76ee658be4
Made several classes trivially copyable,
...
Many had leftover non-default constructors/ assignment operators, and some were initialized, even though the initialized data was never used.
In case of FCycler this even caused a default setting to be overwritten when used inside FDynamicLight.
2019-09-09 09:52:33 +02:00
Christoph Oelckers
cbd4479628
- reinstated the old scriptwait implementation as a compatibility option.
...
Daedalus's MAP19 needs this.
2019-09-07 09:34:50 +02:00
alexey.lysiuk
37fa2e1b67
- fixed initial setup for dynamic light actors
...
They are attached and actived explicitly during usual actor initialization sequence
Postponed processing applicable to so called user dynamic lights must be skipped for them
RECREATELIGHTS flag handling for dynamic light actors had the opposite effect of deactivating them
https://forum.zdoom.org/viewtopic.php?t=65683
2019-09-02 12:20:13 +02:00
Jan Engelhardt
f16c09badb
Make the build work with fluidsynth 2.x.
2019-08-31 21:47:53 +03:00
alexey.lysiuk
f5d2063613
- do thinker profiling of internal dynlights only when they are present
...
There is no point to output zero calls and/or handle such case in profiling stats calculation
2019-08-31 13:20:10 +03:00
alexey.lysiuk
49b790a8f6
- fixed: saving game to read-only file was erroneously reported as succeeded
2019-08-29 14:34:02 +03:00
hdr88
554eb1c813
Add current, max and average velocity as stat ( #912 )
...
* Add current, max and average velocity as stat
2019-08-28 20:33:07 +02:00
alexey.lysiuk
98128d9fa3
- added ability to specify deprecation messages in ZScript
...
It's an optional extension of deprecated keyword:
deprecated("2.4", "use ModernFunction instead") int OldFunction();
deprecated("3.5", "use ModernVariable instead") int OldVariable;
Usage of such members will produce the following report:
Script warning, ":zscript.txt" line 123:
Accessing deprecated function OldFunction - deprecated since 2.4.0, use ModernFunction instead
Script warning, ":zscript.txt" line 456:
Accessing deprecated member variable OldVariable - deprecated since 3.5.0, use ModernVariable instead
2019-08-28 13:37:48 +02:00
Vitaly Novichkov
1a070d12a1
GME update with bug-fixes
...
- True fix for infinite loops [please verify!]
- True fix for KSS silence
- Fix for HES distorted and unstable/random tempo
2019-08-25 15:38:39 +03:00
Magnus Norddahl
7d73616fda
- release any references to command buffer when flushed
2019-08-25 12:12:29 +02:00
Magnus Norddahl
a410324084
Merge remote-tracking branch 'origin/master' into polybackend
2019-08-25 11:54:45 +02:00
alexey.lysiuk
cc1f18a328
- fixed crash on parsing bad hex number
...
https://forum.zdoom.org/viewtopic.php?t=65718
2019-08-25 11:21:44 +03:00
alexey.lysiuk
574e079f17
- use own implementation of iswalpha() function
...
Character classification is no longer affected by quirks of standard library implementation
Lookup table for own function was generated with Python thanks to Unicode Database module from its standard library
Explicitly set locale for POSIX targets was reverted to C
https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
2019-08-24 20:52:24 +02:00
Christoph Oelckers
48f2105cd1
- moved a few CCMDs from i_sound.cpp to s_sound.cpp.
2019-08-23 21:57:56 +02:00
Christoph Oelckers
45f6ed4cd1
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-08-23 16:03:15 +02:00
Christoph Oelckers
66db894866
- split off all music code from s_sound.cpp
2019-08-23 17:15:19 +02:00
alexey.lysiuk
80ef9ca686
- set locale to US English UTF-8 for POSIX targets
...
Locale-dependent standard library functions didn't treat UTF-8 strings correctly, e.g. iswalpha() returns 0 for any non-latin letter
The same function from MSVC runtime classifies such characters as alphabetic even with C locale
https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
2019-08-23 12:11:25 +03:00
Christoph Oelckers
1595bf30c6
Revert "- removed a few redundant includes"
...
This reverts commit 7cd5bd9773
.
This commit was only meant for testing, not for publishing
2019-08-23 08:31:49 +02:00
Christoph Oelckers
7cd5bd9773
- removed a few redundant includes
2019-08-22 21:15:06 +02:00
alexey.lysiuk
c3edfdd946
- temporary solution to fix build of non-MSVC targets
...
Precompilation of prefix header for GCC and Clang requires some efforts thanks to CMake which doesn't support this feature out of the box
Existing thirparty solutions must be tuned to our needs, and our configuration should be adjusted to a chosen module
2019-08-22 11:30:40 +03:00
Christoph Oelckers
a56bdda3f0
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-08-21 22:27:19 +02:00
Christoph Oelckers
b3deb30fa5
- changed license of portal.cpp to GPLv3
...
- list Eternity Engine as a source of some code in the main README.
2019-08-21 21:31:12 +02:00
Christoph Oelckers
13d031196b
- removed redundant include.
2019-08-21 21:07:00 +02:00
alexey.lysiuk
772adc86be
- fixed missing #include's for targets without precompiled header
...
src/utility/palette.cpp:76:21: error: ‘DBL_MAX’ was not declared in this scope
src/utility/palette.cpp:84:76: error: ‘pow’ was not declared in this scope
src/utility/palette.cpp:89:41: error: ‘abs’ was not declared in this scope
src/utility/palette.cpp:92:3: error: ‘fdist’ was not declared in this scope
src/utility/palette.cpp:196:46: error: ‘memcpy’ was not declared in this scope
src/utility/palette.cpp:298:19: error: ‘floor’ was not declared in this scope
2019-08-21 10:14:09 +03:00
Christoph Oelckers
b1953585fe
- remove doomtypes.h include from files.h.
2019-08-20 23:14:00 +02:00
Christoph Oelckers
0abc66dbff
- uncoupled the decompressors from ZDoom's internal error handling.
...
This code made it hard to repurpose this code for other tools, so now the error handler must be passed as a callback to OpenDecompressor.
2019-08-20 23:14:00 +02:00
Christoph Oelckers
3cfda930ea
- removed all Doom specific dependencies from cmdlib.cpp/h.
...
This meant moving CleanseString and ParseHex elsewhere and removing the I_Error call from ScanDirectory.
2019-08-20 23:12:23 +02:00
Christoph Oelckers
38fec546a7
- moved the generic palette utilities and the matrix class to 'utility'
2019-08-20 23:05:20 +02:00
Christoph Oelckers
cf15ebc966
- inlined the entire ColorMatcher.
2019-08-20 23:05:19 +02:00
Marisa Kirisame
f9a41cf11e
The wrong pointer was passed to ProcessMidPrint, which resulted in a crash.
2019-08-20 19:08:05 +02:00
Petr Kobalicek
747b3dfcfe
AsmJit update
2019-08-19 21:02:36 +02:00
Christoph Oelckers
8b6c051bf8
Merge pull request #907 from OrdinaryMagician/sbar_overrides
...
Allow status bars to override notifications/prints/chat prompt
2019-08-19 19:45:09 +02:00
Marisa Kirisame
14dc288f22
Allow custom status bars to override notifications, centered prints and chat prompt.
2019-08-19 11:19:36 +02:00
Christoph Oelckers
1a94e169ff
- changed colors for crosshair health display to keep this in line with other health indicators on the HUD.
...
Use green for 100% health, not 200% and move toward blue for higher health.
2019-08-18 19:28:40 +02:00
Hugo Locurcio
61badfd694
Improve crosshair health color to be more informative
...
With `crosshairhealth 2`, the crosshair will now
go from white to yellow, then yellow to red as the player's health
decreases. As the player's health increases up to 200, the crosshair
will also go from white to green to indicate overheal.
This is similar to the implementation in games like Xonotic.
The old behavior (`crosshairhealth 1`) is still the default.
2019-08-18 19:09:52 +02:00
Christoph Oelckers
94179a11f5
- fixed the PR.
2019-08-18 18:45:18 +02:00
cuttlefish
e4896e343b
- Converts keyboard turnspeeds into global CVars
2019-08-18 18:30:37 +02:00
Christoph Oelckers
1dde2ef597
- added obituary fallbacks for actors that do not have any defined.
...
This is mainly for Dehacked mods which redefine decorations as monsters.
The fallback names are DEFOB_{classname} or DEFITOB_{classname}.
2019-08-18 18:28:09 +02:00
Christoph Oelckers
5c4e8783e9
- removed the internal WildMidi player object cleanup code.
...
This was solely meant for the original WildMidi player but got seriously in the way of how this code gets used by GZDoom. In GZDoom the player object is owned by the MIDI devive which should be the only instance which is allowed to destroy it.
2019-08-18 16:12:52 +02:00
Christoph Oelckers
ca805016c8
- fixed bad default alpha for 3D floors.
...
This is a byte value, therefore the default must be 255, not 65536.
2019-08-18 15:04:34 +02:00
Christoph Oelckers
9210811b74
- patch the token 'texture2d' in GLSL sources.
...
This builtin function no longer exists outside of backwards compatible GLSL compilers so it needs to be remapped to 'texture' so that user shaders still using it can compile.
2019-08-18 14:50:37 +02:00
Christoph Oelckers
ae57bc71d4
- fixed attached dynamic light setup.
...
This was only run on a state change and missed every external light change.
Any place which wants to flag a light change now only will set a flag and at the end of the thinker loop all flagged actors will be processed.
For performance reasons this was merged with the P_RunEffects iterator loop.
2019-08-18 13:48:52 +02:00
alexey.lysiuk
6e8ee9a684
- applied texture use type to special font with translation disabled
2019-08-18 11:44:00 +03:00
alexey.lysiuk
ce536485e1
- fixed typo in MAPINFO parser warning
2019-08-18 08:58:18 +03:00
alexey.lysiuk
a892e1f506
- added missing space character to script parser's message
2019-08-17 11:55:35 +03:00
alexey.lysiuk
c95a555f5e
- added check for multiple parsing of the same MAPINFO
...
Warning message is issued when such case is detected
2019-08-17 11:53:29 +03:00
alexey.lysiuk
a5e10fd863
- remove '... is already the default skill' error
2019-08-17 11:49:16 +03:00
Patryk Obara
4c98b69b6b
- use fallback implementation for C++ aligned_alloc
...
This function was introduced in C++17, then backported to older versions
of glibc++ library, but is not available in older releases (it's missing
from Ubuntu 12.04 derived SteamRT for example).
2019-08-16 20:44:29 +03:00
alexey.lysiuk
f317f69776
- added ability to enter main menu from credits screen via controller
...
There was only one way to enter main menu (by pressing Escape button) from the last intermission screen after episode's end
Controller's buttons that are usually assigned to this action, Start and Back by default, now open main menu as well
https://forum.zdoom.org/viewtopic.php?t=65632
2019-08-16 10:45:19 +03:00
Rachael Alexanderson
0d2bdfca99
- fix typo
2019-08-15 21:27:11 -04:00
alexey.lysiuk
28ea567c22
- fixed doubling of deprecation warnings for ZScript code
...
https://forum.zdoom.org/viewtopic.php?t=65617
2019-08-15 16:31:50 +03:00
alexey.lysiuk
06e0c88622
- exposed xBRZ scaler options as CVARs
...
Added 5 xbrz_... CVARs to control various settings of upscaling process
Added xbrz_colorformat CVAR for buffered (zero) and unbuffered (any other value) color format
The first one requires a restart because settings are applied once to a precalculated buffer
The second one has reduced performance with ability to apply settings on-the-fly
2019-08-14 23:00:53 +03:00
alexey.lysiuk
afab181505
- updated xBRZ scaler to version 1.7
...
https://sourceforge.net/projects/xbrz/
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.7.zip
https://forum.zdoom.org/viewtopic.php?t=65596
2019-08-14 22:51:44 +03:00
alexey.lysiuk
0cae5fc6e4
- removed type punning from xBRZ scaler integration
...
it was a hack that wouldn't work with xBRZ 1.7
2019-08-14 22:50:38 +03:00
Christoph Oelckers
347f6cf89a
- 4.3pre
2019-08-13 17:48:36 +02:00
Christoph Oelckers
6cce1f1e52
- fixed uninitialized alpha channel in palette for savegame images.
2019-08-11 21:26:08 +02:00
Christoph Oelckers
5e4de10f97
- fixed survey data retrieval for Vulkan.
2019-08-11 21:26:08 +02:00
Christoph Oelckers
6cc9434788
- added checks for the special hacky quicksave marker.
2019-08-11 18:37:32 +02:00
Christoph Oelckers
cf74118d53
- fixed the extremely long standing bug that Lost Souls didn't reacquire their target when slamming into something.
...
This was one of that annoying old design mistakes where Doom and Heretic features were poorly merged together. The Heretic Gargoyle uses very similar coding but performs a subtly different action when actually hitting another actor. This different action was made the default, even for the Lost Soul.
It has now been changed that both monsters use their original action, being distinguished by an actor flag. For compatibility with custom definitions Heretic's behavior, which has been the default in ZDoom will be the preferred one. The one of the Lost Soul can be reactivated by a flag.
2019-08-11 09:00:29 +02:00