Никак не могу наладить работу с CodeBlocks и получить CvGameCoreDLL.dll. Выскакивает одна и та же ошибка. Чувствую,что всё очень просто,просто я ещё лох в этом . Знающие люди,помогите,пожалуйста. Вот лог:
-------------- Build: Final Release Win32 in CvGameCoreDLL ---------------
CvArea.cpp
CvArtFileMgr.cpp
CvCity.cpp
CvCityAI.cpp
CvDLLButtonPopup.cpp
CvDLLEntity.cpp
CvDLLPython.cpp
CvDLLWidgetData.cpp
CvDeal.cpp
CvDiploParameters.cpp
CvFractal.cpp
CvGame.cpp
CvGameAI.cpp
CvGameCoreDLL.cpp
CvGameCoreUtils.cpp
CvGameInterface.cpp
CvGameTextMgr.cpp
CvGlobals.cpp
CvHallOfFameInfo.cpp
CvInfoWater.cpp
CvInfos.cpp
CvInitCore.cpp
CvMap.cpp
CvMapGenerator.cpp
CvPlayer.cpp
CvPlayerAI.cpp
CvPlot.cpp
CvPlotGroup.cpp
CvPopupInfo.cpp
CvPopupReturn.cpp
CvRandom.cpp
CvReplayInfo.cpp
CvReplayMessage.cpp
CvSelectionGroup.cpp
CvSelectionGroupAI.cpp
CvStructs.cpp
CvTalkingHeadMessage.cpp
CvTeam.cpp
CvTeamAI.cpp
CvUnit.cpp
CvUnitAI.cpp
CvXMLLoadUtility.cpp
CvXMLLoadUtilityGet.cpp
CvXMLLoadUtilityInit.cpp
CvXMLLoadUtilitySet.cpp
CyArea.cpp
CyAreaInterface.cpp
CyArgsList.cpp
CyArtFileMgr.cpp
CyArtFileMgrInterface.cpp
CyCity.cpp
CyCityInterface1.cpp
CyDeal.cpp
CyEnumsInterface.cpp
CyGame.cpp
CyGameCoreUtils.cpp
CyGameCoreUtilsInterface.cpp
CyGameInterface.cpp
CyGameTextMgr.cpp
CyGameTextMgrInterface.cpp
CyGlobalContext.cpp
CyGlobalContextInterface1.cpp
CyGlobalContextInterface2.cpp
CyGlobalContextInterface3.cpp
CyGlobalContextInterface4.cpp
CyHallOfFameInfo.cpp
CyHallOfFameInterface.cpp
CyInfoInterface1.cpp
CyInfoInterface2.cpp
CyInfoInterface3.cpp
CyMap.cpp
CyMapGenerator.cpp
CyMapGeneratorInterface.cpp
CyMapInterface.cpp
CyPlayer.cpp
CyPlayerInterface1.cpp
CyPlayerInterface2.cpp
CyPlot.cpp
CyPlotInterface1.cpp
CyRandomInterface.cpp
CyReplayInfo.cpp
CySelectionGroup.cpp
CySelectionGroupInterface.cpp
CyStructsInterface1.cpp
CyTeam.cpp
CyTeamInterface.cpp
CyUnit.cpp
CyUnitInterface1.cpp
FAssert.cpp
FDialogTemplate.cpp
_precompile.cpp
Linking dynamic library: ..\Beyond the Sword\Assets\CvGameCoreDLL.dll
LINK : fatal error LNK1181: cannot open input file 'Files\Microsoft.obj'
Process terminated with status 1181 (15 minutes, 31 seconds)
1 errors, 0 warnings
Интересная идея для заработка
<div class='quotetop'>Цитата(Gromozeka * 17.11.2008, 18:35) [snapback]268629[/snapback]</div>VC++ Toolkit 2003Версия проги на которой это делаешь?
[/b]
Интересная идея для заработка
Пашок, конкретно по ошибке ничего сказать не могу, не разбираюсь в деталях. Но устанавливал "бесплатный вариант" по этой инструкции - все работает в итоге. Там надо не забыть для BtS убрать лишние флаги и опции, как указано в конце. Возможно, в них дело...
<div class='quotetop'>Цитата(NeverMind * 17.11.2008, 22:56) [snapback]268657[/snapback]</div>Да вот и я по ней делаю,только не получаетсяПашок, конкретно по ошибке ничего сказать не могу, не разбираюсь в деталях. Но устанавливал "бесплатный вариант" по этой инструкции - все работает в итоге. Там надо не забыть для BtS убрать лишние флаги и опции, как указано в конце. Возможно, в них дело...
[/b]
Интересная идея для заработка
<div class='quotetop'>Цитата(Пашок * 18.11.2008, 1:34) [snapback]268684[/snapback]</div><div class='quotetop'>Цитата(NeverMind * 17.11.2008, 22:56) [snapback]268657[/snapback]Да вот и я по ней делаю,только не получаетсяПашок, конкретно по ошибке ничего сказать не могу, не разбираюсь в деталях. Но устанавливал "бесплатный вариант" по этой инструкции - все работает в итоге. Там надо не забыть для BtS убрать лишние флаги и опции, как указано в конце. Возможно, в них дело...
[/b]
[/b][/quote]
там же сказано как побороть
<div class='quotetop'>Цитата</div><div class='quotetop'>Цитата</div>Well I am at my wits end here, I keep getting the same error that ?Eclipse? got a page ago (wonder if he ever resolved it?)
fatal error LNK1181: cannot open input file 'C:\Program Files\Microsoft Visual C++ Toolkit 2003\Lib.obj
I am shure the pathway is correct I pasted it from its installed location. What confuses me is why its trying to open the lib directory as a .obj file? I tried using C:\Program Files\Microsoft Visual C++ Toolkit 2003\Lib\ to try to make it desend into the lib directory but this gives me an even more confusing
canot open input file 'Files\Microsoft.obj'
Code Blocks is clearly insane[/b]<div class='quotetop'>Цитата</div>I know I got exactly that error when I tried to install. The issue was I had entered something incorrectly in the codeblocks configuration (so many of the dialog boxes are called the same thing). I wish i could remember exactly which one I entered incorrectly.
I went back and added screenshots at each of the configuration steps in the 1st post, hopefully that helps.[/b]сурс: http://forums.civfanatics.com/showthread.p...=5&t=166933Finaly it works, I whet in and deleted ALL the stuff in step 6 and re-did it
I think the problem was had entered the directories under Linker->Link Libraries and it was trying to open the directory as a libraby object. Once I removed them I got a sucessfull compile and a .dll file. Other have mentioned it and I noticed it as well that without even altering the sorce code you get a dll that is 4.66 MB vs the normal Civ4 dll of 3 something. I dont notice any game play differences though.
Thanks a bunch everyone out their in tutorial/help thread land![/b]
и еще глянь сюда - может поможет без переустановки: http://forums.codeblocks.org/index.php?topic=5693.0
В общем,всё оказалось просто. Microsoft Platform SDK криво встал. Переустановил и всё заработало.
Можно заниматься моддингом. Хочу радиус обрабатываемых клеток в городе увеличить до трёх,не могу понять как,не получается. Буду думать...
Интересная идея для заработка
Ура,я это сделал! Своими руками . Теперь у меня три клетки радиус города и 30 цивилизаций вместо 18.
Интересная идея для заработка
ПОЗДРАВЛЯЮ!!!
<div class='quotetop'>Цитата(Пашок * 18.11.2008, 22:10) [snapback]268815[/snapback]</div>Круто! Файлы - в студию, пожалуйста! Ждем.Ура,я это сделал! Своими руками . Теперь у меня три клетки радиус города и 30 цивилизаций вместо 18.[/b]
Да ладно . Неужели для 3.17 этого ещё не сделали? Могу выложить dll-ку,сам мод у меня ещё в разработке и одновременно на тестировании.
Интересная идея для заработка
Нет, ты первый.
Так что давай выкладываем, вместе и потестируем.
Тема с готовым файлом тут.
Блин,не могу понять как получить имя игрока,например,Саша или Володя. Или этой функции в SDK вообще нет?
Интересная идея для заработка
Да нет,несложно. Я вот даже С++ не знаю. Тяжело всегда разбираться в чужом коде. Свой то через некоторое время забываешь...
Кстати,мне удалось таки этот радиус города запихнуть в опции,чтоб можно было выбирать,два или три.
Столько возился,а ответ то на поверхности. Смекалка,однако.
Интересная идея для заработка
<div class='quotetop'>Цитата(NeverMind * 23.11.2008, 16:07) [snapback]269478[/snapback]</div><div class='quotetop'>ЦитатаСупер!Кстати,мне удалось таки этот радиус города запихнуть в опции,чтоб можно было выбирать,два или три.
Столько возился,а ответ то на поверхности. Смекалка,однако.[/b]
А код покажешь? Я тоже хочу эту опцию вставить.
[/b][/quote]
Пожалуйста! Вот мануальчик от меня по созданию новых пунктов в меню:
Создание своей игровой опции
Допустим, мы хотим создать опцию,увеличивающую время исследований. Для начала откроем файл CIV4GameOptionInfos.xml. По образу и подобию других опций создаём ниже(!) свою опцию,назовём её,к примеру, GAMEOPTION_TECHCOST. Соответственно пропишем текстовые ссылки, заранее прописанные в соответствующем файле. Сохраним файл и пойдём редактировать SDK. Открываем CyEnumsInterface.cpp. Там находим строку python::enum <Game Option Types>. Ниже мы видим список всех игровых опций, указанных в точно таком же порядке(!),как и в xml-файле. Ниже всех опций,перед строкой value("NUM_GAMEOPTION_TYPES", NUM_GAMEOPTION_TYPES) пропишем свою:
.value("GAMEOPTION_TECHCOST", GAMEOPTION_TECHCOST)
Затем откроем CvEnums.h. Найдём строку enum DllExport GameOptionTypes. Здесь мы видим тот же список опций. Точно также после всех перечисленных опций прописываем свою:
GAMEOPTION_TECHCOST,
Компилируем проект. Теперь, если мы запустим игру, мы увидим в списке опций свою. Осталось только написать код,который будет выполняться при активации этой опции. Выглядит это так:
If (CG.getGameINLINE().isOption(GAMEOPTION_TECHCOST))
{
…Ваш код…
};
P.S. Если вы хотите,чтобы ваша опция отображалась не в конце списка,просто поменяте порядок опций во всех трёх списках на нужный.
Интересная идея для заработка
За инструкцию спасибо. Собственно с добавлением опции все достаточно понятно.
Вопрос непосредственно с 3-радиусом. Условие включение этой опции надо прописывать и в CvDefines.h, и в CvGlobals.cpp? Ты не мог бы в качестве примера привести добавление именно этой опциии или выложить соответствующий код?
<div class='quotetop'>Цитата(NeverMind * 23.11.2008, 19:20) [snapback]269492[/snapback]</div>Ах,вон ты о чём. Это вопрос сложнее,и ответ на него,наверное,знает кто-то кто разбирается в этом SDK.За инструкцию спасибо. Собственно с добавлением опции все достаточно понятно.
Вопрос непосредственно с 3-радиусом. Условие включение этой опции надо прописывать и в CvDefines.h, и в CvGlobals.cpp? Ты не мог бы в качестве примера привести добавление именно этой опциии или выложить соответствующий код?
[/b]
Я же не нашёл ничего лучшего,чем ввести новую переменную в CvCity.cpp и присваивать ей значение по условию.
Поэтому кода как такового и нет. просто во всём коде надо заменить NUM_CITY_PLOTS на свою переменную.
Я долго пытался сделать что-то в CvGlobals.cpp,ставя определяющие параметры в зависимость от выбора игрока,ничего не получилось,такой вот я знаток С++, попробуй,если получится,поделись,это ведь намного проще,чем мой варварский способ. Ещё неизвестно чем это аукнется в ходе игры, поэтому тот мод,что я выложил пока без этой опции.
Интересная идея для заработка