5 #if !defined(AFX_CDXMOTION_H__B1AFC48A_B370_4EBC_B815_8F3A2EB0DE28__INCLUDED_) 6 #define AFX_CDXMOTION_H__B1AFC48A_B370_4EBC_B815_8F3A2EB0DE28__INCLUDED_ 10 #endif // _MSC_VER > 1000 14 #pragma warning( push ) 15 #pragma warning( disable: 4251 ) 149 virtual bool CreateByScript(
const char* SMName,
void* Data = 0,
void* actor = 0,
bool usepath =
true,
bool hflip =
true);
159 virtual bool Create(
void* Data = 0,
void* actor = 0,
float Life = 0.0
f,
bool path =
true);
160 virtual bool Update(
bool readevent =
true );
161 virtual void Draw(
CDXSurface* dest = 0,
PRECT Rect = 0,
bool CheckScreen = 1,
CDX_Color* pal = 0,
bool mem_alloc =
false );
163 virtual void Destroy(
void );
164 virtual bool isOk()
const {
return !m_SpriteList.empty() ? true :
false; }
165 virtual void Pause(
void);
166 virtual void Run(
void);
169 virtual int AddSprite(
const char* ObjName,
int cx,
int cy,
bool hflip =
true );
171 virtual MotionInfo* GetMotionInfo(
int Frame );
172 virtual MotionInfo* GetMotionInfoByActive(
void );
173 virtual CDXSprite* GetSprite(
int Frame );
174 virtual int GetWidth(
int Frame );
175 virtual int GetHeight(
int Frame );
176 virtual bool GetCenterX(
int Frame,
int* cx );
177 virtual bool GetCenterY(
int Frame,
int* cy );
179 virtual bool InsertEvent(
int Frame,
const char* Event );
180 virtual bool DeleteEvent(
int Frame );
181 virtual const char* GetEvent(
int Frame );
187 virtual void AddPosX(
int x );
188 virtual void AddPosY(
int y );
189 virtual void AddPos(
int x,
int y );
190 virtual void AddPos(
POINT pos );
191 virtual void SetPosX(
int x );
192 virtual void SetPosY(
int y );
193 virtual void SetPos(
int x,
int y );
194 virtual void SetPos(
POINT pos );
195 virtual bool CalcPos(
int frame,
long*
x,
long*
y );
196 virtual bool CalcPos(
int frame,
PPOINT Pos );
197 virtual void UpdatePos();
204 virtual bool CreateColl(
void );
205 virtual bool DestroyColl(
void );
206 virtual bool AddColl(
void* Data );
207 virtual bool RemoveAllColl(
void );
208 virtual bool GetColl(
void* Data );
217 virtual void SetMotionSpeed(
float Speed );
218 virtual void SetMotionSpeedByFrame(
float Speed,
int Frame );
219 virtual void SetAlpha(
WORD AlphaValue );
220 virtual void SetHFlip(
void );
221 virtual void SetVFlip(
void );
222 virtual void SetVHFlip(
void );
224 virtual void SetTrans(
void );
225 virtual void SetScale(
float Scale );
226 virtual void SetUserData(
void* Data );
227 virtual void SetName(
const char* Name );
228 virtual void SetFrame(
int Frame );
229 virtual void SetFrameReset(
void );
230 virtual void SetBBoxShow(
bool Show = 1 );
231 virtual void SetBBoxActive(
bool Active = 1 );
233 virtual void SetWorldPos(
int wx,
int wy ) { m_WorldPos.x = wx; m_WorldPos.y = wy; }
236 virtual void setActor(
void* actor) { m_Actor = actor; }
244 virtual bool GetOutScreen(
void );
245 virtual const char* GetName(
void );
246 virtual void* GetUserData(
void );
247 virtual int GetFrame(
void )
const {
return m_FrameCurrent; }
250 virtual bool GetFrameEnd(
void );
252 virtual long GetPosX(
void )
const {
return m_Pos.x; }
253 virtual long GetPosY(
void )
const {
return m_Pos.y; }
260 virtual float GetAllMotionTime(
void );
261 virtual float GetLeftMotionTime(
void );
262 virtual float GetMotionSpeedByFrame(
int Frame );
264 virtual float GetSpeedByFrame(
int Frame );
280 virtual void AddFrameBBox(
BYTE Frame,
BYTE Type,
BYTE Length );
281 virtual void AddBBoxData(
BYTE Frame,
BYTE Type,
BYTE Num,
int x,
int y,
int x2,
int y2,
const char* EventString );
282 virtual void AddBBoxDataAll(
BYTE Type,
BYTE Num,
int x,
int y,
int x2,
int y2,
const char* EventString );
297 virtual void SetLoopTime(
int time) { m_LoopTime = time; SetLoopEnable(
true); }
300 virtual void SetLoopReset(
void) {
if (GetLoopTime() > 1) SetLoopEnable(
true); m_LoopCount = 0; }
304 virtual void SetLoop(
bool loop) { m_Loop = loop; }
305 virtual bool IsLoop()
const {
return m_Loop; }
315 virtual void saveCache(
void);
371 void DrawCross(
void );
374 bool VFile_ReadScript(
const char* Name,
bool hflip =
true );
375 void VFile_CheckScript(
const char* Name,
const irr::core::stringc& str_code,
bool hflip =
true );
382 #pragma warning( pop ) 385 #endif // !defined(AFX_CDXMOTION_H__B1AFC48A_B370_4EBC_B815_8F3A2EB0DE28__INCLUDED_) virtual long GetPosY(void) const
virtual const irr::core::array< MotionInfo * > & GetList(void) const
void * ActorInfo
game actor info
virtual void SetBltType(WORD BltType)
virtual void SetWorldPos(const POINT &wpos)
virtual bool GetBBoxActive(void) const
POINT CenterPos
center position of sprite
virtual void SetWorldPos(int wx, int wy)
CDX_Color Color
box color, red = ATTACK, blue = CONTEXT
ARSA_API void ARSACALLCONV CDXMOTION_SET_CHANGE_FRAME(CB_CDXMOTION_CHANGED_FRAME *func)
call in update when readevent = true
void * SWO
static world object
GLfloat GLfloat GLfloat GLfloat h
virtual bool isOk() const
GLfixed GLfixed GLfixed y2
virtual void SetFrameEnd(bool End)
virtual void SetLoopTime(int time)
virtual long GetWorldPosX(void) const
void CB_CDXMOTION_CHANGED_FRAME(CDXMotion *motion, int old_frame, int current_frame)
virtual bool GetShadowEnable(void) const
virtual void SetLoopStart(int start)
GLfixed GLfixed GLint GLint order
#define CDX_Color
2015_7_21 add type for cdx port
irr::core::stringc Event
event in box
virtual void * getActor() const
virtual void * getUserData() const
Very simple string class with some useful features.
virtual irr::u32 GetFrameMax(void) const
virtual long GetWorldPosY(void) const
virtual irr::u32 GetOrder() const
virtual void SetLoop(bool loop)
unsigned int u32
32 bit unsigned variable.
virtual void SetLoopReset(void)
virtual bool GetBBoxShow(void) const
virtual irr::core::array< MotionInfo * > & GetList(void)
irr::core::array< irr::core::array< BBoxInfo > > BBox
event string
void * Motion
motion hitter use for ActorM collision update -> CUpdate()
virtual int GetFrame(void) const
GLint GLint GLint GLint GLint GLint y
virtual void SetOrder(irr::u32 order)
virtual void SetLoopEnd(int end)
virtual long GetPosX(void) const
virtual bool IsLoop() const
Class representing a 32 bit ARGB color.
virtual WORD GetAlpha(void) const
POINT CenterPos
sprite width & height
Self reallocating template array (like stl vector) with additional features.
virtual int GetLoopEnd(void) const
virtual POINT GetPos(void) const
GLint GLint GLint GLint GLint x
struct COLLISION * PCOLLISION
int Time
time to attack frame
virtual int GetLoopStart(void) const
virtual WORD GetBltType(void) const
POINT SpriteSize
cdxsprite object
irr::core::stringc getTypeStr() const
GLsizei const GLchar *const * path
GLubyte GLubyte GLubyte GLubyte w
virtual void setActor(void *actor)
virtual void SetLoopEnable(bool enable)
BYTE Type
type of box CONTEXT, ATTACK
virtual POINT GetWorldPos(void) const
virtual int GetLoopTime(void) const
irr::core::stringc Event
center position of sprite