r5218 - trunk/data/qcsrc/common

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Dec 15 04:44:37 EST 2008


Author: div0
Date: 2008-12-15 04:44:25 -0500 (Mon, 15 Dec 2008)
New Revision: 5218

Modified:
   trunk/data/qcsrc/common/mapinfo.qc
Log:
now that "cd loop" also looks outside the "cdtracks" directory... we can support Q3's worldspawn.music key by importing it into the autogenerated mapinfo file


Modified: trunk/data/qcsrc/common/mapinfo.qc
===================================================================
--- trunk/data/qcsrc/common/mapinfo.qc	2008-12-14 19:01:27 UTC (rev 5217)
+++ trunk/data/qcsrc/common/mapinfo.qc	2008-12-15 09:44:25 UTC (rev 5218)
@@ -306,7 +306,7 @@
 	return 0;
 }
 
-float _MapInfo_Map_has_worldspawn_music;
+string _MapInfo_Map_worldspawn_music;
 
 float _MapInfo_Generate(string pFilename) // 0: failure, 1: ok ent, 2: ok bsp
 {
@@ -338,7 +338,7 @@
 	inWorldspawn = 2;
 	MapInfo_Map_supportedGametypes = 0;
 	spawnpoints = 0;
-	_MapInfo_Map_has_worldspawn_music = 0;
+	_MapInfo_Map_worldspawn_music = "";
 
 	for(;;)
 	{
@@ -358,9 +358,9 @@
 			else if(k == "_description")
 				MapInfo_Map_description = v;
 			else if(k == "music")
-				_MapInfo_Map_has_worldspawn_music = 1;
+				_MapInfo_Map_worldspawn_music = v;
 			else if(k == "noise")
-				_MapInfo_Map_has_worldspawn_music = 1;
+				_MapInfo_Map_worldspawn_music = v;
 			else if(k == "message")
 			{
 				i = strstrofs(v, " by ", 0);
@@ -566,8 +566,17 @@
 		fputs(fh, strcat("title ", MapInfo_Map_title, "\n"));
 		fputs(fh, strcat("description ", MapInfo_Map_description, "\n"));
 		fputs(fh, strcat("author ", MapInfo_Map_author, "\n"));
-		if(_MapInfo_Map_has_worldspawn_music)
-			fputs(fh, strcat("// (uses worldspawn.music) // cdtrack ", ftos(floor(random() * 9 + 2)), "\n"));
+		if(_MapInfo_Map_worldspawn_music != "")
+		{
+			if(
+				substring(_MapInfo_Map_worldspawn_music, strlen(_MapInfo_Map_worldspawn_music) - 4, 4) == ".wav"
+				||
+				substring(_MapInfo_Map_worldspawn_music, strlen(_MapInfo_Map_worldspawn_music) - 4, 4) == ".ogg"
+			)
+				fputs(fh, strcat("cdtrack ", substring(_MapInfo_Map_worldspawn_music, 0, strlen(_MapInfo_Map_worldspawn_music) - 4), "\n"));
+			else
+				fputs(fh, strcat("cdtrack ", _MapInfo_Map_worldspawn_music, "\n"));
+		}
 		else
 			fputs(fh, strcat("cdtrack ", ftos(floor(random() * 9 + 2)), "\n")); // track from 2 to 10
 		if(MapInfo_Map_supportedFeatures & MAPINFO_FEATURE_WEAPONS)       fputs(fh, "has weapons\n");




More information about the nexuiz-commits mailing list