completely changed event_queue logic
[h2d.git] / notes
blobcfb98f12373260b6e768da638991ad56fe7de295
1 ====================================================== TODO
3 - усталость юнитов от атак и слишком быстрого движения
4   отдых юнитов для удаления усталости и лечения
6 - добавить конницу со способностью разбега
7   основной атакой должен быть проскок через врага
9 - дальнобойных лучников (но с возможностью рукопашного боя)
11 - наверное, должны быть разные функции для начала
12   рукопашной и стрельбы
14 - способность 'метание' (как у разведчиков и КВ)
16 - боевой дух, разбитые отряды, отступление
18 - огонь прикрытия
20 - добавить местность: болото
22 - добавить объекты: замок. деревня.
24 - хранить в юните его эранные координаты и рисовать по ним
26 - вынести таблицы местности из unit_type
28 - добавить зоны видимости, туман войны,
29   засады, невидимок (видимы только в радиусе 1 клетки)
30   прим: зона видимости полностью пересчитывается 
31   на начало хода. при движении юнитов она только
32   наращивается(т.е. уже известное не пропадает)
34 - updatefog должен вызывать не из draw(), а при изменении
35   положения отрядов
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 - убрать неиспользуемые/лишние поверхности
78   назвать их понятнее
79   удалить все .xpm файлы и назвать их понятнее
81 - при предачи событий движения через очередь очень криво
82   реализована область видмости
83   (она нужна для движения-засад) 
85 =================================================== BUGS
86 - при атаке область видимости атакующего юнита пропадает
87   возможно, исправится обновлением области только
88   при движении
90 - баг: если солдат окружен и ему надо отступить -
91   - будет фигня.
93 - невидимность юнита проверяется не правильно:
94   надо искать рядом не просто врагов, а юнитов тукещего игрока
96 =================================================== NOTES */
98 - старатсья писать все на английском
100 - писать короткие функции, что бы пустые строки в них были
101   не нужны
103 - именовать функции согласно тому,что они делают.
104   если имена выходят длинные - разбивать функции
106 - хорошенько разобраться с .png форматом
108 - начать вести лог изменений (комменты для каждого бекапа)