(01.03.2019 19:03)Algor Wrote: А можно подробнее?
Под ресейвер PO выделена память, рассчитанная на карты 144х144х2. А проверяющий код там следующий:
Code:
sz=GetMapSize(); lv=GetMapLevels(); - может получить размер карты больше, чем поддерживается в ERM.
if((x<0)||(x>=sz)){ MError("\"!!PO\"-wrong position (x)."); RETURN(0) }
if((y<0)||(y>=sz)){ MError("\"!!PO\"-wrong position (y)."); RETURN(0) }
if((l<0)||(l>lv)) { MError("\"!!PO\"-wrong position (l)."); RETURN(0) }
Соответственно, портятся воговские данные, расположенные за границами таблиц _Square_ и _Square2_. В MoP эти таблицы пришлось перенести и расширить до размеров карт 252х252х2. На ЭРА тоже такое нужно делать при использовании ххл-мода совместно с PO. Да и сам эровский ххл-мод нагружает CPU кучей ненужных операций деления (т.е. коэффициенты масштабирования радара в нём постоянно вычисляются заново при каждом обновлении радара вместо того, чтобы просто брать готовые и заранее вычисленные), что мне тоже не понравилось - под MoP пришлось так же заменить все операции деления. Ну и сами текстуры выделения радара так же пришлось рисовать в паинте - эровский ххл-мод использует стандартные, из-за чего зона выделения в нём не соответствует реальности (хотя HD-мод вроде бы правит этот баг, но не все игроки могут использовать HD-мод). Вроде бы находились ещё какие-то баги ххл-мода, которые правились в MoP, на память уже не скажу...