X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fbot%2Fwaypoints.qc;h=8e9ae6b911e745cfb58bf6acb7132792f3d898eb;hb=5d4356eea933cc687e5958e9632695f0e2890159;hp=4db72e407da5676ad73a15eab5a3c170a1aafd67;hpb=7e0864d035fea38e3127a0728909641536c1a99d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/bot/waypoints.qc b/qcsrc/server/bot/waypoints.qc index 4db72e407..8e9ae6b91 100644 --- a/qcsrc/server/bot/waypoints.qc +++ b/qcsrc/server/bot/waypoints.qc @@ -360,8 +360,8 @@ void waypoint_schedulerelinkall() float waypoint_load_links() { string filename, s; - float file, tokens, c, found; - entity wp_from, wp_to; + float file, tokens, c = 0, found; + entity wp_from = world, wp_to; vector wp_to_pos, wp_from_pos; filename = strcat("maps/", mapname); filename = strcat(filename, ".waypoints.cache"); @@ -375,12 +375,8 @@ float waypoint_load_links() return FALSE; } - while (1) + while ((s = fgets(file))) { - s = fgets(file); - if (!s) - break; - tokens = tokenizebyseparator(s, "*"); if (tokens!=2) @@ -394,7 +390,7 @@ float waypoint_load_links() wp_to_pos = stov(argv(1)); // Search "from" waypoint - if(wp_from.origin!=wp_from_pos) + if(!wp_from || wp_from.origin!=wp_from_pos) { wp_from = findradius(wp_from_pos, 1); found = FALSE; @@ -456,8 +452,8 @@ float waypoint_load_links() void waypoint_load_links_hardwired() { string filename, s; - float file, tokens, c, found; - entity wp_from, wp_to; + float file, tokens, c = 0, found; + entity wp_from = world, wp_to; vector wp_to_pos, wp_from_pos; filename = strcat("maps/", mapname); filename = strcat(filename, ".waypoints.hardwired"); @@ -473,12 +469,8 @@ void waypoint_load_links_hardwired() return; } - for (;;) + while ((s = fgets(file))) { - s = fgets(file); - if (!s) - break; - if(substring(s, 0, 2)=="//") continue; @@ -494,7 +486,7 @@ void waypoint_load_links_hardwired() wp_to_pos = stov(argv(1)); // Search "from" waypoint - if(wp_from.origin!=wp_from_pos) + if(!wp_from || wp_from.origin!=wp_from_pos) { wp_from = findradius(wp_from_pos, 5); found = FALSE; @@ -573,19 +565,20 @@ void waypoint_save_links() for(i=0;i<32;++i) { // :S + link = world; switch(i) { // for i in $(seq -w 0 31); do echo "case $i:link = w.wp$i; break;"; done; - case 00:link = w.wp00; break; - case 01:link = w.wp01; break; - case 02:link = w.wp02; break; - case 03:link = w.wp03; break; - case 04:link = w.wp04; break; - case 05:link = w.wp05; break; - case 06:link = w.wp06; break; - case 07:link = w.wp07; break; - case 08:link = w.wp08; break; - case 09:link = w.wp09; break; + case 0:link = w.wp00; break; + case 1:link = w.wp01; break; + case 2:link = w.wp02; break; + case 3:link = w.wp03; break; + case 4:link = w.wp04; break; + case 5:link = w.wp05; break; + case 6:link = w.wp06; break; + case 7:link = w.wp07; break; + case 8:link = w.wp08; break; + case 9:link = w.wp09; break; case 10:link = w.wp10; break; case 11:link = w.wp11; break; case 12:link = w.wp12; break; @@ -686,18 +679,15 @@ float waypoint_loadall() file = fopen(filename, FILE_READ); if (file >= 0) { - while (1) + while ((s = fgets(file))) { - s = fgets(file); - if (!s) - break; m1 = stov(s); s = fgets(file); - if (!s) + if not(s) break; m2 = stov(s); s = fgets(file); - if (!s) + if not(s) break; fl = stof(s); waypoint_spawn(m1, m2, fl); @@ -1067,7 +1057,6 @@ void botframe_autowaypoints_fix(entity p, float walkfromwp, .entity fld) void botframe_autowaypoints() { entity p; - entity wp0, wp1; FOR_EACH_REALPLAYER(p) { if(p.deadflag)