Показать сообщение отдельно
Старый 02.06.2010, 07:14   #3
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Я пере-просмотрел код и не вижу ничего корректного в патче.

Мы вибираем наборы ячеек вокруг конкретной в которой стоит игрок.
+- на определенное колличество.

Операторы << -= >> += определены так что всегда возвращают номер ячейки не выходящей за пределы (0..LIMIT-1)

Соответствеено цикл _должен_ включать правый пограничный номер.
Т.е. _должен_ быть в ввиде y <= end_cell.y_coord

Иначем у вас нарушается симметрия области.

Проблема может быть только если
CellArea area = Cell::CalculateCellArea(*plr, GetVisibilityDistance());

вычисляет размеры области некоректно
__________________
Так как устал объяснять знайте ICQ не пользуюсь

Последний раз редактировалось Vladimir; 02.06.2010 в 07:16.
Vladimir вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Insider42 (02.06.2010), SilverIce (02.06.2010)