- Added DecoFindSingleNameState for the extremely common case of finding a state with only
  one name in its label. This avoids the alloca and security cookie calls.
- Consolidated lots of copy-pasted code in thingdef_expression.cpp to install helper functions
  into FindDecorateBuiltinFunction().

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3907 a95907f1-e10c-0410-b46f-9e587ccb1026
- Add PClass::AllClasses to the list of root items for the GC. Failure to do so will cause any
  actors with names that conflicted with preceding actors from being freed, even though they
  can still be accessed via PClassActor::AllActorClasses, which gets iterated over in a number
  of places. (e.g. Zen Dynamics defines a Grenade actor, although there is one in zdoom.pk3 now.
  The Zen Dynamics' version would not go in the TypeTable, so it would be collected on map load,
  leading to a crash when attempts to access it through AllActorClasses are made.)

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3908 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: A_CustomMissile's pitch argument is an angle, not an int.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3909 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: FxCompareEq::Emit()'s output must be in an integer register.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3910 a95907f1-e10c-0410-b46f-9e587ccb1026
- Silence GCC warning stuffs.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3911 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: Inventory's AltHUDIcon must be initialized to null, not invalid.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3912 a95907f1-e10c-0410-b46f-9e587ccb1026
- Compatibility fix: Classes redefined in DECORATE should cause the newer one to replace the
  older one in the type table.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3913 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: A_Explode should always perform the distance <= 0 check, not just when damage < 0.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3914 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: A_BrainSpit's parameter is optional.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3915 a95907f1-e10c-0410-b46f-9e587ccb1026
- Added zcc-parse.c dependency to CMakeLists.txt

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3916 a95907f1-e10c-0410-b46f-9e587ccb1026
- Change the formatting for floating immediates in the dissasembly to %g.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3917 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: FastProjectile's missile height needs to be initialized to 0.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3918 a95907f1-e10c-0410-b46f-9e587ccb1026
- Added a RETI instruction for returning 15-bit signed immediate values.
- Changed Actor's Damage property into an actual function. All access to the damage property
  must now be done through GetMissileDamage. actor->GetMissileDamage(0, 1) is equivalent
  to the former actor->Damage, for the case where actor->Damage was not an expression. (I
  suppose I will probably need to make a thunk for DECORATE expressions that want to read it.)
- Cleaned up some decorate expression evaluation functions that are no longer used.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3919 a95907f1-e10c-0410-b46f-9e587ccb1026
- fixed: CreateDamageFunction needs to return NULL for a damage value of 0 to preserve the collision detection handling of non-damaging actors.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3920 a95907f1-e10c-0410-b46f-9e587ccb1026
- Added a NULL Defaults check to PClassActor::PropagateMark().

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3921 a95907f1-e10c-0410-b46f-9e587ccb1026
- Move the RET and RETI final flag into the high bit of the destination selector.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3922 a95907f1-e10c-0410-b46f-9e587ccb1026
- Transform the Actor Damage functions to/from an integer for saving. (I am occasionally
  encountering unknown class "None" when loading now, which is not so nice.)

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3923 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: Because PClass is a child of DObject now, attempts to serialize them get caught by
  the DObject serialization template. Therefore, FArchive::SerializeObject() needs to be
  able to handle them specially from other objects.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3924 a95907f1-e10c-0410-b46f-9e587ccb1026
- Fixed: The AmmoPerAttack table was filled with the function pointers before the functions
  were created, so they were all NULL, and the Dehacked ammo modification loop failed to
  find any of them in the weapon. The result being that all standard weapons were left with an
  AmmoUse1 of 0.

git-svn-id: http://mancubus.net/svn/hosted/zdoom/zdoom/branches/scripting@3925 a95907f1-e10c-0410-b46f-9e587ccb1026