diff --git a/docs/rh-log.txt b/docs/rh-log.txt index ce7630b58..f584c6e6c 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,8 @@ +February 4, 2007 (Changes by Graf Zahl) +- Fixed: The powered up Mace was missing its HoldAtkState. +- Added: Using "*" with ACS's music commands will play the level's default + music set in MAPINFO. + February 3, 2007 - Added two new MAPINFO flags to control what actor activates impact lines: * MissileShootersActivateImpactLines - the current behavior. diff --git a/src/g_heretic/a_hereticweaps.cpp b/src/g_heretic/a_hereticweaps.cpp index 3e5908c92..e1285afa7 100644 --- a/src/g_heretic/a_hereticweaps.cpp +++ b/src/g_heretic/a_hereticweaps.cpp @@ -882,6 +882,7 @@ IMPLEMENT_STATELESS_ACTOR (AMacePowered, Heretic, -1, 0) PROP_Weapon_AmmoUse1 (USE_MACE_AMMO_2) PROP_Weapon_AmmoGive1 (0) PROP_Weapon_AtkState (S_MACEATK2) + PROP_Weapon_HoldAtkState (S_MACEATK2) PROP_Weapon_SisterType ("Mace") PROP_Weapon_ProjectileType ("MaceFX4") END_DEFAULTS diff --git a/src/s_sound.cpp b/src/s_sound.cpp index 22d32de50..73f08aa92 100644 --- a/src/s_sound.cpp +++ b/src/s_sound.cpp @@ -1491,13 +1491,27 @@ bool S_ChangeMusic (const char *musicname, int order, bool looping, bool force) return false; } + // allow specifying "*" as a placeholder to play the level's default music. + if (musicname != NULL && !strcmp(musicname, "*")) + { + if (gamestate == GS_LEVEL || gamestate == GS_TITLELEVEL) + { + musicname = level.music; + order = level.musicorder + } + else + { + musicname = NULL; + } + } + if (musicname == NULL || musicname[0] == 0) { // Don't choke if the map doesn't have a song attached S_StopMusic (true); return false; } - + if (!mus_playing.name.IsEmpty() && stricmp (mus_playing.name, musicname) == 0) { if (order != mus_playing.baseorder)