Mercurial > mm7
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) |