//-------------------------------------------------------------------------- // File: Animotion.h // Author: Laurent Pontet (known as THE HPMAN) // Date: July 31, 1999 // Description: AniMotion Library header file. // Copyright (C) 1999 THE HPMAN //-------------------------------------------------------------------------- #ifndef __ANIMOTION_H__ #define __ANIMOTION_H__ #include "main.h" // ########## OPTIONS (You can modify these 3 lines only)############# #define TPageCalculate #define AM_MAX_MOVES 16 #define AM_MAX_FRAMES 20 //################################################################### #define TPage4Bit 0 #define TPage8Bit 1 #define TPage16Bit 2 #define AM_LOOP_STRAIGHT 1 #define AM_LOOP_BACK 2 #define AM_INCREASING 4 #define AM_DECREASING 8 #define AM_SUCCESS 0 #define AM_NO_SUCH_MOVE 1 typedef int BOOL; enum {FALSE=0,TRUE=1}; typedef struct {u_int Num; u_int XOffset; u_int YOffset; u_int Count; } AM_Frame; typedef struct {u_int ID; u_int NbFrames; u_int Mode; u_int Way; AM_Frame Frames[AM_MAX_FRAMES]; } AM_Move; typedef struct {GsSPRITE Sprite; int TPageMode; AM_Move *ActualMove; u_int ActualFrame; u_int Count; u_int UsedMoves; BOOL AutoCount; #ifdef TPageCalculate u_short InitialTPage; int DefaultTPageX; int DefaultTPageY; #endif AM_Move Move[AM_MAX_MOVES]; } AniMotion; void AMMove(AniMotion *,u_int,u_int); u_int AMSetMove(AniMotion *,u_int); u_int AMGetActualMove(AniMotion *); void AMDraw(AniMotion *); void AMNextFrame(AniMotion *); void AMSetFrameOnSprite(AniMotion *); void AMSetSize(AniMotion *,u_short,u_short); void AMSetLocation(AniMotion *,short,short); void AMInit(AniMotion *); void AMSetTexture(AniMotion *,GsIMAGE *); void AMSetAutoCount(AniMotion *,BOOL); void AMLoadAMB(AniMotion *,u_long *); #endif