]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'bones_was_here/mapinfo' into 'master'
authorbones_was_here <bones_was_here@xonotic.au>
Fri, 10 May 2024 08:14:52 +0000 (08:14 +0000)
committerbones_was_here <bones_was_here@xonotic.au>
Fri, 10 May 2024 08:14:52 +0000 (08:14 +0000)
More consistent and visible map metadata

See merge request xonotic/xonotic-data.pk3dir!1271

1  2 
qcsrc/client/main.qc

diff --combined qcsrc/client/main.qc
index 40cb19f74057e249202a916f3fb156ff245826cf,06e7df4edc9e7af26ec0ef80a4113ffe54bfa5f8..015e9be076592a07f56ede0c4d1c6ef7280e5fc7
@@@ -43,7 -43,7 +43,7 @@@
  // CSQC_Init : Called every time the CSQC code is initialized (essentially at map load)
  // Useful for precaching things
  
 -void CSQC_Init()
 +void CSQC_Init(float apilevel, string enginename, float engineversion)
  {
        prvm_language = strzone(cvar_string("prvm_language"));
  
@@@ -198,8 -198,6 +198,8 @@@ void Shutdown(
  
        localcmd("\n-button12\n");
  
 +      strfree(gametype_custom_name);
 +
        deactivate_minigame();
        HUD_MinigameMenu_Close(NULL, NULL, NULL);
  
@@@ -877,13 -875,11 +877,13 @@@ NET_HANDLE(ENT_CLIENT_SPAWNEVENT, bool 
        {
                this.origin = ReadVector();
  
 +              int particlesAndOrSound = ReadByte();
 +
                if(is_new)
                {
                        float teamnum = entcs_GetTeam(entnum - 1);
  
 -                      if(autocvar_cl_spawn_event_particles)
 +                      if(autocvar_cl_spawn_event_particles && (particlesAndOrSound & BIT(0)))
                        {
                                switch(teamnum)
                                {
                                        default: pointparticles(EFFECT_SPAWN_NEUTRAL, this.origin, '0 0 0', 1); break;
                                }
                        }
 -                      if(autocvar_cl_spawn_event_sound)
 +
 +                      if(autocvar_cl_spawn_event_sound && (particlesAndOrSound & BIT(1)))
                        {
                                sound(this, CH_TRIGGER, SND_SPAWN, VOL_BASE, ATTEN_NORM);
                        }
@@@ -1094,7 -1089,6 +1094,7 @@@ NET_HANDLE(ENT_CLIENT_SCORES_INFO, boo
  {
        make_pure(this);
        gametype = ReadRegistered(Gametypes);
 +      strcpy(gametype_custom_name, ReadString());
        teamplay = _MapInfo_GetTeamPlayBool(gametype);
        HUD_ModIcons_SetFunc();
        FOREACH(Scores, true, {
@@@ -1420,7 -1414,9 +1420,9 @@@ string GetVersionMessage(string hostver
  
  bool net_handle_ServerWelcome()
  {
-       campaign = ReadByte();
+       int flags = ReadByte();
+       campaign = flags & 1;
        if (campaign)
        {
                int campaign_level = ReadByte();
  
        strcpy(hostname, ReadString());
        string hostversion = ReadString();
-       bool version_mismatch = ReadByte();
-       bool version_check = ReadByte();
+       bool version_mismatch = flags & 2;
+       bool version_check = flags & 4;
+       MapInfo_Map_titlestring = ReadString();
+       MapInfo_Map_author = flags & 8 ? ReadString() : "";
        srv_minplayers = ReadByte();
        srv_maxplayers = ReadByte();
        string modifications = translate_modifications(ReadString());
  
        msg = strcat(msg, "\n\n", _("Gametype:"), " ^1", MapInfo_Type_ToText(gametype), "\n");
  
-       msg = strcat(msg, "\n", _("Map:"), " ^2");
-       if (world.message == "")
-               msg = strcat(msg, mi_shortname, "\n");
-       else
-       {
-               int i = strstrofs(world.message, " by ", 0); // matches _MapInfo_Generate()
-               string longname = i >= 0 ? substring(world.message, 0, i) : world.message;
-               msg = strcat(msg, (strcasecmp(longname, mi_shortname) ? strcat(mi_shortname, " ^7// ^2") : ""), longname, "\n");
-       }
+       msg = strcat(msg, "\n", _("Map:"), " ", MapInfo_Map_titlestring, "\n");
+       if (flags & 8)
+               msg = strcat(msg, "^9", _("by:"), " ", MapInfo_Map_author, "\n");
  
        if (srv_minplayers || srv_maxplayers)
        {