begin work on mosaic
OBJ Y mosaic emulated correctly, there's atleast that.
This commit is contained in:
parent
b8f55623c1
commit
cb90475b60
591
src/GPU2D.cpp
591
src/GPU2D.cpp
File diff suppressed because it is too large
Load Diff
16
src/GPU2D.h
16
src/GPU2D.h
|
@ -111,7 +111,11 @@ private:
|
|||
u8 BGMosaicSize[2];
|
||||
u8 OBJMosaicSize[2];
|
||||
u8 BGMosaicY, BGMosaicYMax;
|
||||
u8 OBJMosaicY, OBJMosaicYMax;
|
||||
u8 OBJMosaicYCount, OBJMosaicY, OBJMosaicYMax;
|
||||
|
||||
u8 MosaicTable[16][256];
|
||||
u8* CurBGXMosaicTable;
|
||||
u8* CurOBJXMosaicTable;
|
||||
|
||||
u16 BlendCnt;
|
||||
u16 BlendAlpha;
|
||||
|
@ -133,6 +137,8 @@ private:
|
|||
u32 ColorBrightnessDown(u32 val, u32 factor);
|
||||
u32 ColorComposite(int i, u32 val1, u32 val2);
|
||||
|
||||
void UpdateMosaicCounters(u32 line);
|
||||
|
||||
template<u32 bgmode> void DrawScanlineBGMode(u32 line);
|
||||
void DrawScanlineBGMode6(u32 line);
|
||||
void DrawScanlineBGMode7(u32 line);
|
||||
|
@ -143,10 +149,10 @@ private:
|
|||
void (*DrawPixel)(u32* dst, u16 color, u32 flag);
|
||||
|
||||
void DrawBG_3D();
|
||||
void DrawBG_Text(u32 line, u32 bgnum);
|
||||
void DrawBG_Affine(u32 line, u32 bgnum);
|
||||
void DrawBG_Extended(u32 line, u32 bgnum);
|
||||
void DrawBG_Large(u32 line);
|
||||
template<bool mosaic> void DrawBG_Text(u32 line, u32 bgnum);
|
||||
template<bool mosaic> void DrawBG_Affine(u32 line, u32 bgnum);
|
||||
template<bool mosaic> void DrawBG_Extended(u32 line, u32 bgnum);
|
||||
template<bool mosaic> void DrawBG_Large(u32 line);
|
||||
|
||||
void InterleaveSprites(u32 prio);
|
||||
template<bool window> void DrawSprite_Rotscale(u16* attrib, u16* rotparams, u32 boundwidth, u32 boundheight, u32 width, u32 height, s32 xpos, s32 ypos);
|
||||
|
|
Loading…
Reference in New Issue