OGSR-Engine icon indicating copy to clipboard operation
OGSR-Engine copied to clipboard

Баг с дистанцией до цели

Open DmitriySolontsevoy opened this issue 2 years ago • 12 comments

Если вращать камерой, стоя на месте, расстояние до цели на радаре будет меняться. ss_dima_01-04-22_16-20-18_(l01_escape) ss_dima_01-04-22_16-20-13_(l01_escape) В оригинале такого не наблюдал

DmitriySolontsevoy avatar Jan 04 '22 14:01 DmitriySolontsevoy

Не подтверждаю ss_admin_01-06-22_17-31-00_(l03_agroprom) ss_admin_01-06-22_17-31-03_(l03_agroprom)

xrSimpodin avatar Jan 06 '22 14:01 xrSimpodin

Специально проверял на чистой игре + последний релиз OGSR

DmitriySolontsevoy avatar Jan 07 '22 12:01 DmitriySolontsevoy

кстати да, есть. Но не всегда и не везде. ЧуднО.

xrSimpodin avatar Jan 08 '22 17:01 xrSimpodin

Подсказка: проблема в функции CUIMapWnd::SetTargetMap

xrModder avatar Jan 14 '22 17:01 xrModder

Сомнительно

xrSimpodin avatar Jan 14 '22 17:01 xrSimpodin

Там берётся позиция Device.vCameraPosition: xrGame\map_location.cpp

v2v3v4 avatar May 29 '22 15:05 v2v3v4

В методе UpdateSpotPointer (map_location.cpp) сделал вместо:

Fvector2 tt = map->ConvertLocalToReal(m_position_on_map);
Fvector ttt;
ttt.set		(tt.x, 0.0f, tt.y);
float dist_to_target = Level().CurrentEntity()->Position().distance_to(ttt);
map->SetPointerDistance	(dist_to_target);

Вот так:

Fvector2 tt = sp->MapLocation()->Position();
Fvector ttt;
ttt.set(tt.x, 0.0f, tt.y);
float dist_to_target = Actor()->Position().distance_to(ttt);
map->SetPointerDistance	(dist_to_target);

Полечило

DmitriySolontsevoy avatar Sep 02 '22 19:09 DmitriySolontsevoy

выглядит логично. я перенесу в репу

joye-ramone avatar Sep 03 '22 15:09 joye-ramone

Нет, не работает нормально. Вообще я этот баг не могу повторить. Нужно больше информации

joye-ramone avatar Sep 16 '22 21:09 joye-ramone

@joye-ramone да, заметил. Мой вариант работает правильно только тогда, когда я нахожусь на той же локации, на которой метка цели. Если быть на другой локации, дистанция приведёт к рандомной точке на карте (предположительно к координатам, которые занимает цель на той локации, на которой она находится). А по поводу воспроизведения бага. Специально только что повторил на свежем релизе OGSR и чистой игре. Первое же задание на кордоне пойти к Петрухе - при вращении камеры дистанция меняется

DmitriySolontsevoy avatar Sep 18 '22 10:09 DmitriySolontsevoy

Ок проверим.

joye-ramone avatar Sep 18 '22 10:09 joye-ramone

да, так и есть

  1. сейчас в движке если точка на той же карте где ГГ - баг есть, но если точка на другой локе - указываються координаты до ближайшего перехода и бага нету
  2. с твоим фиксом наоборо расстояние до точки на одной локе начинает работать верно, а для другой локи нет

Можно просто в лоб совместить в целом, ну или найти причину бага. Посмотрю что можно сдлеть

joye-ramone avatar Sep 18 '22 13:09 joye-ramone