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

View file

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