QUAKE III MODIFICATION WORLD

                                       Компилируем Q3 с помощью MSVC++ 6.0

ГЛАВНАЯ

НОВОСТИ

 СТАТЬИ

МОДЫ

 ФАЙЛЫ

ДЕМКИ

ФОРУМ

ГОСТЕВАЯ

ССЫЛКИ

МЫЛО

<<Предыдущая статья | Следующая статья>>

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\sourceode\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.

 

Ну вот вроде немного поднабрались опыта. А теперь давайте замутим наш первый мод………

<<Предыдущая статья | Следующая статья>>

 Copyright (c)2003 MasTer

Хостинг от uCoz