diff UI/UITransition.cpp @ 1756:dc5d8edf629a

Merge
author Ritor1
date Mon, 30 Sep 2013 18:06:01 +0600
parents 77abbabd2a04 421c29d4ab3e
children 11f5c0ac170a
line wrap: on
line diff
--- a/UI/UITransition.cpp	Mon Sep 30 18:05:50 2013 +0600
+++ b/UI/UITransition.cpp	Mon Sep 30 18:06:01 2013 +0600
@@ -26,18 +26,9 @@
 //----- (00444839) --------------------------------------------------------
 void TransitionUI_Load(uint anim_id, uint exit_pic_id, int x, int y, int z, int directiony, int directionx, int a8, const char *pLocationName)
 {
-  unsigned int v12; // eax@6
-  const char *v13; // ST0C_4@6
-  unsigned int v14; // eax@8
   const char *v15; // eax@14
-  unsigned int v16; // eax@16
-  const char *v18; // [sp-8h] [bp-40h]@9
-  char *v20; // [sp-4h] [bp-3Ch]@9
-  const char *v21; // [sp-4h] [bp-3Ch]@11
   char pContainer[40]; // [sp+Ch] [bp-2Ch]@1
-  unsigned int v23; // [sp+34h] [bp-4h]@1
 
-  v23 = IndoorLocation::GetLocationIndex(pLocationName);
   dword_59117C_teleportx = x;
   dword_591178_teleporty = y;
   dword_591174_teleportz = z;
@@ -57,48 +48,58 @@
     default: Error("Invalid alignment: %u", pParty->alignment);
   }
 
-  v12 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
-  v13 = pHouse_ExitPictures[exit_pic_id];
-  pTexture_Dialogue_Background = &pIcons_LOD->pTextures[v12];
-  pTexture_outside = pIcons_LOD->LoadTexturePtr(v13, TEXTURE_16BIT_PALETTE);
+  pTexture_Dialogue_Background = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE)];
+  pTexture_outside = pIcons_LOD->LoadTexturePtr(pHouse_ExitPictures[exit_pic_id], TEXTURE_16BIT_PALETTE);
   if (anim_id)
   {
-    if ( !v23 )
-      //pVideoPlayer->OpenHouseMovie(pAnimatedRooms[p2DEvents_minus1___02[26 * v9]].field_0, 1u);
+    if ( !IndoorLocation::GetLocationIndex(pLocationName) )
       pVideoPlayer->OpenHouseMovie(pAnimatedRooms[p2DEvents[anim_id - 1].uAnimationID].video_name, 1);
   }
-  else if ( !v23 )
+  else if ( !IndoorLocation::GetLocationIndex(pLocationName) )
   {
-      v14 = pMapStats->GetMapInfo(pCurrentMapName);
-      if ( v14 )
-      {
-        sprintfex(sHouseName.data(), pGlobalTXT_LocalizationStrings[410], pMapStats->pInfos[v14].pName); // "Leave %s"
-        goto LABEL_20;
-      }
-      v21 = pGlobalTXT_LocalizationStrings[79];
-      goto LABEL_19;
+    if ( pMapStats->GetMapInfo(pCurrentMapName) )
+    {
+      sprintfex(sHouseName.data(), pGlobalTXT_LocalizationStrings[410], pMapStats->pInfos[pMapStats->GetMapInfo(pCurrentMapName)].pName); // "Leave %s"
+      pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_Transition, 0, sHouseName.data());
+      //if ( pAnimatedRooms[p2DEvents[anim_id].uAnimationID].uRoomSoundId )
+        //PlayHouseSound(anim_id, HouseSound_Greeting);
+      if ( uCurrentlyLoadedLevelType == LEVEL_Indoor && uActiveCharacter && pParty->uFlags & 0x30 )
+        pPlayers[uActiveCharacter]->PlaySound(SPEECH_47, 0);
+      if ( IndoorLocation::GetLocationIndex(pLocationName) )
+        uCurrentHouse_Animation = IndoorLocation::GetLocationIndex(pLocationName);
+      return;
+    }
+    strcpy(sHouseName.data(), pGlobalTXT_LocalizationStrings[79]);
+    pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_Transition, 0, sHouseName.data());
+    //if ( pAnimatedRooms[p2DEvents[anim_id].uAnimationID].uRoomSoundId )
+      //PlayHouseSound(anim_id, HouseSound_Greeting);
+    if ( uCurrentlyLoadedLevelType == LEVEL_Indoor && uActiveCharacter && pParty->uFlags & 0x30 )
+      pPlayers[uActiveCharacter]->PlaySound(SPEECH_47, 0);
+    if ( IndoorLocation::GetLocationIndex(pLocationName) )
+      uCurrentHouse_Animation = IndoorLocation::GetLocationIndex(pLocationName);
+    return;
   }
   v15 = pLocationName;
   if ( *pLocationName == 48 )
     v15 = pCurrentMapName;
-  v16 = pMapStats->GetMapInfo(v15);
-  if ( v16 )
+  if ( pMapStats->GetMapInfo(v15) )
   {
-    sprintfex(sHouseName.data(), pGlobalTXT_LocalizationStrings[411], pMapStats->pInfos[v16].pName);
-    goto LABEL_20;
+    sprintfex(sHouseName.data(), pGlobalTXT_LocalizationStrings[411], pMapStats->pInfos[pMapStats->GetMapInfo(v15)].pName);//Войти в ^Pv[%s]
+    pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_Transition, 0, sHouseName.data());
+    if ( uCurrentlyLoadedLevelType == LEVEL_Indoor && uActiveCharacter && pParty->uFlags & 0x30 )
+      pPlayers[uActiveCharacter]->PlaySound(SPEECH_47, 0);
+    if ( IndoorLocation::GetLocationIndex(pLocationName) )
+      uCurrentHouse_Animation = IndoorLocation::GetLocationIndex(pLocationName);
+    return;
   }
-  v21 = pGlobalTXT_LocalizationStrings[73];
-LABEL_19:
-  strcpy(sHouseName.data(), v21);
-LABEL_20:
+  strcpy(sHouseName.data(), pGlobalTXT_LocalizationStrings[73]);//Войти
   pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_Transition, 0, sHouseName.data());
-  //if ( BYTE1(pAnimatedRooms[p2DEvents_minus1___02[26 * v9]].field_C) )
-  if ( pAnimatedRooms[p2DEvents[anim_id].uAnimationID].uRoomSoundId )
-    PlayHouseSound(anim_id, HouseSound_Greeting);
+  //if ( pAnimatedRooms[p2DEvents[anim_id].uAnimationID].uRoomSoundId )
+    //PlayHouseSound(anim_id, HouseSound_Greeting);
   if ( uCurrentlyLoadedLevelType == LEVEL_Indoor && uActiveCharacter && pParty->uFlags & 0x30 )
     pPlayers[uActiveCharacter]->PlaySound(SPEECH_47, 0);
-  if ( v23 )
-    uCurrentHouse_Animation = v23;
+  if ( IndoorLocation::GetLocationIndex(pLocationName) )
+    uCurrentHouse_Animation = IndoorLocation::GetLocationIndex(pLocationName);
 }
 
 
@@ -107,10 +108,8 @@
 //----- (00444C8F) --------------------------------------------------------
 void TravelUI_Load()
 {
-  //signed int v0; // eax@1
   unsigned int v1; // eax@6
   GUIWindow *result; // eax@9
-  //const char *v3; // [sp-4h] [bp-2Ch]@2
   char pContainer[32]; // [sp+0h] [bp-28h]@1
 
   pEventTimer->Pause();