This commit is contained in:
Daveo 2000-09-11 15:34:59 +00:00
parent c84c6e226f
commit 3037605b5a
6 changed files with 58 additions and 159 deletions

View File

@ -17,18 +17,24 @@
CAnimTex *AnimTexList=0;
/*****************************************************************************/
CAnimTex::CAnimTex()
{
NextTex=0;
}
// If this function changes then DumpThisTPage() will probly need to change too (PKG)
/*****************************************************************************/
CAnimTex::~CAnimTex()
{
if (TexData) MemFree(TexData);
}
/*****************************************************************************/
void CAnimTex::AddAnimTex(sFrameHdr *Frame,FileEquate Filename)
{
int TPageX,TPageY,X,Y,W,H;
CAnimTex *ThisTex=new ("CAnimTex::AddAnimTex") CAnimTex;
if(AnimTexList)
{
ThisTex->NextTex=AnimTexList;
}
AnimTexList=ThisTex;
X=(u8)Frame->U;
@ -36,7 +42,6 @@ CAnimTex *ThisTex=new ("CAnimTex::AddAnimTex") CAnimTex;
W=(u8)Frame->W;
H=(u8)Frame->H;
ThisTex->PixPerWord=0;
switch (((Frame->TPage)>>7)&0x003)
{
case 0:
@ -77,81 +82,33 @@ CAnimTex *ThisTex=new ("CAnimTex::AddAnimTex") CAnimTex;
}
/*****************************************************************************/
/*
void CAnimTex::GetTexData()
{
CAnimTex *ThisTex=AnimTexList;
while (ThisTex)
{
if (!ThisTex->TexData)
{
RECT Rect=ThisTex->Rect;
ThisTex->TexData=(u32*)MemAlloc((Rect.w*Rect.h)*sizeof(u16), "AnTx");
DrawSync(0);
StoreImage(&Rect,(u32*)ThisTex->TexData);
}
ThisTex=ThisTex->NextTex;
}
}
*/
/*****************************************************************************/
void CAnimTex::DumpThisTPage(FileEquate TexName)
{
CAnimTex *prevTex, *thisTex,*nextTex;
CAnimTex *PrevTex, *ThisTex, *NextTex;
prevTex=NULL;
thisTex=AnimTexList;
PrevTex=NULL;
ThisTex=AnimTexList;
while(thisTex)
while(ThisTex)
{
nextTex=thisTex->NextTex;
if(thisTex->TexName==TexName)
NextTex=ThisTex->NextTex;
if(ThisTex->TexName==TexName)
{
if(prevTex)
prevTex->NextTex=nextTex;
if(thisTex->TexData)
MemFree(thisTex->TexData);
if(thisTex==AnimTexList)
AnimTexList=nextTex;
delete thisTex;
if (PrevTex) PrevTex->NextTex=NextTex;
if (ThisTex==AnimTexList) AnimTexList=NextTex;
delete ThisTex;
}
else
{
prevTex=thisTex;
PrevTex=ThisTex;
}
thisTex=nextTex;
ThisTex=NextTex;
}
// CAnimTex::DumpAll();
}
/*****************************************************************************/
void CAnimTex::DumpAll()
{
ASSERT(!"DONT USE CAnimTex::DumpAll()");
}
/*
void CAnimTex::DumpAll()
{
CAnimTex *thisTex,*nextTex;
thisTex=AnimTexList;
while(thisTex)
{
nextTex=thisTex->NextTex;
if(thisTex->TexData)
MemFree(thisTex->TexData);
delete thisTex;
thisTex=nextTex;
}
AnimTexList=NULL;
}
*/
/*****************************************************************************/
void CAnimTex::AnimateTex()
@ -187,7 +144,6 @@ int Time = GameState::getTimeSinceLast();
ThisTex->Count+=(ThisTex->Speed * Time)>> 12;
ThisTex->Count%=(ThisTex->Rect.h<<2);
ThisTex=ThisTex->NextTex;
}
}

View File

@ -11,16 +11,13 @@
class CAnimTex
{
public:
CAnimTex()
{
NextTex=0;
}
CAnimTex();
~CAnimTex();
static void AddAnimTex(sFrameHdr *Frame,FileEquate Filename);
static void AnimateTex();
static void GetTexData();
//static void DumpThisTPage(int _tpage);
static void DumpThisTPage(FileEquate TexName);
static void DumpAll();
private:
CAnimTex *NextTex;
@ -32,26 +29,6 @@ private:
u8 TPage;
};
/*
typedef struct
{
u16 TPage;
u16 Clut;
s8 XOfs;
s8 YOfs;
s8 W;
s8 H;
u8 U;
u8 V;
u8 Rotated;
u8 Cycle;
} sFrameHdr;
*/
/*****************************************************************************/

View File

@ -54,18 +54,18 @@ s16 standardFontTab[]=
-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,
/* ! " # $ % & ' */ -1,FRM_PR_FONTINGAME_0037,FRM_PR_FONTINGAME_0038,-1,FRM_PR_FONTINGAME_0052,FRM_PR_FONTINGAME_0039,FRM_PR_FONTINGAME_0040,FRM_PR_FONTINGAME_0036,
/* ( ) * + , - . / */ FRM_PR_FONTINGAME_0042,FRM_PR_FONTINGAME_0043,FRM_PR_FONTINGAME_0041,-1,FRM_PR_FONTINGAME_0047,FRM_PR_FONTINGAME_0044,FRM_PR_FONTINGAME_0053,FRM_PR_FONTINGAME_0050,
/* 0 1 2 3 4 5 6 7 */ FRM_PR_FONTINGAME_0026,FRM_PR_FONTINGAME_0027,FRM_PR_FONTINGAME_0028,FRM_PR_FONTINGAME_0029,FRM_PR_FONTINGAME_0030,FRM_PR_FONTINGAME_0031,FRM_PR_FONTINGAME_0032,FRM_PR_FONTINGAME_0033,
/* 8 9 : ; < = > ? */ FRM_PR_FONTINGAME_0034,FRM_PR_FONTINGAME_0035,FRM_PR_FONTINGAME_0045,FRM_PR_FONTINGAME_0046,FRM_PR_FONTINGAME_0149,-1,FRM_PR_FONTINGAME_0150,FRM_PR_FONTINGAME_0048,
/* @ A B C D E F G */ -1,FRM_PR_FONTINGAME_0000,FRM_PR_FONTINGAME_0001,FRM_PR_FONTINGAME_0002,FRM_PR_FONTINGAME_0003,FRM_PR_FONTINGAME_0004,FRM_PR_FONTINGAME_0005,FRM_PR_FONTINGAME_0006,
/* H I J K L M N O */ FRM_PR_FONTINGAME_0007,FRM_PR_FONTINGAME_0008,FRM_PR_FONTINGAME_0009,FRM_PR_FONTINGAME_0010,FRM_PR_FONTINGAME_0011,FRM_PR_FONTINGAME_0012,FRM_PR_FONTINGAME_0013,FRM_PR_FONTINGAME_0014,
/* P Q R S T U V W */ FRM_PR_FONTINGAME_0015,FRM_PR_FONTINGAME_0016,FRM_PR_FONTINGAME_0017,FRM_PR_FONTINGAME_0018,FRM_PR_FONTINGAME_0019,FRM_PR_FONTINGAME_0020,FRM_PR_FONTINGAME_0021,FRM_PR_FONTINGAME_0022,
/* X Y Z [ \ ] ^ _ */ FRM_PR_FONTINGAME_0023,FRM_PR_FONTINGAME_0024,FRM_PR_FONTINGAME_0025,FRM_PR_FONTINGAME_0054,FRM_PR_FONTINGAME_0049,FRM_PR_FONTINGAME_0055,-1,FRM_PR_FONTINGAME_0151,
/* ` a b c d e f g */ -1,FRM_PR_FONTINGAME_0056,FRM_PR_FONTINGAME_0057,FRM_PR_FONTINGAME_0058,FRM_PR_FONTINGAME_0059,FRM_PR_FONTINGAME_0060,FRM_PR_FONTINGAME_0061,FRM_PR_FONTINGAME_0062,
/* h i j k l m n o */ FRM_PR_FONTINGAME_0063,FRM_PR_FONTINGAME_0064,FRM_PR_FONTINGAME_0065,FRM_PR_FONTINGAME_0066,FRM_PR_FONTINGAME_0067,FRM_PR_FONTINGAME_0068,FRM_PR_FONTINGAME_0069,FRM_PR_FONTINGAME_0070,
/* p q r s t u v w */ FRM_PR_FONTINGAME_0071,FRM_PR_FONTINGAME_0072,FRM_PR_FONTINGAME_0073,FRM_PR_FONTINGAME_0074,FRM_PR_FONTINGAME_0075,FRM_PR_FONTINGAME_0076,FRM_PR_FONTINGAME_0077,FRM_PR_FONTINGAME_0078,
/* x y z { | } ~ . */ FRM_PR_FONTINGAME_0079,FRM_PR_FONTINGAME_0080,FRM_PR_FONTINGAME_0081,-1,-1,-1,-1,-1,
/* ! " # $ % & ' */ -1,FRM_FONT_0037,FRM_FONT_0038,-1,FRM_FONT_0052,FRM_FONT_0039,FRM_FONT_0040,FRM_FONT_0036,
/* ( ) * + , - . / */ FRM_FONT_0042,FRM_FONT_0043,FRM_FONT_0041,-1,FRM_FONT_0047,FRM_FONT_0044,FRM_FONT_0053,FRM_FONT_0050,
/* 0 1 2 3 4 5 6 7 */ FRM_FONT_0026,FRM_FONT_0027,FRM_FONT_0028,FRM_FONT_0029,FRM_FONT_0030,FRM_FONT_0031,FRM_FONT_0032,FRM_FONT_0033,
/* 8 9 : ; < = > ? */ FRM_FONT_0034,FRM_FONT_0035,FRM_FONT_0045,FRM_FONT_0046,FRM_FONT_0149,-1,FRM_FONT_0150,FRM_FONT_0048,
/* @ A B C D E F G */ -1,FRM_FONT_0000,FRM_FONT_0001,FRM_FONT_0002,FRM_FONT_0003,FRM_FONT_0004,FRM_FONT_0005,FRM_FONT_0006,
/* H I J K L M N O */ FRM_FONT_0007,FRM_FONT_0008,FRM_FONT_0009,FRM_FONT_0010,FRM_FONT_0011,FRM_FONT_0012,FRM_FONT_0013,FRM_FONT_0014,
/* P Q R S T U V W */ FRM_FONT_0015,FRM_FONT_0016,FRM_FONT_0017,FRM_FONT_0018,FRM_FONT_0019,FRM_FONT_0020,FRM_FONT_0021,FRM_FONT_0022,
/* X Y Z [ \ ] ^ _ */ FRM_FONT_0023,FRM_FONT_0024,FRM_FONT_0025,FRM_FONT_0054,FRM_FONT_0049,FRM_FONT_0055,-1,FRM_FONT_0151,
/* ` a b c d e f g */ -1,FRM_FONT_0056,FRM_FONT_0057,FRM_FONT_0058,FRM_FONT_0059,FRM_FONT_0060,FRM_FONT_0061,FRM_FONT_0062,
/* h i j k l m n o */ FRM_FONT_0063,FRM_FONT_0064,FRM_FONT_0065,FRM_FONT_0066,FRM_FONT_0067,FRM_FONT_0068,FRM_FONT_0069,FRM_FONT_0070,
/* p q r s t u v w */ FRM_FONT_0071,FRM_FONT_0072,FRM_FONT_0073,FRM_FONT_0074,FRM_FONT_0075,FRM_FONT_0076,FRM_FONT_0077,FRM_FONT_0078,
/* x y z { | } ~ . */ FRM_FONT_0079,FRM_FONT_0080,FRM_FONT_0081,-1,-1,-1,-1,-1,
/* <20> <20> <20> <20> <20> <20> <20> <20> */ -1,-1,-1,-1,-1,-1,-1,-1,
/* <20> <20> <20> <20> <20> <20> <20> <20> */ -1,-1,-1,-1,-1,-1,-1,-1,
/* <20> <20> <20> <20> <20> <20> <20> <20> */ -1,-1,-1,-1,-1,-1,-1,-1,

View File

@ -12,7 +12,7 @@
#include "gfx\tpage.h"
#endif
#define MAX_OT (2048)
#define MAX_OT (1024)
#define MAX_PRIMS (1024)
#define USE_NTAGS 1
@ -229,10 +229,7 @@ typedef u32 sOT;
extern sOT *OtPtr;
extern u8 *CurrPrim,*EndPrim;
extern u8 *PrimListStart,*PrimListEnd;
extern int PrimFlipFlag;
/********************************************************************************************************/
const u32 PrimSXY_ClipCode = (256 << 16) | 512;
//extern int PrimFlipFlag;
/********************************************************************************************************/
void PrimInit();
@ -243,8 +240,6 @@ void PrimFullScreen(int Depth);
inline u8 *GetPrimPtr() {return(CurrPrim);}
inline void SetPrimPtr(u8 *Ptr) {CurrPrim=Ptr;}
void SetPrimCheck();
LINE_F2 *DrawLine(int _x0,int _y0,int _x1,int _y1,int _r,int _g,int _b,int _ot);
LINE_G2 *DrawGLine(int _x0,int _y0,int _x1,int _y1,int _r1,int _g1,int _b1,int _r2,int _g2,int _b2,int _ot);
@ -258,40 +253,11 @@ inline void AddPrimToList(void *Prim,u32 Depth)
}
/*-----------------------------------------------------------------------------------------------------*/
inline void GetFrameUV(sFrameHdr *Fr, u8 *U,u8 *V)
{
*U=Fr->U;
*V=Fr->V;
}
/*-----------------------------------------------------------------------------------------------------*/
inline void GetFrameUVWH(sFrameHdr *Fr,u8 *U,u8 *V,u8 *W,u8 *H)
{
*U=Fr->U;
*V=Fr->V;
*W=Fr->W;
*H=Fr->H;
}
/*-----------------------------------------------------------------------------------------------------*/
inline void GetFrameWH(sFrameHdr *Fr,u8 *W,u8 *H)
{
*W=Fr->W;
*H=Fr->H;
}
/*-----------------------------------------------------------------------------------------------------*/
inline int GetFrameClut(sFrameHdr *Fr)
{
return(Fr->Clut);
}
/*-----------------------------------------------------------------------------------------------------*/
inline int GetFrameTPage(sFrameHdr *Fr)
{
return(Fr->TPage);
}
inline void GetFrameUV(sFrameHdr *Fr, u8 *U,u8 *V) {*U=Fr->U;*V=Fr->V;}
inline void GetFrameUVWH(sFrameHdr *Fr,u8 *U,u8 *V,u8 *W,u8 *H) {*U=Fr->U; *V=Fr->V; *W=Fr->W; *H=Fr->H; }
inline void GetFrameWH(sFrameHdr *Fr,u8 *W,u8 *H) {*W=Fr->W; *H=Fr->H;}
inline int GetFrameClut(sFrameHdr *Fr) {return(Fr->Clut);}
inline int GetFrameTPage(sFrameHdr *Fr) {return(Fr->TPage);}
#endif

View File

@ -3,7 +3,7 @@
;****************************
include gtereg.h
include source\gfx\gpu.inc
opt at-
section .text

View File

@ -3,7 +3,7 @@
;*****************************
include gtereg.h
include source\gfx\gpu.inc
opt at+
section .text