Спасибо, как-то так я и думал. Но при таких условиях по идее резко возрастет количество потребляемой памяти и время на запись/сохранение. Я вот думаю, как бы ввести int массив прокачек типа вектор, содержащие индекс прокачки в GC.getNumPromotionInfos() Но вот как конкретно это реализовать пока не знаю. Я C++ начал изучать только в июне, и то по книжкам, так что реального опыта в этом маловато.А во-вторых можно заменить булевый масив наличия прокачек у юнита, на масив существующих прокачек у юнита (и переделывать его при получении или потери прокачки) и переменную количества этих прокачек. Тогда код будет выглядеть так.
Там проблема в другом, там функция возвращает ссылку на пустой вектор, потому как LayerAnimationPaths отвечает за изменение внешнего вида юнита при получении прокачки. А таких прокачек не только в игре, но и в большинстве модов нет. Я специально смотрел в Master of Mana и Caveman2Space. Таких прокачек там не нашел. Я пробовал изменить функцию, убрав из неё ссылку на вектор. Но игра теперь не идет дальше главного меню. Буду думать дальше.Похоже найден виновник многих несуразностей. Это функция CvUnit::getLayerAnimationPaths




Ответить с цитированием