QuakeC: Комментарии,имена и типы

Написано: суббота, 31 мая 2014 г. автор st1x51
0

Комментарии

  • // Однострочный комментарий
  • /* Блок комментарий,может быть больше одной строки */
Эти комментарии такие же как и в С++(И других С подобных языках)
// Однострочный комментарий

/*
Блок
комментарий
*/ 

Имена

Имена переменных,полей или функций имеют максимум 64 символа, они должны начинаться с A-Z,a-z, или с символа подчеркивания, и могут продолжаться с этими символами или с 0-9.
Имена переменных, функций и т.п. называются идентификаторами.

Определение новых типов

Начнем с плохой новости: определение новых типов невозможно. Это означает,что вы не сможете создать тип под названием ammo, полученный из float, который будет использован для хранения патронов.

Определение структур и объектов

Часто бывает удобно, в С (или C++), создавать новые структуры ( объекты, или записи) для хранения связанной информации в одном месте. Например, вы можете использовать единую структуру для хранения всех патронов игрока, а также текущее выбранное оружие, поскольку эта информация связана между собой.
Хоть entity и vector очевидно структуированные типы, невозможно создавать новые структуированные типы такого рода , в Quake-C. Однако тип entity может быть модифицирован чтобы удовлетворить ваши потребности.


Язык QuakeC

Написано: автор st1x51
0

QuakeC — интерпретируемый язык программирования, разработанный в 1996 году Джоном Кармаком (id Software) для написания части компьютерной игры Quake. Используя QuakeC, программист имеет возможность модифицировать игру: добавить оружие, изменить игровую логику и физику, написать сложный сценарий. Язык может использоваться для контроля за многими аспектами игры, такими как искусственный интеллект (противников), триггеры, изменения на карте. Программы на QuakeC компилируются в байт-код.

С чего начать?
Первый шаг - конечно же чистые исходники QuakeC 1.06 и хороший компилятор,например FTEQCC, рекомендую fteqccgui.
В fteqccgui можно редактировать код и там даже есть подсветка синтаксиса, но работать в нем бывает неудобно, поэтому лучше скачать бесплатный текстовый редактор Notepad++ и подсветку синтаксиса специально для QuakeC, вот.
Ставить так: Синтаксисы>Задать свой синтаксис>Импортирование.

Начало положено? Отлично!
Теперь кидаем fteqcc в папку с нашими исходниками, компилируем, если компиляция пройдет успешно, мы получим progs.dat.

Как компилятор знает, что ему компилировать, а что нет?
В папке с исходниками есть файл progs.src. Он служит для  объявления .qc файлов. Компилятор считывает все объявленные .qc по порядку и на выходе получается progs.dat
В начале файла есть defs.qc, в нем содержатся системные глобальные переменные, поля, функции,а также обычные глобальные переменные и т.п.



Тест SyntaxHighlighterQC

Написано: четверг, 24 апреля 2014 г. автор st1x51
0

void() mp3_random_player =
{
 local float r;
 r = floor(random() * 6);
 switch(r)
 {
  case 0:
   WriteByte (MSG_ALL, SVC_CDTRACK);
   WriteByte (MSG_ALL, 1);
   WriteByte (MSG_ALL, 0);
  break;
  case 1:
     WriteByte (MSG_ALL, SVC_CDTRACK);
     WriteByte (MSG_ALL, 2);
     WriteByte (MSG_ALL, 0);
  break;
  case 2:
     WriteByte (MSG_ALL, SVC_CDTRACK);
     WriteByte (MSG_ALL, 3);
     WriteByte (MSG_ALL, 0);  
  break;
  case 3:
     WriteByte (MSG_ALL, SVC_CDTRACK);
     WriteByte (MSG_ALL, 4);
     WriteByte (MSG_ALL, 0);  
  break;
  case 4:
     WriteByte (MSG_ALL, SVC_CDTRACK);
     WriteByte (MSG_ALL, 5);
     WriteByte (MSG_ALL, 0);
  break;
  case 5:
     WriteByte (MSG_ALL, SVC_CDTRACK);
     WriteByte (MSG_ALL, 6);
     WriteByte (MSG_ALL, 0);
  break;
 }
}
UPD: исходники тут

PAK Explorer

Написано: понедельник, 31 марта 2014 г. автор st1x51
0

 Программа для распаковки и изменения .pak файла

Quake Model Editor 3.1 (QME 3.1)

Написано: воскресенье, 30 марта 2014 г. автор st1x51
0

Отличная программа для создания и редактирования моделей Quake 1(mdl), Quake 2(md2)
Самое главное,что это полная версия,без ограничения на 20 кадров на модель.
Также в архиве есть программа для открывания PAK файлов.

Wintextract

Написано: автор st1x51
0


Программа,которая вытаскивает .wad файлы из любой карты формата bsp.

Декомпилятор карт WinBSP

Написано: автор st1x51
0


Умеет декомпилировать карты из Half Life и Quake в формат .map.
Не всегда срабатывает,бывает отрезает браши.

Quake MDL Decompiler

Написано: автор st1x51
0


Декомпилятор моделей Quake 1 в формат SMD.