Mercurial > mm7
diff GUIWindow.h @ 0:9c0607679772
init
author | Ritor1 |
---|---|
date | Sat, 12 Jan 2013 09:45:18 +0600 |
parents | |
children | 89240115d392 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GUIWindow.h Sat Jan 12 09:45:18 2013 +0600 @@ -0,0 +1,258 @@ +#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 *DrawTitleText(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]; \ No newline at end of file