]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/cl_minigames.qc
Remove remove()
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / cl_minigames.qc
index 4e3bfc25d3609ca7e36c321b90a70011a1dead3b..daca237b94b2ae54ad2fb8b8fb33ee707797aefe 100644 (file)
@@ -75,7 +75,7 @@ MINIGAME_SIMPLELINKED_ENTITIES
 void minigame_autoclean_entity(entity e)
 {
        LOG_DEBUG("CL Auto-cleaned: ",ftos(etof(e)), " (",e.classname,")\n");
-       remove(e);
+       delete(e);
 }
 
 void HUD_MinigameMenu_CurrentButton();
@@ -86,15 +86,15 @@ void deactivate_minigame()
                return;
 
        active_minigame.minigame_event(active_minigame,"deactivate");
-       entity e = world;
+       entity e = NULL;
        while( (e = findentity(e, owner, active_minigame)) )
                if ( e.minigame_autoclean )
                {
                        minigame_autoclean_entity(e);
                }
 
-       minigame_self = world;
-       active_minigame = world;
+       minigame_self = NULL;
+       active_minigame = NULL;
 
        if ( auto_close_minigamemenu )
        {
@@ -134,7 +134,7 @@ void activate_minigame(entity minigame)
        }
 
        if ( minigame_self.owner != minigame )
-               minigame_self = world;
+               minigame_self = NULL;
        active_minigame = minigame;
        active_minigame.minigame_event(active_minigame,"activate");
 
@@ -160,16 +160,16 @@ string ReadString_Zoned() { return strzone(ReadString_Raw()); }
 #define MSLE(Name,Fields) \
        else if ( this.classname == #Name ) { \
                if ( sf & MINIG_SF_CREATE ) { \
-                       minigame_read_owner(); \
+                       minigame_read_owner(this); \
                        this.entremove = msle_entremove_##Name; \
                } \
                minigame_ent = this.owner; \
                Fields \
        }
-void minigame_read_owner()
-{SELFPARAM();
+void minigame_read_owner(entity this)
+{
        string owner_name = ReadString_Raw();
-       this.owner = world;
+       this.owner = NULL;
        do
                this.owner = find(this.owner,netname,owner_name);
        while ( this.owner && this.owner.classname != "minigame" );
@@ -185,7 +185,7 @@ NET_HANDLE(ENT_CLIENT_MINIGAME, bool isnew)
                this.netname = ReadString_Zoned();
        }
 
-       entity minigame_ent = world;
+       entity minigame_ent = NULL;
 
        if ( this.classname == "minigame" )
        {
@@ -209,7 +209,7 @@ NET_HANDLE(ENT_CLIENT_MINIGAME, bool isnew)
                if ( sf & MINIG_SF_CREATE )
                {
                        this.entremove = minigame_player_entremove;
-                       minigame_read_owner();
+                       minigame_read_owner(this);
                        float ent = ReadLong();
                        this.minigame_playerslot = ent;
                        LOG_DEBUG("Player: ",entcs_GetName(ent-1),"\n");
@@ -226,6 +226,7 @@ NET_HANDLE(ENT_CLIENT_MINIGAME, bool isnew)
                {
                        minigame_self = this;
                        activate_minigame(this.owner);
+                       minigame_self = this; // set it again (needed before, but may also be reset)
                }
        }
        MINIGAME_SIMPLELINKED_ENTITIES