Mercurial > might-and-magic-trilogy
view GUIWindow.h @ 1:ac0fb48cd27a
Texture, hwl loading, video player
author | Nomad |
---|---|
date | Tue, 09 Oct 2012 13:09:08 +0200 |
parents | 8b8875f5b359 |
children | 2ca04ccb612a |
line wrap: on
line source
#pragma once #include "GUIButton.h" /* 251 */ enum MENU_STATE : __int32 { MENU_MAIN = 0x0, MENU_NEWGAME = 0x1, MENU_CREDITS = 0x2, MENU_SAVELOAD = 0x3, MENU_4 = 0x4, MENU_5 = 0x5, MENU_CREATEPARTY = 0x6, MENU_7 = 0x7, MENU_Credits = 0x8, MENU_LOAD = 0x9, MENU_10 = 0xA, }; /* 298 */ enum WindowType { WINDOW_Credits = 0x1, WINDOW_CharacterRecord = 0x4, WINDOW_Options = 0x6, WINDOW_Book = 0x9, WINDOW_Chest = 0x14, WINDOW_HouseInterior = 0x19, WINDOW_FinalWindow = 0x46, WINDOW_KeyMappingOptions = 0x69, WINDOW_VideoOptions = 0x6A, }; /* 155 */ #pragma pack(push, 1) struct GUIWindow { GUIButton *CreateButton(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int a6, int a7, unsigned int uControlID, unsigned int uControlParam, unsigned __int8 uHotkey, const char *pName, Texture *pTextures, ...); void DrawFlashingInputCursor(signed int a3, int a4, struct GUIFont *a2); int DrawTextInRect(GUIFont *a2, unsigned int uX, unsigned int uY, unsigned int uColor, const char *Str1, int Source, int a8); char DrawText(GUIFont *a2, signed int uX, int uY, unsigned int uFontColor, const char *Str, int a7, int a8, unsigned int uFontShadowColor); char *DrawText2(GUIFont *a2, unsigned int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing); char *_4B1854(__int64 a2); void _4B3157(); GUIButton *_411621(); void InitializeBookView(); void _415551(int arg0); GUIButton *GetControl(unsigned int uID); void Release(); void _41D08F(int a2, int a3, int a4, int a5); char _41D3B7(); char _41D73D_draw_buff_tooltip(); static GUIWindow *Create(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, unsigned int uWindowType, int a4, int a5); unsigned int uFrameX; unsigned int uFrameY; unsigned int uFrameWidth; unsigned int uFrameHeight; unsigned int uFrameZ; unsigned int uFrameW; unsigned int uWindowType; void *ptr_1C; unsigned int uNumControls; int field_24; int field_28; int field_2C_focus_id; int field_30; int field_34; int field_38; int field_3C; int field_40; int field_44; char *str_48; GUIButton *pControlsHead; GUIButton *pControlsTail; }; #pragma pack(pop) /* 296 */ enum UIMessageType { UIMSG_00 = 0x0, UIMSG_ChangeGameState = 0x5, UIMSG_PlayArcomage = 0x1D, UIMSG_LoadGame = 0x52, UIMSG_SaveGame = 0x53, UIMSG_ShowStatus_DateTime = 0x5C, UIMSG_ShowStatus_ManaHP = 0x5D, UIMSG_ShowStatus_Player = 0x5E, UIMSG_ShowStatus_Food = 0x64, UIMSG_ShowStatus_Funds = 0x65, UIMSG_SelectCharacter = 0x6E, UIMSG_ChangeSoundVolume = 0x6F, UIMSG_ChangeMusicVolume = 0x70, UIMSG_CloseBook = 0x71, UIMSG_SkillUp = 0x79, UIMSG_StartNewGame = 0x7C, UIMSG_Game_OpenLoadGameDialog = 0x7D, UIMSG_Game_OpenOptionsDialog = 0x7F, UIMSG_SetGraphicsMode = 0x83, UIMSG_Quit = 0x84, UIMSG_StartNPCDialogue = 0xA1, UIMSG_A2 = 0xA2, UIMSG_A3 = 0xA3, UIMSG_A4 = 0xA4, UIMSG_A5 = 0xA5, UIMSG_A6 = 0xA6, UIMSG_A7 = 0xA7, UIMSG_A8 = 0xA8, UIMSG_A9 = 0xA9, UIMSG_AA = 0xAA, UIMSG_AB = 0xAB, UIMSG_AC = 0xAC, UIMSG_AD = 0xAD, UIMSG_AE = 0xAE, UIMSG_AF = 0xAF, UIMSG_CycleCharacters = 0xB0, UIMSG_B1 = 0xB1, UIMSG_B2 = 0xB2, UIMSG_B3 = 0xB3, UIMSG_B4 = 0xB4, UIMSG_B5 = 0xB5, UIMSG_B6 = 0xB6, UIMSG_B7 = 0xB7, UIMSG_SetTurnSpeed = 0xB8, UIMSG_ToggleWalkSound = 0xB9, UIMSG_ChangeVoiceVolume = 0xBA, UIMSG_ToggleShowDamage = 0xBB, UIMSG_BC = 0xBC, UIMSG_BD = 0xBD, UIMSG_BE = 0xBE, UIMSG_BF = 0xBF, UIMSG_C0 = 0xC0, UIMSG_C1 = 0xC1, UIMSG_C2 = 0xC2, UIMSG_C3 = 0xC3, UIMSG_C4 = 0xC4, UIMSG_ShowFinalWindow = 0xC5, UIMSG_C6 = 0xC6, UIMSG_C7 = 0xC7, UIMSG_OpenQuestBook = 0xC8, UIMSG_OpenAutonotes = 0xC9, UIMSG_OpenMapBook = 0xCA, UIMSG_OpenCalendar = 0xCB, UIMSG_CC = 0xCC, UIMSG_CD = 0xCD, UIMSG_CE = 0xCE, UIMSG_CF = 0xCF, UIMSG_D0 = 0xD0, UIMSG_D1 = 0xD1, UIMSG_D2 = 0xD2, UIMSG_D3 = 0xD3, UIMSG_D4 = 0xD4, UIMSG_D5 = 0xD5, UIMSG_D6 = 0xD6, UIMSG_OpenHistoryBook = 0xE0, UIMSG_ToggleAlwaysRun = 0xE1, UIMSG_ToggleFlipOnExit = 0xE2, UIMSG_OpenRestUI = 0x199, UIMSG_OpenKeyMappingOptions = 0x19F, UIMSG_ResetKeyMapping = 0x1A2, UIMSG_OpenVideoOptions = 0x1A5, UIMSG_ToggleBloodsplats = 0x1A6, UIMSG_ToggleColoredLights = 0x1A7, UIMSG_ToggleTint = 0x1A8, }; /* 249 */ #pragma pack(push, 1) struct GUIMessage { enum UIMessageType eType; int param; int field_8; }; #pragma pack(pop) /* 250 */ #pragma pack(push, 1) struct GUIMessageQueue { inline GUIMessageQueue(): uNumMessages(0) {} void PopMessage(enum UIMessageType *pType, int *pParam, int *a4); void SendMessage(int a2, int a3, unsigned int a4); unsigned int uNumMessages; GUIMessage pMessages[40]; }; #pragma pack(pop) extern struct GUIMessageQueue *pMessageQueue_50CBD0; // idb extern int pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[]; // idb extern struct GUIWindow *pWindow_Credits; extern struct GUIWindow pWindowList[20];