This commit is contained in:
parent
c66564e837
commit
e73d4eebf7
11 changed files with 107 additions and 35 deletions
|
@ -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
|
||||||
|
|
|
@ -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 );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -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__)
|
||||||
GameState::setNextScene( &GameScene );
|
if (TestFMA==-1)
|
||||||
|
{
|
||||||
|
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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue