diff --git a/makefile.gaz b/makefile.gaz index 4eb9231de..4f814fb0e 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -301,7 +301,6 @@ thing_src := thing triggers_src := trigger \ tcamlock \ - tlevexit \ tlook \ trestart \ tteleprt \ diff --git a/source/fma/fma.cpp b/source/fma/fma.cpp index 417c64cae..f09dca3e2 100644 --- a/source/fma/fma.cpp +++ b/source/fma/fma.cpp @@ -34,6 +34,10 @@ #include "map\map.h" #endif +#ifndef __SOUND_SOUND_H__ +#include "sound\sound.h" +#endif + /* Std Lib ------- */ @@ -65,9 +69,7 @@ CFmaScene FmaScene; -// tmp #include "pad\pads.h" -// tmp /*---------------------------------------------------------------------- @@ -86,7 +88,8 @@ void CFmaScene::init() m_level=new ("FMALevel") CLevel(); m_level->init(25); - m_cameraPos.vx=m_cameraPos.vy=0; + m_cameraPos.vx=-30; + m_cameraPos.vy=280; m_readyToShutdown=false; } @@ -100,6 +103,7 @@ void CFmaScene::init() void CFmaScene::shutdown() { m_level->shutdown(); delete m_level; + CSoundMediator::dumpSong(); CConversation::shutdown(); CThingManager::shutdown(); @@ -128,7 +132,7 @@ void CFmaScene::render() ---------------------------------------------------------------------- */ void CFmaScene::think(int _frames) { -// tmp +#ifdef __USER_paul__ if(PadGetHeld(0)&PAD_UP) { m_cameraPos.vy-=10*_frames; @@ -145,11 +149,11 @@ void CFmaScene::think(int _frames) { m_cameraPos.vx+=10*_frames; } - else if(PadGetDown(0)&PAD_START) +#endif + if(PadGetDown(0)&(PAD_CROSS|PAD_START)) { startShutdown(); } -// tmp CThingManager::thinkAllThings(_frames); CConversation::think(_frames); diff --git a/source/game/game.cpp b/source/game/game.cpp index 3b78ec468..944782ffa 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -79,6 +79,11 @@ #include "map\map.h" #endif +#ifndef __FMA_FMA_H__ +#include "fma\fma.h" +#endif + + #include "gfx\actor.h" int RenderZ=256; @@ -248,8 +253,15 @@ void CGameScene::think(int _frames) } else if(s_levelFinished) { - // Level finished - go to map - GameState::setNextScene(&MapScene); + // Level finished - go to map or fma + if(getLevelNumber()==4) + { + GameState::setNextScene(&FmaScene); + } + else + { + GameState::setNextScene(&MapScene); + } s_readyToExit=true; } #ifdef __VERSION_DEBUG__ diff --git a/source/level/level.cpp b/source/level/level.cpp index e262249d3..f684cae2e 100644 --- a/source/level/level.cpp +++ b/source/level/level.cpp @@ -407,7 +407,8 @@ void CLevel::initThings(int _respawningLevel) TriggerList=(sThingTrigger*)MakePtr(Hdr,sizeof(sThingHdr)); for(int i=0;i