2015-08-15 10:40:27 -04:00
|
|
|
#pragma once
|
2017-06-28 19:00:08 -04:00
|
|
|
#include "stdafx.h"
|
|
|
|
#include "HdData.h"
|
2015-08-15 10:40:27 -04:00
|
|
|
|
2017-06-28 19:00:08 -04:00
|
|
|
class HdNesPack
|
2015-08-15 10:40:27 -04:00
|
|
|
{
|
|
|
|
private:
|
2017-06-28 19:00:08 -04:00
|
|
|
int32_t _backgroundIndex = -1;
|
2015-08-15 10:40:27 -04:00
|
|
|
|
2017-06-28 19:00:08 -04:00
|
|
|
void BlendColors(uint8_t output[4], uint8_t input[4]);
|
|
|
|
uint32_t AdjustBrightness(uint8_t input[4], uint16_t brightness);
|
|
|
|
void DrawTile(HdPpuTileInfo &tileInfo, HdPackTileInfo &hdPackTileInfo, uint32_t* outputBuffer, uint32_t screenWidth, bool drawBackground);
|
2015-08-15 10:40:27 -04:00
|
|
|
|
2017-06-28 19:00:08 -04:00
|
|
|
bool IsNextToSprite(HdPpuPixelInfo *screenTiles, uint32_t x, uint32_t y);
|
|
|
|
uint32_t GetCustomBackgroundPixel(int x, int y, int offsetX, int offsetY);
|
2015-08-15 10:40:27 -04:00
|
|
|
|
|
|
|
public:
|
2017-06-28 19:00:08 -04:00
|
|
|
HdNesPack();
|
|
|
|
~HdNesPack();
|
2015-08-15 10:40:27 -04:00
|
|
|
|
2017-06-28 19:00:08 -04:00
|
|
|
uint32_t GetScale();
|
2015-08-15 10:40:27 -04:00
|
|
|
|
2017-06-28 19:00:08 -04:00
|
|
|
void OnBeforeApplyFilter(HdPpuPixelInfo *screenTiles);
|
|
|
|
HdPackTileInfo* GetMatchingTile(HdPpuPixelInfo *screenTiles, uint32_t x, uint32_t y, HdTileKey& key);
|
|
|
|
void GetPixels(HdPpuPixelInfo *screenTiles, uint32_t x, uint32_t y, HdPpuPixelInfo &pixelInfo, uint32_t sdPixel, uint32_t *outputBuffer, uint32_t screenWidth);
|
2015-08-15 10:40:27 -04:00
|
|
|
};
|