Merge from trunk.
Merge from trunk.
* First order of business: the Axe of Unholy Feature Redaction has laid waste to the pickupfx array in EDF, as it has been determined that no extant modifications for EE used this misfeature. As of right now, items can be collected but have no effects.
* Merge in changelog update from trunk.
Merge from trunk.
Remove dead pickupfx stuff from the code (note that the syntax is still accepted by the EDF parser but the definitions are ignored).
Start up a changelog for inventory-branch modifications.
* Create MetaGiveItem class
* Add CFGF_MULTI giveitem property to thingtypes
* Renamed RUNTIME_CLASS to RTTI for conciseness and brevity.
* Added an overload of MetaTable::getObjectKeyAndType which takes an RTTI pointer. This should be faster than string comparison of the type name where the type is fixed at compile time.
* Added E_MetaIntFromCfgInt.
* Refactored inventory to allow multiple effects per inventory definition.
* Refactored giveitem thingtype field to be singular as a result of the above.
* Changelog updated.
Reimplementation of pickupeffects in terms of inventory, for compatibility.
* Don't cause EDF warnings by searching for default giveitem "".
* Don't add distinct classtype properties more than once to an inventory metatable.
* Support for health.lowmessage value; lowmessage is now a CFG_MVPROP.
* Changelog updated.
Merge from trunk.
* Additional overloads added to MetaTable which accept MetaObject::Type arguments.
* Change most calls in the engine to use RTTI() instead of METATYPE().
* Don't crash in templated FindType if the non-templated find op fails.
Merge from trunk.
* Added inventory flags PICKUPIFANY and LOUDPICKUPSOUND
* Added fields restrictedto and forbiddento for controlling player class applicability (processing logic is TODO)
* p_inventory module added for actual logic of getting items
* metaalgorithms module added: MetaPredicateAll, MetaPredicateAny, MetaForEach.
* Changed storage of classes in inventory metatables to use MetaInventoryClass and rewrote the CheckFunctor::checkClass method as a result.
* Additional code toward getting restrictedto/forbiddento functional
Merge from trunk.
Emergency tornado commit (third time's a charm?):
* Give InventoryGeneric a name field and use it for MetaInventoryClass::toString.
* Additional fleshing out of skeleton code in p_inventory.cpp
* Use qstring::constPtr in the lexer rather than qstring::getBuffer.
* libConfuse modification: list-type options may now be braceless.
Bugaboo: don't allow consumption of a closing brace token if the list didn't start with an opening brace.
Changelog updated.