This commit is contained in:
Paul 2001-06-08 16:13:22 +00:00
parent 842cf6a84e
commit 18d403eb75
2 changed files with 28 additions and 5 deletions

View File

@ -18,10 +18,6 @@
#include "frontend\scrollbg.h"
//#ifndef __UTILS_HEADER__
//#include "utils\utils.h"
//#endif
#ifndef __GFX_SPRBANK_H__
#include "gfx\sprbank.h"
#endif
@ -70,6 +66,8 @@ void CScrollyBackground::init()
setSpeedScale(DEFAULT_SPEED_SCALE);
setOt(DEFAULT_OT);
setFrame(FRM__BG1);
setTheDrawMode(DRAWMODE_NORMAL);
setColour(128,128,128);
}
@ -93,10 +91,23 @@ void CScrollyBackground::shutdown()
---------------------------------------------------------------------- */
void CScrollyBackground::render()
{
int smode;
POLY_FT4 *ft4;
sFrameHdr *fh;
int x,y,w,h;
switch(m_drawMode)
{
default:
case DRAWMODE_NORMAL:
smode=0;
break;
case DRAWMODE_ADDITIVE:
smode=1;
break;
}
fh=m_sprites->getFrameHeader(m_frame);
w=fh->W;
h=fh->H;
@ -107,7 +118,10 @@ void CScrollyBackground::render()
do
{
ft4=m_sprites->printFT4(fh,x,y,0,0,m_ot);
setShadeTex(ft4,0);
setSemiTrans(ft4,true);
ft4->tpage|=(smode<<5);
setRGB0(ft4,m_r,m_g,m_b);
x+=w;
}
while(x<512);

View File

@ -37,6 +37,12 @@
class CScrollyBackground
{
public:
typedef enum
{
DRAWMODE_NORMAL,
DRAWMODE_ADDITIVE,
}DRAWMODE;
void init();
void shutdown();
void render();
@ -46,7 +52,8 @@ public:
void setSpeedScale(int _speedScale) {m_speedScale=_speedScale;}
void setOt(int _ot) {m_ot=_ot;}
void setFrame(int _frame) {m_frame=_frame;}
void setTheDrawMode(DRAWMODE _drawMode) {m_drawMode=_drawMode;}
void setColour(u8 _r,u8 _g,u8 _b) {m_r=_r;m_g=_g;m_b=_b;}
private:
enum
@ -63,6 +70,8 @@ private:
int m_speedScale;
int m_ot;
int m_frame;
DRAWMODE m_drawMode;
u8 m_r,m_g,m_b;
};