Mercurial > mm7
diff UI/UITransition.cpp @ 1762:2b8b748a222a
Слияние
author | Ritor1 |
---|---|
date | Tue, 01 Oct 2013 09:33:38 +0600 |
parents | 11f5c0ac170a |
children | 28cb79ae2f6f |
line wrap: on
line diff
--- a/UI/UITransition.cpp Tue Oct 01 09:33:29 2013 +0600 +++ b/UI/UITransition.cpp Tue Oct 01 09:33:38 2013 +0600 @@ -102,14 +102,9 @@ uCurrentHouse_Animation = IndoorLocation::GetLocationIndex(pLocationName); } - - - //----- (00444C8F) -------------------------------------------------------- void TravelUI_Load() { - unsigned int v1; // eax@6 - GUIWindow *result; // eax@9 char pContainer[32]; // [sp+0h] [bp-28h]@1 pEventTimer->Pause(); @@ -124,88 +119,57 @@ pTexture_Dialogue_Background = pIcons_LOD->LoadTexturePtr(pContainer, TEXTURE_16BIT_PALETTE); pTexture_outside = pIcons_LOD->LoadTexturePtr("outside", TEXTURE_16BIT_PALETTE); - v1 = pMapStats->GetMapInfo(pCurrentMapName); - if ( v1 ) - sprintfex(sHouseName.data(), pGlobalTXT_LocalizationStrings[410], pMapStats->pInfos[v1].pName);// "Leave %s" + if ( pMapStats->GetMapInfo(pCurrentMapName) ) + sprintfex(sHouseName.data(), pGlobalTXT_LocalizationStrings[410], pMapStats->pInfos[pMapStats->GetMapInfo(pCurrentMapName)].pName);// "Leave %s" else strcpy(sHouseName.data(), pGlobalTXT_LocalizationStrings[79]);// "Exit" pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_ChangeLocation, 0, sHouseName.data()); } - - //----- (00444DCA) -------------------------------------------------------- void TravelUI_Draw() { - unsigned int v0; // edi@1 - MapInfo *v1; // edi@2 - signed int v3; // eax@2 - int v4; // eax@5 - const char *v5; // [sp-Ch] [bp-90h]@3 - signed int v6; // [sp-8h] [bp-8Ch]@3 - GUIWindow v7; // [sp+Ch] [bp-78h]@1 + GUIWindow travel_window; // [sp+Ch] [bp-78h]@1 char pDestinationMapName[32]; // [sp+60h] [bp-24h]@1 - unsigned int v9; // [sp+80h] [bp-4h]@1 - memcpy(&v7, pPrimaryWindow, sizeof(v7)); - v9 = pMapStats->GetMapInfo(pCurrentMapName); + memcpy(&travel_window, pPrimaryWindow, sizeof(travel_window)); pOutdoor->GetTravelDestination(pParty->vPosition.x, pParty->vPosition.y, pDestinationMapName, 20); - v0 = pMapStats->GetMapInfo(pDestinationMapName); - pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background); - pRenderer->DrawTextureTransparent(0x1D4u, 0, &pIcons_LOD->pTextures[uTextureID_right_panel_loop]); + pRenderer->DrawTextureIndexed(477, 0, pTexture_Dialogue_Background); + pRenderer->DrawTextureTransparent(468, 0, &pIcons_LOD->pTextures[uTextureID_right_panel_loop]); pRenderer->DrawTextureIndexed(pNPCPortraits_x[0][0], pNPCPortraits_y[0][0], pTexture_outside); - pRenderer->DrawTextureIndexed(0x22Cu, 0x1C3u, pIcons_LOD->GetTexture(uTextureID_x_x_u)); - pRenderer->DrawTextureIndexed(0x1DCu, 0x1C3u, pIcons_LOD->GetTexture(uTextureID_x_ok_u)); - if ( v0 ) + pRenderer->DrawTextureIndexed(556, 451, pIcons_LOD->GetTexture(uTextureID_x_x_u)); + pRenderer->DrawTextureIndexed(476, 451, pIcons_LOD->GetTexture(uTextureID_x_ok_u)); + if ( pMapStats->GetMapInfo(pDestinationMapName) ) { - v1 = &pMapStats->pInfos[v0]; - v7.uFrameX = 493; - v7.uFrameWidth = 126; - v7.uFrameZ = 366; - v7.DrawTitleText(pFontCreate, 0, 4u, 0, v1->pName, 3); - v7.uFrameX = 483; - v7.uFrameWidth = 148; - v7.uFrameZ = 334; - v3 = GetTravelTime(); - if ( v3 == 1 ) - { - v6 = 1; - v5 = pGlobalTXT_LocalizationStrings[663]; // "It will take %d day to cross to %s." - } + travel_window.uFrameX = 493; + travel_window.uFrameWidth = 126; + travel_window.uFrameZ = 366; + travel_window.DrawTitleText(pFontCreate, 0, 4, 0, pMapStats->pInfos[pMapStats->GetMapInfo(pDestinationMapName)].pName, 3); + travel_window.uFrameX = 483; + travel_window.uFrameWidth = 148; + travel_window.uFrameZ = 334; + if ( GetTravelTime() == 1 ) + sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[663], 1, pMapStats->pInfos[pMapStats->GetMapInfo(pDestinationMapName)].pName);// "It will take %d day to cross to %s." else - { - v6 = v3; - v5 = pGlobalTXT_LocalizationStrings[128]; // "It will take %d days to travel to %s." - } - sprintfex(pTmpBuf.data(), v5, v6, v1->pName); + sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[128], GetTravelTime(), pMapStats->pInfos[pMapStats->GetMapInfo(pDestinationMapName)].pName);// "It will take %d days to travel to %s." + strcat(pTmpBuf.data(), "\n \n"); - sprintfex(pTmpBuf2.data(), pGlobalTXT_LocalizationStrings[126], pMapStats->pInfos[v9].pName); + sprintfex(pTmpBuf2.data(), pGlobalTXT_LocalizationStrings[126], pMapStats->pInfos[pMapStats->GetMapInfo(pCurrentMapName)].pName); strcat(pTmpBuf.data(), pTmpBuf2.data()); - v4 = pFontCreate->CalcTextHeight(pTmpBuf.data(), &v7, 0, 0); - v7.DrawTitleText(pFontCreate, 0, (212 - v4) / 2 + 101, 0, pTmpBuf.data(), 3); + travel_window.DrawTitleText(pFontCreate, 0, (212 - pFontCreate->CalcTextHeight(pTmpBuf.data(), &travel_window, 0, 0)) / 2 + 101, 0, pTmpBuf.data(), 3); _unused_5B5924_is_travel_ui_drawn = 1; } } - - //----- (00444A51) -------------------------------------------------------- void TransitionUI_Draw() { - MapInfo *pMapInfo; // esi@5 - char *v1; // eax@6 - std::string v3; // [sp-18h] [bp-84h]@11 unsigned int v4; // [sp-10h] [bp-7Ch]@12 - int v5; // [sp-Ch] [bp-78h]@12 - const char *v6; // [sp-8h] [bp-74h]@11 - signed int v7; // [sp-4h] [bp-70h]@11 - GUIWindow v8; // [sp+Ch] [bp-60h]@1 + GUIWindow transition_window; // [sp+Ch] [bp-60h]@1 unsigned int v9; // [sp+60h] [bp-Ch]@1 - unsigned int v10; // [sp+64h] [bp-8h]@1 - int a3; // [sp+6Bh] [bp-1h]@11 + unsigned int map_id; // [sp+64h] [bp-8h]@1 - memcpy(&v8, pPrimaryWindow, sizeof(v8)); - v10 = pMapStats->GetMapInfo(pCurrentMapName); + memcpy(&transition_window, pPrimaryWindow, sizeof(transition_window)); v9 = IndoorLocation::GetLocationIndex(dword_591164_teleport_map_name); pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background); pRenderer->DrawTextureIndexed(pNPCPortraits_x[0][0] - 4, pNPCPortraits_y[0][0] - 4, pIcons_LOD->GetTexture(uTextureID_50795C)); @@ -214,29 +178,27 @@ pRenderer->DrawTextureTransparent(468, 0, pIcons_LOD->GetTexture(uTextureID_right_panel)); pRenderer->DrawTextureIndexed(556, 451, pIcons_LOD->GetTexture(uTextureID_x_x_u)); pRenderer->DrawTextureIndexed(476, 451, pIcons_LOD->GetTexture(uTextureID_x_ok_u)); + map_id = pMapStats->GetMapInfo(pCurrentMapName); if ( (pVideoPlayer->AnyMovieLoaded() || v9) && *dword_591164_teleport_map_name != ' ' ) - v10 = pMapStats->GetMapInfo(dword_591164_teleport_map_name); - pMapInfo = &pMapStats->pInfos[v10]; - v8.uFrameX = 493; - v8.uFrameWidth = 126; - v8.uFrameZ = 366; - v8.DrawTitleText(pFontCreate, 0, 5u, 0, pMapInfo->pName, 3); - v8.uFrameX = 483; - v8.uFrameWidth = 148; - v8.uFrameZ = 334; + map_id = pMapStats->GetMapInfo(dword_591164_teleport_map_name); + transition_window.uFrameX = 493; + transition_window.uFrameWidth = 126; + transition_window.uFrameZ = 366; + transition_window.DrawTitleText(pFontCreate, 0, 5, 0, pMapStats->pInfos[map_id].pName, 3); + transition_window.uFrameX = 483; + transition_window.uFrameWidth = 148; + transition_window.uFrameZ = 334; - v1 = ""; if ( uCurrentHouse_Animation ) { - v1 = pTransitionStrings[uCurrentHouse_Animation]; - v4 = (212 - pFontCreate->CalcTextHeight(v1, &v8, 0, 0)) / 2 + 101; - v8.DrawTitleText(pFontCreate, 0, v4, 0, v1, 3); + v4 = (212 - pFontCreate->CalcTextHeight(pTransitionStrings[uCurrentHouse_Animation], &transition_window, 0, 0)) / 2 + 101; + transition_window.DrawTitleText(pFontCreate, 0, v4, 0, pTransitionStrings[uCurrentHouse_Animation], 3); } - else if ( v10 ) + else if ( map_id ) { - sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[409], pMapInfo->pName);// "Do you wish to leave %s?" - v4 = (212 - pFontCreate->CalcTextHeight(pTmpBuf.data(), &v8, 0, 0)) / 2 + 101; - v8.DrawTitleText(pFontCreate, 0, v4, 0, pTmpBuf.data(), 3); + sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[409], pMapStats->pInfos[map_id].pName);// "Do you wish to leave %s?" + v4 = (212 - pFontCreate->CalcTextHeight(pTmpBuf.data(), &transition_window, 0, 0)) / 2 + 101; + transition_window.DrawTitleText(pFontCreate, 0, v4, 0, pTmpBuf.data(), 3); } else Error("Troubles in da house");