8e0816807f
A new condition named "spriteFrameRange" is added. It works like frameRange except it follows frame counters assigned to each sprite. Frame counter picks up the nearest frame counter within 6x6 pixels from the last frame and resets if graphics, palette, bg priority or orientation has changed. The condition can by used by sprite tiles only. For example: <condition>myCondition,spriteFrameRange,301,60 [myCondition]<tile>0,1001,FF0F3600,8,0,1,N
29 lines
No EOL
496 B
C++
29 lines
No EOL
496 B
C++
#pragma once
|
|
#include "stdafx.h"
|
|
#include "PPU.h"
|
|
#include "HdData.h"
|
|
|
|
struct HdScreenInfo;
|
|
struct HdPackData;
|
|
class ControlManager;
|
|
class Console;
|
|
|
|
class HdPpu : public PPU
|
|
{
|
|
private:
|
|
HdScreenInfo *_screenInfo[2];
|
|
HdScreenInfo *_info;
|
|
uint32_t _version;
|
|
HdSpriteFrameRangeInfo _spriteFrameRanges[128];
|
|
|
|
protected:
|
|
HdPackData *_hdData = nullptr;
|
|
|
|
void DrawPixel() override;
|
|
|
|
public:
|
|
HdPpu(shared_ptr<Console> console, HdPackData* hdData);
|
|
virtual ~HdPpu();
|
|
|
|
void SendFrame() override;
|
|
}; |