From dc1a196981566cc3a4841546cc6d4a67f96f379f Mon Sep 17 00:00:00 2001 From: Daveo Date: Mon, 2 Apr 2001 18:25:09 +0000 Subject: [PATCH] --- source/gfx/actor.cpp | 61 ++++++++++++++++++---------------- source/gfx/actor.h | 4 +++ tools/Data/bin/MkActor.exe | Bin 86016 -> 86016 bytes tools/Data/include/dstructs.h | 15 ++------- 4 files changed, 38 insertions(+), 42 deletions(-) diff --git a/source/gfx/actor.cpp b/source/gfx/actor.cpp index 4f44a5e80..31e564d6b 100644 --- a/source/gfx/actor.cpp +++ b/source/gfx/actor.cpp @@ -14,6 +14,7 @@ /*****************************************************************************/ CActorGfx *CActorPool::ActorList[CActorPool::MAX_ACTORS]; +u8 CActorPool::UnpackBuffer[CActorPool::MAX_ACTOR_SIZE]; /*****************************************************************************/ /*****************************************************************************/ @@ -77,26 +78,45 @@ CActorGfx::~CActorGfx() MemFree(SpriteBank); } +/*****************************************************************************/ +sSpriteFrame *CActorGfx::GetFrame(int Anim,int Frame) +{ +sSpriteAnim *ThisAnim=SpriteBank->AnimList+Anim; +u16 ThisFrame=ThisAnim->Anim[Frame]; + + return(SpriteBank->FrameList+ThisFrame); +} + +/*****************************************************************************/ +int CActorGfx::getFrameWidth(int Anim,int Frame) +{ +sSpriteFrame *ThisFrame=GetFrame(Anim,Frame); + return(ThisFrame->W); +} + +/*****************************************************************************/ +int CActorGfx::getFrameHeight(int Anim,int Frame) +{ +sSpriteFrame *ThisFrame=GetFrame(Anim,Frame); + return(ThisFrame->H); +} + /*****************************************************************************/ POLY_FT4 *CActorGfx::Render(DVECTOR &Pos,int Anim,int Frame,bool XFlip,bool YFlip,bool Shadow) { -sSpriteAnim &ThisAnim=SpriteBank->AnimList[Anim]; -u16 FrameNo=ThisAnim.Anim[Frame]; -sSpriteFrame &ThisFrame=SpriteBank->FrameList[FrameNo]; -u8 Buffer[64*64]; +sSpriteFrame *FrameGfx=GetFrame(Anim,Frame); - PAK_doUnpak(Buffer,ThisFrame.PAKSpr); - + PAK_doUnpak(CActorPool::UnpackBuffer,FrameGfx->PAKSpr); // Gfx RECT Rect; Rect.x=TexX; Rect.y=TexY; - Rect.w=ThisFrame.W/4; - Rect.h=ThisFrame.H; - LoadImage( &Rect, (u32*)Buffer); + Rect.w=FrameGfx->W/4; + Rect.h=FrameGfx->H; + LoadImage( &Rect, (u32*)CActorPool::UnpackBuffer); POLY_FT4 *Ft4=GetPrimFT4(); - SetUpFT4(Ft4,&ThisFrame,Pos.vx,Pos.vy,XFlip,YFlip); + SetUpFT4(Ft4,FrameGfx,Pos.vx,Pos.vy,XFlip,YFlip); setRGB0(Ft4,128,128,128); setTPage(Ft4,0,0,TexX,TexY); setClut(Ft4, ClutX, ClutY); @@ -167,24 +187,6 @@ int H=ThisFrame->H; void CActorGfx::Dump() { } -/*****************************************************************************/ -int CActorGfx::getFrameWidth(int Anim,int Frame) -{ -sSpriteAnim &ThisAnim=SpriteBank->AnimList[Anim]; -u16 FrameNo=ThisAnim.Anim[Frame]; -sSpriteFrame &ThisFrame=SpriteBank->FrameList[FrameNo]; - return(ThisFrame.W); -} - -/*****************************************************************************/ -int CActorGfx::getFrameHeight(int Anim,int Frame) -{ -sSpriteAnim &ThisAnim=SpriteBank->AnimList[Anim]; -u16 FrameNo=ThisAnim.Anim[Frame]; -sSpriteFrame &ThisFrame=SpriteBank->FrameList[FrameNo]; - return(ThisFrame.H); -} - /*****************************************************************************/ /*****************************************************************************/ @@ -220,11 +222,13 @@ int CActorPool::FindFreeIdx() /*****************************************************************************/ /*** Load ********************************************************************/ /*****************************************************************************/ +int ActorNo=0; CActorGfx *CActorPool::GetActor(FileEquate Filename) { CActorGfx *NewActor; int Idx; + Filename=(FileEquate)(ACTORS_SPONGEBOB_SBK+ActorNo); // Already Loaded? Idx=FindIdx(Filename); if (Idx!=-1) return(ActorList[Idx]); @@ -254,4 +258,3 @@ int Idx; ActorList[Idx]=0; delete ThisActor; } - diff --git a/source/gfx/actor.h b/source/gfx/actor.h index 0fd9a03e4..5cf0b4a2e 100644 --- a/source/gfx/actor.h +++ b/source/gfx/actor.h @@ -30,6 +30,7 @@ virtual ~CActorGfx(); FileEquate GetFilename() {return(Filename);} private: void SetUpFT4(POLY_FT4 *Ft4,sSpriteFrame *ThisFrame,int X,int Y,bool XFlip,bool YFlip); + sSpriteFrame *GetFrame(int Anim,int Frame); FileEquate Filename; sSpriteAnimBank *SpriteBank; @@ -45,6 +46,7 @@ public: enum { MAX_ACTORS=8, + MAX_ACTOR_SIZE=128*128, }; static void Init(); @@ -53,6 +55,8 @@ static void AddActor(FileEquate Filename) {GetActor(Filename);} static CActorGfx *GetActor(FileEquate Filename); static void DumpActor(FileEquate Filename); +static u8 UnpackBuffer[MAX_ACTOR_SIZE]; + private: static int FindIdx(FileEquate Filename); static int FindFreeIdx(); diff --git a/tools/Data/bin/MkActor.exe b/tools/Data/bin/MkActor.exe index 9644d6ba725478d0539e2256b171d3ff8b304298..85c0941b695d5e06f8c6c76ac064008a3519756f 100644 GIT binary patch delta 20288 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 fh-}?{+}lRHGjt>yq^Fqc