Автор | Сообщение |
StasBFG[iddqd] -= DoomGod =-
| | 3287 |
Doom Rate: 2.14
|
Отправлено: 28.09.08 00:09:00 | | | Собираем (G)ZDoom самостоятельно под Windows XP/Vista/Seven
x86 Версия:
Сборку разделим на 3 этапа:
1) Загрузка среды программирования и библиотек
2) Установка и конфигурация среды
3) Компиляция исходников
При повторной сборке переходите сразу к п.3.
1. Загружаемые файлы
1) Microsoft Visual C++ 2008 Express Edition - программа установки скачает необходимые компоненты из инета и всё установит
Если у вас Windows 2000 или вы хотите запускать (G)ZDoom под Windows9x - скачайте 8-ю версию (Visual C++ 2005)
2) Microsoft DirectX SDK (Feb 2010) - более новые версии работать не будут
3) FMOD Ex Programmers API 4.26.36 - В более новых версиях будут проблемы с объёмным звуком
4) NASM 2.11 - Netwide Assembler. Внимание! Версии 2.09 и выше подходят только для ZDoom ревизий 3090 и новее, для более старых версий используйте NASM 2.08.02, иначе игра может вылетать
5) glext.h и wglext.h (только для GZDoom) - правый клик -> сохранить как. Файлы обновляются примерно раз в месяц
6) Git Client - программа для загрузки последних исходников
2. Установка программ
1) После установки Visual C++, откройте его и зарегистрируйте в меню Help - Register Product (бесплатно). Это нужно чтобы через месяц после установки не возникло никаких проблем
2) Закройте VC и откройте файл C:Program FilesMicrosoft Visual Studio 9.0VCVCWizardsAppWizGenericApplicationhtml1033AppSettings.htm . Закомментируйте в нём строки 357-359:
// WIN_APP.disabled = true;
// DLL_APP.disabled = true;
// LIB_APP.disabled = true;
3) Установите DirectX SDK в папку по умолчанию
4) Установите FmodEx в папку по умолчанию
5) Распакуйте nasm в папку C:Program FilesMicrosoft SDKsWindowsv6.0Abin
6) Положите glext.h и wglext.h в папку C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl
7) Установите git клиент в папку по умолчанию
8) Откройте Visual C++ и в меню выберите Tools - Options. Перейдите на закладку Projects and Solutions - VC++ Directories
9) В списке "Show directories for" выберите Include files. Добавьте путь: C:Program FilesFMOD SoundSystemFMOD Programmers API Win32apiinc
10) В списке "Show directories for" выберите Library files. Добавьте путь: C:Program FilesFMOD SoundSystemFMOD Programmers API Win32apilib
3. Компиляция исходного кода
1) Загрузите последнюю версию исходников. Откройте консоль (cmd.exe) и перейдите в нужную папку. Выполните команду:
Для ZDoom:
svn co http://mancubus.net/svn/hosted/zdoom/zdoom/trunk zdsrc
Для GZDoom:
svn co http://mancubus.net/svn/hosted/gzdoom/trunk gzsrc
Если команда svn не найдена, то выполните такую:
SET PATH=%PATH%;C:PROGRA~1SUBVER~1BIN
2) Когда исходники скачаются, откройте Visual C++ и загрузите в нём файл (g)zdoom.sln. Появится запрос на конвертацию проекта - выберите вариант без создания бэкапов и без отображения лога.
3) В первом выпадающем списке на панели инструментов (Solution Configurations) выберите Release
4) Запустите компиляцию из меню Build - Build Solution (не обращайте внимание на Updating IntelliSense в строке состояния)
Если появилась ошибка XUSER_MAX_COUNT - установите DirectX SDK ещё раз.
5) После завершения компиляции в верхней папке относительно zdsrc (или gzsrc) должны появится 3 файла: (g)zdoom.exe, (g)zdoom.pdb и (g)zdoom.pk3 (в GZDoom также будут файлы brightmaps.pk3 и lights.pk3)
6) Для работы (G)ZDoom нужны всего 3 файла, это:
(g)zdoom.exe из папки куда скомпилировалось
(g)zdoom.pk3 из той же папки (brightmaps.pk3 и lights.pk3 советую интегрировать в gzdoom.pk3 с помощью любого zip архиватора)
fmodex.dll из папки C:Program FilesFMOD SoundSystemFMOD Programmers API Win32api
Вот в принципе и всё. Номер версии будет отображаться в заголовке окна, в консоли или по команде gameversion. Если винда установлена на другом томе, то соответственно вместо c: везде используете свою букву. В 64-bit версиях вместо Program Fiels будет Program Files (x86) (за исключением Microsoft SDK)
x64 Версия:
Многим это, возможно, будет интересно, поскольку SVN билды для этой платформы никто не выкладывает.
Напомню, что 32-битные программы в 64-битных осях потребляют почти в 2 раза больше памяти.
Рассказываю как компилировать порты с нуля, т.е. предыдущую инструкцию читать необязательно.
Сборку разделим на 5 этапов:
1) Загрузка среды программирования и библиотек
2) Установка и конфигурация среды
3) Получение исходников
4) Создание x64 конфигурации в проекте (только для GZDoom)
5) Компиляция исходников
При повторной сборке переходите сразу к п.3.
1. Загружаемые файлы
1) Microsoft Visual Studio 2008 Professional - на многих трекерах и варез портарах это есть
2) Microsoft DirectX SDK (Feb 2010) - более новые версии работать не будут
3) FMOD Ex Programmers API 4.26.36 x64 - В более новых версиях будут проблемы с объёмным звуком
4) YASM 1.2.0 x64 - Ассемблер
5) glext.h и wglext.h (только для GZDoom) - правый клик -> сохранить как. Файлы обновляются примерно раз в месяц
6) Git Client - программа для загрузки последних исходников
2. Установка программ
1) При первом запуске Visual Studio выберите "Visual C++ Development Layout" в появившемся окне.
2) Закройте VS и откройте файл C:Program Files (x86)Microsoft Visual Studio 9.0VCVCWizardsAppWizGenericApplicationhtml1033AppSettings.htm . Закомментируйте в нём строки 357-359:
// WIN_APP.disabled = true;
// DLL_APP.disabled = true;
// LIB_APP.disabled = true;
3) Установите DirectX SDK в папку по умолчанию
4) Установите FmodEx в папку по умолчанию
5) Переименуйте скаченный YASM в yasm.exe и положите его в папку C:Program Files (x86)Microsoft Visual Studio 9.0VCbinx86_amd64
6) Положите glext.h и wglext.h в папку C:Program FilesMicrosoft SDKsWindowsv6.0AIncludegl
7) Установите git клиент в папку по умолчанию
8) Откройте Visual Studio и в меню выберите Tools - Options. Перейдите на закладку Projects and Solutions - VC++ Directories
9) В списке "Platform" выберите x64, а в списке "Show directories for" - Include files. Добавьте пути:
C:Program Files (x86)Microsoft DirectX SDK (August 2009)Include
C:Program Files (x86)FMOD SoundSystemFMOD Programmers API Win64apiinc
10) В списке "Show directories for" выберите Library files. Добавьте пути:
C:Program Files (x86)Microsoft DirectX SDK (August 2009)Libx64
C:Program Files (x86)FMOD SoundSystemFMOD Programmers API Win64apilib
3. Получение исходного кода
1) Загрузите последнюю версию исходников. Откройте консоль (cmd.exe) и перейдите в нужную папку. Выполните команду:
Для ZDoom:
svn co http://mancubus.net/svn/hosted/zdoom/zdoom/trunk zdsrc
Для GZDoom:
svn co http://mancubus.net/svn/hosted/gzdoom/trunk gzsrc
2) При желании можно скачать стабильную версию. Сделать это можно тремя способами:
1) Скачать с официального сайта
2) svn export http://mancubus.net/svn/hosted/zdoom/zdoom/tags/<номер> zdsrc
или
svn export http://mancubus.net/svn/hosted/gzdoom/tags/<номер> gzsrc
3) svn co http://mancubus.net/svn/hosted/zdoom/zdoom/trunk -r <номер> zdsrc
или
svn co http://mancubus.net/svn/hosted/gzdoom/trunk -r <номер> gzsrc
Узнать каким версиям какие ревизии соответствуют можно выполнив команду:
svn log http://mancubus.net/svn/hosted/zdoom/zdoom/trunk/src/version.h -r 1:HEAD > zdoom.txt
или
svn log http://mancubus.net/svn/hosted/gzdoom/trunk/src/version.h -r 1:HEAD > gzdoom.txt
Рекомендую использовать 3-й способ - в этом случае версия в программе будет корректно отображаться
3) Для обновления уже имеющейся копии исходников, достаточно выполнить такую команду:
svn up
4. Создание x64 конфигурации для компиляции GZDoom (устарел)
Пропустите этот пункт, если вы собираете ZDoom.
1) Загрузите проект gzdoom.sln в Visual Studio и конвертируйте его в новый формат
2) В первом выпадающем списке на панели инструментов (Solution Configurations) выберите Release, а во втором - "Configuration Manager..."
3) В списке "Active solution platform" выберите "" и удалите пункт x64
4) Вернитесь в Configuration Manager и в поле "Active solution platform" выберите ""
5) В появившемся окне поставьте в первом поле x64 и нажмите ОК
6) Напротив проектов "lemon" и "re2c" поставьте в поле Platform - Win32, закройте Configuration Manager и сохраните проект
7) В Solution Explorer разверните проект "zdoom" и в папке "SDL Files" зайдите в Properties файла sdlglvideo.cpp. В поле Excluded From Build поставьте Yes. То же самое сделайте с файлом sdlglvideo.h
8) Теперь зайдите в Properties проекта zdoom:
В Configuration Properties - C++ - General - Additional Include Directories добавьте gdtoa, а snes-spcsnes-spc замените на game-music-emugme
В Linker - General - Output File поставьте "../gzdoom64.exe"
В Linker - Input - Additional Dependencies замените fmodvc.lib на fmodex64_vc.lib и добавьте opengl32.lib и glu32.lib
В Linker - Command Line - Additional Options сотрите содержимое
9) Нажмите ОК и сохраните проект (Ctrl+Shift+S).
10) Этого должно быть достаточно для сборки GZDoom. Для следующего раза можно использовать уже готовые gzdoom.sln и gzdoom.vcproj. Рекомендуется создать патч программой diff и применять его к проектным файлам в случае если они изменятся
5. Компиляция исходного кода
1) Откройте Visual Studio и загрузите в нём файл (g)zdoom.sln. Появится запрос на конвертацию проекта - выберите вариант без создания бэкапов и без отображения лога.
2) В первом выпадающем списке на панели инструментов (Solution Configurations) выберите Release, а во втором (Platform) - x64
3) Запустите компиляцию из меню Build - Build Solution (не обращайте внимание на Updating IntelliSense в строке состояния)
Если появилась ошибка XUSER_MAX_COUNT - установите DirectX SDK ещё раз.
4) Если один или несколько проектов выдадут ошибки - по окончании процесса попробуйте ещё раз запустить Build, часто помогает
5) После завершения компиляции в верхней папке относительно zdsrc (или gzsrc) должны появится 3 файла: (g)zdoom64.exe, (g)zdoom.pdb и (g)zdoom.pk3 (в GZDoom также будут файлы brightmaps.pk3 и lights.pk3)
6) Для работы (G)ZDoom нужны всего 3 файла, это:
(g)zdoom64.exe из папки куда скомпилировалось
(g)zdoom.pk3 из той же папки (brightmaps.pk3 и lights.pk3 советую интегрировать в gzdoom.pk3 с помощью любого zip архиватора)
fmodex64.dll из папки C:Program Files (x86)FMOD SoundSystemFMOD Programmers API Win64api
Номер версии будет отображаться в заголовке окна, в консоли или по команде gameversion. Если винда установлена на другом томе, то соответственно вместо c: везде используете свою букву. | |
|
1 |
2 |
2 |
|
|
| |
Junicave[Sting] Banned flooder
| 338 |
Doom Rate: 1.5
|
Отправлено: 28.09.08 08:24:36 | | | А на MinGW как-нибудь собрать возможно? | |
|
| |
StasBFG[iddqd] -= DoomGod =-
| | 3287 |
Doom Rate: 2.14
|
Отправлено: 28.09.08 12:46:54 | | | На MinGW в последнее время не пробовал, слишком многое там изменили, возможно уже и не будет работать.
Там нужны будут GCC 4, DirectX8 headers и Cmake 2.6
В файле include\commctrl.h после 914-й строки (PBS_VERTICAL) нужно добавить:
#if (_WIN32_WINNT >= 0x0501)
#define PBS_MARQUEE 0x08
#define PBM_SETMARQUEE (WM_USER+10)
#endif | |
|
1 |
2 |
2 |
|
|
| |
KOMAP Гость
|
Отправлено: 28.09.08 13:54:12 | | | А можно собрать с помощью C++ Builder 6 ? | |
|
| |
StasBFG[iddqd] -= DoomGod =-
| | 3287 |
Doom Rate: 2.14
|
Отправлено: 28.09.08 13:58:56 | | | The Spider Mastermind
Ну если ты программист, то попробуй переделай. Сомневаюсь что получится | |
|
1 |
2 |
2 |
|
|
| |
Player701 - Master Corporal -
| 202 |
Doom Rate: 1.99
|
Отправлено: 20.10.08 11:42:58 | | | GZDoom Рулезз - и этим все сказано. Только им и пользуюсь. | |
|
| |
Stalker Marine
| 23 |
Doom Rate: 1.28
|
Отправлено: 31.10.08 00:37:21 | | | У меня почему-то с OpenGL рендером текстуры не отображаются в GZDoom(да и в ST тоже). Кто знает в чем дело? | |
|
| |
NoMaD - Corporal -
| 98 |
Doom Rate: 1.63
|
Отправлено: 14.11.08 16:41:30 | | | Думеры, я пытался играть в игры (wadы), в которые можно играть только в G/zdoom. Хочется с друзьями родного города помочиться
по Модему, а не знаю как! Я думаю, файлы такие есть, а где найти не подскажете? Заранее благодарен. | |
|
| |
[D2D]_Revenant - Captain -
| 2160 |
Doom Rate: 1.3
|
Отправлено: 15.11.08 13:47:45 | | | Stalker, попобуй залесть в настройки/display options/gl options. В опции texture filtrations поставь linear, и всё заработает. Если непомогло, попробуй обновить дрова или купи карту поновее | |
|
2 |
2 |
|
|
| |
DrKugelschreiber Chief Petty Officer
| 875 |
Doom Rate: 2.37
|
Отправлено: 22.11.08 18:43:47 | | | Nomad : | а где найти не подскажете? |
SkullTag тебе поможет | |
|
2 |
3 |
|
|
| |
Dragon - 2nd Lieutenant -
| 1418 |
Doom Rate: 2.23
|
Отправлено: 17.12.08 19:27:33 | | | А у меня гоозо лагает
Коулд Сет Ресолутион 640х480х8.
Разрешние менял, не помагет.
Так что Здум гамаю. | |
|
| |
DEMON 9000 Читатель
Doom Rate: 0
|
Отправлено: 20.12.08 17:15:45 | | | У меня вопрос:как подключить 3д модели к GZDoom. | |
|
| |
Dragon - 2nd Lieutenant -
| 1418 |
Doom Rate: 2.23
|
Отправлено: 21.12.08 17:28:08 | | | DEMON 9000
Модед деф.... | |
|
| |
[D2D]_Revenant - Captain -
| 2160 |
Doom Rate: 1.3
|
Отправлено: 21.12.08 21:51:48 | | | Dragon, это у тебя чёто с дровами видюхи, обновить не пробововал? | |
|
2 |
2 |
|
|
| |
Dragon - 2nd Lieutenant -
| 1418 |
Doom Rate: 2.23
|
Отправлено: 22.12.08 17:44:16 | | | Revenant
А видюхи у меня нет. Может есть,но древняя!
Так что радуюсь Здуму. Хотя как то страно CS идёт, а гоозо нет. [/b] | |
|
| |
DEMON 9000 Читатель
Doom Rate: 0
|
Отправлено: 22.12.08 18:49:30 | | | Чё нельзя чтоли подключить.Не врите я же знаю что можно но как.
Всё понял.
Блин теперь тормозит. А это единственный 3d порт,который у меня идёт. | |
|
| |
-=M.@.K.C.=- - UAC Gunner -
| 46 |
Doom Rate: 0.92
|
Отправлено: 29.12.08 20:44:19 | | | У кого-нибудь есть ланчер? | |
|
| |
[D2D]_Revenant - Captain -
| 2160 |
Doom Rate: 1.3
|
Отправлено: 30.12.08 06:05:33 | | | Dragon
в каком смысле не идет?
напиши подробнее | |
|
2 |
2 |
|
|
| |
Pain Taggart = Master Corporal =
| 242 |
Doom Rate: 3.14
|
Отправлено: 02.01.09 14:41:37 | | | Вот совсем недавно перелазил на висту, честно говоря жалею. В моей любимой гоззе не работает клавиша "Y" для выхода из игры
Никакие режимы совместимости с XP, ничего не помогает! Извиняюсь, если такой вопрос поднимали, по крайней мере поиск ничего не дал... | |
|
| |
AstVart = Corporal =
| 105 |
Doom Rate: 1.11
|
Отправлено: 02.01.09 14:46:49 | | | Paine
Ты язык-то у компьютера поменяй (Shift+Alt, Shift+Ctrl) | |
|
| |