diff --git a/src/game/g_spawn.c b/src/game/g_spawn.c index 7925da14..602ed4d1 100644 --- a/src/game/g_spawn.c +++ b/src/game/g_spawn.c @@ -251,7 +251,7 @@ ED_ParseField(const char *key, const char *value, edict_t *ent) } } - gi.dprintf("%s is not a field. (value is %s)\n", key, value); + gi.dprintf("%s is not a field. Value is %s\n", key, value); } /* @@ -884,7 +884,14 @@ SP_worldspawn(edict_t *ent) gi.configstring(CS_SKYAXIS, va("%f %f %f", st.skyaxis[0], st.skyaxis[1], st.skyaxis[2])); - gi.configstring(CS_CDTRACK, va("%i", ent->sounds)); + if (st.music && st.music[0]) + { + gi.configstring(CS_CDTRACK, st.music); + } + else + { + gi.configstring(CS_CDTRACK, va("%i", ent->sounds)); + } gi.configstring(CS_MAXCLIENTS, va("%i", (int)(maxclients->value))); diff --git a/src/game/header/local.h b/src/game/header/local.h index 2167dff4..7b5004d4 100644 --- a/src/game/header/local.h +++ b/src/game/header/local.h @@ -396,6 +396,7 @@ typedef struct int skyautorotate; vec3_t skyaxis; char *nextmap; + char *music; int lip; int distance; diff --git a/src/game/savegame/tables/fields.h b/src/game/savegame/tables/fields.h index 838f0197..76bf7b17 100644 --- a/src/game/savegame/tables/fields.h +++ b/src/game/savegame/tables/fields.h @@ -74,6 +74,7 @@ {"maxyaw", STOFS(maxyaw), F_FLOAT, FFL_SPAWNTEMP}, {"melee", FOFS(monsterinfo.melee), F_FUNCTION, FFL_NOSPAWN}, {"message", FOFS(message), F_LSTRING}, +{"music", STOFS(music), F_LSTRING, FFL_SPAWNTEMP}, {"minpitch", STOFS(minpitch), F_FLOAT, FFL_SPAWNTEMP}, {"minyaw", STOFS(minyaw), F_FLOAT, FFL_SPAWNTEMP}, {"model", FOFS(model), F_LSTRING},