tmc/include/screen.h

92 lines
1.7 KiB
C

#ifndef BG_H
#define BG_H
#include "global.h"
typedef struct {
u16 displayControl;
u8 filler2[0x2];
u16 unk4;
u16 unk6;
} LcdControls;
typedef struct {
u16 bg0Control;
u16 bg0xOffset;
u16 bg0yOffset;
u16 bg0Updated;
void* bg0Tilemap;
u16 bg1Control;
u16 bg1xOffset;
u16 bg1yOffset;
u16 bg1Updated;
void* bg1Tilemap;
} BgSettings;
typedef struct {
u16 bg2Control;
u16 bg2xOffset;
u16 bg2yOffset;
u16 bg2Updated;
void* bg2Tilemap;
u16 bg3Control;
s16 bg3xOffset;
s16 bg3yOffset;
u16 bg3Updated;
void* bg3Tilemap;
} BgAffSettings;
typedef struct {
u16 bg2dx;
u16 bg2dmx;
u16 bg2dy;
u16 bg2dmy;
u16 bg2xPointLeastSig;
u16 bg2xPointMostSig;
u16 bg2yPointLeastSig;
u16 bg2yPointMostSig;
u16 bg3dx;
u16 bg3dmx;
u16 bg3dy;
u16 bg3dmy;
u16 bg3xPointLeastSig;
u16 bg3xPointMostSig;
u16 bg3yPointLeastSig;
u16 bg3yPointMostSig;
u16 window0HorizontalDimensions;
u16 window1HorizontalDimensions;
u16 window0VerticalDimensions;
u16 window1VerticalDimensions;
u16 windowInsideControl;
u16 windowOutsideControl;
u16 mosaicSize;
u16 layerFXControl;
u16 alphaBlend;
u16 layerBrightness;
} BgControls;
typedef struct {
/*0x00*/ LcdControls lcd;
/*0x08*/ BgSettings bg;
/*0x20*/ BgAffSettings affine;
/*0x38*/ BgControls controls;
/*0x6c*/ u8 _6c;
/*0x6d*/ u8 _6d;
/*0x70*/ u32 _70;
/*0x74*/ u32 _74;
/*0x78*/ u32 _78;
} Screen;
struct OAMCommand {
u16 x;
u16 y;
u16 _4;
u16 _6;
u16 _8;
} extern gOamCmd;
extern BgControls gBgControls;
extern Screen gScreen;
#endif