* - Fixed bug with BishopPuff moving in wrong direction
* - pull new widepix fix for hexen sprites
* - font system overhaul.
This eliminates nearly all palette dependencies, most importantly font translation will now be done on True Color data, making translations on True Color font less destructive.
* Force gl_customshader = false, some fixes to shader code.
* Delete some unused code
* Actually read GL_MAX_TEXTURE_SIZE for max size
* - fix for "Return to Phobos (return01.wad) has an ancient bug in map E1M2 where the switch to raise the exit bridge doesn't work in versions of Doom past patch 1.2."
* - widepix update
* - add missing break statement
* - do not calculate translations for empty fonts.
FONTDEFS will create some due to lack of game filtering.
* - fix DaggerAlert using FindState incorrectly.
* Fixed wrong parameter type passed into TryMove here
* - fixed: GetColorTranslation did not handle translation-less single pic 'fonts' properly.
* - fixed: Actors did not set the position when spawning a dynamic light.
It always reused the previous content of the 'Pos' field which was either undefined or an older position where the actor was located when last spawning a light.
* - fixed generation of default color range for the option menu font.
* - added fallback to the parenthesis glyphs for the braces.
* Add 'AddDialogues' in MAPINFO to additively add Strife NPC dialogs without overwriting each other.
* Added APROP_SoundClass
- Added APROP_SoundClass to GetActorProperty, SetActorProperty, CheckActorProperty
* APROP_SoundClass inits a default value and checks for null pointers
- Gave default init value to SoundClass as "Player"
- Changed SoundClass detection to use the if/else structure
- Checked for null pointer in S_FindSkinnedSound when reading the player's sound class
* Made S_FindSkinnedSound to use GetSoundClass again
- I couldn't simply init SoundClass to NAME_SoundClass, even after converting it to the appropriate type. Probably because NAME_SoundClass hasn't been parsed from decorate yet. Instead, I change it to NAME_SoundClass through GetSoundClass if it's valid and currently "player".
- The skin checker code in GetSoundClass now checks if the SoundClass is equal to NAME_SoundClass. This mechanism exists so that way reverting the SoundClass to NAME_SoundClass processes the skin soundclass code. If it's different, the code is not processed.
- Just returns sclass. This is never null, so there's no need to check if so.
- S_FindSkinnedSound just uses GetSoundClass. This makes sure skins are checked.
* Update d_player.h
- Deleted some comment fragments I left when trying to get the SoundClass to init to NAME_SoundClass
* Sound Class renovations
- SoundClass is instantiated to "" by default. Since this property is only used when it is not empty (otherwise GetSoundClass just defaults to player), we can get away with this.
- We may want the soundclass to remain the same if we explicitly set it to the same one that is currently used (say, we set SoundClass to "Caleb" so all other skins can use it)
- GetActorProperty for APROP_SoundClass just calls GetSoundClass,
- CheckActorProperty also just runs GetSoundClass
- GetSoundClass is no longer a static method. We needed to access it in other places.
- Made renovations to GetSoundClass. First of all, SoundClass is no longer instantiated there. Secondly, skinned sounds are now returned if SoundClass is empty. Thirdly, "sclass" in this method will return the default soundclass of the player pawn or SoundClass, depending on if SoundClass is empty. Finally, sclass will retrieve "player" if it is empty.
* APROP_Soundclass update again
- Just set init for SoundClass to empty.
- Removed code block from SetActorProperty for APROP_Soundclass that does nothing
- Lower-cased soundclass in FSerializer
- Created a new const char to read the player's soundclass. If the playerpawn returns NAME_None for it's default, then it will set defaultsoundclass to "player". After running the skin code, the function now returns defaultsoundclass or soundclass, depending if soundclass is empty or not.
- Renamed GetSoundClass to S_GetSoundClass
* - Fixed crash calling ChangeSky() with an invalid texture.
* - moved Doom specific font init code out of the backend.
* - let dynamic lights call UpdateLocation instead of just setting their position right after being spawned.
This ensures that the position is correct and that everything gets set up properly.
* - fixed parsing of MAPxx par times in BEX lumps
https://forum.zdoom.org/viewtopic.php?t=72458
* - corrected the NUL checks in S_FindSkinnedSound.
* Make sprite shadows ignore float bob
* - fixed explosive damage radius for clericflame.
This was fixed before but must have gotten lost somehow...
* - fixed permission validation in OptionMenuItemCommand.DoCommand.
This was missing the InMenu check like the other critical menu functions.
* - added detection of macOS 12 Monterey
* - prevent redundant string copying in Strife conversation parser
strifedialogue.cpp:110:22: warning: loop variable 'addd' of type 'const FString' creates a copy from type 'const FString' [-Wrange-loop-analysis]
* - Fixed impassable exit line in 007ltsd.wad E4M7
* - fixed initialization of model frames
Replaced loop arrays initialization and obvious comments with something more readable, I hope
https://forum.zdoom.org/viewtopic.php?t=72523
* - fix missing border flat on heretic shareware
* Stop colormap being applied to 2D drawing
* - fixed parsing of 2D vectors in OBJ model loader
There is no `TVector2<>` constructor that accepts a pointer to float. However, there is such constructor in `TVector3<>`, so `TVector2<>` can be constructed from `float*` implicitly via temporary `TVector3<>` object.
* - added `TVector2<>` constructor from `float*`
As we seem to do not like explicit constructors, this will make temporary `TVector3<>` object creation much less probable
* - fixed bad type in FxFontCast.
* - fixed potential crash when sound sequence is destroyed
Level can be unset if sound sequence destruction happens after saved game loading failure
https://forum.zdoom.org/viewtopic.php?t=72551
* Fix light binding when using pipeline buffer on OpenGL
Co-authored-by: Dasperal <Dasperal1@gmail.com>
Co-authored-by: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
Co-authored-by: Chronos Ouroboros <doom2.fan@gmail.com>
Co-authored-by: nashmuhandes <nashbackslash@gmail.com>
Co-authored-by: Zandrewnum <andy.clarke99.ac@gmail.com>
Co-authored-by: Shiny Metagross <30511800+ShinyMetagross@users.noreply.github.com>
Co-authored-by: drfrag <drfrag666@hotmail.com>
Co-authored-by: alexey.lysiuk <alexey.lysiuk@gmail.com>
Co-authored-by: emily <minecrafter2010@gmail.com>
Co-authored-by: Player701 <player701@player701.ru>
The old one was a simple mirror of the letter N, switching around the proportions. The new variant is designed to look more faithful to the letter it’s based on.
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.
Doom II MAPINFO (which is used as base for HacX 2.0 IWAD) was processed twice
This fixes Script error, "gzdoom.pk3:mapinfo/doomcommon.txt"line 199: Normal is already the default skill