Связь СДК и XML
См. статью http://forum.civfanatics.ru/index.php?showtopic=4631
НМ у меня ее тиснул отсюда. А без нее учебник будет не полный.
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
И это только начало. Отсюда надо несколько самостоятельных статетй выделить, чтобы их видно сразу было. А тут ты подредактируешь шапку темы, которая уже устарела и дашь ссылки на статьи проекта "Осваиваем SDK". А в них - на эту основную тему. И в шапку лучше перенести твою статью об установке SDK. Надо заняться. Крепись.![]()
И на модиках надо раздел SDK поредактировать. И продублировать туда твои статьи и другие материалы из этой темы. А то кто то () писал
<div class='quotetop'>Цитата</div>Cколько месяцев уже после написанного прошло?Сколько месяцев прошло, а про SDK в модиках не написано ни слова.[/b]![]()
Это не хорошо так делать - вырывать фразы из текста. Там и дальше написано:
<div class='quotetop'>Цитата</div>Возможно это происходит потому, что там лежит слишком огромный объем информации и осмыслить его одному человеку, за такое короткое время, практически не под силу[/b]![]()
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
На крайний случай можно использовать разложение в ряд:
sinx=x-x^3/3!+x^5/5!-x^7/7!+...
cosx=1-x^2/2!+x^4/4!-x^6/6!+...
А слагаемых берём столько, чколько нужно для точности
Можешь вот что подсказать, немогу понять что делать....
Делаю спутник, он автоматически пролетает по траектории.
Мне надо, чтобы он оставлял за собой видимую на один ход область.
Т.е. он допустим перемещается на 15 клеток, а радиус обзора 3 клетки, следовательно в конце перемещения остаются видны только лишь эти 3x3 клетки. А надо чтобы вокруг каждой точки на территории была видимая область 3x3.
Т.е. у меня просчитывается (for) для каждого X свой Y, тут же можно дописать функцию, делающую область видимой.
Я в принципе это сделал с помощью changeAdjacentSight:
for(int iI = MoveX1; iI < MoveX2; iI++)
{
//
//просчет Y
//
setXY(iI, MoveY2, true, true, true);
CvPlot* pPlot = GC.getMapINLINE().plotINLINE(iI, MoveY2);
pPlot->changeAdjacentSight(getTeam(), visibilityRange(), true, this, true);
}
- перемещаеся на каждую XY отдельно, и каждый раз делает сhangeAdjacentSight
Все вроде бы прекрасно, но как убрать обратно нормальную видимость? Клетка навсегда остается видимой.
Делаю алгаритм, чтобы по той же траектории он прошелся еще раз и скрыл все клетки.
Пробую changeAdjacentSight(getTeam(), visibilityRange(), false, this, true)
Он делает клетку невидимой. Так же перманетно.Даже если отправить на клетку юнит, то юнит просто пропадет.
Отсюда вопрос: как вернуть клетке обычное состояние?
Запоминаешь траекторию, а в начале турна делаешь все опять невидимым...
Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
http://blacksun.civfanatics.ru
-------------------------------------------------
MTDG2 - [civ]christianity[/civ]Монархия
---------------------------------
Председатель CFR Awards 2007
---------------------------------
Председатель CFR Awards 2008
Как сделать невидимым? Я ж говорю, changeAdjacentSight меняет состояние на перманентное. Вот я прошу сказать какой функцией и с какими аргументами можно сделать клетку обычной обычной.
upd: проблема решена. Оказалось просто что при вызвании changeAdjacentSight (с false, т.е. сделать клетку невидимой) с радиусом большим чем расстояние до ближайшей клетки где вызывалась эта же функция создает эффект перекрывания. Таким образом я захожу на клетку, а она по прежнему невидимая так как её делает невидимой соседняя (не находящаяся в поле зрения юнита) клетка.
кто хочет загрузить 2008 студию:
http://www.microsoft.com/express/download/#webInstall
не помню сколько она весит, кажется мегабайт 600.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата</div>В принципе цивовский движок корректно понимает только скомпиленные дллки на 2003-ем и через танцы с бубном на 2005-м - поэтому для моддеров вряд-ли 2008-я пойдеткто хочет загрузить 2008 студию:
http://www.microsoft.com/express/download/#webInstall
не помню сколько она весит, кажется мегабайт 600.[/b]
Все файлы SDK размещены на модиках и в обычном виде.
просто возьмите какой нибудь компилятор и вперед.
студия то она удобнее просто.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата</div>Есть один нюанс: системные функции и библиотечные функции самой Визуал Студии. Подозреваю, что для маковской цивы немножко другой СДКпросто возьмите какой нибудь компилятор и вперед.студия то она удобнее просто.[/b]- и другой рекомендованный компилятор.
На их-фанатиках xienwolf делает отличное Руководство по редактированию DLL для идиотов. Очень рекомендую всем желающим начать!
Подскажите где 2003 студию взять.
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
А зачем? Если для Civ4, то можно вполне успешно пользоваться CodeBlocks.
Инструкция по установке и компиляции.
<div class='quotetop'>Цитата</div>В общем скачал я этот CodeBlocks, скачал все что там требовалось, в итоге на 1 ГБ где-то потянуло.CodeBlocks[/b]
Выставил как там указано. Для компиляции выбираю просто папку CvGameCoreDLL
Что в папке Beyond the Sword. Запускаю, никаких изменений в содержимое не внося. В итоге.
Насколько я понимаю, ты не сделал следующее...
<div class='quotetop'>Цитата</div>?1) remove CvGameCoreDLL.rc from the project (you must have already done this though to get this far):
- in the Projects workspace tab go to the directory (Resources) and right click on the CvGameCoreDLL.rc file. Select "Remove from project"[/b]