File: tileimpl-n2x1.cpp

package info (click to toggle)
libretro-snes9x 1.63%2Bdfsg-1
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid, trixie
  • size: 8,972 kB
  • sloc: cpp: 86,293; ansic: 6,630; sh: 3,237; makefile: 637
file content (44 lines) | stat: -rw-r--r-- 1,883 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*****************************************************************************\
     Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
                This file is licensed under the Snes9x License.
   For further information, consult the LICENSE file in the root directory.
\*****************************************************************************/

#define _TILEIMPL_CPP_
#include "tileimpl.h"

namespace TileImpl {

	template<class MATH, class BPSTART>
	void Normal2x1Base<MATH, BPSTART>::Draw(int N, int M, uint32 Offset, uint32 OffsetInLine, uint8 Pix, uint8 Z1, uint8 Z2)
	{
		(void) OffsetInLine;
		if (Z1 > GFX.DB[Offset + 2 * N] && (M))
		{
			GFX.S[Offset + 2 * N] = GFX.S[Offset + 2 * N + 1] = MATH::Calc(GFX.ScreenColors[Pix], GFX.SubScreen[Offset + 2 * N], GFX.SubZBuffer[Offset + 2 * N]);
			GFX.DB[Offset + 2 * N] = GFX.DB[Offset + 2 * N + 1] = Z2;
		}
	}


	// normal double width
	template struct Renderers<DrawTile16, Normal2x1>;
	template struct Renderers<DrawClippedTile16, Normal2x1>;
	template struct Renderers<DrawMosaicPixel16, Normal2x1>;
	template struct Renderers<DrawBackdrop16, Normal2x1>;
	template struct Renderers<DrawMode7MosaicBG1, Normal2x1>;
	template struct Renderers<DrawMode7BG1, Normal2x1>;
	template struct Renderers<DrawMode7MosaicBG2, Normal2x1>;
	template struct Renderers<DrawMode7BG2, Normal2x1>;

	// normal double width interlace
	template struct Renderers<DrawTile16, Interlace>;
	template struct Renderers<DrawClippedTile16, Interlace>;
	template struct Renderers<DrawMosaicPixel16, Interlace>;
	//template struct Renderers<DrawBackdrop16, Normal2x1>;
	//template struct Renderers<DrawMode7MosaicBG1, Normal2x1>;
	//template struct Renderers<DrawMode7BG1, Normal2x1>;
	//template struct Renderers<DrawMode7MosaicBG2, Normal2x1>;
	//template struct Renderers<DrawMode7BG2, Normal2x1>;

} // namespace TileImpl