Added http

This commit is contained in:
INeedBots 2020-12-16 21:25:45 -06:00
parent 13201b5259
commit fce4689889
3 changed files with 115 additions and 7 deletions

@ -1 +1 @@
Subproject commit 0c0a2358f6e216faae6681eda451d206897f03a4
Subproject commit 9bf825ca5a80de67a924fe8f1ace2b6cefccae3f

View File

@ -1,13 +1,50 @@
/*
_bot_http
Author: INeedGames
Date: 12/16/2020
The HTTP module
*/
#include maps\mp\bots\_bot_utility;
/*
Will attempt to retreive waypoints from the internet
*/
getRemoteWaypoints(mapname)
{
println("MAP");
}
getRemoteVersion()
{
println("VERSION");
url = "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/" + mapname + "_wp.csv";
filename = "waypoints/" + mapname + "_wp.csv";
println("Attempting to get remote waypoints from " + url);
res = getLinesFromUrl(url, filename);
if (!res.lines.size)
return;
waypointCount = int(res.lines[0]);
waypoints = [];
println("Loading remote waypoints...");
for (i = 1; i <= waypointCount; i++)
{
tokens = tokenizeLine(res.lines[i], ",");
waypoint = parseTokensIntoWaypoint(tokens);
waypoints[i-1] = waypoint;
}
if (waypoints.size)
{
level.waypoints = waypoints;
println("Loaded " + waypoints.size + " waypoints from remote.");
}
}
/*
Does the version check, if we are up too date
*/
doVersionCheck()
{
remoteVersion = getRemoteVersion();
@ -28,3 +65,71 @@ doVersionCheck()
println("You are on the latest version of Bot Warfare!");
return true;
}
/*
Returns the version of bot warfare found on the internet
*/
getRemoteVersion()
{
#if isSyscallDefined HTTPS_GetString
data = HTTPS_GetString( "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/version.txt" );
#else
data = undefined;
#endif
if (!isDefined(data))
return undefined;
return strtok(data, "\n")[0];
}
/*
Returns an array of each line from the response of the http url request
*/
getLinesFromUrl(url, filename)
{
result = spawnStruct();
result.lines = [];
#if isSyscallDefined HTTPS_GetString
data = HTTPS_GetString( url );
#else
data = undefined;
#endif
if (!isDefined(data))
return result;
fd = FS_FOpen(filename, "write");
line = "";
for (i=0;i<data.size;i++)
{
c = data[i];
if (c == "\n")
{
result.lines[result.lines.size] = line;
if (fd > 0)
{
if (!FS_WriteLine(fd, line))
{
FS_FClose(fd);
fd = 0;
}
}
line = "";
continue;
}
line += c;
}
result.lines[result.lines.size] = line;
if (fd > 0)
FS_FClose(fd);
return result;
}

View File

@ -952,6 +952,9 @@ readWpsFromFile(mapname)
for (i = 1; i <= waypointCount; i++)
{
line = FS_ReadLine(csv);
if (!isDefined(line) || line == "")
continue;
tokens = tokenizeLine(line, ",");
waypoint = parseTokensIntoWaypoint(tokens);