Mercurial > mm7
comparison mm7_3.cpp @ 770:02bfc82f429c
Слияние
author | Ritor1 |
---|---|
date | Sat, 23 Mar 2013 09:26:07 +0600 |
parents | 2f40f4b35ce0 e0914a9bc424 |
children | fbae3100f991 |
comparison
equal
deleted
inserted
replaced
769:2f40f4b35ce0 | 770:02bfc82f429c |
---|---|
6822 | 6822 |
6823 v4 = a2; | 6823 v4 = a2; |
6824 v18 = a2; | 6824 v18 = a2; |
6825 if ( pParty->armageddon_timer ) | 6825 if ( pParty->armageddon_timer ) |
6826 return PaletteManager::Get(a2); | 6826 return PaletteManager::Get(a2); |
6827 if ( !pWeather->field_FA0 ) | 6827 if ( !pWeather->bNight ) |
6828 { | 6828 { |
6829 if ( day_attrib & 1 ) | 6829 if ( day_attrib & 1 ) |
6830 { | 6830 { |
6831 v14 = day_fogrange_1 << 16; | 6831 v14 = day_fogrange_1 << 16; |
6832 if ( a3 >= day_fogrange_1 << 16 ) | 6832 if ( a3 >= day_fogrange_1 << 16 ) |
6871 if ( v10 > pOutdoor->max_terrain_dimming_level ) | 6871 if ( v10 > pOutdoor->max_terrain_dimming_level ) |
6872 v10 = pOutdoor->max_terrain_dimming_level; | 6872 v10 = pOutdoor->max_terrain_dimming_level; |
6873 return PaletteManager::Get_Dark_or_Red_LUT(v4, v10, 1); | 6873 return PaletteManager::Get_Dark_or_Red_LUT(v4, v10, 1); |
6874 } | 6874 } |
6875 v6 = 0; | 6875 v6 = 0; |
6876 if ( pWeather->field_FA0 == 1 ) | 6876 if (pWeather->bNight) |
6877 { | 6877 { |
6878 v8 = 67108864; | 6878 v8 = 67108864; |
6879 if ( (signed __int64)pParty->pPartyBuffs[16].uExpireTime > 0 ) | 6879 if ( (signed __int64)pParty->pPartyBuffs[16].uExpireTime > 0 ) |
6880 v8 = pParty->pPartyBuffs[16].uPower << 26; | 6880 v8 = pParty->pPartyBuffs[16].uPower << 26; |
6881 if ( a3 <= v8 ) | 6881 if ( a3 <= v8 ) |
6952 if ( a1 < 0 ) | 6952 if ( a1 < 0 ) |
6953 { | 6953 { |
6954 v26 = v8->field_34 << 16; | 6954 v26 = v8->field_34 << 16; |
6955 v9 = v8->field_34 << 16; | 6955 v9 = v8->field_34 << 16; |
6956 } | 6956 } |
6957 v10 = pWeather->field_FA0; | 6957 v10 = pWeather->bNight; |
6958 if ( bUnderwater == 1 ) | 6958 if ( bUnderwater == 1 ) |
6959 v10 = 0; | 6959 v10 = 0; |
6960 if ( !v10 ) | 6960 if ( !v10 ) |
6961 { | 6961 { |
6962 if ( !(day_attrib & 1) && !bUnderwater ) | 6962 if ( !(day_attrib & 1) && !bUnderwater ) |
7238 } | 7238 } |
7239 else | 7239 else |
7240 { | 7240 { |
7241 if ( day_attrib & 1 ) | 7241 if ( day_attrib & 1 ) |
7242 { | 7242 { |
7243 if ( pWeather->field_FA0 ) | 7243 if ( pWeather->bNight ) |
7244 { | 7244 { |
7245 v2 = -(pWeather->field_FA0 != 1); | 7245 __debugbreak(); // decompilation can be inaccurate, please send savegame to Nomad |
7246 v2 = -(pWeather->bNight != 1); | |
7246 result = (v2 & 0xE0E0E1) - 0xE0E0E1; | 7247 result = (v2 & 0xE0E0E1) - 0xE0E0E1; |
7247 } | 7248 } |
7248 else | 7249 else |
7249 { | 7250 { |
7250 v1 = (signed __int64)((1.0 - pOutdoor->fFogDensity) * 200.0 + pOutdoor->fFogDensity * 31.0); | 7251 v1 = (signed __int64)((1.0 - pOutdoor->fFogDensity) * 200.0 + pOutdoor->fFogDensity * 31.0); |
7272 double v9; // st7@15 | 7273 double v9; // st7@15 |
7273 double v10; // st6@16 | 7274 double v10; // st6@16 |
7274 float v11; // ST14_4@17 | 7275 float v11; // ST14_4@17 |
7275 double v12; // ST08_8@17 | 7276 double v12; // ST08_8@17 |
7276 | 7277 |
7277 v3 = pWeather->field_FA0; | 7278 v3 = pWeather->bNight; |
7278 if ( bUnderwater == 1 ) | 7279 if ( bUnderwater == 1 ) |
7279 v3 = 0; | 7280 v3 = 0; |
7280 if ( pParty->armageddon_timer || !(day_attrib & 1) && !bUnderwater ) | 7281 if ( pParty->armageddon_timer || !(day_attrib & 1) && !bUnderwater ) |
7281 return 0xFF000000; | 7282 return 0xFF000000; |
7282 if ( v3 ) | 7283 if ( v3 ) |
7283 { | 7284 { |
7284 if ( v3 != 1 ) | |
7285 return 0; | |
7286 v5 = (double)day_fogrange_1; | 7285 v5 = (double)day_fogrange_1; |
7287 v6 = 216; | 7286 v6 = 216; |
7288 if ( a3 < v5 ) | 7287 if ( a3 < v5 ) |
7289 goto LABEL_11; | 7288 goto LABEL_11; |
7290 v8 = (double)day_fogrange_2; | 7289 v8 = (double)day_fogrange_2; |
7335 //int v5; // esi@1 | 7334 //int v5; // esi@1 |
7336 signed int v6; // edx@1 | 7335 signed int v6; // edx@1 |
7337 //signed int result; // eax@2 | 7336 //signed int result; // eax@2 |
7338 int v8; // eax@3 | 7337 int v8; // eax@3 |
7339 double v9; // st7@12 | 7338 double v9; // st7@12 |
7340 double v10; // ST0C_8@18 | 7339 //double v10; // ST0C_8@18 |
7341 int v11; // ecx@28 | 7340 int v11; // ecx@28 |
7342 //signed int v12; // edi@28 | 7341 //signed int v12; // edi@28 |
7343 //double v13; // ST0C_8@33 | 7342 //double v13; // ST0C_8@33 |
7344 //double v14; // ST0C_8@34 | 7343 //double v14; // ST0C_8@34 |
7345 double v15; // st7@44 | 7344 double v15; // st7@44 |
7350 signed int v20; // [sp+10h] [bp-4h]@10 | 7349 signed int v20; // [sp+10h] [bp-4h]@10 |
7351 float a3a; // [sp+1Ch] [bp+8h]@33 | 7350 float a3a; // [sp+1Ch] [bp+8h]@33 |
7352 //float a3b; // [sp+1Ch] [bp+8h]@34 | 7351 //float a3b; // [sp+1Ch] [bp+8h]@34 |
7353 float a3c; // [sp+1Ch] [bp+8h]@44 | 7352 float a3c; // [sp+1Ch] [bp+8h]@44 |
7354 //float a3d; // [sp+1Ch] [bp+8h]@44 | 7353 //float a3d; // [sp+1Ch] [bp+8h]@44 |
7355 float a4b; // [sp+20h] [bp+Ch]@18 | 7354 //float a4b; // [sp+20h] [bp+Ch]@18 |
7356 //int a4a; // [sp+20h] [bp+Ch]@33 | 7355 //int a4a; // [sp+20h] [bp+Ch]@33 |
7357 //float a4c; // [sp+20h] [bp+Ch]@44 | 7356 //float a4c; // [sp+20h] [bp+Ch]@44 |
7358 //float a4d; // [sp+20h] [bp+Ch]@44 | 7357 //float a4d; // [sp+20h] [bp+Ch]@44 |
7359 int a5a; // [sp+24h] [bp+10h]@44 | 7358 int a5a; // [sp+24h] [bp+10h]@44 |
7360 | 7359 |
7365 return 8 * (31 - max_dimm) | ((8 * (31 - max_dimm) | ((31 - max_dimm) << 11)) << 8); | 7364 return 8 * (31 - max_dimm) | ((8 * (31 - max_dimm) | ((31 - max_dimm) << 11)) << 8); |
7366 | 7365 |
7367 if (pParty->armageddon_timer) | 7366 if (pParty->armageddon_timer) |
7368 return 0xFFFF0000; | 7367 return 0xFFFF0000; |
7369 | 7368 |
7370 v8 = pWeather->field_FA0; | 7369 v8 = pWeather->bNight; |
7371 if (bUnderwater) | 7370 if (bUnderwater) |
7372 v8 = 0; | 7371 v8 = 0; |
7373 if ( v8 ) | 7372 if ( v8 ) |
7374 { | 7373 { |
7375 //__debugbreak(); // doubt that weather-related stuff will ever trigger, but if it suddenly does - find out what it is | |
7376 if ( v8 != 1 ) | |
7377 return 0; | |
7378 v20 = 1; | 7374 v20 = 1; |
7379 if ( (signed __int64)pParty->pPartyBuffs[PARTY_BUFF_TORCHLIGHT].uExpireTime > 0 ) | 7375 if ( (signed __int64)pParty->pPartyBuffs[PARTY_BUFF_TORCHLIGHT].uExpireTime > 0 ) |
7380 v20 = pParty->pPartyBuffs[PARTY_BUFF_TORCHLIGHT].uPower; | 7376 v20 = pParty->pPartyBuffs[PARTY_BUFF_TORCHLIGHT].uPower; |
7381 v9 = (double)v20 * 1024.0; | 7377 v9 = (double)v20 * 1024.0; |
7382 if ( a4 ) | 7378 if ( a4 ) |
7383 goto LABEL_19; | 7379 goto LABEL_19; |
7384 if ( distance <= v9 ) | 7380 if ( distance <= v9 ) |
7385 { | 7381 { |
7386 if ( distance > 0.0 ) | 7382 if ( distance > 0.0 ) |
7387 { | 7383 { |
7388 a4b = distance * 216.0 / v9; | 7384 //a4b = distance * 216.0 / v9; |
7389 v10 = a4b + 6.7553994e15; | 7385 //v10 = a4b + 6.7553994e15; |
7390 v6 = LODWORD(v10); | 7386 //v6 = LODWORD(v10); |
7391 if ( SLODWORD(v10) > 216 ) | 7387 v6 = floorf(0.5f + distance * 216.0 / v9); |
7388 if (v6 > 216 ) | |
7392 goto LABEL_19; | 7389 goto LABEL_19; |
7393 } | 7390 } |
7394 } | 7391 } |
7395 else | 7392 else |
7396 { | 7393 { |
10648 v11 = v10 + pOutdoorCamera->camera_rotation_y_int_sine * -pIndoorCamera->pos.y; | 10645 v11 = v10 + pOutdoorCamera->camera_rotation_y_int_sine * -pIndoorCamera->pos.y; |
10649 if ( pIndoorCamera->sRotationX ) | 10646 if ( pIndoorCamera->sRotationX ) |
10650 { | 10647 { |
10651 v14 = v10 + pOutdoorCamera->camera_rotation_y_int_sine * -pIndoorCamera->pos.y; | 10648 v14 = v10 + pOutdoorCamera->camera_rotation_y_int_sine * -pIndoorCamera->pos.y; |
10652 v15 = pOutdoorCamera->camera_rotation_y_int_cosine * v8 - pOutdoorCamera->camera_rotation_y_int_sine * v24; | 10649 v15 = pOutdoorCamera->camera_rotation_y_int_cosine * v8 - pOutdoorCamera->camera_rotation_y_int_sine * v24; |
10653 this->field_0 = ((unsigned __int64)(v11 * (signed __int64)pOutdoorCamera->camera_rotation_x_int_cosine) >> 16) | 10650 this->field_0_party_dir_x = ((unsigned __int64)(v11 * (signed __int64)pOutdoorCamera->camera_rotation_x_int_cosine) >> 16) |
10654 + ((unsigned __int64)(-65536 | 10651 + ((unsigned __int64)(-65536 |
10655 * pIndoorCamera->pos.z | 10652 * pIndoorCamera->pos.z |
10656 * (signed __int64)pOutdoorCamera->camera_rotation_x_int_sine) >> 16); | 10653 * (signed __int64)pOutdoorCamera->camera_rotation_x_int_sine) >> 16); |
10657 this->field_4 = v15; | 10654 this->field_4_party_dir_y = v15; |
10658 v12 = v25; | 10655 v12 = v25; |
10659 v13 = ((unsigned __int64)((v26 << 16) * (signed __int64)v25) >> 16) | 10656 v13 = ((unsigned __int64)((v26 << 16) * (signed __int64)v25) >> 16) |
10660 - ((unsigned __int64)(v14 * (signed __int64)v27) >> 16); | 10657 - ((unsigned __int64)(v14 * (signed __int64)v27) >> 16); |
10661 } | 10658 } |
10662 else | 10659 else |
10663 { | 10660 { |
10664 this->field_4 = pOutdoorCamera->camera_rotation_y_int_cosine * v8 - pOutdoorCamera->camera_rotation_y_int_sine * v24; | 10661 this->field_4_party_dir_y = pOutdoorCamera->camera_rotation_y_int_cosine * v8 - pOutdoorCamera->camera_rotation_y_int_sine * v24; |
10665 v12 = v25; | 10662 v12 = v25; |
10666 this->field_0 = v11; | 10663 this->field_0_party_dir_x = v11; |
10667 v13 = v26 << 16; | 10664 v13 = v26 << 16; |
10668 } | 10665 } |
10669 this->field_8 = v13; | 10666 this->field_8 = v13; |
10670 if ( pIndoorCamera->sRotationX ) | 10667 if ( pIndoorCamera->sRotationX ) |
10671 { | 10668 { |
10705 this->field_18 = -this->field_18; | 10702 this->field_18 = -this->field_18; |
10706 this->field_1C = -this->field_1C; | 10703 this->field_1C = -this->field_1C; |
10707 this->field_20 = v18; | 10704 this->field_20 = v18; |
10708 v20 = this->field_C; | 10705 v20 = this->field_C; |
10709 this->field_20 = -this->field_20; | 10706 this->field_20 = -this->field_20; |
10710 v21 = ((unsigned __int64)(v20 * (signed __int64)this->field_0) >> 16) | 10707 v21 = ((unsigned __int64)(v20 * (signed __int64)this->field_0_party_dir_x) >> 16) |
10711 + ((unsigned __int64)(this->field_10 * (signed __int64)this->field_4) >> 16) | 10708 + ((unsigned __int64)(this->field_10 * (signed __int64)this->field_4_party_dir_y) >> 16) |
10712 + ((unsigned __int64)(this->field_14 * (signed __int64)this->field_8) >> 16); | 10709 + ((unsigned __int64)(this->field_14 * (signed __int64)this->field_8) >> 16); |
10713 v28 = this->field_18; | 10710 v28 = this->field_18; |
10714 v22 = this->field_0; | 10711 v22 = this->field_0_party_dir_x; |
10715 this->field_24 = v21; | 10712 this->field_24 = v21; |
10716 v29 = (unsigned __int64)(v28 * (signed __int64)v22) >> 16; | 10713 v29 = (unsigned __int64)(v28 * (signed __int64)v22) >> 16; |
10717 result = (unsigned __int64)(this->field_1C * (signed __int64)this->field_4) >> 16; | 10714 result = (unsigned __int64)(this->field_1C * (signed __int64)this->field_4_party_dir_y) >> 16; |
10718 this->field_28 = v29 + result + ((unsigned __int64)(this->field_20 * (signed __int64)this->field_8) >> 16); | 10715 this->field_28 = v29 + result + ((unsigned __int64)(this->field_20 * (signed __int64)this->field_8) >> 16); |
10719 return result; | 10716 return result; |
10720 } | 10717 } |
10721 | 10718 |
10722 //----- (0048653D) -------------------------------------------------------- | 10719 //----- (0048653D) -------------------------------------------------------- |
10723 int stru149::_48653D(int a2, int a3, int a4, int a5, int a6, int a7) | 10720 int stru149::_48653D(int a2, int a3, int a4, int a5, int a6, int a7) |
10724 { | 10721 { |
10725 stru149 *v7; // esi@1 | 10722 stru149 *v7; // esi@1 |
10726 int v8; // edi@1 | 10723 int v8; // edi@1 |
10727 int v9; // eax@1 | 10724 int v9; // eax@1 |
10728 int v10; // edx@1 | 10725 //int v10; // edx@1 |
10729 int v11; // ecx@1 | 10726 //int v11; // ecx@1 |
10730 int v12; // eax@1 | 10727 int v12; // eax@1 |
10731 int v13; // ebx@2 | 10728 int v13; // ebx@2 |
10732 int v14; // ecx@2 | 10729 int v14; // ecx@2 |
10733 int v15; // eax@2 | 10730 int v15; // eax@2 |
10734 int v16; // ST14_4@3 | 10731 int v16; // ST14_4@3 |
10739 int v21; // ST10_4@9 | 10736 int v21; // ST10_4@9 |
10740 int v22; // eax@10 | 10737 int v22; // eax@10 |
10741 int v23; // ecx@10 | 10738 int v23; // ecx@10 |
10742 int v24; // eax@10 | 10739 int v24; // eax@10 |
10743 int result; // eax@10 | 10740 int result; // eax@10 |
10744 int v26; // [sp+14h] [bp-14h]@1 | 10741 //int v26; // [sp+14h] [bp-14h]@1 |
10745 int v27; // [sp+18h] [bp-10h]@1 | 10742 int v27; // [sp+18h] [bp-10h]@1 |
10746 int v28; // [sp+1Ch] [bp-Ch]@1 | 10743 int v28; // [sp+1Ch] [bp-Ch]@1 |
10747 int v29; // [sp+24h] [bp-4h]@1 | 10744 int v29; // [sp+24h] [bp-4h]@1 |
10748 int v30; // [sp+30h] [bp+8h]@10 | 10745 int v30; // [sp+30h] [bp+8h]@10 |
10749 int v31; // [sp+3Ch] [bp+14h]@10 | 10746 int v31; // [sp+3Ch] [bp+14h]@10 |
10751 v7 = this; | 10748 v7 = this; |
10752 v8 = stru_5C6E00->Cos(pBLVRenderParams->sPartyRotY); | 10749 v8 = stru_5C6E00->Cos(pBLVRenderParams->sPartyRotY); |
10753 v29 = stru_5C6E00->Sin(pBLVRenderParams->sPartyRotY); | 10750 v29 = stru_5C6E00->Sin(pBLVRenderParams->sPartyRotY); |
10754 v28 = stru_5C6E00->Cos(pBLVRenderParams->sPartyRotX); | 10751 v28 = stru_5C6E00->Cos(pBLVRenderParams->sPartyRotX); |
10755 v9 = stru_5C6E00->Sin(pBLVRenderParams->sPartyRotX); | 10752 v9 = stru_5C6E00->Sin(pBLVRenderParams->sPartyRotX); |
10756 v11 = -pBLVRenderParams->vPartyPos.y; | 10753 //v11 = -pBLVRenderParams->vPartyPos.y; |
10757 v26 = -pBLVRenderParams->vPartyPos.x; | 10754 //v26 = -pBLVRenderParams->vPartyPos.x; |
10758 v27 = v9; | 10755 v27 = v9; |
10759 v12 = -pBLVRenderParams->vPartyPos.z; | 10756 v12 = -pBLVRenderParams->vPartyPos.z; |
10760 if ( pBLVRenderParams->sPartyRotX ) | 10757 if ( pBLVRenderParams->sPartyRotX ) |
10761 { | 10758 { |
10762 v16 = v8 * -pBLVRenderParams->vPartyPos.x + v29 * -pBLVRenderParams->vPartyPos.y; | 10759 v16 = v8 * -pBLVRenderParams->vPartyPos.x + v29 * -pBLVRenderParams->vPartyPos.y; |
10763 v13 = v28; | 10760 v13 = v28; |
10764 v17 = -65536 * pBLVRenderParams->vPartyPos.z; | 10761 v17 = -65536 * pBLVRenderParams->vPartyPos.z; |
10765 v7->field_0 = ((unsigned __int64)(v16 * (signed __int64)v28) >> 16) | 10762 v7->field_0_party_dir_x = ((unsigned __int64)(v16 * (signed __int64)v28) >> 16) |
10766 + ((unsigned __int64)(-65536 * pBLVRenderParams->vPartyPos.z * (signed __int64)v27) >> 16); | 10763 + ((unsigned __int64)(-65536 * pBLVRenderParams->vPartyPos.z * (signed __int64)v27) >> 16); |
10767 v7->field_4 = v8 * v11 - v29 * v26; | 10764 v7->field_4_party_dir_y = v8 * -pBLVRenderParams->vPartyPos.y - v29 * -pBLVRenderParams->vPartyPos.x; |
10768 v14 = v27; | 10765 v14 = v27; |
10769 v15 = ((unsigned __int64)(v17 * (signed __int64)v28) >> 16) - ((unsigned __int64)(v16 * (signed __int64)v27) >> 16); | 10766 v15 = ((unsigned __int64)(v17 * (signed __int64)v28) >> 16) - ((unsigned __int64)(v16 * (signed __int64)v27) >> 16); |
10770 } | 10767 } |
10771 else | 10768 else |
10772 { | 10769 { |
10773 v7->field_0 = v10 + v29 * -pBLVRenderParams->vPartyPos.y; | 10770 v7->field_0_party_dir_x = v8 * -pBLVRenderParams->vPartyPos.x + v29 * -pBLVRenderParams->vPartyPos.y; |
10774 v13 = v28; | 10771 v13 = v28; |
10775 v7->field_4 = v8 * v11 - v29 * v26; | 10772 v7->field_4_party_dir_y = v8 * -pBLVRenderParams->vPartyPos.y - v29 * -pBLVRenderParams->vPartyPos.x; |
10776 v14 = v27; | 10773 v14 = v27; |
10777 v15 = v12 << 16; | 10774 v15 = v12 << 16; |
10778 } | 10775 } |
10779 v7->field_8 = v15; | 10776 v7->field_8 = v15; |
10780 if ( pBLVRenderParams->sPartyRotX ) | 10777 if ( pBLVRenderParams->sPartyRotX ) |
10815 v7->field_18 = -v7->field_18; | 10812 v7->field_18 = -v7->field_18; |
10816 v7->field_1C = -v7->field_1C; | 10813 v7->field_1C = -v7->field_1C; |
10817 v7->field_20 = v20; | 10814 v7->field_20 = v20; |
10818 v22 = v7->field_C; | 10815 v22 = v7->field_C; |
10819 v7->field_20 = -v7->field_20; | 10816 v7->field_20 = -v7->field_20; |
10820 v23 = ((unsigned __int64)(v22 * (signed __int64)v7->field_0) >> 16) | 10817 v23 = ((unsigned __int64)(v22 * (signed __int64)v7->field_0_party_dir_x) >> 16) |
10821 + ((unsigned __int64)(v7->field_10 * (signed __int64)v7->field_4) >> 16) | 10818 + ((unsigned __int64)(v7->field_10 * (signed __int64)v7->field_4_party_dir_y) >> 16) |
10822 + ((unsigned __int64)(v7->field_14 * (signed __int64)v7->field_8) >> 16); | 10819 + ((unsigned __int64)(v7->field_14 * (signed __int64)v7->field_8) >> 16); |
10823 v30 = v7->field_18; | 10820 v30 = v7->field_18; |
10824 v24 = v7->field_0; | 10821 v24 = v7->field_0_party_dir_x; |
10825 v7->field_24 = v23; | 10822 v7->field_24 = v23; |
10826 v31 = (unsigned __int64)(v30 * (signed __int64)v24) >> 16; | 10823 v31 = (unsigned __int64)(v30 * (signed __int64)v24) >> 16; |
10827 result = (unsigned __int64)(v7->field_1C * (signed __int64)v7->field_4) >> 16; | 10824 result = (unsigned __int64)(v7->field_1C * (signed __int64)v7->field_4_party_dir_y) >> 16; |
10828 v7->field_28 = v31 + result + ((unsigned __int64)(v7->field_20 * (signed __int64)v7->field_8) >> 16); | 10825 v7->field_28 = v31 + result + ((unsigned __int64)(v7->field_20 * (signed __int64)v7->field_8) >> 16); |
10829 return result; | 10826 return result; |
10830 } | 10827 } |
10831 | 10828 |
10832 //----- (0048694B) -------------------------------------------------------- | 10829 //----- (0048694B) -------------------------------------------------------- |
10841 | 10838 |
10842 v1 = this->field_C; | 10839 v1 = this->field_C; |
10843 this->field_18 = -this->field_18; | 10840 this->field_18 = -this->field_18; |
10844 this->field_1C = -this->field_1C; | 10841 this->field_1C = -this->field_1C; |
10845 this->field_20 = -this->field_20; | 10842 this->field_20 = -this->field_20; |
10846 v2 = (unsigned __int64)(v1 * (signed __int64)this->field_0) >> 16; | 10843 v2 = (unsigned __int64)(v1 * (signed __int64)this->field_0_party_dir_x) >> 16; |
10847 v3 = this->field_18; | 10844 v3 = this->field_18; |
10848 v4 = this->field_0; | 10845 v4 = this->field_0_party_dir_x; |
10849 this->field_24 = v2 | 10846 this->field_24 = v2 |
10850 + ((unsigned __int64)(this->field_10 * (signed __int64)this->field_4) >> 16) | 10847 + ((unsigned __int64)(this->field_10 * (signed __int64)this->field_4_party_dir_y) >> 16) |
10851 + ((unsigned __int64)(this->field_14 * (signed __int64)this->field_8) >> 16); | 10848 + ((unsigned __int64)(this->field_14 * (signed __int64)this->field_8) >> 16); |
10852 v5 = (unsigned __int64)(v3 * (signed __int64)v4) >> 16; | 10849 v5 = (unsigned __int64)(v3 * (signed __int64)v4) >> 16; |
10853 result = (unsigned __int64)(this->field_1C * (signed __int64)this->field_4) >> 16; | 10850 result = (unsigned __int64)(this->field_1C * (signed __int64)this->field_4_party_dir_y) >> 16; |
10854 this->field_28 = v5 + result + ((unsigned __int64)(this->field_20 * (signed __int64)this->field_8) >> 16); | 10851 this->field_28 = v5 + result + ((unsigned __int64)(this->field_20 * (signed __int64)this->field_8) >> 16); |
10855 return result; | 10852 return result; |
10856 } | 10853 } |
10857 | 10854 |
10858 | 10855 |