This commit is contained in:
Daveo 2001-05-09 16:27:33 +00:00
parent a079d8d2b7
commit aa2b637e86
2 changed files with 13 additions and 11 deletions

View File

@ -493,6 +493,7 @@ CActorGfx::CActorGfx(sActorPool *ThisActor)
ShadowXOfs=DEF_SHADOW_OFS; ShadowXOfs=DEF_SHADOW_OFS;
ShadowYOfs=DEF_SHADOW_OFS; ShadowYOfs=DEF_SHADOW_OFS;
ShadowFlag=false; ShadowFlag=false;
OtPos=OTPOS__ACTOR_POS;
} }
/*****************************************************************************/ /*****************************************************************************/
@ -511,8 +512,6 @@ u16 ThisFrame=ThisAnim->Anim[Frame];
} }
/*****************************************************************************/ /*****************************************************************************/
int ActorOT=OTPOS__ACTOR_POS;
POLY_FT4 *CActorGfx::Render(DVECTOR &Pos,int Anim,int Frame,bool XFlip,bool YFlip) POLY_FT4 *CActorGfx::Render(DVECTOR &Pos,int Anim,int Frame,bool XFlip,bool YFlip)
{ {
@ -581,7 +580,7 @@ POLY_FT4 *Ft4;
setRGB0(Ft4,128,128,128); setRGB0(Ft4,128,128,128);
Ft4->tpage=ThisNode->TPage; Ft4->tpage=ThisNode->TPage;
Ft4->clut=PoolEntry->ActorGfx->Clut; Ft4->clut=PoolEntry->ActorGfx->Clut;
addPrim(OtPtr+ActorOT,Ft4); addPrim(OtPtr+OtPos,Ft4);
if (ShadowFlag) if (ShadowFlag)
{ {
@ -593,7 +592,7 @@ POLY_FT4 *Ft4;
sFt4->y1+=ShadowYOfs; sFt4->y1+=ShadowYOfs;
setSemiTrans(sFt4,1); setSemiTrans(sFt4,1);
setRGB0(sFt4,0,0,0); setRGB0(sFt4,0,0,0);
addPrim(OtPtr+ActorOT,sFt4); addPrim(OtPtr+OtPos,sFt4);
} }
// Set BBox // Set BBox
int HalfW=CurrentFrame->W>>1; int HalfW=CurrentFrame->W>>1;
@ -755,8 +754,8 @@ void CModelGfx::SetModel(int Type)
/*****************************************************************************/ /*****************************************************************************/
int PXOfs=-16; int PXOfs=-16;
int PYOfs=-8; int PYOfs=-8;
VECTOR _Flip={0,0,0};
void CModelGfx::Render(DVECTOR &Pos,SVECTOR *Angle,VECTOR *Scale,VECTOR *Flip) void CModelGfx::Render(DVECTOR &Pos,SVECTOR *Angle,VECTOR *Scale)
{ {
#define BLOCK_MULT 16 #define BLOCK_MULT 16
u8 *PrimPtr=GetPrimPtr(); u8 *PrimPtr=GetPrimPtr();
@ -771,15 +770,16 @@ int TriCount=Model->TriCount;
sTri *TList=&ModelTriList[Model->TriStart]; sTri *TList=&ModelTriList[Model->TriStart];
MATRIX Mtx; MATRIX Mtx;
if (Flip) Scale=&_Flip;
SetIdentNoTrans(&Mtx,Flip); if (Scale)
SetIdentNoTrans(&Mtx,Scale);
else else
SetIdentNoTrans(&Mtx); SetIdentNoTrans(&Mtx);
if (Scale || Angle) if (Angle)
{ {
if (Angle) RotMatrix(Angle,&Mtx); if (Angle) RotMatrix(Angle,&Mtx);
if (Scale) ScaleMatrix(&Mtx,Scale); // if (Scale) ScaleMatrix(&Mtx,Scale);
} }
MapXY.vx=Pos.vx>>4; MapXY.vx=Pos.vx>>4;

View File

@ -153,6 +153,7 @@ virtual ~CActorGfx();
void SetShadow(bool f) {ShadowFlag=f;} void SetShadow(bool f) {ShadowFlag=f;}
void SetShadowOfs(int X,int Y) {ShadowXOfs=X; ShadowYOfs=Y;} void SetShadowOfs(int X,int Y) {ShadowXOfs=X; ShadowYOfs=Y;}
void SetOtPos(int Ot) {OtPos=Ot;}
protected: protected:
void SetUpFT4(POLY_FT4 *Ft4,sSpriteFrame *Frame,sPoolNode *Node,int X,int Y,bool XFlip,bool YFlip); void SetUpFT4(POLY_FT4 *Ft4,sSpriteFrame *Frame,sPoolNode *Node,int X,int Y,bool XFlip,bool YFlip);
@ -164,6 +165,7 @@ protected:
sBBox BBox; sBBox BBox;
bool ShadowFlag; bool ShadowFlag;
s16 ShadowXOfs,ShadowYOfs; s16 ShadowXOfs,ShadowYOfs;
u32 OtPos;
}; };
/*****************************************************************************/ /*****************************************************************************/
@ -178,7 +180,7 @@ virtual ~CModelGfx(){};
static void SetData(sModel *Table,sTri *TList,sQuad *QList,sVtx *VList); static void SetData(sModel *Table,sTri *TList,sQuad *QList,sVtx *VList);
void SetModel(int Type); void SetModel(int Type);
void Render(DVECTOR &Pos,SVECTOR *Angle=0,VECTOR *Scale=0,VECTOR *Flip=0); void Render(DVECTOR &Pos,SVECTOR *Angle=0,VECTOR *Scale=0);
sBBox &GetBBox() {return(Model->BBox);} sBBox &GetBBox() {return(Model->BBox);}
protected: protected: