comparison mm7_5.cpp @ 1205:8c02e6f74b29

arrays to std::arrays phase 2 - mm7_data.h converted
author Grumpy7
date Sun, 09 Jun 2013 00:30:48 +0200
parents 0dbf6c4dd029
children ab6560001f5b
comparison
equal deleted inserted replaced
1204:832f09144726 1205:8c02e6f74b29
611 pGUIWindow_CurrentMenu->CreateButton(350u, 224u, 70u, 0x13u, 1, 0, UIMSG_ChangeKeyButton, 0xBu, 0, "", 0); 611 pGUIWindow_CurrentMenu->CreateButton(350u, 224u, 70u, 0x13u, 1, 0, UIMSG_ChangeKeyButton, 0xBu, 0, "", 0);
612 pGUIWindow_CurrentMenu->CreateButton(350u, 243u, 70u, 0x13u, 1, 0, UIMSG_ChangeKeyButton, 0xCu, 0, "", 0); 612 pGUIWindow_CurrentMenu->CreateButton(350u, 243u, 70u, 0x13u, 1, 0, UIMSG_ChangeKeyButton, 0xCu, 0, "", 0);
613 pGUIWindow_CurrentMenu->CreateButton(350u, 262u, 70u, 0x13u, 1, 0, UIMSG_ChangeKeyButton, 0xDu, 0, "", 0); 613 pGUIWindow_CurrentMenu->CreateButton(350u, 262u, 70u, 0x13u, 1, 0, UIMSG_ChangeKeyButton, 0xDu, 0, "", 0);
614 uGameMenuUI_CurentlySelectedKeyIdx = -1; 614 uGameMenuUI_CurentlySelectedKeyIdx = -1;
615 KeyboardPageNum = 1; 615 KeyboardPageNum = 1;
616 memset(GameMenuUI_InvaligKeyBindingsFlags, 0, sizeof(GameMenuUI_InvaligKeyBindingsFlags)); 616 memset(GameMenuUI_InvaligKeyBindingsFlags.data(), 0, sizeof(GameMenuUI_InvaligKeyBindingsFlags));
617 //*(_WORD *)KeyButtonArray[28] = 0; 617 //*(_WORD *)KeyButtonArray[28] = 0;
618 memcpy(pPrevVirtualCidesMapping, pKeyActionMap->pVirtualKeyCodesMapping, 0x78u); 618 memcpy(pPrevVirtualCidesMapping.data(), pKeyActionMap->pVirtualKeyCodesMapping, 0x78u);
619 //v1 = ""; 619 //v1 = "";
620 //v0 = 1; 620 //v0 = 1;
621 continue; 621 continue;
622 case UIMSG_ChangeKeyButton: 622 case UIMSG_ChangeKeyButton:
623 if ( uGameMenuUI_CurentlySelectedKeyIdx != -1 ) 623 if ( uGameMenuUI_CurentlySelectedKeyIdx != -1 )
1363 DialogueEnding(); 1363 DialogueEnding();
1364 pCurrentScreen = SCREEN_GAME; 1364 pCurrentScreen = SCREEN_GAME;
1365 viewparams->bRedrawGameUI = true; 1365 viewparams->bRedrawGameUI = true;
1366 continue; 1366 continue;
1367 case SCREEN_BRANCHLESS_NPC_DIALOG://click escape 1367 case SCREEN_BRANCHLESS_NPC_DIALOG://click escape
1368 memset(GameUI_Footer_TimedString, 0, 0xC8u); 1368 memset(GameUI_Footer_TimedString.data(), 0, 0xC8u);
1369 sub_4452BB(); 1369 sub_4452BB();
1370 DialogueEnding(); 1370 DialogueEnding();
1371 pCurrentScreen = SCREEN_GAME; 1371 pCurrentScreen = SCREEN_GAME;
1372 viewparams->bRedrawGameUI = true; 1372 viewparams->bRedrawGameUI = true;
1373 continue; 1373 continue;
1642 } 1642 }
1643 else 1643 else
1644 { 1644 {
1645 EventProcessor(dword_5C3418, 0, 1, dword_5C341C); 1645 EventProcessor(dword_5C3418, 0, 1, dword_5C341C);
1646 } 1646 }
1647 if ( !_stricmp(byte_6BE3B0, "d05.blv") ) 1647 if ( !_stricmp(byte_6BE3B0.data(), "d05.blv") )
1648 pParty->uTimePlayed += 1474560i64; 1648 pParty->uTimePlayed += 1474560i64;
1649 continue; 1649 continue;
1650 case UIMSG_TransitionWindowCloseBtn: 1650 case UIMSG_TransitionWindowCloseBtn:
1651 CloseWindowBackground(); 1651 CloseWindowBackground();
1652 pVideoPlayer->Unload(); 1652 pVideoPlayer->Unload();
1662 if ( pMessageQueue_50CBD0->uNumMessages ) 1662 if ( pMessageQueue_50CBD0->uNumMessages )
1663 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; 1663 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0;
1664 dword_50CDC8 = 1; 1664 dword_50CDC8 = 1;
1665 sub_42FBDD(); 1665 sub_42FBDD();
1666 pNPCData4 = (NPCData *)GetTravelTime(); 1666 pNPCData4 = (NPCData *)GetTravelTime();
1667 strcpy(pOutdoor->pLevelFilename, pCurrentMapName); 1667 strcpy(pOutdoor->pLevelFilename, pCurrentMapName.data());
1668 if ( bUnderwater != 1 && pParty->bFlying 1668 if ( bUnderwater != 1 && pParty->bFlying
1669 || pOutdoor->GetTravelDestination(pParty->vPosition.x, pParty->vPosition.y, pOut, 20) != 1 ) 1669 || pOutdoor->GetTravelDestination(pParty->vPosition.x, pParty->vPosition.y, pOut, 20) != 1 )
1670 { 1670 {
1671 viewparams->bRedrawGameUI = 1; 1671 viewparams->bRedrawGameUI = 1;
1672 CloseWindowBackground(); 1672 CloseWindowBackground();
1720 while ( (signed int)pPlayer8 < (signed int)pParty->pHirelings ); 1720 while ( (signed int)pPlayer8 < (signed int)pParty->pHirelings );
1721 ++pParty->days_played_without_rest; 1721 ++pParty->days_played_without_rest;
1722 } 1722 }
1723 pPaletteManager->ResetNonLocked(); 1723 pPaletteManager->ResetNonLocked();
1724 pSpriteFrameTable->ResetSomeSpriteFlags(); 1724 pSpriteFrameTable->ResetSomeSpriteFlags();
1725 strcpy(pCurrentMapName, pOut); 1725 strcpy(pCurrentMapName.data(), pOut);
1726 strcpy(pLevelName, pCurrentMapName); 1726 strcpy(pLevelName, pCurrentMapName.data());
1727 v41 = strtok(pLevelName, "."); 1727 v41 = strtok(pLevelName, ".");
1728 strcpy(pLevelName, v41); 1728 strcpy(pLevelName, v41);
1729 Level_LoadEvtAndStr(pLevelName); 1729 Level_LoadEvtAndStr(pLevelName);
1730 pDecalBuilder->Reset(0); 1730 pDecalBuilder->Reset(0);
1731 LoadLevel_InitializeLevelEvt(); 1731 LoadLevel_InitializeLevelEvt();
1732 uLevelMapStatsID = pMapStats->GetMapInfo(pCurrentMapName); 1732 uLevelMapStatsID = pMapStats->GetMapInfo(pCurrentMapName.data());
1733 bUnderwater = 0; 1733 bUnderwater = 0;
1734 bNoNPCHiring = 0; 1734 bNoNPCHiring = 0;
1735 pGame->uFlags2 &= 0xFFFFFFF7u; 1735 pGame->uFlags2 &= 0xFFFFFFF7u;
1736 if ( Is_out15odm_underwater() ) 1736 if ( Is_out15odm_underwater() )
1737 { 1737 {
1738 bUnderwater = 1; 1738 bUnderwater = 1;
1739 pGame->uFlags2 |= 8u; 1739 pGame->uFlags2 |= 8u;
1740 } 1740 }
1741 if ( !_stricmp(pCurrentMapName, "out15.odm") || !_stricmp(pCurrentMapName, "d47.blv") ) 1741 if ( !_stricmp(pCurrentMapName.data(), "out15.odm") || !_stricmp(pCurrentMapName.data(), "d47.blv") )
1742 bNoNPCHiring = 1; 1742 bNoNPCHiring = 1;
1743 PrepareToLoadODM(1u, (OutdoorCamera *)1); 1743 PrepareToLoadODM(1u, (OutdoorCamera *)1);
1744 pAudioPlayer->SetMapEAX(); 1744 pAudioPlayer->SetMapEAX();
1745 bDialogueUI_InitializeActor_NPC_ID = 0; 1745 bDialogueUI_InitializeActor_NPC_ID = 0;
1746 OnMapLoad(); 1746 OnMapLoad();
1909 case UIMSG_BF: 1909 case UIMSG_BF:
1910 __debugbreak(); 1910 __debugbreak();
1911 dword_50CDC8 = 1; 1911 dword_50CDC8 = 1;
1912 sub_42FBDD(); 1912 sub_42FBDD();
1913 SaveGame(1, 0); 1913 SaveGame(1, 0);
1914 strcpy(pCurrentMapName, pMapStats->pInfos[uHouse_ExitPic].pFilename); 1914 strcpy(pCurrentMapName.data(), pMapStats->pInfos[uHouse_ExitPic].pFilename);
1915 dword_6BE364_game_settings_1 |= 1; 1915 dword_6BE364_game_settings_1 |= 1;
1916 uGameState = GAME_STATE_2; 1916 uGameState = GAME_STATE_2;
1917 //v53 = p2DEvents_minus1_::30[26 * (unsigned int)ptr_507BC0->ptr_1C]; 1917 //v53 = p2DEvents_minus1_::30[26 * (unsigned int)ptr_507BC0->ptr_1C];
1918 v53 = p2DEvents[(unsigned int)window_SpeakInHouse->ptr_1C - 1]._quest_related; 1918 v53 = p2DEvents[(unsigned int)window_SpeakInHouse->ptr_1C - 1]._quest_related;
1919 if ( v53 < 0 ) 1919 if ( v53 < 0 )
1965 if ( bRecallingBeacon ) 1965 if ( bRecallingBeacon )
1966 { 1966 {
1967 if ( !*((int *)&pSavegameThumbnails->pPixels + 10 * uMessageParam) ) 1967 if ( !*((int *)&pSavegameThumbnails->pPixels + 10 * uMessageParam) )
1968 continue; 1968 continue;
1969 v173 = pMapStats->pInfos[sub_410D99_get_map_index(HIWORD(pPlayer->pInstalledBeacons[uMessageParam].field_18))].pName; 1969 v173 = pMapStats->pInfos[sub_410D99_get_map_index(HIWORD(pPlayer->pInstalledBeacons[uMessageParam].field_18))].pName;
1970 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[474], v173);// "Recall to %s" 1970 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[474], v173);// "Recall to %s"
1971 GameUI_SetFooterString(pTmpBuf); 1971 GameUI_SetFooterString(pTmpBuf.data());
1972 continue; 1972 continue;
1973 } 1973 }
1974 v59 = pMapStats->GetMapInfo(pCurrentMapName); 1974 v59 = pMapStats->GetMapInfo(pCurrentMapName.data());
1975 thise = "Not in Map Stats"; 1975 thise = "Not in Map Stats";
1976 if ( v59 ) 1976 if ( v59 )
1977 thise = pMapStats->pInfos[v59].pName; 1977 thise = pMapStats->pInfos[v59].pName;
1978 if ( !*((int *)&pSavegameThumbnails->pPixels + 10 * uMessageParam) || !v59 ) 1978 if ( !*((int *)&pSavegameThumbnails->pPixels + 10 * uMessageParam) || !v59 )
1979 { 1979 {
1980 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[476], thise);// "Set to %s" 1980 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[476], thise);// "Set to %s"
1981 GameUI_SetFooterString(pTmpBuf); 1981 GameUI_SetFooterString(pTmpBuf.data());
1982 continue; 1982 continue;
1983 } 1983 }
1984 v174 = pMapStats->pInfos[sub_410D99_get_map_index(*(short *)(uNumSeconds + 26))].pName; 1984 v174 = pMapStats->pInfos[sub_410D99_get_map_index(*(short *)(uNumSeconds + 26))].pName;
1985 v158 = (unsigned int)thise; 1985 v158 = (unsigned int)thise;
1986 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[475], v158, v174);// "Set %s over %s" 1986 sprintf(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[475], v158, v174);// "Set %s over %s"
1987 GameUI_SetFooterString(pTmpBuf); 1987 GameUI_SetFooterString(pTmpBuf.data());
1988 continue; 1988 continue;
1989 case UIMSG_CloseAfterInstallBeacon: 1989 case UIMSG_CloseAfterInstallBeacon:
1990 dword_50CDC8 = 1; 1990 dword_50CDC8 = 1;
1991 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); 1991 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0);
1992 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) 1992 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 )
2015 pPlayer9->SetRecoveryTime((signed __int64)(flt_6BE3A4_debug_recmod1 * (double)sRecoveryTime * 2.133333333333333)); 2015 pPlayer9->SetRecoveryTime((signed __int64)(flt_6BE3A4_debug_recmod1 * (double)sRecoveryTime * 2.133333333333333));
2016 } 2016 }
2017 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[dword_506338], 0, 0, -1, 0, dword_50633C, 0, 0); 2017 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[dword_506338], 0, 0, -1, 0, dword_50633C, 0, 0);
2018 if ( bRecallingBeacon ) 2018 if ( bRecallingBeacon )
2019 { 2019 {
2020 if ( _stricmp(pCurrentMapName, (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]) ) 2020 if ( _stricmp(pCurrentMapName.data(), (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]) )
2021 { 2021 {
2022 SaveGame(1, 0); 2022 SaveGame(1, 0);
2023 OnMapLeave(); 2023 OnMapLeave();
2024 strcpy(pCurrentMapName, (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]); 2024 strcpy(pCurrentMapName.data(), (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]);
2025 dword_6BE364_game_settings_1 |= 1; 2025 dword_6BE364_game_settings_1 |= 1;
2026 uGameState = GAME_STATE_2; 2026 uGameState = GAME_STATE_2;
2027 _5B65A8_npcdata_uflags_or_other = pNPCData4->uFlags; 2027 _5B65A8_npcdata_uflags_or_other = pNPCData4->uFlags;
2028 _5B65AC_npcdata_fame_or_other = pNPCData4->fame; 2028 _5B65AC_npcdata_fame_or_other = pNPCData4->fame;
2029 _5B65B0_npcdata_rep_or_other = pNPCData4->rep; 2029 _5B65B0_npcdata_rep_or_other = pNPCData4->rep;
2071 LOWORD(pNPCData2->Location2D) = LOWORD(pParty->sRotationY); 2071 LOWORD(pNPCData2->Location2D) = LOWORD(pParty->sRotationY);
2072 HIWORD(pNPCData2->Location2D) = LOWORD(pParty->sRotationX); 2072 HIWORD(pNPCData2->Location2D) = LOWORD(pParty->sRotationX);
2073 if ( (signed int)pGames_LOD->uNumSubDirs / 2 <= 0 ) 2073 if ( (signed int)pGames_LOD->uNumSubDirs / 2 <= 0 )
2074 continue; 2074 continue;
2075 uAction = 0; 2075 uAction = 0;
2076 while ( _stricmp((const char *)pGames_LOD->pSubIndices + uAction, pCurrentMapName) ) 2076 while ( _stricmp((const char *)pGames_LOD->pSubIndices + uAction, pCurrentMapName.data()) )
2077 { 2077 {
2078 ++thisg; 2078 ++thisg;
2079 uAction += 32; 2079 uAction += 32;
2080 if ( thisg >= (signed int)pGames_LOD->uNumSubDirs / 2 ) 2080 if ( thisg >= (signed int)pGames_LOD->uNumSubDirs / 2 )
2081 continue; 2081 continue;
2103 default: 2103 default:
2104 if ( uMessageParam != 5 ) 2104 if ( uMessageParam != 5 )
2105 { 2105 {
2106 LABEL_486: 2106 LABEL_486:
2107 SaveGame(1, 0); 2107 SaveGame(1, 0);
2108 v64 = pMapStats->GetMapInfo(pCurrentMapName); 2108 v64 = pMapStats->GetMapInfo(pCurrentMapName.data());
2109 v65 = uMessageParam; 2109 v65 = uMessageParam;
2110 if ( v64 == TownPortalList[uMessageParam].uMapInfoID ) 2110 if ( v64 == TownPortalList[uMessageParam].uMapInfoID )
2111 { 2111 {
2112 pParty->vPosition.x = TownPortalList[v65].pos.x; 2112 pParty->vPosition.x = TownPortalList[v65].pos.x;
2113 pParty->vPosition.y = TownPortalList[v65].pos.y; 2113 pParty->vPosition.y = TownPortalList[v65].pos.y;
2120 { 2120 {
2121 SaveGame(1, 0); 2121 SaveGame(1, 0);
2122 OnMapLeave(); 2122 OnMapLeave();
2123 dword_6BE364_game_settings_1 |= 1; 2123 dword_6BE364_game_settings_1 |= 1;
2124 uGameState = GAME_STATE_2; 2124 uGameState = GAME_STATE_2;
2125 strcpy(pCurrentMapName, pMapStats->pInfos[TownPortalList[uMessageParam].uMapInfoID].pFilename); 2125 strcpy(pCurrentMapName.data(), pMapStats->pInfos[TownPortalList[uMessageParam].uMapInfoID].pFilename);
2126 dword_5B65C0 = 1; 2126 dword_5B65C0 = 1;
2127 _5B65A8_npcdata_uflags_or_other = TownPortalList[uMessageParam].pos.x; 2127 _5B65A8_npcdata_uflags_or_other = TownPortalList[uMessageParam].pos.x;
2128 _5B65AC_npcdata_fame_or_other = TownPortalList[uMessageParam].pos.y; 2128 _5B65AC_npcdata_fame_or_other = TownPortalList[uMessageParam].pos.y;
2129 _5B65B0_npcdata_rep_or_other = TownPortalList[uMessageParam].pos.z; 2129 _5B65B0_npcdata_rep_or_other = TownPortalList[uMessageParam].pos.z;
2130 v66 = TownPortalList[uMessageParam].rot_x; 2130 v66 = TownPortalList[uMessageParam].rot_x;
2196 v69 = pMapStats->pInfos[7].pName; 2196 v69 = pMapStats->pInfos[7].pName;
2197 break; 2197 break;
2198 default: 2198 default:
2199 if ( uMessageParam != 5 ) 2199 if ( uMessageParam != 5 )
2200 { 2200 {
2201 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v200); 2201 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v200);
2202 GameUI_SetFooterString(pTmpBuf); 2202 GameUI_SetFooterString(pTmpBuf.data());
2203 continue; 2203 continue;
2204 } 2204 }
2205 v69 = pMapStats->pInfos[8].pName; 2205 v69 = pMapStats->pInfos[8].pName;
2206 break; 2206 break;
2207 } 2207 }
2208 } 2208 }
2209 else 2209 else
2210 { 2210 {
2211 v69 = pMapStats->pInfos[21].pName; 2211 v69 = pMapStats->pInfos[21].pName;
2212 } 2212 }
2213 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v69); 2213 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v69);
2214 GameUI_SetFooterString(pTmpBuf); 2214 GameUI_SetFooterString(pTmpBuf.data());
2215 continue; 2215 continue;
2216 } 2216 }
2217 v68 = 210; 2217 v68 = 210;
2218 break; 2218 break;
2219 } 2219 }
2246 break; 2246 break;
2247 default: 2247 default:
2248 if ( uMessageParam != 5 ) 2248 if ( uMessageParam != 5 )
2249 //goto LABEL_519; 2249 //goto LABEL_519;
2250 { 2250 {
2251 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v200); 2251 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v200);
2252 GameUI_SetFooterString(pTmpBuf); 2252 GameUI_SetFooterString(pTmpBuf.data());
2253 continue; 2253 continue;
2254 } 2254 }
2255 v69 = pMapStats->pInfos[8].pName; 2255 v69 = pMapStats->pInfos[8].pName;
2256 break; 2256 break;
2257 } 2257 }
2258 } 2258 }
2259 else 2259 else
2260 { 2260 {
2261 v69 = pMapStats->pInfos[21].pName; 2261 v69 = pMapStats->pInfos[21].pName;
2262 } 2262 }
2263 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v69); 2263 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v69);
2264 GameUI_SetFooterString(pTmpBuf); 2264 GameUI_SetFooterString(pTmpBuf.data());
2265 continue; 2265 continue;
2266 case UIMSG_ShowFinalWindow: 2266 case UIMSG_ShowFinalWindow:
2267 sprintf(pFinalMessage, "%s\n \n%s\n \n%s", pGlobalTXT_LocalizationStrings[151],// "Congratulations Adventurer." 2267 sprintf(pFinalMessage.data(), "%s\n \n%s\n \n%s", pGlobalTXT_LocalizationStrings[151],// "Congratulations Adventurer."
2268 pGlobalTXT_LocalizationStrings[118],// "We hope that you've enjoyed playing Might and Magic VII as much as we did making it. We have saved this screen as MM7_WIN.PCX in your MM7 directory. You can print it out as proof of your accomplishment." 2268 pGlobalTXT_LocalizationStrings[118],// "We hope that you've enjoyed playing Might and Magic VII as much as we did making it. We have saved this screen as MM7_WIN.PCX in your MM7 directory. You can print it out as proof of your accomplishment."
2269 pGlobalTXT_LocalizationStrings[167]);// "- The Might and Magic VII Development Team." 2269 pGlobalTXT_LocalizationStrings[167]);// "- The Might and Magic VII Development Team."
2270 ModalWindow(pFinalMessage, 196); 2270 ModalWindow(pFinalMessage.data(), 196);
2271 uGameState = GAME_STATE_FINAL_WINDOW; 2271 uGameState = GAME_STATE_FINAL_WINDOW;
2272 continue; 2272 continue;
2273 case UIMSG_C4: 2273 case UIMSG_C4:
2274 __debugbreak(); 2274 __debugbreak();
2275 uGameState = GAME_STATE_PLAYING; 2275 uGameState = GAME_STATE_PLAYING;
2276 strcpy((char *)pKeyActionMap->pPressedKeysBuffer, "2"); 2276 strcpy((char *)pKeyActionMap->pPressedKeysBuffer, "2");
2277 case UIMSG_DD: 2277 case UIMSG_DD:
2278 __debugbreak(); 2278 __debugbreak();
2279 sprintf(pTmpBuf, "%s", pKeyActionMap->pPressedKeysBuffer); 2279 sprintf(pTmpBuf.data(), "%s", pKeyActionMap->pPressedKeysBuffer);
2280 memcpy(&v216, txt_file_frametable_parser((const char *)pKeyActionMap->pPressedKeysBuffer, &v218), sizeof(v216)); 2280 memcpy(&v216, txt_file_frametable_parser((const char *)pKeyActionMap->pPressedKeysBuffer, &v218), sizeof(v216));
2281 if ( v216.uPropCount == 1 ) 2281 if ( v216.uPropCount == 1 )
2282 { 2282 {
2283 pNPCData4 = (NPCData *)((signed int)pGames_LOD->uNumSubDirs / 2); 2283 pNPCData4 = (NPCData *)((signed int)pGames_LOD->uNumSubDirs / 2);
2284 v70 = atoi(v216.pProperties[0]); 2284 v70 = atoi(v216.pProperties[0]);
2298 pNPCData3 = (NPCData *)((char *)pNPCData3 + 1); 2298 pNPCData3 = (NPCData *)((char *)pNPCData3 + 1);
2299 } 2299 }
2300 while ( (signed int)pNPCData3 < (signed int)pNPCData4 ); 2300 while ( (signed int)pNPCData3 < (signed int)pNPCData4 );
2301 if ( (signed int)pNPCData3 < (signed int)pNPCData4 ) 2301 if ( (signed int)pNPCData3 < (signed int)pNPCData4 )
2302 { 2302 {
2303 strcpy(pCurrentMapName, (const char *)&pGames_LOD->pSubIndices[(int)pNPCData3]); 2303 strcpy(pCurrentMapName.data(), (const char *)&pGames_LOD->pSubIndices[(int)pNPCData3]);
2304 dword_6BE364_game_settings_1 |= 1u; 2304 dword_6BE364_game_settings_1 |= 1u;
2305 uGameState = GAME_STATE_2; 2305 uGameState = GAME_STATE_2;
2306 OnMapLeave(); 2306 OnMapLeave();
2307 continue; 2307 continue;
2308 } 2308 }
2553 { 2553 {
2554 pParty->pPlayers[3].pConditions[2] = pParty->uTimePlayed; 2554 pParty->pPlayers[3].pConditions[2] = pParty->uTimePlayed;
2555 pParty->pPlayers[2].pConditions[2] = pParty->uTimePlayed; 2555 pParty->pPlayers[2].pConditions[2] = pParty->uTimePlayed;
2556 pParty->pPlayers[1].pConditions[2] = pParty->uTimePlayed; 2556 pParty->pPlayers[1].pConditions[2] = pParty->uTimePlayed;
2557 pParty->pPlayers[0].pConditions[2] = pParty->uTimePlayed; 2557 pParty->pPlayers[0].pConditions[2] = pParty->uTimePlayed;
2558 v90 = pMapStats->GetMapInfo(pCurrentMapName); 2558 v90 = pMapStats->GetMapInfo(pCurrentMapName.data());
2559 if ( !v90 ) 2559 if ( !v90 )
2560 v90 = rand() % (signed int)pMapStats->uNumMaps + 1; 2560 v90 = rand() % (signed int)pMapStats->uNumMaps + 1;
2561 pMapInfo = &pMapStats->pInfos[v90]; 2561 pMapInfo = &pMapStats->pInfos[v90];
2562 if ( rand() % 100 + 1 <= pMapInfo->Encounter_percent ) 2562 if ( rand() % 100 + 1 <= pMapInfo->Encounter_percent )
2563 { 2563 {
2618 continue; 2618 continue;
2619 case UIMSG_HintSelectRemoveQuickSpellBtn: 2619 case UIMSG_HintSelectRemoveQuickSpellBtn:
2620 if ( quick_spell_at_page && byte_506550 ) 2620 if ( quick_spell_at_page && byte_506550 )
2621 { 2621 {
2622 v173 = pSpellStats->pInfos[quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage].pName; 2622 v173 = pSpellStats->pInfos[quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage].pName;
2623 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[483], v173); 2623 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[483], v173);
2624 } 2624 }
2625 else 2625 else
2626 { 2626 {
2627 if ( pPlayers[uActiveCharacter]->uQuickSpell ) 2627 if ( pPlayers[uActiveCharacter]->uQuickSpell )
2628 v177 = pGlobalTXT_LocalizationStrings[584];// "Click here to remove your Quick Spell" 2628 v177 = pGlobalTXT_LocalizationStrings[584];// "Click here to remove your Quick Spell"
2629 else 2629 else
2630 v177 = pGlobalTXT_LocalizationStrings[484];// "Select a spell then click here to set a QuickSpell" 2630 v177 = pGlobalTXT_LocalizationStrings[484];// "Select a spell then click here to set a QuickSpell"
2631 strcpy(pTmpBuf, v177); 2631 strcpy(pTmpBuf.data(), v177);
2632 } 2632 }
2633 GameUI_SetFooterString(pTmpBuf); 2633 GameUI_SetFooterString(pTmpBuf.data());
2634 continue; 2634 continue;
2635 case UIMSG_SPellbook_ShowHightlightedSpellInfo: 2635 case UIMSG_SPellbook_ShowHightlightedSpellInfo:
2636 if ( !uActiveCharacter || (uNumSeconds = (unsigned int)pPlayers[uActiveCharacter], 2636 if ( !uActiveCharacter || (uNumSeconds = (unsigned int)pPlayers[uActiveCharacter],
2637 !*(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + 6734) + uMessageParam + 402)) ) 2637 !*(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + 6734) + uMessageParam + 402)) )
2638 continue; 2638 continue;
2647 else 2647 else
2648 { 2648 {
2649 v178 = pSpellStats->pInfos[uMessageParam + 11 * v98 + 1].pName; 2649 v178 = pSpellStats->pInfos[uMessageParam + 11 * v98 + 1].pName;
2650 v161 = pGlobalTXT_LocalizationStrings[486]; 2650 v161 = pGlobalTXT_LocalizationStrings[486];
2651 } 2651 }
2652 sprintfex(pTmpBuf, v161, v178); 2652 sprintfex(pTmpBuf.data(), v161, v178);
2653 GameUI_SetFooterString(pTmpBuf); 2653 GameUI_SetFooterString(pTmpBuf.data());
2654 continue; 2654 continue;
2655 case UIMSG_ClickInstallRemoveQuickSpellBtn: 2655 case UIMSG_ClickInstallRemoveQuickSpellBtn:
2656 GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, WINDOW_PressedButton2, (int)pBtn_InstallRemoveSpell, 0); 2656 GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, WINDOW_PressedButton2, (int)pBtn_InstallRemoveSpell, 0);
2657 if ( !uActiveCharacter ) 2657 if ( !uActiveCharacter )
2658 continue; 2658 continue;
3015 GameUI_OnPlayerPortraitLeftClick(uMessageParam); 3015 GameUI_OnPlayerPortraitLeftClick(uMessageParam);
3016 continue; 3016 continue;
3017 case UIMSG_ShowStatus_Funds: 3017 case UIMSG_ShowStatus_Funds:
3018 v174 = (char *)pParty->uNumGoldInBank; 3018 v174 = (char *)pParty->uNumGoldInBank;
3019 v158 = pParty->uNumGold + pParty->uNumGoldInBank; 3019 v158 = pParty->uNumGold + pParty->uNumGoldInBank;
3020 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[489], v158, v174);// "You have %d total gold, %d in the Bank" 3020 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[489], v158, v174);// "You have %d total gold, %d in the Bank"
3021 GameUI_SetFooterString(pTmpBuf); 3021 GameUI_SetFooterString(pTmpBuf.data());
3022 continue; 3022 continue;
3023 case UIMSG_ShowStatus_DateTime: 3023 case UIMSG_ShowStatus_DateTime:
3024 pNPCData4 = (NPCData *)pParty->uCurrentHour; 3024 pNPCData4 = (NPCData *)pParty->uCurrentHour;
3025 if ( (signed int)pParty->uCurrentHour <= 12 ) 3025 if ( (signed int)pParty->uCurrentHour <= 12 )
3026 { 3026 {
3031 { 3031 {
3032 pNPCData4 = (NPCData *)((char *)pNPCData4 - 12); 3032 pNPCData4 = (NPCData *)((char *)pNPCData4 - 12);
3033 } 3033 }
3034 if ( pParty->uCurrentHour < 0xC || (uNumSeconds = 1, pParty->uCurrentHour >= 0x18) ) 3034 if ( pParty->uCurrentHour < 0xC || (uNumSeconds = 1, pParty->uCurrentHour >= 0x18) )
3035 uNumSeconds = 0; 3035 uNumSeconds = 0;
3036 sprintf(pTmpBuf, "%d:%02d%s %s %d %s %d", pNPCData4, pParty->uCurrentMinute, aAMPMNames[uNumSeconds], aDayNames[pParty->uDaysPlayed % 7], 3036 sprintf(pTmpBuf.data(), "%d:%02d%s %s %d %s %d", pNPCData4, pParty->uCurrentMinute, aAMPMNames[uNumSeconds], aDayNames[pParty->uDaysPlayed % 7],
3037 7 * pParty->uCurrentMonthWeek + pParty->uDaysPlayed % 7 + 1, aMonthNames[pParty->uCurrentMonth], pParty->uCurrentYear); 3037 7 * pParty->uCurrentMonthWeek + pParty->uDaysPlayed % 7 + 1, aMonthNames[pParty->uCurrentMonth], pParty->uCurrentYear);
3038 GameUI_SetFooterString(pTmpBuf); 3038 GameUI_SetFooterString(pTmpBuf.data());
3039 continue; 3039 continue;
3040 case UIMSG_ShowStatus_Food: 3040 case UIMSG_ShowStatus_Food:
3041 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[501], pParty->uNumFoodRations); // "You have %lu food" 3041 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[501], pParty->uNumFoodRations); // "You have %lu food"
3042 GameUI_SetFooterString(pTmpBuf); 3042 GameUI_SetFooterString(pTmpBuf.data());
3043 continue; 3043 continue;
3044 case UIMSG_ShowStatus_Player: 3044 case UIMSG_ShowStatus_Player:
3045 pPlayer5 = pPlayers[uMessageParam]; 3045 pPlayer5 = pPlayers[uMessageParam];
3046 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[429], pPlayer5->pName, pClassNames[pPlayer5->classType]);// "%s the %s" 3046 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[429], pPlayer5->pName, pClassNames[pPlayer5->classType]);// "%s the %s"
3047 strcat(pTmpBuf, ": "); 3047 strcat(pTmpBuf.data(), ": ");
3048 v107 = pPlayer5->GetMajorConditionIdx(); 3048 v107 = pPlayer5->GetMajorConditionIdx();
3049 strcat(pTmpBuf, aCharacterConditionNames[v107]); 3049 strcat(pTmpBuf.data(), aCharacterConditionNames[v107]);
3050 GameUI_SetFooterString(pTmpBuf); 3050 GameUI_SetFooterString(pTmpBuf.data());
3051 v108 = 8 * uMessageParam - 8; 3051 v108 = 8 * uMessageParam - 8;
3052 LOBYTE(v108) = v108 | 4; 3052 LOBYTE(v108) = v108 | 4;
3053 pMouse->uPointingObjectID = PID(OBJECT_Player,v108); 3053 pMouse->uPointingObjectID = PID(OBJECT_Player,v108);
3054 continue; 3054 continue;
3055 case UIMSG_ShowStatus_ManaHP: 3055 case UIMSG_ShowStatus_ManaHP:
3056 sprintf(pTmpBuf, "%d / %d %s %d / %d %s", pPlayers[uMessageParam]->sHealth, pPlayers[uMessageParam]->GetMaxHealth(), 3056 sprintf(pTmpBuf.data(), "%d / %d %s %d / %d %s", pPlayers[uMessageParam]->sHealth, pPlayers[uMessageParam]->GetMaxHealth(),
3057 pGlobalTXT_LocalizationStrings[108], pPlayers[uMessageParam]->sMana, pPlayers[uMessageParam]->GetMaxMana(), 3057 pGlobalTXT_LocalizationStrings[108], pPlayers[uMessageParam]->sMana, pPlayers[uMessageParam]->GetMaxMana(),
3058 pGlobalTXT_LocalizationStrings[212]); 3058 pGlobalTXT_LocalizationStrings[212]);
3059 GameUI_SetFooterString(pTmpBuf); 3059 GameUI_SetFooterString(pTmpBuf.data());
3060 continue; 3060 continue;
3061 case UIMSG_CHEST_ClickItem: 3061 case UIMSG_CHEST_ClickItem:
3062 if ( pCurrentScreen == SCREEN_CHEST_INVENTORY ) 3062 if ( pCurrentScreen == SCREEN_CHEST_INVENTORY )
3063 { 3063 {
3064 OnInventoryLeftClick(); 3064 OnInventoryLeftClick();
4684 pPlayerName = player->pName; 4684 pPlayerName = player->pName;
4685 if ( v4 ) 4685 if ( v4 )
4686 v47 = pGlobalTXT_LocalizationStrings[189];// "%s shoots %s for %lu points" 4686 v47 = pGlobalTXT_LocalizationStrings[189];// "%s shoots %s for %lu points"
4687 else 4687 else
4688 v47 = pGlobalTXT_LocalizationStrings[164];// "%s hits %s for %lu damage" 4688 v47 = pGlobalTXT_LocalizationStrings[164];// "%s hits %s for %lu damage"
4689 sprintfex(pTmpBuf, v47, pPlayerName, pMonsterName, v50); 4689 sprintfex(pTmpBuf.data(), v47, pPlayerName, pMonsterName, v50);
4690 ShowStatusBarString(pTmpBuf, 2u); 4690 ShowStatusBarString(pTmpBuf.data(), 2u);
4691 } 4691 }
4692 v41 = 0; 4692 v41 = 0;
4693 } 4693 }
4694 else 4694 else
4695 { 4695 {
4733 if ( bShowDamage ) 4733 if ( bShowDamage )
4734 { 4734 {
4735 v50 = (int)pMonster; 4735 v50 = (int)pMonster;
4736 pMonsterName = (char *)uDamageAmount; 4736 pMonsterName = (char *)uDamageAmount;
4737 pPlayerName = player->pName; // "%s inflicts %lu points killing %s" 4737 pPlayerName = player->pName; // "%s inflicts %lu points killing %s"
4738 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[175], player->pName, uDamageAmount, pMonster); 4738 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[175], player->pName, uDamageAmount, pMonster);
4739 ShowStatusBarString(pTmpBuf, 2u); 4739 ShowStatusBarString(pTmpBuf.data(), 2u);
4740 } 4740 }
4741 } 4741 }
4742 if ( SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) >= (signed int)v41 4742 if ( SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) >= (signed int)v41
4743 && (SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) > (signed int)v41 4743 && (SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) > (signed int)v41
4744 || LODWORD(pMonster->pActorBuffs[20].uExpireTime) > v41) 4744 || LODWORD(pMonster->pActorBuffs[20].uExpireTime) > v41)
4756 pMonster->pMonsterInfo.uRecoveryTime += v42; 4756 pMonster->pMonsterInfo.uRecoveryTime += v42;
4757 if ( bShowDamage != v41 ) 4757 if ( bShowDamage != v41 )
4758 { 4758 {
4759 v50 = (int)pMonster; 4759 v50 = (int)pMonster;
4760 pMonsterName = player->pName; // "%s stuns %s" 4760 pMonsterName = player->pName; // "%s stuns %s"
4761 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[635], player->pName, pMonster); 4761 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[635], player->pName, pMonster);
4762 ShowStatusBarString(pTmpBuf, 2u); 4762 ShowStatusBarString(pTmpBuf.data(), 2u);
4763 } 4763 }
4764 } 4764 }
4765 if ( hit_will_paralyze != v41 ) 4765 if ( hit_will_paralyze != v41 )
4766 { 4766 {
4767 if ( pMonster->CanAct() ) 4767 if ( pMonster->CanAct() )
4776 pMonster->pActorBuffs[6].Apply(v46, v45, 0, 0, 0); 4776 pMonster->pActorBuffs[6].Apply(v46, v45, 0, 0, 0);
4777 if ( bShowDamage ) 4777 if ( bShowDamage )
4778 { 4778 {
4779 v50 = (int)pMonster; 4779 v50 = (int)pMonster;
4780 pMonsterName = player->pName; // "%s paralyzes %s" 4780 pMonsterName = player->pName; // "%s paralyzes %s"
4781 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[636], player->pName, pMonster); 4781 sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[636], player->pName, pMonster);
4782 ShowStatusBarString(pTmpBuf, 2u); 4782 ShowStatusBarString(pTmpBuf.data(), 2u);
4783 } 4783 }
4784 } 4784 }
4785 } 4785 }
4786 } 4786 }
4787 if ( v59 > 10 ) 4787 if ( v59 > 10 )
5097 { 5097 {
5098 LOBYTE(v51) = v45->GetActualSkillLevel(PLAYER_SKILL_UNARMED); 5098 LOBYTE(v51) = v45->GetActualSkillLevel(PLAYER_SKILL_UNARMED);
5099 v52 = v51; 5099 v52 = v51;
5100 if ( (signed int)SkillToMastery(v51) >= 4 && rand() % 100 < (v52 & 0x3F) ) 5100 if ( (signed int)SkillToMastery(v51) >= 4 && rand() % 100 < (v52 & 0x3F) )
5101 { 5101 {
5102 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[637], v45->pName); 5102 sprintf(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[637], v45->pName);
5103 ShowStatusBarString(pTmpBuf, 2u); 5103 ShowStatusBarString(pTmpBuf.data(), 2u);
5104 v45->PlaySound(SPEECH_6, 0); 5104 v45->PlaySound(SPEECH_6, 0);
5105 return; 5105 return;
5106 } 5106 }
5107 } 5107 }
5108 else 5108 else
8784 8784
8785 v8 = 0; 8785 v8 = 0;
8786 v6 = 0; 8786 v6 = 0;
8787 v7 = 0; 8787 v7 = 0;
8788 v5 = 0; 8788 v5 = 0;
8789 if ( !_stricmp(pCurrentMapName, "d25.blv") ) 8789 if ( !_stricmp(pCurrentMapName.data(), "d25.blv") )
8790 v8 = 1; 8790 v8 = 1;
8791 if ( !_stricmp(pCurrentMapName, "d26.blv") ) 8791 if ( !_stricmp(pCurrentMapName.data(), "d26.blv") )
8792 v6 = 1; 8792 v6 = 1;
8793 if (_449B57_test_bit(pParty->_quest_bits, 99)) 8793 if (_449B57_test_bit(pParty->_quest_bits, 99))
8794 v7 = 1; 8794 v7 = 1;
8795 if (_449B57_test_bit(pParty->_quest_bits, 100)) 8795 if (_449B57_test_bit(pParty->_quest_bits, 100))
8796 v5 = 1; 8796 v5 = 1;
9225 pWindow.uFrameHeight = game_viewport_height; 9225 pWindow.uFrameHeight = game_viewport_height;
9226 pWindow.uFrameZ = 435; 9226 pWindow.uFrameZ = 435;
9227 pWindow.uFrameW = game_viewport_w; 9227 pWindow.uFrameW = game_viewport_w;
9228 if ( !bRecallingBeacon ) 9228 if ( !bRecallingBeacon )
9229 v1 = pGlobalTXT_LocalizationStrings[375]; // Set Beacon 9229 v1 = pGlobalTXT_LocalizationStrings[375]; // Set Beacon
9230 sprintf(pTmpBuf, "%s", v1); 9230 sprintf(pTmpBuf.data(), "%s", v1);
9231 pWindow.DrawTitleText(pBook2Font, 0, 22u, 0, pTmpBuf, 3u); 9231 pWindow.DrawTitleText(pBook2Font, 0, 22u, 0, pTmpBuf.data(), 3u);
9232 if ( bRecallingBeacon ) 9232 if ( bRecallingBeacon )
9233 { 9233 {
9234 pRenderer->DrawTextureTransparent(pBtn_Book_1->uX, pBtn_Book_1->uY, pTex_tab_an_6b__zoom_on); 9234 pRenderer->DrawTextureTransparent(pBtn_Book_1->uX, pBtn_Book_1->uY, pTex_tab_an_6b__zoom_on);
9235 v19 = pTex_tab_an_6a__zoom_off; 9235 v19 = pTex_tab_an_6a__zoom_off;
9236 } 9236 }
9300 if ( (unsigned int)((signed __int64)((double)v24 * 0.234375) / 60 / 60) / 0x18 ) 9300 if ( (unsigned int)((signed __int64)((double)v24 * 0.234375) / 60 / 60) / 0x18 )
9301 { 9301 {
9302 v13 = pGlobalTXT_LocalizationStrings[57]; // Days 9302 v13 = pGlobalTXT_LocalizationStrings[57]; // Days
9303 if ( v11 > 1 ) 9303 if ( v11 > 1 )
9304 { 9304 {
9305 sprintf(pTmpBuf, "%lu %s", v11 + 1, v13); 9305 sprintf(pTmpBuf.data(), "%lu %s", v11 + 1, v13);
9306 pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4; 9306 pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4;
9307 pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3); 9307 pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf.data(), 3);
9308 goto LABEL_29; 9308 goto LABEL_29;
9309 } 9309 }
9310 } 9310 }
9311 else 9311 else
9312 { 9312 {
9314 { 9314 {
9315 if ( (v23 & 0x80000000u) != 0 || (signed int)v23 <= 0 && v10 <= 1 ) 9315 if ( (v23 & 0x80000000u) != 0 || (signed int)v23 <= 0 && v10 <= 1 )
9316 v12 = pGlobalTXT_LocalizationStrings[109];// Hour 9316 v12 = pGlobalTXT_LocalizationStrings[109];// Hour
9317 else 9317 else
9318 v12 = pGlobalTXT_LocalizationStrings[110];// Hours 9318 v12 = pGlobalTXT_LocalizationStrings[110];// Hours
9319 sprintf(pTmpBuf, "%lu %s", v10 + 1, v12); 9319 sprintf(pTmpBuf.data(), "%lu %s", v10 + 1, v12);
9320 pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4; 9320 pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4;
9321 pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3); 9321 pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf.data(), 3);
9322 goto LABEL_29; 9322 goto LABEL_29;
9323 } 9323 }
9324 } 9324 }
9325 v13 = pGlobalTXT_LocalizationStrings[56]; // Day 9325 v13 = pGlobalTXT_LocalizationStrings[56]; // Day
9326 sprintf(pTmpBuf, "%lu %s", v11 + 1, v13); 9326 sprintf(pTmpBuf.data(), "%lu %s", v11 + 1, v13);
9327 pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4; 9327 pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4;
9328 pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3); 9328 pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf.data(), 3);
9329 goto LABEL_29; 9329 goto LABEL_29;
9330 } 9330 }
9331 LABEL_30: 9331 LABEL_30:
9332 if ( byte_506360 ) 9332 if ( byte_506360 )
9333 { 9333 {
9419 //----- (0041420D) -------------------------------------------------------- 9419 //----- (0041420D) --------------------------------------------------------
9420 void __cdecl sub_41420D_press_esc() 9420 void __cdecl sub_41420D_press_esc()
9421 { 9421 {
9422 GUIWindow v0; // [sp+4h] [bp-54h]@1 9422 GUIWindow v0; // [sp+4h] [bp-54h]@1
9423 9423
9424 sprintf(pTmpBuf2, "%s\n \n%s", ptr_507BDC->Hint, pGlobalTXT_LocalizationStrings[61]);// Press Escape 9424 sprintf(pTmpBuf2.data(), "%s\n \n%s", ptr_507BDC->Hint, pGlobalTXT_LocalizationStrings[61]);// Press Escape
9425 v0.Hint = pTmpBuf2; 9425 v0.Hint = pTmpBuf2.data();
9426 v0.uFrameWidth = 400; 9426 v0.uFrameWidth = 400;
9427 v0.uFrameHeight = 100; 9427 v0.uFrameHeight = 100;
9428 v0.uFrameX = 120; 9428 v0.uFrameX = 120;
9429 v0.uFrameY = 140; 9429 v0.uFrameY = 140;
9430 v0.uFrameZ = 519; 9430 v0.uFrameZ = 519;
9983 return; 9983 return;
9984 pOut.z = v7; 9984 pOut.z = v7;
9985 } 9985 }
9986 if ( !v0->CanAct() ) 9986 if ( !v0->CanAct() )
9987 { 9987 {
9988 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[427], v0->pName, pGlobalTXT_LocalizationStrings[541]); 9988 sprintf(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[427], v0->pName, pGlobalTXT_LocalizationStrings[541]);
9989 v43.Hint = pTmpBuf; 9989 v43.Hint = pTmpBuf.data();
9990 v43.uFrameWidth = 384; 9990 v43.uFrameWidth = 384;
9991 v43.uFrameHeight = 180; 9991 v43.uFrameHeight = 180;
9992 v43.uFrameY = 40; 9992 v43.uFrameY = 40;
9993 if ( pMouse->GetCursorPos(&a2)->x <= 320 ) 9993 if ( pMouse->GetCursorPos(&a2)->x <= 320 )
9994 v38 = pMouse->GetCursorPos(&a2)->x + 30; 9994 v38 = pMouse->GetCursorPos(&a2)->x + 30;
10592 Dst.uFrameY += 12; 10592 Dst.uFrameY += 12;
10593 Dst.uFrameHeight -= 12; 10593 Dst.uFrameHeight -= 12;
10594 Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1; 10594 Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
10595 Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1; 10595 Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
10596 v4 = TargetColor(0xFFu, 0xFFu, 0x9Bu); 10596 v4 = TargetColor(0xFFu, 0xFFu, 0x9Bu);
10597 sprintf(pTmpBuf, format_4E2D80, v4, v3); 10597 sprintf(pTmpBuf.data(), format_4E2D80, v4, v3);
10598 Dst.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf, 3u); 10598 Dst.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf.data(), 3u);
10599 Dst.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v2, 0, 0, 0); 10599 Dst.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v2, 0, 0, 0);
10600 } 10600 }
10601 10601
10602 //----- (00417AD4) -------------------------------------------------------- 10602 //----- (00417AD4) --------------------------------------------------------
10603 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level) 10603 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level)