summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s')
-rw-r--r--TemplePushing.c4s/System.c4g/Debug.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/TemplePushing.c4s/System.c4g/Debug.c b/TemplePushing.c4s/System.c4g/Debug.c
new file mode 100644
index 0000000..f0cd420
--- /dev/null
+++ b/TemplePushing.c4s/System.c4g/Debug.c
@@ -0,0 +1,53 @@
+#strict 2
+
+global func VerifyHostileSortDistance(int player)
+{
+ var crew = GetCrew(player);
+ var searchResult = crew->FindObjects(
+ Find_OCF(OCF_CrewMember | OCF_Alive),
+ Find_Hostile(player),
+ Sort_Distance(crew->GetX(), crew->GetY()));
+
+ var isOrdered = true;
+ var namesMsg = "[", distancesMsg = "[";
+ var prevObj, prevDistance;
+ for (var obj in searchResult)
+ {
+ // Update messages
+ var prefix; if (prevObj) prefix = ", "; else prefix = "";
+ namesMsg = Format("%s%s%s", namesMsg, prefix, GetPlayerName(obj->GetOwner()));
+ var distance = crew->ObjectDistance(obj);
+ distancesMsg = Format("%s%s%d", distancesMsg, prefix, distance);
+
+ // Check if searchResult is in wrong order
+ if (prevObj && distance < prevDistance) isOrdered = false;
+
+ // Use current object and distance as previous values for next object
+ prevObj = obj;
+ prevDistance = distance;
+ }
+ namesMsg = Format("%s]", namesMsg);
+ distancesMsg = Format("%s]", distancesMsg);
+ Log("%s -> %s", namesMsg, distancesMsg);
+
+ return isOrdered;
+}
+
+global func VerifyHostilityAllVsAll()
+{
+ var verified = true;
+ for (var i = 0; i < GetPlayerCount(); ++i)
+ {
+ for (var j = 0; j < GetPlayerCount(); ++j)
+ {
+ if (i == j) continue;
+ var plrA = GetPlayerByIndex(i), plrB = GetPlayerByIndex(j);
+ if (!Hostile(plrA, plrB, true))
+ {
+ verified = false;
+ Log("VerifyHostilityAllVsAll: %s is not hostile to %s", GetPlayerName(plrA), GetPlayerName(plrB));
+ }
+ }
+ }
+ return verified;
+}