Files
bsnes/sfc/alt/ppu-performance/sprite/sprite.hpp
Tim Allen 78d49d3873 Update to v095r10 release.
byuu says:

Changelog:

- int_t<bits> replaced with Integer<bits>
- uint_t<bits> replaced with Natural<bits>
- fixed "Synchronize Audio" menu option that broke recently
- all of sfc/performance ported to "auto function() -> return;" syntax

With this WIP, all of higan is finally ported over to the new function
declaration syntax. Thank the gods.

There's still going to be periodic disruption for diffs from porting
over signed->int, unsigned->uint, and whatever we come up with for the
new Natural<> and Integer<> classes. But the worst of it's behind us
now.
2015-12-07 08:11:41 +11:00

74 lines
1.2 KiB
C++

class Sprite {
Sprite(PPU& self);
auto frame() -> void;
auto update_list(uint addr, uint8 data) -> void;
auto address_reset() -> void;
auto set_first() -> void;
alwaysinline auto on_scanline(uint sprite) -> bool;
auto render() -> void;
auto serialize(serializer&) -> void;
PPU& self;
bool priority0_enable;
bool priority1_enable;
bool priority2_enable;
bool priority3_enable;
struct Regs {
uint priority0;
uint priority1;
uint priority2;
uint priority3;
uint base_size;
uint nameselect;
uint tiledata_addr;
uint first_sprite;
bool main_enable;
bool sub_enable;
bool interlace;
bool time_over;
bool range_over;
} regs;
struct List {
uint width;
uint height;
uint x;
uint y;
uint character;
bool use_nameselect;
bool vflip;
bool hflip;
uint palette;
uint priority;
bool size;
} list[128];
bool list_valid;
uint8 itemlist[32];
struct TileList {
uint x;
uint y;
uint priority;
uint palette;
uint tile;
bool hflip;
} tilelist[34];
struct Output {
uint8 palette[256];
uint8 priority[256];
} output;
LayerWindow window;
friend class PPU;
};