Russian thread

Не за что, это вам спасибо. У меня еще есть кое-какие идеи
по доработке скрипта. Если руки дойдут - пришлю еще патчи.
Кстати, я бы вообще все переменные, кроме инициализируемых
в двойные кавычки бы поставил. Так, мне кажется более правильно,
плюс защитит от подобных недочетов.

Ну в скриптах я не очень - vcmibuilder это наверно самый большой скрипт, который я писал. Так что любые предложения принимаются.

Я тоже не сильный скриптописатель. Еще немного поправил скрипт, теперь:

  1. Все переменные в кавычках
  2. Пути, где скрипт сохраняет загружаемые файлы, изменен с текущей директории
    на домашнюю, то есть $HOME/core.zip. Я считаю, что не надо гадить в системе, надо
    сохранять в домашнюю директорию пользователя. Поскольку --amend в svn нету, следующее исправление надо накладывать на предыдущее
--- vcmibuilder.old	2013-01-31 11:12:19.000000000 +0400
+++ vcmibuilder	2013-01-31 11:50:52.000000000 +0400
@@ -149,22 +149,22 @@
 
 # start installation
 
-dest_dir="./vcmi"
-mkdir -p $dest_dir
+dest_dir="$HOME/vcmi"
+mkdir -p "$dest_dir"
 
 if  -n "$gog_file" ]]
 then
-	data_dir="./app"
+	data_dir="$HOME/app"
 	# innoextract always reports error (iconv 84 error). Just test file for presence
-	test -f $gog_file || fail "Error: gog.com executable was not found!"
-	innoextract -s -p 1 $gog_file
+	test -f "$gog_file" || fail "Error: gog.com executable was not found!"
+	innoextract -s -p 1 "$gog_file"
 fi
 
 if  -n "$cd1_dir" ]]
 then
 	data_dir="./cddir"
 	mkdir -p "$data_dir"
-	unshield -d "$data_dir" x $cd1_dir/_setup/data1.cab || fail "Error: failed to extract from Install Shield installer!" "rm -rf ./cddir"
+	unshield -d "$data_dir" x "$cd1_dir"/_setup/data1.cab || fail "Error: failed to extract from Install Shield installer!" "rm -rf ./cddir"
 	
 	# a bit tricky - different releases have different root directory. Move extracted files to data_dir
 	if  -d "$data_dir"/"Heroes3" ]
@@ -184,30 +184,30 @@
 
 if  -n "$cd2_dir" ]]
 then
-	mkdir -p $dest_dir/Data
+	mkdir -p "$dest_dir"/Data
 
-	if  -d $cd2_dir/heroes3 ]
+	if  -d "$cd2_dir"/heroes3 ]
 	then
-		cp $cd2_dir/heroes3/Data/Heroes3.vid $dest_dir/Data/VIDEO.VID
-		cp $cd2_dir/heroes3/Data/Heroes3.snd $dest_dir/Data/Heroes3-cd2.snd
+		cp "$cd2_dir"/heroes3/Data/Heroes3.vid "$dest_dir"/Data/VIDEO.VID
+		cp "$cd2_dir"/heroes3/Data/Heroes3.snd "$dest_dir"/Data/Heroes3-cd2.snd
 	else
-		cp $cd2_dir/Heroes3/Data/Heroes3.vid $dest_dir/Data/VIDEO.VID
-		cp $cd2_dir/Heroes3/Data/Heroes3.snd $dest_dir/Data/Heroes3-cd2.snd
+		cp "$cd2_dir"/Heroes3/Data/Heroes3.vid "$dest_dir"/Data/VIDEO.VID
+		cp "$cd2_dir"/Heroes3/Data/Heroes3.snd "$dest_dir"/Data/Heroes3-cd2.snd
 	fi
 fi
 
 if  -n "$data_dir" ]]
 then
-	cp -r "$data_dir"/Data $dest_dir
-	cp -r "$data_dir"/Maps $dest_dir
+	cp -r "$data_dir"/Data "$dest_dir"
+	cp -r "$data_dir"/Maps "$dest_dir"
 
 	# this folder is named differently from time to time
 	# vcmi can handle any case but script can't
 	if  -d "$data_dir"/MP3 ]
 	then
-		cp -r "$data_dir"/MP3 $dest_dir
+		cp -r "$data_dir"/MP3 "$dest_dir"
 	else
-		cp -r "$data_dir"/Mp3 $dest_dir
+		cp -r "$data_dir"/Mp3 "$dest_dir"
 	fi
 fi
 
@@ -215,21 +215,21 @@
 then
 	if  -z "$wog_archive" ]]
 	then
-		wget "http://download.vcmi.eu/WoG/wog.zip" -O wog.zip || fail "Error: failed to download WoG archive!" "rm -f wog.zip"
-		wog_archive="./wog.zip"
+		wget "http://download.vcmi.eu/WoG/wog.zip" -O wog.zip || fail "Error: failed to download WoG archive!" "rm -f $HOME/wog.zip"
+		wog_archive="$HOME/wog.zip"
 	fi
 	
 	if  -z "$vcmi_archive" ]]
 	then
-		wget "http://download.vcmi.eu/core.zip" -O core.zip || fail "Error: failed to download VCMI archive!" "rm -f core.zip"
-		vcmi_archive="./core.zip"
+		wget "http://download.vcmi.eu/core.zip" -O core.zip || fail "Error: failed to download VCMI archive!" "rm -f $HOME/core.zip"
+		vcmi_archive="$HOME/core.zip"
 	fi
 fi
 
 if  -n "$wog_archive" ]]
 then
 	echo "decompressing $wog_archive"
-	unzip -qo $wog_archive -d $dest_dir || fail "Error: failed to extract WoG archive!"
+	unzip -qo "$wog_archive" -d "$dest_dir" || fail "Error: failed to extract WoG archive!"
 fi
 
 if  -n "$vcmi_archive" ]]
@@ -238,23 +238,23 @@
 	# exlude *json - temporary solution for autotools -> cmake transition period
 	# 0.90 packages made by autotools do not have .json files available in svn
 	# cmake however can install them correctly so they should not be extracted from .zip in case of cmake package
-	unzip -qo $vcmi_archive -d $dest_dir -x "*.json" "*.txt" "*.PAL" || fail "Error: failed to extract VCMI archive!"
+	unzip -qo "$vcmi_archive" -d "$dest_dir" -x "*.json" "*.txt" "*.PAL" || fail "Error: failed to extract VCMI archive!"
 fi
 
 if  -n "$validate" ]]
 then
-	test -f $dest_dir/Data/H3bitmap.lod || fail "Error: Heroes 3 data files are missing!"
-	test -f $dest_dir/Data/H3sprite.lod || fail "Error: Heroes 3 data files are missing!"
-	test -f $dest_dir/Data/VIDEO.VID    || fail "Error: Heroes 3 data files (CD2) are missing!"
-	test -d $dest_dir/Mods/WoG/Data     || fail "Error: WoG data files are missing!"
-	test -d $dest_dir/Mods/vcmi/Data    || fail "Error: VCMI data files are missing!"
+	test -f "$dest_dir"/Data/H3bitmap.lod || fail "Error: Heroes 3 data files are missing!"
+	test -f "$dest_dir"/Data/H3sprite.lod || fail "Error: Heroes 3 data files are missing!"
+	test -f "$dest_dir"/Data/VIDEO.VID    || fail "Error: Heroes 3 data files (CD2) are missing!"
+	test -d "$dest_dir"/Mods/WoG/Data     || fail "Error: WoG data files are missing!"
+	test -d "$dest_dir"/Mods/vcmi/Data    || fail "Error: VCMI data files are missing!"
 fi
 
 #TODO: Cleanup? How?
 
 echo
 echo "vcmibuilder finished succesfully"
-echo "resulting data was placed into $PWD/vcmi"
+echo "resulting data was placed into $HOME/vcmi"
 echo "any other files in current directory can be removed"
 echo

Как по мне, так если гадить то хотя бы там, где есть дворник. Например в /tmp

Хотя по-хорошему тут нужно удалять все перед завершением. Как вариант - создавать папку в том же tmp, все в нее складывать а потом удалять. Архивы все равно каждый раз скачиваются.

Здравствуйте, Иван.

Установил VCMI 0.91. После установки игра вылетает при атаке на любой замок. Лог здесь: hedgedict.com/data/vcmiLog02-02-13.zip

В папке игры ничего не менял (все было от предыдущей) добавил только английскую версию в Data, получилась англо-русская версия, но там, где раньше кирилица не читалась стал английский.

Надеюсь, что лог будет чем-то полезен для устранения бага.

Кажется нашел. Завел баг: bugs.vcmi.eu/view.php?id=1197

wog который на download.vcmi.eu английский (поэтому кириллицы не видно). Русификацию для желающих я держу тут:
dl.dropbox.com/u/22372764/vcmi/ … %20Rus.zip

Ребята,я скомпилил 0.9.2 под убунтой на arm7.Всё замечательно идёт,но не могу включить fullscreen.Когда ставлю галку,экран смещается примерно на половину вниз.В 0.9.1 так-же было.Не подскажете куда копать?

Что-то новенькое. Подозреваю перезапуском vcmi проблема не решается?

Не думаю что проблема с нашей стороны - скорее что-то не так со стороны системы. В vcmi тут все сделано системными средствами (библиотека SDL если быть точным).

не решается. пробовали использовать на дебиане,тоже самое.
Тогда другой вопрос.Можно ли запустить в нестандартном разрешении.Скажем не 1280х800, а 1280х760?

Между дебианом и убунтой отличий почти 0. Так что неудивительно.

Добавить разрешение можно - все имеющиеся описаны в файле config/resolutions.json. Если лень разбираться, то могу добавить какое-то определенное (1280х760?).

Сам пробовал.И спрайты перерисовывал.Ничерта не получилось.Если сделаешь 1280х760,буду очень признателен.

Сделал. Распаковать, скажем, в корень игры (/usr/share/vcmi) или в домашней папке (~/.vcmi)
1280x760.zip (78.8 KB)

Благодарю!

Иван,на днях погонял под убунтой разные игрушки,в любой идёт смещение в фулскрине.Очевидно дело действительно не в вашем проэкте.Спасибо за помощь :wink:

У меня вопрос по способностям существ.
Допустим, я сделал боевую машину, которая атакует всех на поле
{ “type”:“SPELL_LIKE_ATTACK”,
“subtype”:“spell.armageddon”,
“additional info”:3}

Можно как-то использовать Bonus range types (ONLY_ENEMY_ARMY)?
И как это сделать? В faq не нашел примеров и т.п.

Я с системой бонусов не особо знаком. Вообще область действия задается как “effectRange” : “ONLY_ENEMY_ARMY”, работает ли это со SPELL_LIKE_ATTACK - не знаю.

Еще такой баг/фича:

Есть новый город, в котором нет некоторых зданий, например, верфи, таверны.
Есть карта, где поставлен “рэндомный” замок, и в редакторе указано, что в нем есть таверна и верфь.
Когда я выбираю играть за этот город, при загрузке карты отсутствующие здания “как ьы строятся”, даже если их нет в “buildings.json” (или в buildings.json" они есть, а в faction.json они убраны), и при заходе на экран города игра вылетает (потому что нет анимации или они не прописаны в structures.json).
По идее, необходимо исправить - при загрузке карты проверять здания, сверяясь с faction.json, и если здания там нет, убирать его из существующих.

Поздравляю с новым релизом 0.93. Это действительно важный шаг, что теперь возможна установка VCMI на чистый SoD. Только из текста анонса не понятно, будут ли при установке на чистый SoD в VCMI присутствовать фишки из WoG?

Не будут. Для фишек вога нужны некоторые файлы вога. Например опыт отрядов описывается в текстовике вога которого в соде нет.

Возможно что-то где-то от вога и осталось но все крупные фичи вога отключены.

Приветствую

у меня тож была проблема с Adv 1920

а теперь другая
filebeam.com/b4b8dd0d93de2b24501 … 8dd7bf.jpg
нет иконок самих героев собственно.

и я своими глазами видел как катапульта пыталась "ходить " по полю!!!

у меня Hota поверх Sod поставлена. может в этом проблема?
отсюда - mm-games.ru

ну и очень частые турбо-вылеты
pastebin.com/SfkGWA5q

server.log
pastebin.com/AKdFnHu4

наверное комп слабый)
игра падает с Segmentation Failed в консоли.

Komputer
Ubuntu + MATE desktop 13.04 64bit
AMD 4100@4000Mhz/8Gb ram/60gb ssd/570GTX

ЗЫ JSON то откуда в игре ? в ней теперь Javascript есть и аякс ?