Commit Graph

10218 Commits

Author SHA1 Message Date
ZZYZX 23c9386add Removed RenderCamera, RenderBeforeThing, RenderAfterThing. Serialization preparations. 2017-01-23 23:05:51 +02:00
ZZYZX 278741efa9 Merge branch 'thereisnospoon' of github.com:jewalky/gzdoom into thereisnospoon 2017-01-23 20:57:12 +02:00
ZZYZX efb1e5d33a Implemented global EventHandlers in MAPINFO 2017-01-23 20:48:57 +02:00
ZZYZX ba4a74265c Fixed static handlers being OF_Fixed: only global (non-map) static handlers should be fixed. 2017-01-23 20:48:57 +02:00
ZZYZX 76b99da4b3 Added EventHandlers in Map section of MAPINFO 2017-01-23 20:48:57 +02:00
ZZYZX 890166a732 Hopefully I'm using OF_Fixed correctly 2017-01-23 20:48:57 +02:00
ZZYZX 35ec14f465 Made the EventHandler class tree a bit more branchy. Now disallowing creation of Static* via EventHandler.Create. 2017-01-23 20:48:57 +02:00
ZZYZX a226337185 More portal fixing in software renderer 2017-01-23 20:48:57 +02:00
ZZYZX ac19af7514 Fixed RenderCamera event in software renderer 2017-01-23 20:48:57 +02:00
ZZYZX 302af61686 Added per-thing render hooks 2017-01-23 20:48:57 +02:00
ZZYZX 5bfd484ae2 Generalized event handler definition; removed excessive VM calls when we don't have override defined. 2017-01-23 20:48:57 +02:00
ZZYZX 2aadd1e13c Forgot to add events.txt 2017-01-23 20:48:57 +02:00
ZZYZX ca0d92a454 Added EventHandler.CreateOnce and EventHandler.Find to refer to handlers after they are created 2017-01-23 20:48:57 +02:00
ZZYZX ce616f9c06 Added: prototype event system 2017-01-23 20:48:57 +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
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
Christoph Oelckers 89d9a43b68 - fixed local variable having the same name as a member in Strife's inquisitor. 2017-01-22 12:28:09 +01: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 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
ZZYZX d5a0c29a68 Implemented global EventHandlers in MAPINFO 2017-01-22 09:58:48 +02:00
ZZYZX e33a320544 Fixed static handlers being OF_Fixed: only global (non-map) static handlers should be fixed. 2017-01-22 09:39:33 +02:00
ZZYZX 9b3b21c735 Added EventHandlers in Map section of MAPINFO 2017-01-22 09:36:39 +02:00
ZZYZX 2de98c2dd3 Hopefully I'm using OF_Fixed correctly 2017-01-22 08:58:59 +02:00
ZZYZX fb1d55101e Made the EventHandler class tree a bit more branchy. Now disallowing creation of Static* via EventHandler.Create. 2017-01-22 08:56:57 +02:00
ZZYZX 5e53b73d60 More portal fixing in software renderer 2017-01-22 07:50:18 +02:00
ZZYZX 578ae9b62a Fixed RenderCamera event in software renderer 2017-01-22 07:29:18 +02:00
ZZYZX 9c1c7129c1 Added per-thing render hooks 2017-01-22 07:04:35 +02:00
ZZYZX 841c7c9712 Generalized event handler definition; removed excessive VM calls when we don't have override defined. 2017-01-22 06:23:44 +02:00
ZZYZX f5c29ec3e2 Forgot to add events.txt 2017-01-22 04:15:30 +02:00
ZZYZX 4c082d968e Added EventHandler.CreateOnce and EventHandler.Find to refer to handlers after they are created 2017-01-22 02:56:15 +02:00
ZZYZX 60406a3cb6 Added: prototype event system 2017-01-22 02:33:53 +02: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
Christoph Oelckers ee40135d55 - removed the bogus SetPointer method from PClassPointer.
This was blocking proper bookkeeping of class pointer variables, in particular it rendered PointerSubstitution ineffective.
2017-01-21 23:26:58 +01:00
ZZYZX 659c11514b OpenGL: Added picnum override handling for actors 2017-01-21 23:04:45 +01:00
Christoph Oelckers aaae52c60b - fixed: FResourceFile::OpenResourceFile did not close the opened file in case it contained invalid data. 2017-01-21 20:15:06 +01:00
Christoph Oelckers 06ad2351d3 - fixed error in vertical velocity calculation for A_SkullAttack. 2017-01-21 19:56:54 +01:00