diff --git a/source/level/level.cpp b/source/level/level.cpp index aa9077328..6ffe29ef2 100644 --- a/source/level/level.cpp +++ b/source/level/level.cpp @@ -205,7 +205,11 @@ void CLevel::init(int LevelNo) // Load it sLvlTab *lvlTab=&LvlTable[LevelNo]; - + m_isFMA=0; + if (lvlTab->Chapter==6) + { + m_isFMA=1; + } CSoundMediator::setSong((CSoundMediator::SONGID)lvlTab->songId); LevelHdr=(sLevelHdr*)CFileIO::loadFile(lvlTab->LevelFilename,"Level"); @@ -633,7 +637,7 @@ void CLevel::initThings(int _respawningLevel) CThingManager::matchWheelsAndWeights(); CThingManager::matchPressureSwitches(); CThingManager::matchGaryTriggers(); - GameScene.initHealth(); + if (!m_isFMA) GameScene.initHealth(); } diff --git a/source/level/level.h b/source/level/level.h index a9677fb12..a6196ef06 100644 --- a/source/level/level.h +++ b/source/level/level.h @@ -88,7 +88,7 @@ static CFmaScene::FMA_SCRIPT_NUMBER getFMAToFollow() {return LvlTable[s_glo int getMapHeight16() {return(MapSize16.vy);} bool GetNextLevel(int &Lvl); - + int isFMA() {return(m_isFMA);} void respawnLevel(); static sLevelHdr *getLevelHdr() {return(LevelHdr);} @@ -135,6 +135,7 @@ static int s_playerFacing; u8 *m_RGBMap; u8 *m_RGBTable; + u8 m_isFMA; static u8 m_isBossRespawn; static s32 m_bossHealth;