qzdoom-gpl/wadsrc/static/zscript
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
..
chex - renamed A_FireCustomMissile and added a deprecated compatibility wrapper to deal with the inverted pitch this function used. 2016-12-24 16:34:45 +01:00
doom - fixed error in vertical velocity calculation for A_SkullAttack. 2017-01-21 19:56:54 +01:00
heretic - fixed: The check for virtual function overrides was never done if the overriding function had no qualifier at all. 2017-01-08 19:07:26 +01:00
hexen - scriptified a large part of the weapon code. 2017-01-19 17:40:34 +01:00
inventory - copied A_ClearRefire to the proper place for good now. 2017-01-20 20:19:38 +01:00
raven - scriptified a large part of the weapon code. 2017-01-19 17:40:34 +01:00
shared Fixed incorrect armor given by cheats 2017-01-23 13:18:30 +02:00
strife - fixed local variable having the same name as a member in Strife's inquisitor. 2017-01-22 12:28:09 +01:00
actor.txt - let A_SpawnProjectile, A_FireProjectile, A_SpawnItem(Ex) and A_ThrowGrenade return the spawned actors to the calling code. 2017-01-20 12:39:51 +01:00
actor_checks.txt - scriptified cht_Give and cht_Take and made them virtual function of PlayerPawn so that this can be better configured for mods that want other options in here. 2017-01-17 17:34:39 +01:00
base.txt - fixed: Class and struct name lookup was not context aware. 2017-01-23 19:10:28 +01:00
compatibility.txt - scriptified a large part of the weapon code. 2017-01-19 17:40:34 +01:00
constants.txt more inventory scriptification 2017-01-19 23:42:12 +01:00
dynarrays.txt some groundwork for the implementation of dynamic arrays 2017-01-11 00:57:31 +01:00
mapdata.txt - skriptified the skybox actors. 2017-01-14 18:04:49 +01:00
sounddata.txt - scriptified ASoundSequence. 2017-01-14 14:37:29 +01:00