<<Предыдущая
статья | Следующая
статья>>
1.
Настройка MSVC
Ваша система должна
быть настроена для работы с MSVC. Для этого
откройте autoexec.bat и добавьте в конце следующие строки:
call C:\PROGRA~1\MICROS~2\VC98\BIN\vcvars32.bat
Где “MICROS~2” DOS-имя папки, куда установлен Microsoft Visual Studio. Если ваш VCVARS32.BAT расположен
где-то еще то измените путь соответственно. Если он
вообще отсутствует, тогда переустановите MSVC.
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND; C:\QUAKE3\SOURCE\BIN;
Эта команда указывает
на путь к инструментам компиляции при создании QVM.
2. Инсталяция
Ваш Quake3 и исходники должны быть по умолчанию установлены в C:\Quake3, т.к
Q3AGameSource любит только эту директорию. Иначе вам придется переименовывать
папки. После установки исходников вы должны увидеть папку C:\Quake3\source .
3. Открытие проекта
Если у вас установлен MSVC, то двойной клик по “C:\Quake3\source\code\
quake3sdk.dsw” откроет проект.
Слева на панели вы
увидите список классов. Щелкните по FileView и вы увидите дерево.
Заметьте в нем три проекта. ‘game’ наиболее
интересный- он описывает то, как сервер запускает
игру. 'cgame' содержит код Клиента, тогда как ‘ui’ (user inteface) содержит данные о пользовательском интерфейсе в игре(менюшки и т.д.)
Мы в большинстве
случаев будем делать изменения в файлах исходного кода (*.с)
и заголовочных файлах (*.h). Двойной клик
по файлу в дереве проектов откроет
окно Редактора. Попробуйте открыть некоторые файлы и просмотреть их. Не беспокойтесь, они выглядят не много страшными на первый взгяд, но не все так плохо)). Вот
например одна функция из очень
интересного файла g_weapon.c:
/*
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
ROCKET
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
*/
void Weapon_RocketLauncher_Fire (gentity_t *ent) {
gentity_t*m;
m = fire_rocket (ent,
muzzle, forward);
m->damage *= s_quadFactor;
m->splashDamage *= s_quadFactor;
//VectorAdd( m->s.pos.trDelta,
ent->client->ps.velocity,
m->s.pos.trDelta );
// "real" physics
}
Да! Это код,
который выстреливает ракету всякий раз, когда вы нажимаете mouse1! В действительности наш код всего лишь вызывает
функцию fire_rocket, затем преобразует повреждения от снаряда в
соответствии с quad’ом.
Найдите в исходниках функцию fire_rocket, чтоб подробней
понять, как она работает. (Tips: вы можете
использовать инструмент 'Find in Files, чтоб быстрее найти обьявленную
функцию. )
4. Компилируем проект
Ok. В MSVC, выберите меню "Project" à"Set Active
Project à 2 game". Чтоб скомпилировать проект 'game', выберите "Build qagamex86.dll (F7)" из меню "Build". Вы должны закончить с "0 error(s), 0 warning(s)" (пока же
мы еще ничего не меняли….верно?). Файл qagamex86.dll должен
появиться в вашей c:\Quake3\source\сode\Debug_TA” директории.
5.
Создание QVM
Создать .qvm, или 'quake virtual
machine' просто до
безобразия)). (при условии,
что среда программирования настроена правильно). Вы спросите, что такое .qvm? Я предпочитаю думать, что это «безопасная» замена для
.dll. Он безопаснее, потому что не может делать
вредные вещи, какие делают .dll (уничтожить винт например). Но нельзя сказать ,
что они 100% безопасны (запомните, что хакеры взломали JavaApplets с
помощью переполнения стека virtual machine), но они намного безопаснее.
Теперь давайте
создадим QVM. Зайдите в папку C:\Quake3\source\code\game и запустите файл game.bat (предварительно установив новые батч-файлы). Вуаля!! Новенький game.qvm появился
в папке C:\Quake3\baseq3\vm. Таким же образом
создаются файлы сgame.qvm и ui.qvm.
Ну вот вроде немного поднабрались опыта. А теперь давайте
замутим наш первый мод………
<<Предыдущая статья | Следующая
статья>>
|