# HG changeset patch # User Ritor1 # Date 1367840020 -21600 # Node ID 5a12082c803d91305c1df0e5114371381f1435f9 # Parent 9a5db2cf999a34df1e63323615d99d7803a24045 UIMSG and WINDOW_Type(continue) diff -r 9a5db2cf999a -r 5a12082c803d GUIWindow.cpp --- a/GUIWindow.cpp Sat May 04 17:45:17 2013 +0600 +++ b/GUIWindow.cpp Mon May 06 17:33:40 2013 +0600 @@ -302,15 +302,15 @@ //----- (0041C26A) -------------------------------------------------------- void GUIWindow::Release() { - GUIWindow *v1; // esi@1 + //GUIWindow *v1; // esi@1 int i; // edi@20 - GUIButton *v8; // eax@26 - GUIButton *v9; // edi@27 - int v10; // esi@28 - int v11; // ecx@28 + //GUIButton *v8; // eax@26 + GUIButton *pNextBtn; // edi@27 + //int v10; // esi@28 + //int v11; // ecx@28 int v12; // edx@29 - v1 = this; + //v1 = this; if ( !this ) return; @@ -385,32 +385,30 @@ break; } } - v8 = v1->pControlsHead; - if ( v8 ) + //v8 = this->pControlsHead; + if ( this->pControlsHead ) { do { - v9 = v8->pNext; - pAllocator->FreeChunk(v8); - v8 = v9; + pNextBtn = this->pControlsHead->pNext; + pAllocator->FreeChunk(this->pControlsHead); + this->pControlsHead = pNextBtn; } - while ( v9 ); + while ( pNextBtn ); } - v1->pControlsHead = 0; - v1->pControlsTail = 0; - v1->uNumControls = 0; - v1->eWindowType = WINDOW_null; - v10 = v1->numVisibleWindows; - v11 = uNumVisibleWindows; - while ( v10 < v11 ) + this->pControlsHead = 0; + this->pControlsTail = 0; + this->uNumControls = 0; + this->eWindowType = WINDOW_null; + while ( this->numVisibleWindows < uNumVisibleWindows ) { - v12 = pVisibleWindowsIdxs[v10 + 1]; - pVisibleWindowsIdxs[v10] = v12; + v12 = pVisibleWindowsIdxs[this->numVisibleWindows + 1]; + pVisibleWindowsIdxs[this->numVisibleWindows] = v12; --*((int *)&pTexture_PCX.field_18 + 21 * v12); - ++v10; + ++this->numVisibleWindows; } - pVisibleWindowsIdxs[v11] = 0; - uNumVisibleWindows = v11 - 1; + pVisibleWindowsIdxs[uNumVisibleWindows] = 0; + uNumVisibleWindows = uNumVisibleWindows - 1; } @@ -477,7 +475,7 @@ num_achieved_awards = 0; switch (v1->par1C) { - case WINDOW_Lloyd:{ + case WINDOW_LloydsBeacon:{ byte_506360 = 0; pTexture_CurrentBook = pIcons_LOD->LoadTexturePtr("lb_bordr", TEXTURE_16BIT_PALETTE); pTexture_LloydBeacons[0] = pIcons_LOD->LoadTexturePtr("sbmap", TEXTURE_16BIT_PALETTE); @@ -485,8 +483,8 @@ pTex_tab_an_6b__zoom_on = pIcons_LOD->LoadTexturePtr("tab-an-6b", TEXTURE_16BIT_PALETTE); pTex_tab_an_6a__zoom_off = pIcons_LOD->LoadTexturePtr("tab-an-6a", TEXTURE_16BIT_PALETTE); - pBtn_Book_1 = v1->CreateButton(415, 13, 39, 36, 1, 0, UIMSG_B2, 0, 0, pGlobalTXT_LocalizationStrings[375], 0); // Set Beacon - pBtn_Book_2 = v1->CreateButton(415, 48, 39, 36, 1, 0, UIMSG_B2, 1, 0, pGlobalTXT_LocalizationStrings[523], 0); // Recall Beacon + pBtn_Book_1 = v1->CreateButton(415, 13, 39, 36, 1, 0, UIMSG_LloydsBeacon_FlippingBtn, 0, 0, pGlobalTXT_LocalizationStrings[375], 0); // Set Beacon + pBtn_Book_2 = v1->CreateButton(415, 48, 39, 36, 1, 0, UIMSG_LloydsBeacon_FlippingBtn, 1, 0, pGlobalTXT_LocalizationStrings[523], 0); // Recall Beacon v17 = &pParty->pPlayers[_506348_current_lloyd_playerid]; v23 = 1; @@ -505,7 +503,7 @@ { do { - v1->CreateButton(pLloydsBeaconsPreviewXs[v19], pLloydsBeaconsPreviewYs[v19], 0x5Cu, 0x44u, 1, 180, UIMSG_B3, v19, 0, "", 0); + v1->CreateButton(pLloydsBeaconsPreviewXs[v19], pLloydsBeaconsPreviewYs[v19], 0x5Cu, 0x44u, 1, 180, UIMSG_InstallBeacon, v19, 0, "", 0); ++v19; } while ( (signed int)v19 < v23 ); @@ -536,7 +534,7 @@ pTexture_TownPortalIcons[5] = pIcons_LOD->LoadTexturePtr("tphell", TEXTURE_16BIT_PALETTE); for (uint i = 0; i < 6; ++i) - v1->CreateButton(pTownPortalBook_xs[i], pTownPortalBook_ys[i], pTownPortalBook_ws[i], pTownPortalBook_hs[i], 1, 182, UIMSG_B7, i, 0, "", nullptr); + v1->CreateButton(pTownPortalBook_xs[i], pTownPortalBook_ys[i], pTownPortalBook_ws[i], pTownPortalBook_hs[i], 1, 182, UIMSG_ClickTownInTP, i, 0, "", nullptr); /*v16 = 0; do { @@ -1921,7 +1919,7 @@ sprintfex(byte_591180[v26], v29, v30); HouseNPCData[v26 + 7] = (NPCData *)pWindow->CreateButton(pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v26], pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v26], - 0x3Fu, 0x49u, 1, 0, UIMSG_19A, v26, 0, byte_591180[v26], 0, 0, 0); + 0x3Fu, 0x49u, 1, 0, UIMSG_ClickHouseNPCPortrait, v26, 0, byte_591180[v26], 0, 0, 0); v25 = uNumDialogueNPCPortraits; } } @@ -1943,7 +1941,7 @@ pWindow->CreateButton(8, 8, 0x1CCu, 0x158u, 1, 0, UIMSG_TransitionUI_Confirm, 1u, 0, pWindow->Hint, 0); return pWindow; } - if (eWindowType == WINDOW_1B) + if (eWindowType == WINDOW_CastSpell) { pEventTimer->Pause(); pAudioPlayer->StopChannels(-1, -1); diff -r 9a5db2cf999a -r 5a12082c803d GUIWindow.h --- a/GUIWindow.h Sat May 04 17:45:17 2013 +0600 +++ b/GUIWindow.h Mon May 06 17:33:40 2013 +0600 @@ -23,7 +23,7 @@ UIMSG_Attack = 23, - UIMSG_19 = 25, + UIMSG_CastQuickSpell = 25, UIMSG_1B = 27, UIMSG_1C = 28, @@ -49,8 +49,8 @@ UIMSG_PlayerCreationClickOK = 66, UIMSG_PlayerCreationClickReset = 67, UIMSG_44 = 68, - UIMSG_45 = 69, - UIMSG_46 = 70, + UIMSG_CastSpell_SPIRIT_Preservation = 69, + UIMSG_CastSpell_SmallShot = 70, UIMSG_AutonotesBook = 71, UIMSG_48 = 72, UIMSG_49 = 73, @@ -114,8 +114,8 @@ UIMSG_StartHireling2Dialogue = 135, UIMSG_SelectNPCDialogueOption = 136, - UIMSG_8C = 140, - UIMSG_8D = 141, + UIMSG_CastSpell_GreatShot = 140, + UIMSG_CastSpell_8D = 141, UIMSG_CastSpellFromBook = 142, UIMSG_8F = 143, UIMSG_PlayerCreation_VoicePrev = 144, @@ -125,33 +125,33 @@ UIMSG_StartNPCDialogue = 161, UIMSG_ArrowUp = 162, UIMSG_DownArrow = 163, - UIMSG_LoadSlot = 164, + UIMSG_SaveLoadBtn = 164, UIMSG_SelectLoadSlot = 165, UIMSG_Cancel = 166, UIMSG_ExitRest = 167, UIMSG_ClickExitCharacterWindowBtn = 168, - UIMSG_A9 = 169, - UIMSG_AA = 170, + UIMSG_ClickAwardsUpBtn = 169, + UIMSG_ClickAwardsDownBtn = 170, UIMSG_PlayerCreation_FacePrev = 171, UIMSG_PlayerCreation_FaceNext = 172, UIMSG_AD = 173, UIMSG_AE = 174, UIMSG_ClickNPCTopic = 175, UIMSG_CycleCharacters = 176, - UIMSG_B1 = 177, - UIMSG_B2 = 178, - UIMSG_B3 = 179, - UIMSG_B4 = 180, - UIMSG_B5 = 181, - UIMSG_B6 = 182, - UIMSG_B7 = 183, + UIMSG_OnCastLloydsBeacon = 177, + UIMSG_LloydsBeacon_FlippingBtn = 178, + UIMSG_InstallBeacon = 179, + UIMSG_HintBeaconSlot = 180, + UIMSG_CloseAfterInstallBeacon = 181, + UIMSG_HintTownPortal = 182, + UIMSG_ClickTownInTP = 183, UIMSG_SetTurnSpeed = 184, UIMSG_ToggleWalkSound = 185, UIMSG_ChangeVoiceVolume = 186, UIMSG_ToggleShowDamage = 187, UIMSG_ScrollNPCPanel = 188, UIMSG_BD = 189, - UIMSG_BE = 190, + UIMSG_CastSpell_BE = 190, UIMSG_BF = 191, UIMSG_C0 = 192, UIMSG_C1 = 192, @@ -191,7 +191,7 @@ UIMSG_SelectShopDialogueOption = 405, UIMSG_RentRoom = 409, - UIMSG_19A = 410, + UIMSG_ClickHouseNPCPortrait = 410, UIMSG_TransitionUI_Confirm = 411, UIMSG_TransitionWindowCloseBtn = 412, @@ -221,7 +221,7 @@ MENU_CREATEPARTY = 0x6, MENU_NAMEPANELESC = 0x7, MENU_CREDITSPROC = 0x8, - MENU_LOADINGPROC = 0x9, + MENU_LoadingProcInMainMenu = 0x9, MENU_10 = 0xA, MENU_CREDITSCLOSE = 0xB, }; @@ -254,12 +254,12 @@ enum WindowType: unsigned __int32 { WINDOW_null = 0, - WINDOW_MainMenu = 0x1, - WINDOW_3 = 0x3, - WINDOW_CharacterRecord = 0x4, - WINDOW_Options = 0x6, + WINDOW_MainMenu = 1, + WINDOW_OptionsButtons = 3, + WINDOW_CharacterRecord = 4, + WINDOW_Options = 6, WINDOW_8 = 8, - WINDOW_Book = 0x9, + WINDOW_Book = 9, WINDOW_Dialogue = 10, WINDOW_QuickReference = 12, WINDOW_F = 15, @@ -268,21 +268,21 @@ WINDOW_SpellBook = 0x12, WINDOW_GreetingNPC = 19, WINDOW_Chest = 0x14, - WINDOW_17 = 23, + WINDOW_SaveLoadButtons = 23, WINDOW_MainMenu_Load = 0x18, WINDOW_HouseInterior = 0x19, WINDOW_Transition = 26, - WINDOW_1B = 27, + WINDOW_CastSpell = 27, WINDOW_Scroll = 0x1E, WINDOW_CastSpell_InInventory = 31, WINDOW_FinalWindow = 0x46, WINDOW_50 = 0x50, WINDOW_59 = 0x59, - WINDOW_5A = 90, - WINDOW_5B = 91, + WINDOW_Button = 90, + WINDOW_CharactersButton = 91, WINDOW_VoiceSwitcherButton = 92, WINDOW_5D = 0x5D, - WINDOW_5E = 94, + WINDOW_SaveLoadBtn = 94, WINDOW_LoadGame_CancelBtn = 0x5F, WINDOW_ExitRestWindow = 96, WINDOW_ExitCharacterWindow = 97, @@ -295,7 +295,7 @@ WINDOW_68 = 104, WINDOW_KeyMappingOptions = 0x69, WINDOW_VideoOptions = 0x6A, - WINDOW_Lloyd = 0xB1, + WINDOW_LloydsBeacon = 177, WINDOW_TownPortal = 195, WINDOW_QuestBook = 200, WINDOW_AutonotesBook = 0xC9, diff -r 9a5db2cf999a -r 5a12082c803d Game.cpp --- a/Game.cpp Sat May 04 17:45:17 2013 +0600 +++ b/Game.cpp Mon May 06 17:33:40 2013 +0600 @@ -270,7 +270,7 @@ MSG Msg; // [sp+28h] [bp-3Ch]@20 char Source[64]; // [sp+44h] [bp-20h]@76 - bLoading = uCurrentMenuID == MENU_LOADINGPROC; + bLoading = uCurrentMenuID == MENU_LoadingProcInMainMenu; SetCurrentMenuID((MENU_STATE)-1); if (bLoading) { diff -r 9a5db2cf999a -r 5a12082c803d UIBooks.cpp --- a/UIBooks.cpp Sat May 04 17:45:17 2013 +0600 +++ b/UIBooks.cpp Mon May 06 17:33:40 2013 +0600 @@ -1525,7 +1525,7 @@ pRenderer->DrawTextureIndexed(471, 445, pIcons_LOD->GetTexture(uExitCancelTextureId)); switch ((enum WindowType)uBook) { - case WINDOW_Lloyd: DrawLloydBeaconsScreen(); break; + case WINDOW_LloydsBeacon: DrawLloydBeaconsScreen(); break; case WINDOW_TownPortal: DrawTownPortalScreen(); break; case WINDOW_QuestBook: DrawBook_Quests(); break; case WINDOW_AutonotesBook: DrawBook_Autonotes(); break; diff -r 9a5db2cf999a -r 5a12082c803d UIRest.cpp --- a/UIRest.cpp Sat May 04 17:45:17 2013 +0600 +++ b/UIRest.cpp Mon May 06 17:33:40 2013 +0600 @@ -60,7 +60,7 @@ } pEventTimer->Pause(); if ( dword_506F14 != 2 ) - GUIWindow::Create(518u, 450u, 0, 0, WINDOW_5A, (int)pBtn_Rest, 0); + GUIWindow::Create(518u, 450u, 0, 0, WINDOW_Button, (int)pBtn_Rest, 0); _506F18_num_hours_to_sleep = 0; dword_506F14 = 0; uRestUI_FoodRequiredToRest = 2; diff -r 9a5db2cf999a -r 5a12082c803d UISaveLoad.cpp --- a/UISaveLoad.cpp Sat May 04 17:45:17 2013 +0600 +++ b/UISaveLoad.cpp Mon May 06 17:33:40 2013 +0600 @@ -92,7 +92,7 @@ TargetColor(0xFF, 0xFF, 0xFF); TargetColor(0xFF, 0xFF, 0x9B); pRenderer->BeginScene(); - if ( GetCurrentMenuID() != MENU_SAVELOAD && GetCurrentMenuID() != MENU_LOADINGPROC ) + if ( GetCurrentMenuID() != MENU_SAVELOAD && GetCurrentMenuID() != MENU_LoadingProcInMainMenu ) { pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->GetTexture(uTextureID_loadsave)); if ( a4 ) @@ -196,7 +196,7 @@ if ( pGUIWindow_CurrentMenu->field_40 == 3 ) pGUIWindow_CurrentMenu->field_40 = 0; } - if (GetCurrentMenuID() == MENU_LOADINGPROC) + if (GetCurrentMenuID() == MENU_LoadingProcInMainMenu) { //v18 = pGlobalTXT_LocalizationStrings[135]; v19 = pFontSmallnum->AlignText_Center(0xBA, pGlobalTXT_LocalizationStrings[135]);//"Загрузка" @@ -379,7 +379,7 @@ pGUIWindow_CurrentMenu->CreateButton(21, 282, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 4, 0, "", 0); pGUIWindow_CurrentMenu->CreateButton(21, 303, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 5, 0, "", 0); pGUIWindow_CurrentMenu->CreateButton(21, 324, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 6, 0, "", 0); - pBtnLoadSlot = pGUIWindow_CurrentMenu->CreateButton(241, 302, 105, 40, 1, 0, UIMSG_LoadSlot, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_LS_), 0); + pBtnLoadSlot = pGUIWindow_CurrentMenu->CreateButton(241, 302, 105, 40, 1, 0, UIMSG_SaveLoadBtn, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_LS_), 0); pBtnCancel = pGUIWindow_CurrentMenu->CreateButton(350, 302, 105, 40, 1, 0, UIMSG_Cancel, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_x_d), 0); pBtnArrowUp = pGUIWindow_CurrentMenu->CreateButton(215, 199, 17, 17, 1, 0, UIMSG_ArrowUp, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_AR_UP_DN), 0); pBtnDownArrow = pGUIWindow_CurrentMenu->CreateButton(215, 323, 17, 17, 1, 0, UIMSG_DownArrow, uNumSavegameFiles, 0, "", pIcons_LOD->GetTexture(uTextureID_AR_DN_DN), 0); @@ -464,7 +464,7 @@ uTextureID_LS_ = pIcons_LOD->LoadTexture("LS_saveD", TEXTURE_16BIT_PALETTE); uTextureID_AR_UP_DN = pIcons_LOD->LoadTexture("AR_UP_DN", TEXTURE_16BIT_PALETTE); uTextureID_AR_DN_DN = pIcons_LOD->LoadTexture("AR_DN_DN", TEXTURE_16BIT_PALETTE); - pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_17, 0, 0); + pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_SaveLoadButtons, 0, 0); pGUIWindow_CurrentMenu->CreateButton(21, 198, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 0, 0, "", 0); pGUIWindow_CurrentMenu->CreateButton(21, 218, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 1, 0, "", 0); pGUIWindow_CurrentMenu->CreateButton(21, 238, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 2, 0, "", 0); @@ -472,7 +472,7 @@ pGUIWindow_CurrentMenu->CreateButton(21, 278, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 4, 0, "", 0); pGUIWindow_CurrentMenu->CreateButton(21, 298, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 5, 0, "", 0); pGUIWindow_CurrentMenu->CreateButton(21, 318, 191, 18, 1, 0, UIMSG_SelectLoadSlot, 6, 0, "", 0); - pBtnLoadSlot = pGUIWindow_CurrentMenu->CreateButton(241, 302, 105, 40, 1, 0, UIMSG_LoadSlot, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_LS_), 0); + pBtnLoadSlot = pGUIWindow_CurrentMenu->CreateButton(241, 302, 105, 40, 1, 0, UIMSG_SaveLoadBtn, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_LS_), 0); pBtnCancel = pGUIWindow_CurrentMenu->CreateButton(350, 302, 105, 40, 1, 0, UIMSG_Cancel, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_x_d), 0); pBtnArrowUp = pGUIWindow_CurrentMenu->CreateButton(215, 199, 17, 17, 1, 0, UIMSG_ArrowUp, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_AR_UP_DN), 0); pBtnDownArrow = pGUIWindow_CurrentMenu->CreateButton(215, 323, 17, 17, 1, 0, UIMSG_DownArrow, 34, 0, "", pIcons_LOD->GetTexture(uTextureID_AR_DN_DN), 0); diff -r 9a5db2cf999a -r 5a12082c803d mm7_1.cpp --- a/mm7_1.cpp Sat May 04 17:45:17 2013 +0600 +++ b/mm7_1.cpp Mon May 06 17:33:40 2013 +0600 @@ -1292,7 +1292,7 @@ if ( uActiveCharacter && sub_427769_spell(pPlayers[uActiveCharacter]->uQuickSpell)) { - pMessageQueue_50CBD0->AddMessage(UIMSG_19, 0, 0); + pMessageQueue_50CBD0->AddMessage(UIMSG_CastQuickSpell, 0, 0); /*&& (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)25; LABEL_41: diff -r 9a5db2cf999a -r 5a12082c803d mm7_2.cpp --- a/mm7_2.cpp Sat May 04 17:45:17 2013 +0600 +++ b/mm7_2.cpp Mon May 06 17:33:40 2013 +0600 @@ -866,7 +866,7 @@ do { HouseNPCData[v2 + 7] = (NPCData *)window_SpeakInHouse->CreateButton(pNPCPortraits_x[v1 - 1][v2], pNPCPortraits_y[v1 - 1][v2], - 0x3Fu, 0x49u, 1, 0, UIMSG_19A, v2, 0, byte_591180[v2], 0, 0, 0); + 0x3Fu, 0x49u, 1, 0, UIMSG_ClickHouseNPCPortrait, v2, 0, byte_591180[v2], 0, 0, 0); v1 = uNumDialogueNPCPortraits; ++v2; //v3 += 100; @@ -6702,7 +6702,7 @@ pAsyncMouse->_46B736_consume_click_lists(1); if (GetCurrentMenuID() != MENU_MAIN) { - if (GetCurrentMenuID() == MENU_LOADINGPROC) + if (GetCurrentMenuID() == MENU_LoadingProcInMainMenu) { pIcons_LOD->_4114F2(); pGUIWindow_CurrentMenu->Release(); @@ -6751,12 +6751,12 @@ pRenderer->Present(); } } - /*GUI_MainMenuMessageProc(); //Ritor1: unknow + GUI_MainMenuMessageProc(); //Ritor1: unknow pRenderer->BeginScene(); GUI_UpdateWindows(); pRenderer->EndScene(); pRenderer->Present(); - pTexture_PCX.Release();*/ + pTexture_PCX.Release(); if ( pGUIWindow2 ) { pGUIWindow2->Release(); @@ -9524,14 +9524,13 @@ CreditsMenu__Loop(); break; } - if (GetCurrentMenuID() == MENU_5 || GetCurrentMenuID() == MENU_LOADINGPROC) + if (GetCurrentMenuID() == MENU_5 || GetCurrentMenuID() == MENU_LoadingProcInMainMenu) { uGameState = 0; } else - __debugbreak(); - { - /* if (GetCurrentMenuID() != MENU_10) + { + if (GetCurrentMenuID() != MENU_10) goto LABEL_49; pMouse->Activate(0); if (pAsyncMouse) @@ -9557,20 +9556,19 @@ if (pAsyncMouse) pAsyncMouse->Resume(); if ( LOBYTE(pGame->pKeyboardInstance->bUsingAsynKeyboard) && pAsyncKeyboard ) - pAsyncKeyboard->Resume();*/ + pAsyncKeyboard->Resume(); } //LABEL_48: pGame->Loop(); LABEL_49: if ( uGameState == 3 ) - __debugbreak(); - /*{ + { v12 = 5; SetCurrentMenuID((MENU_STATE)v12); //goto LABEL_21; uGameState = 0; continue; - }*/ + } if ( uGameState == GAME_STATE_NEWGAME_OUT_GAMEMENU ) { SetCurrentMenuID(MENU_NEWGAME); @@ -9868,7 +9866,7 @@ case MENU_CREATEPARTY: return L"MENU_CREATEPARTY"; case MENU_NAMEPANELESC: return L"MENU_NAMEPANELESC"; case MENU_CREDITSPROC: return L"MENU_CREDITSPROC"; - case MENU_LOADINGPROC: return L"MENU_LOADINGPROC"; + case MENU_LoadingProcInMainMenu: return L"MENU_LoadingProcInMainMenu"; case MENU_10: return L"MENU_10"; case MENU_CREDITSCLOSE: return L"MENU_CREDITSCLOSE"; default: return L"unk"; diff -r 9a5db2cf999a -r 5a12082c803d mm7_5.cpp --- a/mm7_5.cpp Sat May 04 17:45:17 2013 +0600 +++ b/mm7_5.cpp Mon May 06 17:33:40 2013 +0600 @@ -200,7 +200,7 @@ //unsigned int v151; // [sp-4h] [bp-600h]@107 int v152; // [sp-4h] [bp-600h]@121 int v153; // [sp-4h] [bp-600h]@135 - int v154; // [sp-4h] [bp-600h]@149 + //int v154; // [sp-4h] [bp-600h]@149 int v155; // [sp-4h] [bp-600h]@165 int v156; // [sp-4h] [bp-600h]@204 //const char *v157; // [sp-4h] [bp-600h]@444 @@ -383,7 +383,7 @@ case UIMSG_SelectNPCDialogueOption: OnSelectNPCDialogueOption((DIALOGUE_TYPE)uMessageParam); continue; - case UIMSG_19A: + case UIMSG_ClickHouseNPCPortrait: _4B4224_UpdateNPCTopics(uMessageParam); continue; case UIMSG_StartNewGame: @@ -448,19 +448,19 @@ --pSaveListPosition; if ( pSaveListPosition < 0 ) pSaveListPosition = 0; - GUIWindow::Create(215, 199, 17, 17, WINDOW_5A, (int)pBtnArrowUp, 0); + GUIWindow::Create(215, 199, 17, 17, WINDOW_Button, (int)pBtnArrowUp, 0); continue; case UIMSG_DownArrow: ++pSaveListPosition; if ( pSaveListPosition >= uMessageParam ) pSaveListPosition = uMessageParam - 1; - GUIWindow::Create(215, 323, 17, 17, WINDOW_5A, (int)pBtnDownArrow, 0); + GUIWindow::Create(215, 323, 17, 17, WINDOW_Button, (int)pBtnDownArrow, 0); continue; case UIMSG_Cancel: GUIWindow::Create(350, 302, 106, 42, WINDOW_ExitRestWindow, (int)pBtnCancel, 0); continue; - case UIMSG_LoadSlot: - GUIWindow::Create(241, 302, 106, 42, WINDOW_5E, (int)pBtnLoadSlot, 0); + case UIMSG_SaveLoadBtn: + GUIWindow::Create(241, 302, 106, 42, WINDOW_SaveLoadBtn, (int)pBtnLoadSlot, 0); continue; case UIMSG_SelectLoadSlot: if ( pGUIWindow_CurrentMenu->field_40 == v0 ) @@ -470,11 +470,11 @@ v10 = pSaveListPosition + uMessageParam; if ( dword_6BE138 == pSaveListPosition + uMessageParam ) { - pMessageQueue_50CBD0->AddMessage(UIMSG_LoadSlot, 0, 0); + pMessageQueue_50CBD0->AddMessage(UIMSG_SaveLoadBtn, 0, 0); pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) { - pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_LoadSlot; + pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_SaveLoadBtn; pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; //v11 = pMessageQueue_50CBD0->uNumMessages + 1; @@ -742,7 +742,7 @@ } v19 = (double)(signed int)uGammaPos * 0.1 + 0.6; pGame->pGammaController->Initialize(v19); - GUIWindow::Create(21, 161, 0, 0, WINDOW_5A, (int)pBtn_SliderLeft, v0); + GUIWindow::Create(21, 161, 0, 0, WINDOW_Button, (int)pBtn_SliderLeft, v0); pAudioPlayer->PlaySound((SoundID)21, 0, 0, -1, 0, 0, 0, 0); continue; } @@ -753,7 +753,7 @@ { v21 = (double)(signed int)uGammaPos * 0.1 + 0.6; pGame->pGammaController->Initialize(v21); - GUIWindow::Create(213, 161, 0, 0, WINDOW_5A, (int)pBtn_SliderRight, v0); + GUIWindow::Create(213, 161, 0, 0, WINDOW_Button, (int)pBtn_SliderRight, v0); pAudioPlayer->PlaySound((SoundID)21, 0, 0, -1, 0, 0, 0, 0); continue; } @@ -782,7 +782,7 @@ --uMusicVolimeMultiplier; if ( (char)uMusicVolimeMultiplier < 1 ) uMusicVolimeMultiplier = 0; - GUIWindow::Create(243, 0xD8u, 0, 0, WINDOW_5A, (int)pBtn_SliderLeft, v0); + GUIWindow::Create(243, 0xD8u, 0, 0, WINDOW_Button, (int)pBtn_SliderLeft, v0); if ( uMusicVolimeMultiplier ) pAudioPlayer->PlaySound(SOUND_Bell, -1, 0, -1, 0, 0, pSoundVolumeLevels[(char)uMusicVolimeMultiplier] * 64.0f, 0); pAudioPlayer->SetMusicVolume(pSoundVolumeLevels[(char)uMusicVolimeMultiplier] * 64.0f); @@ -793,7 +793,7 @@ ++uMusicVolimeMultiplier; if ( (char)uMusicVolimeMultiplier > 9 ) uMusicVolimeMultiplier = 9; - GUIWindow::Create(435, 0xD8u, 0, 0, WINDOW_5A, (int)pBtn_SliderRight, v0); + GUIWindow::Create(435, 0xD8u, 0, 0, WINDOW_Button, (int)pBtn_SliderRight, v0); if ( uMusicVolimeMultiplier ) pAudioPlayer->PlaySound(SOUND_Bell, -1, 0, -1, 0, 0, pSoundVolumeLevels[(char)uMusicVolimeMultiplier] * 64.0f, 0); pAudioPlayer->SetMusicVolume(pSoundVolumeLevels[(char)uMusicVolimeMultiplier] * 64.0f); @@ -812,7 +812,7 @@ --uSoundVolumeMultiplier; if ( (char)uSoundVolumeMultiplier < 1 ) uSoundVolumeMultiplier = 0; - GUIWindow::Create(243, 162, 0, 0, WINDOW_5A, (int)pBtn_SliderLeft, v0); + GUIWindow::Create(243, 162, 0, 0, WINDOW_Button, (int)pBtn_SliderLeft, v0); pAudioPlayer->SetMasterVolume(pSoundVolumeLevels[uSoundVolumeMultiplier] * 128.0f); pAudioPlayer->PlaySound((SoundID)218, -1, 0, -1, 0, 0, 0, 0); continue; @@ -824,8 +824,8 @@ uSoundVolumeMultiplier = 9; v168 = v0; v24 = 435; - v154 = (int)pBtn_SliderRight; - GUIWindow::Create(v24, 0xA2u, 0, 0, WINDOW_5A, v154, v168); + //v154 = (int)pBtn_SliderRight; + GUIWindow::Create(v24, 0xA2u, 0, 0, WINDOW_Button, (int)pBtn_SliderRight, v168); pAudioPlayer->SetMasterVolume(pSoundVolumeLevels[uSoundVolumeMultiplier] * 128.0f); pAudioPlayer->PlaySound((SoundID)218, -1, 0, -1, 0, 0, 0, 0); continue; @@ -854,7 +854,7 @@ --uVoicesVolumeMultiplier; if ( (char)uVoicesVolumeMultiplier < 1 ) uVoicesVolumeMultiplier = 0; - GUIWindow::Create(243, 270, 0, 0, WINDOW_5A, (int)pBtn_SliderLeft, v0); + GUIWindow::Create(243, 270, 0, 0, WINDOW_Button, (int)pBtn_SliderLeft, v0); if ( !uVoicesVolumeMultiplier ) continue; pAudioPlayer->PlaySound((SoundID)5788, -1, 0, -1, 0, 0, pSoundVolumeLevels[uVoicesVolumeMultiplier] * 128.0f, 0); @@ -865,7 +865,7 @@ ++uVoicesVolumeMultiplier; if ( (char)uVoicesVolumeMultiplier > 8 ) uVoicesVolumeMultiplier = 9; - GUIWindow::Create(435, 270, 0, 0, WINDOW_5A, (int)pBtn_SliderRight, v0); + GUIWindow::Create(435, 270, 0, 0, WINDOW_Button, (int)pBtn_SliderRight, v0); if ( !uVoicesVolumeMultiplier ) continue; pAudioPlayer->PlaySound((SoundID)5788, -1, 0, -1, 0, 0, pSoundVolumeLevels[uVoicesVolumeMultiplier] * 128.0f, 0); @@ -1468,14 +1468,14 @@ if ( !pGUIWindow_Settings )//Draw Menu { dword_6BE138 = -1; - GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, WINDOW_5A, (int)pBtn_GameSettings, v0); + GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, WINDOW_Button, (int)pBtn_GameSettings, v0); pEventTimer->Pause(); pAudioPlayer->StopChannels(-1, -1); ++pIcons_LOD->uTexturePacksCount; pCurrentScreen = v0; if ( !pIcons_LOD->uNumPrevLoadedFiles ) pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles; - pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_3, 0, 0); + pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_OptionsButtons, 0, 0); uTextureID_Options = pIcons_LOD->LoadTexture("options", TEXTURE_16BIT_PALETTE); uTextureID_New1 = pIcons_LOD->LoadTexture("new1", TEXTURE_16BIT_PALETTE); uTextureID_Load1 = pIcons_LOD->LoadTexture("load1", TEXTURE_16BIT_PALETTE); @@ -1523,7 +1523,7 @@ case UIMSG_ScrollNPCPanel://Right and Left button for NPCPanel if ( uMessageParam ) { - GUIWindow::Create(626, 179, 0, 0, WINDOW_5A, (int)pBtn_NPCRight, 0); + GUIWindow::Create(626, 179, 0, 0, WINDOW_Button, (int)pBtn_NPCRight, 0); v37 = (pParty->pHirelings[0].pName != 0) + (pParty->pHirelings[1].pName != 0) + (unsigned __int8)pParty->field_70A - 2; if ( (unsigned __int8)pParty->field_709 < v37 ) { @@ -1534,7 +1534,7 @@ } else { - GUIWindow::Create(469, 179, 0, 0, WINDOW_5A, (int)pBtn_NPCLeft, 0); + GUIWindow::Create(469, 179, 0, 0, WINDOW_Button, (int)pBtn_NPCLeft, 0); if ( pParty->field_709 ) { --pParty->field_709; @@ -1720,7 +1720,7 @@ continue; case UIMSG_5B: goto LABEL_387; - case UIMSG_BE: + case UIMSG_CastSpell_BE: if ( pRenderer->pRenderD3D ) { LOWORD(v42) = pGame->pVisInstance->get_picked_object_zbuf_val(); @@ -1825,8 +1825,8 @@ unk_50C9A0 = 0; back_to_game(); continue; - case UIMSG_45: - case UIMSG_8D: + case UIMSG_CastSpell_SPIRIT_Preservation: + case UIMSG_CastSpell_8D: case UIMSG_8F: if ( pMessageQueue_50CBD0->uNumMessages ) pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; @@ -1903,17 +1903,17 @@ pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_Book, WINDOW_TownPortal, uMessageParam); continue; - case UIMSG_B1: + case UIMSG_OnCastLloydsBeacon: pAudioPlayer->StopChannels(-1, -1); - pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_Book, 117, 0); + pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_Book, WINDOW_LloydsBeacon, 0); continue; - case UIMSG_B2: + case UIMSG_LloydsBeacon_FlippingBtn: bRecallingBeacon = uMessageParam; v127 = uMessageParam + 204; pAudioPlayer->PlaySound((SoundID)v127, 0, 0, -1, 0, 0, 0, 0); continue; - case UIMSG_B4: + case UIMSG_HintBeaconSlot: if ( !pGUIWindow_CurrentMenu ) continue; pPlayer = pPlayers[_506348_current_lloyd_playerid + 1]; @@ -1942,7 +1942,7 @@ sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[475], v158, v174);// "Set %s over %s" sub_41C0B8_set_status_string(pTmpBuf); continue; - case UIMSG_B5: + case UIMSG_CloseAfterInstallBeacon: dword_50CDC8 = v0; //goto LABEL_453; pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); @@ -1953,7 +1953,7 @@ *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; ++pMessageQueue_50CBD0->uNumMessages;*/ continue; - case UIMSG_B3: + case UIMSG_InstallBeacon: pPlayer9 = pPlayers[_506348_current_lloyd_playerid + 1]; pNPCData4 = (NPCData *)&pPlayer9->pInstalledBeacons[uMessageParam]; if ( !*(_QWORD *)&pNPCData4->pName && bRecallingBeacon ) @@ -2040,7 +2040,7 @@ HIWORD(pNPCData4->uProfession) = thisg; } continue; - case UIMSG_B7: + case UIMSG_ClickTownInTP: if ( uMessageParam ) { switch ( uMessageParam ) @@ -2117,7 +2117,7 @@ if ( !(unsigned __int16)_449B57_test_bit(pParty->_quest_bits, v63) ) return; goto LABEL_486; - case UIMSG_B6: + case UIMSG_HintTownPortal: if ( uMessageParam ) { switch ( uMessageParam ) @@ -2341,7 +2341,7 @@ v1 = ""; v0 = 1; continue; - case UIMSG_19: + case UIMSG_CastQuickSpell: if ( bUnderwater == 1 ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[652], 2);// "You can not do that while you are underwater!" @@ -2357,8 +2357,8 @@ } _42777D_CastSpell_UseWand_ShootArrow(pPlayer2->uQuickSpell, uActiveCharacter - 1, 0, 0, uActiveCharacter); continue; - case UIMSG_46: - case UIMSG_8C: + case UIMSG_CastSpell_SmallShot://FireBlow, Lightning, Ice Lightning, Swarm, hand hammer + case UIMSG_CastSpell_GreatShot://Fireball, Spraying poison and other if ( pRenderer->pRenderD3D ) { v81 = pGame->pVisInstance->get_picked_object_zbuf_val(); @@ -2484,7 +2484,7 @@ pAudioPlayer->PlaySound((SoundID)27, 0, 0, -1, 0, 0, 0, 0); continue; } - GUIWindow::Create(pButton_RestUI_Wait5Minutes->uX, pButton_RestUI_Wait5Minutes->uY, 0, 0, WINDOW_5A, + GUIWindow::Create(pButton_RestUI_Wait5Minutes->uX, pButton_RestUI_Wait5Minutes->uY, 0, 0, WINDOW_Button, (int)pButton_RestUI_Wait5Minutes, (int)pGlobalTXT_LocalizationStrings[238]);// "Wait 5 Minutes" dword_506F14 = v0; _506F18_num_hours_to_sleep = 5; @@ -2496,7 +2496,7 @@ pAudioPlayer->PlaySound((SoundID)27, 0, 0, -1, 0, 0, 0, 0); continue; } - GUIWindow::Create(pButton_RestUI_Wait1Hour->uX, pButton_RestUI_Wait1Hour->uY, 0, 0, WINDOW_5A, + GUIWindow::Create(pButton_RestUI_Wait1Hour->uX, pButton_RestUI_Wait1Hour->uY, 0, 0, WINDOW_Button, (int)pButton_RestUI_Wait1Hour, (int)pGlobalTXT_LocalizationStrings[239]);// "Wait 1 Hour" dword_506F14 = v0; _506F18_num_hours_to_sleep = 60; @@ -2642,7 +2642,7 @@ pAudioPlayer->PlaySound((SoundID)27, 0, 0, -1, 0, 0, 0, 0); continue; } - GUIWindow::Create(pButton_RestUI_WaitUntilDawn->uX, pButton_RestUI_WaitUntilDawn->uY, 0, 0, WINDOW_5A, + GUIWindow::Create(pButton_RestUI_WaitUntilDawn->uX, pButton_RestUI_WaitUntilDawn->uY, 0, 0, WINDOW_Button, (int)pButton_RestUI_WaitUntilDawn, (int)pGlobalTXT_LocalizationStrings[237]);// "Wait until Dawn" v97 = _494820_training_time(pParty->uCurrentHour); dword_506F14 = v0; @@ -2686,7 +2686,7 @@ v0 = 1; continue; case UIMSG_ClickInstallRemoveQuickSpellBtn: - GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, WINDOW_5A, (int)pBtn_InstallRemoveSpell, 0); + GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, WINDOW_Button, (int)pBtn_InstallRemoveSpell, 0); if ( !uActiveCharacter ) continue; pPlayer10 = pPlayers[uActiveCharacter]; @@ -2822,7 +2822,7 @@ if ( !pCurrentScreen ) //goto LABEL_693; { - GUIWindow::Create(0x1DCu, 0x1C2u, 0, 0, WINDOW_5A, (int)pBtn_CastSpell, 0); + GUIWindow::Create(0x1DCu, 0x1C2u, 0, 0, WINDOW_Button, (int)pBtn_CastSpell, 0); pCurrentScreen = SCREEN_SPELL_BOOK; pEventTimer->Pause(); pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_SpellBook, 0, 0); @@ -2836,7 +2836,7 @@ || pCurrentScreen > SCREEN_67) ) { pGUIWindow_CurrentMenu->Release(); - GUIWindow::Create(0x1DCu, 0x1C2u, 0, 0, WINDOW_5A, (int)pBtn_CastSpell, 0); + GUIWindow::Create(0x1DCu, 0x1C2u, 0, 0, WINDOW_Button, (int)pBtn_CastSpell, 0); pCurrentScreen = SCREEN_SPELL_BOOK; pEventTimer->Pause(); pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_SpellBook, 0, 0); @@ -2855,7 +2855,7 @@ ++pIcons_LOD->uTexturePacksCount; if ( !pIcons_LOD->uNumPrevLoadedFiles ) pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles; - GUIWindow::Create(0x230u, 0x1C2u, 0, 0, WINDOW_5A, (int)pBtn_QuickReference, 0); + GUIWindow::Create(0x230u, 0x1C2u, 0, 0, WINDOW_Button, (int)pBtn_QuickReference, 0); viewparams->bRedrawGameUI = v0; pEventTimer->Pause(); pAudioPlayer->StopChannels(-1, -1); @@ -2895,12 +2895,12 @@ if ( pMouse->GetCursorPos(&v211)->y > 178 ) dword_50651C = -1; continue; - case UIMSG_A9: - GUIWindow::Create(pBtn_Up->uX, pBtn_Up->uY, 0, 0, WINDOW_5B, (int)pBtn_Up, 0); + case UIMSG_ClickAwardsUpBtn: + GUIWindow::Create(pBtn_Up->uX, pBtn_Up->uY, 0, 0, WINDOW_CharactersButton, (int)pBtn_Up, 0); dword_506548 = v0; continue; - case UIMSG_AA: - GUIWindow::Create(pBtn_Down->uX, pBtn_Down->uY, 0, 0, WINDOW_5B, (int)pBtn_Down, 0); + case UIMSG_ClickAwardsDownBtn: + GUIWindow::Create(pBtn_Down->uX, pBtn_Down->uY, 0, 0, WINDOW_CharactersButton, (int)pBtn_Down, 0); dword_506544 = v0; continue; case UIMSG_ChangeDetaliz: @@ -2934,14 +2934,14 @@ pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] = 100; sub_4196A0(); sub_419379(); - GUIWindow::Create(pCharacterScreen_StatsBtn->uX, pCharacterScreen_StatsBtn->uY, 0, 0, WINDOW_5B, (int)pCharacterScreen_StatsBtn, 0); + GUIWindow::Create(pCharacterScreen_StatsBtn->uX, pCharacterScreen_StatsBtn->uY, 0, 0, WINDOW_CharactersButton, (int)pCharacterScreen_StatsBtn, 0); continue; case UIMSG_ClickSkillsBtn: pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] = 101; sub_4196A0(); sub_419379(); CharacterUI_SkillScreen_Draw(); - GUIWindow::Create(pCharacterScreen_SkillsBtn->uX, pCharacterScreen_SkillsBtn->uY, 0, 0, WINDOW_5B, (int)pCharacterScreen_SkillsBtn, 0); + GUIWindow::Create(pCharacterScreen_SkillsBtn->uX, pCharacterScreen_SkillsBtn->uY, 0, 0, WINDOW_CharactersButton, (int)pCharacterScreen_SkillsBtn, 0); continue; case UIMSG_SkillUp: pPlayer4 = pPlayers[uActiveCharacter]; @@ -2970,7 +2970,7 @@ pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] = 103; sub_419379(); sub_4196A0(); - GUIWindow::Create(pCharacterScreen_InventoryBtn->uX, pCharacterScreen_InventoryBtn->uY, 0, 0, WINDOW_5B, (int)pCharacterScreen_InventoryBtn, 0); + GUIWindow::Create(pCharacterScreen_InventoryBtn->uX, pCharacterScreen_InventoryBtn->uY, 0, 0, WINDOW_CharactersButton, (int)pCharacterScreen_InventoryBtn, 0); continue; case UIMSG_ClickExitCharacterWindowBtn: GUIWindow::Create(pCharacterScreen_ExitBtn->uX, pCharacterScreen_ExitBtn->uY, 0, 0, WINDOW_ExitCharacterWindow, (int)pCharacterScreen_ExitBtn, 0); @@ -2980,7 +2980,7 @@ sub_4196A0(); sub_419220(); pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] = 102; - GUIWindow::Create(pCharacterScreen_AwardsBtn->uX, pCharacterScreen_AwardsBtn->uY, 0, 0, WINDOW_5B, (int)pCharacterScreen_AwardsBtn, 0); + GUIWindow::Create(pCharacterScreen_AwardsBtn->uX, pCharacterScreen_AwardsBtn->uY, 0, 0, WINDOW_CharactersButton, (int)pCharacterScreen_AwardsBtn, 0); FillAwardsData(); continue; case UIMSG_AutonotesBook: @@ -3183,7 +3183,7 @@ if ( pCurrentScreen ) continue; pParty->uFlags |= 2u; - GUIWindow::Create(0x207u, 0x88u, 0, 0, WINDOW_5A, (int)pBtn_ZoomOut, 0); + GUIWindow::Create(0x207u, 0x88u, 0, 0, WINDOW_Button, (int)pBtn_ZoomOut, 0); uNumSeconds = 131072; v118 = 2 * viewparams->uMinimapZoom; ++viewparams->field_28; @@ -3213,7 +3213,7 @@ if ( pCurrentScreen ) continue; pParty->uFlags |= 2u; - GUIWindow::Create(0x23Eu, 0x88u, 0, 0, WINDOW_5A, (int)pBtn_ZoomIn, 0); + GUIWindow::Create(0x23Eu, 0x88u, 0, 0, WINDOW_Button, (int)pBtn_ZoomIn, 0); uNumSeconds = 32768; v118 = (unsigned __int64)((signed __int64)(signed int)viewparams->uMinimapZoom << 15) >> 16; --viewparams->field_28; @@ -3356,19 +3356,19 @@ switch (pUIMessageType) // For buttons of window MainMenu { case UIMSG_MainMenu_ShowPartyCreationWnd: - GUIWindow::Create(495, 172, 0, 0, WINDOW_5A, (int)pMainMenu_BtnNew, 0); + GUIWindow::Create(495, 172, 0, 0, WINDOW_Button, (int)pMainMenu_BtnNew, 0); SetCurrentMenuID(MENU_NEWGAME); break; case UIMSG_MainMenu_ShowLoadWindow: - GUIWindow::Create(495, 227, 0, 0, WINDOW_5A, (int)pMainMenu_BtnLoad, 0); + GUIWindow::Create(495, 227, 0, 0, WINDOW_Button, (int)pMainMenu_BtnLoad, 0); SetCurrentMenuID(MENU_SAVELOAD); break; case UIMSG_ShowCredits: - GUIWindow::Create(495, 282, 0, 0, WINDOW_5A, (int)pMainMenu_BtnCredits, 0); + GUIWindow::Create(495, 282, 0, 0, WINDOW_Button, (int)pMainMenu_BtnCredits, 0); SetCurrentMenuID(MENU_CREDITS); break; case UIMSG_ExitToWindows: - GUIWindow::Create(495, 337, 0, 0, WINDOW_5A, (int)pMainMenu_BtnExit, 0); + GUIWindow::Create(495, 337, 0, 0, WINDOW_Button, (int)pMainMenu_BtnExit, 0); SetCurrentMenuID(MENU_FINISHED); break; case UIMSG_PlayerCreation_SelectAttribute: @@ -3444,12 +3444,12 @@ //v1 = (char *)pParty->pPlayers; break; case UIMSG_PlayerCreationClickPlus: - GUIWindow::Create(613, 393, 0, 0, WINDOW_5A, (int)pPlayerCreationUI_BtnPlus, 1); + GUIWindow::Create(613, 393, 0, 0, WINDOW_Button, (int)pPlayerCreationUI_BtnPlus, 1); pPlayer[uPlayerCreationUI_SelectedCharacter].IncreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7); pAudioPlayer->PlaySound((SoundID)20, 0, 0, -1, 0, 0, 0, 0); break; case UIMSG_PlayerCreationClickMinus: - GUIWindow::Create(523, 393, 0, 0, WINDOW_5A, (int)pPlayerCreationUI_BtnMinus, 1); + GUIWindow::Create(523, 393, 0, 0, WINDOW_Button, (int)pPlayerCreationUI_BtnMinus, 1); pPlayer[uPlayerCreationUI_SelectedCharacter].DecreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7); pAudioPlayer->PlaySound((SoundID)23, 0, 0, -1, 0, 0, 0, 0); break; @@ -3467,14 +3467,14 @@ pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); break; case UIMSG_PlayerCreationClickOK: - GUIWindow::Create(580, 431, 0, 0, WINDOW_5A, (int)pPlayerCreationUI_BtnOK, 0); + GUIWindow::Create(580, 431, 0, 0, WINDOW_Button, (int)pPlayerCreationUI_BtnOK, 0); if ( PlayerCreation_ComputeAttributeBonus() || !PlayerCreation_Chose4Skills() ) GameUI_Footer_TimeLeft = GetTickCount() + 4000; else uGameState = 6; break; case UIMSG_PlayerCreationClickReset: - GUIWindow::Create(527, 431, 0, 0, WINDOW_5A, (int)pPlayerCreationUI_BtnReset, 0); + GUIWindow::Create(527, 431, 0, 0, WINDOW_Button, (int)pPlayerCreationUI_BtnReset, 0); pParty->Reset(); break; case UIMSG_PlayerCreationRemoveUpSkill: @@ -3506,7 +3506,7 @@ case UIMSG_LoadGame: if (!pSavegameUsedSlots[uLoadGameUI_SelectedSlot]) break; - SetCurrentMenuID(MENU_LOADINGPROC); + SetCurrentMenuID(MENU_LoadingProcInMainMenu); break; case UIMSG_SelectLoadSlot: //main menu save/load wnd clicking on savegame lines @@ -3518,7 +3518,7 @@ v26 = uNum + pSaveListPosition; if ( dword_6BE138 == uNum + pSaveListPosition ) { - pMessageQueue_50CBD0->AddMessage(UIMSG_LoadSlot, 0, 0); + pMessageQueue_50CBD0->AddMessage(UIMSG_SaveLoadBtn, 0, 0); pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); } uLoadGameUI_SelectedSlot = v26; @@ -3532,8 +3532,8 @@ pKeyActionMap->uNumKeysPressed = strlen((const char *)pKeyActionMap->pPressedKeysBuffer); } break; - case UIMSG_LoadSlot: - GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 241, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, WINDOW_5E, (int)pBtnLoadSlot, 0); + case UIMSG_SaveLoadBtn: + GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 241, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, WINDOW_SaveLoadBtn, (int)pBtnLoadSlot, 0); break; case UIMSG_DownArrow: ++pSaveListPosition; @@ -3542,7 +3542,7 @@ if ( pSaveListPosition < 1 ) pSaveListPosition = 0; pWindow = pGUIWindow_CurrentMenu; - GUIWindow::Create(pWindow->uFrameX + 215, pGUIWindow_CurrentMenu->uFrameY + 323, 0, 0, WINDOW_5A, (int)pBtnDownArrow, 0); + GUIWindow::Create(pWindow->uFrameX + 215, pGUIWindow_CurrentMenu->uFrameY + 323, 0, 0, WINDOW_Button, (int)pBtnDownArrow, 0); break; case UIMSG_Cancel: GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 350, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, WINDOW_LoadGame_CancelBtn, (int)pBtnCancel, 0); @@ -3552,14 +3552,14 @@ if ( pSaveListPosition < 0 ) pSaveListPosition = 0; pWindow = pGUIWindow_CurrentMenu; - GUIWindow::Create(pWindow->uFrameX + 215, pGUIWindow_CurrentMenu->uFrameY + 197, 0, 0, WINDOW_5A, (int)pBtnArrowUp, 0); + GUIWindow::Create(pWindow->uFrameX + 215, pGUIWindow_CurrentMenu->uFrameY + 197, 0, 0, WINDOW_Button, (int)pBtnArrowUp, 0); break; case UIMSG_AD: - GUIWindow::Create(pMainMenu_BtnNew->uX, pMainMenu_BtnNew->uY, 0, 0, WINDOW_5A, (int)pMainMenu_BtnNew, 0); - SetCurrentMenuID(MENU_LOADINGPROC); + GUIWindow::Create(pMainMenu_BtnNew->uX, pMainMenu_BtnNew->uY, 0, 0, WINDOW_Button, (int)pMainMenu_BtnNew, 0); + SetCurrentMenuID(MENU_LoadingProcInMainMenu); break; case UIMSG_AE: - GUIWindow::Create(pMainMenu_BtnExit->uX, pMainMenu_BtnExit->uY, 0, 0, WINDOW_5A, (int)pMainMenu_BtnExit, 0); + GUIWindow::Create(pMainMenu_BtnExit->uX, pMainMenu_BtnExit->uY, 0, 0, WINDOW_Button, (int)pMainMenu_BtnExit, 0); SetCurrentMenuID(MENU_10); break; case UIMSG_Escape: @@ -9674,7 +9674,7 @@ //----- (00410DEC) -------------------------------------------------------- unsigned int __cdecl DrawLloydBeaconsScreen() { - Player *v0; // esi@1 + Player *pPlayer; // esi@1 char *v1; // eax@1 unsigned __int16 v2; // ax@6 unsigned int result; // eax@11 @@ -9689,14 +9689,8 @@ char *v12; // eax@19 char *v13; // ecx@22 int v14; // eax@27 - unsigned int v15; // [sp-10h] [bp-98h]@25 - unsigned __int16 v16; // [sp-Ch] [bp-94h]@25 - int v17; // [sp-8h] [bp-90h]@21 - char *v18; // [sp-8h] [bp-90h]@25 Texture *v19; // [sp-4h] [bp-8Ch]@4 - char *v20; // [sp-4h] [bp-8Ch]@21 - unsigned int v21; // [sp-4h] [bp-8Ch]@25 - GUIWindow v22; // [sp+Ch] [bp-7Ch]@1 + GUIWindow pWindow; // [sp+Ch] [bp-7Ch]@1 unsigned int v23; // [sp+64h] [bp-24h]@14 __int64 v24; // [sp+68h] [bp-20h]@14 unsigned int v25; // [sp+70h] [bp-18h]@13 @@ -9706,19 +9700,19 @@ RGBTexture *v29; // [sp+80h] [bp-8h]@12 int uNumMaxBeacons; // [sp+84h] [bp-4h]@6 - v0 = &pParty->pPlayers[_506348_current_lloyd_playerid]; + pPlayer = &pParty->pPlayers[_506348_current_lloyd_playerid]; pRenderer->DrawTextureIndexed(8u, 8u, pTexture_LloydBeacons[(unsigned __int8)bRecallingBeacon]); v1 = pGlobalTXT_LocalizationStrings[523]; // Recall Beacon - v22.uFrameX = game_viewport_x; - v22.uFrameY = game_viewport_y; - v22.uFrameWidth = 428; - v22.uFrameHeight = game_viewport_height; - v22.uFrameZ = 435; - v22.uFrameW = game_viewport_w; + pWindow.uFrameX = game_viewport_x; + pWindow.uFrameY = game_viewport_y; + pWindow.uFrameWidth = 428; + pWindow.uFrameHeight = game_viewport_height; + pWindow.uFrameZ = 435; + pWindow.uFrameW = game_viewport_w; if ( !bRecallingBeacon ) v1 = pGlobalTXT_LocalizationStrings[375]; // Set Beacon sprintf(pTmpBuf, "%s", v1); - v22.DrawTitleText(pBook2Font, 0, 22u, 0, pTmpBuf, 3u); + pWindow.DrawTitleText(pBook2Font, 0, 22u, 0, pTmpBuf, 3u); if ( bRecallingBeacon ) { pRenderer->DrawTextureTransparent(pBtn_Book_1->uX, pBtn_Book_1->uY, pTex_tab_an_6b__zoom_on); @@ -9730,7 +9724,7 @@ v19 = pTex_tab_an_6b__zoom_on; } pRenderer->DrawTextureTransparent(pBtn_Book_2->uX, pBtn_Book_2->uY, v19); - v2 = v0->pActiveSkills[14]; + v2 = pPlayer->pActiveSkills[14]; uNumMaxBeacons = 1; if ( HIBYTE(v2) & 1 || (v2 & 0x80u) != 0 ) { @@ -9746,33 +9740,26 @@ if ( uNumMaxBeacons > 0 ) { v29 = pSavegameThumbnails; - v28 = v0->pInstalledBeacons; + v28 = pPlayer->pInstalledBeacons; while ( 1 ) { - v22.uFrameWidth = 92; + pWindow.uFrameWidth = 92; v4 = result; - v22.uFrameHeight = 68; + pWindow.uFrameHeight = 68; v5 = pLloydsBeaconsPreviewXs[result]; - v22.uFrameY = pLloydsBeaconsPreviewYs[result]; - v25 = v22.uFrameY; - v22.uFrameX = v5; - v22.uFrameW = v22.uFrameY + 67; + pWindow.uFrameY = pLloydsBeaconsPreviewYs[result]; + v25 = pWindow.uFrameY; + pWindow.uFrameX = v5; + pWindow.uFrameW = pWindow.uFrameY + 67; v6 = v29->pPixels == 0; - v22.uFrameZ = v5 + 91; + pWindow.uFrameZ = v5 + 91; if ( !v6 ) break; if ( !bRecallingBeacon ) { - pRenderer->DrawTextureTransparent( - pLloydsBeacons_SomeXs[v4], - pLloydsBeacons_SomeYs[v4], - pTexture_CurrentBook); - v21 = 3; - v18 = pGlobalTXT_LocalizationStrings[19]; - v16 = 1; - v14 = pSpellFont->CalcTextHeight(pGlobalTXT_LocalizationStrings[19], &v22, 0, 0); - v15 = (signed int)v22.uFrameHeight / 2 - v14 / 2; - goto LABEL_28; + pRenderer->DrawTextureTransparent(pLloydsBeacons_SomeXs[v4], pLloydsBeacons_SomeYs[v4], pTexture_CurrentBook); + v14 = pSpellFont->CalcTextHeight(pGlobalTXT_LocalizationStrings[19], &pWindow, 0, 0); + pWindow.DrawTitleText(pSpellFont, 0, (signed int)pWindow.uFrameHeight / 2 - v14 / 2, 1, pGlobalTXT_LocalizationStrings[19], 3); } LABEL_29: ++v29; @@ -9781,16 +9768,13 @@ if ( v27 >= uNumMaxBeacons ) goto LABEL_30; } - pRenderer->DrawTextureTransparent( - pLloydsBeacons_SomeXs[v4], - pLloydsBeacons_SomeYs[v4], - pTexture_CurrentBook); + pRenderer->DrawTextureTransparent(pLloydsBeacons_SomeXs[v4], pLloydsBeacons_SomeYs[v4], pTexture_CurrentBook); pRenderer->DrawTextureRGB(pLloydsBeaconsPreviewXs[v4], pLloydsBeaconsPreviewYs[v4], v29); v7 = v28; Str = pMapStats->pInfos[sub_410D99_get_map_index(HIWORD(v28->field_18))].pName; - v8 = pSpellFont->CalcTextHeight(Str, &v22, 0, 0); - v22.uFrameY += -6 - v8; - v22.DrawTitleText(pSpellFont, 0, 0, 1u, Str, 3u); + v8 = pSpellFont->CalcTextHeight(Str, &pWindow, 0, 0); + pWindow.uFrameY += -6 - v8; + pWindow.DrawTitleText(pSpellFont, 0, 0, 1u, Str, 3u); v9 = v7->uBeaconTime - pParty->uTimePlayed; LODWORD(v24) = LODWORD(v7->uBeaconTime) - LODWORD(pParty->uTimePlayed); HIDWORD(v24) = HIDWORD(v9); @@ -9802,18 +9786,9 @@ v13 = pGlobalTXT_LocalizationStrings[57]; // Days if ( v11 > 1 ) { -LABEL_24: - v20 = v13; - v17 = v11 + 1; -LABEL_25: - sprintf(pTmpBuf, "%lu %s", v17, v20); - v21 = 3; - v18 = pTmpBuf; - v16 = 1; - v22.uFrameY = v25 + v22.uFrameHeight + 4; - v15 = 0; -LABEL_28: - v22.DrawTitleText(pSpellFont, 0, v15, v16, v18, v21); + sprintf(pTmpBuf, "%lu %s", v11 + 1, v13); + pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4; + pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3); goto LABEL_29; } } @@ -9825,13 +9800,17 @@ v12 = pGlobalTXT_LocalizationStrings[109];// Hour else v12 = pGlobalTXT_LocalizationStrings[110];// Hours - v20 = v12; - v17 = v10 + 1; - goto LABEL_25; + sprintf(pTmpBuf, "%lu %s", v10 + 1, v12); + pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4; + pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3); + goto LABEL_29; } } v13 = pGlobalTXT_LocalizationStrings[56]; // Day - goto LABEL_24; + sprintf(pTmpBuf, "%lu %s", v11 + 1, v13); + pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4; + pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3); + goto LABEL_29; } LABEL_30: if ( byte_506360 ) @@ -9839,13 +9818,13 @@ /*result = pMessageQueue_50CBD0->uNumMessages; if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) { - pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)181; + pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_CloseAfterInstallBeacon; pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; result = 3 * pMessageQueue_50CBD0->uNumMessages + 3; *(&pMessageQueue_50CBD0->uNumMessages + result) = 0; ++pMessageQueue_50CBD0->uNumMessages; }*/ - pMessageQueue_50CBD0->AddMessage(UIMSG_B5, 0, 0); + pMessageQueue_50CBD0->AddMessage(UIMSG_CloseAfterInstallBeacon, 0, 0); } return result; } @@ -10307,31 +10286,31 @@ pWindowType = pWindow->eWindowType; switch (pWindow->eWindowType) { - case WINDOW_MainMenu_Load: - { - GameUI_MainMenu_DrawLoad(); - break; - } - case WINDOW_5E: // window that initiates savegame loading - { - if (pWindow->Hint != (char *)1) - pAudioPlayer->PlaySound(SOUND_Button2, 0, 0, -1, 0, 0, 0, 0); - auto pGUIButton3 = (GUIButton *)pWindow->ptr_1C; - pRenderer->DrawTextureIndexed(pWindow->uFrameX, pWindow->uFrameY, pGUIButton3->pTextures[0]); - pHint = pWindow->Hint; - viewparams->bRedrawGameUI = 1; - if ( pHint && pHint != (char *)1 ) - pGUIButton3->DrawLabel(pHint, pFontCreate, 0, 0); - pWindow->Release(); - if (pCurrentScreen == SCREEN_SAVEGAME) - pMessageQueue_50CBD0->AddMessage(UIMSG_SaveGame, 0, 0); - else - pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); - break; - } - case WINDOW_3: - { - pTexture = (Texture *)(uTextureID_Options != -1 ? &pIcons_LOD->pTextures[uTextureID_Options] : 0);//pWindowType == 3 (0x3) + case WINDOW_MainMenu_Load: + { + GameUI_MainMenu_DrawLoad(); + break; + } + case WINDOW_SaveLoadBtn: + { + if (pWindow->Hint != (char *)1) + pAudioPlayer->PlaySound(SOUND_Button2, 0, 0, -1, 0, 0, 0, 0); + auto pGUIButton3 = (GUIButton *)pWindow->ptr_1C; + pRenderer->DrawTextureIndexed(pWindow->uFrameX, pWindow->uFrameY, pGUIButton3->pTextures[0]); + pHint = pWindow->Hint; + viewparams->bRedrawGameUI = 1; + if ( pHint && pHint != (char *)1 ) + pGUIButton3->DrawLabel(pHint, pFontCreate, 0, 0); + pWindow->Release(); + if (pCurrentScreen == SCREEN_SAVEGAME) + pMessageQueue_50CBD0->AddMessage(UIMSG_SaveGame, 0, 0); + else + pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); + break; + } + case WINDOW_OptionsButtons: + { + pTexture = (Texture *)(uTextureID_Options != -1 ? &pIcons_LOD->pTextures[uTextureID_Options] : 0); pY = pViewport->uViewportTL_Y; pX = pViewport->uViewportTL_X; pRenderer->DrawTextureIndexed(pX, pY, pTexture); @@ -10408,7 +10387,7 @@ GameMenuUI_DrawKeyBindings(); break; } - case WINDOW_17: + case WINDOW_SaveLoadButtons: { sub_4606FE(); break; @@ -11472,43 +11451,15 @@ i->uX = 0; } } - pBtn_Up = pGUIWindow_CurrentMenu->CreateButton( - 0x1B6u, - 0x2Eu, - (uTextureID_ar_up_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_up_up].uTextureWidth : 24), + pBtn_Up = pGUIWindow_CurrentMenu->CreateButton(438, 46, (uTextureID_ar_up_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_up_up].uTextureWidth : 24), (uTextureID_ar_up_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_up_up].uTextureHeight : 26), - 1, - 0, - UIMSG_A9, 0, - 0, - "", - (Texture *)(uTextureID_ar_up_up != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_up_up] : 0), - uTextureID_ar_up_dn != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_up_dn] : 0, - 0); - pBtn_Down = pGUIWindow_CurrentMenu->CreateButton( - 0x1B6u, - 0x124u, - (uTextureID_ar_dn_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_dn_up].uTextureWidth : 24), + 1, 0, UIMSG_ClickAwardsUpBtn, 0, 0, "", (Texture *)(uTextureID_ar_up_up != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_up_up] : 0), + uTextureID_ar_up_dn != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_up_dn] : 0, 0); + pBtn_Down = pGUIWindow_CurrentMenu->CreateButton(438, 292, (uTextureID_ar_dn_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_dn_up].uTextureWidth : 24), (uTextureID_ar_dn_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_dn_up].uTextureHeight : 26), - 1, - 0, - UIMSG_AA, 0, - 0, - "", - (Texture *)(uTextureID_ar_dn_up != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_dn_up] : 0), - uTextureID_ar_dn_dn != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_dn_dn] : 0, - 0); - ptr_507BA4 = pGUIWindow_CurrentMenu->CreateButton( - 0x1B8u, - 0x3Eu, - 0x10u, - 0xE8u, - 1, - 0, - UIMSG_C0, 0, - 0, - "", - 0); + 1, 0, UIMSG_ClickAwardsDownBtn, 0, 0, "", (Texture *)(uTextureID_ar_dn_up != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_dn_up] : 0), + uTextureID_ar_dn_dn != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_dn_dn] : 0, 0); + ptr_507BA4 = pGUIWindow_CurrentMenu->CreateButton(440, 62, 16, 232, 1, 0, UIMSG_C0, 0, 0, "", 0); } } diff -r 9a5db2cf999a -r 5a12082c803d mm7_6.cpp --- a/mm7_6.cpp Sat May 04 17:45:17 2013 +0600 +++ b/mm7_6.cpp Mon May 06 17:33:40 2013 +0600 @@ -2150,26 +2150,50 @@ case SPELL_SPIRIT_BLESS: if (a4 && ~a4 & 0x01C0) - goto LABEL_25; + //goto LABEL_25; + { + a5 |= 0x0002; + break; + } else if ((player->pActiveSkills[PLAYER_SKILL_SPIRIT] & 0x1C0) == 0); - goto LABEL_25; + //goto LABEL_25; + { + a5 |= 0x0002; + break; + } break; case SPELL_SPIRIT_PRESERVATION: v9 = a4; if ( !a4 ) v9 = player->pActiveSkills[PLAYER_SKILL_SPIRIT]; - goto LABEL_18; + //goto LABEL_18; + v10 = SkillToMastery(v9); + v12 = __OFSUB__(v10, 3); + v11 = ((v10 - 3) & 0x80000000u) != 0; + //goto LABEL_24; + if ( v11 ^ v12 ) + { + a5 |= 0x0002; + break; + } + break; case SPELL_DARK_PAIN_REFLECTION: v9 = a4; if ( !a4 ) v9 = player->pActiveSkills[PLAYER_SKILL_DARK]; -LABEL_18: +//LABEL_18: v10 = SkillToMastery(v9); v12 = __OFSUB__(v10, 3); v11 = ((v10 - 3) & 0x80000000u) != 0; - goto LABEL_24; + //goto LABEL_24; + if ( v11 ^ v12 ) + { + a5 |= 0x0002; + break; + } + break; case SPELL_BODY_HAMMERHANDS: v13 = a4; @@ -2178,9 +2202,13 @@ v14 = SkillToMastery(v13); v12 = __OFSUB__(v14, 4); v11 = ((v14 - 4) & 0x80000000u) != 0; -LABEL_24: +//LABEL_24: if ( v11 ^ v12 ) - goto LABEL_25; + //goto LABEL_25; + { + a5 |= 0x0002; + break; + } break; case SPELL_EARTH_STONE_TO_FLESH: @@ -2194,7 +2222,7 @@ case SPELL_BODY_REGENERATION: case SPELL_BODY_CURE_POISON: case SPELL_BODY_CURE_DISEASE: -LABEL_25: +//LABEL_25: //v6 = a5 | 2; a5 |= 0x0002; break; @@ -2246,11 +2274,11 @@ { if ( pGUIWindow_Settings ) return; - pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_1B, (int)&pCastSpellInfo[result], 0); - pGUIWindow_Settings->CreateButton(0x34u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_45, 0, 0x31u, "", 0); - pGUIWindow_Settings->CreateButton(0xA5u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_45, 1u, 0x32u, "", 0); - pGUIWindow_Settings->CreateButton(0x118u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_45, 2u, 0x33u, "", 0); - pGUIWindow_Settings->CreateButton(0x186u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_45, 3u, 0x34u, "", 0); + pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_CastSpell, (int)&pCastSpellInfo[result], 0); + pGUIWindow_Settings->CreateButton(52, 422, 35, 0, 2, 0, UIMSG_CastSpell_SPIRIT_Preservation, 0, 49, "", 0); + pGUIWindow_Settings->CreateButton(165, 422, 35, 0, 2, 0, UIMSG_CastSpell_SPIRIT_Preservation, 1, 50, "", 0); + pGUIWindow_Settings->CreateButton(280, 422, 35, 0, 2, 0, UIMSG_CastSpell_SPIRIT_Preservation, 2, 51, "", 0); + pGUIWindow_Settings->CreateButton(390, 422, 35, 0, 2, 0, UIMSG_CastSpell_SPIRIT_Preservation, 3, 52, "", 0); sub_421B2C_PlaceInInventory_or_DropPickedItem(); return; } @@ -2259,8 +2287,8 @@ if ( pGUIWindow_Settings ) return; - pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_1B, (int)&pCastSpellInfo[result], 0); - pGUIWindow_Settings->CreateButton(game_viewport_x, game_viewport_y, game_viewport_width, game_viewport_height, 1, 0, UIMSG_46, 0, 0, "", 0); + pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_CastSpell, (int)&pCastSpellInfo[result], 0); + pGUIWindow_Settings->CreateButton(game_viewport_x, game_viewport_y, game_viewport_width, game_viewport_height, 1, 0, UIMSG_CastSpell_SmallShot, 0, 0, "", 0); sub_421B2C_PlaceInInventory_or_DropPickedItem(); return; } @@ -2269,8 +2297,8 @@ if ( pGUIWindow_Settings ) return; - pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_1B, (int)&pCastSpellInfo[result], 0); - pGUIWindow_Settings->CreateButton(game_viewport_x, game_viewport_y, game_viewport_width, game_viewport_height, 1, 0, UIMSG_BE, 0, 0, "", 0); + pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_CastSpell, (int)&pCastSpellInfo[result], 0); + pGUIWindow_Settings->CreateButton(game_viewport_x, game_viewport_y, game_viewport_width, game_viewport_height, 1, 0, UIMSG_CastSpell_BE, 0, 0, "", 0); sub_421B2C_PlaceInInventory_or_DropPickedItem(); return; } @@ -2291,17 +2319,17 @@ { if ( pGUIWindow_Settings ) return; - pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_1B, (int)&pCastSpellInfo[result], 0); - pGUIWindow_Settings->CreateButton(0x34u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_8D, 0, 0x31u, "", 0); - pGUIWindow_Settings->CreateButton(0xA5u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_8D, 1, 0x32u, "", 0); - pGUIWindow_Settings->CreateButton(0x118u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_8D, 2, 0x33u, "", 0); - pGUIWindow_Settings->CreateButton(0x186u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_8D, 3, 0x34u, "", 0); - pGUIWindow_Settings->CreateButton(8, 8, game_viewport_width, game_viewport_height, 1, 0, UIMSG_8C, 0, 0, "", NULL); - sub_421B2C_PlaceInInventory_or_DropPickedItem(); + pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_CastSpell, (int)&pCastSpellInfo[result], 0); + pGUIWindow_Settings->CreateButton(0x34u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_CastSpell_8D, 0, 0x31u, "", 0); + pGUIWindow_Settings->CreateButton(0xA5u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_CastSpell_8D, 1, 0x32u, "", 0); + pGUIWindow_Settings->CreateButton(0x118u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_CastSpell_8D, 2, 0x33u, "", 0); + pGUIWindow_Settings->CreateButton(0x186u, 0x1A6u, 0x23u, 0, 2, 0, UIMSG_CastSpell_8D, 3, 0x34u, "", 0); + pGUIWindow_Settings->CreateButton(8, 8, game_viewport_width, game_viewport_height, 1, 0, UIMSG_CastSpell_GreatShot, 0, 0, "", NULL); + sub_421B2C_PlaceInInventory_or_DropPickedItem(); } if ( HIBYTE(a5) & 2 && !pGUIWindow_Settings ) { - pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_1B, (int)&pCastSpellInfo[result], 0); + pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, WINDOW_CastSpell, (int)&pCastSpellInfo[result], 0); pBtn_NPCLeft = pGUIWindow_Settings->CreateButton(469, 178, pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureWidth, pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureHeight, @@ -5393,7 +5421,7 @@ if ( pPlayer->sMana >= (signed int)uRequiredMana ) { pEventTimer->Pause(); - pMessageQueue_50CBD0->AddMessage(UIMSG_B1, 0, 0); + pMessageQueue_50CBD0->AddMessage(UIMSG_OnCastLloydsBeacon, 0, 0); qword_506350 = (signed int)v733; _506348_current_lloyd_playerid = pCastSpell->uPlayerID; ::uRequiredMana = v319; @@ -7625,7 +7653,7 @@ CASE(UIMSG_StartNPCDialogue) CASE(UIMSG_ArrowUp) CASE(UIMSG_DownArrow) - CASE(UIMSG_LoadSlot) + CASE(UIMSG_SaveLoadBtn) CASE(UIMSG_SelectLoadSlot) CASE(UIMSG_Cancel) CASE(UIMSG_ExitRest)