1 /*****************************************************************************\ 2 Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. 3 This file is licensed under the Snes9x License. 4 For further information, consult the LICENSE file in the root directory. 5 \*****************************************************************************/ 6 7 #define _TILEIMPL_CPP_ 8 #include "tileimpl.h" 9 10 namespace TileImpl { 11 12 template<class MATH, class BPSTART> Draw(int N,int M,uint32 Offset,uint32 OffsetInLine,uint8 Pix,uint8 Z1,uint8 Z2)13 void Normal1x1Base<MATH, BPSTART>::Draw(int N, int M, uint32 Offset, uint32 OffsetInLine, uint8 Pix, uint8 Z1, uint8 Z2) 14 { 15 (void) OffsetInLine; 16 if (Z1 > GFX.DB[Offset + N] && (M)) 17 { 18 GFX.S[Offset + N] = MATH::Calc(GFX.ScreenColors[Pix], GFX.SubScreen[Offset + N], GFX.SubZBuffer[Offset + N]); 19 GFX.DB[Offset + N] = Z2; 20 } 21 } 22 23 24 // normal width 25 template struct Renderers<DrawTile16, Normal1x1>; 26 template struct Renderers<DrawClippedTile16, Normal1x1>; 27 template struct Renderers<DrawMosaicPixel16, Normal1x1>; 28 template struct Renderers<DrawBackdrop16, Normal1x1>; 29 template struct Renderers<DrawMode7MosaicBG1, Normal1x1>; 30 template struct Renderers<DrawMode7BG1, Normal1x1>; 31 template struct Renderers<DrawMode7MosaicBG2, Normal1x1>; 32 template struct Renderers<DrawMode7BG2, Normal1x1>; 33 34 } // namespace TileImpl 35