12:07]ZZYZX:А это не тот же самый краш где нулевой итем?
[12:08]ZZYZX:А удаление точки просто перезаписывает карту, вот оно и фиксится
[12:08]ZZYZX:Хотя посмотреть надо)
[12:10]ZZYZX:ух ты
[12:10]ZZYZX:Это вообще как
[12:12]ZZYZX:Выглядит как как будто во время итерации по списку (чуть ли не с помощью std::...::iterator) чего-то там оказывается нулл
[12:12]ZZYZX:Вопрос в том, почему нет проверки
[12:20]ZZYZX:Там такая конструкция странная которая не очень декомпилится идой
[12:20]ZZYZX:
Attachment file type: unknown
unknown.png
7.32 KB
[12:20]ZZYZX:Суть в том что sub_59BEDB принимает два аргумента
[12:21]ZZYZX:а arg0, это аргумент как раз в 59AB40, которое и крашится
[12:21]ZZYZX:а хотя не)
[12:21]ZZYZX:Даже веселее
[12:21]ZZYZX:В 59AB40 вообще нету аргумента
[12:21]ZZYZX:Но при этом изнутри он читается
[12:21]ZZYZX:Как — мне непонятно
[12:22]ZZYZX:так
[12:22]ZZYZX:чё-т я куда-то не туда смотрю :D
[12:22]ZZYZX:Там стек чтоли кривой какой-то
[12:24]ZZYZX:0059FF27h <= 0059C3DBh это никак не получится, потому что перед 0059C3DBh стоит вызов 59BEDB а не 59FF10 --
[12:26]ZZYZX:Вывод, настоящий вызов находится внутри 59BEDB вот тут:
[12:26]ZZYZX:
Attachment file type: unknown
unknown.png
18.04 KB
[12:26]ZZYZX:Хоть стеку и не соответствует, зато ближайший)
[12:32]ZZYZX:У меня только один вопрос, на хуя это вообще делается
Attachment file type: unknown
unknown.png
6.88 KB
[12:32]ZZYZX:Этот код условно не делает вообще ничего
[12:32]ZZYZX:а, не, делает, кстати) он ставит a1=a1, условно. Просто изнутри это выглядит как a1 = **a1
[12:32]ZZYZX:В общем я примерно понял что происходит
[12:33]ZZYZX:Там какой-то linked list
[12:33]ZZYZX:Который кончается раньше
[12:33]ZZYZX:Чем указано в его размере (v23[3])
[12:34]ZZYZX:Происходит всё это мракобесие в конце загрузки карты
[12:34]ZZYZX:Скорее всего опять редактор какую-то дичь туда записал
[12:35]ZZYZX:Сохраните карту потом посмотреть чё с ней)
[12:35]ZZYZX:а. Был файл
[12:36]ZZYZX:В общем самый простой способ пофиксить конкретно это — проверять, что нулл (a1==0), перед вызовом 59FF10 (не внутри!)
temporary workaround on 'map' side - changed this respawn point to proper place..
Map: beach_t1.alm : https://github.com/igroglaz/rom2maps/blob/master/3%20hard/beach_t1.alm
if I delete bottom respawn point - map starts to crush server with error:
Warbeginner: how such return could appear?
ZZYZX (in Russian from discord):
temporary workaround on 'map' side - changed this respawn point to proper place..