This commit is contained in:
parent
a079d8d2b7
commit
aa2b637e86
@ -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;
|
||||||
|
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user