# HG changeset patch # User Ritor1 # Date 1371319099 -21600 # Node ID 62f4cdaa726b4796b6bc1941377d7a518bc14177 # Parent 2767980b98bbf38cd48a25c94262c82bc5ba658f shot from a bow and more diff -r 2767980b98bb -r 62f4cdaa726b UIHouses.cpp --- a/UIHouses.cpp Sat Jun 15 17:39:20 2013 +0600 +++ b/UIHouses.cpp Sat Jun 15 23:58:19 2013 +0600 @@ -561,10 +561,10 @@ void PlayHouseSound(unsigned int uHouseID, HouseSoundID sound) { //if ( BYTE1(pAnimatedRooms[p2DEvents_minus1___02[26 * uHouseID]].field_C) ) - if ( pAnimatedRooms[p2DEvents[uHouseID - 1].uAnimationID].uRoomSoundId ) + if ( pAnimatedRooms[p2DEvents[uHouseID].uAnimationID].uRoomSoundId ) pAudioPlayer->PlaySound( //(SoundID)(a2 + 100 * (BYTE1(pAnimatedRooms[p2DEvents_minus1___02[26 * uHouseID]].field_C) + 300)), - (SoundID)(sound + 100 * (pAnimatedRooms[p2DEvents[uHouseID - 1].uAnimationID].uRoomSoundId + 300)), + (SoundID)(sound + 100 * (pAnimatedRooms[p2DEvents[uHouseID].uAnimationID].uRoomSoundId + 300)), 806, 0, -1, 0, 0, 0, 0); } diff -r 2767980b98bb -r 62f4cdaa726b UITransition.cpp --- a/UITransition.cpp Sat Jun 15 17:39:20 2013 +0600 +++ b/UITransition.cpp Sat Jun 15 23:58:19 2013 +0600 @@ -102,7 +102,7 @@ LABEL_20: pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_Transition, 0, sHouseName.data()); //if ( BYTE1(pAnimatedRooms[p2DEvents_minus1___02[26 * v9]].field_C) ) - if ( pAnimatedRooms[p2DEvents[anim_id - 1].uAnimationID].uRoomSoundId ) + if ( pAnimatedRooms[p2DEvents[anim_id].uAnimationID].uRoomSoundId ) PlayHouseSound(anim_id, HouseSound_Greeting); if ( uCurrentlyLoadedLevelType == LEVEL_Indoor && uActiveCharacter && pParty->uFlags & 0x30 ) pPlayers[uActiveCharacter]->PlaySound(SPEECH_47, 0); diff -r 2767980b98bb -r 62f4cdaa726b mm7_1.cpp --- a/mm7_1.cpp Sat Jun 15 17:39:20 2013 +0600 +++ b/mm7_1.cpp Sat Jun 15 23:58:19 2013 +0600 @@ -2415,7 +2415,7 @@ { v62 = stru_50B700._screen_space_x[v55] << 16; v54 = ((stru_50B700._screen_space_x[v13] - stru_50B700._screen_space_x[v55]) << 16) / (stru_50B700._screen_space_y[v13] - stru_50B700._screen_space_y[v55]); - a2->array_18[min_y] = LOWORD(stru_50B700._screen_space_x[v55]); + a2->viewport_left_side[min_y] = LOWORD(stru_50B700._screen_space_x[v55]); } v15 = v65; v61 = v65; @@ -2452,7 +2452,7 @@ { v61 = stru_50B700._screen_space_x[v20] << 16; v53 = ((stru_50B700._screen_space_x[v19] - stru_50B700._screen_space_x[v20]) << 16) / stru_50B700._screen_space_y[v19] - stru_50B700._screen_space_y[v20]; - a2->array_3D8[max_y] = LOWORD(stru_50B700._screen_space_x[v20]); + a2->viewport_right_side[max_y] = LOWORD(stru_50B700._screen_space_x[v20]); } v22 = min_y; if ( min_y <= max_y ) @@ -2502,18 +2502,18 @@ //v34 = (char *)a2->array_18 - (char *)a2->array_3D8; //v35 = *(__int16 *)((char *)&a2->array_3D8[v70] + v34); //v35 = HIWORD(v62); - a2->array_18[v70] = HIWORD(v62); - a2->array_3D8[v70] = HIWORD(v61); + a2->viewport_left_side[v70] = HIWORD(v62); + a2->viewport_right_side[v70] = HIWORD(v61); //v34 = &a2->array_3D8[v70]; //v35 = a2->array_3D8[v70]; - if ( a2->array_18[v70] > a2->array_3D8[v70] ) + if ( a2->viewport_left_side[v70] > a2->viewport_right_side[v70] ) { - v36 = a2->array_18[v70] ^ a2->array_3D8[v70]; - v37 = a2->array_3D8[v70]; - a2->array_18[v70] = v36; + v36 = a2->viewport_left_side[v70] ^ a2->viewport_right_side[v70]; + v37 = a2->viewport_right_side[v70]; + a2->viewport_left_side[v70] = v36; v38 = v37 ^ v36; - a2->array_18[v70] ^= v38; - a2->array_3D8[v70] = v38; + a2->viewport_left_side[v70] ^= v38; + a2->viewport_right_side[v70] = v38; } //++v56; v62 += v54; @@ -2537,7 +2537,7 @@ //v57 = *(__int16 *)((char *)v42 + a3a); for ( v71 = min_y; v71 <= max_y; ++v71 ) { - if ( a2->array_18[v71] >= a3->array_18[v71] && a2->array_18[v71] <= a3->array_3D8[v71] ) + if ( a2->viewport_left_side[v71] >= a3->viewport_left_side[v71] && a2->viewport_left_side[v71] <= a3->viewport_right_side[v71] ) break; //++v57; ++min_y; @@ -2551,7 +2551,7 @@ //v58 = *(__int16 *)((char *)v43 + a3a); for ( v72 = max_y; v72 >= min_y; --v72 ) { - if ( a2->array_3D8[v72] >= a3->array_18[v72] && a2->array_18[v72] <= a3->array_3D8[v72] ) + if ( a2->viewport_right_side[v72] >= a3->viewport_left_side[v72] && a2->viewport_left_side[v72] <= a3->viewport_right_side[v72] ) break; //--v58; --max_y; @@ -2567,20 +2567,20 @@ for ( v46 = max_y - min_y + 1; v46; --v46 ) { //v47 = *(__int16 *)((char *)v45 + a3b); - if ( a2->array_18[v59] < a3->array_18[v59] ) - a2->array_18[v59] = a3->array_18[v59]; - if ( a2->array_3D8[v59] > a3->array_3D8[v59] ) - a2->array_3D8[v59] = a3->array_3D8[v59]; + if ( a2->viewport_left_side[v59] < a3->viewport_left_side[v59] ) + a2->viewport_left_side[v59] = a3->viewport_left_side[v59]; + if ( a2->viewport_right_side[v59] > a3->viewport_right_side[v59] ) + a2->viewport_right_side[v59] = a3->viewport_right_side[v59]; ++v59; //++v45; } a2->_viewport_space_y = min_y; a2->_viewport_space_w = max_y; - a2->field_8 = a2->array_18[min_y]; - //v48 = a2->array_3D8[v7]; + a2->field_8 = a2->viewport_left_side[min_y]; + //v48 = a2->viewport_right_side[v7]; a2->field_10 = min_y; a2->field_14 = min_y; - a2->field_C = a2->array_3D8[min_y]; + a2->field_C = a2->viewport_right_side[min_y]; v49 = min_y + 1; if ( v49 <= max_y ) { @@ -2588,14 +2588,14 @@ for ( v49; v49 <= max_y; ++v49 ) { //v51 = a2->array_18[v49]; - if ( a2->array_18[v49] < a2->field_8 ) + if ( a2->viewport_left_side[v49] < a2->field_8 ) { - a2->field_8 = a2->array_18[v49]; + a2->field_8 = a2->viewport_left_side[v49]; a2->field_10 = v49; } - if ( a2->array_3D8[v49] > a2->field_C ) + if ( a2->viewport_right_side[v49] > a2->field_C ) { - a2->field_C = a2->array_3D8[v49]; + a2->field_C = a2->viewport_right_side[v49]; a2->field_14 = v49; } //++v50; diff -r 2767980b98bb -r 62f4cdaa726b mm7_2.cpp --- a/mm7_2.cpp Sat Jun 15 17:39:20 2013 +0600 +++ b/mm7_2.cpp Sat Jun 15 23:58:19 2013 +0600 @@ -9916,7 +9916,7 @@ v127 = v9; v126 = v124; LABEL_268: - v116 = word_4EE088_sound_ids[v2->spell_id]; + v116 = word_4EE088_sound_ids[v2->spell_id - 1]; LABEL_269: v125 = v116 + 1; goto LABEL_29; diff -r 2767980b98bb -r 62f4cdaa726b mm7_3.cpp --- a/mm7_3.cpp Sat Jun 15 17:39:20 2013 +0600 +++ b/mm7_3.cpp Sat Jun 15 23:58:19 2013 +0600 @@ -1627,9 +1627,9 @@ auto v67 = GetTickCount() / 500; if (dword_720CDC != v67 ) { - dword_4F8580[3 * dword_4F8580[0] + 1] = pParty->vPosition.x; - dword_4F8580[3 * dword_4F8580[0] + 2] = pParty->vPosition.y; - dword_4F8580[3 * dword_4F8580[0]++ + 3] = pParty->vPosition.z; + dword_4F8580[3 * dword_4F8580[1]] = pParty->vPosition.x; + dword_4F8580[3 * dword_4F8580[2]] = pParty->vPosition.y; + dword_4F8580[3 * dword_4F8580[3]] = pParty->vPosition.z; if ( dword_4F8580[0] > 60 ) dword_4F8580[0] = 1; } diff -r 2767980b98bb -r 62f4cdaa726b mm7_6.cpp --- a/mm7_6.cpp Sat Jun 15 17:39:20 2013 +0600 +++ b/mm7_6.cpp Sat Jun 15 23:58:19 2013 +0600 @@ -2781,8 +2781,8 @@ if (pCastSpell->forced_spell_skill_level) uRequiredMana = 0; else - uRequiredMana = pSpellDatas[pCastSpell->spellnum].mana_per_skill[v731 - 1]; - sRecoveryTime = pSpellDatas[pCastSpell->spellnum].recovery_per_skill[v731 - 1]; + uRequiredMana = pSpellDatas[pCastSpell->spellnum - 1].mana_per_skill[v731 - 1]; + sRecoveryTime = pSpellDatas[pCastSpell->spellnum - 1].recovery_per_skill[v731 - 1]; if (LODWORD(v725) == PLAYER_SKILL_DARK && pParty->uCurrentHour == 0 && pParty->uCurrentMinute == 0 || LODWORD(v725) == PLAYER_SKILL_LIGHT && pParty->uCurrentHour == 12 && pParty->uCurrentMinute == 0)