1 ====================================================== TODO
3 - усталость юнитов от атак и слишком быстрого движения
4 отдых юнитов для удаления усталости и лечения
6 - добавить конницу со способностью разбега
7 основной атакой должен быть проскок через врага
9 - дальнобойных лучников (но с возможностью рукопашного боя)
11 - наверное, должны быть разные функции для начала
14 - способность 'метание' (как у разведчиков и КВ)
16 - боевой дух, разбитые отряды, отступление
20 - добавить местность: болото
22 - добавить объекты: замок. деревня.
24 - хранить в юните его эранные координаты и рисовать по ним
26 - вынести таблицы местности из unit_type
28 - добавить зоны видимости, туман войны,
29 засады, невидимок (видимы только в радиусе 1 клетки)
30 прим: зона видимости полностью пересчитывается
31 на начало хода. при движении юнитов она только
32 наращивается(т.е. уже известное не пропадает)
34 - updatefog должен вызывать не из draw(), а при изменении
37 - добавить базовую систему особенностей и состояний
39 - функция добавления в список типов юнитов. принимает кучу
40 всего и строковое название типа, а не указаель
42 - читать карту, расстановку юнитов, типы юнитов из файла
44 - назвать move_index и attack_index понятнее
46 move_index -> move_stepnumber/ move_stepcount
48 - заменить attack_shoot_index обычным индексом атаки.
49 тогда приедтся рисовать стрелка отдельным макаром
51 - isinvis можно переписать и проверять не просто
52 соседние клетки, а проходить по всем юнитам врага
53 и проверять растояние до нашего юнита. тогда можно
54 будет делать обнаружение юнитов на разных дистанциях
56 - добавить "хвост" за летящим снарядом.
57 рисовать в цикле bzline'ом
59 - хранить типы юнитов со связанной инфой в текстовых файлах
61 - особенность: бешенный. пока в радиусе 1 клетки есть враг
62 юнит не будет передвигаться
64 - добавить для некоторых отрядов особенность "построение"
65 т.е. построение для атаки, оборонительное, ченить
66 увеличивающее скорость передвижения, т.д.
68 - присмотреться к либам:
69 sdl_blitpool - вставить для опитмизации (потом)
70 sdl_picofont - создать свой шрифт (на основе terminus)
72 - добавить особенность: несколько атак за ход
74 - map должен быть динамически выделяемой памятью,
75 а размеры - переменные а не константы
77 - убрать неиспользуемые/лишние поверхности
79 удалить все .xpm файлы и назвать их понятнее
81 - при предачи событий движения через очередь очень криво
82 реализована область видмости
83 (она нужна для движения-засад)
85 =================================================== BUGS
86 - при атаке область видимости атакующего юнита пропадает
87 возможно, исправится обновлением области только
90 - баг: если солдат окружен и ему надо отступить -
93 - невидимность юнита проверяется не правильно:
94 надо искать рядом не просто врагов, а юнитов тукещего игрока
96 =================================================== NOTES */
98 - старатсья писать все на английском
100 - писать короткие функции, что бы пустые строки в них были
103 - именовать функции согласно тому,что они делают.
104 если имена выходят длинные - разбивать функции
106 - хорошенько разобраться с .png форматом
108 - начать вести лог изменений (комменты для каждого бекапа)