# HG changeset patch # User Ritor1 # Date 1381683225 -21600 # Node ID f3db8e8cbad5e2efd151817a832a98936c0e1921 # Parent 4359a15360e31e6268b4f8fb282cacb1d301abcf# Parent 2e6d3cd052e0b0bd4142d623fdc47e984db71ad5 Merge diff -r 4359a15360e3 -r f3db8e8cbad5 GUIWindow.cpp --- a/GUIWindow.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/GUIWindow.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -1067,7 +1067,7 @@ { unsigned int full_time; // esi@1 signed __int64 hours; // kr00_8@1 - char *text; // eax@2 + const char *text; // eax@2 signed __int64 minutes; // [sp+Ch] [bp-10h]@1 signed __int64 seconds; // [sp+14h] [bp-8h]@1 unsigned int days; // [sp+20h] [bp+4h]@1 diff -r 4359a15360e3 -r f3db8e8cbad5 Items.cpp --- a/Items.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/Items.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -2699,7 +2699,7 @@ //----- (004B3703) -------------------------------------------------------- void FillAviableSkillsToTeach( int _this ) { - char *v30; // ecx@65 + const char *v30; // ecx@65 unsigned int v29; // edx@56 int v15; // ecx@19 int v33; // [sp-4h] [bp-2Ch]@23 @@ -2824,7 +2824,7 @@ default: v30 = pGlobalTXT_LocalizationStrings[127]; //"No Text!" } - pShopOptions[dword_F8B1DC] = v30; + pShopOptions[dword_F8B1DC] = const_cast(v30); ++dword_F8B1DC; CreateButtonInColumn(i+1, v29); } diff -r 4359a15360e3 -r f3db8e8cbad5 NPC.cpp --- a/NPC.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/NPC.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -1312,7 +1312,7 @@ { case 13: current_npc_text = pNPCStats->pProfessions[pCurrentNPCInfo->uProfession].pJoinText;//(char *)*(&pNPCStats->field_13A64 + 5 * v2->uProfession); - current_npc_text = BuildDialogueString((char *)current_npc_text, uActiveCharacter - 1, 0, 0, 0, 0); + current_npc_text = BuildDialogueString(current_npc_text, uActiveCharacter - 1, 0, 0, 0, 0); NPCHireableDialogPrepare(); dialogue_show_profession_details = false; goto _return; @@ -1511,7 +1511,7 @@ dialogue_show_profession_details = false; uDialogueType = 13; current_npc_text = pNPCStats->pProfessions[pCurrentNPCInfo->uProfession - 1].pJoinText; - current_npc_text = BuildDialogueString((char *)current_npc_text, uActiveCharacter - 1, 0, 0, 0, 0); + current_npc_text = BuildDialogueString(current_npc_text, uActiveCharacter - 1, 0, 0, 0, 0); if ( uActiveCharacter ) pPlayers[uActiveCharacter]->PlaySound(SPEECH_NotEnoughGold, 0); ShowStatusBarString(pGlobalTXT_LocalizationStrings[155], 2); diff -r 4359a15360e3 -r f3db8e8cbad5 Party.cpp --- a/Party.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/Party.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -96,6 +96,18 @@ field_708 = 15; field_0 = 25; + uNumDeaths = 0; + uNumPrisonTerms = 0; + uNumBountiesCollected = 0; + memset(monster_for_hunting_killed, 5, sizeof(__int16)); + memset(monster_id_for_hunting, 5, sizeof(__int16)); + memset(_quest_bits, 64, sizeof(__int8)); + memset(pArcomageWins, 16, sizeof(__int8)); + uNumArenaPageWins = 0; + uNumArenaSquireWins = 0; + uNumArenaKnightWins = 0; + uNumArenaLordWins = 0; + } //inlined diff -r 4359a15360e3 -r f3db8e8cbad5 Player.cpp --- a/Player.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/Player.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -4277,7 +4277,7 @@ Player *playerAffected; // esi@1 signed int v5; // eax@17 int v8; // edx@39 - char *v13; // eax@45 + const char *v13; // eax@45 signed int v15; // edi@68 int v16; // edx@73 unsigned __int16 v17; // edi@73 @@ -4297,7 +4297,7 @@ const char *v68; // [sp-4h] [bp-30h]@89 char v72; // [sp+20h] [bp-Ch]@68 signed int v73; // [sp+24h] [bp-8h]@1 - char* v74; // [sp+24h] [bp-8h]@23 + const char* v74; // [sp+24h] [bp-8h]@23 Player *thisb; // [sp+28h] [bp-4h]@1 unsigned int thisa; // [sp+28h] [bp-4h]@22 diff -r 4359a15360e3 -r f3db8e8cbad5 UI/Books/UIMapBook.cpp --- a/UI/Books/UIMapBook.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/UI/Books/UIMapBook.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -79,12 +79,12 @@ unsigned int DrawLloydBeaconsScreen() { Player *pPlayer; // esi@1 - char *pText; // eax@1 + const char *pText; // eax@1 int pTextHeight; // eax@14 int RemainingTime; // kr08_8@14 unsigned int pHours; // esi@14 unsigned int pDays; // eax@14 - char *pSelectionText; // eax@19 + const char *pSelectionText; // eax@19 Texture *v19; // [sp-4h] [bp-8Ch]@4 GUIWindow pWindow; // [sp+Ch] [bp-7Ch]@1 char *Str; // [sp+74h] [bp-14h]@14 diff -r 4359a15360e3 -r f3db8e8cbad5 UI/UICharacter.cpp --- a/UI/UICharacter.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/UI/UICharacter.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -1995,7 +1995,7 @@ void CharacterUI_StatsTab_Draw( Player *player ) { int pY; // ST34_4@4 - char *pText; // eax@9 + const char *pText; // eax@9 const char *a2; // [sp+14h] [bp-Ch]@4 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->LoadTexturePtr("fr_stats", TEXTURE_16BIT_PALETTE)); diff -r 4359a15360e3 -r f3db8e8cbad5 UI/UIGuilds.cpp --- a/UI/UIGuilds.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/UI/UIGuilds.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -233,7 +233,7 @@ { v15 = (ItemGen *)(&pParty->pPlayers[1].uExpressionTimeLength + 18 * (v13 + 12 * (int)window_SpeakInHouse->ptr_1C)); v17 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction( (ItemGen *)&pParty->pPlayers[1].uExpressionTimeLength + v13 + 12 * (int)window_SpeakInHouse->ptr_1C, BuildingType_MagicShop, (int)window_SpeakInHouse->ptr_1C, 2); - v18 = BuildDialogueString((char *)pMerchantsBuyPhrases[v17], uActiveCharacter - 1, v15, (char *)window_SpeakInHouse->ptr_1C, 2, 0); + v18 = BuildDialogueString(pMerchantsBuyPhrases[v17], uActiveCharacter - 1, v15, (char *)window_SpeakInHouse->ptr_1C, 2, 0); pTextHeight = pFontArrus->CalcTextHeight(v18, &working_window, 0, 0); working_window.DrawTitleText(pFontArrus, 0, (174 - pTextHeight) / 2 + 138, pColorWhite, v18, 3); return; diff -r 4359a15360e3 -r f3db8e8cbad5 UI/UIHouses.cpp --- a/UI/UIHouses.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/UI/UIHouses.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -1654,10 +1654,10 @@ { pStringSum = 1; pTextHeight = 0; - pShopOptions[0] = pGlobalTXT_LocalizationStrings[604];//Охота за вознаграждение + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[604]);//Охота за вознаграждение if ( pParty->uFine > 0 ) { - pShopOptions[1] = pGlobalTXT_LocalizationStrings[603];//Заплатить штраф + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[603]);//Заплатить штраф pStringSum = 2; } for ( uint i = 0; i < pStringSum; ++i ) @@ -2158,11 +2158,11 @@ if ( HouseUI_CheckIfPlayerCanInteract() ) { pOptionsCount = 2; - pShopOptions[0] = pGlobalTXT_LocalizationStrings[620];//Правила - pShopOptions[1] = pGlobalTXT_LocalizationStrings[622];//Условия победы + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[620]);//Правила + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[622]);//Условия победы if ( pParty->HasItem(651) )//651 - Колода для игры в АркоМэйдж в Items.txt { - pShopOptions[2] = pGlobalTXT_LocalizationStrings[621];//Играть + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[621]);//Играть pOptionsCount = 3; } for ( i = 0; i < pOptionsCount; ++i ) @@ -2230,8 +2230,8 @@ pShopOptions[0] = pTmpBuf.data(); index = 0; } - pShopOptions[1] = pGlobalTXT_LocalizationStrings[68];//"Пожертвовать" - pShopOptions[2] = pGlobalTXT_LocalizationStrings[160];//"Обучиться навыкам" + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[68]);//"Пожертвовать" + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[160]);//"Обучиться навыкам" all_text_height = 0; if ( index < pDialogueWindow->pNumPresenceButton ) { @@ -2514,7 +2514,7 @@ { index = 0; pShopOptions[0] = pTmpBuf.data(); - pShopOptions[1] = pGlobalTXT_LocalizationStrings[160];// "Learn Skills" + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[160]);// "Learn Skills" if ( pDialogueWindow->pStartingPosActiveItem < pDialogueWindow->pStartingPosActiveItem + pDialogueWindow->pNumPresenceButton ) { for ( int i = pDialogueWindow->pStartingPosActiveItem; diff -r 4359a15360e3 -r f3db8e8cbad5 UI/UIPopup.cpp --- a/UI/UIPopup.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/UI/UIPopup.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -111,7 +111,7 @@ unsigned int v2; // eax@3 const char *v28; // edi@69 int v34; // esi@81 - char *pText; // [sp-14h] [bp-28Ch]@110 + const char *pText; // [sp-14h] [bp-28Ch]@110 char out_text[300]; // [sp+8h] [bp-270h]@40 char v65[120]; // [sp+134h] [bp-144h]@92 stru351_summoned_item v67; @@ -448,8 +448,8 @@ DDBLTFX Dst; // [sp+Ch] [bp-1E0h]@18 DDSURFACEDESC2 pDesc; // [sp+70h] [bp-17Ch]@18 RECT v84; // [sp+ECh] [bp-100h]@26 - char *string_name[10]; // [sp+FCh] [bp-F0h]@145 - char *content[11]; // [sp+124h] [bp-C8h]@127 + const char *string_name[10]; // [sp+FCh] [bp-F0h]@145 + const char *content[11]; // [sp+124h] [bp-C8h]@127 RenderBillboardTransform_local0 v106; // [sp+150h] [bp-9Ch]@3 unsigned int v107; // [sp+1A0h] [bp-4Ch]@18 unsigned __int16 *v108; // [sp+1A4h] [bp-48h]@34 @@ -460,7 +460,7 @@ bool expert_level; // [sp+1C4h] [bp-28h]@18 bool master_level; // [sp+1C8h] [bp-24h]@18 bool grandmaster_level; // [sp+1B4h] [bp-38h]@3 - char *pText; // [sp+1D4h] [bp-18h]@18 + const char *pText; // [sp+1D4h] [bp-18h]@18 int pTextColorID; // [sp+1E4h] [bp-8h]@18 int a4; // [sp+1E8h] [bp-4h]@18 int v115; @@ -1069,8 +1069,8 @@ { int pStringNum; // edi@1 signed int pTextColor; // eax@15 - char *pHourWord; // ecx@17 - char *pDayWord; // eax@20 + const char *pHourWord; // ecx@17 + const char *pDayWord; // eax@20 int v15; // ebx@28 POINT a2; // [sp+Ch] [bp-24h]@1 int pHour; // [sp+14h] [bp-1Ch]@15 @@ -1288,8 +1288,8 @@ { int v5; // esi@62 GUIButton *pButton; // esi@84 - char *pStr; // edi@85 - char *pHint; // edx@113 + const char *pStr; // edi@85 + const char *pHint; // edx@113 GUIWindow popup_window; // [sp+4h] [bp-74h]@32 struct tagPOINT Point; // [sp+60h] [bp-18h]@6 unsigned int pX; // [sp+70h] [bp-8h]@3 @@ -1555,7 +1555,7 @@ } if ( popup_window.Hint ) { - pHint = (char*)popup_window.Hint; + pHint = popup_window.Hint; popup_window.Hint = 0; popup_window.uFrameWidth = 384; popup_window.uFrameHeight = 256; diff -r 4359a15360e3 -r f3db8e8cbad5 UI/UIShops.cpp --- a/UI/UIShops.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/UI/UIShops.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -44,10 +44,10 @@ { if ( HouseUI_CheckIfPlayerCanInteract() ) { - pShopOptions[0] = pGlobalTXT_LocalizationStrings[134]; - pShopOptions[1] = pGlobalTXT_LocalizationStrings[152]; - pShopOptions[2] = pGlobalTXT_LocalizationStrings[159]; - pShopOptions[3] = pGlobalTXT_LocalizationStrings[160]; + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[134]); + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[152]); + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[159]); + pShopOptions[3] = const_cast(pGlobalTXT_LocalizationStrings[160]); all_text_height = 0; for ( int i = 0; i < 4; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -104,7 +104,7 @@ item = &pParty->StandartItemsInShops[(int)window_SpeakInHouse->ptr_1C][(pRenderer->pActiveZBuffer[mouse.x + pSRZBufferLineOffsets[mouse.y]] & 0xFFFF) - 1]; if ( !GetAsyncKeyState(17) || !pPlayers[uActiveCharacter]->CanSteal() ) { - pText = BuildDialogueString((char *)pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_WeaponShop, (int)window_SpeakInHouse->ptr_1C, 2)], + pText = BuildDialogueString(pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_WeaponShop, (int)window_SpeakInHouse->ptr_1C, 2)], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); } @@ -155,7 +155,7 @@ item = &pParty->SpecialItemsInShops[(int)window_SpeakInHouse->ptr_1C][(pRenderer->pActiveZBuffer[mouse.x + pSRZBufferLineOffsets[mouse.y]] & 0xFFFF) - 1]; if ( !GetAsyncKeyState(17) || !pPlayers[uActiveCharacter]->CanSteal() ) { - pText = BuildDialogueString((char *)pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_WeaponShop, (int)window_SpeakInHouse->ptr_1C, 2)], + pText = BuildDialogueString(pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_WeaponShop, (int)window_SpeakInHouse->ptr_1C, 2)], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); } @@ -188,7 +188,7 @@ return; item = &pPlayers[uActiveCharacter]->pInventoryItemList[pItemID - 1]; phrases_id = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_WeaponShop, (int)window_SpeakInHouse->ptr_1C, 3); - pText = BuildDialogueString((char *)pMerchantsSellPhrases[phrases_id], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 3, 0); + pText = BuildDialogueString(pMerchantsSellPhrases[phrases_id], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 3, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); break; } @@ -210,7 +210,7 @@ if (!item->IsIdentified()) { phrases_id = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_WeaponShop, (int)window_SpeakInHouse->ptr_1C, 4); - pText = BuildDialogueString((char *)pMerchantsIdentifyPhrases[phrases_id], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 4, 0); + pText = BuildDialogueString(pMerchantsIdentifyPhrases[phrases_id], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 4, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); } else @@ -237,7 +237,7 @@ return; item = &pPlayers[uActiveCharacter]->pInventoryItemList[pItemID - 1]; phrases_id = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_ArmorShop, (int)window_SpeakInHouse->ptr_1C, 5); - pText = BuildDialogueString((char *)pMerchantsRepairPhrases[phrases_id], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 5, 0); + pText = BuildDialogueString(pMerchantsRepairPhrases[phrases_id], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 5, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); return; } @@ -247,9 +247,9 @@ { draw_leather(); CharacterUI_InventoryTab_Draw(pPlayers[uActiveCharacter], true); - pShopOptions[0] = pGlobalTXT_LocalizationStrings[200];//sell - pShopOptions[1] = pGlobalTXT_LocalizationStrings[113];//identify - pShopOptions[2] = pGlobalTXT_LocalizationStrings[179];//repair + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[200]);//sell + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[113]);//identify + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[179]);//repair all_text_height = 0; for ( int i = 0; i < 3; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -369,10 +369,10 @@ { if ( !HouseUI_CheckIfPlayerCanInteract() ) return; - pShopOptions[0] = pGlobalTXT_LocalizationStrings[134]; //"Buy Standard" - pShopOptions[1] = pGlobalTXT_LocalizationStrings[152]; //"Buy Special" - pShopOptions[2] = pGlobalTXT_LocalizationStrings[159]; //"Display Inventory" - pShopOptions[3] = pGlobalTXT_LocalizationStrings[160]; + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[134]); //"Buy Standard" + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[152]); //"Buy Special" + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[159]); //"Display Inventory" + pShopOptions[3] = const_cast(pGlobalTXT_LocalizationStrings[160]); all_text_height = 0; for( int i = 0; i < 4; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -439,7 +439,7 @@ selected_item = &pParty->StandartItemsInShops[window_SpeakInHouse->par1C][(pRenderer->pActiveZBuffer[mouse.x + pSRZBufferLineOffsets[mouse.y]] & 0xFFFF) - 1]; if ( !GetAsyncKeyState(17) || !pPlayers[uActiveCharacter]->CanSteal()) { - pText = BuildDialogueString((char *)pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, window_SpeakInHouse->par1C, 2)], + pText = BuildDialogueString(pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, window_SpeakInHouse->par1C, 2)], uActiveCharacter - 1, selected_item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); } @@ -502,7 +502,7 @@ selected_item = &pParty->SpecialItemsInShops[window_SpeakInHouse->par1C][(pRenderer->pActiveZBuffer[mouse.x + pSRZBufferLineOffsets[mouse.y]] & 0xFFFF) - 1]; if ( !GetAsyncKeyState(17) || !pPlayers[uActiveCharacter]->CanSteal() ) { - pText = BuildDialogueString((char *)pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, window_SpeakInHouse->par1C, 2)], + pText = BuildDialogueString(pMerchantsBuyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, window_SpeakInHouse->par1C, 2)], uActiveCharacter - 1, selected_item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); } @@ -522,9 +522,9 @@ { draw_leather(); CharacterUI_InventoryTab_Draw(pPlayers[uActiveCharacter], true); - pShopOptions[0] = pGlobalTXT_LocalizationStrings[200]; //"Sell" - pShopOptions[1] = pGlobalTXT_LocalizationStrings[113]; //"Identify" - pShopOptions[2] = pGlobalTXT_LocalizationStrings[179]; //"Repair" + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[200]); //"Sell" + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[113]); //"Identify" + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[179]); //"Repair" all_text_height = 0; for ( int i = 0; i < 3; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -563,7 +563,7 @@ if ( !pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&v153) ) return; selected_item = &pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&v153) - 1]; - pText = BuildDialogueString((char *)pMerchantsSellPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, window_SpeakInHouse->par1C, 3)], + pText = BuildDialogueString(pMerchantsSellPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, window_SpeakInHouse->par1C, 3)], uActiveCharacter - 1, selected_item, (char *) window_SpeakInHouse->par1C, 3, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); return; @@ -586,7 +586,7 @@ if (selected_item->IsIdentified()) pText = BuildDialogueString("%24", uActiveCharacter - 1, selected_item, (char *)window_SpeakInHouse->ptr_1C, 4, 0); else - pText = BuildDialogueString((char *)pMerchantsIdentifyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, + pText = BuildDialogueString(pMerchantsIdentifyPhrases[pPlayers[uActiveCharacter]->SelectPhrasesTransaction(selected_item, BuildingType_ArmorShop, (int)window_SpeakInHouse->ptr_1C, 4)], uActiveCharacter - 1, selected_item, (char *)window_SpeakInHouse->ptr_1C, 4, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); return; @@ -612,7 +612,7 @@ selected_item = &pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&v153) - 1]; phrases_id = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(&pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&v153) - 1], BuildingType_ArmorShop, window_SpeakInHouse->par1C, 5); - pText = BuildDialogueString((char *)pMerchantsRepairPhrases[phrases_id], uActiveCharacter - 1, selected_item, (char *)window_SpeakInHouse->ptr_1C, 5, 0); + pText = BuildDialogueString(pMerchantsRepairPhrases[phrases_id], uActiveCharacter - 1, selected_item, (char *)window_SpeakInHouse->ptr_1C, 5, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); return; } @@ -688,7 +688,7 @@ int index; // eax@7 signed int v5; // esi@9 int v18; // eax@23 - char *pText; // edx@29 + const char *pText; // edx@29 unsigned int product_height_1row; // edi@55 unsigned int product_width_1row; // esi@57 unsigned int product_height_2row; // edi@67 @@ -715,10 +715,10 @@ { if ( HouseUI_CheckIfPlayerCanInteract() ) { - pShopOptions[0] = pGlobalTXT_LocalizationStrings[134]; - pShopOptions[1] = pGlobalTXT_LocalizationStrings[152]; - pShopOptions[2] = pGlobalTXT_LocalizationStrings[159]; - pShopOptions[3] = pGlobalTXT_LocalizationStrings[160]; + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[134]); + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[152]); + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[159]); + pShopOptions[3] = const_cast(pGlobalTXT_LocalizationStrings[160]); all_text_height = 0; for ( int i = 0; i < 4; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -817,7 +817,7 @@ if ( !GetAsyncKeyState(17) || !pPlayers[uActiveCharacter]->CanSteal() ) { v71 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_AlchemistShop, (int)window_SpeakInHouse->ptr_1C, 2); - pText = BuildDialogueString((char *)pMerchantsBuyPhrases[v71], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); + pText = BuildDialogueString(pMerchantsBuyPhrases[v71], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); } else pText = BuildDialogueString(pGlobalTXT_LocalizationStrings[181], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); @@ -905,7 +905,7 @@ if ( !GetAsyncKeyState(17) || !pPlayers[uActiveCharacter]->CanSteal() ) { v71 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_AlchemistShop, (int)window_SpeakInHouse->ptr_1C, 2); - pText = BuildDialogueString((char *)pMerchantsBuyPhrases[v71], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); + pText = BuildDialogueString(pMerchantsBuyPhrases[v71], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); } else pText = BuildDialogueString(pGlobalTXT_LocalizationStrings[181], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); @@ -931,7 +931,7 @@ return; v71 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(&pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&index) - 1], BuildingType_AlchemistShop, (int)window_SpeakInHouse->ptr_1C, 3); - pText = BuildDialogueString((char *)pMerchantsSellPhrases[v71], uActiveCharacter - 1, &pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&index) - 1], + pText = BuildDialogueString(pMerchantsSellPhrases[v71], uActiveCharacter - 1, &pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&index) - 1], (char *)window_SpeakInHouse->ptr_1C, 3, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(pText, &dialog_window, 0, 0)) / 2 + 138, TargetColor(0xFFu, 0xFFu, 0xFFu), pText, 3); return; @@ -966,8 +966,8 @@ { draw_leather(); CharacterUI_InventoryTab_Draw(pPlayers[uActiveCharacter], true); - pShopOptions[0] = pGlobalTXT_LocalizationStrings[200]; - pShopOptions[1] = pGlobalTXT_LocalizationStrings[113]; + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[200]); + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[113]); all_text_height = 0; for ( int i = 0; i < 2; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -1090,10 +1090,10 @@ { if ( !HouseUI_CheckIfPlayerCanInteract() ) return; - pShopOptions[0] = pGlobalTXT_LocalizationStrings[134]; //"Buy Standard" - pShopOptions[1] = pGlobalTXT_LocalizationStrings[152]; //"Buy Special" - pShopOptions[2] = pGlobalTXT_LocalizationStrings[159]; //"Display Inventory" - pShopOptions[3] = pGlobalTXT_LocalizationStrings[160]; + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[134]); //"Buy Standard" + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[152]); //"Buy Special" + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[159]); //"Display Inventory" + pShopOptions[3] = const_cast(pGlobalTXT_LocalizationStrings[160]); all_text_height = 0; for ( int i = 0; i < 4; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -1194,7 +1194,7 @@ else { v75 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_MagicShop, (int)window_SpeakInHouse->ptr_1C, 2); - v30 = BuildDialogueString((char *)pMerchantsBuyPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); + v30 = BuildDialogueString(pMerchantsBuyPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); } dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(v30, &dialog_window, 0, 0)) / 2 + 138, TargetColor(255, 255, 255), v30, 3); return; @@ -1282,7 +1282,7 @@ else { v75 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_MagicShop, (int)window_SpeakInHouse->ptr_1C, 2); - v30 = BuildDialogueString((char *)pMerchantsBuyPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); + v30 = BuildDialogueString(pMerchantsBuyPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 2, 0); } dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(v30, &dialog_window, 0, 0)) / 2 + 138, TargetColor(255, 255, 255), v30, 3); return; @@ -1295,9 +1295,9 @@ { draw_leather(); CharacterUI_InventoryTab_Draw(pPlayers[uActiveCharacter], true); - pShopOptions[0] = pGlobalTXT_LocalizationStrings[200];// "Sell" - pShopOptions[1] = pGlobalTXT_LocalizationStrings[113];// "Identify" - pShopOptions[2] = pGlobalTXT_LocalizationStrings[179];// "Repair" + pShopOptions[0] = const_cast(pGlobalTXT_LocalizationStrings[200]);// "Sell" + pShopOptions[1] = const_cast(pGlobalTXT_LocalizationStrings[113]);// "Identify" + pShopOptions[2] = const_cast(pGlobalTXT_LocalizationStrings[179]);// "Repair" all_text_height = 0; for ( uint i = 0; i < 3; ++i ) all_text_height += pFontArrus->CalcTextHeight(pShopOptions[i], &dialog_window, 0, 0); @@ -1336,7 +1336,7 @@ return; item = &pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&v117) - 1]; v75 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_MagicShop, (int)window_SpeakInHouse->ptr_1C, 3); - v30 = BuildDialogueString((char *)pMerchantsSellPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 3, 0); + v30 = BuildDialogueString(pMerchantsSellPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 3, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(v30, &dialog_window, 0, 0)) / 2 + 138, TargetColor(255, 255, 255), v30, 3); return; } @@ -1362,7 +1362,7 @@ return; } v75 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(item, BuildingType_MagicShop, (int)window_SpeakInHouse->ptr_1C, 4); - v30 = BuildDialogueString((char *)pMerchantsIdentifyPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 4, 0); + v30 = BuildDialogueString(pMerchantsIdentifyPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 4, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(v30, &dialog_window, 0, 0)) / 2 + 138, TargetColor(255, 255, 255), v30, 3); return; } @@ -1388,7 +1388,7 @@ item = &pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&v117) - 1]; v75 = pPlayers[uActiveCharacter]->SelectPhrasesTransaction(&pPlayers[uActiveCharacter]->pInventoryItemList[pPlayers[uActiveCharacter]->GetItemIDAtInventoryIndex((int *)&v117) - 1], BuildingType_MagicShop, (int)window_SpeakInHouse->ptr_1C, 5); - v30 = BuildDialogueString((char *)pMerchantsRepairPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 5, 0); + v30 = BuildDialogueString(pMerchantsRepairPhrases[v75], uActiveCharacter - 1, item, (char *)window_SpeakInHouse->ptr_1C, 5, 0); dialog_window.DrawTitleText(pFontArrus, 0, (174 - pFontArrus->CalcTextHeight(v30, &dialog_window, 0, 0)) / 2 + 138, TargetColor(255, 255, 255), v30, 3); return; } diff -r 4359a15360e3 -r f3db8e8cbad5 UI/UiGame.cpp --- a/UI/UiGame.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/UI/UiGame.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -355,7 +355,7 @@ unsigned __int16 pTextColor; // ax@104 GUIWindow window; // [sp+ACh] [bp-68h]@42 GUIFont *pOutString; // [sp+10Ch] [bp-8h]@39 - char *pInString=NULL; // [sp+110h] [bp-4h]@32 + const char *pInString=NULL; // [sp+110h] [bp-4h]@32 if ( !pDialogueWindow ) return; @@ -753,9 +753,9 @@ Texture *v13; // eax@6 PlayerFrame *v15; // eax@12 unsigned int pTextColor; // eax@15 - char *v29; // eax@16 + const char *v29; // eax@16 int v36; // esi@22 - char *v39; // eax@24 + const char *v39; // eax@24 signed int uFramesetID; // [sp+20h] [bp-8h]@9 int uFramesetIDa; // [sp+20h] [bp-8h]@18 @@ -843,7 +843,7 @@ unsigned int pX; // [sp+14h] [bp-18h]@2 unsigned int pY; // edi@9 int pSkillsCount; // ecx@27 - char *pText; // eax@38 + const char *pText; // eax@38 int pFontHeight; // [sp+18h] [bp-14h]@1 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->LoadTexturePtr("quikref", TEXTURE_16BIT_PALETTE)); diff -r 4359a15360e3 -r f3db8e8cbad5 mm7_1.cpp --- a/mm7_1.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/mm7_1.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -78,7 +78,7 @@ { unsigned int full_time; // esi@1 signed __int64 hours; // kr00_8@1 - char *text; // eax@2 + const char *text; // eax@2 signed __int64 minutes; // [sp+10h] [bp-10h]@1 signed __int64 seconds; // [sp+18h] [bp-8h]@1 unsigned int day; // [sp+24h] [bp+4h]@1 diff -r 4359a15360e3 -r f3db8e8cbad5 mm7_2.cpp --- a/mm7_2.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/mm7_2.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -661,21 +661,21 @@ //----- (004BF91E) -------------------------------------------------------- unsigned int GameOverMenu(void *ecx0) { - char *v1; // eax@2 + const char *v1; // eax@2 unsigned int result; // eax@3 Player *v3; // eax@7 - char *v4; // ST24_4@9 + const char *v4; // ST24_4@9 int v5; // eax@9 - char *v6; // eax@10 - char *v7; // edx@10 - char *v8; // ecx@12 - char *v9; // eax@14 + const char *v6; // eax@10 + const char *v7; // edx@10 + const char *v8; // ecx@12 + const char *v9; // eax@14 unsigned int v10; // eax@25 GUIWindow pWindow; // [sp+34h] [bp-9Ch]@1 //MSG Msg; // [sp+88h] [bp-48h]@22 unsigned int v14; // [sp+A4h] [bp-2Ch]@5 void *v15; // [sp+A8h] [bp-28h]@1 - char *pInString; // [sp+ACh] [bp-24h]@5 + const char *pInString; // [sp+ACh] [bp-24h]@5 unsigned int v17; // [sp+B0h] [bp-20h]@5 unsigned int v18; // [sp+B4h] [bp-1Ch]@5 unsigned int v19; // [sp+B8h] [bp-18h]@5 diff -r 4359a15360e3 -r f3db8e8cbad5 mm7_4.cpp --- a/mm7_4.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/mm7_4.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -1737,7 +1737,7 @@ //----- (00495430) -------------------------------------------------------- -char * GetReputationString( signed int a1 ) +const char * GetReputationString( signed int a1 ) { if (a1 >= 25) return pGlobalTXT_LocalizationStrings[379]; // Hated @@ -1752,10 +1752,10 @@ } //----- (00495461) -------------------------------------------------------- -char *BuildDialogueString(char *lpsz, unsigned __int8 uPlayerID, ItemGen *a3, char *a4, int a5, __int64 *a6) +char *BuildDialogueString(const char *lpsz, unsigned __int8 uPlayerID, ItemGen *a3, char *a4, int a5, __int64 *a6) { Player *pPlayer; // ebx@3 - char *pText; // esi@7 + const char *pText; // esi@7 int v17; // eax@10 signed __int64 v18; // qax@18 unsigned __int8 *v20; // ebx@32 @@ -2965,7 +2965,7 @@ //const char *v22; // [sp-8h] [bp-34h]@21 //unsigned int v23; // [sp-8h] [bp-34h]@38 //char *v24; // [sp-8h] [bp-34h]@82 - char *v25; // [sp-4h] [bp-30h]@14 + const char *v25; // [sp-4h] [bp-30h]@14 //int v26; // [sp-4h] [bp-30h]@38 //int v27; // [sp-4h] [bp-30h]@82 char v28[4]; // [sp+Ch] [bp-20h]@9 @@ -3342,7 +3342,7 @@ void __fastcall _4B3FE5_training_dialogue(int a4) { int v1; // edi@1 - char *v2; // edi@1 + const char *v2; // edi@1 __debugbreak(); v1 = a4; diff -r 4359a15360e3 -r f3db8e8cbad5 mm7_6.cpp --- a/mm7_6.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/mm7_6.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -101,9 +101,9 @@ Dst.uItemID = pActor->uCarriedItemID; v9 = pItemsTable->pItems[Dst.uItemID].pUnidentifiedName; if ( v14 ) - sprintfex(pTmpBuf2.data(), (char*)pGlobalTXT_LocalizationStrings[490], v14, v9); + sprintfex(pTmpBuf2.data(), pGlobalTXT_LocalizationStrings[490], v14, v9); else - sprintfex(pTmpBuf2.data(), (char*)pGlobalTXT_LocalizationStrings[471], v9); + sprintfex(pTmpBuf2.data(), pGlobalTXT_LocalizationStrings[471], v9); ShowStatusBarString(pTmpBuf2.data(), 2u); v4 = Dst.uItemID; v5 = Dst.uItemID; diff -r 4359a15360e3 -r f3db8e8cbad5 mm7_data.cpp --- a/mm7_data.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/mm7_data.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -905,12 +905,12 @@ int BtnUp_flag; //BtnUp_flag int quick_spell_at_page; // weak char byte_506550; // weak -std::array aMoonPhaseNames; +std::array aMoonPhaseNames; int _506568_autonote_type; // weak char bRecallingBeacon; // weak int uLastPointedObjectID; // weak //unsigned __int8 bMonsterInfoUI_bDollInitialized; -std::array aSpellNames; +std::array aSpellNames; int pMainScreenNum; // weak int dword_506980_uW; // weak int dword_506984_uZ; // weak @@ -943,10 +943,10 @@ unsigned int uGameUIFontShadow; unsigned int uGameUIFontMain; int dword_507B00_spell_info_to_draw_in_popup; // weak -std::array aMonthNames; -std::array aDayNames; -std::array aSpellSchoolNames; -std::array aAttributeNames; +std::array aMonthNames; +std::array aDayNames; +std::array aSpellSchoolNames; +std::array aAttributeNames; int dword_507B94; // weak unsigned int uActiveCharacter; int dword_507BF0_is_there_popup_onscreen; // weak @@ -1070,7 +1070,7 @@ char *p2DEventsTXT_Raw; int dword_5C35D4; // weak -std::array aAMPMNames; +std::array aAMPMNames; char byte_5C45AF[777]; // weak std::array pFinalMessage; // idb @@ -1115,7 +1115,7 @@ //std::array byte_5C8D1A; // weak std::array byte_5E4C15; // weak -std::array pSomeItemsNames; +std::array pSomeItemsNames; char *pMonstersTXT_Raw; char *pMonsterPlacementTXT_Raw; @@ -1262,14 +1262,14 @@ int dword_7241C8; // weak struct unk_F7B60C stru_73C834; // struct @ MM7.exe::0073C834 -std::array aNPCProfessionNames; +std::array aNPCProfessionNames; char *pAwardsTXT_Raw; char *pScrollsTXT_Raw; char *pMerchantsTXT_Raw; -std::array pMerchantsBuyPhrases; -std::array pMerchantsSellPhrases; -std::array pMerchantsRepairPhrases; -std::array pMerchantsIdentifyPhrases; +std::array pMerchantsBuyPhrases; +std::array pMerchantsSellPhrases; +std::array pMerchantsRepairPhrases; +std::array pMerchantsIdentifyPhrases; char *pTransitionsTXT_Raw; char *pAutonoteTXT_Raw; char *pQuestsTXT_Raw; @@ -1313,9 +1313,9 @@ __int64 qword_A750D8; // weak enum PlayerSpeech PlayerSpeechID; int uSpeakingCharacter; // weak -std::array pClassNames; -std::array aCharacterConditionNames; -std::array pSkillNames; +std::array pClassNames; +std::array aCharacterConditionNames; +std::array pSkillNames; int dword_AE336C; // weak int dword_AE3370; // weak char byte_AE5B91; // weak diff -r 4359a15360e3 -r f3db8e8cbad5 mm7_data.h --- a/mm7_data.h Sun Oct 13 22:53:37 2013 +0600 +++ b/mm7_data.h Sun Oct 13 22:53:45 2013 +0600 @@ -549,12 +549,12 @@ extern int BtnUp_flag; //BtnUp_flag extern int quick_spell_at_page; // weak extern char byte_506550; // weak -extern std::array aMoonPhaseNames; +extern std::array aMoonPhaseNames; extern int _506568_autonote_type; // 506568 extern char bRecallingBeacon; // weak extern int uLastPointedObjectID; // weak //extern unsigned __int8 bMonsterInfoUI_bDollInitialized; -extern std::array aSpellNames; +extern std::array aSpellNames; extern int pMainScreenNum; // weak extern int dword_506980_uW; // weak extern int dword_506984_uZ; // weak @@ -588,10 +588,10 @@ extern unsigned int uGameUIFontShadow; extern unsigned int uGameUIFontMain; extern int dword_507B00_spell_info_to_draw_in_popup; // weak -extern std::array aMonthNames; -extern std::array aDayNames; -extern std::array aSpellSchoolNames; -extern std::array aAttributeNames; +extern std::array aMonthNames; +extern std::array aDayNames; +extern std::array aSpellSchoolNames; +extern std::array aAttributeNames; extern int dword_507B94; // weak extern unsigned int uActiveCharacter; extern int dword_507BF0_is_there_popup_onscreen; // weak @@ -718,7 +718,7 @@ extern char *p2DEventsTXT_Raw; extern int dword_5C35D4; // weak -extern std::array aAMPMNames; +extern std::array aAMPMNames; extern char byte_5C45AF[]; // weak extern std::array pTmpBuf3; extern std::array pFinalMessage; // idb @@ -762,7 +762,7 @@ //extern std::array byte_5C8D1A; // weak extern std::array byte_5E4C15; // weak -extern std::array pSomeItemsNames; +extern std::array pSomeItemsNames; extern char *pMonstersTXT_Raw; extern char *pMonsterPlacementTXT_Raw; @@ -911,14 +911,14 @@ extern int dword_723E84[]; // weak extern int dword_7241C8; // weak -extern std::array aNPCProfessionNames; +extern std::array aNPCProfessionNames; extern char *pAwardsTXT_Raw; extern char *pScrollsTXT_Raw; extern char *pMerchantsTXT_Raw; -extern std::array pMerchantsBuyPhrases; -extern std::array pMerchantsSellPhrases; -extern std::array pMerchantsRepairPhrases; -extern std::array pMerchantsIdentifyPhrases; +extern std::array pMerchantsBuyPhrases; +extern std::array pMerchantsSellPhrases; +extern std::array pMerchantsRepairPhrases; +extern std::array pMerchantsIdentifyPhrases; extern char *pTransitionsTXT_Raw; extern char *pAutonoteTXT_Raw; extern char *pQuestsTXT_Raw; @@ -972,9 +972,9 @@ extern __int64 qword_A750D8; // weak extern enum PlayerSpeech PlayerSpeechID; extern int uSpeakingCharacter; // weak -extern std::array pClassNames; -extern std::array aCharacterConditionNames; -extern std::array pSkillNames; +extern std::array pClassNames; +extern std::array aCharacterConditionNames; +extern std::array pSkillNames; extern int dword_AE336C; // weak extern int dword_AE3370; // weak extern char byte_AE5B91; // weak @@ -1241,8 +1241,8 @@ void _494035_timed_effects__water_walking_damage__etc(); unsigned int __fastcall _494820_training_time(unsigned int a1); char *__fastcall sub_495366(unsigned __int8 a1, unsigned __int8 a2); -char *GetReputationString(signed int a1); -char *BuildDialogueString(char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6); +const char *GetReputationString(signed int a1); +char *BuildDialogueString(const char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6); void PlayerCreationUI_Draw(); void PlayerCreationUI_Initialize(); void DeleteCCharFont(); diff -r 4359a15360e3 -r f3db8e8cbad5 texts.cpp --- a/texts.cpp Sun Oct 13 22:53:37 2013 +0600 +++ b/texts.cpp Sun Oct 13 22:53:45 2013 +0600 @@ -13,7 +13,7 @@ static char *pGlobalTXT_Raw=NULL; -std::array pGlobalTXT_LocalizationStrings; +std::array pGlobalTXT_LocalizationStrings; diff -r 4359a15360e3 -r f3db8e8cbad5 texts.h --- a/texts.h Sun Oct 13 22:53:37 2013 +0600 +++ b/texts.h Sun Oct 13 22:53:45 2013 +0600 @@ -168,7 +168,7 @@ }; - extern std::array pGlobalTXT_LocalizationStrings; + extern std::array pGlobalTXT_LocalizationStrings; /*