Продолжение исследования той же функции.
Функция срабатывает, когда персонаж падает.
С помощью маркеров я увидел
1) не больше двух вариантов прохождения кода (только два маркера, только два пути)
2) есть код, который вообще не выполнялся
Очень интересно, что маркеры появлялись в рантайм на мои действия в игре.
Можно включать и выключать маркеры через Lua консоль
visibleColorTable[1] = false
visibleColorTable[2] = false
Проблемы:
1. Прозрачное наложение цветов не удалось добиться. Маркеры сейчас могут перекрашивать друг друга.
2. Не хватает UI инфы. Сколько сейчас цветов всего может быть, идет ли отладка.
3. Не изучена ситуация, если функция будет выполняться очень часто. Сейчас подлагивает на глазок до 4-6 fps.
4. Нет кнопки, чтобы остановить отладку. Отладка не останавливается пока не будет зарегистрировано больше 8-ми отличающихся логик в функции (т.е. путей обозначенных цветами)
5. Включение и выключение плагина
6. Нужен UI ввода адресов старта и конца исследования
Пока решил не красить маркерами адреса во внутренних call-ах, т.к. надо решить проблемы выше. Но забегая вперед скажу, я в предвкушении изучить вложенные функции, которые работают и для ГГ и для NPS (вражеских, дружественных). Хочу увидеть как раскрашивается код для каждой группы. Там где отличие, там можно попробовать поставить фильтр.
Завел репозиторий "Lua Plugin CE Marked addresses", последний коммит там. Но код еще сырой.