- scriptified A_SpawnFly.

- added support for global variables to the code generator - not the compiler, though. For the handful of entries this is needed for it may just as well be done manually. So far FLevelLocals level is the only one being exported.
- fixed: The VM disassembler truncated 64 bit pointers to 15 digits because the output buffer was too small.
- resolve entire FxSequences instead of aborting on the first failed entry. This allows to output all errors at once.
This commit is contained in:
Christoph Oelckers 2016-11-03 13:38:40 +01:00
commit a45523fb63
15 changed files with 274 additions and 39 deletions

View file

@ -269,6 +269,7 @@ enum EFxType
EFX_VectorBuiltin,
EFX_TypeCheck,
EFX_DynamicCast,
EFX_GlobalVariable,
EFX_COUNT
};
@ -1136,6 +1137,25 @@ public:
};
//==========================================================================
//
// FxGlobalVariaböe
//
//==========================================================================
class FxGlobalVariable : public FxExpression
{
public:
PField *membervar;
bool AddressRequested;
bool AddressWritable;
FxGlobalVariable(PField*, const FScriptPosition&);
FxExpression *Resolve(FCompileContext&);
bool RequestAddress(bool *writable);
ExpEmit Emit(VMFunctionBuilder *build);
};
//==========================================================================
//
// FxClassMember