mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-24 07:02:27 +01:00
byuu says: Changelog: - restructured the project and removed a whole bunch of old/dead directives from higan/GNUmakefile - huge amounts of work on hiro/cocoa (compiles but ~70% of the functionality is commented out) - fixed a masking error in my ARM CPU disassembler [Lioncash] - SFC: decided to change board cic=(411,413) back to board region=(ntsc,pal) ... the former was too obtuse If you rename Boolean (it's a problem with an include from ruby, not from hiro) and disable all the ruby drivers, you can compile an OS X binary, but obviously it's not going to do anything. It's a boring WIP, I just wanted to push out the project structure change now at the start of this WIP cycle.
56 lines
1.0 KiB
C++
56 lines
1.0 KiB
C++
struct Pixel {
|
|
bool enable;
|
|
uint2 priority;
|
|
uint15 color;
|
|
|
|
//objects only
|
|
bool translucent;
|
|
bool mosaic;
|
|
|
|
alwaysinline auto write(bool e) { enable = e; }
|
|
alwaysinline auto write(bool e, uint p, uint c) { enable = e; priority = p; color = c; }
|
|
alwaysinline auto write(bool e, uint p, uint c, bool t, bool m) { enable = e; priority = p; color = c; translucent = t; mosaic = m; }
|
|
} layer[6][240];
|
|
|
|
bool windowmask[3][240];
|
|
uint vmosaic[5];
|
|
uint hmosaic[5];
|
|
|
|
struct Object {
|
|
uint8 y;
|
|
uint1 affine;
|
|
uint1 affinesize;
|
|
uint2 mode;
|
|
uint1 mosaic;
|
|
uint1 colors; //0 = 16, 1 = 256
|
|
uint2 shape; //0 = square, 1 = horizontal, 2 = vertical
|
|
|
|
uint9 x;
|
|
uint5 affineparam;
|
|
uint1 hflip;
|
|
uint1 vflip;
|
|
uint2 size;
|
|
|
|
uint10 character;
|
|
uint2 priority;
|
|
uint4 palette;
|
|
|
|
//ancillary data
|
|
uint width;
|
|
uint height;
|
|
} object[128];
|
|
|
|
struct ObjectParam {
|
|
int16 pa;
|
|
int16 pb;
|
|
int16 pc;
|
|
int16 pd;
|
|
} objectparam[32];
|
|
|
|
struct Tile {
|
|
uint10 character;
|
|
uint1 hflip;
|
|
uint1 vflip;
|
|
uint4 palette;
|
|
};
|