Fix int overflow

This commit is contained in:
ineedbots 2021-05-01 16:56:08 -06:00
parent c4fc8c3b2f
commit 8b73445e89
4 changed files with 46 additions and 46 deletions

View File

@ -12,34 +12,34 @@
*/ */
getRemoteWaypoints(mapname) getRemoteWaypoints(mapname)
{ {
url = "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/" + mapname + "_wp.csv"; url = "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/" + mapname + "_wp.csv";
filename = "waypoints/" + mapname + "_wp.csv"; filename = "waypoints/" + mapname + "_wp.csv";
printToConsole("Attempting to get remote waypoints from " + url); printToConsole("Attempting to get remote waypoints from " + url);
res = getLinesFromUrl(url, filename); res = getLinesFromUrl(url, filename);
if (!res.lines.size) if (!res.lines.size)
return; return;
waypointCount = int(res.lines[0]); waypointCount = int(res.lines[0]);
waypoints = []; waypoints = [];
printToConsole("Loading remote waypoints..."); printToConsole("Loading remote waypoints...");
for (i = 1; i <= waypointCount; i++) for (i = 1; i <= waypointCount; i++)
{ {
tokens = tokenizeLine(res.lines[i], ","); tokens = tokenizeLine(res.lines[i], ",");
waypoint = parseTokensIntoWaypoint(tokens); waypoint = parseTokensIntoWaypoint(tokens);
waypoints[i-1] = waypoint; waypoints[i-1] = waypoint;
} }
if (waypoints.size) if (waypoints.size)
{ {
level.waypoints = waypoints; level.waypoints = waypoints;
printToConsole("Loaded " + waypoints.size + " waypoints from remote."); printToConsole("Loaded " + waypoints.size + " waypoints from remote.");
} }
} }
/* /*
@ -88,13 +88,13 @@ getRemoteVersion()
*/ */
getLinesFromUrl(url, filename) getLinesFromUrl(url, filename)
{ {
result = spawnStruct(); result = spawnStruct();
result.lines = []; result.lines = [];
#if isSyscallDefined HTTPS_GetString #if isSyscallDefined HTTPS_GetString
data = HTTPS_GetString( url ); data = HTTPS_GetString( url );
#else #else
data = undefined; data = undefined;
#endif #endif
if (!isDefined(data)) if (!isDefined(data))
@ -126,7 +126,7 @@ getLinesFromUrl(url, filename)
line += c; line += c;
} }
result.lines[result.lines.size] = line; result.lines[result.lines.size] = line;
if (fd > 0) if (fd > 0)
FS_FClose(fd); FS_FClose(fd);

View File

@ -759,7 +759,7 @@ target()
myAngles = self GetPlayerAngles(); myAngles = self GetPlayerAngles();
myFov = self.pers["bots"]["skill"]["fov"]; myFov = self.pers["bots"]["skill"]["fov"];
bestTargets = []; bestTargets = [];
bestTime = 9999999999; bestTime = 2147483647;
rememberTime = self.pers["bots"]["skill"]["remember_time"]; rememberTime = self.pers["bots"]["skill"]["remember_time"];
initReactTime = self.pers["bots"]["skill"]["init_react_time"]; initReactTime = self.pers["bots"]["skill"]["init_react_time"];
hasTarget = isDefined(self.bot.target); hasTarget = isDefined(self.bot.target);
@ -911,7 +911,7 @@ target()
if(hasTarget && isDefined(bestTargets[self.bot.target.entity getEntityNumber()+""])) if(hasTarget && isDefined(bestTargets[self.bot.target.entity getEntityNumber()+""]))
continue; continue;
closest = 9999999999; closest = 2147483647;
toBeTarget = undefined; toBeTarget = undefined;
bestKeys = getArrayKeys(bestTargets); bestKeys = getArrayKeys(bestTargets);

View File

@ -1062,7 +1062,7 @@ nearAnyOfWaypoints(dist, waypoints)
getNearestWaypointOfWaypoints(waypoints) getNearestWaypointOfWaypoints(waypoints)
{ {
answer = undefined; answer = undefined;
closestDist = 999999999999; closestDist = 2147483647;
for (i = 0; i < waypoints.size; i++) for (i = 0; i < waypoints.size; i++)
{ {
waypoint = waypoints[i]; waypoint = waypoints[i];

View File

@ -799,9 +799,9 @@ SmokeTrace(start, end, rad)
*/ */
getConeDot(to, from, dir) getConeDot(to, from, dir)
{ {
dirToTarget = VectorNormalize(to-from); dirToTarget = VectorNormalize(to-from);
forward = AnglesToForward(dir); forward = AnglesToForward(dir);
return vectordot(dirToTarget, forward); return vectordot(dirToTarget, forward);
} }
/* /*
@ -974,25 +974,25 @@ cac_init_patch()
*/ */
tokenizeLine(line, tok) tokenizeLine(line, tok)
{ {
tokens = []; tokens = [];
token = ""; token = "";
for (i = 0; i < line.size; i++) for (i = 0; i < line.size; i++)
{ {
c = line[i]; c = line[i];
if (c == tok) if (c == tok)
{ {
tokens[tokens.size] = token; tokens[tokens.size] = token;
token = ""; token = "";
continue; continue;
} }
token += c; token += c;
} }
tokens[tokens.size] = token; tokens[tokens.size] = token;
return tokens; return tokens;
} }
/* /*
@ -1525,7 +1525,7 @@ KDTree()
*/ */
KDTreeInsert(data)//as long as what you insert has a .origin attru, it will work. KDTreeInsert(data)//as long as what you insert has a .origin attru, it will work.
{ {
self.root = self _KDTreeInsert(self.root, data, 0, -9999999999, -9999999999, -9999999999, 9999999999, 9999999999, 9999999999); self.root = self _KDTreeInsert(self.root, data, 0, -2147483647, -2147483647, -2147483647, 2147483647, 2147483647, 2147483647);
} }
/* /*
@ -1804,7 +1804,7 @@ ReverseHeapAStar(item, item2)
GetNearestWaypointWithSight(pos) GetNearestWaypointWithSight(pos)
{ {
candidate = undefined; candidate = undefined;
dist = 9999999999; dist = 2147483647;
for(i = 0; i < level.waypointCount; i++) for(i = 0; i < level.waypointCount; i++)
{ {