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