diff --git a/source/gfx/actor.cpp b/source/gfx/actor.cpp index 30d0669de..b30b8678c 100644 --- a/source/gfx/actor.cpp +++ b/source/gfx/actor.cpp @@ -9,6 +9,7 @@ #include "utils\pak.h" #include "gfx\prim.h" #include "gfx\actor.h" +#include "gfx\otpos.h" #include @@ -466,7 +467,7 @@ u16 ThisFrame=ThisAnim->Anim[Frame]; } /*****************************************************************************/ -int ActorOT=10; +int ActorOT=OTPOS__ACTOR_POS; POLY_FT4 *CActorGfx::Render(DVECTOR &Pos,int Anim,int Frame,bool XFlip,bool YFlip) { @@ -528,7 +529,7 @@ POLY_FT4 *Ft4; setRGB0(Ft4,128,128,128); Ft4->tpage=ThisNode->TPage; Ft4->clut=PoolEntry->ActorGfx->Clut; - AddPrimToList(Ft4,ActorOT); + addPrim(OtPtr+ActorOT,Ft4); if (ShadowFlag) { @@ -540,7 +541,7 @@ POLY_FT4 *Ft4; sFt4->y1+=ShadowYOfs; setSemiTrans(sFt4,1); setRGB0(sFt4,0,0,0); - AddPrimToList(sFt4,ActorOT); + addPrim(OtPtr+ActorOT,sFt4); } // Set BBox int HalfW=CurrentFrame->W>>1; @@ -753,7 +754,8 @@ int ShiftY=(Pos.vy & 15); *(u32*)&TPrimPtr->u0=T0; // Set UV0 *(u32*)&TPrimPtr->u1=T1; // Set UV1 *(u16*)&TPrimPtr->u2=T2; // Set UV2 - if (TList->OTOfs>MAX_OT-1) TList->OTOfs=MAX_OT-1; + + ThisOT=OtPtr+TList->OTOfs; TList++; diff --git a/source/level/layertile3d.cpp b/source/level/layertile3d.cpp index 0a0f28840..efc3d6c13 100644 --- a/source/level/layertile3d.cpp +++ b/source/level/layertile3d.cpp @@ -113,16 +113,8 @@ sVtx *P0,*P1,*P2; u32 T0,T1,T2; s32 ClipZ; sOT *ThisOT; -//MATRIX &CamMtx=CGameScene::GetCamMtx(); VECTOR BlkPos; -//extern int RenderZ; -// CamMtx.t[2]=RenderZ; -// SetTransMatrix(&CamMtx); - -// SetIdentNoTrans(&CamMtx); -// SetRotMatrix(&CamMtx); - // Setup Trans Matrix BlkPos.vx=XOfs-(ShiftX); BlkPos.vy=YOfs-(ShiftY); @@ -154,9 +146,9 @@ VECTOR BlkPos; *(u32*)&TPrimPtr->u0=T0; // Set UV0 *(u32*)&TPrimPtr->u1=T1; // Set UV1 *(u16*)&TPrimPtr->u2=T2; // Set UV2 - if (TList->OTOfs>MAX_OT-1) TList->OTOfs=MAX_OT-1; - ThisOT=OtPtr+TList->OTOfs; + ASSERT(TList->OTOfsOTOfs; TList++; gte_nclip_b(); gte_stsxy3_ft3(TPrimPtr);