2015-08-14 21:50:14 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "PPU.h"
|
Add sprite frame range condition
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
2021-04-15 19:54:01 +08:00
|
|
|
#include "HdData.h"
|
2015-08-14 21:50:14 -04:00
|
|
|
|
2018-07-02 14:49:19 -04:00
|
|
|
struct HdScreenInfo;
|
|
|
|
struct HdPackData;
|
2017-11-19 23:08:23 -05:00
|
|
|
class ControlManager;
|
2018-07-02 14:49:19 -04:00
|
|
|
class Console;
|
2017-11-19 23:08:23 -05:00
|
|
|
|
2015-08-14 21:50:14 -04:00
|
|
|
class HdPpu : public PPU
|
|
|
|
{
|
|
|
|
private:
|
2018-02-17 23:44:25 -05:00
|
|
|
HdScreenInfo *_screenInfo[2];
|
|
|
|
HdScreenInfo *_info;
|
2017-07-25 19:46:25 -04:00
|
|
|
uint32_t _version;
|
Add sprite frame range condition
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
2021-04-15 19:54:01 +08:00
|
|
|
HdSpriteFrameRangeInfo _spriteFrameRanges[128];
|
2015-08-14 21:50:14 -04:00
|
|
|
|
|
|
|
protected:
|
2018-09-13 20:58:35 -04:00
|
|
|
HdPackData *_hdData = nullptr;
|
|
|
|
|
2018-07-02 14:49:19 -04:00
|
|
|
void DrawPixel() override;
|
2015-08-14 21:50:14 -04:00
|
|
|
|
|
|
|
public:
|
2018-07-02 14:49:19 -04:00
|
|
|
HdPpu(shared_ptr<Console> console, HdPackData* hdData);
|
2018-09-13 20:58:35 -04:00
|
|
|
virtual ~HdPpu();
|
2018-02-17 23:44:25 -05:00
|
|
|
|
2018-07-02 14:49:19 -04:00
|
|
|
void SendFrame() override;
|
2015-08-14 21:50:14 -04:00
|
|
|
};
|