Mercurial > might-and-magic-trilogy
view GUIWindow.h @ 145:dac041fc74e8
19.11.12
author | Ritor1 |
---|---|
date | Mon, 19 Nov 2012 09:41:10 +0600 |
parents | f9a33f75bae3 |
children | bf2956650e92 |
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_FINISHED = 0x4, MENU_5 = 0x5, MENU_CREATEPARTY = 0x6, MENU_7 = 0x7, MENU_Credits = 0x8, MENU_LOAD = 0x9, MENU_10 = 0xA, }; /* 298 */ enum WindowType: unsigned __int32 { WINDOW_null = 0, WINDOW_MainMenu = 0x1, WINDOW_CharacterRecord = 0x4, WINDOW_Options = 0x6, WINDOW_Book = 0x9, WINDOW_A = 10, WINDOW_11 = 17, WINDOW_12 = 18, WINDOW_13 = 19, WINDOW_Chest = 0x14, WINDOW_MainMenu_Load = 0x18, WINDOW_HouseInterior = 0x19, WINDOW_1A = 26, WINDOW_1B = 27, WINDOW_1E = 30, WINDOW_1F = 31, WINDOW_FinalWindow = 0x46, WINDOW_5A = 0x5A, WINDOW_5E = 0x5E, 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 DrawMessageBox(int arg0); GUIButton *GetControl(unsigned int uID); void Release(); void _41D08F(int a2, int a3, int a4, int a5); char DrawQuickCharRecord(); char _41D73D_draw_buff_tooltip(); static GUIWindow *Create(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, enum WindowType eType, int a4, int a5); unsigned int uFrameX; unsigned int uFrameY; unsigned int uFrameWidth; unsigned int uFrameHeight; unsigned int uFrameZ; unsigned int uFrameW; WindowType eWindowType; void *ptr_1C; unsigned int uNumControls; int field_24; int pNumPresenceButton; int pCurrentPosActiveItem; int field_30; int field_34; int pStartingPosActiveItem; int field_3C; int field_40; int field_44; char *Hint; GUIButton *pControlsHead; GUIButton *pControlsTail; }; #pragma pack(pop) /* 296 */ enum UIMessageType { UIMSG_00 = 0x0, UIMSG_ChangeGameState = 0x5, UIMSG_PlayArcomage = 0x1D, UIMSG_MainMenu_ShowPartyCreationWnd = 0x36, UIMSG_MainMenu_ShowLoadWindow = 0x37, UIMSG_ShowCredits = 0x38, UIMSG_ExitToWindows = 0x39, UIMSG_3C = 0x3C, UIMSG_PlayerCreationClickPlus = 0x3E, UIMSG_PlayerCreationClickMinus = 0x3F, UIMSG_PlayerCreationSelectActiveSkill = 0x40, UIMSG_PlayerCreationSelectClass = 0x41, UIMSG_PlayerCreationClickOK = 0x42, UIMSG_PlayerCreationClickReset = 0x43, UIMSG_PlayerCreationRemoveUpSkill = 0x4A, UIMSG_PlayerCreationRemoveDownSkill = 0x4B, UIMSG_4B = 0x4B, 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_6B = 0x6B, UIMSG_SelectCharacter = 0x6E, UIMSG_ChangeSoundVolume = 0x6F, UIMSG_ChangeMusicVolume = 0x70, UIMSG_CloseBook = 0x71, UIMSG_PlayerCreationSelectQuality = 0x76, UIMSG_SkillUp = 0x79, UIMSG_StartNewGame = 0x7C, UIMSG_Game_OpenLoadGameDialog = 0x7D, UIMSG_Game_OpenOptionsDialog = 0x7F, UIMSG_SetGraphicsMode = 0x83, UIMSG_Quit = 0x84, UIMSG_PlayerCreationVoiceBack = 0x90, UIMSG_PlayerCreationVoiceForward = 0x91, 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_SelectFacePlayerBack = 0xAB, UIMSG_SelectFacePlayerForward = 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(UIMessageType *pMsg, int *pParam, int *a4); void SendMessage(UIMessageType msg, int param, 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_MainMenu; extern struct GUIWindow pWindowList[20];