Commit Graph

10282 Commits

Author SHA1 Message Date
Christoph Oelckers ba629379ca - fixed: for levels with 0-length lines the allocation size of the lines array was too large because it didn't subtract those deleted lines. 2017-01-30 00:25:40 +01:00
Christoph Oelckers b93c3619e9 - fixed: The implementation for Doom64 colors did not handle particles. 2017-01-29 18:57:47 +01:00
Christoph Oelckers 729eade8f5 - enable terrain splashes for non-solid non-swimmable 3D floors. 2017-01-29 18:46:35 +01:00
Christoph Oelckers 2883b113f3 - fixed bad scale setting for SBarInfo. 2017-01-29 18:33:19 +01:00
Christoph Oelckers eef91463ab - fixed: Non-actor classes never called InitializeDefaults to set up their special variables.
- fixed: DThinkerIterator and DBlockThingsIterator did not have a default constructor that was safe to call from an out-of-game context.
2017-01-29 18:23:39 +01:00
Christoph Oelckers c0ef052d07 - added interpolation for actor angles which for models is needed. 2017-01-29 13:13:00 +01:00
Christoph Oelckers 1884c8a98d - ensure that the radius of a dynamic light remains positive to avoid problems with the assumption that a light has an actual size.
- extended the maximum settable light size in GLDEFS to 1024 throughout.
- fixed: A fullbright flat should not be subjected to a sector's material color.
2017-01-29 12:00:05 +01:00
Christoph Oelckers a2a1d214c0 - extended give and take cheat's arguments to full integers. 2017-01-29 11:45:28 +01:00
Christoph Oelckers 8e469c1343 Corrected bad 'or' operation 2017-01-29 09:57:55 +01:00
Christoph Oelckers 4f5d5d5de7 - this should have been in the last commit. 2017-01-28 21:49:52 +01:00
Christoph Oelckers 95afc97d48 - ok, that color_absolute option was pretty much redundant, considering that it is already possible to explicitly set a fog density per sector - it was only necessary to give that priority over standard depth fade calculations for fog-less sectors. 2017-01-28 21:42:58 +01:00
Christoph Oelckers 476aceb5d7 - added new properties to UDMF spec.
- implemented color_absolute flag,
2017-01-28 21:22:48 +01:00
Christoph Oelckers e96f231420 - added Doom64 colors for sprites. 2017-01-28 21:02:03 +01:00
Christoph Oelckers ee22a9371b - use Doom64 colors on sectors and linedefs. 2017-01-28 20:44:46 +01:00
Christoph Oelckers 12d073a27d - objectcolor stuff.
# Conflicts:
#	src/gl/renderer/gl_renderstate.cpp
2017-01-28 19:06:21 +01:00
Christoph Oelckers dbbd797baa - added the needed properties for Doom64 colors and a little FraggleScript hack to test it with existing maps. 2017-01-28 19:05:39 +01:00
Christoph Oelckers 1d2ae53ecb Revert "- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly."
This reverts commit dd03bb1fcb.

Turns out that making this work in GL will create a complete mess so better remove the option as it would only cause problems.
2017-01-28 18:26:52 +01:00
Christoph Oelckers dd03bb1fcb - made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly. 2017-01-28 12:20:18 +01:00
Rachael Alexanderson c923f8c5e1 - fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game. 2017-01-28 10:04:22 +01:00
ZZYZX 13c6d16905 Fixed: compile-time error in vararg function call would result in a crash. 2017-01-28 00:32:43 +01:00
Christoph Oelckers 97ad1496b3 - changed all Hexen lights to being attenuated. 2017-01-27 18:24:32 +01:00
Major Cooke 46ee2c5ec6 - Fixed HITTARGET, HITMASTER, HITTRACER, crash and xdeath states being broken on bouncing actors that die/explode. 2017-01-27 18:03:09 +01:00
Christoph Oelckers 1eb2c75328 - explode bouncing objects directly inside P_BounceActor if the bounce count expired. The calling code is too messed up to handle this cleanly. 2017-01-27 16:15:17 +01:00
Christoph Oelckers 08c252274a - fixed issues with uninitialized RNGs and bad assumptions about corpse pointers always being fully initialized when being destroyed.
Both of these may be true when occuring during normal gameplay, but not during an exception unwind in the serializer, which caused crashes if ACS errored out due to mismatched scripts.
2017-01-27 12:02:47 +01:00
Christoph Oelckers 15b95cc023 - fixed: DECORATE was creating a new global constant namespace for each single included file, not just once per DECORATE lump. 2017-01-27 10:51:12 +01:00
Rachael Alexanderson 949862f78f - fixed: PalTonemap Exponent slider didn't have a proper decimal place. 2017-01-24 22:24:53 +01:00
Rachael Alexanderson c1ff1c6336 - Set banded light to "false" to not impact GZDoom defaults. 2017-01-24 22:24:53 +01:00
Rachael Alexanderson 3154652885 - fixed possible AMD compilation error. 2017-01-24 22:24:53 +01:00
Rachael Alexanderson 9a777f719b - Added "gl_bandedswlight" to reduce the software light emulation gradient to 32 levels. 2017-01-24 22:24:53 +01:00
Rachael Alexanderson eb3f83f908 - Since tonemap tweaks are on the menu now, make their changes affect instantly. 2017-01-24 17:57:03 +01:00
Rachael Alexanderson 6263704741 - Added menu options for pal tonemap tweaks.
# Conflicts:
#	wadsrc/static/language.enu
2017-01-24 17:57:03 +01:00
Rachael Alexanderson 494be00ce5 - Made default values for gl_paltonemap_powtable and gl_paltonemap_reverselookup more "id-like". 2017-01-24 17:57:03 +01:00
Rachael Alexanderson 6e47bf9bbc - Added gl_paltonemap_powtable and gl_paltonemap_reverselookup for tweaking palette tonemap generation. 2017-01-24 17:57:03 +01:00
Christoph Oelckers 02f678dccc - there seem to be ACS compilers which let 'delay' pass inside a function. Since this is an unsupported feature which brings the ACS VM into an unstable state it has to be handled with a hard abort to avoid crashes. 2017-01-24 11:59:59 +01:00
Christoph Oelckers e3c36998b6 - delete all compile-time symbols for scripting after finishing compiling data.
Even the bare-bones gzdoom.pk3 gets rid of over 2000 symbols this way that otherwise would need to be tracked by the garbage collector.
2017-01-24 11:57:42 +01:00
Christoph Oelckers c12dfd7e4d - fixed: only explicit class type casts must obey strict namespace rules, i.e. only '(class<type>)(variable_to_cast)'
The general rule is as follows: A class name as a string will always be looked up fully, even if the class name gets shadows by another variable because strings are not identifiers.
It is only class names as identifiers that must obey the rule that if it is not known yet or hidden by something else that it may not be found to ensure that the older variable does not take over the name if it gets reused.
2017-01-24 10:04:46 +01:00
Christoph Oelckers 17ed23bfcc - don't read the full height of a player from the defaults, because that cannot be changed by A_SetHeight.
Instead a new member, FullHeight is used for this now.
2017-01-24 00:12:06 +01:00
Christoph Oelckers 3a0aaa62e7 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/scripting/zscript/zcc_compile.cpp
2017-01-23 23:08:39 +01:00
Christoph Oelckers 3f999a990c - removed a line of debug code that made GCC/Clang go nuclear. 2017-01-23 23:06:29 +01:00
alexey.lysiuk 799f6c6e26 Fixed compilation error with GCC/Clang
src/scripting/zscript/zcc_compile.cpp:1039:11: error: no viable conversion from 'FName' to 'FString'
2017-01-23 22:20:07 +02:00
Christoph Oelckers b3aa7c61a9 - fixed: Class and struct name lookup was not context aware.
If a later module reused an existing name for a different class or struct type, this new name would completely shadow the old one, even in the base files.
Changed it so that each compilation unit (i.e. each ZScript and DECORATE lump) get their own symbol table and can only see the symbol tables that got defined in lower numbered resource files so that later definitions do not pollute the available list of symbols when running the compiler backend and code generator - which happens after everything has been parsed.

Another effect of this is that a mod that reuses the name of an internal global constant will only see its own constant, again reducing the risk of potential errors in case the internal definitions add some new values.

Global constants are still discouraged from being used because what this does not and can not handle is the case that a mod defines a global constant with the same name as a class variable. In such a case the class variable will always take precedence for code inside that class.

Note that the internal struct String had to be renamed for this because the stricter checks did not let the type String pass on the left side of a '.' anymore.

- made PEnum inherit from PInt and not from PNamedType.

The old inheritance broke nearly every check for integer compatibility in the compiler, so this hopefully leads to a working enum implementation.
2017-01-23 19:10:28 +01:00
alexey.lysiuk db4c5e090d Fixed incorrect armor given by cheats
See https://mantis.zdoom.org/view.php?id=106
2017-01-23 13:18:30 +02:00
alexey.lysiuk d0565cafbd Fixed compilation error with GCC/Clang
src/scripting/zscript/zcc_compile.h:95:10: error: extra qualification ‘ZCCCompiler::’ on member ‘StringConstFromNode’ [-fpermissive]
2017-01-23 11:19:26 +02:00
Christoph Oelckers 5a4a5a17db - added core lump checks for ZScript.
- load internal shaders only from file 0. This does not contain aborts, like most of the other checks,but it will now refuse to load any core shader file from anything but gzdoom.pk3.
2017-01-23 01:56:15 +01:00
Christoph Oelckers 517733a04e Merge branch 'clangfix' of https://github.com/edward-san/zdoom
# Conflicts:
#	src/scripting/zscript/zcc_compile.h
2017-01-23 01:39:31 +01:00
Christoph Oelckers f720073b31 - removed all code that was only there to implement the broken Simplifier that just got removed. 2017-01-23 01:37:43 +01:00
Christoph Oelckers 68c3f42a53 - no more Simplify for global constants as well. 2017-01-23 01:10:40 +01:00
Edoardo Prezioso 4694f9b201 - Fixed GCC/Clang 'extra qualification' error. 2017-01-23 00:22:25 +01:00
Edoardo Prezioso 092b2d6ea0 - Fixed Clang compile error [-Wnon-pod-varargs]. 2017-01-23 00:11:42 +01:00
Christoph Oelckers 061ba48dc1 - no more simplify in state parameters.
- resolving constants with the backend requires a few more error checks.
2017-01-22 23:53:50 +01:00