tmc/include/screen.h

84 lines
1.5 KiB
C

#ifndef BG_H
#define BG_H
#include "global.h"
#include "fade.h"
typedef struct {
/*0x00*/ u16 displayControl;
/*0x02*/ u8 filler2[0x2];
/*0x04*/ u16 unk4;
/*0x06*/ u16 displayControlMask;
} LcdControls;
typedef struct {
u16 control;
u16 xOffset;
u16 yOffset;
u16 updated;
void* tilemap;
} BgSettings;
typedef struct {
u16 control;
s16 xOffset;
s16 yOffset;
u16 updated;
void* tilemap;
} BgAffSettings;
typedef struct {
u16 dx;
u16 dmx;
u16 dy;
u16 dmy;
u16 xPointLeastSig;
u16 xPointMostSig;
u16 yPointLeastSig;
u16 yPointMostSig;
} BgTransformationSettings;
typedef struct {
BgTransformationSettings bg2;
BgTransformationSettings bg3;
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 bg0;
/*0x14*/ BgSettings bg1;
/*0x20*/ BgAffSettings bg2;
/*0x2c*/ BgAffSettings bg3;
/*0x38*/ BgControls controls;
/*0x6c*/ u8 _6c;
/*0x6d*/ u8 _6d;
/*0x70*/ void* _70;
/*0x74*/ u32 _74;
/*0x78*/ u32 _78;
} Screen;
typedef struct {
s16 x;
s16 y;
u16 _4;
u16 _6;
u16 _8;
} OAMCommand;
extern Screen gScreen;
extern OAMCommand gOamCmd;
extern void sub_080ADA04(OAMCommand*, void*);
#endif