This commit is contained in:
Daveo 2001-07-04 20:42:42 +00:00
parent c66564e837
commit e73d4eebf7
11 changed files with 107 additions and 35 deletions

View file

@ -131,6 +131,8 @@ enum
FMA_ANIM_UNHIDEIDLE, FMA_ANIM_UNHIDEIDLE,
FMA_ANIM_SIT, FMA_ANIM_SIT,
FMA_ANIM_SITLOOKLEFT, FMA_ANIM_SITLOOKLEFT,
FMA_ANIM_SITASLEEP,
FMA_ANIM_RUBHEAD,
FMA_NUM_ANIMS, FMA_NUM_ANIMS,
}; };
@ -274,6 +276,8 @@ static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1}, /*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
/*FMA_ANIM_SIT*/ {0,-1}, /*FMA_ANIM_SIT*/ {0,-1},
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1}, /*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
/*FMA_ANIM_SITASLEEP*/ {0,-1},
/*FMA_ANIM_RUBHEAD*/ {0,-1},
}, },
}, },
{ // Mermaid Man { // Mermaid Man
@ -294,6 +298,8 @@ static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1}, /*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
/*FMA_ANIM_SIT*/ {0,ANIM_MERMAIDMAN_SIT}, /*FMA_ANIM_SIT*/ {0,ANIM_MERMAIDMAN_SIT},
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1}, /*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
/*FMA_ANIM_SITASLEEP*/ {0,ANIM_MERMAIDMAN_SITASLEEP},
/*FMA_ANIM_RUBHEAD*/ {0,-1},
}, },
}, },
{ // Barnicle Boy { // Barnicle Boy
@ -314,6 +320,8 @@ static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
/*FMA_ANIM_UNHIDEIDLE*/ {0,ANIM_BARNACLEBOY_UNHIDEIDLE}, /*FMA_ANIM_UNHIDEIDLE*/ {0,ANIM_BARNACLEBOY_UNHIDEIDLE},
/*FMA_ANIM_SIT*/ {0,ANIM_BARNACLEBOY_SIT}, /*FMA_ANIM_SIT*/ {0,ANIM_BARNACLEBOY_SIT},
/*FMA_ANIM_SITLOOKLEFT*/ {0,ANIM_BARNACLEBOY_SITLOOKLEFT}, /*FMA_ANIM_SITLOOKLEFT*/ {0,ANIM_BARNACLEBOY_SITLOOKLEFT},
/*FMA_ANIM_SITASLEEP*/ {0,ANIM_BARNACLEBOY_SITASLEEP},
/*FMA_ANIM_RUBHEAD*/ {0,ANIM_BARNACLEBOY_RUBHEAD},
}, },
}, },
@ -335,6 +343,8 @@ static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1}, /*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
/*FMA_ANIM_SIT*/ {0,-1}, /*FMA_ANIM_SIT*/ {0,-1},
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1}, /*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
/*FMA_ANIM_SITASLEEP*/ {0,-1},
/*FMA_ANIM_RUBHEAD*/ {0,-1},
}, },
}, },
{ // Plankton { // Plankton
@ -355,6 +365,8 @@ static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1}, /*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
/*FMA_ANIM_SIT*/ {0,-1}, /*FMA_ANIM_SIT*/ {0,-1},
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1}, /*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
/*FMA_ANIM_SITASLEEP*/ {0,-1},
/*FMA_ANIM_RUBHEAD*/ {0,-1},
}, },
}, },
}; };
@ -432,6 +444,7 @@ static const int s_FMAIntroScript[]=
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0, SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1, SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_RUBHEAD,1,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,30, SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,30,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
@ -461,12 +474,12 @@ static const int s_FMAC1EndScript[]=
SC_WAIT_ON_TIMER, 60*2, SC_WAIT_ON_TIMER, 60*2,
// Scene 2 - inside Shady Shoals // Scene 2 - inside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_SIT,1, SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_SITASLEEP,1,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,208*16,(30*16)+8, SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,208*16,(30*16)+8,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0, SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true, SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_SIT,1, SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_SITASLEEP,1,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,211*16,(30*16)+8, SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,211*16,(30*16)+8,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1, SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true, SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
@ -520,6 +533,7 @@ static const int s_FMAC1EndScript[]=
SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1, SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40, SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_RUBHEAD,1,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP SC_STOP
}; };
@ -585,6 +599,7 @@ static const int s_FMAC2EndScript[]=
SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1, SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40, SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_RUBHEAD,1,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP SC_STOP
}; };
@ -667,6 +682,7 @@ static const int s_FMAC3EndScript[]=
SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1, SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40, SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_RUBHEAD,1,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP SC_STOP
@ -719,6 +735,7 @@ static const int s_FMAC4EndScript[]=
SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_ANIM, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1, SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,1,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,420*16,30*16,40, SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,420*16,30*16,40,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_RUBHEAD,1,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB, SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP SC_STOP

View file

@ -51,30 +51,35 @@ CFXBaseAnim::sFXBaseData FXDropBaseData=
{ {
FRM__DRIP,FRM__DRIP,1, FRM__DRIP,FRM__DRIP,1,
FX_FLAG_LOOP | FX_FLAG_COLLIDE_KILL | FX_FLAG_HAS_GRAVITY | FX_FLAG_NO_THINK_KILL, FX_FLAG_LOOP | FX_FLAG_COLLIDE_KILL | FX_FLAG_HAS_GRAVITY | FX_FLAG_NO_THINK_KILL,
0,CSoundMediator::SFX_HAZARD__ACID_DROP,
}; };
CFXBaseAnim::sFXBaseData FXSplashBaseData= CFXBaseAnim::sFXBaseData FXSplashBaseData=
{ {
FRM__SPLASH001,FRM__SPLASH006,1, FRM__SPLASH001,FRM__SPLASH006,1,
FX_FLAG_NO_THINK_KILL, FX_FLAG_NO_THINK_KILL,
0,0,
}; };
CFXBaseAnim::sFXBaseData FXExplodeBaseData= CFXBaseAnim::sFXBaseData FXExplodeBaseData=
{ {
FRM__EXPLOSION0001,FRM__EXPLOSION0008,1, FRM__EXPLOSION0001,FRM__EXPLOSION0008,1,
FX_FLAG_NO_THINK_KILL, FX_FLAG_NO_THINK_KILL,
CSoundMediator::SFX_HAZARD__FIREBALL_LAND,0,
}; };
CFXBaseAnim::sFXBaseData FXFireBaseData= CFXBaseAnim::sFXBaseData FXFireBaseData=
{ {
FRM__FIRE01,FRM__FIRE08,1, FRM__FIRE01,FRM__FIRE08,1,
FX_FLAG_LOOP | FX_FLAG_TRANS, FX_FLAG_LOOP | FX_FLAG_TRANS,
0,0,
}; };
CFXBaseAnim::sFXBaseData FXBubbleBaseData= CFXBaseAnim::sFXBaseData FXBubbleBaseData=
{ {
FRM__BUBBLE_2,FRM__BUBBLE_2,1, FRM__BUBBLE_2,FRM__BUBBLE_2,1,
FX_FLAG_LOOP | FX_FLAG_COLLIDE_KILL | FX_FLAG_NO_THINK_KILL | FX_FLAG_HAS_LIFE, FX_FLAG_LOOP | FX_FLAG_COLLIDE_KILL | FX_FLAG_NO_THINK_KILL | FX_FLAG_HAS_LIFE,
0,0,
}; };
/*****************************************************************************/ /*****************************************************************************/
@ -295,6 +300,9 @@ void CFX::init()
OtPos=OTPOS__ACTOR_POS; OtPos=OTPOS__ACTOR_POS;
Flags=0; Flags=0;
Velocity.vx=Velocity.vy=0; Velocity.vx=Velocity.vy=0;
m_soundId = NOT_PLAYING;
EndSnd=0;
} }
/*****************************************************************************/ /*****************************************************************************/
@ -345,7 +353,9 @@ CThing *Parent=getParent();
Pos.vx+=Velocity.vx; Pos.vx+=Velocity.vx;
Pos.vy+=Velocity.vy; Pos.vy+=Velocity.vy;
if (Flags & FX_FLAG_COLLIDE_KILL || Flags & FX_FLAG_COLLIDE_BOUNCE)
if (Velocity.vy)
if (Flags & FX_FLAG_COLLIDE_KILL || Flags )
{ {
CLayerCollision *ColLayer=CGameScene::getCollision(); CLayerCollision *ColLayer=CGameScene::getCollision();
int DistY = ColLayer->getHeightFromGround( Pos.vx, Pos.vy, 16 ); int DistY = ColLayer->getHeightFromGround( Pos.vx, Pos.vy, 16 );
@ -360,7 +370,11 @@ CThing *Parent=getParent();
else else
{ {
Velocity.vx/=2; Velocity.vx/=2;
Velocity.vy=-Velocity.vy>>1; Velocity.vy=-(Velocity.vy/2);
if (Velocity.vy)
{
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_BLINK,false);
}
} }
} }
} }
@ -377,6 +391,14 @@ void CFX::killFX()
{ {
CFX::Create((CFX::FX_TYPE)AfterEffect,getPos()); CFX::Create((CFX::FX_TYPE)AfterEffect,getPos());
} }
if (EndSnd)
{
CSoundMediator::playSfx( (CSoundMediator::SFXID)EndSnd,false);
}
if( m_soundId != NOT_PLAYING )
{
CSoundMediator::stopAndUnlockSfx(m_soundId );
}
} }

View file

@ -6,6 +6,7 @@
#define __FX_FX_HEADER__ #define __FX_FX_HEADER__
#include "thing/thing.h" #include "thing/thing.h"
#include "sound\sound.h"
/*****************************************************************************/ /*****************************************************************************/
enum FX_FLAG enum FX_FLAG
@ -30,44 +31,44 @@ public:
{ {
FX_TYPE_NONE=0, FX_TYPE_NONE=0,
FX_TYPE_BASE_ANIM, /* 1*/ FX_TYPE_BASE_ANIM,
FX_TYPE_DROP_WATER, /* 2*/ FX_TYPE_DROP_WATER,
FX_TYPE_DROP_ACID, /* 3*/ FX_TYPE_DROP_ACID,
FX_TYPE_DROP_LAVA, /* 4*/ FX_TYPE_DROP_LAVA,
FX_TYPE_DROP_OIL, /* 5*/ FX_TYPE_DROP_OIL,
FX_TYPE_SPLASH_WATER, /* 6*/ FX_TYPE_SPLASH_WATER,
FX_TYPE_SPLASH_ACID, /* 7*/ FX_TYPE_SPLASH_ACID,
FX_TYPE_SPLASH_LAVA, /* 8*/ FX_TYPE_SPLASH_LAVA,
FX_TYPE_SPLASH_OIL, /* 9*/ FX_TYPE_SPLASH_OIL,
FX_TYPE_BUBBLE_WATER, /* 10*/ FX_TYPE_BUBBLE_WATER,
FX_TYPE_BUBBLE_ACID, /* 11*/ FX_TYPE_BUBBLE_ACID,
FX_TYPE_BUBBLE_LAVA, /* 12*/ FX_TYPE_BUBBLE_LAVA,
FX_TYPE_BUBBLE_OIL, /* 13*/ FX_TYPE_BUBBLE_OIL,
FX_TYPE_GEYSER_WATER, /* 14*/ FX_TYPE_GEYSER_WATER,
FX_TYPE_GEYSER_ACID, /* 15*/ FX_TYPE_GEYSER_ACID,
FX_TYPE_GEYSER_LAVA, /* 16*/ FX_TYPE_GEYSER_LAVA,
FX_TYPE_GEYSER_OIL, /* 17*/ FX_TYPE_GEYSER_OIL,
FX_TYPE_THWACK, /* 18*/ FX_TYPE_THWACK,
FX_TYPE_LIGHTNING_BOLT, /* 19*/ FX_TYPE_LIGHTNING_BOLT,
FX_TYPE_STEAM, /* 20*/ FX_TYPE_STEAM,
FX_TYPE_GAS, /* 21*/ FX_TYPE_GAS,
FX_TYPE_FLAMES, /* 22*/ FX_TYPE_FLAMES,
FX_TYPE_SMOKE, /* 23*/ FX_TYPE_SMOKE,
FX_TYPE_SMOKE_PUFF, /* 24*/ FX_TYPE_SMOKE_PUFF,
FX_TYPE_JELLYFISH_LEGS, /* 25*/ FX_TYPE_JELLYFISH_LEGS,
FX_TYPE_FALLINGTILE, /* 26*/ FX_TYPE_FALLINGTILE,
FX_TYPE_EXPLODE, /* 27*/ FX_TYPE_EXPLODE,
FX_TYPE_NRG_BAR, /* 28*/ FX_TYPE_NRG_BAR,
FX_TYPE_LASER, /* 29*/ FX_TYPE_LASER,
FX_TYPE_TV_EXPLODE, /* 30*/ FX_TYPE_TV_EXPLODE,
FX_TYPE_MAX FX_TYPE_MAX
}; };
@ -138,7 +139,9 @@ public:
u16 Flags; u16 Flags;
sFXRGB RGB; sFXRGB RGB;
FX_TYPE AfterEffect; FX_TYPE AfterEffect;
u16 EndSnd;
DVECTOR Velocity; DVECTOR Velocity;
xmPlayingId m_soundId;
s32 OtPos; s32 OtPos;
static sFXRGB FXRGBTable[FX_RGB_MAX]; static sFXRGB FXRGBTable[FX_RGB_MAX];

View file

@ -11,6 +11,7 @@
#include "level\level.h" #include "level\level.h"
#include "game\game.h" #include "game\game.h"
#include "level\layercollision.h" #include "level\layercollision.h"
#include "FX\FXBaseAnim.h" #include "FX\FXBaseAnim.h"
@ -43,6 +44,11 @@ void CFXBaseAnim::think(int _frames)
MaxFrame=((BaseData->EndFrame-BaseData->StartFrame)<<BaseData->FrameShift)-1; MaxFrame=((BaseData->EndFrame-BaseData->StartFrame)<<BaseData->FrameShift)-1;
Flags|=BaseData->Flags; Flags|=BaseData->Flags;
renderFrame=BaseData->StartFrame; renderFrame=BaseData->StartFrame;
if (BaseData->StartSnd)
{
CSoundMediator::playSfx((CSoundMediator::SFXID)BaseData->StartSnd,false);
}
EndSnd=BaseData->EndSnd;
HasInit=true; HasInit=true;
} }

View file

@ -15,6 +15,7 @@ public:
{ {
s16 StartFrame,EndFrame,FrameShift; s16 StartFrame,EndFrame,FrameShift;
u16 Flags; u16 Flags;
u16 StartSnd,EndSnd;
}; };
virtual void init(DVECTOR const &Pos); virtual void init(DVECTOR const &Pos);

View file

@ -37,6 +37,7 @@ void CFXBubble::think(int _frames)
{ {
if (renderFrame!=FRM__BUBBLEPOP) if (renderFrame!=FRM__BUBBLEPOP)
{ {
CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_POP,false);
renderFrame=FRM__BUBBLEPOP; renderFrame=FRM__BUBBLEPOP;
} }
else else

View file

@ -35,6 +35,7 @@ sLevelHdr *LevelHdr=CLevel::getLevelHdr();
Velocity.vx=getRndRange(7)-4; Velocity.vx=getRndRange(7)-4;
Velocity.vy=FallingTile_DefVY; Velocity.vy=FallingTile_DefVY;
Life=FallingTile_DefLife; Life=FallingTile_DefLife;
CSoundMediator::playSfx(CSoundMediator::SFX_ANY_OBJECT_FALLING,false);
} }
/*****************************************************************************/ /*****************************************************************************/

View file

@ -21,6 +21,7 @@ void CFXGeyser::init(DVECTOR const &_Pos)
CFX::init(_Pos); CFX::init(_Pos);
Height=TargetHeight=8; Height=TargetHeight=8;
currentFrame=FRM__GUSH000; currentFrame=FRM__GUSH000;
/* m_soundId=*/CSoundMediator::playSfx(CSoundMediator::SFX_WORLD_OBJECT__GEYSER,false);
} }
/*****************************************************************************/ /*****************************************************************************/

View file

@ -31,6 +31,7 @@ void CFXSteam::init(DVECTOR const &_Pos)
DieOut=false; DieOut=false;
SetSize(DefSize); SetSize(DefSize);
IsHorizontal=false; IsHorizontal=false;
m_soundId=CSoundMediator::playSfx( CSoundMediator::SFX_HAZARD__STEAM,true);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -113,6 +114,10 @@ int TotalLife=0;
if (DieOut && TotalLife==0) if (DieOut && TotalLife==0)
{ {
if( m_soundId != NOT_PLAYING )
{
CSoundMediator::stopAndUnlockSfx(m_soundId );
}
setToShutdown(); setToShutdown();
} }
} }

View file

@ -25,6 +25,7 @@ void CFXThwack::init(DVECTOR const &_Pos)
Angle=getRnd()&4095; Angle=getRnd()&4095;
Scale=2048+1024+(getRnd()&2047); Scale=2048+1024+(getRnd()&2047);
Flags |=FX_FLAG_HAS_LIFE; Flags |=FX_FLAG_HAS_LIFE;
CSoundMediator::playSfx(CSoundMediator::SFX_KAPOW_V1,false);
} }
/*****************************************************************************/ /*****************************************************************************/

View file

@ -207,6 +207,11 @@ void MainLoop()
/*****************************************************************************/ /*****************************************************************************/
/*****************************************************************************/ /*****************************************************************************/
/*****************************************************************************/ /*****************************************************************************/
#if defined(__USER_daveo__)
#include "fma/fma.h"
int TestFMA=-1;
#endif
int main() int main()
{ {
CFileIO::GetAllFilePos(); CFileIO::GetAllFilePos();
@ -215,7 +220,16 @@ int main()
#ifdef __USER_paul__ #ifdef __USER_paul__
GameState::setNextScene( &SceneSelector ); GameState::setNextScene( &SceneSelector );
#elif defined(__USER_daveo__) #elif defined(__USER_daveo__)
if (TestFMA==-1)
{
GameState::setNextScene( &GameScene ); GameState::setNextScene( &GameScene );
}
else
{
FmaScene.selectFma((CFmaScene::FMA_SCRIPT_NUMBER)TestFMA);
GameState::setNextScene(&FmaScene);
}
#elif defined(__USER_charles__) #elif defined(__USER_charles__)
GameState::setNextScene( &MapScene ); GameState::setNextScene( &MapScene );
#else #else