X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fminigames%2Fcl_minigames.qc;h=1aa748faab08c38ebc7955b3a12c88f4475c3ab2;hb=c13fdf2b49eff1d26abc73d42e33636162a9b527;hp=4e3bfc25d3609ca7e36c321b90a70011a1dead3b;hpb=42a9e3d7ece2c716e5cd6899e90841acb7fb891b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/minigames/cl_minigames.qc b/qcsrc/common/minigames/cl_minigames.qc index 4e3bfc25d..1aa748faa 100644 --- a/qcsrc/common/minigames/cl_minigames.qc +++ b/qcsrc/common/minigames/cl_minigames.qc @@ -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