Mercurial > mm7
diff Outdoor.cpp @ 2162:5e1f535bad58
ODM_ProcessPartyActions continue
author | Ritor1 |
---|---|
date | Tue, 14 Jan 2014 17:29:20 +0600 |
parents | c68723f7b522 |
children | 9aa0a5d90454 |
line wrap: on
line diff
--- a/Outdoor.cpp Mon Jan 13 17:32:00 2014 +0600 +++ b/Outdoor.cpp Tue Jan 14 17:29:20 2014 +0600 @@ -3996,20 +3996,20 @@ { *(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 * 3.141592653589 * _angle_y / 2048.0); + float cos_y = cosf(2 * 3.141592653589 * _angle_y / 2048.0); int dx = cos_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; int dy = sin_y * pParty->uWalkSpeed * fWalkSpeedMultiplier; - if (pParty->bFlying) + if (pParty->bFlying)//лететь вперёд { v2 += 4 * dx; v1 += 4 * dy; v128 = v1; } - else if (partyAtHighSlope && !bmodel_standing_on_pid) + else if (partyAtHighSlope && !bmodel_standing_on_pid)//сбегание со склона { v2 += dx; v1 += dy; @@ -4019,8 +4019,13 @@ } else { - v2 += 2 * dx; - v1 += 2 * dy; + v2 += (unsigned __int64)(stru_5C6E00->Cos(_angle_y) + * (signed __int64)(signed int)(2 * (unsigned __int64)(signed __int64)((double)_walk_speed * fWalkSpeedMultiplier))) >> 16; + v1 += (unsigned __int64)((signed int)stru_5C6E00->Sin(_angle_y) + * (signed __int64)(signed int)(2 * (unsigned __int64)(signed __int64)((double)_walk_speed * fWalkSpeedMultiplier))) >> 16; + + /*v2 += 2 * dx;//original -228, now -222 it's temporarily + v1 += 2 * dy;//original -2295, now -2292*/ v128 = v1; party_running_flag = true;