瀏覽代碼

Fixed sound effect when hero disappears

rhn 11 年之前
父節點
當前提交
a491c11305
共有 2 個文件被更改,包括 14 次插入5 次删除
  1. 10 3
      client/CPlayerInterface.cpp
  2. 4 2
      lib/CSoundBase.h

+ 10 - 3
client/CPlayerInterface.cpp

@@ -1516,13 +1516,20 @@ void CPlayerInterface::centerView (int3 pos, int focusTime)
 void CPlayerInterface::objectRemoved( const CGObjectInstance *obj )
 {
 	EVENT_HANDLER_CALLED_BY_CLIENT;
+
+	std::string handlerName = VLC->objtypeh->getObjectHandlerName(obj->ID);
+	if (handlerName == "pickable") {
+		waitWhileDialog();
+		CCS->soundh->playSoundFromSet(CCS->soundh->pickupSounds);
+	} else if ((handlerName == "monster") || (handlerName == "hero")) {
+		waitWhileDialog();
+		CCS->soundh->playSound(soundBase::KillFade);
+	}
+	
 	if(obj->ID == Obj::HERO  &&  obj->tempOwner == playerID)
 	{
 		const CGHeroInstance *h = static_cast<const CGHeroInstance*>(obj);
 		heroKilled(h);
-	} else if (VLC->objtypeh->getObjectHandlerName(obj->ID) == "pickable") {
-		waitWhileDialog();
-		CCS->soundh->playSoundFromSet(CCS->soundh->pickupSounds);
 	}
 }
 

+ 4 - 2
lib/CSoundBase.h

@@ -3,6 +3,9 @@
 // Use some magic to keep the list of files and their code name in sync.
 
 #define VCMI_SOUND_LIST \
+/* Sounds for map actions */ \
+VCMI_SOUND_NAME(KillFade) VCMI_SOUND_FILE(KILLFADE.wav) /* hero or monster disappears */ \
+/* Other sounds (TODO: separate out the sounds for units, spells and the rest */ \
 VCMI_SOUND_NAME(AAGLAttack) VCMI_SOUND_FILE(AAGLATTK.wav) \
 VCMI_SOUND_NAME(AAGLDefend) VCMI_SOUND_FILE(AAGLDFND.wav) \
 VCMI_SOUND_NAME(AAGLKill) VCMI_SOUND_FILE(AAGLKILL.wav) \
@@ -515,7 +518,6 @@ VCMI_SOUND_NAME(ITRGKill) VCMI_SOUND_FILE(ITRGKILL.wav) \
 VCMI_SOUND_NAME(ITRGMove) VCMI_SOUND_FILE(ITRGMOVE.wav) \
 VCMI_SOUND_NAME(ITRGWNCE) VCMI_SOUND_FILE(ITRGWNCE.wav) \
 VCMI_SOUND_NAME(KEEPShot) VCMI_SOUND_FILE(KEEPSHOT.wav) \
-VCMI_SOUND_NAME(KillFADE) VCMI_SOUND_FILE(KILLFADE.wav) \
 VCMI_SOUND_NAME(LANDKill) VCMI_SOUND_FILE(LANDKILL.wav) \
 VCMI_SOUND_NAME(LANDMINE) VCMI_SOUND_FILE(LANDMINE.wav) \
 VCMI_SOUND_NAME(LCRSAttack) VCMI_SOUND_FILE(LCRSATTK.wav) \
@@ -1033,4 +1035,4 @@ public:
 	};
 #undef VCMI_SOUND_NAME
 #undef VCMI_SOUND_FILE
-};
+};