This commit is contained in:
Daveo 2001-06-11 23:37:59 +00:00
parent 035137ce93
commit 660a63b903
5 changed files with 76 additions and 7 deletions

View File

@ -17,6 +17,8 @@
#include "FX\FXBaseAnim.h" #include "FX\FXBaseAnim.h"
#include "FX\FXBaseEmitter.h" #include "FX\FXBaseEmitter.h"
#include "FX\FXAttachAnim.h"
#include "FX\FXBubble.h" #include "FX\FXBubble.h"
#include "FX\FXfallingTile.h" #include "FX\FXfallingTile.h"
#include "FX\FXSteam.h" #include "FX\FXSteam.h"
@ -27,6 +29,7 @@
/*****************************************************************************/ /*****************************************************************************/
/*****************************************************************************/ /*****************************************************************************/
// Anim Data // Anim Data
CFXBaseAnim::sFXAnim FXWaterSplashData= CFXBaseAnim::sFXAnim FXWaterSplashData=
{ {
ONE, ONE,
@ -175,6 +178,47 @@ CFXBaseAnim::sFXAnim FXBubbleOilData=
CFX::FX_TYPE_SPLASH_WATER CFX::FX_TYPE_SPLASH_WATER
}; };
CFXBaseAnim::sFXAnim FXWaterFountainData=
{
ONE,
FRM__GUSH000,FRM__GUSH002,
3,
127,127,255,
CFXBaseAnim::FXANIM_FLAG_LOOP,
{0,0},
0,
};
CFXBaseAnim::sFXAnim FXAcidFountainData=
{
ONE,
FRM__GUSH000,FRM__GUSH002,
3,
0,255,0,
CFXBaseAnim::FXANIM_FLAG_LOOP,
{0,0},
0,
};
CFXBaseAnim::sFXAnim FXLavaFountainData=
{
ONE,
FRM__GUSH000,FRM__GUSH002,
3,
255,0,0,
CFXBaseAnim::FXANIM_FLAG_LOOP,
{0,0},
0,
};
CFXBaseAnim::sFXAnim FXOilFountainData=
{
ONE,
FRM__GUSH000,FRM__GUSH002,
3,
32,32,32,
CFXBaseAnim::FXANIM_FLAG_LOOP,
{0,0},
0,
};
/*****************************************************************************/ /*****************************************************************************/
/* /*
CFXSteam *TestFXPtr=0; CFXSteam *TestFXPtr=0;
@ -197,10 +241,11 @@ void TestFX(DVECTOR Pos)
} }
*/ */
/*****************************************************************************/ /*****************************************************************************/
int FXType=(CFX::FX_TYPE)CFX::FX_TYPE_BUBBLE_WATER; int FXType=(CFX::FX_TYPE)CFX::FX_TYPE_FOUNTAIN_WATER;
void TestFX(DVECTOR Pos) void TestFX(DVECTOR Pos,CThing *Parent)
{ {
CFX::Create((CFX::FX_TYPE)FXType,Pos); CFXAttachAnim *FX=(CFXAttachAnim*)CFX::Create((CFX::FX_TYPE)FXType,Pos);
Parent->addChild(FX);
// TestFXPtr->setLife(32); // TestFXPtr->setLife(32);
} }
@ -260,6 +305,7 @@ CFX *NewFX;
NewFX=new ("FXOilDrip") CFXBaseAnim(); NewFX=new ("FXOilDrip") CFXBaseAnim();
NewFX->setData(&FXOilDripData); NewFX->setData(&FXOilDripData);
break; break;
case FX_TYPE_BUBBLE_WATER: case FX_TYPE_BUBBLE_WATER:
NewFX=new ("FXBubbleWater") CFXBubble(); NewFX=new ("FXBubbleWater") CFXBubble();
NewFX->setData(&FXBubbleWaterData); NewFX->setData(&FXBubbleWaterData);
@ -277,6 +323,23 @@ CFX *NewFX;
NewFX->setData(&FXBubbleOilData); NewFX->setData(&FXBubbleOilData);
break; break;
case FX_TYPE_FOUNTAIN_WATER:
NewFX=new ("FXWaterFountain") CFXAttachAnim();
NewFX->setData(&FXWaterFountainData);
break;
case FX_TYPE_FOUNTAIN_ACID:
NewFX=new ("FXAcidFountain") CFXAttachAnim();
NewFX->setData(&FXAcidFountainData);
break;
case FX_TYPE_FOUNTAIN_LAVA:
NewFX=new ("FXLavaFountain") CFXAttachAnim();
NewFX->setData(&FXLavaFountainData);
break;
case FX_TYPE_FOUNTAIN_OIL:
NewFX=new ("FXOilFountain") CFXAttachAnim();
NewFX->setData(&FXOilFountainData);
break;
case FX_TYPE_NRG_BAR: case FX_TYPE_NRG_BAR:
NewFX=new ("NRG Bar") CFXNRGBar(); NewFX=new ("NRG Bar") CFXNRGBar();
break; break;

View File

@ -33,6 +33,11 @@ public:
FX_TYPE_DROP_LAVA, FX_TYPE_DROP_LAVA,
FX_TYPE_DROP_OIL, FX_TYPE_DROP_OIL,
FX_TYPE_FOUNTAIN_WATER,
FX_TYPE_FOUNTAIN_ACID,
FX_TYPE_FOUNTAIN_LAVA,
FX_TYPE_FOUNTAIN_OIL,
FX_TYPE_LIGHTNING_BOLT, FX_TYPE_LIGHTNING_BOLT,
FX_TYPE_LIGHTNING_SHEET, FX_TYPE_LIGHTNING_SHEET,
FX_TYPE_LIGHTNING_BLAST, FX_TYPE_LIGHTNING_BLAST,
@ -92,6 +97,6 @@ virtual void collidedWith(CThing *_thisThing);
/*****************************************************************************/ /*****************************************************************************/
/*****************************************************************************/ /*****************************************************************************/
/*****************************************************************************/ /*****************************************************************************/
void TestFX(DVECTOR Pos); void TestFX(DVECTOR Pos,CThing *Parent);
#endif #endif

View File

@ -108,6 +108,7 @@ POLY_FT4 *Ft4=SprBank->printRotatedScaledSprite(renderFrame,RenderPos.vx,RenderP
setShadeTex(Ft4,0); setShadeTex(Ft4,0);
setRGB0(Ft4,DataPtr->R,DataPtr->G,DataPtr->B); setRGB0(Ft4,DataPtr->R,DataPtr->G,DataPtr->B);
setSemiTrans(Ft4,DataPtr->Flags & FXANIM_FLAG_TRANS); setSemiTrans(Ft4,DataPtr->Flags & FXANIM_FLAG_TRANS);
Frame=Ft4;
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -49,6 +49,7 @@ protected:
virtual void collidedWith(CThing *_thisThing); virtual void collidedWith(CThing *_thisThing);
sFXAnim *DataPtr; sFXAnim *DataPtr;
POLY_FT4 *Frame;
s16 VelY; s16 VelY;
s16 MaxFrame; s16 MaxFrame;
s16 CurrentFrame; s16 CurrentFrame;

View File

@ -22,7 +22,7 @@
#include "fx\fxattachAnim.h" #include "fx\fxattachAnim.h"
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int DodgyYOffsetCosThePlatformAintInTheRightPosition_SortItOutCharles=32; const int DodgyFXOffset=16;
void CNpcGeyserPlatform::postInit() void CNpcGeyserPlatform::postInit()
{ {
CNpcPlatform::postInit(); CNpcPlatform::postInit();
@ -32,11 +32,10 @@ void CNpcGeyserPlatform::postInit()
m_state = GEYSER_READY; m_state = GEYSER_READY;
// Add fountain stuff // Add fountain stuff
DVECTOR Pos=getPos(); DVECTOR Pos=getPos();
Pos.vy+=DodgyYOffsetCosThePlatformAintInTheRightPosition_SortItOutCharles; Pos.vy+=DodgyFXOffset;
CThing *FX=CFX::Create(CFX::FX_TYPE_FOUNTAIN_OIL,Pos); CThing *FX=CFX::Create(CFX::FX_TYPE_FOUNTAIN_OIL,Pos);
addChild(FX); addChild(FX);
CHARLES_DBGMSG("CNpcGeyserPlatform::postInit() - Reminder::Sort your platform positions out.\n");
} }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////