diff 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
line wrap: on
line diff
--- a/mm7_5.cpp	Sat Jun 08 21:47:29 2013 +0200
+++ b/mm7_5.cpp	Sun Jun 09 00:30:48 2013 +0200
@@ -613,9 +613,9 @@
           pGUIWindow_CurrentMenu->CreateButton(350u, 262u, 70u, 0x13u, 1, 0, UIMSG_ChangeKeyButton, 0xDu, 0, "", 0);
           uGameMenuUI_CurentlySelectedKeyIdx = -1;
           KeyboardPageNum = 1;
-          memset(GameMenuUI_InvaligKeyBindingsFlags, 0, sizeof(GameMenuUI_InvaligKeyBindingsFlags));
+          memset(GameMenuUI_InvaligKeyBindingsFlags.data(), 0, sizeof(GameMenuUI_InvaligKeyBindingsFlags));
           //*(_WORD *)KeyButtonArray[28] = 0;
-          memcpy(pPrevVirtualCidesMapping, pKeyActionMap->pVirtualKeyCodesMapping, 0x78u);
+          memcpy(pPrevVirtualCidesMapping.data(), pKeyActionMap->pVirtualKeyCodesMapping, 0x78u);
           //v1 = "";
           //v0 = 1;
           continue;
@@ -1365,7 +1365,7 @@
                       viewparams->bRedrawGameUI = true;
                       continue;
                     case SCREEN_BRANCHLESS_NPC_DIALOG://click escape
-                      memset(GameUI_Footer_TimedString, 0, 0xC8u);
+                      memset(GameUI_Footer_TimedString.data(), 0, 0xC8u);
                       sub_4452BB();
                       DialogueEnding();
                       pCurrentScreen = SCREEN_GAME;
@@ -1644,7 +1644,7 @@
           {
             EventProcessor(dword_5C3418, 0, 1, dword_5C341C);
           }
-          if ( !_stricmp(byte_6BE3B0, "d05.blv") )
+          if ( !_stricmp(byte_6BE3B0.data(), "d05.blv") )
             pParty->uTimePlayed += 1474560i64;
           continue;
         case UIMSG_TransitionWindowCloseBtn:
@@ -1664,7 +1664,7 @@
           dword_50CDC8 = 1;
           sub_42FBDD();
           pNPCData4 = (NPCData *)GetTravelTime();
-          strcpy(pOutdoor->pLevelFilename, pCurrentMapName);
+          strcpy(pOutdoor->pLevelFilename, pCurrentMapName.data());
           if ( bUnderwater != 1 && pParty->bFlying
             || pOutdoor->GetTravelDestination(pParty->vPosition.x, pParty->vPosition.y, pOut, 20) != 1 )
           {
@@ -1722,14 +1722,14 @@
             }
             pPaletteManager->ResetNonLocked();
             pSpriteFrameTable->ResetSomeSpriteFlags();
-            strcpy(pCurrentMapName, pOut);
-            strcpy(pLevelName, pCurrentMapName);
+            strcpy(pCurrentMapName.data(), pOut);
+            strcpy(pLevelName, pCurrentMapName.data());
             v41 = strtok(pLevelName, ".");
             strcpy(pLevelName, v41);
             Level_LoadEvtAndStr(pLevelName);
             pDecalBuilder->Reset(0);
             LoadLevel_InitializeLevelEvt();
-            uLevelMapStatsID = pMapStats->GetMapInfo(pCurrentMapName);
+            uLevelMapStatsID = pMapStats->GetMapInfo(pCurrentMapName.data());
             bUnderwater = 0;
             bNoNPCHiring = 0;
             pGame->uFlags2 &= 0xFFFFFFF7u;
@@ -1738,7 +1738,7 @@
               bUnderwater = 1;
               pGame->uFlags2 |= 8u;
             }
-            if ( !_stricmp(pCurrentMapName, "out15.odm") || !_stricmp(pCurrentMapName, "d47.blv") )
+            if ( !_stricmp(pCurrentMapName.data(), "out15.odm") || !_stricmp(pCurrentMapName.data(), "d47.blv") )
               bNoNPCHiring = 1;
             PrepareToLoadODM(1u, (OutdoorCamera *)1);
             pAudioPlayer->SetMapEAX();
@@ -1911,7 +1911,7 @@
           dword_50CDC8 = 1;
           sub_42FBDD();
           SaveGame(1, 0);
-          strcpy(pCurrentMapName, pMapStats->pInfos[uHouse_ExitPic].pFilename);
+          strcpy(pCurrentMapName.data(), pMapStats->pInfos[uHouse_ExitPic].pFilename);
           dword_6BE364_game_settings_1 |= 1;
           uGameState = GAME_STATE_2;
           //v53 = p2DEvents_minus1_::30[26 * (unsigned int)ptr_507BC0->ptr_1C];
@@ -1967,24 +1967,24 @@
             if ( !*((int *)&pSavegameThumbnails->pPixels + 10 * uMessageParam) )
               continue;
             v173 = pMapStats->pInfos[sub_410D99_get_map_index(HIWORD(pPlayer->pInstalledBeacons[uMessageParam].field_18))].pName;
-            sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[474], v173);// "Recall to %s"
-            GameUI_SetFooterString(pTmpBuf);
+            sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[474], v173);// "Recall to %s"
+            GameUI_SetFooterString(pTmpBuf.data());
             continue;
           }
-          v59 = pMapStats->GetMapInfo(pCurrentMapName);
+          v59 = pMapStats->GetMapInfo(pCurrentMapName.data());
           thise = "Not in Map Stats";
           if ( v59 )
             thise = pMapStats->pInfos[v59].pName;
           if ( !*((int *)&pSavegameThumbnails->pPixels + 10 * uMessageParam) || !v59 )
           {
-            sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[476], thise);// "Set to %s"
-            GameUI_SetFooterString(pTmpBuf);
+            sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[476], thise);// "Set to %s"
+            GameUI_SetFooterString(pTmpBuf.data());
             continue;
           }
           v174 = pMapStats->pInfos[sub_410D99_get_map_index(*(short *)(uNumSeconds + 26))].pName;
           v158 = (unsigned int)thise;
-          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[475], v158, v174);// "Set %s over %s"
-          GameUI_SetFooterString(pTmpBuf);
+          sprintf(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[475], v158, v174);// "Set %s over %s"
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_CloseAfterInstallBeacon:
           dword_50CDC8 = 1;
@@ -2017,11 +2017,11 @@
           pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[dword_506338], 0, 0, -1, 0, dword_50633C, 0, 0);
           if ( bRecallingBeacon )
           {
-            if ( _stricmp(pCurrentMapName, (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]) )
+            if ( _stricmp(pCurrentMapName.data(), (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]) )
             {
               SaveGame(1, 0);
               OnMapLeave();
-              strcpy(pCurrentMapName, (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]);
+              strcpy(pCurrentMapName.data(), (const char *)&pGames_LOD->pSubIndices[HIWORD(pNPCData4->uProfession)]);
               dword_6BE364_game_settings_1 |= 1;
               uGameState = GAME_STATE_2;
               _5B65A8_npcdata_uflags_or_other = pNPCData4->uFlags;
@@ -2073,7 +2073,7 @@
             if ( (signed int)pGames_LOD->uNumSubDirs / 2 <= 0 )
               continue;
             uAction = 0;
-            while ( _stricmp((const char *)pGames_LOD->pSubIndices + uAction, pCurrentMapName) )
+            while ( _stricmp((const char *)pGames_LOD->pSubIndices + uAction, pCurrentMapName.data()) )
             {
               ++thisg;
               uAction += 32;
@@ -2105,7 +2105,7 @@
                 {
 LABEL_486:
                   SaveGame(1, 0);
-                  v64 = pMapStats->GetMapInfo(pCurrentMapName);
+                  v64 = pMapStats->GetMapInfo(pCurrentMapName.data());
                   v65 = uMessageParam;
                   if ( v64 == TownPortalList[uMessageParam].uMapInfoID )
                   {
@@ -2122,7 +2122,7 @@
                     OnMapLeave();
                     dword_6BE364_game_settings_1 |= 1;
                     uGameState = GAME_STATE_2;
-                    strcpy(pCurrentMapName, pMapStats->pInfos[TownPortalList[uMessageParam].uMapInfoID].pFilename);
+                    strcpy(pCurrentMapName.data(), pMapStats->pInfos[TownPortalList[uMessageParam].uMapInfoID].pFilename);
                     dword_5B65C0 = 1;
                     _5B65A8_npcdata_uflags_or_other = TownPortalList[uMessageParam].pos.x;
                     _5B65AC_npcdata_fame_or_other = TownPortalList[uMessageParam].pos.y;
@@ -2198,8 +2198,8 @@
                     default:
                     if ( uMessageParam != 5 )
                     {
-                      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v200);
-                      GameUI_SetFooterString(pTmpBuf);
+                      sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v200);
+                      GameUI_SetFooterString(pTmpBuf.data());
                       continue;
                     }
                     v69 = pMapStats->pInfos[8].pName;
@@ -2210,8 +2210,8 @@
                 {
                   v69 = pMapStats->pInfos[21].pName;
                 }
-                sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v69);
-                GameUI_SetFooterString(pTmpBuf);
+                sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v69);
+                GameUI_SetFooterString(pTmpBuf.data());
                 continue;
               }
               v68 = 210;
@@ -2248,8 +2248,8 @@
                 if ( uMessageParam != 5 )
                   //goto LABEL_519;
                   {
-                    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v200);
-                    GameUI_SetFooterString(pTmpBuf);
+                    sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v200);
+                    GameUI_SetFooterString(pTmpBuf.data());
                     continue;
                   }
                 v69 = pMapStats->pInfos[8].pName;
@@ -2260,14 +2260,14 @@
           {
             v69 = pMapStats->pInfos[21].pName;
           }
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[35], v69);
-          GameUI_SetFooterString(pTmpBuf);
+          sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[35], v69);
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_ShowFinalWindow:
-          sprintf(pFinalMessage, "%s\n \n%s\n \n%s", pGlobalTXT_LocalizationStrings[151],// "Congratulations Adventurer."
+          sprintf(pFinalMessage.data(), "%s\n \n%s\n \n%s", pGlobalTXT_LocalizationStrings[151],// "Congratulations Adventurer."
             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."
             pGlobalTXT_LocalizationStrings[167]);// "- The Might and Magic VII Development Team."   
-          ModalWindow(pFinalMessage, 196);
+          ModalWindow(pFinalMessage.data(), 196);
           uGameState = GAME_STATE_FINAL_WINDOW;
           continue;
         case UIMSG_C4:
@@ -2276,7 +2276,7 @@
           strcpy((char *)pKeyActionMap->pPressedKeysBuffer, "2");
         case UIMSG_DD:
 			__debugbreak();
-          sprintf(pTmpBuf, "%s", pKeyActionMap->pPressedKeysBuffer);
+          sprintf(pTmpBuf.data(), "%s", pKeyActionMap->pPressedKeysBuffer);
           memcpy(&v216, txt_file_frametable_parser((const char *)pKeyActionMap->pPressedKeysBuffer, &v218), sizeof(v216));
           if ( v216.uPropCount == 1 )
           {
@@ -2300,7 +2300,7 @@
               while ( (signed int)pNPCData3 < (signed int)pNPCData4 );
               if ( (signed int)pNPCData3 < (signed int)pNPCData4 )
               {
-                strcpy(pCurrentMapName, (const char *)&pGames_LOD->pSubIndices[(int)pNPCData3]);
+                strcpy(pCurrentMapName.data(), (const char *)&pGames_LOD->pSubIndices[(int)pNPCData3]);
                 dword_6BE364_game_settings_1 |= 1u;
                 uGameState = GAME_STATE_2;
                 OnMapLeave();
@@ -2555,7 +2555,7 @@
             pParty->pPlayers[2].pConditions[2] = pParty->uTimePlayed;
             pParty->pPlayers[1].pConditions[2] = pParty->uTimePlayed;
             pParty->pPlayers[0].pConditions[2] = pParty->uTimePlayed;
-            v90 = pMapStats->GetMapInfo(pCurrentMapName);
+            v90 = pMapStats->GetMapInfo(pCurrentMapName.data());
             if ( !v90 )
               v90 = rand() % (signed int)pMapStats->uNumMaps + 1;
             pMapInfo = &pMapStats->pInfos[v90];
@@ -2620,7 +2620,7 @@
           if ( quick_spell_at_page && byte_506550 )
           {
             v173 = pSpellStats->pInfos[quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage].pName;
-            sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[483], v173);
+            sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[483], v173);
           }
           else
           {
@@ -2628,9 +2628,9 @@
               v177 = pGlobalTXT_LocalizationStrings[584];// "Click here to remove your Quick Spell"
             else
               v177 = pGlobalTXT_LocalizationStrings[484];// "Select a spell then click here to set a QuickSpell"
-            strcpy(pTmpBuf, v177);
-          }
-          GameUI_SetFooterString(pTmpBuf);
+            strcpy(pTmpBuf.data(), v177);
+          }
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_SPellbook_ShowHightlightedSpellInfo:
           if ( !uActiveCharacter || (uNumSeconds = (unsigned int)pPlayers[uActiveCharacter],
@@ -2649,8 +2649,8 @@
             v178 = pSpellStats->pInfos[uMessageParam + 11 * v98 + 1].pName;
             v161 = pGlobalTXT_LocalizationStrings[486];
           }
-          sprintfex(pTmpBuf, v161, v178);
-          GameUI_SetFooterString(pTmpBuf);
+          sprintfex(pTmpBuf.data(), v161, v178);
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_ClickInstallRemoveQuickSpellBtn:
           GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, WINDOW_PressedButton2, (int)pBtn_InstallRemoveSpell, 0);
@@ -3017,8 +3017,8 @@
         case UIMSG_ShowStatus_Funds:
           v174 = (char *)pParty->uNumGoldInBank;
           v158 = pParty->uNumGold + pParty->uNumGoldInBank;
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[489], v158, v174);// "You have %d total gold, %d in the Bank"
-          GameUI_SetFooterString(pTmpBuf);
+          sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[489], v158, v174);// "You have %d total gold, %d in the Bank"
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_ShowStatus_DateTime:
           pNPCData4 = (NPCData *)pParty->uCurrentHour;
@@ -3033,30 +3033,30 @@
           }
           if ( pParty->uCurrentHour < 0xC || (uNumSeconds = 1, pParty->uCurrentHour >= 0x18) )
             uNumSeconds = 0;
-          sprintf(pTmpBuf, "%d:%02d%s %s %d %s %d", pNPCData4, pParty->uCurrentMinute, aAMPMNames[uNumSeconds], aDayNames[pParty->uDaysPlayed % 7],
+          sprintf(pTmpBuf.data(), "%d:%02d%s %s %d %s %d", pNPCData4, pParty->uCurrentMinute, aAMPMNames[uNumSeconds], aDayNames[pParty->uDaysPlayed % 7],
             7 * pParty->uCurrentMonthWeek + pParty->uDaysPlayed % 7 + 1, aMonthNames[pParty->uCurrentMonth], pParty->uCurrentYear);
-          GameUI_SetFooterString(pTmpBuf);
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_ShowStatus_Food:
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[501], pParty->uNumFoodRations); // "You have %lu food"
-          GameUI_SetFooterString(pTmpBuf);
+          sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[501], pParty->uNumFoodRations); // "You have %lu food"
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_ShowStatus_Player:
           pPlayer5 = pPlayers[uMessageParam];
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[429], pPlayer5->pName, pClassNames[pPlayer5->classType]);// "%s the %s"
-          strcat(pTmpBuf, ": ");
+          sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[429], pPlayer5->pName, pClassNames[pPlayer5->classType]);// "%s the %s"
+          strcat(pTmpBuf.data(), ": ");
           v107 = pPlayer5->GetMajorConditionIdx();
-          strcat(pTmpBuf, aCharacterConditionNames[v107]);
-          GameUI_SetFooterString(pTmpBuf);
+          strcat(pTmpBuf.data(), aCharacterConditionNames[v107]);
+          GameUI_SetFooterString(pTmpBuf.data());
           v108 = 8 * uMessageParam - 8;
           LOBYTE(v108) = v108 | 4;
           pMouse->uPointingObjectID = PID(OBJECT_Player,v108);
           continue;
         case UIMSG_ShowStatus_ManaHP:
-          sprintf(pTmpBuf, "%d / %d %s    %d / %d %s", pPlayers[uMessageParam]->sHealth, pPlayers[uMessageParam]->GetMaxHealth(), 
+          sprintf(pTmpBuf.data(), "%d / %d %s    %d / %d %s", pPlayers[uMessageParam]->sHealth, pPlayers[uMessageParam]->GetMaxHealth(), 
                   pGlobalTXT_LocalizationStrings[108], pPlayers[uMessageParam]->sMana, pPlayers[uMessageParam]->GetMaxMana(), 
                   pGlobalTXT_LocalizationStrings[212]);
-          GameUI_SetFooterString(pTmpBuf);
+          GameUI_SetFooterString(pTmpBuf.data());
           continue;
         case UIMSG_CHEST_ClickItem:
           if ( pCurrentScreen == SCREEN_CHEST_INVENTORY )
@@ -4686,8 +4686,8 @@
         v47 = pGlobalTXT_LocalizationStrings[189];// "%s shoots %s for %lu points"
       else
         v47 = pGlobalTXT_LocalizationStrings[164];// "%s hits %s for %lu damage"
-      sprintfex(pTmpBuf, v47, pPlayerName, pMonsterName, v50);
-      ShowStatusBarString(pTmpBuf, 2u);
+      sprintfex(pTmpBuf.data(), v47, pPlayerName, pMonsterName, v50);
+      ShowStatusBarString(pTmpBuf.data(), 2u);
     }
     v41 = 0;
   }
@@ -4735,8 +4735,8 @@
       v50 = (int)pMonster;
       pMonsterName = (char *)uDamageAmount;
       pPlayerName = player->pName;             // "%s inflicts %lu points killing %s"
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[175], player->pName, uDamageAmount, pMonster);
-      ShowStatusBarString(pTmpBuf, 2u);
+      sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[175], player->pName, uDamageAmount, pMonster);
+      ShowStatusBarString(pTmpBuf.data(), 2u);
     }
   }
   if ( SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) >= (signed int)v41
@@ -4758,8 +4758,8 @@
     {
       v50 = (int)pMonster;
       pMonsterName = player->pName;            // "%s stuns %s"
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[635], player->pName, pMonster);
-      ShowStatusBarString(pTmpBuf, 2u);
+      sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[635], player->pName, pMonster);
+      ShowStatusBarString(pTmpBuf.data(), 2u);
     }
   }
   if ( hit_will_paralyze != v41 )
@@ -4778,8 +4778,8 @@
         {
           v50 = (int)pMonster;
           pMonsterName = player->pName;        // "%s paralyzes %s"
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[636], player->pName, pMonster);
-          ShowStatusBarString(pTmpBuf, 2u);
+          sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[636], player->pName, pMonster);
+          ShowStatusBarString(pTmpBuf.data(), 2u);
         }
       }
     }
@@ -5099,8 +5099,8 @@
       v52 = v51;
       if ( (signed int)SkillToMastery(v51) >= 4 && rand() % 100 < (v52 & 0x3F) )
       {
-		  sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[637], v45->pName);
-        ShowStatusBarString(pTmpBuf, 2u);
+		  sprintf(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[637], v45->pName);
+        ShowStatusBarString(pTmpBuf.data(), 2u);
         v45->PlaySound(SPEECH_6, 0);
         return;
       }
@@ -8786,9 +8786,9 @@
   v6 = 0;
   v7 = 0;
   v5 = 0;
-  if ( !_stricmp(pCurrentMapName, "d25.blv") )
+  if ( !_stricmp(pCurrentMapName.data(), "d25.blv") )
     v8 = 1;
-  if ( !_stricmp(pCurrentMapName, "d26.blv") )
+  if ( !_stricmp(pCurrentMapName.data(), "d26.blv") )
     v6 = 1;
   if (_449B57_test_bit(pParty->_quest_bits, 99))
     v7 = 1;
@@ -9227,8 +9227,8 @@
   pWindow.uFrameW = game_viewport_w;
   if ( !bRecallingBeacon )
     v1 = pGlobalTXT_LocalizationStrings[375];   // Set Beacon
-  sprintf(pTmpBuf, "%s", v1);
-  pWindow.DrawTitleText(pBook2Font, 0, 22u, 0, pTmpBuf, 3u);
+  sprintf(pTmpBuf.data(), "%s", v1);
+  pWindow.DrawTitleText(pBook2Font, 0, 22u, 0, pTmpBuf.data(), 3u);
   if ( bRecallingBeacon )
   {
     pRenderer->DrawTextureTransparent(pBtn_Book_1->uX, pBtn_Book_1->uY, pTex_tab_an_6b__zoom_on);
@@ -9302,9 +9302,9 @@
       v13 = pGlobalTXT_LocalizationStrings[57]; // Days
       if ( v11 > 1 )
       {
-        sprintf(pTmpBuf, "%lu %s", v11 + 1, v13);
+        sprintf(pTmpBuf.data(), "%lu %s", v11 + 1, v13);
         pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4;
-        pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3);
+        pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf.data(), 3);
         goto LABEL_29;
       }
     }
@@ -9316,16 +9316,16 @@
           v12 = pGlobalTXT_LocalizationStrings[109];// Hour
         else
           v12 = pGlobalTXT_LocalizationStrings[110];// Hours
-        sprintf(pTmpBuf, "%lu %s", v10 + 1, v12);
+        sprintf(pTmpBuf.data(), "%lu %s", v10 + 1, v12);
         pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4;
-        pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3);
+        pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf.data(), 3);
         goto LABEL_29;
       }
     }
     v13 = pGlobalTXT_LocalizationStrings[56];   // Day
-    sprintf(pTmpBuf, "%lu %s", v11 + 1, v13);
+    sprintf(pTmpBuf.data(), "%lu %s", v11 + 1, v13);
     pWindow.uFrameY = v25 + pWindow.uFrameHeight + 4;
-    pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf, 3);
+    pWindow.DrawTitleText(pSpellFont, 0, 0, 1, pTmpBuf.data(), 3);
     goto LABEL_29;
   }
 LABEL_30:
@@ -9421,8 +9421,8 @@
 {
   GUIWindow v0; // [sp+4h] [bp-54h]@1
 
-  sprintf(pTmpBuf2, "%s\n \n%s", ptr_507BDC->Hint, pGlobalTXT_LocalizationStrings[61]);// Press Escape
-  v0.Hint = pTmpBuf2;
+  sprintf(pTmpBuf2.data(), "%s\n \n%s", ptr_507BDC->Hint, pGlobalTXT_LocalizationStrings[61]);// Press Escape
+  v0.Hint = pTmpBuf2.data();
   v0.uFrameWidth = 400;
   v0.uFrameHeight = 100;
   v0.uFrameX = 120;
@@ -9985,8 +9985,8 @@
   }
   if ( !v0->CanAct() )
   {
-    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[427], v0->pName, pGlobalTXT_LocalizationStrings[541]);
-    v43.Hint = pTmpBuf;
+    sprintf(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[427], v0->pName, pGlobalTXT_LocalizationStrings[541]);
+    v43.Hint = pTmpBuf.data();
     v43.uFrameWidth = 384;
     v43.uFrameHeight = 180;
     v43.uFrameY = 40;
@@ -10594,8 +10594,8 @@
   Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
   Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
   v4 = TargetColor(0xFFu, 0xFFu, 0x9Bu);
-  sprintf(pTmpBuf, format_4E2D80, v4, v3);
-  Dst.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
+  sprintf(pTmpBuf.data(), format_4E2D80, v4, v3);
+  Dst.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf.data(), 3u);
   Dst.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v2, 0, 0, 0);
 }