diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2018-03-18 02:49:02 +0100 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2018-03-18 02:49:02 +0100 |
| commit | 4d0ef730585b2791a3916a47887051f07e528b75 (patch) | |
| tree | 47021b45432fff305999459e760793edd328bd13 | |
| parent | a76ecc342fd9ac47b9349fb5e5b0b99a44cdf812 (diff) | |
| download | System.c4g-4d0ef730585b2791a3916a47887051f07e528b75.tar.gz System.c4g-4d0ef730585b2791a3916a47887051f07e528b75.zip | |
DTCallback: Change order of fast and target parameter for Object/DefinitionCallback
Use DTCallbackCompatibility for backwards compatibility
| -rw-r--r-- | DTCallback.c | 4 | ||||
| -rw-r--r-- | DTCallbackCompatibility.c | 27 |
2 files changed, 29 insertions, 2 deletions
diff --git a/DTCallback.c b/DTCallback.c index 5e6fb3f..820dfb7 100644 --- a/DTCallback.c +++ b/DTCallback.c @@ -9,8 +9,8 @@ static const CallbackTarget_Scenario = -3; global func GlobalCallback(string name) { return [CallbackTarget_Global, name]; } global func ScenarioCallback(string name) { return [CallbackTarget_Scenario, name]; } -global func ObjectCallback(string name, object target, bool fast) { return [target || this || FatalError("ObjectCallback without target object"), name, fast]; } -global func DefinitionCallback(string name, id target, bool fast) { return [target || GetID() || FatalError("DefinitionCallback without target definition"), name, fast]; } +global func ObjectCallback(string name, bool fast, object target) { return [target || this || FatalError("ObjectCallback without target object"), name, fast]; } +global func DefinitionCallback(string name, bool fast, id target) { return [target || GetID() || FatalError("DefinitionCallback without target definition"), name, fast]; } global func Callback(string name, target) { return [target || this || GetID() || CallbackTarget_Global, name]; } global func BindCallback(callback, array binding) { return [CallbackTarget_Bind, callback, binding]; } diff --git a/DTCallbackCompatibility.c b/DTCallbackCompatibility.c new file mode 100644 index 0000000..d408954 --- /dev/null +++ b/DTCallbackCompatibility.c @@ -0,0 +1,27 @@ +#strict 2 + +// NOTE: Make sure this is loaded after DTCallback.c and overloads the original functions + +global func ObjectCallback(string name, targetOrFast, bool fast) +{ + if(GetType(targetOrFast) == C4V_C4Object) + { + return _inherited(name, fast, targetOrFast); + } + else + { + return _inherited(name, targetOrFast, fast); + } +} + +global func DefinitionCallback(string name, targetOrFast, bool fast) +{ + if(GetType(targetOrFast) == C4V_C4ID) + { + return _inherited(name, fast, targetOrFast); + } + else + { + return _inherited(name, targetOrFast, fast); + } +} |
