229 lines
6.6 KiB
C++
229 lines
6.6 KiB
C++
/*
|
|
<함수 호출 순서>
|
|
1. SetDevice()
|
|
2. SetupTiles()
|
|
3. LoadTexture() / SetTexture()
|
|
4. Process()
|
|
5. Render()
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
#include "kseqform.h"
|
|
#include "KResource.h"
|
|
#include "KPrimitiveTile.h"
|
|
#include "KRenderDevice.h"
|
|
|
|
|
|
int Randomize(int nMin, int nMax);
|
|
float Randomize(float fMin, float fMax);
|
|
|
|
class KSeqLoadingScreen :
|
|
public KSeqForm
|
|
{
|
|
public:
|
|
KSeqLoadingScreen();
|
|
virtual ~KSeqLoadingScreen();
|
|
virtual void Destroy();
|
|
//void SetDevice(class K3DRenderDevice* pRenderDevice) {m_pRenderDevice = pRenderDevice;}
|
|
virtual void Render( KViewportObject *viewport, DWORD flag = RENDEREFX_NONE, const K3DMatrix * pAttachMat = NULL );
|
|
virtual int Process( DWORD dwTime );
|
|
bool LoadTexture(const char* pszTexFile);
|
|
void SetTexture(K3DTexture* pTexture);
|
|
virtual void StartAnimation(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 1, int numTilesInAColumn = 1);
|
|
//void SetupTiles(STileVertex min, STileVertex max, int numTilesInARow = 1, int numTilesInAColumn = 1);
|
|
virtual void ResetTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max);
|
|
|
|
protected:
|
|
K3DTexture* m_pTexture;
|
|
KTilePrimitive* m_Tiles;
|
|
//K3DRenderDevice* m_pRenderDevice;
|
|
int m_numTilesInARow;
|
|
int m_numTilesInAColumn;
|
|
};
|
|
|
|
class KSeqScreenTransition : public KSeqLoadingScreen
|
|
{
|
|
public:
|
|
KSeqScreenTransition();
|
|
virtual ~KSeqScreenTransition();
|
|
virtual void Destroy();
|
|
//virtual int Process( DWORD dwTime );
|
|
virtual void StartAnimation(DWORD dwTime);
|
|
//virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 1, int numTilesInAColumn = 1);
|
|
//virtual void ResetTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max);
|
|
|
|
protected:
|
|
DWORD m_dwStartTime;
|
|
DWORD m_dwLife;
|
|
};
|
|
|
|
class KSeqDissolveScreen : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqDissolveScreen();
|
|
virtual ~KSeqDissolveScreen();
|
|
virtual void Destroy();
|
|
virtual int Process( DWORD dwTime );
|
|
//virtual void StartAnimation(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 1, int numTilesInAColumn = 1);
|
|
//virtual void ResetTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max);
|
|
|
|
protected:
|
|
//DWORD m_dwStartTime;
|
|
//DWORD m_dwElapsedTime;
|
|
//DWORD m_dwLife;
|
|
};
|
|
|
|
class KSeqWipeScreen : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqWipeScreen();
|
|
virtual ~KSeqWipeScreen();
|
|
virtual void Destroy();
|
|
virtual int Process( DWORD dwTime );
|
|
//virtual void StartAnimation(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 1, int numTilesInAColumn = 1);
|
|
|
|
protected:
|
|
//DWORD m_dwStartTime;
|
|
//DWORD m_dwElapsedTime;
|
|
//DWORD m_dwLife;
|
|
};
|
|
|
|
class KSeqBlindScreen : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqBlindScreen();
|
|
virtual ~KSeqBlindScreen();
|
|
virtual void Destroy();
|
|
virtual int Process( DWORD dwTime );
|
|
//virtual void StartAnimation(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 16, int numTilesInAColumn = 1);
|
|
//virtual void ResetTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max);
|
|
|
|
protected:
|
|
//DWORD m_dwStartTime;
|
|
//DWORD m_dwLife;
|
|
};
|
|
|
|
class KSeqMeltScreen : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqMeltScreen();
|
|
virtual ~KSeqMeltScreen();
|
|
virtual void Destroy();
|
|
virtual int Process( DWORD dwTime );
|
|
//virtual void StartAnimation(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 100, int numTilesInAColumn = 1);
|
|
|
|
protected:
|
|
//DWORD m_dwStartTime;
|
|
//DWORD m_dwLife;
|
|
float* m_fDropSpeeds;
|
|
};
|
|
|
|
class KSeqShrinkScreen : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqShrinkScreen();
|
|
virtual ~KSeqShrinkScreen();
|
|
virtual void Destroy();
|
|
virtual int Process( DWORD dwTime );
|
|
//virtual void StartAnimation(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 16, int numTilesInAColumn = 16);
|
|
|
|
protected:
|
|
//DWORD m_dwStartTime;
|
|
//DWORD m_dwLife;
|
|
};
|
|
|
|
class KSeqSpinAndShrinkScreen : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqSpinAndShrinkScreen();
|
|
virtual ~KSeqSpinAndShrinkScreen();
|
|
virtual void Destroy();
|
|
virtual int Process( DWORD dwTime );
|
|
//virtual void StartAnimation(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 16, int numTilesInAColumn = 16);
|
|
|
|
protected:
|
|
//DWORD m_dwStartTime;
|
|
//DWORD m_dwLife;
|
|
float m_fSpinSpeed;
|
|
};
|
|
|
|
class KSeqWarpDissolveScreen : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqWarpDissolveScreen();
|
|
virtual ~KSeqWarpDissolveScreen();
|
|
virtual void Destroy();
|
|
virtual int Process( DWORD dwTime );
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 16, int numTilesInAColumn = 16);
|
|
|
|
protected:
|
|
float m_fWarpCoefficient;
|
|
float* m_fDeltaUs;
|
|
float* m_fDeltaVs;
|
|
float* m_fJiggles;
|
|
};
|
|
|
|
class KSeqTileTransition : public KSeqScreenTransition
|
|
{
|
|
public:
|
|
KSeqTileTransition();
|
|
virtual ~KSeqTileTransition();
|
|
virtual void Destroy();
|
|
|
|
protected:
|
|
int* m_Priorities; // 타일 수만큼 할당하여 사용 (m_numPriorities 만큼이 아님)
|
|
int m_numPriorities;
|
|
};
|
|
|
|
class KSeqTileConcentric : public KSeqTileTransition
|
|
{
|
|
public:
|
|
KSeqTileConcentric();
|
|
virtual ~KSeqTileConcentric();
|
|
//virtual int Process(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 15, int numTilesInAColumn = 15);
|
|
};
|
|
|
|
class KSeqTileWipe : public KSeqTileTransition
|
|
{
|
|
public:
|
|
KSeqTileWipe();
|
|
virtual ~KSeqTileWipe();
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 16, int numTilesInAColumn = 16);
|
|
};
|
|
|
|
class KSeqSpinShrinkTileConcentric : public KSeqTileConcentric
|
|
{
|
|
public:
|
|
KSeqSpinShrinkTileConcentric();
|
|
virtual ~KSeqSpinShrinkTileConcentric();
|
|
virtual void Destroy();
|
|
virtual int Process(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 15, int numTilesInAColumn = 15);
|
|
|
|
protected:
|
|
float m_fSpinSpeed;
|
|
};
|
|
|
|
class KSeqSpinShrinkTileWipe : public KSeqTileWipe
|
|
{
|
|
public:
|
|
KSeqSpinShrinkTileWipe();
|
|
virtual ~KSeqSpinShrinkTileWipe();
|
|
virtual void Destroy();
|
|
virtual int Process(DWORD dwTime);
|
|
virtual void SetupTiles(KTilePrimitive::STileVertex min, KTilePrimitive::STileVertex max, int numTilesInARow = 16, int numTilesInAColumn = 16);
|
|
|
|
protected:
|
|
float m_fSpinSpeed;
|
|
};
|