Wake of Gods Forum | Форум Во Имя Богов

Full Version: ERA III
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Berserker, подключил era.cpp отдельным модулем, добавил в инклюд era.h, компилируется нормально, но все равно крашится при запуске.

В общем, я нашел причину вылета при сохранении. По какой-то причине его вызывает удаление всех сборных артов.
Code:
// Сборные артефакты и их состав.
int* artifact_combo_mask_list = new int[192] {
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0 };
memcpy(*(_ptr_**)0x660B6C, artifact_combo_mask_list, 768);
delete[] artifact_combo_mask_list;

То есть без этого участка кода информация сохраняется и загружается нормально.
То есть ты создаёшь временный буфер, затем копируешь его в геройский массив, затем удаляешь?
Да. Наверно можно обойтись простым изменением геройского массива, но я пока ещё до этого не дошёл. Учусь, меняю, оптимизирую код.
В общем сборники я отключил по-другому, теперь события сохранения и загрузки работают нормально.
Reference URL's