This commit is contained in:
parent
deb21add92
commit
6ee022b872
4 changed files with 427 additions and 0 deletions
153
source/fx/fx.cpp
Normal file
153
source/fx/fx.cpp
Normal file
|
@ -0,0 +1,153 @@
|
|||
/*********************/
|
||||
/*** FX Base Class ***/
|
||||
/*********************/
|
||||
|
||||
#include "system\global.h"
|
||||
#include <DStructs.h>
|
||||
#include "utils\utils.h"
|
||||
#include "gfx\prim.h"
|
||||
#include "gfx\sprbank.h"
|
||||
#include <sprites.h>
|
||||
#include "level\level.h"
|
||||
|
||||
#include "FX\FX.h"
|
||||
#include "FX\FXjfish.h"
|
||||
/* FX
|
||||
|
||||
Jellyfish legs
|
||||
Bubbles (inc acid)
|
||||
Electricity lightning bolt
|
||||
Electricity sheet lightning
|
||||
Electricity Blast
|
||||
Electricity Radial?
|
||||
Electricity projectile
|
||||
|
||||
Shockwave - From falling items
|
||||
Daze stars
|
||||
|
||||
water/acid/lava/oil
|
||||
drip
|
||||
splashes
|
||||
|
||||
|
||||
water/acid/lava.oil
|
||||
drops
|
||||
waterfall
|
||||
waterfall end (splash)
|
||||
|
||||
fireballs
|
||||
|
||||
steam
|
||||
smoke
|
||||
flames
|
||||
marsh gas
|
||||
|
||||
explosions (implode!!)
|
||||
|
||||
Coral debris
|
||||
|
||||
***************************
|
||||
Level Effect Emitters
|
||||
|
||||
Bubble
|
||||
Acid drip
|
||||
Acid Flow
|
||||
steam
|
||||
smoke
|
||||
fireballs
|
||||
flames
|
||||
gas
|
||||
|
||||
*/
|
||||
|
||||
/*****************************************************************************/
|
||||
CFX *CFX::Create(const FX_TYPE Type,CThing *Parent)
|
||||
{
|
||||
CFX *NewFX;
|
||||
|
||||
switch(Type)
|
||||
{
|
||||
case FX_TYPE_JELLYFISH_LEGS:
|
||||
NewFX=new ("JellyFish Legs") CFXJellyFishLegs();
|
||||
break;
|
||||
case FX_TYPE_BUBBLE:
|
||||
case FX_TYPE_BUBBLE_WATER:
|
||||
case FX_TYPE_BUBBLE_ACID:
|
||||
case FX_TYPE_BUBBLE_LAVA:
|
||||
case FX_TYPE_BUBBLE_OIL:
|
||||
case FX_TYPE_LIGHTNING_BOLT:
|
||||
case FX_TYPE_LIGHTNING_SHEET:
|
||||
case FX_TYPE_LIGHTNING_BLAST:
|
||||
case FX_TYPE_LIGHTNING_RADIAL:
|
||||
case FX_TYPE_LIGHTNING_PROJECTILE:
|
||||
case FX_TYPE_SHOCKWAVE:
|
||||
case FX_TYPE_DAZE:
|
||||
case FX_TYPE_DROP:
|
||||
case FX_TYPE_DROP_WATER:
|
||||
case FX_TYPE_DROP_ACID:
|
||||
case FX_TYPE_DROP_LAVA:
|
||||
case FX_TYPE_DROP_OIL:
|
||||
case FX_TYPE_SPLASH:
|
||||
case FX_TYPE_SPLASH_WATER:
|
||||
case FX_TYPE_SPLASH_ACID:
|
||||
case FX_TYPE_SPLASH_LAVA:
|
||||
case FX_TYPE_SPLASH_OIL:
|
||||
case FX_TYPE_CASCADE:
|
||||
case FX_TYPE_CASCADE_SPLASH:
|
||||
case FX_TYPE_FIREBALL:
|
||||
case FX_TYPE_CLOUD:
|
||||
case FX_TYPE_CLOUD_STEAN:
|
||||
case FX_TYPE_CLOUD_SMOKE:
|
||||
case FX_TYPE_CLOUD_GAS:
|
||||
case FX_TYPE_FLAMES:
|
||||
case FX_TYPE_EXPLODE:
|
||||
case FX_TYPE_DEBRIS:
|
||||
|
||||
default:
|
||||
ASSERT(!"UNKNOWN FX TYPE");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
NewFX->init();
|
||||
// Pos=NewFX->getSizeForPlacement();
|
||||
// Pos.vx=_pos->vx+(NewFXPos.vx/2);
|
||||
// Pos.vy=_pos->vy+(NewFXPos.vy/2)-16;
|
||||
// NewFX->setPos(&NewFXPos);
|
||||
|
||||
if (Parent)
|
||||
{
|
||||
Parent->addChild(NewFX);
|
||||
}
|
||||
|
||||
return NewFX;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*****************************************************************************/
|
||||
/*****************************************************************************/
|
||||
void CFX::init()
|
||||
{
|
||||
CFXThing::init();
|
||||
|
||||
m_spriteBank=new ("FX Sprite") SpriteBank();
|
||||
m_spriteBank->load(SPRITES_SPRITES_SPR);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CFX::shutdown()
|
||||
{
|
||||
m_spriteBank->dump(); delete m_spriteBank;
|
||||
CFXThing::shutdown();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CFX::think(int _frames)
|
||||
{
|
||||
CFXThing::think(_frames);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CFX::render()
|
||||
{
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue