Mercurial > mm7
comparison mm7_3.cpp @ 169:d1dde383af89
Merge
author | Nomad |
---|---|
date | Thu, 14 Feb 2013 14:03:17 +0200 |
parents | ee11772d0ad2 90521fb9766c |
children | 91fa025e6ca6 |
comparison
equal
deleted
inserted
replaced
168:ee11772d0ad2 | 169:d1dde383af89 |
---|---|
957 unsigned int v58; // edi@107 | 957 unsigned int v58; // edi@107 |
958 unsigned int v59; // ebx@107 | 958 unsigned int v59; // ebx@107 |
959 signed int v60; // eax@107 | 959 signed int v60; // eax@107 |
960 int v61; // eax@124 | 960 int v61; // eax@124 |
961 Vec3_int_ v62; // [sp+Ch] [bp-44h]@42 | 961 Vec3_int_ v62; // [sp+Ch] [bp-44h]@42 |
962 char v63; // [sp+18h] [bp-38h]@64 | 962 int v63; // [sp+18h] [bp-38h]@64 |
963 int v64; // [sp+1Ch] [bp-34h]@64 | 963 int v64; // [sp+1Ch] [bp-34h]@64 |
964 int v65; // [sp+20h] [bp-30h]@2 | 964 int v65; // [sp+20h] [bp-30h]@2 |
965 int v66; // [sp+24h] [bp-2Ch]@2 | 965 int v66; // [sp+24h] [bp-2Ch]@2 |
966 bool v67; // [sp+28h] [bp-28h]@10 | 966 bool v67; // [sp+28h] [bp-28h]@10 |
967 unsigned int v68; // [sp+2Ch] [bp-24h]@10 | 967 unsigned int v68; // [sp+2Ch] [bp-24h]@10 |
1335 v71 = 58500; | 1335 v71 = 58500; |
1336 v0->vVelocity.y = v70; | 1336 v0->vVelocity.y = v70; |
1337 v70 = v0->vVelocity.z; | 1337 v70 = v0->vVelocity.z; |
1338 v70 = (unsigned __int64)(v71 * (signed __int64)(signed int)v70) >> 16; | 1338 v70 = (unsigned __int64)(v71 * (signed __int64)(signed int)v70) >> 16; |
1339 ++v69; | 1339 ++v69; |
1340 v54 = __OFSUB__(v69, 100); | 1340 v54 = v69 < 100; |
1341 v10 = ((v69 - 100) & 0x80000000u) != 0; | 1341 v10 = (v69 - 100) < 0; |
1342 v0->vVelocity.z = v70; | 1342 v0->vVelocity.z = v70; |
1343 if ( !(v10 ^ v54) ) | 1343 if ( !(v10 ^ v54) ) |
1344 break; | 1344 break; |
1345 v26 = stru_721530.prolly_normal_d; | 1345 v26 = stru_721530.prolly_normal_d; |
1346 } | 1346 } |
4136 pParty->field_6F0 = v82 + pParty->uPartyHeight - v109 + 1; | 4136 pParty->field_6F0 = v82 + pParty->uPartyHeight - v109 + 1; |
4137 } | 4137 } |
4138 } | 4138 } |
4139 } | 4139 } |
4140 | 4140 |
4141 | |
4142 | |
4143 | |
4144 | |
4145 //----- (0047531C) -------------------------------------------------------- | 4141 //----- (0047531C) -------------------------------------------------------- |
4146 bool __fastcall sub_47531C(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, BLVFace *a9, int a10) | 4142 bool __fastcall sub_47531C(int a1, int *a2, int a3, int a4, int a5, int a6, int a7, int a8, BLVFace *a9, int a10) |
4147 { | 4143 { |
4148 BLVFace *v10; // ebx@1 | 4144 BLVFace *v10; // ebx@1 |
4149 int v11; // ST1C_4@3 | 4145 int v11; // ST1C_4@3 |
13775 } | 13771 } |
13776 | 13772 |
13777 //----- (0044100D) -------------------------------------------------------- | 13773 //----- (0044100D) -------------------------------------------------------- |
13778 bool __cdecl sub_44100D() | 13774 bool __cdecl sub_44100D() |
13779 { | 13775 { |
13780 return pCurrentScreen == 4 | 13776 return pCurrentScreen == SCREEN_NPC_DIALOGUE |
13781 || pCurrentScreen == 7 | 13777 || pCurrentScreen == SCREEN_CHARACTERS |
13782 || pCurrentScreen > 12 | 13778 || pCurrentScreen > SCREEN_LOADGAME |
13783 && (pCurrentScreen <= 14 | 13779 && (pCurrentScreen <= SCREEN_E |
13784 || pCurrentScreen > 16 | 13780 || pCurrentScreen > SCREEN_VIDEO |
13785 && (pCurrentScreen <= 18 | 13781 && (pCurrentScreen <= SCREEN_INPUT_BLV |
13786 || pCurrentScreen == 23)); | 13782 || pCurrentScreen == SCREEN_CASTING)); |
13787 } | 13783 } |
13788 // 4E28F8: using guessed type int pCurrentScreen; | 13784 // 4E28F8: using guessed type int pCurrentScreen; |
13789 | 13785 |
13790 //----- (00441498) -------------------------------------------------------- | 13786 //----- (00441498) -------------------------------------------------------- |
13791 void __cdecl GameUI_DrawTorchlightAndWizardEye() | 13787 void __cdecl GameUI_DrawTorchlightAndWizardEye() |
13794 IconFrame *v1; // eax@15 | 13790 IconFrame *v1; // eax@15 |
13795 unsigned int v2; // eax@19 | 13791 unsigned int v2; // eax@19 |
13796 IconFrame *v3; // eax@19 | 13792 IconFrame *v3; // eax@19 |
13797 | 13793 |
13798 if ( !pCurrentScreen | 13794 if ( !pCurrentScreen |
13799 || pCurrentScreen == 1 | 13795 || pCurrentScreen == SCREEN_MENU |
13800 || pCurrentScreen == 2 | 13796 || pCurrentScreen == SCREEN_OPTIONS |
13801 || pCurrentScreen == 5 | 13797 || pCurrentScreen == SCREEN_REST |
13802 || pCurrentScreen == 8 | 13798 || pCurrentScreen == SCREEN_SPELL_BOOK |
13803 || pCurrentScreen == 10 | 13799 || pCurrentScreen == SCREEN_CHEST |
13804 || pCurrentScreen == 11 | 13800 || pCurrentScreen == SCREEN_SAVEGAME |
13805 || pCurrentScreen == 12 | 13801 || pCurrentScreen == SCREEN_LOADGAME |
13806 || pCurrentScreen == 15 | 13802 || pCurrentScreen == SCREEN_F |
13807 || pCurrentScreen == 3 | 13803 || pCurrentScreen == SCREEN_BOOKS |
13808 || pCurrentScreen == 19 ) | 13804 || pCurrentScreen == SCREEN_BRANCHLESS_NPC_DIALOG ) |
13809 { | 13805 { |
13810 if ( SHIDWORD(pParty->pPartyBuffs[16].uExpireTime) >= 0 | 13806 if ( SHIDWORD(pParty->pPartyBuffs[16].uExpireTime) >= 0 |
13811 && (SHIDWORD(pParty->pPartyBuffs[16].uExpireTime) > 0 || LODWORD(pParty->pPartyBuffs[16].uExpireTime)) ) | 13807 && (SHIDWORD(pParty->pPartyBuffs[16].uExpireTime) > 0 || LODWORD(pParty->pPartyBuffs[16].uExpireTime)) ) |
13812 { | 13808 { |
13813 v0 = pEventTimer->Time(); | 13809 v0 = pEventTimer->Time(); |
13894 } | 13890 } |
13895 ++v1; | 13891 ++v1; |
13896 } | 13892 } |
13897 while ( v1 < 14 ); | 13893 while ( v1 < 14 ); |
13898 if ( !pCurrentScreen | 13894 if ( !pCurrentScreen |
13899 || pCurrentScreen == 4 ) | 13895 || pCurrentScreen == SCREEN_NPC_DIALOGUE ) |
13900 { | 13896 { |
13901 if ( (signed __int64)pParty->pPartyBuffs[7].uExpireTime > 0 ) | 13897 if ( (signed __int64)pParty->pPartyBuffs[7].uExpireTime > 0 ) |
13902 { | 13898 { |
13903 if ( pParty->bFlying ) | 13899 if ( pParty->bFlying ) |
13904 v6 = v0; | 13900 v6 = v0; |
14510 pRenderer->ResetClip(); | 14506 pRenderer->ResetClip(); |
14511 } | 14507 } |
14512 | 14508 |
14513 | 14509 |
14514 //----- (00442955) -------------------------------------------------------- | 14510 //----- (00442955) -------------------------------------------------------- |
14515 int __fastcall DrawSpellbook_Map_sub(unsigned int x, unsigned int y, unsigned int a4, int a5, int _48074) | 14511 int __fastcall DrawBook_Map_sub(unsigned int x, unsigned int y, unsigned int a4, int a5, int _48074) |
14516 { | 14512 { |
14517 int v5; // ebx@1 | 14513 int v5; // ebx@1 |
14518 int v6; // edi@1 | 14514 int v6; // edi@1 |
14519 unsigned int *v7; // eax@8 | 14515 unsigned int *v7; // eax@8 |
14520 unsigned __int8 v8; // zf@8 | 14516 unsigned __int8 v8; // zf@8 |
16098 | 16094 |
16099 | 16095 |
16100 //----- (00444A51) -------------------------------------------------------- | 16096 //----- (00444A51) -------------------------------------------------------- |
16101 char *__cdecl TransitionUI_Draw() | 16097 char *__cdecl TransitionUI_Draw() |
16102 { | 16098 { |
16103 MapInfo *v0; // esi@5 | 16099 MapInfo *pMapInfo; // esi@5 |
16104 char *v1; // eax@6 | 16100 char *v1; // eax@6 |
16105 char *result; // eax@12 | 16101 char *result; // eax@12 |
16106 std::string v3; // [sp-18h] [bp-84h]@11 | 16102 std::string v3; // [sp-18h] [bp-84h]@11 |
16107 unsigned int v4; // [sp-10h] [bp-7Ch]@12 | 16103 unsigned int v4; // [sp-10h] [bp-7Ch]@12 |
16108 int v5; // [sp-Ch] [bp-78h]@12 | 16104 int v5; // [sp-Ch] [bp-78h]@12 |
16115 | 16111 |
16116 memcpy(&v8, pPrimaryWindow, sizeof(v8)); | 16112 memcpy(&v8, pPrimaryWindow, sizeof(v8)); |
16117 v10 = pMapStats->GetMapInfo(pCurrentMapName); | 16113 v10 = pMapStats->GetMapInfo(pCurrentMapName); |
16118 v9 = IndoorLocation::GetLocationIndex(dword_591164_teleport_map_name); | 16114 v9 = IndoorLocation::GetLocationIndex(dword_591164_teleport_map_name); |
16119 pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background); | 16115 pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background); |
16120 pRenderer->DrawTextureIndexed( | 16116 pRenderer->DrawTextureIndexed(pNPCPortraits_x - 4, pNPCPortraits_y - 4, (Texture *)(uTextureID_50795C != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_50795C] : 0)); |
16121 _4E5E50_transui_x - 4, | 16117 pRenderer->DrawTextureIndexed(pNPCPortraits_x, pNPCPortraits_y, pTexture_outside); |
16122 _4E5EE0_transui_y - 4, | |
16123 (Texture *)(uTextureID_50795C != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_50795C] : 0)); | |
16124 pRenderer->DrawTextureIndexed(_4E5E50_transui_x, _4E5EE0_transui_y, pTexture_outside); | |
16125 uTextureID_507B04 = uTextureID_right_panel; | 16118 uTextureID_507B04 = uTextureID_right_panel; |
16126 pRenderer->DrawTextureTransparent( | 16119 pRenderer->DrawTextureTransparent(468, 0, (Texture *)(uTextureID_right_panel != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_right_panel] : 0)); |
16127 0x1D4u, | 16120 pRenderer->DrawTextureIndexed(556, 451, (Texture *)(uTextureID_x_x_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_x_u] : 0)); |
16128 0, | 16121 pRenderer->DrawTextureIndexed(476, 451, (Texture *)(uTextureID_x_ok_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_ok_u] : 0)); |
16129 (Texture *)(uTextureID_right_panel != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_right_panel] : 0)); | |
16130 pRenderer->DrawTextureIndexed( | |
16131 0x22Cu, | |
16132 0x1C3u, | |
16133 (Texture *)(uTextureID_x_x_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_x_u] : 0)); | |
16134 pRenderer->DrawTextureIndexed( | |
16135 0x1DCu, | |
16136 0x1C3u, | |
16137 (Texture *)(uTextureID_x_ok_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_ok_u] : 0)); | |
16138 if ( (pVideoPlayer->AnyMovieLoaded() || v9) && *dword_591164_teleport_map_name != 48 ) | 16122 if ( (pVideoPlayer->AnyMovieLoaded() || v9) && *dword_591164_teleport_map_name != 48 ) |
16139 v10 = pMapStats->GetMapInfo(dword_591164_teleport_map_name); | 16123 v10 = pMapStats->GetMapInfo(dword_591164_teleport_map_name); |
16140 v0 = &pMapStats->pInfos[v10]; | 16124 pMapInfo = &pMapStats->pInfos[v10]; |
16141 v8.uFrameX = 493; | 16125 v8.uFrameX = 493; |
16142 v8.uFrameWidth = 126; | 16126 v8.uFrameWidth = 126; |
16143 v8.uFrameZ = 366; | 16127 v8.uFrameZ = 366; |
16144 v8.DrawTitleText(pFontCreate, 0, 5u, 0, v0->pName, 3u); | 16128 v8.DrawTitleText(pFontCreate, 0, 5u, 0, pMapInfo->pName, 3); |
16145 v8.uFrameX = 483; | 16129 v8.uFrameX = 483; |
16146 v8.uFrameWidth = 148; | 16130 v8.uFrameWidth = 148; |
16147 v8.uFrameZ = 334; | 16131 v8.uFrameZ = 334; |
16148 if ( uCurrentHouse_Animation ) | 16132 if ( uCurrentHouse_Animation ) |
16149 { | 16133 { |
16151 } | 16135 } |
16152 else | 16136 else |
16153 { | 16137 { |
16154 if ( v10 ) | 16138 if ( v10 ) |
16155 { | 16139 { |
16156 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[409], v0->pName);// "Do you wish to leave %s?" | 16140 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[409], pMapInfo->pName);// "Do you wish to leave %s?" |
16157 v1 = pTmpBuf; | 16141 v4 = (212 - pFontCreate->CalcTextHeight(pTmpBuf, &v8, 0, 0)) / 2 + 101; |
16158 goto LABEL_12; | 16142 result = v8.DrawTitleText(pFontCreate, 0, v4, 0, pTmpBuf, 3); |
16143 dword_5B5924 = 1; | |
16144 return result; | |
16159 } | 16145 } |
16160 v1 = ""; | 16146 v1 = ""; |
16161 } | 16147 } |
16162 if ( !v1 ) | 16148 if ( !v1 ) |
16163 { | 16149 { |
16164 MessageBoxW(nullptr, L"No transition text found!", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Events.cpp:1410", 0); | 16150 MessageBoxW(nullptr, L"No transition text found!", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Events.cpp:1410", 0); |
16165 v1 = ""; | 16151 v1 = ""; |
16166 } | 16152 } |
16167 LABEL_12: | |
16168 v7 = 3; | |
16169 v6 = v1; | |
16170 v5 = 0; | |
16171 v4 = (212 - pFontCreate->CalcTextHeight(v1, &v8, 0, 0)) / 2 + 101; | 16153 v4 = (212 - pFontCreate->CalcTextHeight(v1, &v8, 0, 0)) / 2 + 101; |
16172 result = v8.DrawTitleText(pFontCreate, 0, v4, v5, v6, v7); | 16154 result = v8.DrawTitleText(pFontCreate, 0, v4, 0, v1, 3); |
16173 dword_5B5924 = 1; | 16155 dword_5B5924 = 1; |
16174 return result; | 16156 return result; |
16175 } | 16157 } |
16176 | 16158 |
16177 | 16159 |
16250 pOutdoor->GetTravelDestination(pParty->vPosition.x, pParty->vPosition.y, pDestinationMapName, 20); | 16232 pOutdoor->GetTravelDestination(pParty->vPosition.x, pParty->vPosition.y, pDestinationMapName, 20); |
16251 v0 = pMapStats->GetMapInfo(pDestinationMapName); | 16233 v0 = pMapStats->GetMapInfo(pDestinationMapName); |
16252 pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background); | 16234 pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background); |
16253 pRenderer->DrawTextureTransparent(0x1D4u, 0, | 16235 pRenderer->DrawTextureTransparent(0x1D4u, 0, |
16254 (Texture *)(uTextureID_507B04 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507B04] : 0)); | 16236 (Texture *)(uTextureID_507B04 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507B04] : 0)); |
16255 pRenderer->DrawTextureIndexed(_4E5E50_transui_x, _4E5EE0_transui_y, pTexture_outside); | 16237 pRenderer->DrawTextureIndexed(pNPCPortraits_x, pNPCPortraits_y, pTexture_outside); |
16256 pRenderer->DrawTextureIndexed(0x22Cu, 0x1C3u, | 16238 pRenderer->DrawTextureIndexed(0x22Cu, 0x1C3u, |
16257 (Texture *)(uTextureID_x_x_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_x_u] : 0)); | 16239 (Texture *)(uTextureID_x_x_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_x_u] : 0)); |
16258 pRenderer->DrawTextureIndexed(0x1DCu, 0x1C3u, | 16240 pRenderer->DrawTextureIndexed(0x1DCu, 0x1C3u, |
16259 (Texture *)(uTextureID_x_ok_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_ok_u] : 0)); | 16241 (Texture *)(uTextureID_x_ok_u != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_x_ok_u] : 0)); |
16260 if ( v0 ) | 16242 if ( v0 ) |
16416 | 16398 |
16417 | 16399 |
16418 //----- (00445350) -------------------------------------------------------- | 16400 //----- (00445350) -------------------------------------------------------- |
16419 void __cdecl DrawDialogueUI() | 16401 void __cdecl DrawDialogueUI() |
16420 { | 16402 { |
16421 NPCData *v0; // ebx@2 | 16403 NPCData *pNPC; // ebx@2 |
16422 int v1; // eax@2 | 16404 int v1; // eax@2 |
16423 unsigned __int16 v2; // di@2 | 16405 unsigned __int16 v2; // di@2 |
16424 unsigned int v3; // eax@2 | 16406 //unsigned int v3; // eax@2 |
16425 char *v4; // esi@3 | 16407 char *v4; // esi@3 |
16426 int v5; // eax@11 | 16408 int v5; // eax@11 |
16427 char *v6; // ecx@13 | 16409 char *v6; // ecx@13 |
16428 char *v7; // eax@16 | 16410 char *v7; // eax@16 |
16429 unsigned int v8; // edi@19 | 16411 unsigned int v8; // edi@19 |
16464 GUIButton *v43; // esi@103 | 16446 GUIButton *v43; // esi@103 |
16465 int v44; // eax@104 | 16447 int v44; // eax@104 |
16466 unsigned int v45; // ecx@104 | 16448 unsigned int v45; // ecx@104 |
16467 unsigned __int16 *v46; // edx@104 | 16449 unsigned __int16 *v46; // edx@104 |
16468 unsigned __int16 v47; // ax@104 | 16450 unsigned __int16 v47; // ax@104 |
16469 char pFont; // [sp+4h] [bp-110h]@39 | 16451 GUIWindow pWindow; // [sp+4h] [bp-110h]@39 |
16470 int v49; // [sp+Ch] [bp-108h]@39 | 16452 int v49; // [sp+Ch] [bp-108h]@39 |
16471 int v50; // [sp+14h] [bp-100h]@39 | 16453 int v50; // [sp+14h] [bp-100h]@39 |
16472 GUIWindow v51; // [sp+58h] [bp-BCh]@2 | 16454 GUIWindow v51; // [sp+58h] [bp-BCh]@2 |
16473 GUIWindow v52; // [sp+ACh] [bp-68h]@42 | 16455 GUIWindow v52; // [sp+ACh] [bp-68h]@42 |
16474 char *Str; // [sp+100h] [bp-14h]@104 | 16456 char *Str; // [sp+100h] [bp-14h]@104 |
16478 char *pInString; // [sp+110h] [bp-4h]@32 | 16460 char *pInString; // [sp+110h] [bp-4h]@32 |
16479 | 16461 |
16480 if ( !pDialogueWindow ) | 16462 if ( !pDialogueWindow ) |
16481 return; | 16463 return; |
16482 memcpy(&v51, pDialogueWindow, sizeof(v51)); | 16464 memcpy(&v51, pDialogueWindow, sizeof(v51)); |
16483 v0 = GetNPCData(uDialogue_SpeakingActorNPC_ID); | 16465 pNPC = GetNPCData(uDialogue_SpeakingActorNPC_ID); |
16484 v1 = sub_445C8B(uDialogue_SpeakingActorNPC_ID); | 16466 v1 = sub_445C8B(uDialogue_SpeakingActorNPC_ID); |
16485 v51.uFrameWidth -= 10; | 16467 v51.uFrameWidth -= 10; |
16486 v51.uFrameZ -= 10; | 16468 v51.uFrameZ -= 10; |
16487 *(int *)v54 = v1; | 16469 *(int *)v54 = v1; |
16488 GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu); | 16470 GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu); |
16489 GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xE1u, 0xCDu, 0x23u); | 16471 GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xE1u, 0xCDu, 0x23u); |
16490 v2 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x15u, 0x99u, 0xE9u); | 16472 v2 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x15u, 0x99u, 0xE9u); |
16491 pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background); | 16473 pRenderer->DrawTextureIndexed(477, 0, pTexture_Dialogue_Background); |
16492 pRenderer->DrawTextureTransparent( | 16474 pRenderer->DrawTextureTransparent(468, 0, (Texture *)(uTextureID_507B04 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507B04] : 0)); |
16493 0x1D4u, | 16475 pRenderer->DrawTextureIndexed(pNPCPortraits_x - 4, pNPCPortraits_y - 4, (Texture *)(uTextureID_50795C != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_50795C] : 0)); |
16494 0, | 16476 pRenderer->DrawTextureIndexed(pNPCPortraits_x, pNPCPortraits_y, pDialogueNPCPortraits[0]); |
16495 (Texture *)(uTextureID_507B04 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507B04] : 0)); | 16477 if ( pNPC->uProfession ) |
16496 pRenderer->DrawTextureIndexed( | 16478 { |
16497 _4E5E50_transui_x - 4, | 16479 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[429], pNPC->pName, aNPCProfessionNames[pNPC->uProfession]);//^Pi[%s] %s |
16498 _4E5EE0_transui_y - 4, | |
16499 (Texture *)(uTextureID_50795C != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_50795C] : 0)); | |
16500 pRenderer->DrawTextureIndexed(_4E5E50_transui_x, _4E5EE0_transui_y, pDialogueNPCPortraits[0]); | |
16501 v3 = v0->uProfession; | |
16502 if ( v3 ) | |
16503 { | |
16504 v4 = pTmpBuf; | |
16505 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v0->pName, aNPCProfessionNames[v3]); | |
16506 } | 16480 } |
16507 else | 16481 else |
16508 { | 16482 { |
16509 strcpy(pTmpBuf, v0->pName); | 16483 strcpy(pTmpBuf, pNPC->pName); |
16510 v4 = pTmpBuf; | 16484 } |
16511 } | 16485 v51.DrawTitleText(pFontArrus, 483, 112, v2, pTmpBuf, 3); |
16512 v51.DrawTitleText(pFontArrus, 0x1E3u, 0x70u, v2, v4, 3u); | |
16513 pParty->GetPartyFame(); | 16486 pParty->GetPartyFame(); |
16514 if ( (signed int)uDialogueType > 89 ) | 16487 if ( (signed int)uDialogueType > 89 ) |
16515 { | 16488 { |
16516 if ( uDialogueType == 90 ) | 16489 if ( uDialogueType == 90 ) |
16517 { | 16490 { |
16518 v7 = pGlobalTXT_LocalizationStrings[577]; // "Get back in there you wimps:" | 16491 pWindow.uFrameWidth = 460; |
16519 goto LABEL_37; | 16492 pWindow.uFrameZ = 452; |
16493 pOutString = pFontArrus; | |
16494 v12 = pFontArrus->CalcTextHeight(pGlobalTXT_LocalizationStrings[577], &pWindow, 13, 0) + 7;//"Get back in there you wimps:" | |
16495 if ( 352 - v12 < 8 ) | |
16496 { | |
16497 pOutString = pFontCreate; | |
16498 v12 = pFontCreate->CalcTextHeight(pGlobalTXT_LocalizationStrings[577], &pWindow, 13, 0) + 7; | |
16499 } | |
16500 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16501 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16502 pRenderer->DrawTextureIndexed(8, 347 - v12, pTexture_591428); | |
16503 v13 = FitTextInAWindow(pGlobalTXT_LocalizationStrings[577], pFontArrus, &pWindow, 0xDu, 0); | |
16504 pDialogueWindow->DrawText(pFontArrus, 13, 354 - v12, 0, v13, 0, 0, 0); | |
16505 goto LABEL_42; | |
16520 } | 16506 } |
16521 if ( uDialogueType == 91 ) | 16507 if ( uDialogueType == 91 ) |
16522 { | 16508 { |
16523 sprintf(v4, pGlobalTXT_LocalizationStrings[576], dword_F8B1B4);// "Congratulations on your win: here's your stuff: %u gold." | 16509 sprintf(v4, pGlobalTXT_LocalizationStrings[576], dword_F8B1B4);// "Congratulations on your win: here's your stuff: %u gold." |
16524 pInString = v4; | 16510 pInString = v4; |
16525 v8 = 0; | 16511 v8 = 0; |
16526 goto LABEL_39; | 16512 pWindow.uFrameWidth = 460; |
16513 pWindow.uFrameZ = 452; | |
16514 pOutString = pFontArrus; | |
16515 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16516 if ( 352 - v12 < 8 ) | |
16517 { | |
16518 pOutString = pFontCreate; | |
16519 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16520 } | |
16521 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16522 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16523 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16524 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16525 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16526 goto LABEL_42; | |
16527 } | 16527 } |
16528 if ( uDialogueType == 92 ) | 16528 if ( uDialogueType == 92 ) |
16529 { | 16529 { |
16530 v7 = pGlobalTXT_LocalizationStrings[582]; // "You already won this trip to the Arena:" | 16530 v7 = pGlobalTXT_LocalizationStrings[582]; // "You already won this trip to the Arena:" |
16531 goto LABEL_37; | 16531 v8 = 0; |
16532 pInString = v7; | |
16533 pWindow.uFrameWidth = 460; | |
16534 pWindow.uFrameZ = 452; | |
16535 pOutString = pFontArrus; | |
16536 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16537 if ( 352 - v12 < 8 ) | |
16538 { | |
16539 pOutString = pFontCreate; | |
16540 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16541 } | |
16542 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16543 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16544 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16545 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16546 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16547 goto LABEL_42; | |
16532 } | 16548 } |
16533 } | 16549 } |
16534 else | 16550 else |
16535 { | 16551 { |
16536 if ( uDialogueType == 89 ) | 16552 if ( uDialogueType == 89 ) |
16537 { | 16553 { |
16538 v7 = pGlobalTXT_LocalizationStrings[574]; // "Welcome to the Arena of Life and Death. Remember, you are only allowed one arena combat per visit. To fight an arena battle, select the option that best describes your abilities and return to me- if you survive:" | 16554 v7 = pGlobalTXT_LocalizationStrings[574]; // "Welcome to the Arena of Life and Death. Remember, you are only allowed one arena combat per visit. To fight an arena battle, select the option that best describes your abilities and return to me- if you survive:" |
16539 goto LABEL_37; | 16555 v8 = 0; |
16556 pInString = v7; | |
16557 pWindow.uFrameWidth = 460; | |
16558 pWindow.uFrameZ = 452; | |
16559 pOutString = pFontArrus; | |
16560 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16561 if ( 352 - v12 < 8 ) | |
16562 { | |
16563 pOutString = pFontCreate; | |
16564 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16565 } | |
16566 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16567 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16568 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16569 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16570 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16571 goto LABEL_42; | |
16540 } | 16572 } |
16541 if ( uDialogueType == 13 ) | 16573 if ( uDialogueType == 13 ) |
16542 { | 16574 { |
16543 v5 = 5 * v0->uProfession; | 16575 v5 = 5 * pNPC->uProfession; |
16544 goto LABEL_18; | 16576 v6 = (char *)*(&pNPCStats->field_13A64 + v5); |
16577 v8 = 0; | |
16578 v7 = sub_495461(v6, uActiveCharacter - 1, 0, 0, 0, 0); | |
16579 pInString = v7; | |
16580 pWindow.uFrameWidth = 460; | |
16581 pWindow.uFrameZ = 452; | |
16582 pOutString = pFontArrus; | |
16583 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16584 if ( 352 - v12 < 8 ) | |
16585 { | |
16586 pOutString = pFontCreate; | |
16587 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16588 } | |
16589 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16590 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16591 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16592 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16593 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16594 goto LABEL_42; | |
16545 } | 16595 } |
16546 if ( (signed int)uDialogueType > 18 ) | 16596 if ( (signed int)uDialogueType > 18 ) |
16547 { | 16597 { |
16548 if ( (signed int)uDialogueType > 24 ) | 16598 if ( (signed int)uDialogueType > 24 ) |
16549 { | 16599 { |
16550 if ( uDialogueType == 77 ) | 16600 if ( uDialogueType == 77 ) |
16551 { | 16601 { |
16552 v5 = 5 * v0->uProfession; | 16602 v5 = 5 * pNPC->uProfession; |
16553 if ( byte_F8B1EC ) | 16603 if ( byte_F8B1EC ) |
16554 { | 16604 { |
16555 v6 = (char *)*(&pNPCStats->field_13A5C + 5 * v0->uProfession); | 16605 v6 = (char *)*(&pNPCStats->field_13A5C + 5 * pNPC->uProfession); |
16556 goto LABEL_19; | |
16557 } | |
16558 if ( v0->uFlags & 0x80 ) | |
16559 { | |
16560 v6 = (char *)*(&pNPCStats->field_13A68 + 5 * v0->uProfession); | |
16561 LABEL_19: | |
16562 v8 = 0; | 16606 v8 = 0; |
16563 v7 = sub_495461(v6, uActiveCharacter - 1, 0, 0, 0, 0); | 16607 v7 = sub_495461(v6, uActiveCharacter - 1, 0, 0, 0, 0); |
16564 LABEL_38: | |
16565 pInString = v7; | 16608 pInString = v7; |
16566 goto LABEL_39; | 16609 pWindow.uFrameWidth = 460; |
16610 pWindow.uFrameZ = 452; | |
16611 pOutString = pFontArrus; | |
16612 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16613 if ( 352 - v12 < 8 ) | |
16614 { | |
16615 pOutString = pFontCreate; | |
16616 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16617 } | |
16618 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16619 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16620 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16621 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16622 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16623 goto LABEL_42; | |
16567 } | 16624 } |
16568 LABEL_18: | 16625 if ( pNPC->uFlags & 0x80 ) |
16626 { | |
16627 v6 = (char *)*(&pNPCStats->field_13A68 + 5 * pNPC->uProfession); | |
16628 v8 = 0; | |
16629 v7 = sub_495461(v6, uActiveCharacter - 1, 0, 0, 0, 0); | |
16630 pInString = v7; | |
16631 pWindow.uFrameWidth = 460; | |
16632 pWindow.uFrameZ = 452; | |
16633 pOutString = pFontArrus; | |
16634 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16635 if ( 352 - v12 < 8 ) | |
16636 { | |
16637 pOutString = pFontCreate; | |
16638 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16639 } | |
16640 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16641 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16642 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16643 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16644 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16645 goto LABEL_42; | |
16646 } | |
16569 v6 = (char *)*(&pNPCStats->field_13A64 + v5); | 16647 v6 = (char *)*(&pNPCStats->field_13A64 + v5); |
16570 goto LABEL_19; | 16648 v8 = 0; |
16649 v7 = sub_495461(v6, uActiveCharacter - 1, 0, 0, 0, 0); | |
16650 pInString = v7; | |
16651 pWindow.uFrameWidth = 460; | |
16652 pWindow.uFrameZ = 452; | |
16653 pOutString = pFontArrus; | |
16654 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16655 if ( 352 - v12 < 8 ) | |
16656 { | |
16657 pOutString = pFontCreate; | |
16658 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16659 } | |
16660 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16661 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16662 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16663 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16664 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16665 goto LABEL_42; | |
16571 } | 16666 } |
16572 goto LABEL_24; | 16667 goto LABEL_24; |
16573 } | 16668 } |
16574 if ( byte_5B0938[0] ) | 16669 if ( byte_5B0938[0] ) |
16575 goto LABEL_24; | 16670 goto LABEL_24; |
16576 v7 = (char *)ptr_F8B1E8; | 16671 v7 = (char *)ptr_F8B1E8; |
16577 LABEL_37: | |
16578 v8 = 0; | 16672 v8 = 0; |
16579 goto LABEL_38; | 16673 pInString = v7; |
16674 pWindow.uFrameWidth = 460; | |
16675 pWindow.uFrameZ = 452; | |
16676 pOutString = pFontArrus; | |
16677 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16678 if ( 352 - v12 < 8 ) | |
16679 { | |
16680 pOutString = pFontCreate; | |
16681 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; | |
16682 } | |
16683 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16684 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | |
16685 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | |
16686 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); | |
16687 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | |
16688 goto LABEL_42; | |
16580 } | 16689 } |
16581 } | 16690 } |
16582 LABEL_24: | 16691 LABEL_24: |
16583 if ( *(int *)v54 == 1 ) | 16692 if ( *(int *)v54 == 1 ) |
16584 { | 16693 { |
16585 v11 = v0->greet; | 16694 v11 = pNPC->greet; |
16586 v8 = 0; | 16695 v8 = 0; |
16587 if ( v11 ) | 16696 if ( v11 ) |
16588 { | 16697 { |
16589 v10 = (char *)*(&pNPCStats->field_17884 + ((v0->uFlags & 3) == 2) + 2 * v11); | 16698 v10 = (char *)*(&pNPCStats->field_17884 + ((pNPC->uFlags & 3) == 2) + 2 * v11); |
16590 goto LABEL_32; | 16699 goto LABEL_32; |
16591 } | 16700 } |
16592 } | 16701 } |
16593 else | 16702 else |
16594 { | 16703 { |
16595 if ( *(int *)v54 == 2 ) | 16704 if ( *(int *)v54 == 2 ) |
16596 { | 16705 { |
16597 v8 = 0; | 16706 v8 = 0; |
16598 if ( v0->uFlags & 0x80 ) | 16707 if ( pNPC->uFlags & 0x80 ) |
16599 v9 = (char *)*(&pNPCStats->field_13A68 + 5 * v0->uProfession); | 16708 v9 = (char *)*(&pNPCStats->field_13A68 + 5 * pNPC->uProfession); |
16600 else | 16709 else |
16601 v9 = (char *)*(&pNPCStats->field_13A64 + 5 * v0->uProfession); | 16710 v9 = (char *)*(&pNPCStats->field_13A64 + 5 * pNPC->uProfession); //"Invalid String Passed" |
16602 v10 = sub_495461(v9, uActiveCharacter - 1, 0, 0, 0, 0); | 16711 v10 = sub_495461(v9, uActiveCharacter - 1, 0, 0, 0, 0); |
16603 LABEL_32: | 16712 LABEL_32: |
16604 pInString = v10; | 16713 pInString = v10; |
16605 if ( v10 == (char *)v8 ) | 16714 if ( v10 == (char *)v8 ) |
16606 goto LABEL_42; | 16715 goto LABEL_42; |
16607 LABEL_39: | 16716 pWindow.uFrameWidth = 460; |
16608 v49 = 460; | 16717 pWindow.uFrameZ = 452; |
16609 v50 = 452; | |
16610 pOutString = pFontArrus; | 16718 pOutString = pFontArrus; |
16611 v12 = pFontArrus->CalcTextHeight(pInString, (GUIWindow *)&pFont, 13, v8) + 7; | 16719 v12 = pFontArrus->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; |
16612 if ( 352 - v12 < 8 ) | 16720 if ( 352 - v12 < 8 ) |
16613 { | 16721 { |
16614 pOutString = pFontCreate; | 16722 pOutString = pFontCreate; |
16615 v12 = pFontCreate->CalcTextHeight(pInString, (GUIWindow *)&pFont, 13, v8) + 7; | 16723 v12 = pFontCreate->CalcTextHeight(pInString, &pWindow, 13, v8) + 7; |
16616 } | 16724 } |
16617 pRenderer->_4A6A68( | 16725 pRenderer->_4A6A68(8, 352 - v12, (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), |
16618 8u, | |
16619 352 - v12, | |
16620 (Texture *)(uTextureID_Leather != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_Leather] : 0), | |
16621 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); | 16726 (uTextureID_Leather != -1 ? pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight : 26) - v12); |
16622 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); | 16727 pRenderer->DrawTextureIndexed(8u, 347 - v12, pTexture_591428); |
16623 v13 = FitTextInAWindow(pInString, pOutString, (GUIWindow *)&pFont, 0xDu, v8); | 16728 v13 = FitTextInAWindow(pInString, pOutString, &pWindow, 0xDu, v8); |
16624 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); | 16729 pDialogueWindow->DrawText(pOutString, 13, 354 - v12, v8, v13, v8, v8, v8); |
16625 goto LABEL_42; | 16730 goto LABEL_42; |
16626 } | 16731 } |
16627 } | 16732 } |
16628 LABEL_42: | 16733 LABEL_42: |
16655 { | 16760 { |
16656 v29 = v28 - 1; | 16761 v29 = v28 - 1; |
16657 if ( v29 ) | 16762 if ( v29 ) |
16658 { | 16763 { |
16659 if ( v29 != 1 ) | 16764 if ( v29 != 1 ) |
16660 goto LABEL_71; | 16765 { |
16766 v24 = ""; | |
16767 goto LABEL_79; | |
16768 } | |
16661 v24 = pGlobalTXT_LocalizationStrings[581]; | 16769 v24 = pGlobalTXT_LocalizationStrings[581]; |
16662 } | 16770 } |
16663 else | 16771 else |
16664 { | 16772 { |
16665 v24 = pGlobalTXT_LocalizationStrings[580]; | 16773 v24 = pGlobalTXT_LocalizationStrings[580]; |
16680 v24 = pGlobalTXT_LocalizationStrings[407]; | 16788 v24 = pGlobalTXT_LocalizationStrings[407]; |
16681 } | 16789 } |
16682 } | 16790 } |
16683 else | 16791 else |
16684 { | 16792 { |
16685 if ( v0->uFlags & 0x80 ) | 16793 if ( pNPC->uFlags & 0x80 ) |
16686 { | 16794 { |
16687 LABEL_59: | 16795 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[408], pNPC->pName); |
16688 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[408], v0->pName); | |
16689 v24 = pTmpBuf; | 16796 v24 = pTmpBuf; |
16690 goto LABEL_79; | 16797 goto LABEL_79; |
16691 } | 16798 } |
16692 v24 = pGlobalTXT_LocalizationStrings[406]; | 16799 v24 = pGlobalTXT_LocalizationStrings[406]; |
16693 } | 16800 } |
16694 } | 16801 } |
16695 else | 16802 else |
16696 { | 16803 { |
16697 if ( v16 == 24 ) | 16804 if ( v16 == 24 ) |
16698 { | 16805 { |
16699 v23 = v0->evtf; | 16806 v23 = pNPC->evtf; |
16700 LABEL_63: | 16807 LABEL_63: |
16701 v24 = pNPCTopics[v23-1].pTopic;//(&dword_721660)[8 * v23]; | 16808 v24 = pNPCTopics[v23-1].pTopic;//(&dword_721660)[8 * v23]; |
16702 if ( !v24 ) | 16809 if ( !v24 ) |
16703 { | 16810 { |
16704 v24 = ""; | 16811 v24 = ""; |
16705 v15->uControlParam = 0; | 16812 v15->uControlParam = 0; |
16706 } | 16813 } |
16707 goto LABEL_79; | 16814 goto LABEL_79; |
16708 } | 16815 } |
16709 v17 = v16 - 9; | 16816 v17 = v16 - 9; |
16710 if ( !v17 ) | 16817 if ( !v17 ) |
16711 { | 16818 { |
16712 v24 = (const char *)sub_445308(v0->uProfession); | 16819 v24 = (const char *)sub_445308(pNPC->uProfession); |
16713 goto LABEL_79; | 16820 goto LABEL_79; |
16714 } | 16821 } |
16715 v18 = v17 - 4; | 16822 v18 = v17 - 4; |
16716 if ( v18 ) | 16823 if ( v18 ) |
16717 { | 16824 { |
16718 v19 = v18 - 6; | 16825 v19 = v18 - 6; |
16719 if ( !v19 ) | 16826 if ( !v19 ) |
16720 { | 16827 { |
16721 v23 = v0->bDrawSomeAnim; | 16828 v23 = pNPC->bDrawSomeAnim; |
16722 goto LABEL_63; | 16829 goto LABEL_63; |
16723 } | 16830 } |
16724 v20 = v19 - 1; | 16831 v20 = v19 - 1; |
16725 if ( !v20 ) | 16832 if ( !v20 ) |
16726 { | 16833 { |
16727 v23 = v0->_anim_current_time; | 16834 v23 = pNPC->_anim_current_time; |
16728 goto LABEL_63; | 16835 goto LABEL_63; |
16729 } | 16836 } |
16730 v21 = v20 - 1; | 16837 v21 = v20 - 1; |
16731 if ( !v21 ) | 16838 if ( !v21 ) |
16732 { | 16839 { |
16733 v23 = v0->_anim_end_time; | 16840 v23 = pNPC->_anim_end_time; |
16734 goto LABEL_63; | 16841 goto LABEL_63; |
16735 } | 16842 } |
16736 v22 = v21 - 1; | 16843 v22 = v21 - 1; |
16737 if ( !v22 ) | 16844 if ( !v22 ) |
16738 { | 16845 { |
16739 v23 = v0->evtd; | 16846 v23 = pNPC->evtd; |
16740 goto LABEL_63; | 16847 goto LABEL_63; |
16741 } | 16848 } |
16742 if ( v22 == 1 ) | 16849 if ( v22 == 1 ) |
16743 { | 16850 { |
16744 v23 = v0->evte; | 16851 v23 = pNPC->evte; |
16745 goto LABEL_63; | 16852 goto LABEL_63; |
16746 } | 16853 } |
16747 LABEL_71: | |
16748 v24 = ""; | 16854 v24 = ""; |
16749 goto LABEL_79; | 16855 goto LABEL_79; |
16750 } | 16856 } |
16751 if ( v0->uFlags & 0x80 ) | 16857 if ( pNPC->uFlags & 0x80 ) |
16752 goto LABEL_59; | 16858 { |
16859 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[408], pNPC->pName); | |
16860 v24 = pTmpBuf; | |
16861 goto LABEL_79; | |
16862 } | |
16753 v24 = pGlobalTXT_LocalizationStrings[122]; | 16863 v24 = pGlobalTXT_LocalizationStrings[122]; |
16754 } | 16864 } |
16755 LABEL_79: | 16865 LABEL_79: |
16756 if ( pParty->field_7B5_in_arena_quest && pParty->field_7B5_in_arena_quest != -1 ) | 16866 if ( pParty->field_7B5_in_arena_quest && pParty->field_7B5_in_arena_quest != -1 ) |
16757 { | 16867 { |
16828 ++v41; | 16938 ++v41; |
16829 } | 16939 } |
16830 while ( (signed int)v41 < pDialogueWindow->pNumPresenceButton + pDialogueWindow->pStartingPosActiveItem ); | 16940 while ( (signed int)v41 < pDialogueWindow->pNumPresenceButton + pDialogueWindow->pStartingPosActiveItem ); |
16831 } | 16941 } |
16832 } | 16942 } |
16833 pRenderer->DrawTextureIndexed( | 16943 pRenderer->DrawTextureIndexed(471, 445, (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0)); |
16834 0x1D7u, | |
16835 0x1BDu, | |
16836 (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0)); | |
16837 } | 16944 } |
16838 | 16945 |
16839 //----- (004459F9) -------------------------------------------------------- | 16946 //----- (004459F9) -------------------------------------------------------- |
16840 NPCData *__fastcall GetNPCData(unsigned int npcid) | 16947 NPCData *__fastcall GetNPCData(unsigned int npcid) |
16841 { | 16948 { |
17469 | 17576 |
17470 switch (_evt->v4) | 17577 switch (_evt->v4) |
17471 { | 17578 { |
17472 case EVENT_CheckSeason: | 17579 case EVENT_CheckSeason: |
17473 if ( !sub_4465DF_check_season(_evt->v5) ) | 17580 if ( !sub_4465DF_check_season(_evt->v5) ) |
17474 goto LABEL_291; | 17581 { |
17582 ++v122; | |
17583 //v4 = v124; | |
17584 //v5 = pSomeEVT; | |
17585 //v6 = v123; | |
17586 //v7 = ""; | |
17587 break; | |
17588 } | |
17475 v11 = _evt->v6; | 17589 v11 = _evt->v6; |
17476 goto LABEL_130; | 17590 goto LABEL_130; |
17477 case EVENT_ShowMovie: | 17591 case EVENT_ShowMovie: |
17478 strcpy(Source, (char *)&_evt->v7); | 17592 strcpy(Source, (char *)&_evt->v7); |
17479 v12 = (char *)&item.uExpireTime + strlen(Source) + 7; | 17593 v12 = (char *)&item.uExpireTime + strlen(Source) + 7; |
17480 if ( *v12 == 32 ) | 17594 if ( *v12 == 32 ) |
17481 *v12 = 0; | 17595 *v12 = 0; |
17482 if ( pVideoPlayer->field_54 ) | 17596 if ( pVideoPlayer->field_54 ) |
17483 pVideoPlayer->Unload(); | 17597 pVideoPlayer->Unload(); |
17484 pVideoPlayer->bStopBeforeSchedule = 0; | 17598 pVideoPlayer->bStopBeforeSchedule = 0; |
17485 pVideoPlayer->field_40 = 0; | 17599 pVideoPlayer->pResetflag = 0; |
17486 if (pAsyncMouse) | 17600 if (pAsyncMouse) |
17487 pAsyncMouse->Suspend(); | 17601 pAsyncMouse->Suspend(); |
17488 v128 = pCurrentScreen; | 17602 v128 = pCurrentScreen; |
17489 //v13 = &pSomeEVT[v9]; | 17603 //v13 = &pSomeEVT[v9]; |
17490 //v14 = (unsigned __int8)v13[5]; | 17604 //v14 = (unsigned __int8)v13[5]; |
17496 VideoPlayer::MovieLoop(v16, 0, v14, 1); | 17610 VideoPlayer::MovieLoop(v16, 0, v14, 1); |
17497 if ( !_strcmpi(v16, "arbiter good") ) | 17611 if ( !_strcmpi(v16, "arbiter good") ) |
17498 { | 17612 { |
17499 pParty->uAlignment = 0; | 17613 pParty->uAlignment = 0; |
17500 v18 = 0; | 17614 v18 = 0; |
17501 LABEL_23: | |
17502 LOBYTE(v17) = 1; | 17615 LOBYTE(v17) = 1; |
17503 SetUserInterface(v18, v17); | 17616 SetUserInterface(v18, v17); |
17504 goto LABEL_28; | 17617 if ( !v15 || v128 == 3 ) |
17618 { | |
17619 pCurrentScreen = v128; | |
17620 if ( v128 == 3 ) | |
17621 pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen; | |
17622 if ( v128 == 13 ) | |
17623 pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].field_0, 1u); | |
17624 } | |
17625 if (pAsyncMouse) | |
17626 pAsyncMouse->Resume(); | |
17627 ++v122; | |
17628 //v4 = v124; | |
17629 //v5 = pSomeEVT; | |
17630 //v6 = v123; | |
17631 //v7 = ""; | |
17632 break; | |
17505 } | 17633 } |
17506 if ( !_strcmpi(v16, "arbiter evil") ) | 17634 if ( !_strcmpi(v16, "arbiter evil") ) |
17507 { | 17635 { |
17508 v18 = 2; | 17636 v18 = 2; |
17509 pParty->uAlignment = 2; | 17637 pParty->uAlignment = 2; |
17510 goto LABEL_23; | 17638 LOBYTE(v17) = 1; |
17639 SetUserInterface(v18, v17); | |
17640 if ( !v15 || v128 == 3 ) | |
17641 { | |
17642 pCurrentScreen = v128; | |
17643 if ( v128 == 3 ) | |
17644 pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen; | |
17645 if ( v128 == 13 ) | |
17646 pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].field_0, 1u); | |
17647 } | |
17648 if (pAsyncMouse) | |
17649 pAsyncMouse->Resume(); | |
17650 ++v122; | |
17651 //v4 = v124; | |
17652 //v5 = pSomeEVT; | |
17653 //v6 = v123; | |
17654 //v7 = ""; | |
17655 break; | |
17511 } | 17656 } |
17512 if ( !_strcmpi(v16, "pcout01") ) // moving to harmondale from emerald isle | 17657 if ( !_strcmpi(v16, "pcout01") ) // moving to harmondale from emerald isle |
17513 { | 17658 { |
17514 Rest(0x2760u); | 17659 Rest(0x2760u); |
17515 pParty->RestAndHeal(); | 17660 pParty->RestAndHeal(); |
17516 pParty->field_764 = 0; | 17661 pParty->field_764 = 0; |
17517 } | 17662 } |
17518 LABEL_28: | |
17519 if ( !v15 || v128 == 3 ) | 17663 if ( !v15 || v128 == 3 ) |
17520 { | 17664 { |
17521 pCurrentScreen = v128; | 17665 pCurrentScreen = v128; |
17522 if ( v128 == 3 ) | 17666 if ( v128 == 3 ) |
17523 pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen; | 17667 pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen; |
17524 if ( v128 == 13 ) | 17668 if ( v128 == 13 ) |
17525 pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].field_0, 1u); | 17669 pVideoPlayer->_4BF28F(pAnimatedRooms[uCurrentHouse_Animation].field_0, 1u); |
17526 } | 17670 } |
17527 if (pAsyncMouse) | 17671 if (pAsyncMouse) |
17528 pAsyncMouse->Resume(); | 17672 pAsyncMouse->Resume(); |
17529 goto LABEL_291; | 17673 ++v122; |
17674 //v4 = v124; | |
17675 //v5 = pSomeEVT; | |
17676 //v6 = v123; | |
17677 //v7 = ""; | |
17678 break; | |
17530 case EVENT_CheckSkill: | 17679 case EVENT_CheckSkill: |
17531 v19 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((unsigned int)_evt->v10 << 8)) << 8)) << 8); | 17680 v19 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((unsigned int)_evt->v10 << 8)) << 8)) << 8); |
17532 if ( v127 < 0 ) | 17681 if ( v127 < 0 ) |
17533 goto LABEL_47; | 17682 goto LABEL_47; |
17534 if ( v127 <= 3 ) | 17683 if ( v127 <= 3 ) |
17556 v139 = v22; | 17705 v139 = v22; |
17557 while ( v23 < v19 || !*(&v136 + _evt->v6) ) | 17706 while ( v23 < v19 || !*(&v136 + _evt->v6) ) |
17558 { | 17707 { |
17559 ++v20; | 17708 ++v20; |
17560 if ( v20 >= 4 ) | 17709 if ( v20 >= 4 ) |
17561 goto LABEL_291; | 17710 { |
17711 ++v122; | |
17712 //v4 = v124; | |
17713 //v5 = pSomeEVT; | |
17714 //v6 = v123; | |
17715 //v7 = ""; | |
17716 break; | |
17717 } | |
17562 } | 17718 } |
17563 LABEL_50: | |
17564 v11 = _evt->v11; | 17719 v11 = _evt->v11; |
17565 goto LABEL_130; | 17720 goto LABEL_130; |
17566 } | 17721 } |
17567 LABEL_47: | 17722 LABEL_47: |
17568 //v10 = (ByteArray *)&v5[v9]; | 17723 //v10 = (ByteArray *)&v5[v9]; |
17572 v136 = 1; | 17727 v136 = 1; |
17573 v137 = v24 & 0x40; | 17728 v137 = v24 & 0x40; |
17574 v138 = v24 & 0x80; | 17729 v138 = v24 & 0x80; |
17575 v139 = v24 & 0x100; | 17730 v139 = v24 & 0x100; |
17576 if ( (v24 & 0x3F) >= v19 && *(&v136 + _evt->v6) ) | 17731 if ( (v24 & 0x3F) >= v19 && *(&v136 + _evt->v6) ) |
17577 goto LABEL_50; | 17732 { |
17578 goto LABEL_291; | 17733 v11 = _evt->v11; |
17734 goto LABEL_130; | |
17735 } | |
17736 ++v122; | |
17737 //v4 = v124; | |
17738 //v5 = pSomeEVT; | |
17739 //v6 = v123; | |
17740 //v7 = ""; | |
17741 break; | |
17579 case EVENT_SpeakNPC: | 17742 case EVENT_SpeakNPC: |
17580 if ( a3 ) | 17743 if ( a3 ) |
17581 { | 17744 { |
17582 //Actor::Actor(&Dst); | 17745 //Actor::Actor(&Dst); |
17583 memset(&Dst, 0, 0x344u); | 17746 memset(&Dst, 0, 0x344u); |
17591 else | 17754 else |
17592 { | 17755 { |
17593 bDialogueUI_InitializeActor_NPC_ID = _evt->v5 | 17756 bDialogueUI_InitializeActor_NPC_ID = _evt->v5 |
17594 + ((_evt->v6 + ((_evt->v7 + ((unsigned int)_evt->v8 << 8)) << 8)) << 8); | 17757 + ((_evt->v6 + ((_evt->v7 + ((unsigned int)_evt->v8 << 8)) << 8)) << 8); |
17595 } | 17758 } |
17596 goto LABEL_291; | 17759 ++v122; |
17760 //v4 = v124; | |
17761 //v5 = pSomeEVT; | |
17762 //v6 = v123; | |
17763 //v7 = ""; | |
17764 break; | |
17597 case EVENT_ChangeEvent: | 17765 case EVENT_ChangeEvent: |
17598 v25 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((unsigned int)_evt->v8 << 8)) << 8)) << 8); | 17766 v25 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((unsigned int)_evt->v8 << 8)) << 8)) << 8); |
17599 if ( v25 ) | 17767 if ( v25 ) |
17600 { | 17768 { |
17601 stru_5E4C90._decor_events[_5C3420_pDecoration->_idx_in_stru123 - 75] = _evt->v5 - 124; | 17769 stru_5E4C90._decor_events[_5C3420_pDecoration->_idx_in_stru123 - 75] = _evt->v5 - 124; |
17604 { | 17772 { |
17605 v26 = _5C3420_pDecoration; | 17773 v26 = _5C3420_pDecoration; |
17606 stru_5E4C90._decor_events[_5C3420_pDecoration->_idx_in_stru123 - 75] = 0; | 17774 stru_5E4C90._decor_events[_5C3420_pDecoration->_idx_in_stru123 - 75] = 0; |
17607 LOBYTE(v26->field_2) |= 0x20u; | 17775 LOBYTE(v26->field_2) |= 0x20u; |
17608 } | 17776 } |
17609 goto LABEL_291; | 17777 ++v122; |
17778 //v4 = v124; | |
17779 //v5 = pSomeEVT; | |
17780 //v6 = v123; | |
17781 //v7 = ""; | |
17782 break; | |
17610 case EVENT_SetNPCGreeting: | 17783 case EVENT_SetNPCGreeting: |
17611 v27 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 17784 v27 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
17612 v28 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); | 17785 v28 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); |
17613 pNPCStats->pNewNPCData[v27].uFlags &= 0xFFFFFFFCu; | 17786 pNPCStats->pNewNPCData[v27].uFlags &= 0xFFFFFFFCu; |
17614 pNPCStats->pNewNPCData[v27].greet = v28; | 17787 pNPCStats->pNewNPCData[v27].greet = v28; |
17615 goto LABEL_291; | 17788 ++v122; |
17789 //v4 = v124; | |
17790 //v5 = pSomeEVT; | |
17791 //v6 = v123; | |
17792 //v7 = ""; | |
17793 break; | |
17616 case EVENT_SetNPCTopic: | 17794 case EVENT_SetNPCTopic: |
17617 v29 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 17795 v29 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
17618 v30 = _evt->v10 + ((_evt->v11 + ((_evt->v12 + ((uint)_evt->v13 << 8)) << 8)) << 8); | 17796 v30 = _evt->v10 + ((_evt->v11 + ((_evt->v12 + ((uint)_evt->v13 << 8)) << 8)) << 8); |
17619 v31 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 17797 v31 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
17620 v32 = _evt->v9; | 17798 v32 = _evt->v9; |
17678 ptr_507BC0->CreateButton(0, 0, 0, 0, 1, 0, 0xB0u, 0, 9u, "", 0); | 17856 ptr_507BC0->CreateButton(0, 0, 0, 0, 1, 0, 0xB0u, 0, 9u, "", 0); |
17679 ptr_F8B1E8 = pNPCTopics[90].pText; | 17857 ptr_F8B1E8 = pNPCTopics[90].pText; |
17680 } | 17858 } |
17681 } | 17859 } |
17682 } | 17860 } |
17683 goto LABEL_291; | 17861 ++v122; |
17862 //v4 = v124; | |
17863 //v5 = pSomeEVT; | |
17864 //v6 = v123; | |
17865 //v7 = ""; | |
17866 break; | |
17684 case EVENT_NPCSetItem: | 17867 case EVENT_NPCSetItem: |
17685 sub_448518_npc_set_item( | 17868 sub_448518_npc_set_item(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), |
17686 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | 17869 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), _evt->v13); |
17687 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), | 17870 ++v122; |
17688 _evt->v13); | 17871 //v4 = v124; |
17689 goto LABEL_291; | 17872 //v5 = pSomeEVT; |
17873 //v6 = v123; | |
17874 //v7 = ""; | |
17875 break; | |
17690 case EVENT_SetActorItem: | 17876 case EVENT_SetActorItem: |
17691 Actor::GiveItem( | 17877 Actor::GiveItem(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), |
17692 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | 17878 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), _evt->v13); |
17693 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), | 17879 ++v122; |
17694 _evt->v13); | 17880 //v4 = v124; |
17695 goto LABEL_291; | 17881 //v5 = pSomeEVT; |
17882 //v6 = v123; | |
17883 //v7 = ""; | |
17884 break; | |
17696 case EVENT_SetNPCGroupNews: | 17885 case EVENT_SetNPCGroupNews: |
17697 pNPCStats->pGroups_copy[_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8)] = _evt->v9 + ((uint)_evt->v10 << 8); | 17886 pNPCStats->pGroups_copy[_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8)] = _evt->v9 + ((uint)_evt->v10 << 8); |
17698 goto LABEL_291; | 17887 ++v122; |
17888 //v4 = v124; | |
17889 //v5 = pSomeEVT; | |
17890 //v6 = v123; | |
17891 //v7 = ""; | |
17892 break; | |
17699 case EVENT_SetActorGroup: | 17893 case EVENT_SetActorGroup: |
17700 __debugbreak(); | 17894 __debugbreak(); |
17701 *(&pActors[0].uGroup + 0x11000000 * _evt->v8 + 209 * (_evt->v5 + ((_evt->v6 + ((uint)_evt->v7 << 8)) << 8))) = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); | 17895 *(&pActors[0].uGroup + 0x11000000 * _evt->v8 + 209 * (_evt->v5 + ((_evt->v6 + ((uint)_evt->v7 << 8)) << 8))) = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); |
17702 goto LABEL_291; | 17896 ++v122; |
17897 //v4 = v124; | |
17898 //v5 = pSomeEVT; | |
17899 //v6 = v123; | |
17900 //v7 = ""; | |
17901 break; | |
17703 case EVENT_ChangeGroup: | 17902 case EVENT_ChangeGroup: |
17704 v38 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 17903 v38 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
17705 v39 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); | 17904 v39 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); |
17706 v40 = uNumActors; | 17905 v40 = uNumActors; |
17707 __debugbreak(); | 17906 __debugbreak(); |
17708 if ( (signed int)uNumActors > 0 ) | 17907 if ( (signed int)uNumActors > 0 ) |
17709 { | 17908 { |
17710 v41 = pActors;//[0].uGroup; | 17909 v41 = pActors;//[0].uGroup; |
17711 do | 17910 do |
17712 { | 17911 { |
17713 if ( v41->uGroup == v38 ) | 17912 if ( v41->uGroup == v38 ) |
17714 v41->uGroup = v39; | 17913 v41->uGroup = v39; |
17715 ++v41; | 17914 ++v41; |
17716 --v40; | 17915 --v40; |
17717 } | 17916 } |
17718 while ( v40 ); | 17917 while ( v40 ); |
17719 } | 17918 } |
17720 goto LABEL_291; | 17919 ++v122; |
17920 //v4 = v124; | |
17921 //v5 = pSomeEVT; | |
17922 //v6 = v123; | |
17923 //v7 = ""; | |
17924 break; | |
17721 case EVENT_ChangeGroupAlly: | 17925 case EVENT_ChangeGroupAlly: |
17722 v42 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 17926 v42 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
17723 v43 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); | 17927 v43 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); |
17724 v44 = uNumActors; | 17928 v44 = uNumActors; |
17725 __debugbreak(); | 17929 __debugbreak(); |
17726 if ( (signed int)uNumActors > 0 ) | 17930 if ( (signed int)uNumActors > 0 ) |
17727 { | 17931 { |
17728 v45 = pActors;//[0].uAlly; | 17932 v45 = pActors;//[0].uAlly; |
17729 do | 17933 do |
17730 { | 17934 { |
17731 if ( v45->uGroup == v42 ) | 17935 if ( v45->uGroup == v42 ) |
17732 v45->uAlly = v43; | 17936 v45->uAlly = v43; |
17733 ++v45; | 17937 ++v45; |
17734 --v44; | 17938 --v44; |
17735 } | 17939 } |
17736 while ( v44 ); | 17940 while ( v44 ); |
17737 } | 17941 } |
17738 goto LABEL_291; | 17942 ++v122; |
17943 //v4 = v124; | |
17944 //v5 = pSomeEVT; | |
17945 //v6 = v123; | |
17946 //v7 = ""; | |
17947 break; | |
17739 case EVENT_MoveNPC: | 17948 case EVENT_MoveNPC: |
17740 pNPCStats->pNewNPCData[_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8)].house = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); | 17949 pNPCStats->pNewNPCData[_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8)].house = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); |
17741 if ( ptr_507BC0 ) | 17950 if ( ptr_507BC0 ) |
17742 { | 17951 { |
17743 v46 = ptr_507BC0->ptr_1C; | 17952 v46 = ptr_507BC0->ptr_1C; |
17774 { | 17983 { |
17775 if ( v46 == (void *)553 ) | 17984 if ( v46 == (void *)553 ) |
17776 pVideoPlayer->bLoopPlaying = 0; | 17985 pVideoPlayer->bLoopPlaying = 0; |
17777 } | 17986 } |
17778 } | 17987 } |
17779 goto LABEL_291; | 17988 ++v122; |
17989 //v4 = v124; | |
17990 //v5 = pSomeEVT; | |
17991 //v6 = v123; | |
17992 //v7 = ""; | |
17993 break; | |
17780 case EVENT_Jmp: | 17994 case EVENT_Jmp: |
17781 //v124 = -1; | 17995 //v124 = -1; |
17782 v122 = _evt->v5 - 1; | 17996 v122 = _evt->v5 - 1; |
17783 goto LABEL_291; | 17997 ++v122; |
17998 //v4 = v124; | |
17999 //v5 = pSomeEVT; | |
18000 //v6 = v123; | |
18001 //v7 = ""; | |
18002 break; | |
17784 case EVENT_ShowFace: | 18003 case EVENT_ShowFace: |
17785 v50 = _evt->v5; | 18004 v50 = _evt->v5; |
17786 if ( (unsigned __int8)v50 <= 3u ) | 18005 if ( (unsigned __int8)v50 <= 3u ) |
17787 { | 18006 { |
17788 v117 = 0; | 18007 v117 = 0; |
17789 v113 = _evt->v6; | 18008 v113 = _evt->v6; |
17790 v53 = (unsigned __int8)v50; | 18009 v53 = (unsigned __int8)v50; |
17791 goto LABEL_108; | 18010 v52 = &pParty->pPlayers[v53]; |
18011 v52->PlayEmotion((CHARACTER_EXPRESSION_ID)v113, v117); | |
18012 ++v122; | |
18013 //v4 = v124; | |
18014 //v5 = pSomeEVT; | |
18015 //v6 = v123; | |
18016 //v7 = ""; | |
18017 break; | |
17792 } | 18018 } |
17793 if ( v50 == 4 ) | 18019 if ( v50 == 4 ) |
17794 { | 18020 { |
17795 v117 = 0; | 18021 v117 = 0; |
17796 v113 = _evt->v6; | 18022 v113 = _evt->v6; |
17797 v52 = pPlayers[uActiveCharacter]; | 18023 v52 = pPlayers[uActiveCharacter]; |
17798 goto LABEL_109; | 18024 v52->PlayEmotion((CHARACTER_EXPRESSION_ID)v113, v117); |
18025 ++v122; | |
18026 //v4 = v124; | |
18027 //v5 = pSomeEVT; | |
18028 //v6 = v123; | |
18029 //v7 = ""; | |
18030 break; | |
17799 } | 18031 } |
17800 if ( v50 != 5 ) | 18032 if ( v50 != 5 ) |
17801 { | 18033 { |
17802 v117 = 0; | 18034 v117 = 0; |
17803 v113 = _evt->v6; | 18035 v113 = _evt->v6; |
17804 v53 = rand() % 4; | 18036 v53 = rand() % 4; |
17805 LABEL_108: | |
17806 v52 = &pParty->pPlayers[v53]; | 18037 v52 = &pParty->pPlayers[v53]; |
17807 LABEL_109: | |
17808 v52->PlayEmotion((CHARACTER_EXPRESSION_ID)v113, v117); | 18038 v52->PlayEmotion((CHARACTER_EXPRESSION_ID)v113, v117); |
17809 goto LABEL_291; | 18039 ++v122; |
18040 //v4 = v124; | |
18041 //v5 = pSomeEVT; | |
18042 //v6 = v123; | |
18043 //v7 = ""; | |
18044 break; | |
17810 } | 18045 } |
17811 v51 = pParty->pPlayers; | 18046 v51 = pParty->pPlayers; |
17812 do | 18047 do |
17813 { | 18048 { |
17814 v51->PlayEmotion((CHARACTER_EXPRESSION_ID)_evt->v6, 0); | 18049 v51->PlayEmotion((CHARACTER_EXPRESSION_ID)_evt->v6, 0); |
17815 ++v51; | 18050 ++v51; |
17816 } | 18051 } |
17817 while ( (signed int)v51 < (signed int)pParty->pHirelings ); | 18052 while ( (signed int)v51 < (signed int)pParty->pHirelings ); |
17818 LABEL_291: | 18053 //LABEL_291: |
17819 ++v122; | 18054 ++v122; |
17820 //v4 = v124; | 18055 //v4 = v124; |
17821 //v5 = pSomeEVT; | 18056 //v5 = pSomeEVT; |
17822 //v6 = v123; | 18057 //v6 = v123; |
17823 //v7 = ""; | 18058 //v7 = ""; |
17845 v57 = rand() % 4; | 18080 v57 = rand() % 4; |
17846 LABEL_119: | 18081 LABEL_119: |
17847 v56 = &pParty->pPlayers[v57]; | 18082 v56 = &pParty->pPlayers[v57]; |
17848 LABEL_120: | 18083 LABEL_120: |
17849 v56->PlaySound(v114, v118); | 18084 v56->PlaySound(v114, v118); |
17850 goto LABEL_291; | 18085 ++v122; |
18086 //v4 = v124; | |
18087 //v5 = pSomeEVT; | |
18088 //v6 = v123; | |
18089 //v7 = ""; | |
18090 break; | |
17851 } | 18091 } |
17852 v55 = pParty->pPlayers; | 18092 v55 = pParty->pPlayers; |
17853 do | 18093 do |
17854 { | 18094 { |
17855 v55->PlaySound(_evt->v6, 0); | 18095 v55->PlaySound(_evt->v6, 0); |
17856 ++v55; | 18096 ++v55; |
17857 } | 18097 } |
17858 while ( (signed int)v55 < (signed int)pParty->pHirelings ); | 18098 while ( (signed int)v55 < (signed int)pParty->pHirelings ); |
17859 goto LABEL_291; | 18099 ++v122; |
18100 //v4 = v124; | |
18101 //v5 = pSomeEVT; | |
18102 //v6 = v123; | |
18103 //v7 = ""; | |
18104 break; | |
17860 case EVENT_ForPartyMember: | 18105 case EVENT_ForPartyMember: |
17861 v127 = _evt->v5; | 18106 v127 = _evt->v5; |
17862 goto LABEL_291; | 18107 ++v122; |
18108 //v4 = v124; | |
18109 //v5 = pSomeEVT; | |
18110 //v6 = v123; | |
18111 //v7 = ""; | |
18112 break; | |
17863 case EVENT_SummonItem: | 18113 case EVENT_SummonItem: |
17864 sub_42F7EB_DropItemAt( | 18114 sub_42F7EB_DropItemAt(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), |
17865 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | |
17866 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), | 18115 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), |
17867 _evt->v13 + ((_evt->v14 + ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8)) << 8), | 18116 _evt->v13 + ((_evt->v14 + ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8)) << 8), |
17868 _evt->v17 + ((_evt->v18 + ((_evt->v19 + ((uint)_evt->v20 << 8)) << 8)) << 8), | 18117 _evt->v17 + ((_evt->v18 + ((_evt->v19 + ((uint)_evt->v20 << 8)) << 8)) << 8), |
17869 _evt->v21 + ((_evt->v22 + ((_evt->v23 + ((uint)_evt->v24 << 8)) << 8)) << 8), | 18118 _evt->v21 + ((_evt->v22 + ((_evt->v23 + ((uint)_evt->v24 << 8)) << 8)) << 8), |
17870 _evt->v25, | 18119 _evt->v25, _evt->v26, 0, 0); |
17871 _evt->v26, | 18120 ++v122; |
17872 0, | 18121 //v4 = v124; |
17873 0); | 18122 //v5 = pSomeEVT; |
17874 goto LABEL_291; | 18123 //v6 = v123; |
18124 //v7 = ""; | |
18125 break; | |
17875 case EVENT_Compare: | 18126 case EVENT_Compare: |
17876 v58 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); | 18127 v58 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); |
17877 if ( v127 == 5 ) | 18128 if ( v127 == 5 ) |
17878 { | 18129 { |
17879 v130 = 0; | 18130 v130 = 0; |
17880 v59 = pParty->pPlayers; | 18131 v59 = pParty->pPlayers; |
17881 while ( 1 ) | 18132 while ( 1 ) |
17882 { | 18133 { |
17883 LOBYTE(v60) = v59->CompareVariable( | 18134 LOBYTE(v60) = v59->CompareVariable((enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), v58); |
17884 (enum VariableType)(_evt->v5 | |
17885 + ((uint)_evt->v6 << 8)), | |
17886 v58); | |
17887 if ( v60 ) | 18135 if ( v60 ) |
17888 break; | 18136 break; |
17889 ++v130; | 18137 ++v130; |
17890 ++v59; | 18138 ++v59; |
17891 if ( (signed int)v59 >= (signed int)pParty->pHirelings ) | 18139 if ( (signed int)v59 >= (signed int)pParty->pHirelings ) |
17892 goto LABEL_291; | 18140 { |
18141 ++v122; | |
18142 //v4 = v124; | |
18143 //v5 = pSomeEVT; | |
18144 //v6 = v123; | |
18145 //v7 = ""; | |
18146 break; | |
18147 } | |
17893 } | 18148 } |
17894 LABEL_129: | 18149 LABEL_129: |
17895 v11 = _evt->v11; | 18150 v11 = _evt->v11; |
17896 goto LABEL_130; | 18151 goto LABEL_130; |
17897 } | 18152 } |
17924 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), | 18179 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), |
17925 v58); | 18180 v58); |
17926 LABEL_140: | 18181 LABEL_140: |
17927 if ( v62 ) | 18182 if ( v62 ) |
17928 goto LABEL_129; | 18183 goto LABEL_129; |
17929 goto LABEL_291; | 18184 ++v122; |
18185 //v4 = v124; | |
18186 //v5 = pSomeEVT; | |
18187 //v6 = v123; | |
18188 //v7 = ""; | |
18189 break; | |
17930 case EVENT_IsActorAlive: | 18190 case EVENT_IsActorAlive: |
17931 v62 = IsActorAlive( | 18191 v62 = IsActorAlive( |
17932 _evt->v5, | 18192 _evt->v5, |
17933 _evt->v6 + ((_evt->v7 + ((_evt->v8 + ((uint)_evt->v9 << 8)) << 8)) << 8), | 18193 _evt->v6 + ((_evt->v7 + ((_evt->v8 + ((uint)_evt->v9 << 8)) << 8)) << 8), |
17934 _evt->v10); | 18194 _evt->v10); |
17939 { | 18199 { |
17940 v64 = 0; | 18200 v64 = 0; |
17941 if ( (void *)pParty->pPickedItem.uItemID == v63 ) | 18201 if ( (void *)pParty->pPickedItem.uItemID == v63 ) |
17942 { | 18202 { |
17943 pMouse->RemoveHoldingItem(); | 18203 pMouse->RemoveHoldingItem(); |
17944 goto LABEL_291; | 18204 ++v122; |
18205 //v4 = v124; | |
18206 //v5 = pSomeEVT; | |
18207 //v6 = v123; | |
18208 //v7 = ""; | |
18209 break; | |
17945 } | 18210 } |
17946 v65 = 0; | 18211 v65 = 0; |
17947 v66 = pPlayers[uActiveCharacter]; | 18212 v66 = pPlayers[uActiveCharacter]; |
17948 v67 = (int)v66->pInventoryIndices; | 18213 v67 = (int)v66->pInventoryIndices; |
17949 do | 18214 do |
17950 { | 18215 { |
17951 if ( *(void **)&v66->spellbook.pDarkSpellbook.bIsSpellAvailable[36 * *(int *)v67 + 5] == v63 ) | 18216 if ( *(void **)&v66->spellbook.pDarkSpellbook.bIsSpellAvailable[36 * *(int *)v67 + 5] == v63 ) |
17952 { | 18217 { |
17953 v66->RemoveItemAtInventoryIndex(v65); | 18218 v66->RemoveItemAtInventoryIndex(v65); |
17954 goto LABEL_291; | 18219 ++v122; |
18220 //v4 = v124; | |
18221 //v5 = pSomeEVT; | |
18222 //v6 = v123; | |
18223 //v7 = ""; | |
18224 break; | |
17955 } | 18225 } |
17956 ++v65; | 18226 ++v65; |
17957 v67 += 4; | 18227 v67 += 4; |
17958 } | 18228 } |
17959 while ( (signed int)v65 < 126 ); | 18229 while ( (signed int)v65 < 126 ); |
17962 do | 18232 do |
17963 { | 18233 { |
17964 if ( *(int *)v69 && *(void **)&v66->spellbook.pDarkSpellbook.bIsSpellAvailable[36 * *(int *)v69 + 5] == v63 ) | 18234 if ( *(int *)v69 && *(void **)&v66->spellbook.pDarkSpellbook.bIsSpellAvailable[36 * *(int *)v69 + 5] == v63 ) |
17965 { | 18235 { |
17966 *(&v66->pEquipment.uOffHand + v68) = 0; | 18236 *(&v66->pEquipment.uOffHand + v68) = 0; |
17967 goto LABEL_291; | 18237 ++v122; |
18238 //v4 = v124; | |
18239 //v5 = pSomeEVT; | |
18240 //v6 = v123; | |
18241 //v7 = ""; | |
18242 break; | |
17968 } | 18243 } |
17969 ++v68; | 18244 ++v68; |
17970 v69 += 4; | 18245 v69 += 4; |
17971 } | 18246 } |
17972 while ( v68 < 16 ); | 18247 while ( v68 < 16 ); |
18004 v64 = 1; | 18279 v64 = 1; |
18005 } | 18280 } |
18006 LABEL_170: | 18281 LABEL_170: |
18007 v125 += 4; | 18282 v125 += 4; |
18008 if ( v125 > (signed int)&pPlayers[4] ) | 18283 if ( v125 > (signed int)&pPlayers[4] ) |
18009 goto LABEL_291; | 18284 { |
18285 ++v122; | |
18286 //v4 = v124; | |
18287 //v5 = pSomeEVT; | |
18288 //v6 = v123; | |
18289 //v7 = ""; | |
18290 break; | |
18291 } | |
18010 } | 18292 } |
18011 } | 18293 } |
18012 v75 = v127; | 18294 v75 = v127; |
18013 if ( v127 != 5 ) | 18295 if ( v127 != 5 ) |
18014 { | 18296 { |
18019 if ( v127 != 4 ) | 18301 if ( v127 != 4 ) |
18020 { | 18302 { |
18021 if ( v127 == 6 ) | 18303 if ( v127 == 6 ) |
18022 goto LABEL_180; | 18304 goto LABEL_180; |
18023 LABEL_183: | 18305 LABEL_183: |
18024 ((Player *)v6)->SubtractVariable( | 18306 ((Player *)v6)->SubtractVariable((enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), v63); |
18025 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), | 18307 ++v122; |
18026 v63); | 18308 //v4 = v124; |
18027 goto LABEL_291; | 18309 //v5 = pSomeEVT; |
18310 //v6 = v123; | |
18311 //v7 = ""; | |
18312 break; | |
18028 } | 18313 } |
18029 if ( uActiveCharacter ) | 18314 if ( uActiveCharacter ) |
18030 { | 18315 { |
18031 v6 = pPlayers[uActiveCharacter]; | 18316 v6 = pPlayers[uActiveCharacter]; |
18032 goto LABEL_182; | 18317 goto LABEL_182; |
18048 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), | 18333 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), |
18049 v63); | 18334 v63); |
18050 ++v76; | 18335 ++v76; |
18051 } | 18336 } |
18052 while ( (signed int)v76 < (signed int)pParty->pHirelings ); | 18337 while ( (signed int)v76 < (signed int)pParty->pHirelings ); |
18053 goto LABEL_291; | 18338 ++v122; |
18339 //v4 = v124; | |
18340 //v5 = pSomeEVT; | |
18341 //v6 = v123; | |
18342 //v7 = ""; | |
18343 break; | |
18054 case EVENT_Set: | 18344 case EVENT_Set: |
18055 v77 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); | 18345 v77 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); |
18056 v78 = v127; | 18346 v78 = v127; |
18057 if ( v127 != 5 ) | 18347 if ( v127 != 5 ) |
18058 { | 18348 { |
18063 if ( v127 != 4 ) | 18353 if ( v127 != 4 ) |
18064 { | 18354 { |
18065 if ( v127 == 6 ) | 18355 if ( v127 == 6 ) |
18066 goto LABEL_194; | 18356 goto LABEL_194; |
18067 LABEL_197: | 18357 LABEL_197: |
18068 ((Player *)v6)->SetVariable( | 18358 ((Player *)v6)->SetVariable((enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), v77); |
18069 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), | 18359 ++v122; |
18070 v77); | 18360 //v4 = v124; |
18071 goto LABEL_291; | 18361 //v5 = pSomeEVT; |
18362 //v6 = v123; | |
18363 //v7 = ""; | |
18364 break; | |
18072 } | 18365 } |
18073 if ( uActiveCharacter ) | 18366 if ( uActiveCharacter ) |
18074 { | 18367 { |
18075 v6 = pPlayers[uActiveCharacter]; | 18368 v6 = pPlayers[uActiveCharacter]; |
18076 goto LABEL_196; | 18369 goto LABEL_196; |
18092 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), | 18385 (enum VariableType)(_evt->v5 + ((uint)_evt->v6 << 8)), |
18093 v77); | 18386 v77); |
18094 ++v79; | 18387 ++v79; |
18095 } | 18388 } |
18096 while ( (signed int)v79 < (signed int)pParty->pHirelings ); | 18389 while ( (signed int)v79 < (signed int)pParty->pHirelings ); |
18097 goto LABEL_291; | 18390 ++v122; |
18391 //v4 = v124; | |
18392 //v5 = pSomeEVT; | |
18393 //v6 = v123; | |
18394 //v7 = ""; | |
18395 break; | |
18098 case EVENT_Add: | 18396 case EVENT_Add: |
18099 v80 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); | 18397 v80 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); |
18100 v81 = v127; | 18398 v81 = v127; |
18101 if ( v127 != 5 ) | 18399 if ( v127 != 5 ) |
18102 { | 18400 { |
18140 while ( (signed int)v82 < (signed int)pParty->pHirelings ); | 18438 while ( (signed int)v82 < (signed int)pParty->pHirelings ); |
18141 LABEL_212: | 18439 LABEL_212: |
18142 v83 = _evt->v5 + ((uint)_evt->v6 << 8); | 18440 v83 = _evt->v5 + ((uint)_evt->v6 << 8); |
18143 if ( v83 == 21 || v83 == 22 || v83 == 23 || v83 == 24 ) | 18441 if ( v83 == 21 || v83 == 22 || v83 == 23 || v83 == 24 ) |
18144 viewparams->bRedrawGameUI = 1; | 18442 viewparams->bRedrawGameUI = 1; |
18145 goto LABEL_291; | 18443 ++v122; |
18444 //v4 = v124; | |
18445 //v5 = pSomeEVT; | |
18446 //v6 = v123; | |
18447 //v7 = ""; | |
18448 break; | |
18146 case EVENT_InputString: | 18449 case EVENT_InputString: |
18147 if ( !dword_597F18 ) | 18450 if ( !dword_597F18 ) |
18148 { | 18451 { |
18149 strcpy( | 18452 strcpy( |
18150 GameUI_StatusBar_TimedString, | 18453 GameUI_StatusBar_TimedString, |
18172 LABEL_130: | 18475 LABEL_130: |
18173 //v124 = -1; | 18476 //v124 = -1; |
18174 LABEL_131: | 18477 LABEL_131: |
18175 v122 = v11 - 1; | 18478 v122 = v11 - 1; |
18176 } | 18479 } |
18177 goto LABEL_291; | 18480 ++v122; |
18481 //v4 = v124; | |
18482 //v5 = pSomeEVT; | |
18483 //v6 = v123; | |
18484 //v7 = ""; | |
18485 break; | |
18178 case EVENT_RandomGoTo: | 18486 case EVENT_RandomGoTo: |
18179 //v124 = -1; | 18487 //v124 = -1; |
18180 v11 = (unsigned __int8)*(&_evt->v5 | 18488 v11 = (unsigned __int8)*(&_evt->v5 + rand() % ((_evt->v5 != 0) + (_evt->v6 != 0) + (_evt->v7 != 0) + (_evt->v8 != 0) + (_evt->v9 != 0) |
18181 + rand() | |
18182 % ((_evt->v5 != 0) | |
18183 + (_evt->v6 != 0) | |
18184 + (_evt->v7 != 0) | |
18185 + (_evt->v8 != 0) | |
18186 + (_evt->v9 != 0) | |
18187 + (_evt->v10 != 0))); | 18489 + (_evt->v10 != 0))); |
18188 goto LABEL_131; | 18490 goto LABEL_131; |
18189 case EVENT_ReceiveDamage: | 18491 case EVENT_ReceiveDamage: |
18190 v85 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); | 18492 v85 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); |
18191 v86 = _evt->v5; | 18493 v86 = _evt->v5; |
18197 goto LABEL_233; | 18499 goto LABEL_233; |
18198 } | 18500 } |
18199 if ( v86 == 4 ) | 18501 if ( v86 == 4 ) |
18200 { | 18502 { |
18201 if ( !uActiveCharacter ) | 18503 if ( !uActiveCharacter ) |
18202 goto LABEL_291; | 18504 { |
18505 ++v122; | |
18506 //v4 = v124; | |
18507 //v5 = pSomeEVT; | |
18508 //v6 = v123; | |
18509 //v7 = ""; | |
18510 break; | |
18511 } | |
18203 v119 = _evt->v6; | 18512 v119 = _evt->v6; |
18204 v88 = pPlayers[uActiveCharacter]; | 18513 v88 = pPlayers[uActiveCharacter]; |
18205 v115 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); | 18514 v115 = _evt->v7 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); |
18206 goto LABEL_234; | 18515 goto LABEL_234; |
18207 } | 18516 } |
18212 v89 = rand() % 4; | 18521 v89 = rand() % 4; |
18213 LABEL_233: | 18522 LABEL_233: |
18214 v88 = &pParty->pPlayers[v89]; | 18523 v88 = &pParty->pPlayers[v89]; |
18215 LABEL_234: | 18524 LABEL_234: |
18216 v88->ReceiveDamage(v115, v119); | 18525 v88->ReceiveDamage(v115, v119); |
18217 goto LABEL_291; | 18526 ++v122; |
18527 //v4 = v124; | |
18528 //v5 = pSomeEVT; | |
18529 //v6 = v123; | |
18530 //v7 = ""; | |
18531 break; | |
18218 } | 18532 } |
18219 v87 = pParty->pPlayers; | 18533 v87 = pParty->pPlayers; |
18220 do | 18534 do |
18221 { | 18535 { |
18222 v87->ReceiveDamage(v85, _evt->v6); | 18536 v87->ReceiveDamage(v85, _evt->v6); |
18223 ++v87; | 18537 ++v87; |
18224 } | 18538 } |
18225 while ( (signed int)v87 < (signed int)pParty->pHirelings ); | 18539 while ( (signed int)v87 < (signed int)pParty->pHirelings ); |
18226 goto LABEL_291; | 18540 ++v122; |
18541 //v4 = v124; | |
18542 //v5 = pSomeEVT; | |
18543 //v6 = v123; | |
18544 //v7 = ""; | |
18545 break; | |
18227 case EVENT_ToggleIndoorLight: | 18546 case EVENT_ToggleIndoorLight: |
18228 pIndoor->ToggleLight(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), _evt->v9); | 18547 pIndoor->ToggleLight(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), _evt->v9); |
18229 goto LABEL_291; | 18548 ++v122; |
18549 //v4 = v124; | |
18550 //v5 = pSomeEVT; | |
18551 //v6 = v123; | |
18552 //v7 = ""; | |
18553 break; | |
18230 case EVENT_SetFacesBit: | 18554 case EVENT_SetFacesBit: |
18231 sub_44892E_set_faces_bit( | 18555 sub_44892E_set_faces_bit(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), |
18232 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | 18556 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), _evt->v13); |
18233 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), | 18557 ++v122; |
18234 _evt->v13); | 18558 //v4 = v124; |
18235 goto LABEL_291; | 18559 //v5 = pSomeEVT; |
18560 //v6 = v123; | |
18561 //v7 = ""; | |
18562 break; | |
18236 case EVENT_ToggleChestFlag: | 18563 case EVENT_ToggleChestFlag: |
18237 Chest::ToggleFlag( | 18564 Chest::ToggleFlag(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), |
18238 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | 18565 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), _evt->v13); |
18239 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), | 18566 ++v122; |
18240 _evt->v13); | 18567 //v4 = v124; |
18241 goto LABEL_291; | 18568 //v5 = pSomeEVT; |
18569 //v6 = v123; | |
18570 //v7 = ""; | |
18571 break; | |
18242 case EVENT_ToggleActorFlag: | 18572 case EVENT_ToggleActorFlag: |
18243 Actor::ToggleFlag( | 18573 Actor::ToggleFlag(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), |
18244 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | 18574 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), _evt->v13); |
18245 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), | 18575 ++v122; |
18246 _evt->v13); | 18576 //v4 = v124; |
18247 goto LABEL_291; | 18577 //v5 = pSomeEVT; |
18578 //v6 = v123; | |
18579 //v7 = ""; | |
18580 break; | |
18248 case EVENT_ToggleActorGroupFlag: | 18581 case EVENT_ToggleActorGroupFlag: |
18249 ToggleActorGroupFlag( | 18582 ToggleActorGroupFlag( |
18250 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | 18583 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), |
18251 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), | 18584 _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8), |
18252 _evt->v13); | 18585 _evt->v13); |
18253 goto LABEL_291; | 18586 ++v122; |
18587 //v4 = v124; | |
18588 //v5 = pSomeEVT; | |
18589 //v6 = v123; | |
18590 //v7 = ""; | |
18591 break; | |
18254 case EVENT_SetSnow: | 18592 case EVENT_SetSnow: |
18255 if ( !_evt->v5 ) | 18593 if ( !_evt->v5 ) |
18256 pWeather->bRenderSnow = _evt->v6 != 0; | 18594 pWeather->bRenderSnow = _evt->v6 != 0; |
18257 goto LABEL_291; | 18595 ++v122; |
18596 //v4 = v124; | |
18597 //v5 = pSomeEVT; | |
18598 //v6 = v123; | |
18599 //v7 = ""; | |
18600 break; | |
18258 case EVENT_StatusText: | 18601 case EVENT_StatusText: |
18259 v90 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 18602 v90 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
18260 if ( _5C3420_pDecoration ) | 18603 if ( _5C3420_pDecoration ) |
18261 { | 18604 { |
18262 if ( _5C3420_pDecoration == (LevelDecoration *)1 ) | 18605 if ( _5C3420_pDecoration == (LevelDecoration *)1 ) |
18263 { | 18606 { |
18264 ptr_F8B1E8 = pNPCTopics[v90-1].pText;//(&dword_721664)[8 * v90]; | 18607 ptr_F8B1E8 = pNPCTopics[v90-1].pText;//(&dword_721664)[8 * v90]; |
18265 goto LABEL_291; | 18608 ++v122; |
18609 //v4 = v124; | |
18610 //v5 = pSomeEVT; | |
18611 //v6 = v123; | |
18612 //v7 = ""; | |
18613 break; | |
18266 } | 18614 } |
18267 if ( a3 == 1 ) | 18615 if ( a3 == 1 ) |
18268 { | 18616 { |
18269 v91 = pNPCTopics[v90-1].pText;//(&dword_721664)[8 * v90]; | 18617 v91 = pNPCTopics[v90-1].pText;//(&dword_721664)[8 * v90]; |
18270 LABEL_248: | 18618 //LABEL_248: |
18271 ShowStatusBarString(v91, 2u); | 18619 ShowStatusBarString(v91, 2u); |
18272 goto LABEL_291; | 18620 ++v122; |
18621 //v4 = v124; | |
18622 //v5 = pSomeEVT; | |
18623 //v6 = v123; | |
18624 //v7 = ""; | |
18625 break; | |
18273 } | 18626 } |
18274 } | 18627 } |
18275 else | 18628 else |
18276 { | 18629 { |
18277 if ( a3 == 1 ) | 18630 if ( a3 == 1 ) |
18278 { | 18631 { |
18279 v91 = &pLevelStr[pLevelStrOffsets[v90]]; | 18632 v91 = &pLevelStr[pLevelStrOffsets[v90]]; |
18280 goto LABEL_248; | 18633 ShowStatusBarString(v91, 2u); |
18634 ++v122; | |
18635 //v4 = v124; | |
18636 //v5 = pSomeEVT; | |
18637 //v6 = v123; | |
18638 //v7 = ""; | |
18639 break; | |
18281 } | 18640 } |
18282 } | 18641 } |
18283 goto LABEL_291; | 18642 ++v122; |
18643 //v4 = v124; | |
18644 //v5 = pSomeEVT; | |
18645 //v6 = v123; | |
18646 //v7 = ""; | |
18647 break; | |
18284 case EVENT_ShowMessage: | 18648 case EVENT_ShowMessage: |
18285 v92 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 18649 v92 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
18286 if ( _5C3420_pDecoration ) | 18650 if ( _5C3420_pDecoration ) |
18287 { | 18651 { |
18288 v93 = (char *)pNPCTopics[v92-1].pText;//(&dword_721664)[8 * v92]; | 18652 v93 = (char *)pNPCTopics[v92-1].pText;//(&dword_721664)[8 * v92]; |
18291 } | 18655 } |
18292 else | 18656 else |
18293 { | 18657 { |
18294 strcpy(byte_5B0938, &pLevelStr[pLevelStrOffsets[v92]]); | 18658 strcpy(byte_5B0938, &pLevelStr[pLevelStrOffsets[v92]]); |
18295 } | 18659 } |
18296 goto LABEL_291; | 18660 ++v122; |
18661 //v4 = v124; | |
18662 //v5 = pSomeEVT; | |
18663 //v6 = v123; | |
18664 //v7 = ""; | |
18665 break; | |
18297 case EVENT_CastSpell: | 18666 case EVENT_CastSpell: |
18298 sub_448DF8_cast_spell( | 18667 sub_448DF8_cast_spell(_evt->v5, _evt->v6, _evt->v7, _evt->v8 + ((_evt->v9 + ((_evt->v10 + ((uint)_evt->v11 << 8)) << 8)) << 8), |
18299 _evt->v5, | |
18300 _evt->v6, | |
18301 _evt->v7, | |
18302 _evt->v8 + ((_evt->v9 + ((_evt->v10 + ((uint)_evt->v11 << 8)) << 8)) << 8), | |
18303 _evt->v12 + ((_evt->v13 + ((_evt->v14 + ((uint)_evt->v15 << 8)) << 8)) << 8), | 18668 _evt->v12 + ((_evt->v13 + ((_evt->v14 + ((uint)_evt->v15 << 8)) << 8)) << 8), |
18304 _evt->v16 + ((_evt->v17 + ((_evt->v18 + ((uint)_evt->v19 << 8)) << 8)) << 8), | 18669 _evt->v16 + ((_evt->v17 + ((_evt->v18 + ((uint)_evt->v19 << 8)) << 8)) << 8), |
18305 _evt->v20 + ((_evt->v21 + ((_evt->v22 + ((uint)_evt->v23 << 8)) << 8)) << 8), | 18670 _evt->v20 + ((_evt->v21 + ((_evt->v22 + ((uint)_evt->v23 << 8)) << 8)) << 8), |
18306 _evt->v24 + ((_evt->v25 + ((_evt->v26 + ((uint)_evt->v27 << 8)) << 8)) << 8), | 18671 _evt->v24 + ((_evt->v25 + ((_evt->v26 + ((uint)_evt->v27 << 8)) << 8)) << 8), |
18307 _evt->v28 + ((_evt->v29 + ((_evt->v30 + ((uint)_evt->v31 << 8)) << 8)) << 8)); | 18672 _evt->v28 + ((_evt->v29 + ((_evt->v30 + ((uint)_evt->v31 << 8)) << 8)) << 8)); |
18308 goto LABEL_291; | 18673 ++v122; |
18674 //v4 = v124; | |
18675 //v5 = pSomeEVT; | |
18676 //v6 = v123; | |
18677 //v7 = ""; | |
18678 break; | |
18309 case EVENT_SetTexture: | 18679 case EVENT_SetTexture: |
18310 sub_44861E_set_texture(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), (char *)&_evt->v9); | 18680 sub_44861E_set_texture(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), (char *)&_evt->v9); |
18311 goto LABEL_291; | 18681 ++v122; |
18682 //v4 = v124; | |
18683 //v5 = pSomeEVT; | |
18684 //v6 = v123; | |
18685 //v7 = ""; | |
18686 break; | |
18312 case EVENT_SetSprite: | 18687 case EVENT_SetSprite: |
18313 SetDecorationSprite( | 18688 SetDecorationSprite(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), _evt->v9, (char *)&_evt->v10); |
18314 _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8), | 18689 ++v122; |
18315 _evt->v9, | 18690 //v4 = v124; |
18316 (char *)&_evt->v10); | 18691 //v5 = pSomeEVT; |
18317 goto LABEL_291; | 18692 //v6 = v123; |
18693 //v7 = ""; | |
18694 break; | |
18318 case EVENT_SummonMonsters: | 18695 case EVENT_SummonMonsters: |
18319 sub_448CF4_spawn_monsters( | 18696 sub_448CF4_spawn_monsters(_evt->v5, _evt->v6, _evt->v7, |
18320 _evt->v5, | |
18321 _evt->v6, | |
18322 _evt->v7, | |
18323 _evt->v8 + ((_evt->v9 + ((_evt->v10 + ((uint)_evt->v11 << 8)) << 8)) << 8), | 18697 _evt->v8 + ((_evt->v9 + ((_evt->v10 + ((uint)_evt->v11 << 8)) << 8)) << 8), |
18324 _evt->v12 + ((_evt->v13 + ((_evt->v14 + ((uint)_evt->v15 << 8)) << 8)) << 8), | 18698 _evt->v12 + ((_evt->v13 + ((_evt->v14 + ((uint)_evt->v15 << 8)) << 8)) << 8), |
18325 _evt->v16 + ((_evt->v17 + ((_evt->v18 + ((uint)_evt->v19 << 8)) << 8)) << 8), | 18699 _evt->v16 + ((_evt->v17 + ((_evt->v18 + ((uint)_evt->v19 << 8)) << 8)) << 8), |
18326 _evt->v20 + ((_evt->v21 + ((_evt->v22 + ((uint)_evt->v23 << 8)) << 8)) << 8), | 18700 _evt->v20 + ((_evt->v21 + ((_evt->v22 + ((uint)_evt->v23 << 8)) << 8)) << 8), |
18327 _evt->v24 + ((_evt->v25 + ((_evt->v26 + ((uint)_evt->v27 << 8)) << 8)) << 8)); | 18701 _evt->v24 + ((_evt->v25 + ((_evt->v26 + ((uint)_evt->v27 << 8)) << 8)) << 8)); |
18328 goto LABEL_291; | 18702 ++v122; |
18703 //v4 = v124; | |
18704 //v5 = pSomeEVT; | |
18705 //v6 = v123; | |
18706 //v7 = ""; | |
18707 break; | |
18329 case EVENT_MouseOver: | 18708 case EVENT_MouseOver: |
18330 case EVENT_LocationName: | 18709 case EVENT_LocationName: |
18331 --v122; | 18710 --v122; |
18332 goto LABEL_291; | 18711 ++v122; |
18712 //v4 = v124; | |
18713 //v5 = pSomeEVT; | |
18714 //v6 = v123; | |
18715 //v7 = ""; | |
18716 break; | |
18333 case EVENT_ChangeDoorState: | 18717 case EVENT_ChangeDoorState: |
18334 sub_449A49_door_switch_animation(_evt->v5, _evt->v6); | 18718 sub_449A49_door_switch_animation(_evt->v5, _evt->v6); |
18335 goto LABEL_291; | 18719 ++v122; |
18720 //v4 = v124; | |
18721 //v5 = pSomeEVT; | |
18722 //v6 = v123; | |
18723 //v7 = ""; | |
18724 break; | |
18336 case EVENT_OpenChest: | 18725 case EVENT_OpenChest: |
18337 if ( !Chest::Open(_evt->v5) ) | 18726 if ( !Chest::Open(_evt->v5) ) |
18338 goto LABEL_301; | 18727 goto LABEL_301; |
18339 goto LABEL_291; | 18728 ++v122; |
18729 //v4 = v124; | |
18730 //v5 = pSomeEVT; | |
18731 //v6 = v123; | |
18732 //v7 = ""; | |
18733 break; | |
18340 case EVENT_MoveToMap: | 18734 case EVENT_MoveToMap: |
18341 v94 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 18735 v94 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
18342 v135 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 18736 v135 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
18343 v132 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); | 18737 v132 = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); |
18344 v126 = _evt->v13 + ((_evt->v14 + ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8)) << 8); | 18738 v126 = _evt->v13 + ((_evt->v14 + ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8)) << 8); |
18349 v134 = v96 + ((_evt->v26 + ((_evt->v27 + ((uint)_evt->v28 << 8)) << 8)) << 8); | 18743 v134 = v96 + ((_evt->v26 + ((_evt->v27 + ((uint)_evt->v28 << 8)) << 8)) << 8); |
18350 if ( _evt->v29 || _evt->v30 ) | 18744 if ( _evt->v29 || _evt->v30 ) |
18351 { | 18745 { |
18352 if ( pRenderer->pRenderD3D && !pRenderer->bWindowMode ) | 18746 if ( pRenderer->pRenderD3D && !pRenderer->bWindowMode ) |
18353 pRenderer->_49FD3A(); | 18747 pRenderer->_49FD3A(); |
18354 sub_444839_move_map( | 18748 sub_444839_move_map(_evt->v29, _evt->v30, v135, v132, v126, v129, v95, v134, (char *)&_evt->v31); |
18355 _evt->v29, | |
18356 _evt->v30, | |
18357 v135, | |
18358 v132, | |
18359 v126, | |
18360 v129, | |
18361 v95, | |
18362 v134, | |
18363 (char *)&_evt->v31); | |
18364 dword_5C3418 = uEventID; | 18749 dword_5C3418 = uEventID; |
18365 dword_5C341C = v122 + 1; | 18750 dword_5C341C = v122 + 1; |
18366 goto LABEL_301; | 18751 goto LABEL_301; |
18367 } | 18752 } |
18368 _5B65AC_npcdata_fame_or_other = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); | 18753 _5B65AC_npcdata_fame_or_other = _evt->v9 + ((_evt->v10 + ((_evt->v11 + ((uint)_evt->v12 << 8)) << 8)) << 8); |
18416 else | 18801 else |
18417 { | 18802 { |
18418 pGameLoadingUI_ProgressBar->uType = (GUIProgressBar::Type)((_5C3420_pDecoration == 0) + 1); | 18803 pGameLoadingUI_ProgressBar->uType = (GUIProgressBar::Type)((_5C3420_pDecoration == 0) + 1); |
18419 sub_44987B(v99, 0); | 18804 sub_44987B(v99, 0); |
18420 v133 = 1; | 18805 v133 = 1; |
18421 if ( pCurrentScreen == 13 ) | 18806 if ( pCurrentScreen == SCREEN_HOUSE ) |
18422 { | 18807 { |
18423 if ( uGameState == 2 ) | 18808 if ( uGameState == 2 ) |
18424 { | 18809 { |
18425 pAudioPlayer->StopChannels(-1, -1); | 18810 pAudioPlayer->StopChannels(-1, -1); |
18426 dword_F8B19C = 0; | 18811 dword_F8B19C = 0; |
18429 pVideoPlayer->Unload(); | 18814 pVideoPlayer->Unload(); |
18430 ptr_507BC0->Release(); | 18815 ptr_507BC0->Release(); |
18431 ptr_507BC0 = 0; | 18816 ptr_507BC0 = 0; |
18432 if ( pMessageQueue_50CBD0->uNumMessages ) | 18817 if ( pMessageQueue_50CBD0->uNumMessages ) |
18433 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 18818 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
18434 pCurrentScreen = 0; | 18819 pCurrentScreen = SCREEN_GAME; |
18435 viewparams->bRedrawGameUI = 1; | 18820 viewparams->bRedrawGameUI = 1; |
18436 array_5913D8[6] = 0; | 18821 array_5913D8[6] = 0; |
18437 pDialogueWindow->Release(); | 18822 pDialogueWindow->Release(); |
18438 dword_F8B19C = 0; | 18823 dword_F8B19C = 0; |
18439 pDialogueWindow = 0; | 18824 pDialogueWindow = 0; |
18440 pIcons_LOD->_40F9C5(); | 18825 pIcons_LOD->_40F9C5(); |
18441 } | 18826 } |
18442 goto LABEL_302; | 18827 goto LABEL_302; |
18443 } | 18828 } |
18444 } | 18829 } |
18445 goto LABEL_291; | 18830 ++v122; |
18831 //v4 = v124; | |
18832 //v5 = pSomeEVT; | |
18833 //v6 = v123; | |
18834 //v7 = ""; | |
18835 break; | |
18446 case EVENT_PlaySound: | 18836 case EVENT_PlaySound: |
18447 v120 = 0; | 18837 v120 = 0; |
18448 v116 = 0; | 18838 v116 = 0; |
18449 v111 = 0; | 18839 v111 = 0; |
18450 v110 = _evt->v13 + ((_evt->v14 + ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8)) << 8); | 18840 v110 = _evt->v13 + ((_evt->v14 + ((_evt->v15 + ((uint)_evt->v16 << 8)) << 8)) << 8); |
18460 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); | 18850 + ((_evt->v8 + ((_evt->v9 + ((uint)_evt->v10 << 8)) << 8)) << 8); |
18461 pItemsTable->GenerateItem(_evt->v5, _evt->v6, &item); | 18851 pItemsTable->GenerateItem(_evt->v5, _evt->v6, &item); |
18462 if ( v102 ) | 18852 if ( v102 ) |
18463 item.uItemID = v102; | 18853 item.uItemID = v102; |
18464 pParty->SetHoldingItem(&item); | 18854 pParty->SetHoldingItem(&item); |
18465 goto LABEL_291; | 18855 ++v122; |
18856 //v4 = v124; | |
18857 //v5 = pSomeEVT; | |
18858 //v6 = v123; | |
18859 //v7 = ""; | |
18860 break; | |
18466 case EVENT_SpeakInHouse: | 18861 case EVENT_SpeakInHouse: |
18467 v103 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); | 18862 v103 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8); |
18468 if ( EnterHouse((enum HOUSE_TYPE)(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8))) ) | 18863 if ( EnterHouse((enum HOUSE_TYPE)(_evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8))) ) |
18469 { | 18864 { |
18470 if ( pRenderer->pRenderD3D && !pRenderer->bWindowMode ) | 18865 if ( pRenderer->pRenderD3D && !pRenderer->bWindowMode ) |
18479 ptr_507BC0->CreateButton(0xB1u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 2u, 0x32u, "", 0); | 18874 ptr_507BC0->CreateButton(0xB1u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 2u, 0x32u, "", 0); |
18480 ptr_507BC0->CreateButton(0x124u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 3u, 0x33u, "", 0); | 18875 ptr_507BC0->CreateButton(0x124u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 3u, 0x33u, "", 0); |
18481 ptr_507BC0->CreateButton(0x197u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 4u, 0x34u, "", 0); | 18876 ptr_507BC0->CreateButton(0x197u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 4u, 0x34u, "", 0); |
18482 ptr_507BC0->CreateButton(0, 0, 0, 0, 1, 0, 0xB0u, 0, 9u, "", 0); | 18877 ptr_507BC0->CreateButton(0, 0, 0, 0, 1, 0, 0xB0u, 0, 9u, "", 0); |
18483 } | 18878 } |
18484 goto LABEL_291; | 18879 ++v122; |
18880 //v4 = v124; | |
18881 //v5 = pSomeEVT; | |
18882 //v6 = v123; | |
18883 //v7 = ""; | |
18884 break; | |
18485 case EVENT_PressAnyKey: | 18885 case EVENT_PressAnyKey: |
18486 v121 = 33; | 18886 v121 = 33; |
18487 v105 = v122 + 1; | 18887 v105 = v122 + 1; |
18488 goto LABEL_295; | 18888 goto LABEL_295; |
18489 case EVENT_Exit: | 18889 case EVENT_Exit: |
18490 goto LABEL_301; | 18890 goto LABEL_301; |
18491 default: | 18891 default: |
18492 goto LABEL_291; | 18892 ++v122; |
18893 //v4 = v124; | |
18894 //v5 = pSomeEVT; | |
18895 //v6 = v123; | |
18896 //v7 = ""; | |
18897 break; | |
18493 } | 18898 } |
18494 } | 18899 } |
18495 //++v4; | 18900 //++v4; |
18496 //v124 = v4; | 18901 //v124 = v4; |
18497 //if ( v4 >= (signed int)uSomeEVT_NumEvents ) | 18902 //if ( v4 >= (signed int)uSomeEVT_NumEvents ) |
19919 _5B65B8_npcdata_hiword_house_or_other = 0; | 20324 _5B65B8_npcdata_hiword_house_or_other = 0; |
19920 dword_5B65BC = 0; | 20325 dword_5B65BC = 0; |
19921 dword_5B65C0 = 0; | 20326 dword_5B65C0 = 0; |
19922 pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen; | 20327 pGameLoadingUI_ProgressBar->uType = GUIProgressBar::TYPE_Fullscreen; |
19923 sub_44987B("nwc.blv", 0); | 20328 sub_44987B("nwc.blv", 0); |
19924 pCurrentScreen = 0; | 20329 pCurrentScreen = SCREEN_GAME; |
19925 result = 1; | 20330 result = 1; |
19926 } | 20331 } |
19927 return result; | 20332 return result; |
19928 } | 20333 } |
19929 | 20334 |