]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/impulse.qc
Fix initialization of maxclients
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / impulse.qc
index 80da8a4dcb61bde8b07f959713d2ff0200269dd1..56ea478ae2624ed9e766e77e2a8a318412d6a106 100644 (file)
@@ -97,7 +97,7 @@ X(0)
                for(int wepslot = 0; wepslot < MAX_WEAPONSLOTS; ++wepslot) \
                { \
                        .entity weaponentity = weaponentities[wepslot]; \
-                       W_CycleWeapon(this, this.cvar_cl_weaponpriorities[slot], dir, weaponentity); \
+                       W_CycleWeapon(this, CS(this).cvar_cl_weaponpriorities[slot], dir, weaponentity); \
                        if(wepslot == 0 && autocvar_g_weaponswitch_debug != 1) \
                                break; \
                } \
@@ -352,9 +352,9 @@ void ImpulseCommands(entity this)
 {
        if (game_stopped) return;
 
-       int imp = this.impulse;
+       int imp = CS(this).impulse;
        if (!imp) return;
-       this.impulse = 0;
+       CS(this).impulse = 0;
 
        if (MinigameImpulse(this, imp)) return;
 
@@ -604,8 +604,9 @@ IMPULSE(navwaypoint_spawn)
        if (!autocvar_g_waypointeditor) return;
        entity e;
        vector org = this.origin;
-       bool sym = boolean(autocvar_g_waypointeditor_symmetrical);
        int ctf_flags = havocbot_symmetryaxis_equation.z;
+       bool sym = ((autocvar_g_waypointeditor_symmetrical > 0 && ctf_flags >= 2)
+                  || (autocvar_g_waypointeditor_symmetrical < 0));
        int order = ctf_flags;
        if(autocvar_g_waypointeditor_symmetrical_order >= 2)
        {
@@ -635,8 +636,9 @@ IMPULSE(navwaypoint_remove)
 {
        if (!autocvar_g_waypointeditor) return;
        entity e = navigation_findnearestwaypoint(this, false);
-       bool sym = boolean(autocvar_g_waypointeditor_symmetrical);
        int ctf_flags = havocbot_symmetryaxis_equation.z;
+       bool sym = ((autocvar_g_waypointeditor_symmetrical > 0 && ctf_flags >= 2)
+                  || (autocvar_g_waypointeditor_symmetrical < 0));
        int order = ctf_flags;
        if(autocvar_g_waypointeditor_symmetrical_order >= 2)
        {
@@ -650,7 +652,7 @@ IMPULSE(navwaypoint_remove)
 
        if (e.wphardwired)
        {
-               LOG_INFO("^1Warning: ^7Removal of hardwired waypoints is not allowed in the editor. Please remove links from/to this waypoint (", vtos(e.origin), ") by hand from maps/", mapname, ".waypoints.hardwired\n");
+               LOG_INFO("^1Warning: ^7Removal of hardwired waypoints is not allowed in the editor. Please remove links from/to this waypoint (", vtos(e.origin), ") by hand from maps/", mapname, ".waypoints.hardwired");
                return;
        }
 
@@ -658,7 +660,7 @@ IMPULSE(navwaypoint_remove)
        if (sym)
        {
                vector org = waypoint_getSymmetricalOrigin(e.origin, ctf_flags);
-               FOREACH_ENTITY_CLASS("waypoint", !(it.wpflags & WAYPOINTFLAG_GENERATED), {
+               IL_EACH(g_waypoints, !(it.wpflags & WAYPOINTFLAG_GENERATED), {
                        if(vdist(org - it.origin, <, 3))
                        {
                                wp_sym = it;
@@ -708,27 +710,27 @@ IMPULSE(navwaypoint_unreachable)
        m = 0;
        IL_EACH(g_waypoints, it.wpcost >= 10000000,
        {
-               LOG_INFO("unreachable: ", etos(it), " ", vtos(it.origin), "\n");
+               LOG_INFO("unreachable: ", etos(it), " ", vtos(it.origin));
                it.colormod_z = 8;
                it.effects |= EF_NODEPTHTEST | EF_BLUE;
                ++j;
                ++m;
        });
-       if (j) LOG_INFOF("%d waypoints cannot be reached from here in any way (marked with blue light)\n", j);
+       if (j) LOG_INFOF("%d waypoints cannot be reached from here in any way (marked with blue light)", j);
        navigation_markroutes_inverted(e2);
 
        j = 0;
        IL_EACH(g_waypoints, it.wpcost >= 10000000,
        {
-               LOG_INFO("cannot reach me: ", etos(it), " ", vtos(it.origin), "\n");
+               LOG_INFO("cannot reach me: ", etos(it), " ", vtos(it.origin));
                it.colormod_x = 8;
                if (!(it.effects & EF_NODEPTHTEST))  // not already reported before
                        ++m;
                it.effects |= EF_NODEPTHTEST | EF_RED;
                ++j;
        });
-       if (j) LOG_INFOF("%d waypoints cannot walk to here in any way (marked with red light)\n", j);
-       if (m) LOG_INFOF("%d waypoints have been marked total\n", m);
+       if (j) LOG_INFOF("%d waypoints cannot walk to here in any way (marked with red light)", j);
+       if (m) LOG_INFOF("%d waypoints have been marked total", m);
 
        j = 0;
        IL_EACH(g_spawnpoints, true,
@@ -745,7 +747,7 @@ IMPULSE(navwaypoint_unreachable)
                else
                {
                        setorigin(it, org);
-                       LOG_INFO("spawn without waypoint: ", etos(it), " ", vtos(it.origin), "\n");
+                       LOG_INFO("spawn without waypoint: ", etos(it), " ", vtos(it.origin));
                        it.effects |= EF_NODEPTHTEST;
                        _setmodel(it, this.model);
                        it.frame = this.frame;
@@ -755,7 +757,7 @@ IMPULSE(navwaypoint_unreachable)
                        ++j;
                }
        });
-       if (j) LOG_INFOF("%d spawnpoints have no nearest waypoint (marked by player model)\n", j);
+       if (j) LOG_INFOF("%d spawnpoints have no nearest waypoint (marked by player model)", j);
 
        j = 0;
        IL_EACH(g_items, true,
@@ -766,21 +768,21 @@ IMPULSE(navwaypoint_unreachable)
        IL_EACH(g_items, true,
        {
                if (navigation_findnearestwaypoint(it, false)) continue;
-               LOG_INFO("item without waypoint: ", etos(it), " ", vtos(it.origin), "\n");
+               LOG_INFO("item without waypoint: ", etos(it), " ", vtos(it.origin));
                it.effects |= EF_NODEPTHTEST | EF_RED;
                it.colormod_x = 8;
                ++j;
        });
-       if (j) LOG_INFOF("%d items have no nearest waypoint and cannot be walked away from (marked with red light)\n", j);
+       if (j) LOG_INFOF("%d items have no nearest waypoint and cannot be walked away from (marked with red light)", j);
 
        j = 0;
        IL_EACH(g_items, true,
        {
                if (navigation_findnearestwaypoint(it, true)) continue;
-               LOG_INFO("item without waypoint: ", etos(it), " ", vtos(it.origin), "\n");
+               LOG_INFO("item without waypoint: ", etos(it), " ", vtos(it.origin));
                it.effects |= EF_NODEPTHTEST | EF_BLUE;
                it.colormod_z = 8;
                ++j;
        });
-       if (j) LOG_INFOF("%d items have no nearest waypoint and cannot be walked to (marked with blue light)\n", j);
+       if (j) LOG_INFOF("%d items have no nearest waypoint and cannot be walked to (marked with blue light)", j);
 }