diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2017-05-18 11:46:21 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2017-05-18 11:46:21 +0200 |
| commit | 02eeba571ddf5ed6d7892c1f6ba5e161f02454b8 (patch) | |
| tree | b09b307eb7698842ba53ec63220ec46b50456cf6 | |
| parent | 85354626853786b1d9ce9b99cd26a15a120eedda (diff) | |
| download | ObjectsAppend-02eeba571ddf5ed6d7892c1f6ba5e161f02454b8.tar.gz ObjectsAppend-02eeba571ddf5ed6d7892c1f6ba5e161f02454b8.zip | |
Improve compatibility of Line pickup with Clonk Mars (Use LineKitID callback)
| -rw-r--r-- | System.c4g/DTSelectionContext.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/System.c4g/DTSelectionContext.c b/System.c4g/DTSelectionContext.c index 2cd4aba..3584efa 100644 --- a/System.c4g/DTSelectionContext.c +++ b/System.c4g/DTSelectionContext.c @@ -239,6 +239,11 @@ global func HasLine(bool lineCheck, object target) } } +func GetKitID(object line) +{ + return line->~KitID() || line->~LineKitID() || LNKT; +} + func FindConnections(bool single) { var targets = FindObjects(Find_AtPoint(), Find_Exclude(this), Find_Or(Find_OCF(OCF_LineConstruct), Find_Func("HasLine"))); @@ -248,7 +253,7 @@ func FindConnections(bool single) var lines = FindObjects(Find_Action("Connect"), Find_Or(Find_ActionTarget(target), Find_ActionTarget2(target))); for(var line in lines) { - var kit = line->~KitID() || LNKT; + var kit = GetKitID(line); if(GetID(GetActionTarget(0, line)) == kit || GetID(GetActionTarget(1, line)) == kit) // not connected on the other side { continue; @@ -359,7 +364,7 @@ func RemoveLineEntry(id id, int pos) return false; } - var lnkt = CreateObject(connection[1]->~KitID() || LNKT, 0, 0, GetOwner()); + var lnkt = CreateObject(GetKitID(connection[1]), 0, 0, GetOwner()); Collect(lnkt); Sound("Connect"); if(GetActionTarget(0, connection[1]) == connection[0]) |
