Path: blob/master/libsnes/bsnes/snes/alt/ppu-performance/sprite/sprite.hpp
2 views
class Sprite {1bool priority0_enable;2bool priority1_enable;3bool priority2_enable;4bool priority3_enable;56struct Regs {7unsigned priority0;8unsigned priority1;9unsigned priority2;10unsigned priority3;1112unsigned base_size;13unsigned nameselect;14unsigned tiledata_addr;15unsigned first_sprite;1617bool main_enable;18bool sub_enable;1920bool interlace;2122bool time_over;23bool range_over;24} regs;2526struct List {27unsigned width;28unsigned height;29unsigned x;30unsigned y;31unsigned character;32bool use_nameselect;33bool vflip;34bool hflip;35unsigned palette;36unsigned priority;37bool size;38} list[128];39bool list_valid;4041uint8 itemlist[32];42struct TileList {43unsigned x;44unsigned y;45unsigned priority;46unsigned palette;47unsigned tile;48bool hflip;49} tilelist[34];5051struct Output {52uint8 palette[256];53uint8 priority[256];54} output;5556LayerWindow window;5758void frame();59void update_list(unsigned addr, uint8 data);60void address_reset();61void set_first();62alwaysinline bool on_scanline(unsigned sprite);63void render();6465void serialize(serializer&);66Sprite(PPU &self);6768PPU &self;69friend class PPU;70};717273