Тема и способы подготовлены исключительно мной, поэтому никаких гарантий я не даю.
Внимание в данной теме рассматривается компиляция под VS2008 студии Team Suite или Pro
Компиляция под EXPRESS не проверена, тем не менее рекомендации будут приведены
При проблемах возникающих с компиляцией проэкта, кода от Ep2 писать только сюда.
Что-ж приступим...
Я поработав месяцок в VS2008 Team Suite, решил : пора написать темку для форумчан...
Оказалось, что ухитрения которые я использовал для совсем не Source проэктов подошли и сюда.
Создаём свежий мод на базе Orange Box [В моём случае был Single Player]
Далее идём в папку куда были скопированы исходники...
Находим, копируем, переименовываем там Game_HL2-2005.sln в Game_HL2-2008.sln
открываем файл блокнотом [достаточно перетащить файл в окно открытого блокнота]
меняем первые 5 строчек с
code:
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2)", "game\client\client_hl2-2005.vcproj", "{F2D9D6B0-DEE5-4217-9336-A4FEBA24C790}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2)", "game\server\server_hl2-2005.vcproj", "{EB864878-8530-446B-B8E4-BE97D3F608F7}"
на
code:
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2)", "game\client\client_hl2-2008.vcproj", "{F2D9D6B0-DEE5-4217-9336-A4FEBA24C790}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2)", "game\server\server_hl2-2008.vcproj", "{EB864878-8530-446B-B8E4-BE97D3F608F7}"
Потом идём в папку \game\client сразу-же из корня папки src с исходниками.
Находим, копируем, переименовываем там client_hl2-2005.vcproj в client_hl2-2008.vcproj
Перетягиваем на окно блокнота и меняем переменную version
code:
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
на
code:
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Не забываем сохраняться!
По тому-же принципу идём в game\server
Находим, копируем, переименовываем там server_hl2-2005.vcproj в server_hl2-2008.vcproj
Перетягиваем на блокнот и меняем опять переменную Version в самом верху как мы уже делали...
После всех изменений - незабываем сохранить оные, открываем наш Game_HL2-2008.sln
как студия запустится, обратите внимание, чтобы в выпадающем меню в верху стояло [Release] [WIN32].
Так-же обратите внимание что в низу с лева в строке состояния окна, будет написано Updating Intelli Sense
или VA x Parsing, если был установлен vAssist X.
Пока в строке состояния не появится чего-то вроде : Ready, компилить проэкт не рекомендуется (долго будет ), но дальшейшие инструкции можно выполнять.
Теперь, чтобы сразу видить номера строчек, перейдём в Tools->Options в появившемся окне выберем в узлах дерева [Text Editor]
появится огромный список, но нам нужен 3ий узел дерева : All Languages.
Перейдя в этот узел появятся чекбоксы, найдём там строчку Display
и отметим [x] Line numbers. Жмём ОК и откроем какой-нить файлик из solution Explorer и
вы сразу заметите, что в окне с кодом, с лева появится какие-то цифры
это номера строчек...
Теперь в Solution Exproler идём в свойста Client и Server по очереди...
Достаточно кликнуть правой мышей по главному узлу с именем Client или Server и выбрать там в низу контекстного меню Properties.
Там, в появившемся окошке раскрываем Configuration Properties, находим суб узел C/C++ и в нём General.
Там, в тамблице находим колонку Detect 64-bit Probability Issues и напротив отмечаем NO
Незабываем, что это нужно выполнить и для Server и для Client
Ну вот практически всё... Осталось убрать всяческие мелкие ворнинги вроде #[file] skipped due to precompiled header тра-та-та...
для этого, открываем hud_flashlight.cpp (клиентская часть) комментируем строчки 7,8,9.
code:
//#include "hudelement.h"
//#include "hud_numericdisplay.h"
//#include <vgui_controls/Panel.h>
Открываем hud_credits.cpp
комментим те-же номера строчек...
code:
//#include "hudelement.h"
//#include "hud_numericdisplay.h"
//#include <vgui_controls/Panel.h>
Открываем c_vguiscreen.cpp
Чтобы компилятор не свалился с
fatal error C1001: An internal error has occurred in the compiler.
поменяем строчку 348 с
code:
dist = c_x / tan( M_PI * scaled_fov / 360.0 );
на
code:
dist = c_x / tanf( M_PI * scaled_fov / 360.0f );
Теперь, вроде как можно компилить... сохраните все файлы нажав иконку с рядом дискеток... и жмите F7