mirror of https://github.com/zeldaret/tmc.git
93 lines
1.7 KiB
C
93 lines
1.7 KiB
C
#ifndef SCREEN_H
|
|
#define SCREEN_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* subTileMap;
|
|
} BgSettings;
|
|
|
|
typedef struct {
|
|
u16 control;
|
|
s16 xOffset;
|
|
s16 yOffset;
|
|
u16 updated;
|
|
void* subTileMap;
|
|
} 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 {
|
|
bool8 ready;
|
|
bool8 readyBackup;
|
|
u16 unused;
|
|
u16* src;
|
|
u16* dest;
|
|
u32 size;
|
|
} VBlankDMA;
|
|
|
|
typedef struct {
|
|
/*0x00*/ LcdControls lcd;
|
|
/*0x08*/ BgSettings bg0;
|
|
/*0x14*/ BgSettings bg1;
|
|
/*0x20*/ BgAffSettings bg2;
|
|
/*0x2c*/ BgAffSettings bg3;
|
|
/*0x38*/ BgControls controls;
|
|
/*0x6c*/ VBlankDMA vBlankDMA;
|
|
// /*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 // SCREEN_H
|