Commit Graph

10263 Commits

Author SHA1 Message Date
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
Magnus Norddahl 162f469630 Remove unused variables from the old 4 column drawers 2017-01-29 10:25:32 +01:00
Magnus Norddahl 7c7d6e99e9 Split DrawerArgs into WallDrawerArgs, ColumnDrawerArgs, SpanDrawerArgs and SkyDrawerArgs 2017-01-29 10:05:37 +01:00
Christoph Oelckers 8e469c1343 Corrected bad 'or' operation 2017-01-29 09:57:55 +01:00
Magnus Norddahl 92bd752935 Move drawerargs globals into a class and make them local 2017-01-29 07:49:04 +01:00
Rachael Alexanderson 0c101102dc Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_main.cpp
#	src/r_segs.cpp
#	src/r_things.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.txt
2017-01-28 17:39:55 -05:00
Rachael Alexanderson 2fb82aaa9f Revert "- Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers."
This reverts commit 2f9453bc86.

# Conflicts:
#	src/swrenderer/line/r_line.cpp
#	src/swrenderer/line/r_renderdrawsegment.cpp
#	src/swrenderer/things/r_decal.cpp
#	src/swrenderer/things/r_wallsprite.cpp
2017-01-28 17:37:57 -05: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
Magnus Norddahl 4afac0f2cc Force all drawing to go through DrawerStyle 2017-01-28 16:36:39 +01:00
Rachael Alexanderson 2f9453bc86 - Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers. 2017-01-28 09:53:24 -05:00
Rachael Alexanderson d27a152d9b Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_main.cpp
#	src/r_segs.cpp
#	src/r_things.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.txt
2017-01-28 09:38:10 -05: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
Magnus Norddahl 8fceb60532 Removed unused variable 2017-01-28 08:40:31 +01:00
Magnus Norddahl bd35d1d39f Remove ds_fcolormap 2017-01-28 08:19:21 +01:00
Magnus Norddahl dbf9cd5de5 Remove a few more drawerargs 2017-01-28 08:17:31 +01:00
Magnus Norddahl 9eebe3e940 Remove unused drawer args 2017-01-28 08:04:11 +01:00
Magnus Norddahl fe40ad200e Remove the goto in RenderDecal::Render! 2017-01-28 07:13:52 +01:00
Magnus Norddahl 5f38b15635 Move colfunc family of globals into a DrawerStyle class and localize its usage 2017-01-28 07:08:59 +01:00
Rachael Alexanderson f9eb06a22e - fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game. 2017-01-28 00:13:27 -05:00
Rachael Alexanderson 00823217c7 Merge https://github.com/coelckers/gzdoom 2017-01-27 19:17:24 -05:00
ZZYZX 13c6d16905 Fixed: compile-time error in vararg function call would result in a crash. 2017-01-28 00:32:43 +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
Rachael Alexanderson 5cbe829c05 Merge https://github.com/coelckers/gzdoom 2017-01-27 11:33:05 -05: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
alexey.lysiuk 6a826f37bd Fixed compilation with GCC/Clang
No more 'error: cannot jump from this goto statement to its label'
2017-01-26 22:21:22 +02:00
Magnus Norddahl ed05a2edd3 Create CameraLight class 2017-01-26 10:22:54 +01:00
Magnus Norddahl 4bbf1ba11c Move visibility stuff into LightVisibility 2017-01-26 09:49:07 +01:00
Magnus Norddahl 933f2d116a Move DrewAVoxel to VisibleSpriteList 2017-01-26 08:39:44 +01:00
Magnus Norddahl 34f85569b4 Change RenderTranslucentPass to be a singleton 2017-01-26 08:36:28 +01:00
Magnus Norddahl 8b0304c1e3 Remove static from RenderFogBoundary 2017-01-26 08:24:44 +01:00
Magnus Norddahl 29dcea49d7 Move RenderDrawSegment to its own file 2017-01-26 08:13:39 +01:00
Magnus Norddahl 6899b351a2 Create class for draw segment list 2017-01-26 08:01:44 +01:00
Magnus Norddahl 2821c15795 Rename drawseg_t to DrawSegment 2017-01-26 07:03:27 +01:00
Magnus Norddahl 9d9395c855 Updated the copyright 2017-01-26 06:59:20 +01:00
Magnus Norddahl 9c4b11b671 Add OpenGL ES support to Linux target and enable it for ARM devices 2017-01-25 07:18:26 +01:00
Magnus Norddahl 348b73eb83 Fix gcc warning 2017-01-25 03:45:57 +01:00
Magnus Norddahl eb2b5269f9 Fix linux compile errors 2017-01-25 03:28:11 +01:00
Rachael Alexanderson a04699ec1c Merge https://github.com/coelckers/gzdoom 2017-01-24 18:15:39 -05:00
Rachael Alexanderson c1ff1c6336 - Set banded light to "false" to not impact GZDoom defaults. 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 84d2a89f49 Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	wadsrc/static/language.enu
2017-01-24 12:03:57 -05: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 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
Magnus Norddahl 934f6a88bb Fix compile error 2017-01-24 17:10:28 +01:00
Rachael Alexanderson 20a83f95b9 Merge https://github.com/coelckers/gzdoom 2017-01-24 08:39:22 -05: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
Magnus Norddahl 86d9594d6e Convert r_walldraw to a class 2017-01-24 08:41:35 +01:00
Magnus Norddahl b256f6ed89 Make wallsetup globals local to where they are used 2017-01-24 07:06:47 +01:00
Magnus Norddahl ac74a7a1e0 Refactor wall setup into ProjectedWallLine and ProjectWallTexcoords 2017-01-24 06:50:17 +01:00
Magnus Norddahl 12271cbfb5 Remove the 1000 portal segment limit and make WallPortals private to RenderPortal 2017-01-24 05:31:39 +01:00
Magnus Norddahl 946ab93ff6 Remove unused friend declaration 2017-01-24 05:00:11 +01:00
Magnus Norddahl f94cced13d Move ColormapLight to r_light 2017-01-24 04:24:04 +01:00
Magnus Norddahl ca8f71b561 Remove the need for RenderPlayerSprites::SetupSpriteScale 2017-01-24 04:19:43 +01:00
Magnus Norddahl ba6094be2e Detach player sprites from VisibleSprite 2017-01-24 04:15:54 +01:00
Rachael Alexanderson 3ea27cd996 Merge https://github.com/coelckers/gzdoom 2017-01-23 22:12:55 -05:00
Magnus Norddahl 07acd9375b The memset antipattern cannot be used on classes with a virtual table 2017-01-24 02:28:32 +01:00
Magnus Norddahl 55d9392fb8 Add fallback code to Linux target so if OpenGL is either unavailable or can't be used it falls back to the old software SDL FB 2017-01-24 01:43:45 +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 3f999a990c - removed a line of debug code that made GCC/Clang go nuclear. 2017-01-23 23:06:29 +01:00
alexey.lysiuk 6586877ac5 Merge branch 'master' of https://github.com/coelckers/gzdoom into master 2017-01-23 22:48:16 +02: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 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
Rachael Alexanderson 03226e5a0a Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_things.cpp
2017-01-23 00:17:25 -05: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
Christoph Oelckers 2880f56080 - also switched scripted properties away from Simplify. 2017-01-22 23:00:41 +01:00
Christoph Oelckers 4c93e2baa3 - use the expression evaluation capabilities of the compiler backend to resolve constants in actor defaults.
This is the first step to get rid of Simplify and all the baggage it depends on.
2017-01-22 22:19:32 +01:00
Christoph Oelckers f9f5e45824 - memset the entire vissprite structure when drawing a psprite because this does not initialize all fields. 2017-01-22 20:12:44 +01:00
Christoph Oelckers f15b051327 - use std::unique_ptr to manage the resource file for loading a savegame because the try/catch handler to ensure its deletion was causing some problems. 2017-01-22 20:06:11 +01:00
alexey.lysiuk f9ef935840 Fixed warning reported by GCC/Clang when optimization is enabled
src/scripting/codegeneration/codegen.cpp:4097:12: warning: variable 'cast' is used uninitialized whenever 'if' condition is false
2017-01-22 17:00:36 +02:00
alexey.lysiuk 935d49d75f Fixed returning of value from TakeInventory() function
Issuing take CCMD no longer causes assertion failure at src/scripting/vm/vmexec.h:662
assert(numret == C && "Number of parameters returned differs from what was expected by the caller")
2017-01-22 13:51:46 +02:00
alexey.lysiuk 03f9425eb1 Fixed missing xBRZ menu options on platforms without MMX support
xBRZ texture resize modes are no longer removed from menu for targets with HAVE_MMX undefined
2017-01-22 12:11:17 +02:00
alexey.lysiuk 33b69a27ae Restored HAVE_MMX definition in CMake 2017-01-22 11:14:48 +02:00
alexey.lysiuk da4981ef91 Fixed invisible mouse cursor in SDL backend
See https://mantis.zdoom.org/view.php?id=71
2017-01-22 10:25:37 +02:00
Rachael Alexanderson df35d53a57 Merge https://github.com/coelckers/gzdoom 2017-01-21 22:02:50 -05:00
Christoph Oelckers d289c00ae3 - restored a line of code that got lost when fixing the parameter checks in CallStateChain. 2017-01-22 01:28:37 +01:00
Rachael Alexanderson 53acc28f26 Merge https://github.com/coelckers/gzdoom 2017-01-21 17:47:18 -05:00