АВТОР
Василий Дёмин aka  undefined3102

ЭТА ИГРА СТРАННО ВЕДЁТ СЕБЯ ПОД WINDOWS
Под linux игра запускается без багов, в отличие от windows сборки.
При перемещении окна в windows игра останавливается, и в ней начинают происходить странные вещи. После остановки перемещения, игра вновь работает нормально.
Также в windows версии почему-то отпал консольный вывод.
Если вы знаете как это исправить, напишите пожалуйста на этот адрес undefined3102@gmail.com

ЭТА ИГРА ПОЛНОСТЬЮ СВОБОДНА(GPLv2)
Вы также можете скачать её исходники на bitbucket/
git clone https://Undefined3102@bitbucket.org/Undefined3102/the-react.git

ЗАВИСИМОСТИ
SDL2 - libsdl.org
OPENGL - gl.h and glu.h

СБОРКА В MINGW
В папке source есть пример Makefile для mingw;


ЗАПУСК
react.exe ширина_окна высота_окна - windows
./bin/react ширина_окна высота_окна - unix

УПРАВЛЕНИЕ
W - Движение Вперёд
A - strafe влево
D - strafe вправо
S - strafe вниз
Левая, правая, средняя кнопки мыши - стрелять

ГЕЙМПЛЕЙ
Чтобы закончить уровень, вы должны убить всех монстров и пройти в конец уровня
Также вы можете посмотреть прохождение на youtube
https://www.youtube.com/watch?v=Zim4NvGW6TE

ФОРМАТ КАРТ
карты в react - обычные текстовые файлы.
Например: w,100,100,0,0,1;
w - стена;
100 - x координата;
100 - y координата;
0 - красный цвет(от 0 до 1);
0 - зелёный цвет(от 0 до 1);
1 - синий цвет(от 0 до 1);

Например: e,80,25,hexenemy;
e - враг;
80 - x координата;
25 - y координата;
hexenemy - имя файла с параметрами врага;

Например: b,12,32,speedup;
b - бонус;
12 - x координата;
32 - y координата;
speedup - имя файла с параметрами бонуса;

Например: f,300,0,500,100;
f - место конца уровня;
300 - x координата;
0 - y координата;
500 - ширина ограничивающего прямоугольника;
100 - высота ограничивающего прямоугольника;

Например: p,950,150;
p - начальные координаты игрока;
950 - x координата;
150 - y координата;

ФОРМАТ ФАЙЛОВ С ПАРАМЕТРАМИ ВРАГОВ
Например: v,0,0,0,1,0,20,0,0,1,0,20,20,0,1,0,0,20,0,1,0;w,20;h,20;l,10;s,2;r,2;g,7;d,20;

v,x1,y1,red,green,blue,x2,y2,red,green,blue,...; - точки(GL_LINE_LOOP) для отрисовки врага.
w,20; - ширина ограничивающего прямоугольника;
h,20; - высота ограничивающего прямоугольника;
l,10; - количество жизней врага;
s,2; - скорость врага;
r,2; - радиус патронов врага;
g,7; - скорость патронов врага;
d,20; - скорость перезарядки;

ФОРМАТ ФАЙЛА С ПАРАМЕТРАМИ БОНУСА
Например: v,0,10,1,0,0,0,0,1,0,0,5,0,1,0,0,5,5,1,0,0,0,5,1,0,0,5,10,1,0,0,0,5,1,0,0;w,5;h,10;f,radiusup;d,400;a1,6;a2,10;

v,x1,y1,red,green,blue,x2,y2,red,green,blue,...; - точки(GL_LINE_LOOP) для отрисовки бонуса.
w,5; - ширина ограничивающего прямоугольника;
h,10; - высота ограничивающего прямоугольника;
f,radiusup; - имя функции(должна содержаться в файла bonus_func.h и bonus_func.c), которая будет исполняться при активации бонуса
	Прототип функции: void func_name(Player *p, float data);
	Функция будет исполнена два раза.
	Первый при активации, второй при деактивации
d,400; - длительность действия бонуса(таймер деактивации);
a1,6; - аргумент для первого вызова функции(aka data);
a2,10; - аргумент для второго вызова функции(aka data);
