From eda726f6da62b585e9e5d79e9d80d1d33dc19e49 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 2 Sep 2020 14:13:36 -0600 Subject: [PATCH] waypoint file loading --- main_shared/maps/mp/bots/_bot.gsc | 2 +- main_shared/maps/mp/bots/_bot_utility.gsc | 234 +++++++++++++++------- 2 files changed, 168 insertions(+), 68 deletions(-) diff --git a/main_shared/maps/mp/bots/_bot.gsc b/main_shared/maps/mp/bots/_bot.gsc index 91cea5f..1164e28 100644 --- a/main_shared/maps/mp/bots/_bot.gsc +++ b/main_shared/maps/mp/bots/_bot.gsc @@ -8,7 +8,7 @@ */ init() { - load_waypoints(); + thread load_waypoints(); cac_init_patch(); thread hook_callbacks(); diff --git a/main_shared/maps/mp/bots/_bot_utility.gsc b/main_shared/maps/mp/bots/_bot_utility.gsc index 1f4fbdb..ab32fc6 100644 --- a/main_shared/maps/mp/bots/_bot_utility.gsc +++ b/main_shared/maps/mp/bots/_bot_utility.gsc @@ -584,6 +584,92 @@ cac_init_patch() } } +tokenizeLine(line, tok) +{ + tokens = []; + + token = ""; + for (i = 0; i < line.size; i++) + { + c = line[i]; + + if (c == tok) + { + tokens[tokens.size] = token; + token = ""; + continue; + } + + token += c; + } + tokens[tokens.size] = token; + + return tokens; +} + +parseTokensIntoWaypoint(tokens) +{ + waypoint = spawnStruct(); + + orgStr = tokens[0]; + orgToks = strtok(orgStr, " "); + waypoint.origin = (float(orgToks[0]), float(orgToks[1]), float(orgToks[2])); + + childStr = tokens[1]; + childToks = strtok(childStr, " "); + waypoint.childCount = childToks.size; + waypoint.children = []; + for( j=0; j