From 02eeba571ddf5ed6d7892c1f6ba5e161f02454b8 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Thu, 18 May 2017 11:46:21 +0200 Subject: Improve compatibility of Line pickup with Clonk Mars (Use LineKitID callback) --- System.c4g/DTSelectionContext.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'System.c4g/DTSelectionContext.c') 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]) -- cgit v1.2.3-54-g00ecf