gzdoom/src/scripting/zscript
Christoph Oelckers 6529931281 fixed and completed the special field init code. Strings can now be used as class members, and so can structs which contain strings.
- made 'DamageMultiply' an actor property and moved the initialization of ConversationRoot to the property handler for the compiler to get this stuff out of the type classes.
- consolidate default initialization into one function which performs all the required setup. The original implementation did this when adding the fields but that cannot work because at that time no defaults have been created yet.
- fixed: When deriving a class the child class's defaults also must initialize the copied parent fields with special initialization. This part was completely missing.
- removed DECORATE code for parsing native classes because it's no longer needed.
2016-11-11 14:40:32 +01:00
..
ast.cpp Renamed "VectorInitializer" to "VectorValue" 2016-10-30 07:34:14 +01:00
zcc-parse.lemon - added an accessor to the actor defaults. This might have been possible with less work using a function but that would have necessitated some type casts when using it on subclasses. 2016-11-05 17:14:16 +01:00
zcc_compile.cpp fixed and completed the special field init code. Strings can now be used as class members, and so can structs which contain strings. 2016-11-11 14:40:32 +01:00
zcc_compile.h use a memory arena for allocating code generation nodes. 2016-11-10 15:13:31 +01:00
zcc_expr.cpp - implemented '**' (power) operator. To ensure reliability, acustom 'pow' function will be used to calculate it. 2016-10-17 15:17:48 +02:00
zcc_exprlist.h - replaced 'vector<2>' and 'vector<3>' with 'vector2' and 'vector3'. 2016-10-28 01:14:21 +02:00
zcc_parser.cpp - added a new variable flag that allows defining variables which can only be modified by internal script code but not by external mods. Currently this is used by the NoBlockmap and NoSector flags which need special handling for changing. 2016-11-08 11:12:56 +01:00
zcc_parser.h - added readonly pointers. They need to be defined with 'readonly<classtype>'. These are significantly different from declaring a field readonly in that they do not disallow modification of the variable itself but what it points to. For the actor defaults this is necessary to prevent accidental modification. A readonly pointer is actually a different type than a regular pointer. 2016-11-05 13:51:46 +01:00