Mercurial > mm7
changeset 2534:1bcadc6dd203
enum SOUND_
line wrap: on
line diff
--- a/Arcomage/Arcomage.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Arcomage/Arcomage.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -478,7 +478,7 @@ case 40: case 43: case 46: - play_sound_id = SOUND_Arcomage_LoseResources; + play_sound_id = SOUND_bricks_down; break; case 39: case 41: @@ -486,7 +486,7 @@ case 44: case 45: case 47: - play_sound_id = SOUND_Arcomage_AddResources; + play_sound_id = SOUND_bricks_up; break; case 0: case 12: @@ -496,20 +496,20 @@ case 48: case 50: case 53: - play_sound_id = SOUND_Arcomage_TowerWallDamage; + play_sound_id = SOUND_damage; break; case 21: case 22: case 23: - play_sound_id = SOUND_Arcomage_DrawCard; + play_sound_id = SOUND_deal; break; case 56: - play_sound_id = SOUND_Arcomage_124; + play_sound_id = SOUND_defeat; break; case 31: case 34: case 37: - play_sound_id = SOUND_Arcomage_ProductionDamage; + play_sound_id = SOUND_querry_up; break; case 1: case 30: @@ -518,29 +518,29 @@ case 35: case 36: case 38: - play_sound_id = SOUND_Arcomage_ProductionUpgrade; + play_sound_id = SOUND_querry_down; break; case 20: - play_sound_id = SOUND_Arcomage_127; + play_sound_id = SOUND_shuffle; break; case 3: - play_sound_id = SOUND_Arcomage_128; + play_sound_id = SOUND_title; break; case 52: case 54: - play_sound_id = SOUND_Arcomage_TowerUpgrade; + play_sound_id = SOUND_tower_up; break; case 10: case 11: case 13: - play_sound_id = SOUND_Arcomage_130; + play_sound_id = SOUND_typing; break; case 55: - play_sound_id = SOUND_Arcomage_131; + play_sound_id = SOUND_victory; break; case 49: case 51: - play_sound_id = SOUND_Arcomage_WallUpgrade; + play_sound_id = SOUND_wall_up; break; default: return;
--- a/Engine/Events.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Events.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -1177,7 +1177,7 @@ { pRenderer->Sub01(); pAudioPlayer->PlaySound(SOUND_Invalid, 0, 0, -1, 0, 0, 0, 0); - pAudioPlayer->PlaySound(SOUND_EnteringAHouse, 814, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_enter, 814, 0, -1, 0, 0, 0, 0); v104 = 187; if ( uCurrentHouse_Animation != 167 ) v104 = EVT_DWORD(_evt->v5);
--- a/Engine/Game.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Game.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -30,6 +30,7 @@ #include "TurnEngine/TurnEngine.h" #include "Media/Video/Bink_Smacker.h" #include "Events.h" +#include "OurMath.h" #include "texts.h" #include "GUI/GUIFont.h" #include "Log.h" @@ -99,8 +100,8 @@ pGame->pIndoorCameraD3D->sRotationX = pParty->sRotationX; pGame->pIndoorCameraD3D->sRotationY = pParty->sRotationY; - pGame->pIndoorCameraD3D->vPartyPos.x = pParty->vPosition.x - pParty->y_rotation_granularity * cosf(2 * 3.141592653589 * pParty->sRotationY / 2048.0); - pGame->pIndoorCameraD3D->vPartyPos.y = pParty->vPosition.y - pParty->y_rotation_granularity * sinf(2 * 3.141592653589 * pParty->sRotationY / 2048.0); + pGame->pIndoorCameraD3D->vPartyPos.x = pParty->vPosition.x - pParty->y_rotation_granularity * cosf(2 * pi_double * pParty->sRotationY / 2048.0); + pGame->pIndoorCameraD3D->vPartyPos.y = pParty->vPosition.y - pParty->y_rotation_granularity * sinf(2 * pi_double * pParty->sRotationY / 2048.0); pGame->pIndoorCameraD3D->vPartyPos.z = pParty->vPosition.z + pParty->sEyelevel;//193, but real 353 //pIndoorCamera->Initialize2(); @@ -1357,7 +1358,7 @@ else { ShowStatusBarString(pGlobalTXT_LocalizationStrings[201], 2);// "Are you sure? Click again to start a New Game" - pAudioPlayer->PlaySound(SOUND_20001, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_quest, 0, 0, -1, 0, 0, 0, 0); dword_6BE138 = 124; } stru_506E40.Release(); @@ -1382,13 +1383,13 @@ pCurrentScreen = SCREEN_GAME; viewparams->bRedrawGameUI = 1; if ( !uMessageParam ) - pAudioPlayer->PlaySound((SoundID)(SOUND_EnteringAHouse|0x1), 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_wooddrclose, 0, 0, -1, 0, 0, 0, 0); uGameState = GAME_STATE_GAME_QUITTING_TO_MAIN_MENU; } else { ShowStatusBarString(pGlobalTXT_LocalizationStrings[82], 2);// "Are you sure? Click again to quit" - pAudioPlayer->PlaySound(SOUND_20001, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_quest, 0, 0, -1, 0, 0, 0, 0); dword_6BE138 = 132; } stru_506E40.Release(); @@ -1610,7 +1611,7 @@ pPrevVirtualCidesMapping[i] = pKeyActionMap->GetActionVKey((enum InputAction)i); GameMenuUI_InvaligKeyBindingsFlags[i] = false; } - pAudioPlayer->PlaySound(SOUND_219, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_chimes, 0, 0, -1, 0, 0, 0, 0); continue; case UIMSG_SelectKeyPage1: KeyboardPageNum = 1; @@ -1670,13 +1671,13 @@ if ( (uGammaPos -- -1) < 0 ) { uGammaPos = 0; - pAudioPlayer->PlaySound(SOUND_21, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickMovingSelector, 0, 0, -1, 0, 0, 0, 0); continue; } v19 = (double)(signed int)uGammaPos * 0.1 + 0.6; pGame->pGammaController->Initialize(v19); GUIWindow::Create(21, 161, 0, 0, WINDOW_PressedButton2, (int)pBtn_SliderLeft, (char *)1); - pAudioPlayer->PlaySound(SOUND_21, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickMovingSelector, 0, 0, -1, 0, 0, 0, 0); continue; } if ( uMessageParam == 5 ) @@ -1687,7 +1688,7 @@ v21 = (double)(signed int)uGammaPos * 0.1 + 0.6; pGame->pGammaController->Initialize(v21); GUIWindow::Create(213, 161, 0, 0, WINDOW_PressedButton2, (int)pBtn_SliderRight, (char *)1); - pAudioPlayer->PlaySound(SOUND_21, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickMovingSelector, 0, 0, -1, 0, 0, 0, 0); continue; } uGammaPos = 9; @@ -1698,7 +1699,7 @@ v22 = (double)(signed int)uGammaPos * 0.1 + 0.6; pGame->pGammaController->Initialize(v22); } - pAudioPlayer->PlaySound(SOUND_21, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickMovingSelector, 0, 0, -1, 0, 0, 0, 0); continue; case UIMSG_ToggleBloodsplats: pGame->ToggleFlags2(0x20u); @@ -1717,11 +1718,13 @@ uMusicVolimeMultiplier = 0; GUIWindow::Create(243, 216, 0, 0, WINDOW_PressedButton2, (int)pBtn_SliderLeft, (char *)1); if ( uMusicVolimeMultiplier ) - pAudioPlayer->PlaySound(SOUND_Bell, -1, 0, -1, 0, 0, pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f, 0); - if ( use_music_folder ) + pAudioPlayer->PlaySound(SOUND_hurp, -1, 0, -1, 0, 0, pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f, 0); + + if ( use_music_folder ) alSourcef (mSourceID, AL_GAIN, pSoundVolumeLevels[uMusicVolimeMultiplier]); else pAudioPlayer->SetMusicVolume(pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f); + continue; } if ( uMessageParam == 5 )//+ @@ -1731,7 +1734,7 @@ uMusicVolimeMultiplier = 9; GUIWindow::Create(435, 216, 0, 0, WINDOW_PressedButton2, (int)pBtn_SliderRight, (char *)1); if ( uMusicVolimeMultiplier ) - pAudioPlayer->PlaySound(SOUND_Bell, -1, 0, -1, 0, 0, pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f, 0); + pAudioPlayer->PlaySound(SOUND_hurp, -1, 0, -1, 0, 0, pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f, 0); if ( use_music_folder ) alSourcef (mSourceID, AL_GAIN, pSoundVolumeLevels[uMusicVolimeMultiplier]); else @@ -1742,7 +1745,7 @@ if ( (char)uMusicVolimeMultiplier > 9 ) uMusicVolimeMultiplier = 9; if ( uMusicVolimeMultiplier ) - pAudioPlayer->PlaySound(SOUND_Bell, -1, 0, -1, 0, 0, pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f, 0); + pAudioPlayer->PlaySound(SOUND_hurp, -1, 0, -1, 0, 0, pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f, 0); if ( use_music_folder ) alSourcef (mSourceID, AL_GAIN, pSoundVolumeLevels[uMusicVolimeMultiplier]); else @@ -1756,7 +1759,7 @@ uSoundVolumeMultiplier = 0; GUIWindow::Create(243, 162, 0, 0, WINDOW_PressedButton2, (int)pBtn_SliderLeft, (char *)1); pAudioPlayer->SetMasterVolume(pSoundVolumeLevels[uSoundVolumeMultiplier] * 128.0f); - pAudioPlayer->PlaySound(SOUND_shurch, -1, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_church, -1, 0, -1, 0, 0, 0, 0); int v = AIL_redbook_volume(pAudioPlayer->hAILRedbook); //v = v+1; if (v) @@ -1773,14 +1776,14 @@ //v154 = (int)pBtn_SliderRight; GUIWindow::Create(v24, 162, 0, 0, WINDOW_PressedButton2, (int)pBtn_SliderRight, (char *)1); pAudioPlayer->SetMasterVolume(pSoundVolumeLevels[uSoundVolumeMultiplier] * 128.0f); - pAudioPlayer->PlaySound(SOUND_shurch, -1, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_church, -1, 0, -1, 0, 0, 0, 0); continue; } uSoundVolumeMultiplier = (pMouse->GetCursorPos(&v207)->x - 263) / 17; if ( (char)uSoundVolumeMultiplier > 8 ) uSoundVolumeMultiplier = 9; pAudioPlayer->SetMasterVolume(pSoundVolumeLevels[uSoundVolumeMultiplier] * 128.0f); - pAudioPlayer->PlaySound(SOUND_shurch, -1, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_church, -1, 0, -1, 0, 0, 0, 0); continue; case UIMSG_ToggleFlipOnExit: bFlipOnExit = bFlipOnExit == 0; @@ -2250,7 +2253,7 @@ continue; } GetHouseGoodbyeSpeech(); - pAudioPlayer->PlaySound(SOUND_WoodDRClose, 814, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_wooddrclose, 814, 0, -1, 0, 0, 0, 0); pMediaPlayer->Unload(); pGUIWindow_CurrentMenu = window_SpeakInHouse; if ( pGUIWindow_Settings ) @@ -3500,7 +3503,7 @@ }*/ pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 0, 0); ShowStatusBarString(pGlobalTXT_LocalizationStrings[481], 2);// "Encounter!" - pAudioPlayer->PlaySound(SOUND_227, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_encounter, 0, 0, -1, 0, 0, 0, 0); continue; } } @@ -3573,7 +3576,7 @@ { pPlayer10->uQuickSpell = 0; quick_spell_at_page = 0; - pAudioPlayer->PlaySound(SOUND_203, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fizzle, 0, 0, -1, 0, 0, 0, 0); continue; } pPlayers[uActiveCharacter]->uQuickSpell = quick_spell_at_page + 11 * pPlayers[uActiveCharacter]->lastOpenedSpellbookPage; @@ -3598,7 +3601,7 @@ } } if ( !skill_count )//нет скиллов - pAudioPlayer->PlaySound((SoundID)(rand() % 2 + SOUND_204), 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)(rand() % 2 + SOUND_TurnPageU), 0, 0, -1, 0, 0, 0, 0); else { if ( GetAsyncKeyState(VK_SHIFT) ) @@ -3616,7 +3619,7 @@ OnCloseSpellBookPage(); pPlayers[uActiveCharacter]->lastOpenedSpellbookPage = LOBYTE(v217[uAction]); pGUIWindow_CurrentMenu->OpenSpellBook(); - pAudioPlayer->PlaySound((SoundID)(rand() % 2 + SOUND_204), 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)(rand() % 2 + SOUND_TurnPageU), 0, 0, -1, 0, 0, 0, 0); } continue; } @@ -3626,7 +3629,7 @@ OnCloseSpellBookPage(); pPlayers[uActiveCharacter]->lastOpenedSpellbookPage = uMessageParam; pGUIWindow_CurrentMenu->OpenSpellBook(); - pAudioPlayer->PlaySound((SoundID)(rand() % 2 + SOUND_204), 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)(rand() % 2 + SOUND_TurnPageU), 0, 0, -1, 0, 0, 0, 0); continue; case UIMSG_SelectSpell: { @@ -3828,7 +3831,7 @@ *(short *)v105 = uNumSeconds + 1; pPlayer4->uSkillPoints -= pPlayer4->pActiveSkills[uMessageParam] & 0x3F; pPlayer4->PlaySound(SPEECH_14, 0); - pAudioPlayer->PlaySound((SoundID)20001, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_quest, 0, 0, -1, 0, 0, 0, 0); continue; } v87 = pGlobalTXT_LocalizationStrings[487];// "You have already mastered this skill!" @@ -4208,7 +4211,7 @@ pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam; uPlayerCreationUI_SelectedCharacter = pParam; - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0, 0); break; case UIMSG_PlayerCreation_VoicePrev: pSex = pParty->pPlayers[pParam].GetSexByVoice(); @@ -4221,7 +4224,7 @@ while (pParty->pPlayers[pParam].GetSexByVoice() != pSex); pButton = pCreationUI_BtnPressLeft2[pParam]; GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, WINDOW_PressedButton, (int)pButton, (char *)1); - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0, 0); pParty->pPlayers[pParam].PlaySound(SPEECH_PickMe, 0); break; case UIMSG_PlayerCreation_VoiceNext: @@ -4233,7 +4236,7 @@ while (pParty->pPlayers[pParam].GetSexByVoice() != pSex); pButton = pCreationUI_BtnPressRight2[pParam]; GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, WINDOW_PressedButton, (int)pButton, (char *)1); - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0, 0); pParty->pPlayers[pParam].PlaySound(SPEECH_PickMe, 0); break; case UIMSG_PlayerCreation_FacePrev: @@ -4251,7 +4254,7 @@ % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam; uPlayerCreationUI_SelectedCharacter = v25; GUIWindow::Create(pCreationUI_BtnPressLeft[v25]->uX, pCreationUI_BtnPressLeft[v25]->uY, 0, 0, WINDOW_PressedButton, (int)pCreationUI_BtnPressLeft[v25], (char *)1); - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0.0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0.0, 0); pParty->pPlayers[pParam].PlaySound(SPEECH_PickMe, 0); break; case UIMSG_PlayerCreation_FaceNext: @@ -4267,27 +4270,27 @@ % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam; uPlayerCreationUI_SelectedCharacter = v21; GUIWindow::Create(pCreationUI_BtnPressRight[v21]->uX, pCreationUI_BtnPressRight[v21]->uY, 0, 0, WINDOW_PressedButton, (int)pCreationUI_BtnPressRight[v21], (char *)1); - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0, 0); pParty->pPlayers[pParam].PlaySound(SPEECH_PickMe, 0); break; case UIMSG_PlayerCreationClickPlus: GUIWindow::Create(613, 393, 0, 0, WINDOW_PressedButton2, (int)pPlayerCreationUI_BtnPlus, (char *)1); pPlayer[uPlayerCreationUI_SelectedCharacter].IncreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7); - pAudioPlayer->PlaySound(SOUND_20, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickMinus, 0, 0, -1, 0, 0, 0, 0); break; case UIMSG_PlayerCreationClickMinus: GUIWindow::Create(523, 393, 0, 0, WINDOW_PressedButton2, (int)pPlayerCreationUI_BtnMinus, (char *)1); pPlayer[uPlayerCreationUI_SelectedCharacter].DecreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7); - pAudioPlayer->PlaySound(SOUND_23, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickPlus, 0, 0, -1, 0, 0, 0, 0); break; case UIMSG_PlayerCreationSelectActiveSkill: if ( pPlayer[uPlayerCreationUI_SelectedCharacter].GetSkillIdxByOrder(3) == 37 ) pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].pActiveSkills[pPlayer[uPlayerCreationUI_SelectedCharacter].GetSkillIdxByOrder(pParam + 4)] = 1; - pAudioPlayer->PlaySound(SOUND_24, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickSkill, 0, 0, -1, 0, 0, 0, 0); break; case UIMSG_PlayerCreationSelectClass: pPlayer[uPlayerCreationUI_SelectedCharacter].Reset((PLAYER_CLASS_TYPE)pParam); - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0, 0); break; case UIMSG_PlayerCreationClickOK: GUIWindow::Create(580, 431, 0, 0, WINDOW_PressedButton2, (int)pPlayerCreationUI_BtnOK, 0); @@ -4313,7 +4316,7 @@ pParty->pPlayers[pParam].pActiveSkills[pPlayer[pParam].GetSkillIdxByOrder(3)] = 0; break; case UIMSG_PlayerCreationChangeName: - pAudioPlayer->PlaySound(SOUND_24, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_ClickSkill, 0, 0, -1, 0, 0, 0, 0); v3 = (void *)pParam; uPlayerCreationUI_SelectedCharacter = pParam; pKeyActionMap->EnterText(0, 15, pGUIWindow_CurrentMenu);
--- a/Engine/Graphics/Indoor.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Graphics/Indoor.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -5760,11 +5760,11 @@ if ( integer_sqrt(pX_ * pX_ + pY_ * pY_ + pZ_ * pZ_) >= 16 ) { if ( on_water ) - pAudioPlayer->PlaySound(SOUND_RunAlongWater, 804, 1, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_RunWaterIndoor, 804, 1, -1, 0, 0, 0, 0); else if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_INDOOR_CARPET )//по ковру - pAudioPlayer->PlaySound(SOUND_50, 804, 1, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_RunCarpet, 804, 1, -1, 0, 0, 0, 0); else - pAudioPlayer->PlaySound(SOUND_RunAlong3DModel, 804, 1, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_RunWood, 804, 1, -1, 0, 0, 0, 0); pParty->walk_sound_timer = 96;//64 } } @@ -5773,11 +5773,11 @@ if ( integer_sqrt(pX_ * pX_ + pY_ * pY_ + pZ_ * pZ_) >= 8 ) { if ( on_water ) - pAudioPlayer->PlaySound(SOUND_WalkAlongWater, 804, 1, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_WalkWaterIndoor, 804, 1, -1, 0, 0, 0, 0); else if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_INDOOR_CARPET )//по ковру - pAudioPlayer->PlaySound(SOUND_89, 804, 1, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_WalkCarpet, 804, 1, -1, 0, 0, 0, 0); else - pAudioPlayer->PlaySound(SOUND_WalkAlong3DModel, 804, 1, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_WalkWood, 804, 1, -1, 0, 0, 0, 0); pParty->walk_sound_timer = 144;//64 } }
--- a/Engine/Graphics/IndoorCameraD3D.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Graphics/IndoorCameraD3D.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -1354,12 +1354,12 @@ sRotationX = camera_rot_x; sRotationY = camera_rot_y; - fRotationYSine = sin((3.141592653589793 + 3.141592653589793) * (double)sRotationY / 2048.0); - fRotationYCosine = cos((3.141592653589793 + 3.141592653589793) * (double)sRotationY / 2048.0); + fRotationYSine = sin((pi_double + pi_double) * (double)sRotationY / 2048.0); + fRotationYCosine = cos((pi_double + pi_double) * (double)sRotationY / 2048.0); if (byte_4D864C && pGame->uFlags & 0x80 || uCurrentlyLoadedLevelType == LEVEL_Indoor) { - fRotationXSine = sin((3.141592653589793 + 3.141592653589793) * (double)-sRotationX / 2048.0); - fRotationXCosine = cos((3.141592653589793 + 3.141592653589793) * (double)-sRotationX / 2048.0); + fRotationXSine = sin((pi_double + pi_double) * (double)-sRotationX / 2048.0); + fRotationXCosine = cos((pi_double + pi_double) * (double)-sRotationX / 2048.0); int_sine_y = stru_5C6E00->Sin( pGame->pIndoorCameraD3D->sRotationY); int_cosine_y = stru_5C6E00->Cos( pGame->pIndoorCameraD3D->sRotationY); @@ -1368,8 +1368,8 @@ } else { - fRotationXSine = sin((3.141592653589793 + 3.141592653589793) * (double)sRotationX / 2048.0); - fRotationXCosine = cos((3.141592653589793 + 3.141592653589793) * (double)sRotationX / 2048.0); + fRotationXSine = sin((pi_double + pi_double) * (double)sRotationX / 2048.0); + fRotationXCosine = cos((pi_double + pi_double) * (double)sRotationX / 2048.0); int_sine_y = stru_5C6E00->Sin(pGame->pIndoorCameraD3D->sRotationY); int_cosine_y = stru_5C6E00->Cos(pGame->pIndoorCameraD3D->sRotationY);
--- a/Engine/Graphics/Outdoor.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Graphics/Outdoor.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -520,7 +520,7 @@ return 3; case Tilset_Desert://на песке return 5; - case Tileset_3: + case Tileset_CooledLava: case Tileset_Dirt:// на грязи return 4; case Tileset_Water:// on water(на воде) @@ -962,10 +962,10 @@ //----- (0047CD44) -------------------------------------------------------- bool OutdoorLocationTerrain::Initialize() { - pHeightmap = (unsigned __int8 *)malloc(0x4000u);//height map - pTilemap = (unsigned __int8 *)malloc(0x4000u);//tile map - pAttributemap = (unsigned __int8 *)malloc(0x4000u);//карта атрибутов - pDmap = (struct DMap *)malloc(0x8000u); + pHeightmap = (unsigned __int8 *)malloc(0x4000);//height map + pTilemap = (unsigned __int8 *)malloc(0x4000);//tile map + pAttributemap = (unsigned __int8 *)malloc(0x4000);//карта атрибутов + pDmap = (struct DMap *)malloc(0x8000); if (pHeightmap && pTilemap && pAttributemap && pDmap ) return true; else @@ -991,7 +991,7 @@ this->uNumBModels = 0; this->pTileTypes[0].tileset = Tileset_Grass; this->pTileTypes[1].tileset = Tileset_Water; - this->pTileTypes[2].tileset = Tileset_6; + this->pTileTypes[2].tileset = Tileset_Badlands; this->pTileTypes[3].tileset = Tileset_RoadGrassCobble; this->LoadTileGroupIds(); this->LoadRoadTileset(); @@ -1070,154 +1070,14 @@ //----- (0047D0A6) -------------------------------------------------------- bool OutdoorLocation::Load(const char *pFilename, ODMFace *File, size_t pNumItems, int *thisa)//загрузка локации { - //OutdoorLocation *pOutdoorLocation; // esi@1 - /*bool result; // eax@9 - bool v7; // ebx@9 - size_t v8; // eax@10 - void *v9; // eax@10 - void *v10; // eax@10 - void *v11; // eax@10 - int v12; // ebx@11 - BSPModel *v13; // eax@12 - void *v14; // eax@12 - BSPModel *v15; // ecx@12 - void *v16; // eax@12 - BSPModel *v17; // ecx@12 - BSPModel *v18; // eax@12 - __int16 v19; // ax@15 - __int16 v20; // ax@16 - int v21; // ecx@16 - ODMFace *v22; // ebx@26 - SpriteObject *pItems; // ecx@27 - unsigned int v24; // eax@28 - //unsigned __int8 v25; // zf@28 - //unsigned __int8 v26; // sf@28 - ODMFace *v27; // eax@28 - const char *i; // edx@29 - unsigned __int16 v29; // ax@33 - unsigned __int16 v30; // ax@37 - int v31; // ecx@37 - int v32; // eax@38 - void *v33; // eax@38 - TileDesc *v34; // eax@43 - unsigned int v35; // eax@43 - unsigned int v36; // edi@43 - unsigned int v37; // edi@45*/ - //size_t v38; // eax@50 - FILE *v39; // eax@50 - //unsigned int v40; // edi@56 - //void *v41; // eax@56 - //void *v42; // ebx@56 - //const void *v43; // ebx@59 - //const void *v44; // ebx@59 - //unsigned int v45; // eax@59 - //BSPModel *v46; // eax@59 - //unsigned int v47; // ecx@59 - //int v48; // ebx@60 - //BSPModel *v49; // eax@61 - //BSPModel *v50; // eax@61 - //BSPModel *v51; // eax@61 - //BSPModel *v52; // eax@61 - //BSPModel *v53; // eax@61 - //BSPModel *v54; // ecx@61 - //BSPModel *v55; // ecx@61 - //BSPModel *v56; // ecx@61 - //void *v57; // ST24_4@61 - //BSPModel *v58; // ecx@61 - //void *v59; // ST18_4@61 - //BSPModel *v60; // eax@61 - //__int16 v61; // ax@64 + FILE *pFile; // eax@50 unsigned __int16 v62; // ax@65 - //ODMFace *v63; // ecx@65 - //unsigned __int16 v64; // ax@80 - //const char *v65; // ecx@80 - //int v66; // eax@81 - //void *v67; // eax@81 - //int v68; // ecx@81 - //void *v69; // eax@81 - //unsigned int v70; // eax@81 - //SpawnPointMM7 *v71; // eax@81 - //unsigned int v72; // ecx@81 - //size_t v73; // eax@81 - //int v74; // edi@87 - //void *v75; // edi@88 - //unsigned int v76; // edx@94 - //int v77; // ecx@94 - //char *v78; // eax@95 - //unsigned int v79; // edx@97 - //unsigned int v80; // eax@99 - //int v81; // eax@107 - //void *v82; // edi@114 - //size_t v83; // eax@120 - //const void *v84; // edi@120 - //const void *v85; // edi@120 - //BSPModel *v86; // eax@124 - //unsigned int v87; // eax@124 - //BSPModel *v88; // eax@126 - //BSPModel *v89; // eax@127 - //ODMFace *v90; // eax@129 - //const void *v91; // edi@138 - //const void *v92; // edi@141 - //const void *v93; // edi@141 - //const void *v94; // edi@144 - //const void *v95; // edi@144 - //const char *v96; // edi@147 - //unsigned int v97; // eax@147 - //TileDesc *v98; // eax@147 - //unsigned int v99; // eax@147 - //int v100; // ecx@150 - //unsigned int v101; // eax@157 -// int v102; // edi@159 - //void *v103; // [sp-14h] [bp-B94h]@55 - //void *v104; // [sp-10h] [bp-B90h]@59 - //size_t v105; // [sp-Ch] [bp-B8Ch]@59 - //char *v106; // [sp-8h] [bp-B88h]@59 -// int v107; // [sp-4h] [bp-B84h]@12 int v108; // [sp+0h] [bp-B80h]@10 char Src[968]; // [sp+10h] [bp-B70h]@110 char Dst[968]; // [sp+3D8h] [bp-7A8h]@50 char Str[256]; // [sp+7A0h] [bp-3E0h]@50 - /*char DstBuf; // [sp+8A0h] [bp-2E0h]@10 - __int32 Offset; // [sp+8A4h] [bp-2DCh]@10 - __int32 v114; // [sp+8B0h] [bp-2D0h]@10 - __int32 v115; // [sp+8BCh] [bp-2C4h]@10 - __int32 v116; // [sp+8C8h] [bp-2B8h]@10 - __int32 v117; // [sp+8D4h] [bp-2ACh]@10 - __int32 v118; // [sp+8E0h] [bp-2A0h]@10 - __int32 v119; // [sp+8ECh] [bp-294h]@10 - __int32 v120; // [sp+8F8h] [bp-288h]@10 - __int32 v121; // [sp+904h] [bp-27Ch]@10 - __int32 v122; // [sp+910h] [bp-270h]@10 - __int32 v123; // [sp+91Ch] [bp-264h]@10 - __int32 v124; // [sp+928h] [bp-258h]@26 - __int32 v125; // [sp+934h] [bp-24Ch]@35 - __int32 v126; // [sp+940h] [bp-240h]@38 - __int32 v127; // [sp+94Ch] [bp-234h]@38 - __int32 v128; // [sp+958h] [bp-228h]@38 - __int32 v129; // [sp+964h] [bp-21Ch]@38 - __int32 v130; // [sp+970h] [bp-210h]@38 - __int32 v131; // [sp+97Ch] [bp-204h]@38 - __int32 v132; // [sp+988h] [bp-1F8h]@38 - __int32 v133; // [sp+994h] [bp-1ECh]@38 - __int32 v134; // [sp+9A0h] [bp-1E0h]@38 - __int32 v135; // [sp+9ACh] [bp-1D4h]@38 - __int32 v136; // [sp+9D0h] [bp-1B0h]@10*/ - //char FileName[8]; // [sp+A20h] [bp-160h]@8 - //char v138; // [sp+A28h] [bp-158h]@12 - //int v139; // [sp+B1Ch] [bp-64h]@10 - //char pContainer[32]; // [sp+B20h] [bp-60h]@1 - //int *v141; // [sp+B40h] [bp-40h]@50 - //__int64 v142; // [sp+B44h] [bp-3Ch]@55 - //size_t pSource; // [sp+B4Ch] [bp-34h]@56 - //int v144; // [sp+B50h] [bp-30h]@61 - //int v145; // [sp+B54h] [bp-2Ch]@68 ODMHeader header; // [sp+B58h] [bp-28h]@50 - //unsigned int pDestLen; // [sp+B68h] [bp-18h]@13 - //FILE *ptr; // [sp+B6Ch] [bp-14h]@12 - //void *v149; // [sp+B70h] [bp-10h]@19 char *Str2; // [sp+B74h] [bp-Ch]@12 - //int v151; // [sp+B78h] [bp-8h]@59 - //void *uSourceLen; // [sp+B7Ch] [bp-4h]@59 //pOutdoorLocation = this; //strcpy(pContainer, pFilename); @@ -1528,7 +1388,7 @@ //v141 = &v139; //v38 = strlen(pFilename); //strcpy((char *)&v139 + v38, ".odm"); - v39 = pGames_LOD->FindContainer(Str, 1); + pFile = pGames_LOD->FindContainer(Str, true); //Str[strlen(Str) - 4] = 0; header.uCompressedSize = 0; @@ -1539,7 +1399,7 @@ header.pMagic[1] = 'v'; header.pMagic[2] = 'i'; header.pMagic[3] = 'i'; - fread(&header, 0x10u, 1u, v39); + fread(&header, 0x10, 1, pFile); if (header.uVersion != 91969 || header.pMagic[0] != 'm' || header.pMagic[1] != 'v' || @@ -1559,7 +1419,7 @@ if (header.uCompressedSize < header.uDecompressedSize) { char* pComressedSrc = (char *)malloc(header.uCompressedSize); - fread(pComressedSrc, header.uCompressedSize, 1, v39); + fread(pComressedSrc, header.uCompressedSize, 1, pFile); uint actualDecompressedSize = header.uDecompressedSize; zlib::MemUnzip(pSrc, &actualDecompressedSize, pComressedSrc, header.uCompressedSize); @@ -1567,7 +1427,7 @@ } else { - fread(pSrc, header.uDecompressedSize, 1, v39); + fread(pSrc, header.uDecompressedSize, 1, pFile); } memcpy(pLevelFilename, pSrc, 0x20); @@ -1582,43 +1442,38 @@ LoadTileGroupIds(); LoadRoadTileset(); strcpy(pGroundTileset, "grastyl"); - pGameLoadingUI_ProgressBar->Progress(); + + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки + + //*******************Terrain**************************// pTerrain.Initialize(); - //v108 = 16384; - //v107 = (int)v43; - //v106 = (char *)pTerrain.pHeightmap; - memcpy(pTerrain.pHeightmap, pSrc, 0x4000); + memcpy(pTerrain.pHeightmap, pSrc, 0x4000); //карта высот pSrc += 0x4000; - //v43 = (char *)v43 + 16384; - //v105 = 16384; - //v104 = (void *)v43; - //v103 = pTerrain.pTilemap; - memcpy(pTerrain.pTilemap, pSrc, 0x4000); + memcpy(pTerrain.pTilemap, pSrc, 0x4000); //карта тайлов pSrc += 0x4000; - //v43 = (char *)v43 + 16384; - memcpy(pTerrain.pAttributemap, pSrc, 0x4000); + memcpy(pTerrain.pAttributemap, pSrc, 0x4000); // карта аттрибутов pSrc += 0x4000; //v43 = (char *)v43 + 16384; //v108 = (int)ptr_D4; free(pCmap); pCmap = malloc(0x8000); - pTerrain.FillDMap(0, 0, 128, 128); - - pGameLoadingUI_ProgressBar->Progress(); - memcpy(&uNumTerrainNormals, pSrc, 4); - //v43 = (char *)v43 + 4; + pTerrain.FillDMap(0, 0, 128, 128); // + + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки + + memcpy(&uNumTerrainNormals, pSrc, 4); // количество нормалей memcpy(pTerrainSomeOtherData.data(), pSrc + 4, 0x20000); pSrc += 4 + 0x20000; //v43 = (char *)v43 + 131072; - memcpy(pTerrainNormalIndices.data(), pSrc, 0x10000); + memcpy(pTerrainNormalIndices.data(), pSrc, 0x10000); //индексы нормалей pSrc += 0x10000; //v43 = (char *)v43 + 65536; //pFilename = (char *)(12 * uNumTerrainNormals); - pTerrainNormals = (Vec3_float_ *)malloc(sizeof(Vec3_float_) * uNumTerrainNormals); + pTerrainNormals = (Vec3_float_ *)malloc(sizeof(Vec3_float_) * uNumTerrainNormals);//карта нормалей memcpy(pTerrainNormals, pSrc, 12 * uNumTerrainNormals); pSrc += 12 * uNumTerrainNormals; //v44 = (char *)v43 + (int)pFilename; @@ -1626,19 +1481,19 @@ //v45 = uNumBModels; //v108 = (int)"BDdata"; - pGameLoadingUI_ProgressBar->Progress(); - + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки + + //************BModels************************// //v107 = 188 * v45; //v106 = (char *)pBModels; //v46 = (BSPModel *)malloc(v106, 188 * v45, "BDdata"); //v47 = uNumBModels; - memcpy(&uNumBModels, pSrc, 4); + memcpy(&uNumBModels, pSrc, 4); //количество BModel'ей pBModels = (BSPModel *)malloc(188 * uNumBModels); - //pFilename = (char *)(188 * v47); - memcpy(pBModels, pSrc + 4, 188 * uNumBModels); + memcpy(pBModels, pSrc + 4, 188 * uNumBModels); //BModel'и pSrc += 4 + 188 * uNumBModels; - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки //uSourceLen = (char *)v44 + (int)pFilename; //v151 = 0; @@ -1787,8 +1642,9 @@ // goto LABEL_75; } //LABEL_75: - pGameLoadingUI_ProgressBar->Progress(); - + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки + + //******************Decorations**********************// memcpy(&uNumLevelDecorations, pSrc, 4); //uSourceLen = (char *)uSourceLen + 4; if (uNumLevelDecorations > 3000) @@ -1813,7 +1669,7 @@ pLevelDecorations[i].uDecorationDescID = pDecorationList->GetDecorIdByName(name); } - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки memcpy(&numFaceIDListElems, pSrc, 4); @@ -1833,7 +1689,7 @@ pSrc += 4 + faceIDListSize; //uSourceLen = (char *)uSourceLen + (int)pFilename; - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки //v108 = (int)pOMAP; //free((void *)v108); @@ -1851,7 +1707,7 @@ memcpy(&uNumSpawnPoints, pSrc, 4); //uSourceLen = (char *)uSourceLen + 4; - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки //v70 = uNumSpawnPoints; //v108 = (int)"Spawn"; //v107 = 24 * v70; @@ -1864,16 +1720,13 @@ memcpy(pSpawnPoints, pSrc + 4, spawnPointsSize); pSrc += 4 + spawnPointsSize; - pGameLoadingUI_ProgressBar->Progress(); - + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки + + //****************.ddm file*********************// free(pSrcMem); - - //v108 = (int)".ddm"; - //v73 = strlen(pContainer); strcpy(Str + strlen(Str) - 4, ".ddm"); - //strcpy((char *)v141 + v73, (const char *)v108); - v39 = pNew_LOD->FindContainer(Str, 1);//error - fread(&header, 0x10u, 1, v39); + pFile = pNew_LOD->FindContainer(Str, 1); + fread(&header, 0x10, 1, pFile); Str2 = 0; if (header.uVersion != 91969 || header.pMagic[0] != 'm' || @@ -1894,19 +1747,18 @@ pSrc = pSrcMem; //v149 = v75; if (header.uCompressedSize == header.uDecompressedSize) - fread(pSrc, header.uDecompressedSize, 1u, v39); + fread(pSrc, header.uDecompressedSize, 1, pFile); else if (header.uCompressedSize < header.uDecompressedSize) { void* compressedMem = malloc(header.uCompressedSize); - fread(compressedMem, header.uCompressedSize, 1, v39); + fread(compressedMem, header.uCompressedSize, 1, pFile); uint actualDecompressedSize = header.uDecompressedSize; zlib::MemUnzip(pSrc, &actualDecompressedSize, compressedMem, header.uCompressedSize); free(compressedMem); } else - MessageBoxW(nullptr, L"Can't load file!", - L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Odmap.cpp:765", 0); + MessageBoxW(nullptr, L"Can't load file!", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Odmap.cpp:765", 0); assert(sizeof(DDM_DLV_Header) == 0x28); memcpy(&ddm, pSrc, sizeof(DDM_DLV_Header)); @@ -1917,12 +1769,10 @@ for (uint i = 0; i < uNumBModels; ++i) actualNumFacesInLevel += pBModels[i].uNumFaces; - //v79 = ddm.uNumFacesInBModels; if (ddm.uNumFacesInBModels) { if ( ddm.uNumBModels ) { - //v80 = ddm.uNumDecorations; if (ddm.uNumDecorations) { if (ddm.uNumFacesInBModels != actualNumFacesInLevel || @@ -1941,17 +1791,14 @@ if (Str2) { - memset(Dst, 0, 0x3C8u); - memset(Src, 0, 0x3C8u); - //goto LABEL_112; + memset(Dst, 0, 0x3C8); + memset(Src, 0, 0x3C8); } - //v81 = ddm.uLastRepawnDay; if ((unsigned int)((char *)File - ddm.uLastRepawnDay) >= pNumItems || !ddm.uLastRepawnDay) { - memcpy(Dst, pSrc, 0x3C8u); - memcpy(Src, pSrc + 968, 0x3C8u); + memcpy(Dst, pSrc, 968); + memcpy(Src, pSrc + 968, 968); } - //LABEL_112: free(pSrcMem); ddm.uLastRepawnDay = (int)File; @@ -1959,19 +1806,19 @@ ++ddm.uNumRespawns; v108 = 0; *thisa = 1; - v39 = pGames_LOD->FindContainer(Str, 0); - fread(&header, 0x10, 1u, v39); + pFile = pGames_LOD->FindContainer(Str, 0); + fread(&header, 0x10, 1, pFile); //pFilename = (char *)header.uCompressedSize; //pDestLen = header.uDecompressedSize; //v82 = malloc(header.uDecompressedSize); pSrcMem = (unsigned char *)malloc(header.uDecompressedSize); //v149 = v82; if (header.uCompressedSize == header.uDecompressedSize) - fread(pSrcMem, header.uDecompressedSize, 1, v39); + fread(pSrcMem, header.uDecompressedSize, 1, pFile); else if (header.uCompressedSize < header.uDecompressedSize) { void* compressedMem = malloc(header.uCompressedSize); - fread(compressedMem, header.uCompressedSize, 1u, v39); + fread(compressedMem, header.uCompressedSize, 1, pFile); uint actualDecompressedSize = header.uDecompressedSize; zlib::MemUnzip(pSrcMem, &actualDecompressedSize, compressedMem, header.uCompressedSize); @@ -1981,26 +1828,19 @@ MessageBoxW(nullptr, L"Can't load file!", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Odmap.cpp:857", 0); pSrc = pSrcMem + 40; - //goto LABEL_120; } else *thisa = 0; -//LABEL_120: - //v108 = (int)".odm"; - //v83 = strlen(pContainer); - //strcpy((char *)v141 + v83, (const char *)v108); - memcpy(uFullyRevealedCellOnMap, pSrc, 0x3C8); - //v84 = (const void *)(v74 + 968); - memcpy(uPartiallyRevealedCellOnMap, pSrc + 0x3C8, 0x3C8); - pSrc += 2 * 0x3C8; - //v85 = (char *)v84 + 968; - - pGameLoadingUI_ProgressBar->Progress(); + memcpy(uFullyRevealedCellOnMap, pSrc, 968); + memcpy(uPartiallyRevealedCellOnMap, pSrc + 968, 968); + pSrc += 2 * 968; + + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки if ( *thisa ) { - memcpy(uFullyRevealedCellOnMap, Dst, 0x3C8u); - memcpy(uPartiallyRevealedCellOnMap, Src, 0x3C8u); + memcpy(uFullyRevealedCellOnMap, Dst, 968); + memcpy(uPartiallyRevealedCellOnMap, Src, 968); } for (uint i = 0; i < uNumBModels; ++i) @@ -2026,7 +1866,7 @@ } } - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки for (uint i = 0; i < uNumLevelDecorations; ++i) { @@ -2034,34 +1874,33 @@ pSrc += 2; } - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки memcpy(&uNumActors, pSrc, 4); if (uNumActors > 500) - MessageBoxW(nullptr, L"Can't load file!", - L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Odmap.cpp:939", 0); - - pGameLoadingUI_ProgressBar->Progress(); + MessageBoxW(nullptr, L"Can't load file!", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Odmap.cpp:939", 0); + + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки assert(sizeof(Actor) == 836); //pFilename = (char *)(836 * uNumActors); memcpy(pActors.data(), pSrc + 4, uNumActors * sizeof(Actor)); pSrc += 4 + uNumActors * sizeof(Actor); //v92 = (char *)v91 + (int)pFilename; - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки memcpy(&uNumSpriteObjects, pSrc, 4); assert(uNumSpriteObjects <= 1000 && "Too many objects"); assert(sizeof(SpriteObject) == 112); - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки //pFilename = (char *)(112 * uNumSpriteObjects); memcpy(pSpriteObjects.data(), pSrc + 4, uNumSpriteObjects * sizeof(SpriteObject)); pSrc += 4 + uNumSpriteObjects * sizeof(SpriteObject); //v94 = (char *)v93 + (int)pFilename; - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки memcpy(&uNumChests, pSrc, 4); //v95 = (char *)v94 + 4; @@ -2069,19 +1908,19 @@ MessageBoxW(nullptr, L"Can't load file!", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Odmap.cpp:968", 0); - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки assert(sizeof(Chest) == 5324); //pFilename = (char *)(5324 * uNumChests); memcpy(pChests.data(), pSrc + 4 , uNumChests * sizeof(Chest)); pSrc += 4 + uNumChests * sizeof(Chest); //v96 = (char *)v95 + (int)pFilename; - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки memcpy(&stru_5E4C90_MapPersistVars, pSrc, 0xC8); pSrc += 0xC8; - pGameLoadingUI_ProgressBar->Progress(); + pGameLoadingUI_ProgressBar->Progress(); //прогресс загрузки memcpy(&loc_time, pSrc, 0x38u); free(pSrcMem); @@ -2117,49 +1956,53 @@ else strcpy(loc_time.sky_texture_name, "plansky3"); + //New_SKY_NIGHT_ID = pBitmaps_LOD->LoadTexture("SKY13"); + //if (New_SKY_NIGHT_ID != -1) + // pBitmaps_LOD->pTextures[New_SKY_NIGHT_ID].palette_id2 = pPaletteManager->LoadPalette(pBitmaps_LOD->pTextures[New_SKY_NIGHT_ID].palette_id1); + //v101 = pBitmaps_LOD->LoadTexture(field_4F8); sSky_TextureID = pBitmaps_LOD->LoadTexture(loc_time.sky_texture_name); if (sSky_TextureID != -1) pBitmaps_LOD->pTextures[sSky_TextureID].palette_id2 = pPaletteManager->LoadPalette(pBitmaps_LOD->pTextures[sSky_TextureID].palette_id1); pPaletteManager->RecalculateAll(); - pSoundList->LoadSound(53, 0); - pSoundList->LoadSound(92, 0); - pSoundList->LoadSound(57, 0); - pSoundList->LoadSound(96, 0); - pSoundList->LoadSound(64, 0); - pSoundList->LoadSound(103, 0); + pSoundList->LoadSound(SOUND_RunDirt, 0); //For Dirt tyle(для звука хождения по грязи) + pSoundList->LoadSound(SOUND_WalkDirt, 0); //для бега + pSoundList->LoadSound(SOUND_RunRoad, 0); //для звука хождения по дороге + pSoundList->LoadSound(SOUND_WalkRoad, 0); + pSoundList->LoadSound(SOUND_RunWood, 0); //для звука хождения по дереву + pSoundList->LoadSound(SOUND_WalkWood, 0); for (int i=0; i < 3;++i) { switch ( pTileTypes[i].tileset ) { case Tileset_Grass: - pSoundList->LoadSound(54, 0); - pSoundList->LoadSound(93, 0); + pSoundList->LoadSound(SOUND_RunGrass, 0); //для звука хождения по траве + pSoundList->LoadSound(SOUND_WalkGrass, 0); break; case Tileset_Snow: - pSoundList->LoadSound(58, 0); - pSoundList->LoadSound(97, 0); + pSoundList->LoadSound(SOUND_RunSnow, 0); //по снегу + pSoundList->LoadSound(SOUND_WalkSnow, 0); break; case Tilset_Desert: - pSoundList->LoadSound(52, 0); - pSoundList->LoadSound(91, 0); + pSoundList->LoadSound(SOUND_RunDesert, 0); //по пустыне + pSoundList->LoadSound(SOUND_WalkDesert, 0); break; - case Tileset_3: - pSoundList->LoadSound(51, 0); - pSoundList->LoadSound(90, 0); + case Tileset_CooledLava: + pSoundList->LoadSound(SOUND_RunCooledLava, 0);//по лаве + pSoundList->LoadSound(SOUND_WalkCooledLava, 0); break; case Tileset_Water: - pSoundList->LoadSound(62, 0); - pSoundList->LoadSound(101, 0); + pSoundList->LoadSound(SOUND_RunWater, 0); //по воде + pSoundList->LoadSound(SOUND_WalkWater, 0); break; - case Tileset_6: - pSoundList->LoadSound(49, 0); - pSoundList->LoadSound(88, 0); + case Tileset_Badlands: + pSoundList->LoadSound(SOUND_RunBadlands, 0); //для звука ходьбы по бесплодным землям + pSoundList->LoadSound(SOUND_WalkBadlands, 0); break; case Tileset_Swamp: - pSoundList->LoadSound(61, 0); - pSoundList->LoadSound(100, 0); + pSoundList->LoadSound(SOUND_RunSwamp, 0); //по болоту + pSoundList->LoadSound(SOUND_WalkSwamp, 0); break; } } @@ -2177,7 +2020,7 @@ v3 = (a2 - 90) / 36; if ( v3 && v3 != 1 && v3 != 2 ) { - if ( v3 == Tileset_3 ) + if ( v3 == Tileset_CooledLava ) result = this->pTileTypes[3].uTileID; else result = a2; @@ -3121,15 +2964,10 @@ int v1; // edi@1 int v2; // ebx@1 int floor_level; // eax@14 - int v6; // esi@45 ODMFace *face; // ecx@45 - //signed int v33; // eax@143 int v34; // esi@143 int v35; // esi@147 int v36; // eax@155 -// signed int v37; // esi@159 -// signed int v38; // eax@159 -// signed int i; // esi@159 int v40; // esi@162 bool v42; // eax@180 signed int v43; // ecx@184 @@ -3144,15 +2982,11 @@ unsigned int v66; // esi@263 signed int v68; // ecx@263 int v69; // eax@263 -// unsigned int v76; // edi@293 bool v77; // edx@297 bool v78; // ecx@303 int v79; // ecx@314 __int16 v80; // dx@317 - //int v81; // ebx@318 - //int v82; // ecx@318 int pTerrainHeight; // eax@321 -// int v86; // [sp-20h] [bp-B4h]@246 int v87; // [sp-20h] [bp-B4h]@248 int v97; // [sp+Ch] [bp-88h]@180 Vec3_int_ v98; @@ -3172,10 +3006,11 @@ int _walk_speed; // [sp+54h] [bp-40h]@48 int pX; // [sp+58h] [bp-3Ch]@1 int pY; // [sp+5Ch] [bp-38h]@1 + int party_new_Z; // [sp+74h] [bp-20h]@1 int v118; // [sp+60h] [bp-34h]@1 int _angle_x; // [sp+68h] [bp-2Ch]@48 unsigned int v122; // [sp+70h] [bp-24h]@180 - int pZ; // [sp+74h] [bp-20h]@1 + bool party_walking_flag; // [sp+78h] [bp-1Ch]@1 int _angle_y; // [sp+7Ch] [bp-18h]@48 int v128; // [sp+88h] [bp-Ch]@1 @@ -3188,9 +3023,11 @@ int fall_speed = pParty->uFallSpeed; v128 = 0; v129 = 0; + pX = pParty->vPosition.x; pY = pParty->vPosition.y; - pZ = pParty->vPosition.z; + party_new_Z = pParty->vPosition.z; + v113 = pParty->field_6F0; hovering = false; bool partyAtHighSlope = IsTerrainSlopeTooHigh(pParty->vPosition.x, pParty->vPosition.y); @@ -3199,8 +3036,9 @@ v102 = 0; pModel_ = false; bWaterWalk = false; - - if (!pParty->FeatherFallActive())//Проверка падение пера + //************************************ + //Проверка падение пера + if (!pParty->FeatherFallActive()) { bFeatherFall = false; for (int i = 0; i < 4; ++i) @@ -3212,9 +3050,10 @@ } else bFeatherFall = true; - + //************************************ + //Проверка хождения по воде pParty->uFlags &= ~PARTY_FLAGS_1_STANDING_ON_WATER; - if (pParty->WaterWalkActive())//Проверка хождения по воде + if (pParty->WaterWalkActive()) { //LOBYTE(pParty->uFlags) &= 0x7Fu; bWaterWalk = true; @@ -3223,19 +3062,23 @@ pParty->pPlayers[pParty->pPartyBuffs[PARTY_BUFF_WATER_WALK].uCaster - 1].sMana <= 0 ) bWaterWalk = false; } - - int bmodel_standing_on_pid; - int is_on_water = false; - floor_level = ODM_GetFloorLevel(pX, pY, pZ, pParty->uPartyHeight, &is_on_water, &bmodel_standing_on_pid, bWaterWalk); - int is_not_on_bmodel = bmodel_standing_on_pid == 0; - - v111 = floor_level; - if ( bFeatherFall ) + //************************************* + //определение уровня пола + int bmodel_standing_on_pid; //данные 3D model'и + int is_on_water = false; //на воду + floor_level = ODM_GetFloorLevel(pX, pY, party_new_Z, pParty->uPartyHeight, &is_on_water, &bmodel_standing_on_pid, bWaterWalk); + int is_not_on_bmodel = bmodel_standing_on_pid == 0; //не на 3D model + + v111 = floor_level; //??? + //************************************ + //определение высоты падения + if ( bFeatherFall ) //падение пера pParty->uFallStartY = floor_level; else floor_level = pParty->uFallStartY; - - if ( floor_level - pZ > 512 && !bFeatherFall && pZ <= v111 + 1 )//падение на 3D Model + //************************************* + //падение на 3D Model + if ( floor_level - party_new_Z > 512 && !bFeatherFall && party_new_Z <= v111 + 1 ) { if (pParty->uFlags & PARTY_FLAGS_1_LANDING) pParty->uFlags &= ~PARTY_FLAGS_1_LANDING; @@ -3244,64 +3087,71 @@ if ( !pParty->pPlayers[i].HasEnchantedItemEquipped(72) && !pParty->pPlayers[i].WearsItem(ITEM_ARTIFACT_HERMES_SANDALS, EQUIP_BOOTS) ) { pParty->pPlayers[i].ReceiveDamage( - (signed int)((pParty->uFallStartY - pZ) * (unsigned __int64)(pParty->pPlayers[i].GetMaxHealth() / 10)) / 256, DMGT_PHISYCAL); + (signed int)((pParty->uFallStartY - party_new_Z) * (unsigned __int64)(pParty->pPlayers[i].GetMaxHealth() / 10)) / 256, DMGT_PHISYCAL); bonus = 20 - pParty->pPlayers[i].GetParameterBonus(pParty->pPlayers[i].GetActualEndurance()); pParty->pPlayers[i].SetRecoveryTime((signed __int64)((double)bonus * flt_6BE3A4_debug_recmod1 * 2.133333333333333)); } } } - + //********************************* + //определение высоты потолка ceiling_height = -1; - if ( pParty->bFlying ) - ceiling_height = GetCeilingHeight(pX, pY, pZ + pParty->uPartyHeight, (int)&v102);//высота потолка + if ( pParty->bFlying ) //в полёте + ceiling_height = GetCeilingHeight(pX, pY, party_new_Z + pParty->uPartyHeight, (int)&v102);//высота потолка //v107 = bmodel_standing_on_pid == 0; - on_ground = v111 + 1; - if ( pZ <= on_ground )//полёт: посадка + on_ground = v111 + 1; //на земле + //************************************** + + if ( party_new_Z <= on_ground )//полёт: посадка { ceiling_height = -1; pParty->bFlying = false; } else hovering = true; - not_high_fall = pZ - v111 <= 32; - - if ( bWalkSound && pParty->walk_sound_timer)//timer update + not_high_fall = party_new_Z - v111 <= 32; + //**************************************** + //timer update(обновить таймер звука ходьбы) + if ( bWalkSound && pParty->walk_sound_timer) { if (pParty->walk_sound_timer >= pEventTimer->uTimeElapsed) pParty->walk_sound_timer -= pEventTimer->uTimeElapsed; else pParty->walk_sound_timer = 0; } - - if (!bUnderwater && pParty->pPartyBuffs[PARTY_BUFF_FLY].uExpireTime <= 0)// конец действия полёта + //**************************************** + // конец действия полёта + if (!bUnderwater && pParty->pPartyBuffs[PARTY_BUFF_FLY].uExpireTime <= 0)//не под водой и время закла полёта закончилось pParty->bFlying = false; - - if (!hovering)// + //***************************************** + // установить на чём стоит группа + if (!hovering)//не в воздухе { if ( pParty->floor_face_pid != PID(OBJECT_BModel, bmodel_standing_on_pid) ) { if (bmodel_standing_on_pid) { - if ( (bmodel_standing_on_pid >> 6) < pOutdoor->uNumBModels ) + int BModel_id = bmodel_standing_on_pid >> 6; + if ( BModel_id < pOutdoor->uNumBModels ) { - face = pOutdoor->pBModels[bmodel_standing_on_pid >> 6].pFaces; - v6 = bmodel_standing_on_pid & 0x3F; + face = pOutdoor->pBModels[BModel_id].pFaces; + int face_id = bmodel_standing_on_pid & 0x3F; /*if ( *(char *)(v7->pFacePlane.vNormal.x + 308 * v6 + 31) & 4 ) { pParty->field_6F4_packedid = PID(OBJECT_BModel,v108); v103 = *(short *)(v7->pFacePlane.vNormal.x + 308 * v6 + 292); }*/ - if ( face[v6].uAttributes & FACE_PRESSURE_PLATE ) + if ( face[face_id].uAttributes & FACE_PRESSURE_PLATE ) { pParty->floor_face_pid = PID(OBJECT_BModel, bmodel_standing_on_pid); - trigger_id = face[v6].sCogTriggeredID; // + trigger_id = face[face_id].sCogTriggeredID; //EVT, панель имеет событие } } } } - pParty->floor_face_pid = PID(OBJECT_BModel, bmodel_standing_on_pid); + pParty->floor_face_pid = PID(OBJECT_BModel, bmodel_standing_on_pid);//6 - на земле } - + //*********************************************** _walk_speed = pParty->uWalkSpeed; _angle_y = pParty->sRotationY; _angle_x = pParty->sRotationX; @@ -3328,28 +3178,28 @@ extern int max_flight_height; if ( pParty->vPosition.z < max_flight_height || hovering ) { - pZ += 30; + party_new_Z += 30; v113 += 30; pParty->bFlying = true; - if ( pZ > max_flight_height ) + if ( party_new_Z > max_flight_height ) { - pZ = max_flight_height; + party_new_Z = max_flight_height; v113 = max_flight_height; } v1 = 0; v2 = 0; fall_speed = 0; *(float *)&v128 = 0.0; - if ( v102 && pZ < ceiling_height && (signed int)(pParty->uPartyHeight + pZ) >= ceiling_height )//столкновение с потолком + if ( v102 && party_new_Z < ceiling_height && (signed int)(pParty->uPartyHeight + party_new_Z) >= ceiling_height )//столкновение с потолком { pParty->field_6E0 = 0; pParty->field_6E4 = 0; pPartyActionQueue->uNumActions = 0; pParty->uFlags |= PARTY_FLAGS_1_LANDING; pParty->vPosition.z = ceiling_height - pParty->uPartyHeight - 31; - pParty->field_6F0 = pZ; + pParty->field_6F0 = party_new_Z; pParty->bFlying = false; - pZ = ceiling_height - pParty->uPartyHeight - 31; + party_new_Z = ceiling_height - pParty->uPartyHeight - 31; v113 = pParty->field_6F0; } pParty->uFallSpeed = 0; @@ -3367,13 +3217,13 @@ || pParty->pPartyBuffs[PARTY_BUFF_FLY].uFlags & 1 || pParty->pPlayers[pParty->pPartyBuffs[PARTY_BUFF_FLY].uCaster - 1].sMana > 0 )//*(int *)&pParty->pArtifactsFound[6972 * pParty->pPartyBuffs[PARTY_BUFF_FLY].uCaster + 10] > 0 ) { - pZ -= 30; + party_new_Z -= 30; v113 -= 30; pParty->uFallSpeed = 0; fall_speed = 0; pParty->bFlying = true; pModel_ = true; - if ( pZ <= v111 ) + if ( party_new_Z <= v111 ) { pParty->bFlying = false; pPartyActionQueue->uNumActions = 0; @@ -3382,7 +3232,7 @@ } break; - case PARTY_TurnLeft: + case PARTY_TurnLeft://поворот влево if (uTurnSpeed) _angle_y += uTurnSpeed; //descrete turn else @@ -3391,7 +3241,7 @@ _angle_y &= stru_5C6E00->uDoublePiMask; break; - case PARTY_TurnRight: + case PARTY_TurnRight://поворот вправо if (uTurnSpeed) _angle_y -= uTurnSpeed; else @@ -3400,7 +3250,7 @@ _angle_y &= stru_5C6E00->uDoublePiMask; break; - case PARTY_FastTurnLeft: + case PARTY_FastTurnLeft://быстрый поворот влево if (uTurnSpeed) _angle_y += uTurnSpeed; else @@ -3409,7 +3259,7 @@ _angle_y &= stru_5C6E00->uDoublePiMask; break; - case PARTY_FastTurnRight: + case PARTY_FastTurnRight://быстрый поворот вправо if (!uTurnSpeed) _angle_y -= 2.0f * fTurnSpeedMultiplier * (double)dturn; else @@ -3422,11 +3272,11 @@ { *(float *)&v128 = pParty->uWalkSpeed; - float sin_y = sinf(2 * 3.141592653589 * _angle_y / 2048.0); + float sin_y = sinf(2 * pi_double * _angle_y / 2048.0); int dx = sin_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; v2 -= 3 * dx / 4; - float cos_y = cosf(2 * 3.141592653589 * _angle_y / 2048.0); + float cos_y = cosf(2 * pi_double * _angle_y / 2048.0); int dy = cos_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; v1 += 3 * dy / 4; @@ -3439,11 +3289,11 @@ { *(float *)&v128 = pParty->uWalkSpeed; - float sin_y = sinf(2 * 3.141592653589 * _angle_y / 2048.0); + float sin_y = sinf(2 * pi_double * _angle_y / 2048.0); int dx = sin_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; v2 += 3 * dx / 4; - float cos_y = cosf(2 * 3.141592653589 * _angle_y / 2048.0); + float cos_y = cosf(2 * pi_double * _angle_y / 2048.0); int dy = cos_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; v1 -= 3 * dy / 4; @@ -3456,8 +3306,8 @@ { *(float *)&v128 = _walk_speed; - float sin_y = sinf(2 * 3.141592653589 * _angle_y / 2048.0), - cos_y = cosf(2 * 3.141592653589 * _angle_y / 2048.0); + float sin_y = sinf(2 * pi_double * _angle_y / 2048.0), + cos_y = cosf(2 * pi_double * _angle_y / 2048.0); int dx = cos_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; int dy = sin_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; @@ -3482,8 +3332,8 @@ { *(float *)&v128 = _walk_speed; - float sin_y = sinf(2 * 3.141592653589 * _angle_y / 2048.0); - float cos_y = cosf(2 * 3.141592653589 * _angle_y / 2048.0); + float sin_y = sinf(2 * pi_double * _angle_y / 2048.0); + float cos_y = cosf(2 * pi_double * _angle_y / 2048.0); int dx = cos_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; int dy = sin_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; @@ -3616,27 +3466,27 @@ if ( pParty->bFlying ) { v129 = fixpoint_mul(4, stru_5C6E00->Cos(GetTickCount())); - pZ = v113 + v129; + party_new_Z = v113 + v129; if ( pModel_ ) - pZ = v113; + party_new_Z = v113; if (pParty->FlyActive()) stru_5E4C90_MapPersistVars._decor_events[20 * pParty->pPartyBuffs[PARTY_BUFF_FLY].uOverlayID + 119] &= 0xFE; - pParty->uFallStartY = pZ; + pParty->uFallStartY = party_new_Z; } - else if ( pZ < v111 ) + else if ( party_new_Z < v111 ) { if ( is_on_water && fall_speed ) SpriteObject::sub_42F960_create_object(pX, pY, v111); fall_speed = 0; - pZ = v111; + party_new_Z = v111; pParty->uFallStartY = v111; - v113 = pZ; + v113 = party_new_Z; if (pParty->FlyActive()) stru_5E4C90_MapPersistVars._decor_events[20 * pParty->pPartyBuffs[PARTY_BUFF_FLY].uOverlayID + 119] |= 1; } else { - v113 = pZ; + v113 = party_new_Z; if (pParty->FlyActive()) stru_5E4C90_MapPersistVars._decor_events[20 * pParty->pPartyBuffs[PARTY_BUFF_FLY].uOverlayID + 119] |= 1; } @@ -3656,7 +3506,7 @@ // rolling down the hill // how it's done: you get a little bit pushed in the air along terrain normal, getting in the air // and falling to the gravity, gradually sliding downwards. nice trick - pZ = v111; + party_new_Z = v111; ODM_GetTerrainNormalAt(pX, pY, &v98); v35 = fall_speed + (8 * -(pEventTimer->uTimeElapsed * GetGravityStrength())); v129 = abs(v2 * v98.x + v1 * v98.y + v35 * v98.z) >> 16; @@ -3687,7 +3537,7 @@ } } else - pParty->uFallStartY = pZ; + pParty->uFallStartY = party_new_Z; if ( v2 * v2 + v1 * v1 < 400 && !partyAtHighSlope ) { @@ -3705,11 +3555,11 @@ { stru_721530.position.x = pX; stru_721530.position.y = pY; - stru_721530.position.z = stru_721530.height + pZ + 1; + stru_721530.position.z = stru_721530.height + party_new_Z + 1; stru_721530.normal.x = pX; stru_721530.normal.y = pY; - stru_721530.normal.z = stru_721530.prolly_normal_d + pZ + 1; + stru_721530.normal.z = stru_721530.prolly_normal_d + party_new_Z + 1; stru_721530.velocity.x = v2; stru_721530.velocity.y = v128; @@ -3739,7 +3589,7 @@ _angle_x = pX + fixpoint_mul(stru_721530.field_7C, stru_721530.direction.x); _angle_y = pY + fixpoint_mul(stru_721530.field_7C, stru_721530.direction.y); //pModel = (BSPModel *)fixpoint_mul(stru_721530.field_7C, stru_721530.direction.z); - v40 = fixpoint_mul(stru_721530.field_7C, stru_721530.direction.z) + pZ; + v40 = fixpoint_mul(stru_721530.field_7C, stru_721530.direction.z) + party_new_Z; } v122 = v40; ODM_GetFloorLevel(_angle_x, _angle_y, v40, pParty->uPartyHeight, &is_on_water, &bmodel_standing_on_pid, 0); @@ -3761,9 +3611,9 @@ } else { - if ( v42_ && v129 > pZ ) + if ( v42_ && v129 > party_new_Z ) v44 = 0; - if ( v42 && v119 > pZ ) + if ( v42 && v119 > party_new_Z ) v43 = 0; if ( v44 ) { @@ -3776,7 +3626,7 @@ else { int new_ = ODM_GetFloorLevel(_angle_x, _angle_y, v40, pParty->uPartyHeight, &is_on_water, &bmodel_standing_on_pid, 0); - if ( IsTerrainSlopeTooHigh(_angle_x, _angle_y) && new_ <= pZ ) + if ( IsTerrainSlopeTooHigh(_angle_x, _angle_y) && new_ <= party_new_Z ) { v43 = 1; pX = _angle_x; @@ -3792,14 +3642,14 @@ pX = stru_721530.normal2.x; pY = stru_721530.normal2.y; } - pZ = stru_721530.normal2.z - stru_721530.prolly_normal_d - 1; + party_new_Z = stru_721530.normal2.z - stru_721530.prolly_normal_d - 1; break; } stru_721530.field_70 += stru_721530.field_7C; pX = _angle_x; pY = _angle_y; v45 = stru_721530.uFaceID; - pZ = v40; + party_new_Z = v40; if ( PID_TYPE(stru_721530.uFaceID) == OBJECT_Actor) { @@ -3831,7 +3681,7 @@ { if ( fall_speed < 0 ) fall_speed = 0; - pZ = pModel->pVertices.pVertices[pODMFace->pVertexIDs[0]].z + 1; + party_new_Z = pModel->pVertices.pVertices[pODMFace->pVertexIDs[0]].z + 1; if ( v2 * v2 + v128 * v128 < 400 ) { v2 = 0; @@ -3862,7 +3712,7 @@ pX = _angle_x + fixpoint_mul(pODMFace->pFacePlane.vNormal.x, v55); pY = _angle_y + fixpoint_mul(pODMFace->pFacePlane.vNormal.y, v55); if ( !v119 ) - pZ = v122 + fixpoint_mul(pODMFace->pFacePlane.vNormal.z, v55); + party_new_Z = v122 + fixpoint_mul(pODMFace->pFacePlane.vNormal.z, v55); } if ( pParty->floor_face_pid != stru_721530.uFaceID && pODMFace->Pressure_Plate() ) { @@ -3904,7 +3754,7 @@ //Воспроизведение звуков ходьбы/бега------------------------ uint pX_ = abs(pParty->vPosition.x - pX); uint pY_ = abs(pParty->vPosition.y - pY); - uint pZ_ = abs(pParty->vPosition.z - pZ); + uint pZ_ = abs(pParty->vPosition.z - party_new_Z); if ( bWalkSound && pParty->walk_sound_timer <= 0 ) { pAudioPlayer->_4AA258(804);//stop sound @@ -3913,7 +3763,7 @@ if ( integer_sqrt(pX_ * pX_ + pY_ * pY_ + pZ_ * pZ_) >= 16 ) { if ( !is_not_on_bmodel && pOutdoor->pBModels[pParty->floor_face_pid >> 9].pFaces[(pParty->floor_face_pid >> 3) & 0x3F].Visible() ) - pAudioPlayer->PlaySound(SOUND_RunAlong3DModel, 804, 1, -1, 0, 0, 0, 0);//бег на 3D Modelи + pAudioPlayer->PlaySound(SOUND_RunWood, 804, 1, -1, 0, 0, 0, 0);//бег на 3D Modelи else { v87 = pOutdoor->GetSoundIdByPosition(WorldPosToGridCellX(pParty->vPosition.x), WorldPosToGridCellZ(pParty->vPosition.y) - 1, 1); @@ -3927,7 +3777,7 @@ if ( integer_sqrt(pX_ * pX_ + pY_ * pY_ + pZ_ * pZ_) >= 8 ) { if ( !is_not_on_bmodel && pOutdoor->pBModels[pParty->floor_face_pid >> 9].pFaces[(pParty->floor_face_pid >> 3) & 0x3F].Visible() ) - pAudioPlayer->PlaySound(SOUND_WalkAlong3DModel, 804, 1, -1, 0, 0, 0, 0);// хождение на 3D Modelи + pAudioPlayer->PlaySound(SOUND_WalkWood, 804, 1, -1, 0, 0, 0, 0);// хождение на 3D Modelи else { v87 = pOutdoor->GetSoundIdByPosition(WorldPosToGridCellX(pParty->vPosition.x), WorldPosToGridCellZ(pParty->vPosition.y) - 1, 0); @@ -3962,12 +3812,12 @@ { pParty->vPosition.x = pX; pParty->vPosition.y = pY; - pParty->vPosition.z = pZ; + pParty->vPosition.z = party_new_Z; pParty->field_6F0 = v113; pParty->uFallSpeed = fall_speed; - if ( pZ > 8160 ) //ограничение высоты + if ( party_new_Z > 8160 ) //ограничение высоты { - pZ = 8160; + party_new_Z = 8160; pParty->uFallStartY = 8160; pParty->vPosition.z = 8160; } @@ -3976,14 +3826,15 @@ || (EventProcessor(trigger_id, 0, 1), pParty->vPosition.x == pX) && pParty->vPosition.y == pY - && pParty->vPosition.z == pZ ) + && pParty->vPosition.z == party_new_Z ) { if ( pParty->vPosition.z < v111 ) { pParty->uFallSpeed = 0; //v73 = v105; pParty->vPosition.z = on_ground; - if ( pParty->uFallStartY - pZ > 512 && !bFeatherFall && pZ <= on_ground && !bUnderwater )//Fall to the ground(падение на землю с высоты) + if ( pParty->uFallStartY - party_new_Z > 512 && !bFeatherFall + && party_new_Z <= on_ground && !bUnderwater )//Fall to the ground(падение на землю с высоты) { if ( pParty->uFlags & PARTY_FLAGS_1_LANDING ) pParty->uFlags &= ~PARTY_FLAGS_1_LANDING; @@ -3991,7 +3842,7 @@ { for ( uint i = 1; i <= 4; ++i ) { - pPlayers[i]->ReceiveDamage((signed int)((pParty->uFallStartY - pZ) * (unsigned __int64)(signed __int64)((double)pPlayers[i]->GetMaxHealth() * 0.1)) / 256, + pPlayers[i]->ReceiveDamage((signed int)((pParty->uFallStartY - party_new_Z) * (unsigned __int64)(signed __int64)((double)pPlayers[i]->GetMaxHealth() * 0.1)) / 256, DMGT_PHISYCAL); v110 = 20 - pPlayers[i]->GetParameterBonus(pPlayers[i]->GetActualEndurance()); pPlayers[i]->SetRecoveryTime((signed __int64)((double)v110 * flt_6BE3A4_debug_recmod1 * 2.133333333333333)); @@ -3999,7 +3850,7 @@ //v73 = pParty->vPosition.z; } } - pParty->uFallStartY = pZ; + pParty->uFallStartY = party_new_Z; } if ( v102 && pParty->vPosition.z < ceiling_height ) { @@ -4066,8 +3917,8 @@ //v81 = pZ; //v82 = pZ; - pParty->vPosition.z = pZ; - if ( pZ > 8160 )//опять ограничение высоты + pParty->vPosition.z = party_new_Z; + if ( party_new_Z > 8160 )//опять ограничение высоты { //v82 = 8160; pParty->uFallStartY = 8160; @@ -4087,14 +3938,15 @@ || (EventProcessor(trigger_id, 0, 1), pParty->vPosition.x == pX) && pParty->vPosition.y == pY - && pParty->vPosition.z == pZ ) + && pParty->vPosition.z == party_new_Z ) { if ( pParty->vPosition.z < v111 ) { //v82 = on_ground; pParty->uFallSpeed = 0; pParty->vPosition.z = on_ground; - if ( pParty->uFallStartY - pZ > 512 && !bFeatherFall && pZ <= on_ground && !bUnderwater )//Fall to the water(падение на воду с высоты) + if ( pParty->uFallStartY - party_new_Z > 512 + && !bFeatherFall && party_new_Z <= on_ground && !bUnderwater )//Fall to the water(падение на воду с высоты) { if ( pParty->uFlags & PARTY_FLAGS_1_LANDING ) pParty->uFlags &= ~PARTY_FLAGS_1_LANDING; @@ -4103,7 +3955,7 @@ for ( uint i = 1; i <= 4; ++i ) { v110 = pPlayers[i]->GetMaxHealth(); - pPlayers[i]->ReceiveDamage((signed int)((pParty->uFallStartY - pZ) * (unsigned __int64)(signed __int64)((double)v110 * 0.1)) / 256, + pPlayers[i]->ReceiveDamage((signed int)((pParty->uFallStartY - party_new_Z) * (unsigned __int64)(signed __int64)((double)v110 * 0.1)) / 256, DMGT_PHISYCAL); v110 = 20 - pPlayers[i]->GetParameterBonus(pPlayers[i]->GetActualEndurance()); pPlayers[i]->SetRecoveryTime((signed __int64)((double)v110 * flt_6BE3A4_debug_recmod1 * 2.133333333333333)); @@ -4111,7 +3963,7 @@ //v82 = pParty->vPosition.z; } } - pParty->uFallStartY = pZ; + pParty->uFallStartY = party_new_Z; } if ( v102 && pParty->vPosition.z < ceiling_height && (signed int)(pParty->uPartyHeight + pParty->vPosition.z) >= ceiling_height ) {
--- a/Engine/Graphics/Outdoor.h Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Graphics/Outdoor.h Mon Feb 09 19:17:12 2015 +0600 @@ -127,13 +127,12 @@ #pragma pack(pop) - #pragma pack(push, 1) struct OutdoorLocation { OutdoorLocation(); void subconstuctor(); - + //int New_SKY_NIGHT_ID; void ExecDraw(unsigned int bRedraw); void PrepareActorsDrawList(); void CreateDebugLocation();
--- a/Engine/Graphics/Render.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Graphics/Render.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -8641,8 +8641,12 @@ - (double)pGame->pIndoorCameraD3D->vPartyPos.z)); pSkyPolygon.Create_48607B(&stru_8019C8);//заполняется ptr_38 pSkyPolygon.ptr_38->_48694B_frustum_sky(); - pSkyPolygon.uTileBitmapID = pOutdoor->sSky_TextureID;//179(original 166) - pSkyPolygon.pTexture = (Texture *)(SLOWORD(pOutdoor->sSky_TextureID) != -1 ? (int)&pBitmaps_LOD->pTextures[SLOWORD(pOutdoor->sSky_TextureID)] : 0); + + //if ( pParty->uCurrentHour > 20 || pParty->uCurrentHour < 5 ) + //pSkyPolygon.uTileBitmapID = pOutdoor->New_SKY_NIGHT_ID; + //else + pSkyPolygon.uTileBitmapID = pOutdoor->sSky_TextureID;//179(original 166) + pSkyPolygon.pTexture = (Texture *)(pSkyPolygon.uTileBitmapID != -1 ? (int)&pBitmaps_LOD->pTextures[pSkyPolygon.uTileBitmapID] : 0); if ( pSkyPolygon.pTexture ) { pSkyPolygon.dimming_level = 0; @@ -10958,8 +10962,8 @@ float ray_dx = fov_x / (float)pViewport->uScreenWidth, ray_dy = fov_y / (float)pViewport->uScreenHeight; - float party_angle_x = 2 * 3.141592653589 * pParty->sRotationX / 2048.0, - party_angle_y = 2 * 3.141592653589 * pParty->sRotationY / 2048.0; + float party_angle_x = 2 * pi_double * pParty->sRotationX / 2048.0, + party_angle_y = 2 * pi_double * pParty->sRotationY / 2048.0; for (int y = 0; y < pViewport->uScreenHeight; ++y) for (int x = 0; x < pViewport->uScreenWidth; ++x) {
--- a/Engine/Objects/Actor.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Objects/Actor.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -332,7 +332,7 @@ actorPtr->pActorBuffs[ACTOR_BUFF_HASTE].Apply(pParty->uTimePlayed + (signed int)(signed __int64)((double)(v39 << 7) * 0.033333335), masteryLevel, 0, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr, 0xFF3C1Eu); - pAudioPlayer->PlaySound((SoundID)10040, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_Haste, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_FIRE_METEOR_SHOWER: @@ -479,7 +479,7 @@ pParty->uTimePlayed + (signed int)(signed __int64)((double)(v44 << 7) * 0.033333335), masteryLevel, realPoints + 5, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr,0x5C310Eu); - pAudioPlayer->PlaySound((SoundID)13040, PID(OBJECT_Actor,uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_Stoneskin, PID(OBJECT_Actor,uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_SPIRIT_BLESS: @@ -495,7 +495,7 @@ pParty->uTimePlayed + (signed int)(signed __int64)((double)(v42 << 7) * 0.033333335), masteryLevel, realPoints + 5, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr,0xC8C805u); - pAudioPlayer->PlaySound((SoundID)14010, PID(OBJECT_Actor,uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_Bless, PID(OBJECT_Actor,uActorID), 0, -1, 0, 0, 0, 0); return; break; @@ -510,7 +510,7 @@ v48 = 0; actorPtr->pActorBuffs[ACTOR_BUFF_FATE].Apply(pParty->uTimePlayed + 1280, masteryLevel, v48, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr,0xC8C805u); - pAudioPlayer->PlaySound((SoundID)14020, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_Fate, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_SPIRIT_HEROISM: @@ -526,7 +526,7 @@ pParty->uTimePlayed + (signed int)(signed __int64)((double)(v54 << 7) * 0.033333335), masteryLevel, realPoints + 5, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr,0xC8C805u); - pAudioPlayer->PlaySound((SoundID)14060, PID(OBJECT_Actor,uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_51heroism03, PID(OBJECT_Actor,uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_BODY_HAMMERHANDS: @@ -541,7 +541,7 @@ 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr, 0xA81376u); - pAudioPlayer->PlaySound((SoundID)16060, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_51heroism03, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_BODY_POWER_CURE: @@ -549,7 +549,7 @@ if ( actorPtr->sCurrentHP >= (signed int)actorPtr->pMonsterInfo.uHP ) actorPtr->sCurrentHP = LOWORD(actorPtr->pMonsterInfo.uHP); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr, 0xA81376u); - pAudioPlayer->PlaySound((SoundID)14020, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_Fate, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_LIGHT_DISPEL_MAGIC: @@ -592,7 +592,7 @@ pParty->uTimePlayed + (signed int)(signed __int64)((double)(v96 << 7) * 0.033333335), masteryLevel, realPoints, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr, 0xFFFFFFu); - pAudioPlayer->PlaySound((SoundID)17070, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_94dayofprotection03, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_LIGHT_HOUR_OF_POWER: @@ -608,7 +608,7 @@ pParty->uTimePlayed + (signed int)(signed __int64)((double)(v94 << 7) * 0.033333335), masteryLevel, realPoints + 5, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr, 0xFFFFFFu); - pAudioPlayer->PlaySound((SoundID)17080, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_9armageddon01, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); return; case SPELL_DARK_SHARPMETAL: @@ -674,7 +674,7 @@ pParty->uTimePlayed + (signed int)(signed __int64)((double)(v68 << 7) * 0.033333335), masteryLevel, 0, 0, 0); pGame->pStru6Instance->_4A7E89_sparkles_on_actor_after_it_casts_buff(actorPtr,0x7E7E7Eu); - pAudioPlayer->PlaySound((SoundID)18060, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_Sacrifice2, PID(OBJECT_Actor, uActorID), 0, -1, 0, 0, 0, 0); return; } }
--- a/Engine/Objects/Chest.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Objects/Chest.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -163,7 +163,7 @@ pSpellObject.spell_target_pid = 0; pSpellObject.uFacing = 0; pSpellObject.Create(0, 0, 0, 0); - pAudioPlayer->PlaySound(SOUND_Explosion, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, 0, 0, -1, 0, 0, 0, 0); pSpellObject.ExplosionTraps(); chest->uFlags &= 0xFEu; if ( uActiveCharacter && !_A750D8_player_speech_timer && !OpenedTelekinesis ) @@ -180,7 +180,7 @@ flag_shout = true; } pAudioPlayer->StopChannels(-1, -1); - pAudioPlayer->PlaySound(SOUND_OpenChest, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openchest0101, 0, 0, -1, 0, 0, 0, 0); if ( flag_shout == true ) { if ( !OpenedTelekinesis )
--- a/Engine/Objects/NPC.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Objects/NPC.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -1682,14 +1682,14 @@ if (uCurrentlyLoadedLevelType == LEVEL_Indoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[494], 2);//Нельзя применить знание Полет в помещении! - pAudioPlayer->PlaySound(SOUND_203, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fizzle, 0, 0, -1, 0, 0, 0, 0); } else { int v19 = pOtherOverlayList->_4418B1(10008, 203, 0, 65536); pParty->pPartyBuffs[PARTY_BUFF_FLY].Apply(pParty->uTimePlayed + 60 * (256 * 2), 3, 1, v19, 0); pParty->pPartyBuffs[PARTY_BUFF_FLY].uFlags |= 1; - pAudioPlayer->PlaySound(SOUND_11090, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_21fly03, 0, 0, -1, 0, 0, 0, 0); } } break; @@ -1699,7 +1699,7 @@ int v20 = pOtherOverlayList->_4418B1(10005, 201, 0, 65536); pParty->pPartyBuffs[PARTY_BUFF_WATER_WALK].Apply(pParty->uTimePlayed + 60 * (256 * (2 + 1)), 3, 0, v20, 0); pParty->pPartyBuffs[PARTY_BUFF_WATER_WALK].uFlags |= 1; - pAudioPlayer->PlaySound(SOUND_12040, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_WaterWalk, 0, 0, -1, 0, 0, 0, 0); } break;
--- a/Engine/Objects/Player.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Objects/Player.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -235,7 +235,7 @@ return true; } - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); return false; } @@ -2313,97 +2313,97 @@ { case SPECIAL_ATTACK_CURSE: SetCondition(Condition_Cursed, 1); - pAudioPlayer->PlaySound(SOUND_221, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_star1, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_WEAK: SetCondition(Condition_Weak, 1); - pAudioPlayer->PlaySound(SOUND_221, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star1, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_SLEEP: SetCondition(Condition_Sleep, 1); - pAudioPlayer->PlaySound(SOUND_221, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star1, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_DRUNK: SetCondition(Condition_Drunk, 1); - pAudioPlayer->PlaySound(SOUND_221, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star1, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_INSANE: SetCondition(Condition_Insane, 1); - pAudioPlayer->PlaySound(SOUND_224, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star4, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_POISON_WEAK: SetCondition(Condition_Poison_Weak, 1); - pAudioPlayer->PlaySound(SOUND_222, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star2, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_POISON_MEDIUM: SetCondition(Condition_Poison_Medium, 1); - pAudioPlayer->PlaySound(SOUND_222, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star2, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_POISON_SEVERE: SetCondition(Condition_Poison_Severe, 1); - pAudioPlayer->PlaySound(SOUND_222, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star2, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_DISEASE_WEAK: SetCondition(Condition_Disease_Weak, 1); - pAudioPlayer->PlaySound(SOUND_222, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star2, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_DISEASE_MEDIUM: SetCondition(Condition_Disease_Medium, 1); - pAudioPlayer->PlaySound(SOUND_222, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star2, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_DISEASE_SEVERE: SetCondition(Condition_Disease_Severe, 1); - pAudioPlayer->PlaySound(SOUND_222, 0, 0, -1, 0, 0, 0, 0); - pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); + pAudioPlayer->PlaySound(SOUND_star2, 0, 0, -1, 0, 0, 0, 0); + pGame->pStru6Instance->SetPlayerBuffAnim(0x99, v3); return 1; break; case SPECIAL_ATTACK_PARALYZED: SetCondition(Condition_Paralyzed, 1); - pAudioPlayer->PlaySound(SOUND_224, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_star4, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_UNCONSCIOUS: SetCondition(Condition_Unconcious, 1); - pAudioPlayer->PlaySound(SOUND_224, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_star4, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_DEAD: SetCondition(Condition_Dead, 1); - pAudioPlayer->PlaySound(SOUND_225, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_eradicate, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_PETRIFIED: SetCondition(Condition_Pertified, 1); - pAudioPlayer->PlaySound(SOUND_225, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_eradicate, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_ERADICATED: SetCondition(Condition_Eradicated, 1); - pAudioPlayer->PlaySound(SOUND_225, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_eradicate, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; @@ -2414,7 +2414,7 @@ { PlaySound(SPEECH_40, 0); v48->SetBroken(); - pAudioPlayer->PlaySound(SOUND_47, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_metal_vs_metal03h, 0, 0, -1, 0, 0, 0, 0); } pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; @@ -2433,27 +2433,27 @@ } memcpy(v27, &this->pInventoryItemList[this->pInventoryMatrix[v47]-1], 0x24u); RemoveItemAtInventoryIndex(v47); - pAudioPlayer->PlaySound(SOUND_47, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_metal_vs_metal03h, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_AGING: PlaySound(SPEECH_42, 0); ++this->sAgeModifier; - pAudioPlayer->PlaySound(SOUND_226, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_eleccircle, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_MANA_DRAIN: PlaySound(SPEECH_41, 0); this->sMana = 0; - pAudioPlayer->PlaySound(SOUND_226, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_eleccircle, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; case SPECIAL_ATTACK_FEAR: SetCondition(Condition_Fear, 1); - pAudioPlayer->PlaySound(SOUND_221, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_star1, 0, 0, -1, 0, 0, 0, 0); pGame->pStru6Instance->SetPlayerBuffAnim(0x99u, v3); return 1; break; @@ -4325,7 +4325,7 @@ pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); return; } - pAudioPlayer->PlaySound(SOUND_EatApple, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_eat, 0, 0, -1, 0, 0, 0, 0); if ( pGUIWindow_CurrentMenu && pGUIWindow_CurrentMenu->eWindowType != WINDOW_null) { @@ -4617,7 +4617,7 @@ pAudioPlayer->PlaySound(SOUND_error, 0, 0, -1, 0, 0, 0, 0); return; } - pAudioPlayer->PlaySound(SOUND_210, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_drink, 0, 0, -1, 0, 0, 0, 0); if ( pGUIWindow_CurrentMenu && pGUIWindow_CurrentMenu->eWindowType != WINDOW_null) { // if ( !v73 ) v73 is always 1 at this point @@ -4868,49 +4868,49 @@ pMouse->RemoveHoldingItem(); pGame->pStru6Instance->SetPlayerBuffAnim(SPELL_QUEST_COMPLETED, player_num - 1); playerAffected->PlaySound(SPEECH_93, 0); - pAudioPlayer->PlaySound(SOUND_219, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_chimes, 0, 0, -1, 0, 0, 0, 0); if ( pParty->uDaysPlayed == 6 || pParty->uDaysPlayed == 20 ) { playerAffected->SetCondition(Condition_Eradicated, 0); - pAudioPlayer->PlaySound(SOUND_215, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_gong, 0, 0, -1, 0, 0, 0, 0); } else if ( pParty->uDaysPlayed == 12 || pParty->uDaysPlayed == 26 ) { playerAffected->SetCondition(Condition_Dead, 0); - pAudioPlayer->PlaySound(SOUND_215, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_gong, 0, 0, -1, 0, 0, 0, 0); } else if ( pParty->uDaysPlayed == 4 || pParty->uDaysPlayed == 25 ) { playerAffected->SetCondition(Condition_Pertified, 0); - pAudioPlayer->PlaySound(SOUND_215, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_gong, 0, 0, -1, 0, 0, 0, 0); } return; } else if ( pParty->pPickedItem.uItemID == 630 ) //Red Apple { Party::GiveFood(1); - pAudioPlayer->PlaySound(SOUND_EatApple, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_eat, 0, 0, -1, 0, 0, 0, 0); } else if ( pParty->pPickedItem.uItemID == 632 ) //Lute { - pAudioPlayer->PlaySound(SOUND_PlayLute, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_luteguitar, 0, 0, -1, 0, 0, 0, 0); return; } else if ( pParty->pPickedItem.uItemID == 633 ) //Faerie Pipes { - pAudioPlayer->PlaySound(SOUND_PlayFaeriePipes, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_panflute, 0, 0, -1, 0, 0, 0, 0); return; } else if ( pParty->pPickedItem.uItemID == 634 ) //Gryphonheart's Trumpet { - pAudioPlayer->PlaySound(SOUND_PlayGryphonheartsTrumpet, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_trumpet, 0, 0, -1, 0, 0, 0, 0); return; } else if ( pParty->pPickedItem.uItemID == 646 ) //Horseshoe { pGame->pStru6Instance->SetPlayerBuffAnim(SPELL_QUEST_COMPLETED, player_num - 1); v5 = PID(OBJECT_Player, player_num + 49); - pAudioPlayer->PlaySound(SOUND_20001, v5, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_quest, v5, 0, -1, 0, 0, 0, 0); playerAffected->AddVariable(VAR_NumSkillPoints, 2); } else if ( pParty->pPickedItem.uItemID == 650 ) //Temple in a Bottle @@ -5920,7 +5920,7 @@ int playerIndex = GetPlayerIndex(); signed int v25 = 8 * playerIndex + 400; LOBYTE(v25) = PID(OBJECT_Player,playerIndex - 112); - pAudioPlayer->PlaySound(SOUND_20001, v25, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_quest, v25, 0, -1, 0, 0, 0, 0); } //----- (new function) -------------------------------------------------------- @@ -8131,14 +8131,14 @@ switch (v34) { - case 0: pAudioPlayer->PlaySound(SOUND_81, 0, 0, -1, 0, 0, 0, 0); break; - case 1: pAudioPlayer->PlaySound(SOUND_84, 0, 0, -1, 0, 0, 0, 0); break; - case 2: pAudioPlayer->PlaySound(SOUND_85, 0, 0, -1, 0, 0, 0, 0); break; - case 3: pAudioPlayer->PlaySound(SOUND_78, 0, 0, -1, 0, 0, 0, 0); break; - case 4: pAudioPlayer->PlaySound(SOUND_80, 0, 0, -1, 0, 0, 0, 0); break; - case 5: pAudioPlayer->PlaySound(SOUND_71, 0, 0, -1, 0, 0, 0, 0); break; - case 6: pAudioPlayer->PlaySound(SOUND_83, 0, 0, -1, 0, 0, 0, 0); break; - case 7: pAudioPlayer->PlaySound(SOUND_67, 0, 0, -1, 0, 0, 0, 0); break; + case 0: pAudioPlayer->PlaySound(SOUND_swing_with_blunt_weapon01, 0, 0, -1, 0, 0, 0, 0); break; + case 1: pAudioPlayer->PlaySound(SOUND_swing_with_sword01, 0, 0, -1, 0, 0, 0, 0); break; + case 2: pAudioPlayer->PlaySound(SOUND_swing_with_sword02, 0, 0, -1, 0, 0, 0, 0); break; + case 3: pAudioPlayer->PlaySound(SOUND_swing_with_axe01, 0, 0, -1, 0, 0, 0, 0); break; + case 4: pAudioPlayer->PlaySound(SOUND_swing_with_axe03, 0, 0, -1, 0, 0, 0, 0); break; + case 5: pAudioPlayer->PlaySound(SOUND_shoot_bow01, 0, 0, -1, 0, 0, 0, 0); break; + case 6: pAudioPlayer->PlaySound(SOUND_swing_with_blunt_weapon03, 0, 0, -1, 0, 0, 0, 0); break; + case 7: pAudioPlayer->PlaySound(SOUND_shoot_blaster01, 0, 0, -1, 0, 0, 0, 0); break; } }
--- a/Engine/Objects/SpriteObject.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Objects/SpriteObject.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -1082,7 +1082,7 @@ { v9 = 8 * v8; LOBYTE(v9) = v9 | 2; - pAudioPlayer->PlaySound((SoundID)(SOUND_GoldReceived|0x14), v9, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_splash, v9, 0, -1, 0, 0, 0, 0); } } @@ -1245,7 +1245,7 @@ pSpriteObjects[uLayingItemID].uSpriteFrameID = 0; v13 = 8 * uLayingItemID; LOBYTE(v13) = PID(OBJECT_Item, uLayingItemID); - pAudioPlayer->PlaySound(SOUND_Explosion, v13, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, v13, 0, -1, 0, 0, 0, 0); return 0; } @@ -1279,7 +1279,7 @@ { v13 = 8 * uLayingItemID; LOBYTE(v13) = PID(OBJECT_Item, uLayingItemID); - pAudioPlayer->PlaySound(SOUND_Explosion, v13, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, v13, 0, -1, 0, 0, 0, 0); } return 0; } @@ -1339,7 +1339,7 @@ { v13 = 8 * uLayingItemID; LOBYTE(v13) = PID(OBJECT_Item, uLayingItemID); - pAudioPlayer->PlaySound(SOUND_Explosion, v13, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, v13, 0, -1, 0, 0, 0, 0); return 0; } return 0; @@ -1370,7 +1370,7 @@ AttackerInfo.Add(v38, 512, v40, v39, v37, 0, 0); if (object->uFlags & OBJECT_DESC_TRIAL_PARTICLE) trail_particle_generator.GenerateTrailParticles(pSpriteObjects[uLayingItemID].vPosition.x, pSpriteObjects[uLayingItemID].vPosition.y, pSpriteObjects[uLayingItemID].vPosition.z, object->uParticleTrailColor); - pAudioPlayer->PlaySound(SOUND_Explosion, v147, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, v147, 0, -1, 0, 0, 0, 0); return 0; }
--- a/Engine/OurMath.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/OurMath.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -15,7 +15,7 @@ this->pInvCosTable[0] = 65536; for(int i = 1; i < (signed int)this->uIntegerHalfPi; i++) { - v3 = (double)i * 3.141592653589793 / (double)uIntegerPi; + v3 = (double)i * pi_double / (double)uIntegerPi; pTanTable[i] = (signed __int64)(tan(v3) * (double)this->pCosTable[0] + 0.5); pCosTable[i] = (signed __int64)(cos(v3) * (double)this->pCosTable[0] + 0.5); pInvCosTable[i] = (signed __int64)(1.0 / cos(v3) * (double)this->pCosTable[0] + 0.5);
--- a/Engine/OurMath.h Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/OurMath.h Mon Feb 09 19:17:12 2015 +0600 @@ -2,7 +2,7 @@ #include <cassert> #include <limits> - +#define pi_double 3.14159265358979323846 /* 186 */ #pragma pack(push, 1) struct stru193_math
--- a/Engine/Party.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Party.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -248,7 +248,7 @@ pParty->uNumGold = uNumGold; pUIAnim_Gold->uAnimTime = 0; pUIAnim_Gold->uAnimLength = 8 * pIconsFrameTable->pIcons[pUIAnim_Gold->uIconID].uAnimLength; - pAudioPlayer->PlaySound(SOUND_GoldReceived, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_gold01, 0, 0, -1, 0, 0, 0, 0); } //----- (00492BB6) -------------------------------------------------------- @@ -260,7 +260,7 @@ pParty->uNumGold = 0; pUIAnim_Gold->uAnimTime = 0; pUIAnim_Gold->uAnimLength = 8 * pIconsFrameTable->pIcons[pUIAnim_Gold->uIconID].uAnimLength; - pAudioPlayer->PlaySound(SOUND_GoldReceived, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_gold01, 0, 0, -1, 0, 0, 0, 0); } //----- (0049135E) -------------------------------------------------------- @@ -1014,7 +1014,7 @@ pUIAnim_Gold->uAnimLength = 8 * pIconsFrameTable->pIcons[(signed __int16)pUIAnim_Gold->uIconID].uAnimLength; if ( pTmpBuf2[0] ) ShowStatusBarString(pTmpBuf2.data(), 2u); - pAudioPlayer->PlaySound(SOUND_GoldReceived, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_gold01, 0, 0, -1, 0, 0, 0, 0); } //----- (00421B2C) -------------------------------------------------------- void Party::sub_421B2C_PlaceInInventory_or_DropPickedItem() @@ -1129,7 +1129,7 @@ { memcpy(&v9->pInventoryItemList[v10-1], pItem, 0x24u); pItem->Reset(); - pAudioPlayer->PlaySound(SOUND_GoldReceived, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_gold01, 0, 0, -1, 0, 0, 0, 0); v9->PlaySound(SPEECH_60, 0); if ( !v21 ) {
--- a/Engine/Spells/CastSpellInfo.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Spells/CastSpellInfo.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -251,7 +251,7 @@ pTurnEngine->ApplyPlayerAction(); } ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // "Spell failed" - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpellInfo[n].uSpellID = 0; pPlayer->sMana -= uRequiredMana; return; @@ -369,7 +369,7 @@ if ( _v733 > amount ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -407,7 +407,7 @@ if (!a2) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -499,7 +499,7 @@ if ( !MonsterStats::BelongsToSupertype(pActors[PID_ID(a2)].pMonsterInfo.uID, MONSTER_SUPERTYPE_UNDEAD) ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -589,7 +589,7 @@ || uCurrentlyLoadedLevelType == LEVEL_Outdoor && (pParty->uCurrentHour < 5 || pParty->uCurrentHour >= 21) )//только в дневное время { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -765,7 +765,7 @@ _50C9D4_AfterEnchClickEventSecondParam = 0; _50C9D8_AfterEnchClickEventTimeout = 1; ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -937,7 +937,7 @@ else { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2);//"Не получилось!!!" - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; } } @@ -1014,7 +1014,7 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Indoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[491], 2); // Can't cast Meteor Shower indoors! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -1084,7 +1084,7 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[492], 2); // Can't cast Inferno outdoors! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -1206,7 +1206,7 @@ if ( pParty->uFlags & PARTY_FLAGS_1_FALLING) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[493], 2); // Can't cast Jump while airborne! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); break; } if ( !pPlayer->CanCastSpell(uRequiredMana) ) @@ -1232,7 +1232,7 @@ if (pParty->uFlags & (PARTY_FLAGS_1_ALERT_RED | PARTY_FLAGS_1_ALERT_YELLOW)) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[638], 2); // There are hostile creatures nearby! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -1253,13 +1253,13 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Indoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[494], 2); // Can not cast Fly indoors! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); break; } if ( !pPlayers[pCastSpell->uPlayerID + 1]->GetMaxMana() ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); break; } if ( skill_level == 1 || skill_level == 2 || skill_level == 3 ) @@ -1281,7 +1281,7 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Indoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[495], 2); // Can't cast Starburst indoors! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -1458,7 +1458,7 @@ if ( !pPlayers[pCastSpell->uPlayerID + 1]->GetMaxMana() ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); break; } switch (skill_level) @@ -1495,7 +1495,7 @@ _50C9D4_AfterEnchClickEventSecondParam = 0; _50C9D8_AfterEnchClickEventTimeout = 1; ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -1519,7 +1519,7 @@ _50C9D4_AfterEnchClickEventSecondParam = 0; _50C9D8_AfterEnchClickEventTimeout = 1; ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2);//Не получилось!!! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; spell_level = v723; continue; @@ -1682,7 +1682,7 @@ if ( item_not_broken == false ) v317 = pGlobalTXT_LocalizationStrings[585];//Предмет недостаточно высокого качества ShowStatusBarString(v317, 2); - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); //v318 = &pParty->pPlayers[pCastSpell->uPlayerID_2]; pCastSpell->uSpellID = 0; pParty->pPlayers[pCastSpell->uPlayerID_2].PlaySound(SPEECH_43, 0); @@ -1698,7 +1698,7 @@ || rand() % 100 >= amount && skill_level != 4 ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -1712,7 +1712,7 @@ if ( !_stricmp(pCurrentMapName, "d05.blv") ) // Arena { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -1791,7 +1791,7 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Indoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -2647,7 +2647,7 @@ if ( mon_num >= amount ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[648], 2); // This character can't summon any more monsters! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -2684,7 +2684,7 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[497], 2); // Can't cast Prismatic Light outdoors! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -2800,7 +2800,7 @@ if ( pPlayer->uNumDivineInterventionCastsThisDay >= 3 ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -2851,7 +2851,7 @@ if ( mon_id == -1 ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[496], 2); // No valid target exists! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -2859,7 +2859,7 @@ || pActors[mon_id].uAIState != Dead && pActors[mon_id].uAIState != Dying ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -2926,7 +2926,7 @@ _50C9D4_AfterEnchClickEventSecondParam = 0; _50C9D8_AfterEnchClickEventTimeout = 1; ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -3012,7 +3012,7 @@ if ( !pActors[mon_id].DoesDmgTypeDoDamage((DAMAGE_TYPE)10) ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -3074,7 +3074,7 @@ || achieved_awards[pCastSpell->uPlayerID_2 - 4] <= 0 || achieved_awards[pCastSpell->uPlayerID_2 - 4] >= 3 ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -3188,7 +3188,7 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Indoor) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[499], 2); // Can't cast Armageddon indoors! - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; } @@ -3199,7 +3199,7 @@ if ( pPlayer->uNumArmageddonCasts >= amount || pParty->armageddon_timer > 0 ) { ShowStatusBarString(pGlobalTXT_LocalizationStrings[428], 2); // Spell failed - pAudioPlayer->PlaySound(SOUND_PlayerCantCastSpell, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_spellfail0201, 0, 0, -1, 0, 0, 0, 0); pCastSpell->uSpellID = 0; continue; }
--- a/Engine/Tables/TileFrameTable.h Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/Tables/TileFrameTable.h Mon Feb 09 19:17:12 2015 +0600 @@ -27,10 +27,10 @@ Tileset_Grass = 0, Tileset_Snow = 1, Tilset_Desert = 2, - Tileset_3 = 3, + Tileset_CooledLava = 3, Tileset_Dirt = 4, Tileset_Water = 5, - Tileset_6 = 6, + Tileset_Badlands = 6, Tileset_Swamp = 7, Tileset_8 = 8, Tileset_9 = 9,
--- a/Engine/TurnEngine/TurnEngine.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Engine/TurnEngine/TurnEngine.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -125,7 +125,7 @@ pTurnEngine->field_18 &= ~TE_HAVE_PENDING_ACTIONS; pEventTimer->TrackGameTime(); pAudioPlayer->StopChannels(-1, -1); - pAudioPlayer->PlaySound(SOUND_207, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_batllest, 0, 0, -1, 0, 0, 0, 0); //pPlayer = pParty->pPlayers.data(); dword_50C998_turnbased_icon_1A = 8 * pIconsFrameTable->pIcons[uIconID_TurnStart].uAnimLength; dword_50C994 = 0; @@ -252,7 +252,7 @@ } pAudioPlayer->StopChannels(-1, -1); if ( bPlaySound != 0 ) - pAudioPlayer->PlaySound(SOUND_206, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_batlleen, 0, 0, -1, 0, 0, 0, 0); pTurnEngine->field_18 &= ~TE_HAVE_PENDING_ACTIONS; pEventTimer->StopGameTime(); dword_50C994 = 0;
--- a/GUI/UI/Books/UINotesBooks.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/GUI/UI/Books/UINotesBooks.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -132,13 +132,13 @@ questbook_window.uFrameW = 333; if ( BtnDown_flag && books_primary_item_per_page + num_achieved_awards < full_num_items_in_book )//Click Bookmark Down(нажатие закладки вниз) { - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); books_primary_item_per_page += num_achieved_awards; books_num_items_per_page[books_page_number++] = num_achieved_awards; } if ( BtnUp_flag && books_page_number )//Click Bookmark Up(Нажатие закладки вверх) { - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); --books_page_number; books_primary_item_per_page -= (unsigned __int8)books_num_items_per_page[books_page_number]; } @@ -341,14 +341,14 @@ { books_num_items_per_page[books_page_number++] = num_achieved_awards; books_primary_item_per_page = num_achieved_awards + books_primary_item_per_page; - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); } } if ( BtnUp_flag && books_page_number )// press Up bookmark(нажатие закладки пролистать назад) { --books_page_number; books_primary_item_per_page -= (unsigned __int8)books_num_items_per_page[books_page_number]; - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); } if ( !num_achieved_awards || !books_primary_item_per_page )//количество записей 0 или номер первой страницы 0 { @@ -416,13 +416,13 @@ journal_window.uFrameW = journal_window.uFrameHeight + 69; if ( BtnDown_flag && books_primary_item_per_page + num_achieved_awards < full_num_items_in_book )//Press bookmark next page { - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); books_primary_item_per_page += num_achieved_awards; books_num_items_per_page[books_page_number++] = num_achieved_awards; } if ( BtnUp_flag && books_page_number )//Press bookmark previous page { - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); --books_page_number; books_primary_item_per_page -= (unsigned __int8)books_num_items_per_page[books_page_number]; }
--- a/GUI/UI/Books/UISpellBook.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/GUI/UI/Books/UISpellBook.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -50,7 +50,7 @@ free(pAutonoteFont); pAutonoteFont = nullptr; pTexture_mapbordr->Release(); - pAudioPlayer->PlaySound(SOUND_CloseBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_closebook, 0, 0, -1, 0, 0, 0, 0); pIcons_LOD->RemoveTexturesPackFromTextureList(); dword_506364 = 0; }
--- a/GUI/UI/UIArena.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/GUI/UI/UIArena.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -75,7 +75,7 @@ for ( uint i= 0; i < 4; i++ ) pParty->pPlayers[i].SetVariable(VAR_Award, (unsigned __int8)pParty->field_7B5_in_arena_quest + 3); pParty->PartyFindsGold(gold_transaction_amount, 0); - pAudioPlayer->PlaySound(SOUND_Arena_Welcome, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_51heroism03, 0, 0, -1, 0, 0, 0, 0); pParty->field_7B5_in_arena_quest = -1; } else @@ -88,7 +88,7 @@ pParty->sRotationY = 512; pParty->sRotationX = 0; pParty->uFallSpeed = 0; - pAudioPlayer->PlaySound(SOUND_Arena_Welcome, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_51heroism03, 0, 0, -1, 0, 0, 0, 0); } } } @@ -310,5 +310,5 @@ gold_transaction_amount = v26 * v13; for ( i = 0; i < v14; ++i ) Actor::Arena_summon_actor(monster_ids[rand() % num_monsters], pMonsterArenaPlacements[i].x, pMonsterArenaPlacements[i].y, 1); - pAudioPlayer->PlaySound(SOUND_Arena_Welcome, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_51heroism03, 0, 0, -1, 0, 0, 0, 0); } \ No newline at end of file
--- a/GUI/UI/UIBooks.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/GUI/UI/UIBooks.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -37,7 +37,7 @@ ++pIcons_LOD->uTexturePacksCount; if ( !pIcons_LOD->uNumPrevLoadedFiles ) pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles; - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); pSpellBookPagesTextr_9 = pIcons_LOD->LoadTexturePtr("book", TEXTURE_16BIT_PALETTE); pTexture_pagemask = pIcons_LOD->LoadTexturePtr("pagemask", TEXTURE_16BIT_PALETTE); pSpellBookCloseBtnTextr = pIcons_LOD->LoadTexturePtr("ib-m5-u", TEXTURE_16BIT_PALETTE); @@ -68,7 +68,7 @@ ++pIcons_LOD->uTexturePacksCount; if ( !pIcons_LOD->uNumPrevLoadedFiles ) pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles; - pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); pTexture_mapbordr = pIcons_LOD->LoadTexturePtr("mapbordr", TEXTURE_16BIT_PALETTE); pBookFont = LoadFont("book.fnt", "FONTPAL", NULL); pBook2Font = LoadFont("book2.fnt", "FONTPAL", NULL); @@ -113,6 +113,6 @@ pTextures_tabs[i][0]->Release(); pTextures_tabs[i][1]->Release(); } - pAudioPlayer->PlaySound(SOUND_CloseBook, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0); pIcons_LOD->RemoveTexturesPackFromTextureList(); }
--- a/GUI/UI/UIHouses.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/GUI/UI/UIHouses.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -2302,7 +2302,7 @@ pPlayers[uActiveCharacter]->uVoiceID = pPlayers[uActiveCharacter]->uPrevVoiceID; ReloadPlayerPortraits(uActiveCharacter - 1, pPlayers[uActiveCharacter]->uPrevFace); } - pAudioPlayer->PlaySound((SoundID)(SOUND_GoldReceived|0x2), -1, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_heal, -1, 0, -1, 0, 0, 0, 0); pPlayers[uActiveCharacter]->PlaySound(SPEECH_82, 0); pOtherOverlayList->_4418B1(20, uActiveCharacter + 99, 0, 65536); pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 1, 0); @@ -2315,7 +2315,7 @@ if ( !pPlayers[uActiveCharacter]->pConditions[Condition_Eradicated] && !pPlayers[uActiveCharacter]->pConditions[Condition_Pertified] && !pPlayers[uActiveCharacter]->pConditions[Condition_Dead] ) { - pAudioPlayer->PlaySound((SoundID)(SOUND_GoldReceived|0x2), -1, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_heal, -1, 0, -1, 0, 0, 0, 0); pPlayers[uActiveCharacter]->PlaySound(SPEECH_82, 0); pOtherOverlayList->_4418B1(20, uActiveCharacter + 99, 0, 65536); pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 1, 0); @@ -2332,7 +2332,7 @@ } //HIDWORD(pPlayers[uActiveCharacter]->pConditions[Condition_Zombie]) = (int)v39; pPlayers[uActiveCharacter]->pConditions[Condition_Zombie] = pParty->uTimePlayed; - pAudioPlayer->PlaySound((SoundID)(SOUND_GoldReceived|0x2), -1, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound((SoundID)SOUND_heal, -1, 0, -1, 0, 0, 0, 0); pPlayers[uActiveCharacter]->PlaySound(SPEECH_82, 0); pOtherOverlayList->_4418B1(20, uActiveCharacter + 99, 0, 65536); pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 1, 0);
--- a/GUI/UI/UIPartyCreation.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/GUI/UI/UIPartyCreation.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -452,14 +452,17 @@ pCreationUI_BtnPressLeft[1] = pGUIWindow_CurrentMenu->CreateButton(169, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FacePrev, 1, 0, "", pTexture_presleft, 0); pCreationUI_BtnPressLeft[2] = pGUIWindow_CurrentMenu->CreateButton(327, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FacePrev, 2, 0, "", pTexture_presleft, 0); pCreationUI_BtnPressLeft[3] = pGUIWindow_CurrentMenu->CreateButton(486, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FacePrev, 3, 0, "", pTexture_presleft, 0); + pCreationUI_BtnPressRight[0] = pGUIWindow_CurrentMenu->CreateButton( 74, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FaceNext, 0, 0, "", pTexture_pressrigh, 0); pCreationUI_BtnPressRight[1] = pGUIWindow_CurrentMenu->CreateButton(233, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FaceNext, 1, 0, "", pTexture_pressrigh, 0); pCreationUI_BtnPressRight[2] = pGUIWindow_CurrentMenu->CreateButton(391, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FaceNext, 2, 0, "", pTexture_pressrigh, 0); pCreationUI_BtnPressRight[3] = pGUIWindow_CurrentMenu->CreateButton(549, 32, 11, 13, 1, 0, UIMSG_PlayerCreation_FaceNext, 3, 0, "", pTexture_pressrigh, 0); + pCreationUI_BtnPressLeft2[0] = pGUIWindow_CurrentMenu->CreateButton( 10, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 0, 0, "", pTexture_presleft, 0); pCreationUI_BtnPressLeft2[1] = pGUIWindow_CurrentMenu->CreateButton(169, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 1, 0, "", pTexture_presleft, 0); pCreationUI_BtnPressLeft2[2] = pGUIWindow_CurrentMenu->CreateButton(327, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 2, 0, "", pTexture_presleft, 0); pCreationUI_BtnPressLeft2[3] = pGUIWindow_CurrentMenu->CreateButton(486, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoicePrev, 3, 0, "", pTexture_presleft, 0); + pCreationUI_BtnPressRight2[0] = pGUIWindow_CurrentMenu->CreateButton( 74, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoiceNext, 0, 0, "", pTexture_pressrigh, 0); pCreationUI_BtnPressRight2[1] = pGUIWindow_CurrentMenu->CreateButton(233, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoiceNext, 1, 0, "", pTexture_pressrigh, 0); pCreationUI_BtnPressRight2[2] = pGUIWindow_CurrentMenu->CreateButton(391, 103, 11, 13, 1, 0, UIMSG_PlayerCreation_VoiceNext, 2, 0, "", pTexture_pressrigh, 0);
--- a/GUI/UI/UIPopup.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/GUI/UI/UIPopup.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -1861,7 +1861,7 @@ { pPlayers[uActiveCharacter]->RemoveItemAtInventoryIndex(pOut_y); pPlayers[uActiveCharacter]->ReceiveDamage(rand() % 11 + 10, DMGT_FIRE); - pAudioPlayer->PlaySound(SOUND_Explosion, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, 0, 0, -1, 0, 0, 0, 0); pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 0, 0); v39.z = pParty->vPosition.z + pParty->sEyelevel; v39.x = pParty->vPosition.x; @@ -1886,7 +1886,7 @@ pPlayers[uActiveCharacter]->RemoveItemAtInventoryIndex(pOut_y); pPlayers[uActiveCharacter]->ReceiveDamage(rand() % 71 + 30, DMGT_FIRE); pPlayers[uActiveCharacter]->ItemsEnchant(1); - pAudioPlayer->PlaySound(SOUND_Explosion, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, 0, 0, -1, 0, 0, 0, 0); pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 0, 0); v39.z = pParty->vPosition.z + pParty->sEyelevel; @@ -1912,7 +1912,7 @@ pPlayers[uActiveCharacter]->RemoveItemAtInventoryIndex(pOut_y); pPlayers[uActiveCharacter]->ReceiveDamage(rand() % 201 + 50, DMGT_FIRE); pPlayers[uActiveCharacter]->ItemsEnchant(5); - pAudioPlayer->PlaySound(SOUND_Explosion, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, 0, 0, -1, 0, 0, 0, 0); pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 0, 0); @@ -1939,7 +1939,7 @@ pPlayers[uActiveCharacter]->RemoveItemAtInventoryIndex(pOut_y); pPlayers[uActiveCharacter]->SetCondition(Condition_Eradicated, 0); pPlayers[uActiveCharacter]->ItemsEnchant(0); - pAudioPlayer->PlaySound(SOUND_Explosion, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_fireBall, 0, 0, -1, 0, 0, 0, 0); pMessageQueue_50CBD0->AddGUIMessage(UIMSG_Escape, 0, 0);
--- a/IO/Mouse.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/IO/Mouse.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -619,7 +619,7 @@ pWindowList[v3].pCurrentPosActiveItem -= v12; if ( v8 ) { - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0, 0); //v2 = pMessageQueue_50CBD0->uNumMessages; } } @@ -650,7 +650,7 @@ pWindowList[v3].pCurrentPosActiveItem = v7; if ( v8 ) { - pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); + pAudioPlayer->PlaySound(SOUND_SelectingANewCharacter, 0, 0, -1, 0, 0, 0, 0); //v2 = pMessageQueue_50CBD0->uNumMessages; } }
--- a/Media/Audio/AudioPlayer.cpp Mon Jan 19 23:10:30 2015 +0600 +++ b/Media/Audio/AudioPlayer.cpp Mon Feb 09 19:17:12 2015 +0600 @@ -87,8 +87,6 @@ { for ( uint i = 1; i < pSoundList->sNumSounds; ++i ) { - //if ( i == 41 ) - //__debugbreak(); sprintf(pSoundName, "%s", pSL_Sounds[i].pSoundName); pSoundDesc = &pSoundList->pSL_Sounds[i]; //if ( pSL_Sounds[i].uSoundID == 75 ) @@ -445,10 +443,11 @@ if ( use_music_folder ) { alSourceStop(mSourceID); + sprintf(string, "Music\\%d.mp3", eTrack); if (!FileExists(string)) { - Log::Warning(L"File 14.mp3 in Music\\ folder not found"); + Log::Warning(L"Music\\%d.mp3 not found", eTrack); return; } LPWSTR wStr = new WCHAR[255]; @@ -2099,7 +2098,7 @@ dir_y = abs(y - pParty->vPosition.y); dir_x = abs(x - pParty->vPosition.x); length = int_get_vector_length(dir_x, dir_y, dir_z); - if ( length <= 8192 ) + if ( length <= 0x2000 ) return 114 - (unsigned __int64)(signed __int64)((double)length * 0.0001220703125 * 100.0); else return 0; @@ -2296,7 +2295,7 @@ { strcpy(pAudioPlayer->pDeviceNames[v5], "Device: "); v2 = strlen(pAudioPlayer->pDeviceNames[v5]); - AIL_digital_configuration(hDrv, (int *)pAudioPlayer->array_000BF0 + v5, (int *)pAudioPlayer->array_000C30 + v5, (char *)pAudioPlayer->pDeviceNames + v2 + v5 * 32); + AIL_digital_configuration(hDrv, (int *)pAudioPlayer->pFrequency + v5, (int *)pAudioPlayer->array_000C30 + v5, (char *)pAudioPlayer->pDeviceNames + v2 + v5 * 32); ++pNum_devices; v5++; pAudioPlayer->uNumDevices = pNum_devices; @@ -2524,11 +2523,11 @@ //----- (004ABFDB) -------------------------------------------------------- void PlayLevelMusic() { - unsigned int v0; // eax@1 + unsigned int map_id; // eax@1 - v0 = pMapStats->GetMapInfo(pCurrentMapName); - if ( v0 ) - pAudioPlayer->PlayMusicTrack((MusicID)pMapStats->pInfos[v0].uRedbookTrackID); + map_id = pMapStats->GetMapInfo(pCurrentMapName); + if ( map_id ) + pAudioPlayer->PlayMusicTrack((MusicID)pMapStats->pInfos[map_id].uRedbookTrackID); } //----- (004AC004) -------------------------------------------------------- @@ -2740,7 +2739,6 @@ zlib::MemUnzip(pOutBuff->pData, &pAudioPlayer->pSoundHeaders[uFindSound_BinSearch_ResultID].uDecompressedSize, (const void *)uID, pAudioPlayer->pSoundHeaders[uFindSound_BinSearch_ResultID].uCompressedSize); free((void *)uID); } - if ( pOutBuff ) { pOutBuff->uDataSize = pAudioPlayer->pSoundHeaders[uFindSound_BinSearch_ResultID].uDecompressedSize;
--- a/Media/Audio/AudioPlayer.h Mon Jan 19 23:10:30 2015 +0600 +++ b/Media/Audio/AudioPlayer.h Mon Feb 09 19:17:12 2015 +0600 @@ -74,74 +74,102 @@ enum SoundID { SOUND_Invalid = 0, - SOUND_EnteringAHouse = 6, - SOUND_WoodDRClose = 7, - SOUND_Explosion = 0x8, - SOUND_20 = 0x14, - SOUND_21 = 0x15, - SOUND_23 = 0x17, - SOUND_24 = 0x18, + SOUND_enter = 6, + SOUND_wooddrclose = 7, + SOUND_fireBall = 0x8, + SOUND_ClickMinus = 0x14,//20 + SOUND_ClickMovingSelector = 0x15,//21 + SOUND_ClickPlus = 0x17,//23 + SOUND_ClickSkill = 0x18,//24 SOUND_error = 27, - SOUND_47 = 0x2F, + SOUND_metal_vs_metal03h = 47, SOUND_48 = 0x30, - SOUND_50 = 50, - SOUND_RunAlongWater = 63, - SOUND_RunAlong3DModel = 64, - SOUND_Button = 66, - SOUND_67 = 67, - SOUND_71 = 71, + SOUND_RunBadlands = 49, + SOUND_RunCarpet = 50, + SOUND_RunCooledLava = 51, + SOUND_RunDesert = 52, + SOUND_RunDirt = 53, + SOUND_RunGrass = 54, + SOUND_RunRoad = 57, + SOUND_RunSnow = 58, + SOUND_RunSwamp = 61, + SOUND_RunWater = 62, + SOUND_RunWaterIndoor = 63, + SOUND_RunWood = 64, + SOUND_SelectingANewCharacter = 66, + SOUND_shoot_blaster01 = 67, + SOUND_shoot_bow01 = 71, SOUND_StartMainChoice02 = 75, - SOUND_78 = 78, - SOUND_80 = 80, - SOUND_81 = 81, - SOUND_83 = 83, - SOUND_84 = 84, - SOUND_85 = 85, - SOUND_89 = 89, - SOUND_WalkAlongWater = 102, - SOUND_WalkAlong3DModel = 103, - SOUND_Arcomage_LoseResources = 0x78, - SOUND_Arcomage_AddResources = 0x79, - SOUND_Arcomage_TowerWallDamage = 0x7A, - SOUND_Arcomage_DrawCard = 0x7B, - SOUND_Arcomage_124 = 0x7C, - SOUND_Arcomage_ProductionDamage = 0x7D, - SOUND_Arcomage_ProductionUpgrade = 0x7E, - SOUND_Arcomage_127 = 0x7F, - SOUND_Arcomage_128 = 0x80, - SOUND_Arcomage_TowerUpgrade = 0x81, - SOUND_Arcomage_130 = 0x82, - SOUND_Arcomage_131 = 0x83, - SOUND_Arcomage_WallUpgrade = 0x84, - SOUND_PlayLute = 133, // 85 - SOUND_PlayFaeriePipes = 134, // 86 - SOUND_PlayGryphonheartsTrumpet = 135, // 87 - SOUND_GoldReceived = 0xC8, - SOUND_203 = 203, - SOUND_204 = 204, - SOUND_206 = 206, - SOUND_207 = 207, - SOUND_OpenChest = 208, - SOUND_PlayerCantCastSpell = 0xD1, - SOUND_210 = 0xD2, - SOUND_EatApple = 211, // D3 - SOUND_215 = 0xD7, - SOUND_Bell = 0xD9, - SOUND_shurch = 0xDA, //218 - SOUND_219 = 0xDB, - SOUND_221 = 0xDD, - SOUND_222 = 0xDE, - SOUND_224 = 0xE0, - SOUND_225 = 0xE1, - SOUND_226 = 0xE2, - SOUND_227 = 0xE3, - SOUND_OpenBook = 230, - SOUND_CloseBook = 231, - SOUND_hf445a = 0x169C, - SOUND_11090 = 11090, - SOUND_12040 = 12040, - SOUND_Arena_Welcome = 14060, - SOUND_20001 = 0x4E21, + SOUND_swing_with_axe01 = 78, + SOUND_swing_with_axe03 = 80, + SOUND_swing_with_blunt_weapon01 = 81, + SOUND_swing_with_blunt_weapon03 = 83, + SOUND_swing_with_sword01 = 84, + SOUND_swing_with_sword02 = 85, + SOUND_WalkBadlands = 88, + SOUND_WalkCarpet = 89, + SOUND_WalkCooledLava = 90, + SOUND_WalkDesert = 91, + SOUND_WalkDirt = 92, + SOUND_WalkGrass = 93, + SOUND_WalkRoad = 96, + SOUND_WalkSnow = 97, + SOUND_WalkSwamp = 100, + SOUND_WalkWater = 101, + SOUND_WalkWaterIndoor = 102, + SOUND_WalkWood = 103, + SOUND_bricks_down = 0x78,//120 + SOUND_bricks_up = 0x79, + SOUND_damage = 0x7A, + SOUND_deal = 0x7B, + SOUND_defeat = 0x7C, + SOUND_querry_up = 0x7D, + SOUND_querry_down = 0x7E, + SOUND_shuffle = 0x7F, + SOUND_title = 0x80, + SOUND_tower_up = 0x81, + SOUND_typing = 0x82, + SOUND_victory = 0x83, + SOUND_wall_up = 0x84, + SOUND_luteguitar = 133, // 85 + SOUND_panflute = 134, // 86 + SOUND_trumpet = 135, // 87 + SOUND_gold01 = 0xC8,//200 + SOUND_heal = 202, + SOUND_fizzle = 203, + SOUND_TurnPageU = 204, + SOUND_batlleen = 206, + SOUND_batllest = 207, + SOUND_openchest0101 = 208, + SOUND_spellfail0201 = 0xD1, + SOUND_drink = 0xD2, + SOUND_eat = 211, // D3 + SOUND_gong = 0xD7, + SOUND_hurp = 0xD9, + SOUND_church = 0xDA, //218 + SOUND_chimes = 0xDB, + SOUND_splash = 220, + SOUND_star1 = 0xDD, + SOUND_star2 = 0xDE, + SOUND_star4 = 0xE0, + SOUND_eradicate = 0xE1, + SOUND_eleccircle = 0xE2, + SOUND_encounter = 0xE3, + SOUND_openbook = 230, + SOUND_closebook = 231, + SOUND_hf445a = 5788, + SOUND_Haste = 10040, + SOUND_21fly03 = 11090, + SOUND_WaterWalk = 12040, + SOUND_Stoneskin = 13040, + SOUND_Bless = 14010, + SOUND_Fate = 14020, + SOUND_51heroism03 = 14060, + SOUND_94dayofprotection03 = 17070, + SOUND_9armageddon01 = 17080, + SOUND_Sacrifice2 = 18060, + SOUND_quest = 20001, + }; @@ -234,7 +262,7 @@ int uMixerChannels; int field_3EC; char pDeviceNames[16][128]; - int array_000BF0[16]; + int pFrequency[16]; int array_000C30[16]; unsigned int uNumDevices; struct _STREAM *hStream;