typedef struct
{
/* 0x0000 */ HDEV hdev;
/* 0x0004 */ HWND hWnd; // Meta Window
/* 0x0008 */ SPRITE * pListZ;
/* 0x000C */ SPRITE * pListY;
/* 0x0010 */ SURFOBJ * psoScreen;
/* 0x0014 */ DWORD unk_014[2];
/* 0x001C */ SIZEL sizel; // size of the surface (screen resolution)
/* 0x0024 */ DWORD unk_024;
/* 0x0028 */ SPRITE * pSprite; // One or more sprites linked to this State.
/* 0x002C */ DWORD unk_02C[3];
/* 0x0038 */ FLONG flOriginalSurfFlags;
/* 0x003C */ ULONG iOriginalType;
/* 0x0040 */ unsigned unk_040[5];
/* 0x0054 */ SPRITESCAN * pRange;
/* 0x0058 */ void * pRangeLimit;
/* 0x005C */ SURFOBJ * psoComposite;
/* 0x0060 */ RGNOBJ * pRgn1;
/* 0x0064 */ RGNOBJ * pRgn2;
/* 0x0068 */ unsigned unk_068[31];
/* 0x00E4 */ RGNOBJ * pRgn3;
/* 0x00E8 */ unsigned unk_0e8[32];
/* 0x0168 */ REGION * prgnUnlocked;
/* 0x016C */ HRGN hRgn;
/* 0x0170 */ DWORD unk_170[18];
/* 0x01B8 */ PVOID DrvStrokePath;
/* 0x01BC */ PVOID DrvFillPath;
/* 0x01C0 */ PVOID NotUsed;
/* 0x01C4 */ PVOID DrvBitBlt;
/* 0x01C8 */ PVOID DrvCopyBits;
/* 0x01CC */ PVOID DrvStretchBlt;
/* 0x01D0 */ PVOID DrvTextOut;
/* 0x01D4 */ PVOID DrvLineTo;
/* 0x01D8 */ PVOID DrvTransparentBlt;
/* 0x01DC */ PVOID DrvAlphaBlend;
/* 0x01E0 */ PVOID DrvPlgBlt;
/* 0x01E4 */ PVOID DrvGradientFill;
/* 0x01E8 */ PVOID DrvSaveScreenBits;
/* 0x01EC */ PVOID DrvStretchBltROP;
/* 0x01F0 */ PVOID DrvReseved9;
} SPRITESTATE;