A.I.M.(http://forum.ja2.su/cgi-bin/yabb/YaBB.pl)
Обсуждаем игры >> Гробокопатели >> Первые шаги...
(Message started by: S-Vertal на 12.03.2004 в 14:39:11)

Заголовок: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 14:39:11
  По моей просьбе Гиви открыл новый раздел, где мы будем заниматься обсуждением работы с исходным кодом Джа2
У кого ещё нет такого, качать вот тут http://members.shaw.ca/avostrov/ja2source.zip
Или ещё вот тут
http://www.lords-of-the-bytes.com/ja2/files/ja2source.zip
пока ушлые СФ не покоцали.
Тройка копий как минимуи уже есть, так что живём.

Мне удалось собрать ехе в VC6++
Спасибо Мичигану за помощь, пригодилась существенно.
Однако есть несколько замечаний по поводу его совета (в ветке Исходники Джа2). Все файлы дублировать нельзя, т.к. при попытке компилить VC6++ виснет намертво.

Итак, что мне пришлось сделать, чтобы оживить игру.
Сначала, как сказано в readme, нужно выложить в корневой каталог(С:/) папки ja2 и Standart Gaming Platform. Дальше в хелпе сказано, как компилить в С, я напишу, как мне это удалось в С++

Нужно продублировать ВСЕ файлы из Standart Gaming Platform в ja2\build, а в обратном направлении только
language Defines.h
local.h
Screenids.h
Screens.h
jascreens.h
Sys globals.h
ja2 demo ads.h
и ещё 4-5 файлов уже не помню каких из корневой build в tactical и utils, компилятор вам по дскажет. Я всё собрал в MS Visual Studio 6.0 на C++. Моё мнение дилетанта - не надо VC6, всё и так работает вроде.
Необъявленные переменные я варварски закомментировал (Их 2, в файле jascreens.c, вроде, компилятор подскажет строку. Что она делает - хз).

Интересный момент, полученный exe не работает с mss32 ни от Бяки, ни от англичанки, зато методом тыка заработало на бучьей mss32 от UB. Т.е. нужно переписать этот файл откуда наду куда надо:), т.е. в корневой с игрой Джа2. Туда же нуна засунуть и свежесделанный exe.

Если у вас Бяка, то нужно туда ввинтить англофикацию и конвертировать карты в формат ja type 1.

В исходниках есть редактор карт, а также многоязыковая поддержка. Я сейчас пытаюсь активировать русский язык. Зачем - думаю понятно:)

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 15:21:36
А вот тут у медведей  подобный раздел форума: http://www.ja-galaxy-forum.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&f=39&submit=Go
Можно туда иногда глядеть и советоваться. Они уже реализовали несколько фишек.

Заголовок: Re: Первые шаги...
Прислано пользователем СиТриПиО/С3РО на 12.03.2004 в 16:03:44
2S-Vertal:
http://members.shaw.ca/avostrov/3rdparty.zip
Там лежит mss32.lib и другие нужные файлы.


Quote:
Спасибо Мичигану за помощь, пригодилась существенно.
Однако есть несколько замечаний по поводу его совета (в ветке Исходники Джа2). Все файлы дублировать нельзя


Ну я чисто теортически это сказал - я до сих пор на работе и не компилировал сорцы...

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 16:49:06
Хоть я и совсем не знаю С++, мнение сложилось чёткое - с кодом работать достаточно удобно. Все игровые разделы структурированы (если так можно выражаться :P). Имена переменных 100% понятны. Есть достаточно подробные комментарии (иногда чуть ли не через строку). Мне удалось снять ограничитель на 18 человек в команде - смог нанять 20, причём двое разместились в слотах для двух машин. Больше 20 не нанимается, видимо есть ещё и общий ограничитель на 20 юнитов (18+2 автомобиля), я его пока не нашёл. 20 мерков бодро бегают, глюков не отмечено.

В общем, многое понятно (лично мне) чисто интуитивно, я думаю, что программисты типа Кулибина разберутся на раз-два. Посему наверное стоит все будущие (в процессе) моды переложить на этот исходник. Мне представляется, что это поздняя версия англичанки (ибо есть показ зон видимости, как в UB, расстояния до цели, ксерить предметы уже нельзя). Ряд ценных идей можно реализовать с минимальным геморроем. В исходниках я накопал не только авиаудары, но и такие потрясные вещи, как перевязка драньцами ДРУГ ДРУГА. Эти фишки красиво расписаны, но, видимо, не подключены. Так что модостроителям реально открываются новые возможности.

Я немного погонял слепленный файл, глюков в тактике не нашёл, всё гладко, включая ролики и озвучку (спасибо Медведям, персонально Digicrab'у). Квест с Фатимой не срабатывает, из-за иероглифов не могу прочесть. Думаю, первоочерёдная задача - провести русификацию, чтоб нормально работала под Букинской озвучкой и титрами.

Есть многоязыковая поддержка, но оживить русский я не смог, т.к. текстовка вся есть, а в файле по выводу шрифтов Multi Language Graphic Units.c НЕТУ работы с русскими шрифтами (только с латиницей+немецкие кренделя).

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 16:52:24
2СиТриПиО/С3РО: mss32.lib есть в исходниках. Понадобилась нормальная mss32.dll, АВшная и англичанка кривые, заработало только в Бучьей UB'шной

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 17:37:30
2S-Vertal: А не мог бы ты для малшосведущих на пальцах пояснить, как всю эту бадягу подключить к Visual Studio 6? Просто я никогда с такими большими роектами не работал, только так, по мелочи.
Не догоняю я, чего там в redme у разрабов написано... Точнее понять то я понял, но ничего пока не получилось...

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 17:54:19
2Bezumnij_Kovrik: Могу, конечно. (Хотя первый раз в жизни открыл VS:))
1. Папки ja2 и SGP(Standart Gaming Platform) кидаешь в корневой на C:/
2. Из SGP все файлы дублируешь в ja2\build
3. Открывешь ja2.dws в VC++6.0
4.
5. Правишь файл C:\ja2\Build\jascreens.c (удаляешь строки 1178 и 1523)
6. Меню Build/Set Active Configuration - выставляешь Ja2 Win32 release
7. Компилишь F7.
8. Компилятор ругается, что не находит файлов, и пути указывает. Ищешь их в ja2\build и копируешь. (около 10 штук с расширением .h), смотри мой первый пост.
9. Снова компилишь, пп 7-8 до тех пор, пока не скомпилит (чтоб было "0 errors")
10. Кидаешь ja2.exe в папку с игрой.
11. Ищешь mss32.dll в папке с Ценой Свободы, и этим файлом заменяешь подобный в папке с Агонией Власти.
12. Если есть англофицированные шрифты - спроси у ребят, где их взять, англ. fonts.slf, кидаешь их в \data
Можешь играть:) Потом копаться, компилить, и снова играть:)

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 18:04:45
Большое спасибо, сейчас попробую  ;)

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 18:31:35
В файле tactical\inventory choosing.c нашёл фрагмент, отвечающий за выпадание предметов

#define ENEMYAMMODROPRATE       100      // % of time enemies drop ammunition
#define ENEMYGRENADEDROPRATE    100      // % of time enemies drop grenades
#define ENEMYEQUIPDROPRATE      100      // % of stuff enemies drop equipment

// only 1/10th of what enemies drop...
#define MILITIAAMMODROPRATE      100      // % of time enemies drop ammunition
#define MILITIAGRENADEDROPRATE       100      // % of time enemies drop grenades
#define MILITIAEQUIPDROPRATE     100      // % of stuff enemies drop equipment

Вероятность указана в %, я выставил 100 по всем видам (отдельно оружие\патроны\снаряжение). Итог - всё вывалилось, как и после патча Терапевта Кулибина. Но при этом барахло высветилось не сразу после конца боя, а только когда я подошёл к трупу, в этом преимущество по сравнению с правкой ехе. Вот что я навоевал с троими врагами в Омерте (броников нет, наверное, не одеты). В этом же файле таблицы выбора оружия драньцами.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 18:47:23
Нда, а это чего за ботва?
--------------------Configuration: ja2 - Win32 Release--------------------
Compiling...
_Ja25GermanText.c
GENERATED PCH FOR UTILS PROJECT.
C:\ja2\Build\Utils\WordWrap.h(5) : fatal error C1083: Cannot open include file: 'LAPTOP\files.h': No such file or directory
Error executing cl.exe.

ja2.exe - 1 error(s), 0 warning(s)

Файл там такой стопудово есть...  :(

2S-Vertal: Ты не пробовал править в файле Language Defines.h

#define ENGLISH
//#define GERMAN
//#define RUSSIAN
//#define DUTCH
//#define POLISH

Может если закомментировать английский и раскомментировать русский, то чего-нибудь получится?

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 19:01:08
попробуй удалить все wordwrap кроме тех, что в папке utils. Если не поможет, я выложу рабочий вариант исходников.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 20:21:57
Короче вот что я обнаружил: ботва в том, что компилятору почему-то не нравится адрес к файлу 'LAPTOP\files.h' и  'LAPTOP\email.h'. Я переложил их в папку Build и все закомпилировалось, НО! В лаптопе игра виснет :( . Т.е. начинаешь игру. Высвечивается "Письмишко..." и усе - мышкой не поводишь и т.п. Комп висит мертво. Онли ресет :(
Так что нужны нормальные исходники... Хотя скорее всего это из-за кудрявых рук. Или... Ты не мог бы привести точный список файлов которые ты раскидываешь в другие папки. И собсно куда ты их копируешь.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 20:39:45
2Bezumnij_Kovrik: Ты mss32.dll от чего отодрал? У меня тоже так сначала было, потом перестало зависать.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 20:57:20
2Bezumnij_Kovrik: Англофицируй Буку. Мне именно это помогло, но точный файл, устраняющий вылет, я не могу определить.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 21:07:11
УРРРРРРРАААААААААААААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Не сочтите за флуд, но у меня все получилось. Просто посидел-посидел, да и грохнул и игру и исходники. Разархивачил их еще раз. По-чистому. Переустановил игру (у меня НО стояла). Потом тихо-мирно смотрел, чего компилятору не хватает и добавлял... Оказывается файлы Files.h & email.h нуно прям с папкой переносить. Вот!
В первый раз произошел сбой. Игра вылетела. Потом перестала. Сейчас попробую достать нужные шрифты... И приступлю за "гробокопание"  ;D

Заголовок: Re: Первые шаги...
Прислано пользователем gyv на 12.03.2004 в 21:18:30
А не подкинет ли кто smackw32.dll (а заодно и mss32.dll).
Исходники собрал практически без напильника (пара комментариев и библиотеки) в течении 10 минут (правда, все 900 метров на C: сожрало - перенес на D:).

Заголовок: Re: Первые шаги...
Прислано пользователем gyv на 12.03.2004 в 21:20:34
Кстати, там русский язык от JA2, похоже, а вот английский и немецкий - еще и от UB. Вообще не понятно "чего это исходники", а разница есть, т.к. ну очень сильно они привязаны к ресурсам/сюжету.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 21:23:12
Люди! Пришлите нормальный шрифт для исходников. ПЛЗ.

Заголовок: Re: Первые шаги...
Прислано пользователем sd на 12.03.2004 в 21:25:31
Люди, а вы где VC++ 6.0 взяли?
Если купили, то на скольких дисках?

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 21:26:56
2sd: Я у родственника скатал. Он на 1м диске...

Заголовок: Re: Первые шаги...
Прислано пользователем gyv на 12.03.2004 в 21:32:19
2sd: Давным-давно купил урезанный аж до 2х дисков.
Стандартный идет на 6ти (на 4х - MSDN). У меня на 2м SP3 для него и куча всяких SDK. Достаточно чтобы там была сама студия и VC++. Остальное нафиг не надо (у меня срезаны вещи типа InterDev).

Нашел какие версии поддерживаются
#define MSS_VERSION      "6.1a"
#define MSS_MAJOR_VERSION 6
#define MSS_MINOR_VERSION 1
#define MSS_SUB_VERSION   1
#define MSS_VERSION_DATE "06-Mar-01"

или

#define MSS_VERSION      "5.0q"
#define MSS_VERSION_DATE "06-Aug-99"

(надо переименовать mss-old в mss для второго)

В англичанку UB 1.01 входит 6.0q так шо фикх его знает насколько оно заживет - blink'а все орвано нет

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 12.03.2004 в 21:45:38
2gyv: Странно... у меня все компоненты есть + MSDN... и все это с лицензии скатано.

Заголовок: Re: Первые шаги...
Прислано пользователем sd на 12.03.2004 в 22:09:46
А visual studio .net подойдёт?
Эх, завтра поеду искать. Сегодня прошёлся по ближайшем станциям метро = нефига у них нет :(

Заголовок: Re: Первые шаги...
Прислано пользователем gyv на 12.03.2004 в 22:12:49
2Bezumnij_Kovrik: MSDN ОООчень жирная. Если полная.

Версия exe 1.0.0.6 demo, хотя, говорят, это может значить что угодно.
Нашел места где задается оружие и скрипты NPC. Местами забавно. Оружие достаточно просто можно доставать из файлика, скрипты тоже можно раздуть до невероятного размера.
Нашел почему отечественные скрипты отличаются от инородных. Зачем так сделали (да еще и оригинал положили) я не понял. Фигня какая-то. Идеологическая диверсия, аднака.

Про города не смотрел, но что-то мне подсказывает что там сделано все аналогично. В общем, карту Арульки можно легко переделывать, также менять оружие и размерность скриптов. АИ посмотрел вскользь - там можно кое-чего поправить, но главное не навредить. Надо сначала разобраться, а то даже розовый слон нанесет посудной лавке больший ущерб, чем 24 Ленина с молотками.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 22:28:01
2Bezumnij_Kovrik: Как раз и хотел сказать тебе и о папке лаптоп, и о чистой бучке, а ты и сам справился. Малацца!

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 22:29:19
2gyv: Русский в исходниках есть, но через language define не активируется нифига. Проще англичить Буку.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 22:30:41
2gyv: Юра, smack Бучий сгодится, а mss32 из ЦС выдери. А если у тебя только немка+UB, то попробую прислать.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 12.03.2004 в 22:33:48
Юра, вот тебе смак с мсской:)

Заголовок: Re: Первые шаги...
Прислано пользователем Refiler на 12.03.2004 в 22:36:20
Русский есть в ехе но он страно там организован, ради интереза посмотрите диалоги Ивана, а еще есть там небольшая поддершка кирилицы но чтоб кирилица правильно заработал надо немного шрифты отредактировать, но ещекосяк в том что некоторые буквы кирилицы ехе не видит и пишит АААА

Заголовок: Re: Первые шаги...
Прислано пользователем sd на 12.03.2004 в 22:46:04
Блин! Наверное никогда я так не ждал утра!
Я нашёл в исходниках файл STCI.c :D

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 00:26:02
Короче обрадовался я видать раньше времени: До высадки действительно все пучком окромя русских шрифтов. Но вот после высадки... Загружается карта и... ВСЕ ЖЕЛТОЕ. Припоминается, что такое было когда в UB сектор h7 заменял и задавал ему 2й тип. Видать все карты конвертировать предется...И главное, что игра сразу после появления вертолета вылетает. Как раз, когда должна появиться веревка с висящим мерком...
И вот что я понял - редактировать ТТХ оружия и предметов здесь - чистое самоубийство. Все столбцы пляшут то влево, то вправо. В экселе все же удобнее было...
Но комментарии меня прикололи, их можно просто так читать. (мне понравилось, как разраб описывал какую-то характеристику, а потом написал, что уже и забыл, для чего нужна и из чего складывалась)  ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 13.03.2004 в 00:33:16
2S-Vertal:

Quote:
всё вывалилось, как и после патча Терапевта. Но при этом барахло высветилось не сразу после конца боя, а только когда я подошёл к трупу

Вообще-то в JA2 даже с патчем трупы нужно осматривать. Это в UB все выпавшие шмотки автоматом показываются после битвы.

Смотрю на исходники - как же всё относительно по сравнению с абсолютностью машинного кода. ;)

Когда найду VC 6, скорее всего займусь реализацией всей той мути, которую наваял в патчах. Правда в ряде случаев, как ни странно, реализовать это на С будет сложнее, чем напрямую в экзешнике на ассемблере.

Я тут как-то заикнулся на счёт выноса данных в отдельные файлы.  :o
При такой степени интеграции данных в экзешник, тому, кто это сделает, можно будет дать звезду героя и поставить памятник на родине при жизни. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 00:14:53
Корче стормозил я... карты в игре же действительно бучьи, а это англичанка. Переконвертил карту и все летает.
Теперь терзает один вопрос: как моно игру руссифицировать? Что для этого нуно? Тама одни кракозябры отображаются. Я часть англофикации скачал, дык хоть менюшки на нормальном английском. Остальное все равно на непонятных закарючках...

Заголовок: Re: Первые шаги...
Прислано пользователем gyv на 13.03.2004 в 07:45:25
2S-Vertal: Спасибо. У меня только рус-немка 1.0 и UB (не ЦС) :(
2Терапевт: "Я скажу - не надо орден. Я согласен на медаль" (Ц)
По крайней мере оружие понятно где править и сделать чтение файла не так сложно. Также не шибко заморочно сделать со скриптами (увеличить размер).
Страт-карта задается аналогично.
Вот только при редактировании из файла (-ов) придется писать абсолютные значения, а не символические константы (в классах оружия, номерах боеприпасов и т.д.).

2Bezumnij_Kovrik&Co: - там при включении русификации косячит скрипты NPC. Надо еще посмотреть как лучше сделать - поставить скрипты от англичанки и выкинуть тот бред что есть или включить русификацию (возможно, что сначала надо закомментировать английский).

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 13.03.2004 в 08:02:03
2Терапевт:
Извини, наверное я действительно с Джоббиком попутал, а он на ЦС.
Что касается твоих патчей, то на выпадение я уже реализовал. А какие, по твоей оценке, в исходниках сделать сложнее, чем в ехе? Да и на кой данные отдельно выносить? Не проще ли обмениваться модифицированными .с файлами, и собирать на местах? Вот мне например, сейчас встал геморрой по увеличению числа НПЦ в игре свыше 170. В ехе этого нет, а с проф.дат разобраться не могу.

2Bezumnij_Kovrik: Русифицировать ИМХО бесполезно. Я активировал, #define russian, и просто подменял местами файлы, и шрифты бучьи вставлял - один хрен иероглифы. Там нет корректного файла вывода шрифтов. Вернее, есть, но там нет работы с кириллицей. Надо этот модуль написать. А может, резон с Букой связаться, наверняка у них есть недостающие фрагменты?

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 10:21:59
2S-Vertal: Думаешь они так забесплатно нам свои советы подарят? Чего-то я сомневаюсь. Но нуно чего-то делать.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 10:28:43
Кстати, у кого сколько времени занимает компиляция? У меня как-то порядочно - минут наверое 5-6. Ровно столько же написано в ридми. Значит у разрабов тоже она происходила за такое время? И значит от мощности компа это не зависит? Просто не верится, что голд они собирали на машине уровня Celeron 667...

Заголовок: Re: Первые шаги...
Прислано пользователем Serj_PSG на 13.03.2004 в 10:36:26
Bezumnij_Kovrik:
  Я же уже говорил, что компилятор Си работает очень медленно -- это его отличительная особенность, но код ехе-шника получается более оптимальный по сравнению с Паскалем. Процентов на 30-40 меньше по объёму.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 13.03.2004 в 10:59:44
2Bezumnij_Kovrik: Ридми не разрабы писали, а Digicrab, тот чел из медвежьего форума, который собрал все недостающие библиотеки и выложил код . А у него не факт что P IV.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 11:13:38
2S-Vertal: Ясно...
Кстати есть такая не очень понятнаявещь: Иногда после правки экзешник начинает компилироваться с нуля и это требует времени. После правки файла town militia.c компилятор правил исключительно этот файл и вшил к уже готовым модулям - заняло порядка 5 сек.
Что меня удивляет: как из нескольких метров исходников получается 400 метров промежуточных модулей? Почему так происходит? И это все ради двух с половиной метров экзешника...
Интересно, для компиляции винды ХП, сколько мелкосовтовцам понадобилось серверов?  ;D

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 13.03.2004 в 13:08:53
Мне наконец удалось реализовать фишку, о которой я мечтал ещё на AGFC. Я нашёл и поправил формулы по расчёту процесса перевязки. Теперь она происходит так. Расстреливаем быка (скрин1)

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 13.03.2004 в 13:10:05
Перевязывем Иваном. (скрин 2) При его низкой медицине он может перевязать примерно 30 процентов повреждения. Дальше полоска перевязки не растёт, сколько бы ни ждать.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 13.03.2004 в 13:12:27
Перевязывем Мастдаем. (скрин 3) При его высокой медицине он может перевязать примерно 65 процентов повреждения. Дальше полоска тоже не растёт.

Максимум перевязки - 83 процентов от повреждения при базовом здоровье 100. Врач для этого должен иметь аптечку не меньше 80%, 10 уровень, 100 медицины и 100 ловкости. Типа крутейший полевой хирург, может швейной иглой пришить даже я@#а.

Если базовое здоровье пациента меньше 100, то процент залечиваемого повреждения уменьшается. Как то - у кого проблемы со здоровьем, у того ниже выживаемость. При 70 базового здоровья суперврач залечивает не более 60% повреждения.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 13:22:35
А как же тогда быть???

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 13:29:12
2S-Vertal: Нуно чего-то делать с обрусячиванием игры...Есть какие-нибудь предложения?
В файле Font.c
Ln 1270 начинается генерация таблицы перевода одного языка в другой.
Но как-то криво там все. Я мало что понял.
Может тот, кто Си хороше знает, разберется?
Делать русские моды на английском как-то не пучит... :(

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 13.03.2004 в 14:35:25
Я полностью англофицировал Буку. Только тогда пошли квесты и исчезли иероглифы

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 14:58:52
Да я ее еще вчера обангличанил... Но ведь читать английский текст куда менее приятно, чем русский.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 13.03.2004 в 15:50:26
2gyv:

Quote:
По крайней мере оружие понятно где править и сделать чтение файла не так сложно.

Quote:
Вот только при редактировании из файла (-ов) придется писать абсолютные значения, а не символические константы (в классах оружия, номерах боеприпасов и т.д.).

Параметры предметов вынести, конечно, можно. Но уж очень много придётся вносить мелких исправлений в исходники. Даже ради медали, что-то не хочется. :)
При этом выгода будет весьма сомнительна.  Нужно будет писать новый редактор или исправлять ведит, а возможности и ограничения при редактировании останутся старыми.
Я бы изменил структуру характеристик орудия, добавив туда поля под флажки для внешних и интегрированных аттачей, нормальной озвучки очереди, может ещё чего.

2S-Vertal:

Quote:
Что касается твоих патчей, то на выпадение я уже реализовал.

В упрощённом виде, без опциональности. ;)


Quote:
А какие, по твоей оценке, в исходниках сделать сложнее, чем в ехе?

За несколько лет раскопоку меня накопилось много информации по абсолютным смещениям различных данных. Поэтому напрямую в экзешнике (v1.02) мне проще что-то реализовать. А с исходнками приходится искать в куче файлов название (зачастую совсем не очевидное) какого-нибудь параметра, а потом ещё думать, как его пользовать. Но это всё лишь вопрос времени. Нужно просто разобраться, что где лежит.

Как я смотрю, каждого в исходниках интересует что-то своё. Меня, например, оружие и всё, что с ним связано. У тебя интереся, как я понимаю, больше связаны с персонажами.
Если каждый будет работать над чем-то своим, может чего интересное и получится. :) Можно будет создать банк модифицированных исходников.

Насчёт русификации. Сейчас сам я это, к сожалению, проверить не могу, так что просто предложу. При русификации АВ (1.02) шрифты и работа с ними были очень сильно переработаны. Позднее в ЦС и буковском Голде шрифты и русификация сделаны по-другому. Попробуй взять шрифты из них.

Заголовок: Re: Первые шаги...
Прислано пользователем Refiler на 13.03.2004 в 15:52:15
Народ ходите до понедельника переделаю английские шрифты и ехе будет понимать часть русских букв?

Заголовок: Re: Первые шаги...
Прислано пользователем Refiler на 13.03.2004 в 15:59:03
Терапевт:
Шрифты из Голда и ЦБ не пойдут они даже меньше на несколько символов чем у АВ, у англичан свои шрифты из 187 иногда даже 188 символов

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 16:16:06
ЦСные шрифты не подходят  :(
Если честно, то такое впечатление, что даже при активации русского языка, он игнорируется...
Может кто нашел уже сектор высадки? В merk hiring.c есть параметр прибытия новых наемников в А9. Но он почему-то не работает...

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 13.03.2004 в 22:17:18
2Refiler:

Quote:
Шрифты из Голда и ЦБ не пойдут они даже меньше на несколько символов чем у АВ

Да ладно.
Специально посмотрел. В АВ 160 символов, ЦС 164 символа, Бука Голд 202 символа, т.е. практически все символы латиницы + символы национальных алфавитов и кириллицы.

Заголовок: Re: Первые шаги...
Прислано пользователем Refiler на 13.03.2004 в 22:40:49
Терапевт:
Пардон я про шрифты ЦБ писал, у них символов немного не достает в каких та шрифтах.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.03.2004 в 22:50:31
2Терапевт: А где моно голдовские шрифты взять?

Заголовок: Re: Первые шаги...
Прислано пользователем gyv на 14.03.2004 в 08:09:46
2Bezumnij_Kovrik: Если ты правишь заголовочный файл, то перекомпилируются все модули, связанные с ним.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 14.03.2004 в 08:51:41
Есть файл build\fonts.c, где кодируются шрифты, но копания в нём приводят или к падению игры, или вообще игра их не замечает:(

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 14.03.2004 в 12:03:33
2S-Vertal: У меня он почему-то после правки вообще не компелируется заново :(...
Млин, ну неужели из-за такой фигни может погореть столько возможностей.
Если будет стоять выбор: юзать английские исходники без русского и юзать русский экзешник без возможности глубокого копания, то чувствую, что выбор будет не в пользу исходников :(
Да к тому же редактировать оружие там практически невозможно...

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 14.03.2004 в 13:23:28
2Bezumnij_Kovrik: Фигня всё это. Раскопаем и русификацию, и оружие. Зато есть принципиально новые возможности. А работает исходник нормально, я дошел до Камбрии - ни одного бага.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 14.03.2004 в 13:26:22
Вот шрифты для JA2 "Золотая серия" от Буки.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 14.03.2004 в 13:57:19
2Терапевт: Биг Сянькс!!!
Я тут уже откопал некоторую закономерность в глючности шрифтов с помощью Refiler'а, но она еще не очень понятная, что называется "на языке вертится". А вот то, что русский текст (экзешный) даже ввиде кракозябр не подключается, навевает тяжелые думы...

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 14.03.2004 в 14:46:37
Может знает кто, почему не собираются откомпилированные библиотеки?

Linking...
Strategic.lib(Map Screen Interface Bottom.obj) : error LNK2001: unresolved external symbol _zNewTacticalMessages
GameInitOptionsScreen.obj : error LNK2001: unresolved external symbol _zNewTacticalMessages
Tactical.lib(Turn Based Input.obj) : error LNK2001: unresolved external symbol _zNewTacticalMessages
Tactical.lib(DisplayCover.obj) : error LNK2001: unresolved external symbol _zNewTacticalMessages
Strategic.lib(mapscreen.obj) : error LNK2001: unresolved external symbol _zNewTacticalMessages
GameInitOptionsScreen.obj : error LNK2001: unresolved external symbol _gzIronManModeWarningText
\ja2\ja2.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

И скажите, перед компиляцией, если изменил заголовочный файл, то нужно его переписывать в Standart Gaming Platform?
Вот после сего действа появлятся такая бадяга...

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 14.03.2004 в 15:26:52
2Bezumnij_Kovrik: Удали все obj. Или меню Biuld\Clean, потом компиляй заново

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 14.03.2004 в 20:17:42
Ташка мне подшаманила fonts.c, и теперь русский (тот что не из экзешника) корректно отображается с Голдовскими шрифтами . Сейчас ковыряемся с экзешными надписями.

Так что полпроблемы мы уже решили (плюсики ей:))

Заголовок: Re: Первые шаги...
Прислано пользователем sd на 14.03.2004 в 20:47:45
S-Vertal:
А подключить их как? В смысли, просто скопировать font.c в папку с исходникоми, или как то более закручено? ::)

Заголовок: Re: Первые шаги...
Прислано пользователем Refiler на 14.03.2004 в 21:10:34
Народ кому интересно прикрепляю таблицу, где есть описание всех русских букв которые поддерживает английский ехе. Номер после буквы означает номер символа который можно заменить в многостраничном рисунке шрифта. То есть открываем шрифт сти едитором находите к примеру номер 94  и иероглиф находящийся в этом рисунке меняем  ее заглавную Ц, после чего Ц заглавная нормально отражается на текстах которые используют этот шрифт.
Таким образом я руссифицировал УХ

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 14.03.2004 в 21:51:24
2sd: Копируешь, компилишь - и всё

Заголовок: Re: Первые шаги...
Прислано пользователем sd на 14.03.2004 в 21:56:11
S-Vertal:
Пасиб, уже все получилось. :)

Заголовок: Re: Первые шаги...
Прислано пользователем СиТриПиО/С3РО на 14.03.2004 в 22:02:36
Некоторые отмечали, что скомпилированный экзешник с ресурсами Буки 1.02 выдаёт на экран крякозябры. Я решил посмотреть почему - ну ещё бы, канаки знают только 17 заглавных русских букв и почему-то около 20-ти прописных! ;D А ещё смеются над кирилицей, уродцы, лучше б словарь открыли...  

Тут я кидаю модифицированный font.c с которым можно использовать шрифты из АВ. Для Голда я смотрю уже подцепили...

P.S. У меня ещё есть англицкий рип UB 1.0, так там русские буквы присутствуют, но только большие! :( Вот придурки, на фиг их вообще рисовали...

P.P.S. Если у кого есть голодовские шрифты с кирилицей, поделитесь плиз, у меня Голд будет только во вторник... :( Кстати, судя по всему это исходники именно Голда.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 15.03.2004 в 07:31:22
2СиТриПиО/С3РО: Это видать исходники неизвестно чего... По многим признакам (версия, кй-какие обновы) - это действительно Голд (Сам я правда его не видел, но что называется по слухам). Но так же непонятно, почему столько несостыковок... Например не ставится на UB... Количество тайлсетов в ресурсах ему понимаешь ли не нравится...
Кстати, а что с Ag.ru? Я там никогда не сидел, но до появления на этом форуме периодически туда заглядывал - много инфы собирал... Сейчас зашел - исходникам посвящена 1 ветка, и та забита совершенно посторонним базаром...

Заголовок: Re: Первые шаги...
Прислано пользователем Ice_T на 15.03.2004 в 07:55:34
2Bezumnij_Kovrik:
Quote:
Это видать исходники неизвестно чего

Да это точно, такое ощущение что их собрали из голда и оригинальной джаги. А если судить по перечисленным набором тайлсетов то вообще ни первое ни второе.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 15.03.2004 в 09:03:08
2Bezumnij_Kovrik: Насколько мне известно, все НОРМАЛЬНЫЕ Джайцы (на этом форуме мне никто не даст по шее за такие слова) создали Джа2.ру (Гиви сотоварищи) и ушли на него. Поскольку беспредел модератора Гражданина Кейна и ряд других мне лично неизвестных причин вынудили это сделать (Гиви, Олесь - поправьте меня, если я не прав). И остался там в основном сброд типа Гуднайта, и умеют они только флудить тухлыми яйцами.

ЗЫ. Русификация движется, думаю, улажу чз ещё пару часов

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 15.03.2004 в 09:50:01
;D Коврик, у меня мышка заклинила и я тебе 40 экспин слил  :o ;D Заслужил, значит. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 15.03.2004 в 11:56:03
2СиТриПиО/С3РО:

Quote:
так там русские буквы присутствуют, но только большие!  Вот придурки, на фиг их вообще рисовали...

Для нескольких фраз Ивана на русском языке. Так было ещё в демке JA2.

Фонты от Голда были где-то выше в этой ветке.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 15.03.2004 в 12:02:44
2Терапевт: Для русификации я состряпал шрифты (в ветке Русификация)

Заголовок: Re: Первые шаги...
Прислано пользователем COBRA на 16.03.2004 в 21:38:18
2S-Vertal: Да, так и было, но лучше не вспоминать :)

Заголовок: Re: Первые шаги...
Прислано пользователем Kikimora на 01.04.2004 в 22:48:21
Помогите откомпилировать! При открытии ja2.dws VC6++ пишет, что Editor.dsp плохой и не будет загружен. Далее он тоже пишет и про все dsp файлы. >:(

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 11.04.2004 в 22:08:59
Редактор из исходников вполне нормально собирается и работает.
Для этого в файле builddefines.h нужно раскомментировать строчку
// Normal test version
#define JA2TESTVERSION

Собирать лучше Debug, а не Release версию, т.к. Release в некоторых местах интерфейса при работе вылетает.
Чтобы запустить получившийся экзешник в режиме редактора нужно указать в параметрах строки -EDITOR (обязательно большими буквами):
ja2.exe -EDITOR

Ещё могут возникнуть мелкие косячки с "ненаходжением" некоторых STI-файлов. Их нужно просто найти в соответствующих SLFах и распаковать в одноимённые папки.

Заголовок: Re: Первые шаги...
Прислано пользователем COBRA на 14.04.2004 в 08:39:25
Можно ли сделать так, что наемники АИМ и МЕРК при начале новой игры будут получать оружие рандомно? - подобно генерации оружия у противника?

Заголовок: Re: Первые шаги...
Прислано пользователем COBRA на 14.04.2004 в 08:41:09
Паша, напиши здесь - как менять видимость днем и ночью, а также, - как сделать барахло полностью НЕВЫПАДАЕМЫМ - для ЦС, АВ и Голда?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 14.04.2004 в 16:53:22
2COBRA:

Quote:
Можно ли сделать так, что наемники АИМ и МЕРК при начале новой игры будут получать оружие рандомно? - подобно генерации оружия у противника?

Если делать новый экзешник, то скорее всего можно. Но как это будет соотноситься с их инвентарём в АИМ?  ::)


Quote:
как менять видимость днем и ночью, а также, - как сделать барахло полностью НЕВЫПАДАЕМЫМ - для ЦС, АВ и Голда?

Наработок по "Золотым" версиям у меня нет, и для ЦС очень мало. Посмотрю что есть, тогда напишу.

Заголовок: Re: Первые шаги...
Прислано пользователем COBRA на 14.04.2004 в 21:29:23
2Терапевт: Спасибо :) заранее

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 16.04.2004 в 21:02:01
2COBRA:
С НЕвыпадением барахла дела бостоят так. (Заменить байтики в соответствующих экзешниках.)

АВ v1.02 rus
CE255: 13 на 00

ЦС v1.01 rus
C9CE5: 13 на 00

Голд АВ v1.12 rus
E9781: 13 на 00

Голд ЦС v1.02 rus
CB039: 13 на 00

Для изменения видимости днём и ночью отдельных патчей у меня нет. Эти феньки встроены в другие довольно громоздкие патчи.
В принципе в экзешниках есть пара табличек, в одной из которых изменяется коэффициент (точнее, процентная величина) дальности зрения в зависимости от времени суток, а во второй определяется дальность зрения в зависимости от направления.

Для АВ v1.02 rus первая табличка выглядит так:
1FA900:  50 56 5D 64 5E 58 52 4C 46 40 3A 33 2B 1E 11 09
Для основного "времени" дня используется  4ый по счёту коэффициент, а для основного "времени" ночи 13ый. Остальные используются только при переходе времени суток и то не все (с 3ого по 12ый).
Эту последовательность байтов можно поискать и в других версиях экзешников.

Вторая таблица довольно большая 8х8 байтов и работать с ней я и сам толком пока не умею. :) Поэтому писать про неё не буду.

Заголовок: Re: Первые шаги...
Прислано пользователем COBRA на 19.04.2004 в 20:49:48
Сы-пасибо :) Для любителей хардкора, исключительно

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 28.04.2004 в 00:51:28
Коллеги- просьба в описании работы с исходниками "ражевывать" поподробнее-Может быть я тормоз,но я 5 дней парился с компиляцией,используя инструкции с этой ветки(кстати- спасибо за них),за тем прочитав сосответсвующую ветку на AGFC я понял ,что сначала нужно откомпилировать библиотеки,а потом приступать к сборке (С програмированием знакомп мало-интузиаст самоучка)
Пожалуйста учтите мои пожелания в будущем.
С УВАЖЕНИЕМ КО ВСЕМ ФАНАТАМ ВЕЛИКОЙ ИГРЫ !!!!!

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 02.05.2004 в 16:45:20
Всем привет!
Несмотря на дефицит времени, я всё же опять немного буду ковыряться в исходниках, ибо свербит. Господ гробокопателей прошу приватно поделиться, что успели намодифицировать в коде пока я был не у дел (кому не в лом меня проинформировать:)).

ЗЫ. А ветка что-то сдохнуть успела:)

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 03.05.2004 в 14:57:45
2S-Vertal: Не, ветка не сдохла. Просто каждый поднабравшись опыта в модифицировании кой-каких данных уселся писАть что-то свое. По крайней мере я так думаю.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 04.05.2004 в 01:37:37
ВСЕХ с наступающими праздниками.
Собрал наконец(ПОД МУДРЫМ РУКОВОДСТВОМ ТЕРАПЕВТА)исходники,сразу нарисовалась пара глюков,в связи с чем есть пара вопросов и замечаний:
1)Если русифицировать исходники, и поставить ЕХЕ на ресурсы Буки,то НЕ РАБОТАЮТ КВЕСТЫ,И ИГРА ИДЕТ ДО ПЕРВОГО РОЛИКА С ДЕЙДРАНОЙ-РОЛИК ГРУЗИТСЯ,НО ДЕЙДРАНА НЕ ДВИГАЕТСЯ,ДАЛЬШЕ-ВЕЧНЫЕ ЧАСЫ:
Проблема в NPSDATA.slf-он должен быть от анг.версии.Но диалоги неписяев будут отобр. на англ. языке.
ВТОРОЙ ВАРИАНТ-ИСПОЛЬЗОВАТЬ ПРИАТТАЧЕНЫЙ ФАЙЛ(Я МОДИФИЦИРОВАЛ NPSDATA.SLF,оставив ДАТ.файлы от англичанки,а ЕДТ.взял из Бучьего).
2Терапевт
Паша,вопрос напрямую к тебе,как к ИМХО наиболее компетентному в таких вопросах.
СИТУАЦИЯ- ЕСЛИ ПРИ ЗАХОДЕ В СЕКТОР,РАССТАВИТЬ МЕРКОВ В ПРЕДЕЛАХ ВИДИМОСТИ ВРАГА(напр.D-13 впп возле самолета),ТО ПРИ ПОПЫТКЕ ПЕРЕЙТИ ИЗ РАССТАНОВКИ В ТАКТИКУ,ВЫЛЕТАЮ В ОКНА .
ЭТО ПРОИСХОДИТ НА ЛЮБОЙ КАРТЕ.
ЕСЛИ РАССТАВИТЬ ВНЕ ПРЯМ.ВИДИМОСТИ ВРАГА-ВСЕ РАБОТАЕТ.
ПАША ПОМОГИ ЕСЛИ МОЖЕШЬ ПЛИЗ!!!!!!!!!!!(КРАШ,ЛОГ.СБОРКИ-В АРХИВЕ

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 04.05.2004 в 01:40:07
2ВСЕ
ВО ОБЕЩАНЫЙ NPSDATA.slf,1-я часть(вторая-следующим сообщением) ;D

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 04.05.2004 в 01:40:58
2ВСЕ
2-Я ЧАСТЬ АРХИВА:

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 04.05.2004 в 07:28:52
2WISDOM: Полагаю, что ты русифицировал путем раскомментирования #define Russian, а надо оставить #define English и подменить в файле English text весь текст, взяв из Russian text

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 04.05.2004 в 07:35:45
2WISDOM: Не заметил сразу.... прально сделал ты, едт-шки от буки, остальное от агличанки, тогда усё тип-топ должно быть. Кста, как ты русифицировал? Моими кривыми самопальными шрифтами, или лучше способ сумели найти? ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 04.05.2004 в 16:18:12
2S-Vertal:
Лично я почти ничего не делал. Только слегка модифицировал редактор карт под наши НОшные нужды. :)

2WISDOM:

Quote:
Если русифицировать исходники, и поставить ЕХЕ на ресурсы Буки,то НЕ РАБОТАЮТ КВЕСТЫ

В Буке 1.02 немного другой формат файлов (npcdata\***.npc) со скриптами NPC. В начало каждого файла зачем-то добавлены лишние 4 байта.


Quote:
ЕСЛИ ПРИ ЗАХОДЕ В СЕКТОР,РАССТАВИТЬ МЕРКОВ В ПРЕДЕЛАХ ВИДИМОСТИ ВРАГА(напр.D-13 впп возле самолета),ТО ПРИ ПОПЫТКЕ ПЕРЕЙТИ ИЗ РАССТАНОВКИ В ТАКТИКУ,ВЫЛЕТАЮ В ОКНА .

Действительно, такой глюк имеет место быть и на моём экзешнике. В чём причина я не знаю. Кстати, файлик error.rar битый.
И, пожалуйста, больше не цепляй к письмам большие файлики, не поставив меня заранее об этом в известность.

Заголовок: Re: Первые шаги...
Прислано пользователем thelastone на 05.05.2004 в 14:51:26
В этой ветке было про правку ехе чтобы барахло невыподало . Как править по тем адресам чтобы выпадало все . И как находить адрес где это прописано в wildfire ехе и сделать там полное выпадение.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 05.05.2004 в 15:13:53
2thelastone: Вообще-то это ветка про правку исходников:) В них выпадалку сделать - полминутное дело

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 05.05.2004 в 16:59:21
Насчёт Релиз/Дебуг в MSVC:
всё определяется опциями компилятора для той или иной версии. Попробуйте определить, какие приводят к зависанию при компиляции в Релизе.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 07.05.2004 в 00:39:26
2S-Vertal
Естественно шрифты твои,и не корявые они (во всяком разе лучше чем никаких :)),ОГРОМНОЕ ТЕБЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!

Quote:
[/quote]
Полагаю, что ты русифицировал путем раскомментирования #define Russian, а надо оставить #define English и подменить в файле English text весь текст, взяв из Russian text
Я НЕ ПРОГРАМЕР,и не знаю что значит раскоментировать,закоментировать.
2Терапевт
[quote]

И, пожалуйста, больше не цепляй к письмам большие файлики, не поставив меня заранее об этом в известность
Прошу прощения-не знал :-[,по поводу ERROR.rar-переделаю и снова выложу в СУББОТУ С УТРА.
А на счет глюка,нормальные эксперименты с исходниками невозможны :'((насколько я понимаю),до тех пор,пока глюк не будет устранен(поскольку при 32 фрагах в секторе,замучаешся перезапускать игру?
А как ты соуществуешь с этим глюком? ???

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 07.05.2004 в 00:44:47
В ПРОДОЛЖЕНИЕ ПРЕД.ПОСТА:
К тем кто играл в JA2 GOLD(поскольку по видимому исходники по большей части от нее)
[quote][/quote]ЕСЛИ ПРИ ЗАХОДЕ В СЕКТОР,РАССТАВИТЬ МЕРКОВ В ПРЕДЕЛАХ ВИДИМОСТИ ВРАГА(напр.D-13 впп возле самолета),ТО ПРИ ПОПЫТКЕ ПЕРЕЙТИ ИЗ РАССТАНОВКИ В ТАКТИКУ,ВЫЛЕТАЮ В ОКНА .  
Присутствует ли данный глюк в ГОЛДЕ?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 07.05.2004 в 09:03:56
2WISDOM:

Quote:
А как ты соуществуешь с этим глюком?

Ввиду того, что я в данный момент не веду каких-либо работ связанных с переработкой исходников, сосуществуем мы с этим глюком вполне мирно. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 07.05.2004 в 09:08:08
Здрасьте!
Рискну поделиться своим первым опытом ковыряния в исходниках.

Ковырял я на предмет увеличения свободных слотов под оружие,
патроны(количество калибров пока не трогал), взрывчатки и брони.

в tactical\item types.h (ln 277) сделал вот это:
FIRST_WEAPON 1
FIRST_AMMO 201
FIRST_EXPLOSIVE 301
FIRST_ARMOUR 351
FIRST_MISC 401
FIRST_KEY 471

Добавил соответствующее количество строк в tactical\items.с и laptop\Store Inventory.c
Забивал "пустышками" т.е. копировал строку IC_NONE и т.д.

В принципе все работает. Проверил выборочно несколько патронов, гранат, броник и аптечку, НО....
Так как Проедит зараза не понимает больше 350 итемов, а редактор я чего-то не того:idontnow:, то чтобы
проверить работают ли броники и остальное пришлось НЕХ-ить карту. Занятие не особо приятное.
Возможно вылезут проблемы с квестовыми вещами типа кубка и карточки Скипера или с ключами,
но это пока не главное. Про перевооружение, рандомную раздачу, ассортимент торгашей и прочее
тоже пока не надо.

Чтобы просто "раздвинуть рамки", этих изменений достаточно или есть еще где-то что-то?
Щас интересует чтобы предметы работали как надо и чтоб не косячило магазин Бобби Рэя.

С редактором у меня не получается :(, хотя делаю вроде все по инструкции Терапевта.
Вернее при сборке получается EDITOR.LIB. Это оно и есть? Если да, то чего с ним(ней) дальше делать?
Желательно по пунктам.
Кидал ее в диру с игрой, но ja2.exe -EDITOR не канает. Игра запускается и все...

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 07.05.2004 в 09:50:24
2Raty: Если редактор соберешь - сразу увидишь - он размером 3.1 метра.
И еще, для того, чтобы редактор собрать, править нуно дефинес на в папке Ja2, а в платформной - он от туда читается.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 07.05.2004 в 10:22:33
2Bezumnij_Kovrik:
Да, так и есть. Что-то собралось и даже запустилось, но выдало ошибку про ненахождение СТИ.
На сколько я понимаю, так и должно по началу быть. Да к тому же я кажется Релиз собрал. Сейчас времени нет разбираться что к чему, главное что нормально собирается.
Огромное спасибо.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 07.05.2004 в 11:13:19
2Raty:

Quote:
Что-то собралось и даже запустилось, но выдало ошибку про ненахождение СТИ.

Надо либо поправить то место, откуда вызывается эта стишка, либо возьми любую стишку размером 640х480 переименуй в ту, которую просят, и подложи просто в каталог Data. И возьми editor.slf от ЦС или Голда и распакуй его в Data\Editor.

И ещё, чтобы собрать редактор, достаточно выбрать вместо Release Debug. Вносить изменения в builddefine.h необязательно.


Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 07.05.2004 в 11:38:47
2Терапевт: А я сейчас на релизе сижу и все у меня работает =) А вот на дебаге ничерта не собиралось...

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 07.05.2004 в 11:40:09
Ну, я уже писал про енто!

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 07.05.2004 в 11:44:59

on 05/04/04 в 02:37:37, WISDOM wrote:
СИТУАЦИЯ- ЕСЛИ ПРИ ЗАХОДЕ В СЕКТОР,РАССТАВИТЬ МЕРКОВ В ПРЕДЕЛАХ ВИДИМОСТИ ВРАГА(напр.D-13 впп возле самолета),ТО ПРИ ПОПЫТКЕ ПЕРЕЙТИ ИЗ РАССТАНОВКИ В ТАКТИКУ,ВЫЛЕТАЮ В ОКНА .
ЭТО ПРОИСХОДИТ НА ЛЮБОЙ КАРТЕ.
ЕСЛИ РАССТАВИТЬ ВНЕ ПРЯМ.ВИДИМОСТИ ВРАГА-ВСЕ РАБОТАЕТ.

Скорее всего это происходит из-за несоответствия количества посадочных мест на весь отряд врагов. У меня сейчас экзешник в режиме тестовой версии работает. Выдавал ошибку в файле Квин комманд.Ц строка 601.
Я подкорректировал количество расставленных вражин в секторе (чтобы 32 стало) и теперь все пучком - ничего не вылетает.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 07.05.2004 в 12:38:59
2Терапевт:
2Bezumnij_Kovrik:

Quote:
И возьми editor.slf от ЦС или Голда и распакуй его в Data\Editor.

Ну я так и сделал, только взял СТИ-шки от немца. Ничего кроме него сейчас под рукой нет.

Вылез вот какой косяк. Открывается редактор нормально, но при попытке подгрузить карту ругается на старую версию или что-то в этом роде. Как немец ругается на карты от ЦС редактора.  Карты брал и родные из Мапс.слф и новые, отрисованные давно на немце, конвертил во все форматы и результат один - ошибка.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 07.05.2004 в 13:51:40
2Raty:
Да, такая проблемка возникает. Этот редактор по умолчанию может открывать только карты, версия которых 5.25 (английские версии JA2 и Голд), а у ЦС версии 5.26 и 5.27, у Буки АВ 1.02 вообще 6.0. Я это дело у себя давно поправил, когда доберусь до дома, напишу, что нужно изменить. Или пока ищи сам. :)

2Bezumnij_Kovrik:
Чтобы собрать Debug, нужно в свойствах каждого проекта, удалить подключение одного отладочного либа (какой-то там .lib, точное название не помню).
Попробуй в своём "релизном" редакторе посмотреть инвентарь какого-нибудь солдатика. ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 07.05.2004 в 14:43:41
2Терапевт:

Если убрать ентот самый .либ, ьоюсь релиз и получится :)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 07.05.2004 в 14:57:23
2Artem:
Как раз нет. :) Отличий в дебаге и релизе предостаточно.
Впрочем, в этом либе всего две функции, если его кто-нибудь где-нибудь найдёт, будет совсем хорошо. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 07.05.2004 в 19:01:49

on 05/07/04 в 14:51:40, Терапевт wrote:
2Bezumnij_Kovrik:
Чтобы собрать Debug, нужно в свойствах каждого проекта, удалить подключение одного отладочного либа (какой-то там .lib, точное название не помню).
Попробуй в своём "релизном" редакторе посмотреть инвентарь какого-нибудь солдатика. ;)

И чаго должно быть? У меня все работает и инвентарь и характеристики... :)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 07.05.2004 в 22:04:37
По поводу редактора и карт.
В файле Tactical\Map Information.c есть такая функция (см. комментарии в ней)

void ValidateAndUpdateMapVersionIfNecessary()
{
     //Older versions of mercs may require updating due to past bug fixes, new changes, etc.
     if( gMapInformation.ubMapVersion < MINOR_MAP_VERSION )
     {
           SetRelativeStartAndEndPercentage( 0, 92, 93, L"Updating older map version..." );
           RenderProgressBar( 0, 0 );
           UpdateOldVersionMap();
     }
     else if( gMapInformation.ubMapVersion > MINOR_MAP_VERSION ) // достаточно в этом условии заметить MINOR_MAP_VERSION на 27
     {
           //we may have a problem...
           AssertMsg( 0, "Map version is greater than the current version (old ja2.exe?)" );
     }
     AutoCalculateItemNoOverwriteStatus() ;
}

А в начале этого файла такой параметр
//Current minor map version updater.
#define MINOR_MAP_VERSION 25
который тоже можно попробовать поправить на 27.

А если нужно, чтобы немецкий редактор открывал карты сконвертированные из форматов ЦС:
F54C3: 1A на 1B

2Bezumnij_Kovrik:
То есть ты хочешь сказать, что поставив в редакторе солдатика на карте, выдаёшь ему ружьё, и редактор при этом не вылетает?

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 07.05.2004 в 22:40:30

on 05/07/04 в 23:04:37, Терапевт wrote:
2Bezumnij_Kovrik:
То есть ты хочешь сказать, что поставив в редакторе солдатика на карте, выдаёшь ему ружьё, и редактор при этом не вылетает?

Точно :)

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 08.05.2004 в 09:28:24
  Доброе утро всем!
Поздравляю всех ДЖАЙЦЕВ(и всех сочуствующих)c
наступающим Днем Победы!!!
Выкладываю,как и обещал,архив ERROR с отчетом о сборке ехе из исходников.
Так же сюда включены файлы дебагинга(я запускал свежеслепленый ехе в Visual Studio .NET(у меня версия 2002 г)
в дебаг режиме.
В силу того что я НЕ програмист(к моему большому сожалению),я вероятнее всего не смогу самостоятельно определить и
что более важно УСТРАНИТЬ причину вылета игры в "окна".
Я уверен,что среди посещающих этот форум есть люди,если и не на"ты "с програмированием,то,по крайней мере разбирающиеся в сути предмета,
и способные помочь в решении этой поблемы,поэтому я обращаюсь ко всем ФАНАТАМ этой с большой буквы ИГРЫ:
                                   
                               ПОМОГИТЕ ПОЖАЛУЙСТА,И БЛАГОДАРНЫЕ ФАНАТЫ ВАС НЕ ЗАБУДУТ!!!!!!!!!!!!!!!!!!!!

Прошу помощи,не только себе - ВСЕМ,кто в данный момент работает с исходниками,поскольку данная проблема я думаю есть у всех,
кто собирал ехе из исходного кода. :(
Внутри архива есть файл-ГЛЮК тхт,где подробно описан глюк(для тех,кто не в курсе).

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 08.05.2004 в 13:54:41
Доброго дня еще раз,посмотрел последние посты,и захотелось задать пару вопросиков. ;)
2Bezumnij_Kovrik
Ты меня не понял,вылетает ехе собранный из чистых(не редактированых)исходников.Откуда в этом случае B-13(день_1  15:30) возмется 32 фрага?
(это я о нехватке мест на всех врагов).
Или несоответствие кол-ва"посадочных мест"изначально есть в исходниках?(Задумчиво:"Что жеэто за исходники"?) ???
[quote][/quote]Я подкорректировал количество расставленных вражин в секторе (чтобы 32 стало) и теперь все пучком - ничего не вылетает
А можно с этого места поподробнее?(гле что,и как подкоректировал)
В исходниках я подробно не рылся,поэтому и прошу помочь(кроме того Я уже писал,что НЕ ПРОГРАМИСТ),разясни пожалуйста если не
трудно, :-[может бытьдействительно все дело в этом?
Заранее благодарен.
P.S. Если есть желание-можешь скинуть данные мне на мыло.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 08.05.2004 в 14:07:35
2WISDOM: Я правил для своих нужд Strategic AI.c. При том на данный момент у меня отключены все патрули (кроме одного). Была та же неприятность с вылетами. Я скорректировал в этом файле количество врагов в нужном мне секторе (8 штук поставил). Специально проставил врага близко к краю экрана (остальные посадочные места были складированы в противоположном конце карты). Игра больше не слетает. Имей ввиду, что ее (игру) нужно начинать с начала...

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 08.05.2004 в 19:48:53
2WISDOM:
Насколько я понял, вылет (по крайней мере у меня) происходит в функции void EnterCombatMode(...), находящейся в файле Tactical\Overhead.c.
В этой функции есть такая строчка с условием
if ( MercPtrs[ gusSelectedSoldier ]->bOppCnt == 0 )
В ряде случаев из массива указателей достаётся нулевой адрес, из-за этого в дальнейшем происходит вылет.
Вот такое изменение этой строчки
if ( MercPtrs[ gusSelectedSoldier ] != 0 && MercPtrs[ gusSelectedSoldier ]->bOppCnt == 0 )
позволило мне избежать вылета по этой причине.
Однако могу добавить, что в буковском Голде эта функция выполнена абсолютно аналогично функции в исходниках, и при этом ничего не вылетает. Значит ошибка допущена в одном из случаев её вызова, и с этим тогда нужно отдельно разбираться.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 10.05.2004 в 13:48:12
                          Доброго дня всем!
Посмотрел утром ваши посты-благодарю всех откликнувшихся на мою просьбу!
2Терпаевт
Паша - огромное спасибо тебе за внимание к проблемам других,твоя инфа  к огромному сожалению,не помогла(все  осталось по старому),но все равно спасибо.
Я в выходные копался в исходниках,в поисках данных применительно к V 1.02 (Бука),кое что отрыл,но еще не проверял смотри  у себя в привате)
Да,чуть не забыл; Два собраных,АБСОЛЮТНО ИДЕНТИЧНО(из чистых исходников)ехе-различаются (старткод разный,и еще в паре мест). ???
Например,код по смещению 0x108-0х109 - ОТЛИЧАЕТСЯ В КАЖДОМ ВНОВЬ СОБРАННОМ ехе.
Так ведь  быть не должно,или я чего то не понимаю???
2Bezumnij_Kovrik
[quote][/quote]
Я скорректировал в этом файле количество врагов в нужном мне секторе (8 штук поставил). Специально проставил врага близко к краю экрана (остальные посадочные места были складированы в противоположном конце карты). Игра больше не слетает.
А НЕЛЬЗЯ ЛИ УВИДЕТЬ ЗТОТ ФАЙЛ(меня интересует,только та его часть,которая може помочь моей проблеме(я не шпион), ;D
                                                     ПОЖАЛУЙСТА ПОМОГИ!!!!!!
Идей,у меня самого валом,но в данный момент  серьзно браться за исследования исходников,я не вижу смысла(по крайней мере для себя)-поскольку,
они фактически НЕ РАБОТОСПОСОБНЫ(опять же -у меня). :-[
                               ЕЩЕ РАЗ ПРОШУ ТЕБЯ-ПОМОГИ,ЕСЛИ МОЖЕШЬ!!!!!!!!!!!!!!!!!!
(файлик или инфу можно скинуть мне на мыло,или в приват(после просмотра обязуюсь уничтожить)).  ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 10.05.2004 в 15:03:01
Да впринципе без проблем...
Там увидишь таблицу стандартных гардпостов (преимущественно по названиям городов). Там корректируешь необходимые данные.
Ниже будет таблица патрулей (у меня открыто только 1 значение, т.к. я как раз работаю с ней, а многие сектора на страт карте у меня залочены). Можешь впринципе ее раскомментировать.
Еще одна таблица гардпостов, которые должны использоваться на страт карте. Они используют первую таблицу в качесте образца.
Все это предельно просто. Никакого навыка программирования не нужно (я между прочим тоже в Си ну совершенно не рублю...).
Думаю разберешься.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 11.05.2004 в 10:50:54
2Терапевт:
Спасибо за помощь. Все получилось.


Quote:
То есть ты хочешь сказать, что поставив в редакторе солдатика на карте, выдаёшь ему ружьё, и редактор при этом не вылетает?

Я релиз собрал и тоже все в порядке. По крайней мере в этом месте.


Quote:
А если нужно, чтобы немецкий редактор открывал карты сконвертированные из форматов ЦС

Ни фига себе:wow:  Эх мне б эту инфу на полгода пораньше получить, столько гимора избежал бы.

2ALL:
А никто с Редитом и Проедитом не разбирался? Как бы научить Проедит понимать больше 350 итемов? А то НЕХ-ить что-то как-то не особо..... А про жизненную необходимость Редита я вообще не говорю.

И еще один вопросик, что-то я никак не найду где заныкано ограничение очереди в 6 патронов? Наверняка кто-то уже нашел. Подскажите плз.




Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 11.05.2004 в 11:13:08
2Raty:
В принципе, касательно редита, особых проблем нет, за исключением отсутствия исходников  ;D. Из анализа исходников ведита ясно, что кол-во итемов задаётся искусственно и жёстко на этапе сборки.
Могет через месяцок-другой разберуся с Буковскини смещениями и тогда..   :D

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 11.05.2004 в 11:19:55
2WISDOM:

Quote:
Два собраных,АБСОЛЮТНО ИДЕНТИЧНО(из чистых исходников)ехе-различаются (старткод разный,и еще в паре мест).

Quote:
Так ведь  быть не должно,или я чего то не понимаю

Всё нормально, так и должно быть.

2Raty:

Quote:
Эх мне б эту инфу на полгода пораньше получить, столько гимора избежал бы.

Лучше год потерять, потом за день долететь. (С) перефразировано из одного известного мультфильма. :)



Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 11.05.2004 в 11:41:05
2Терапевт: Может, хотя бы всесильный Кулибин знает, как мне увеличить число НПЦ в проф.дат свыше 170, и чтоб вставлять в сектор мона было, а то я не могу вставить никого после грузовика в сектор >:( В смысле в немецком редакторе вставляю НПЦ, пишу профиль 164 или 165 например, в проедите выставляю тот же сектор - и хрен кто там появился. В gameinit.c пытался прописать новых нпц - нифига не помогло :(

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 11.05.2004 в 16:14:56
2S-Vertal:

Quote:
Может, хотя бы всесильный Кулибин знает

К сожалению не знает.
А вообще я с NPC никогда не работал. Пожалуй могу вспомнить только то, что когда что-то ковырял ещё в экзешнике, то натыкался на код, который в начале новой игры расставлял NPC по секторам, например Всадника.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 13.05.2004 в 10:39:15
2All, но в основном Raty:

Я разобрался таки (надеюся  ;D) с Буковскими смещениями и при удачном раскладе к концу след. недели бут готов новый редактор для Джагги. Подобен Редиту, но с граф. интерфейсом, прошу присылать просьбы и замечания.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 13.05.2004 в 10:55:11
2Artem:
Жду с нетерпением.
В будущем редакторе кол-во итемов тоже будет задаваться искусственно или будет вытягиваться из ЕХЕ? А то я раздвинул рамки. Оружия у меня теперь 200 слотов, патронов всего остального тоже больше.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 13.05.2004 в 12:47:15
2Raty:
Ваще то искусственно, поэтому я предыдущее сообщение и оставил. В принципе могу посмотреть возможность задания кол-ва итемов снаружи (ибо енто не так уж и сложно, но приэтом падает надёжность системы.)
Вот если бы кто нить поделился, задано ли кол-во итемов (ограничение) где нить в екзешнике, я бы посмотрел и дин выделение. (Hakman`ить екзешник мине уже сильно надоело)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 13.05.2004 в 13:01:16
2Artem:
Ограничения общего к-ва итемов вроде нет. Но я могу ошибаться.
Есть лишь ограничение к-ва оружейных слотов, патронных и т.д. Но через исходники его можно любое сделать. А вот где оно непосредственно в ЕХЕ находиться будет, понятия не имею.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 13.05.2004 в 13:08:04
2Raty:
Лана, покопаюся на досуге!
Тока скажи точно, в чистой версии скока оружия и скока патронов.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 13.05.2004 в 13:31:39
2Artem:

FIRST_WEAPON 1
FIRST_AMMO 71
FIRST_EXPLOSIVE 131
FIRST_ARMOUR 161
FIRST_MISC 201
FIRST_KEY 271

Всего итемов 350, но 0, 70, 130, 160, 200 и 270 итемы должны быть пустышками - это и есть разделители классов. Это слоты. Рабочих итемов немного меньше в каждом классе(например оружия только 65), но это не суть важно ИМХО.

Для себя я вот чего сотворил:

FIRST_WEAPON 1
FIRST_AMMO 201
FIRST_EXPLOSIVE 301
FIRST_ARMOUR 351
FIRST_MISC 401
FIRST_KEY 471
Всего итемов - я даже не считал :)
Мне я думаю хватит.
Впринципе чтоб не заморачиваться в будущем, можно скажем для каждого класса сделать по 200-300 слотов. Но ИМХО лучше чтоб редактор был унифицирован под любые рамки. Насколько это реализуемо решать тебе. В любом случае я буду рад любому рабочему редактору.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.05.2004 в 13:52:15
2Raty: 2Artem:
Че-то я в последнее время перестал надеяться на новый редит, т.к. изменения в количестве итемов - это мелочи, а вот есть такая штука, как добавление новых параметров предметам... я уже думаю, не лучше ли просто ручками их делать...
Лучшая идея была (и кстати почти рабочая) у Терапевта насчет выноса ВСЕХ параметров в отдельный текстовой файл. К сожалению, многие параметры вынести невозможно... или просто трудно (например отпечатки пальцев у РВ и АРВ). зато все можно запросто реализовать непосредственно в коде.
Редактор нужен прежде всего под мелкие модификации (типа мощности стволов и кол-во зарядов). А вот для родного (Буковского) экзешника GUI редактор не помешает...

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 13.05.2004 в 14:30:49
2Bezumnij_Kovrik:
Я особо издеваться над оружием не собираюсь, за исключением гранатометов и подствольников, так что для меня покатит.
И еще, я не знаю как для тебя, а я задолбался через исходники вставлять новый ствол. Мало того что в нескольких файлах ковыряться надо, так еще и кривые столбцы. То там облажаешься, то здесь.
А можно ли сотворить редактор исходников? ::) Чтоб хоть в нем столбцы нормальные были.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 13.05.2004 в 16:03:30
2Bezumnij_Kovrik:
В общем то ты прав и неправ одновременно. Не буду распространяться .. с дома по модему... А насчет добавления НОВЫХ параметров предметам, енто ваще ТОЛЬКО через исходники! В коде, если и возможно (сомневаюся), то ну ОЧЕНЬ геморно!!!

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 13.05.2004 в 22:31:48
2Bezumnij_Kovrik:

Quote:
К сожалению, многие параметры вынести невозможно

Интересно какие?

Quote:
или просто трудно (например отпечатки пальцев у РВ и АРВ)

А в чём трудность? Там проверка в двух местах на номер ствола. Добавил в характеристики ещё один параметр под флажки, как это сделано для интеграции аттачей в НО, и переписал условия на обращение к флажкам.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 13.05.2004 в 22:46:10
2Raty: У нас уже все столбцы заделаны под удобную правку ;)
2Терапевт: Я это так сказал... Ведь в ини файле не было такой функции ;) Лично для меня это гемор, а для программиста м.б. вообще переписать движек - нефиг делать. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.05.2004 в 08:33:28
2Bezumnij_Kovrik:

Quote:
У нас уже все столбцы заделаны под удобную правку

Нормально, а меня не научите?

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 14.05.2004 в 09:53:03
2Raty: без проблем. Вот найду архивчик  ;)

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 14.05.2004 в 11:44:51
                      Всем доброго дня! :
2Bezumnij_Kovrik:
ОГРОМНЕЙШЕЕ ТЕБЕ СПАСИБО - ТЫ ГЕНИЙ!!!!!. ЕСЛИ Б МОЖНО БЫЛО-ПОСТАВИЛ БЫ ПИВО!!!
Зделал все как ты советовал- все наконец то заработало--УР-Р-Р-А!!!
По ходу дела  к ТЕБЕ,и ко ВСЕМ присутствующим возникли вопросы:
1.НА ЧТО ВЛИЯЕТ ПРИОРИТЕТНОСТЬ ОБЬЕКТОВ?
2.МОГУТ ЛИ ДВА ОБЬЕКТА ИМЕТЬ ПРИОРИТЕТ 100?
3.Изменяю процентный состав гарнизона(B-13  элита-40/регуляры-60) - в секторе,все равно,
одни желтые-ПОЧЕМУ?(что я упустил?)
4.Как изменить состав патрулей(элита/регуляры),там в таблице,кроме маршрутов- одни нули?
5.ЧТО ЗНАЧАТ ЭТИ ДАННЫЕ в таблицах {0,0,0,0,0,0,0,0,0,0},(Strategic AI.c) -что сюда нужно/можно(и нужно ли)
писать?
6.По поводу мест под расстановку на карте(Start Padding):
//COMPOSITION          PRIORITY     ELITE%          TROOP%  ADMIN       DESIRED#      START#         PADDING
                                                                                                                                                                  START%
DRASSEN_AIRPORT,    30                 40                 60                                85                           32                   32

#define HARD_MIN_ENEMY_GROUP_SIZE                                    30

При заходе на карту - ВЫЛЕТ.(т.е. нужно ставить <32 шт.)
а)Почему везде(кроме Медуны Р-3)фрагов,должно быть МЕНЬШЕ 32?
б)ПОЧЕМУ КОЛ-ВО ПОСАДОЧНЫХ МЕСТ НЕ УВЕЛИЧИВАЕТСЯ БОЛЕЕ 32(увеличение PADDING >32 -не дает эффекта),?
Насколько я понял(где то в этой ветке вскользь упоминалось),есть ограничение на кол- во ярагов в секторе:
2S-Vertal:
[quote][/quote]Все переменные и указатели массивов имеют длину в 1, 2 или 4 байта. Поэтому минимальное ограничение на натуральное число 255. Т.е. Можно без особого геморроя ввести столько слотов для вражин и цивилианов. Да и растянуть переменные не проблема.
Подскажи пожалуйста ГДЕ(в каком файле) это искать?
2НАРОД
Давно хочу попробовать сделать стрельбу очередью "по-македонски"-Вопрос:
КАКИЕ ФАЙЛЫ НУЖНО СМОТРЕТЬ(главное-где они находятся)?
2Терапевт:
Очень расплывчатый вопрос ,всё  что касается управления наёмниками, параметров предметов, всякой физики находится в папке Tactical
Попробую конкретезировать:
Под параметрами стрельбы,я имелл ввиду условия срабатывания кода выстрела(т.е.Если два одноручн.ПП ,то одиночные =2, очередь =1,и.т.п),
перерыл ВСЕ файлы в Tactical,но так и не нашел нужного - ЕСЛИ МОЖНО,ткни носом(если знаешь). :-[
Жду ваших ответов,заранее благодарен.
                                                             СПАСИБО ВСЕМ ВАМ,ЗА ЭТОТ ЗАМЕЧАТЕЛЬНЫЙ ФОРУМ И САЙТ!!!!!!!!!!!!!!!!!!!!  :-*


Заголовок: Re: Первые шаги...
Прислано пользователем Johan на 14.05.2004 в 11:55:20
All:
Ни кто не пробовал разрешение у игры поменять, хотя бы на 800*600?

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 14.05.2004 в 12:28:13
2WISDOM: Да незачто ;). Очень рад, что помогло...
1. Приоритетность влияет на вероятность обитания гардпоста в данном секторе. Для карательных отрядов - это приоритет выбора цели.
2. Запросто... Просто это означает, что в этом секторе стопудово будут тебя ждать ;)
3. Ты начинал игру заново?.. Желательно чтобы расставленные на карте войска соответствовали прописанным в экзе.
4. Х.з - пока с патрулями не разбирался...
5. На это забить можешь... Вишь, даже у сиров тама одни нули...
6. У админов у тебя 0 процентов не стоит. М.б. из-за этого...
А почему у тебя DESIRED# 85?... он примерно должен соответствовать START#... хотя я пока не онял, на что точно он влиять должен...

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 14.05.2004 в 12:31:13

on 05/14/04 в 12:55:20, Johan wrote:
All:
Ни кто не пробовал разрешение у игры поменять, хотя бы на 800*600?

Посмотри на медвежьем сайте... Они этим вроде как плотно занимались...
http://www.ja-galaxy-forum.com/ubb/ultimatebb.php

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.05.2004 в 12:43:27
2Bezumnij_Kovrik:

Quote:
Вот найду архивчик  

Ну как, не нашел еще? ;)

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 14.05.2004 в 12:51:15
2Bezumnij_Kovrik: Почему здесь обсуждают вылет баги с числом слотов размещения врагов в секторах? Неужто это баг оригинальных исходников. Я тестированием плотно не занимался. Что нужно пофиксить, если какой-то глюк имеет место?

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 14.05.2004 в 12:54:40
2WISDOM: Я имел в виду размерность переменных. Минимальная длина переменной 1 байт, т.е. 255 в десятичной системе. Поэтому, если в секторе 32 места для врагов, то всего этих мест может быть 256. Т.о. тип данных останется прежним, и нуна только все ограничителе при чтении карт и в других фрагментах кода изменить.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 14.05.2004 в 12:54:56
2S-Vertal: да, существует тут такая трабла...
2Raty: Ищу :)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 15.05.2004 в 00:13:23
2WISDOM:

Quote:
Под параметрами стрельбы,я имелл ввиду условия срабатывания кода выстрела(т.е.Если два одноручн.ПП ,то одиночные =2, очередь =1,и.т.п)

Не понимаю, в чём состоит вопрос? Конкретизируй иначе.

2Bezumnij_Kovrik:

Quote:
Приоритетность влияет на вероятность обитания гардпоста в данном секторе.

Вероятность постановки блокпостов жёстко задана в коде и всегда равна 20%.

2Johan:

Quote:
Ни кто не пробовал разрешение у игры поменять, хотя бы на 800*600?

Там для этого столько кода править нужно, что свихнуться можно. Все координаты интерфейса прописаны в лоб. И нужно рисовать новый интерфейс под 800х600.


Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 15.05.2004 в 13:16:11
                Доброго дня всем!!!
Маленькое уточнение в вопросе борьбы с глюками при заходе в сектора!
2Терапевт:
Паша - по поводу -"твоя инфа  к огромному сожалению,не помогла"-я немного поторопился,поясняю:
1)Сначала собраная игруха действительно вылетает из за разницы кол-ва фрагов и мест под расстановку
(START =12,  START PADDING =10 - сектор B13) в Strategic AI - ума не приложу,зачем так сделано?(подляна от разрабов?) >:(
2)А вот после устранения этого несоответствия,вылеты происходят именно в указанном тобой месте,
(в функции void EnterCombatMode(...)находящейся в файле Tactical\Overhead.c).
Я клал правленный Strategic AI в исходники с уже измененным Overhead.c ,о чем забыл,а вот после замены исходников,
все и прояснилось(игруха ввыдает разные crash report при вылетах).По одиночке,ни первое,ни второе-болезнь не лечат.
Вот такая получилась цепочка взаимосвязанных глюков :D(меня терзают смутные предчуствия,что это еще не конец)
Справедливость восторжествовала, а с меня ДВА ПИВА ( тебе и  Bezumnomy_Kovriky ) ;).
Напоследок еще раз ОГРОМНЕЙШЕЕ СПАСИБО ТЕБЕ И Bezumnomy_Kovriky за помощь и поддержку!!!!!!!!


Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 15.05.2004 в 13:21:17
2Терапевт:
[quote][/quote]Не понимаю, в чём состоит вопрос? Конкретизируй иначе
Где лежат параметры, определяющиее когда происходит одиночный выстрел,а когда очередь,т.е. где смотреть на предмет очереди "по македонски" ???

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 15.05.2004 в 15:25:55
2WISDOM: Если бы было все так просто... в игре нету явного объявления стрельбы очередью из одной руки и блокировки стрельбы из другой... Я этому не один час времени посвятил...

Заголовок: Re: Первые шаги...
Прислано пользователем Ecros на 15.05.2004 в 16:01:01
2Bezumnij_Kovrik:
Ндя и не ты один ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 15.05.2004 в 19:24:43
2WISDOM:

Quote:
с меня ДВА ПИВА ( тебе и  Bezumnomy_Kovriky )

Ты их в дырочку модема залей, может чего до нас и дотечёт. ;)

Глюк с вылетом от несоответствия количества расставленных солдат противника довольно странный. У меня всё нормально работает без всяких корректировок численности. Только внесено то исправление в Tactical\Overhead.c.
Видимо это как-то связано с особенностью сборки экзешников различными применяемыми средами разработки. Например, у меня вылетает в одном месте редактор карт, а у Коврика нет.


Quote:
Где лежат параметры, определяющиее когда происходит одиночный выстрел,а когда очередь

Посмотри Tactical\Soldier Control.c функцию void EVENT_FireSoldierWeapon(...).
А вообще поищи текстовым поиском обращения к полям bDoBurst и bWeaponMode структур SOLDIERTYPE.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.05.2004 в 08:34:48
2Bezumnij_Kovrik:
Доброе утро.
Ну как, все еще не нашел? :)

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 17.05.2004 в 10:08:45
                          Доброго  дня ВСЕМ!
2ALL:
Как можно добавить подземные сектора(в смысле,какой файл смотреть)?Подскажите пожалуйста!!!! ???
2Bezumnij_Kovrik:Спасибо ОГРОМНОЕ за ответы,позволю себе лишь немного уточнить. ;)

Quote:
[/quote]Желательно чтобы расставленные на карте войска соответствовали прописанным в экзе.
Если ты имел ввиду расстановку войск редактором,то это необязательно-В JA2,(в отличии от JA2UB) ЕКЗЕШНИК ИМЕЕТ ПРИОРИТЕТ ПЕРЕД КАРТОЙ!т.е.что
в ехе пропишешь,то у тебя и будет на карте.
[quote]
У админов у тебя 0 процентов не стоит. М.б. из-за этого..
В таблице гарнизонов НЕТ колонки под Админов,(заголовков-COMPOSITION,PRIORITY... и.т.д,восемь- а колонок с данными -СЕМЬ),после TROOP%,идет
колонка DESIRED# - или я чегото попутал???

Quote:
[/quote]А почему у тебя DESIRED# 85?... он примерно должен соответствовать START#...
Не совсем так - DESIRED(DESIRED POPULATION) - ЖЕЛАЕМАЯ ЧИСЛЕННОСТЬ(стартовая)войск в секторе,задается как % от колонки START.
То есть если START = 20,а DESIRED = 50, то в секторе =10+рнд+( учти так же-_INITIAL_GARRISON_PERCENTAGES )
[quote]
хотя я пока не понял, на что точно он влиять должен:
Влияет он(ИМХО) как раз на нахождение в секторе админов,т.е.если DESIRED>0, то даже при ELITE% =100,в секторе,будут ОДНИ админы(тестировал B13- 35 раз),пока не понял-почему так?
(Косвенное подтверждение версии - посмотри в Тиксе,Орте,Медуне и некоторых других это значение = 0-там никогда не бывает админов).
Есть еще один неясный момент ??? - B13  элита -40%;регуляры-60; дизайред = 0;старт = 10;-в секторе -23 фрага,вопрос- ОТКУДА БЕРУТСЯ "ЛИШНИЕ"? Есть какие то идеи?
Даже при DESIRED = 0 ,в Драссене ВСЕГДА будет 5 админов,иправить можно так - Strategic AI\ Ln 1211  pSector->ubNumAdmins = (UINT8)max( 2, pSector->ubNumAdmins ),
пятерку заменить на 0.(Для других городов пока не знаю).
Надеюсь  хоть немного тебе помог? :)
2S-Vertal:

Quote:
[/quote]Минимальная длина переменной 1 байт, т.е. 255 в десятичной системе....
Это я уже понял(имею кое какой опыт копания в ехе)
[quote]
... нуна только все ограничителе при чтении карт и в других фрагментах кода изменить.
Вот я и спрашиваю - ГДЕ ОБИТАЮТ ЭТИ ОГРАНИЧИТЕЛИ? ???(не КАК изменить,аГДЕ?),КАКИЕ ФАЙЛЫ НУЖНО КОПНУТЬ?
Подскажи PLEASE,если знаешь! (если большая инфа-можно в приват или на мыло).Заранее благодарен. :-[

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 17.05.2004 в 10:23:57
Ветка редактируем JA2 как то заглохла, поэтому дублирую запрос здеся:

Всем:

У меня к Вам вопрос: какие из нижеперечисленных разделов Редита Вам необходимы (включать мне их в новый редактор али нет?)
ConvertWeapon, ConvertAmmo, Exclude, AmmoType, Sound, Burst, Attach, AmmoAttach.

Для Raty, Bezumnij_Kovrik:

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

Для Терапевт:
Если в предыдущем пассаже неправ, укажи гиде, плз!

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.05.2004 в 10:45:46
2Artem:

Quote:
динамическое определение смещени и общего кол-ва итемов невозможно

чтож... облом :(


Quote:
нужно обсудить некоторые соглашения по организации кода

Т.е. под какие рамки затачивать редактор? Сколько и чего будет? Если это, то мне хватит того что я выше приводил. Но можно и всего по 200 слотов. В общем как народ решит, если конечно это еще кому-нибудь нужно.


Quote:
какие из нижеперечисленных разделов Редита Вам необходимы

лично мне ConvertWeapon и  ConvertAmmo не к чему, я всегда на сотнях стволов играю.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 17.05.2004 в 10:46:44
2Artem:
Пожалуй, прав. Там все ограничения константами определены, а после компиляции они размазываются по экзешнику и их уже не попользуешь.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 17.05.2004 в 11:03:09
2Raty:
Не, не под какие рамки, а просто в начале таблиц указывать (в кач-ве первого эл-та) её название и кол-во предметов в ней.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.05.2004 в 16:40:26
2ALL:
А в курсе кто-нибудь, как через исходники убрать тени от предметов в инвентаре?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 18.05.2004 в 00:10:17
2Raty:
В Standard Gaming Platform\vobject.c есть такая функция:
BOOLEAN BltVideoObjectOutlineShadowFromIndex(...)
Она то и рисует тени.

Можно испохабить её, написав в начале после объявления переменных что-нибудь вроде return(TRUE), это отключит везде все тени. Или искать её вызовы отдельно в нужных местах и коментировать их.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 18.05.2004 в 00:39:54
2WISDOM: Нет, колонка админов там все же есть... ;)
Сейчас глянул - все на месте.
Подземные сектора добавляются в файле Campaign Init.c. Причем данные иннициируются единожды в начале игры. Поэтому для получения эффекта нуно начать новую игру.
2Raty:  Ага... сейчас минуточку...
2Artem: Жаль... очень жаль. Но опираться на редит я сейчас не могу - слишком много ограничений. Придется видать все ручками-ручками... :(

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 18.05.2004 в 01:18:34
2Raty: http://ja2.ru/Attach/zip/Weapons.rar
Линк на мой старый пример альтернативного размещения характеристик. Ничего особенного - просто лично мне со столбцами удобнее работать...
Сейчас я пробую другой метод... м.б. лучше окажется...

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.05.2004 в 08:45:38
2Терапевт:
Спасибо.
2Bezumnij_Kovrik:

Quote:
старый пример альтернативного размещения характеристик

В этом что-то есть ;)
2ALL:
Раз уж затронута тема размещения характеристик, то вот такой вопрос:
не могу понять назначение следующих столбцов

items.c  столбец COOL, который после цены идет. Уж не Prestige ли это?

weapons.c  Bullet Spd - скорость пули, velocity?
                  Ready Time,
                  Accuracy,
                  4xSngROF,
                  И два столбца между Range и Sounds, даже не не пойму как они называются.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 18.05.2004 в 10:19:12
2Bezumnij_Kovrik:

Вот про эти ограничения я и говорил, если есть желающие, хотя бы ты и Крыс, то мы можем договорится об оформлении таблиц предметов таким образом, чтобы их можно было отловить в экзешнике. В таком случае я возьмусь за перелопачивание редактора.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 18.05.2004 в 12:39:29
2Raty:

Quote:
items.c  столбец COOL, который после цены идет. Уж не Prestige ли это?

Нет. Prestige - это Deadliness в Weapons.c.


Quote:
Bullet Spd - скорость пули, velocity?

Да.


Quote:
Ready Time

Время на вскидку.


Quote:
Accuracy

Не используется.


Quote:
4xSngROF

Время на выстрел 90/х.


Quote:
И два столбца между Range и Sounds

Первый - радиус шума от выстрела, второй - х.з.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.05.2004 в 14:39:13
2Терапевт:

Quote:
радиус шума от выстрела

Т.е. применительно к Редиту это Loudness?

Quote:
Время на выстрел 90/х

Fire Rate?
А столбец COOL имеет значения от 0 до 10. Похоже PROGRESS, а?

Quote:
Время на вскидку

А это что такое? Вернее нафига оно надо? Ведь есть же Fire Rate. Или для какого-нибудь штрафа при стрельбе навскидку?

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 18.05.2004 в 14:59:25
2Raty:
Скорее всего чё нить вроде Draw Cost

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 19.05.2004 в 01:02:58
2Artem: как я могу помочь в этом деле?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 19.05.2004 в 08:47:15
2Raty:
Правильно думаешь. Я просто не помню точные названия столбцов в ведите, поэтому написал назначение по-русски.


Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 19.05.2004 в 12:39:59
2Bezumnij_Kovrik:
Очень просто - оповещаешь единомышленников, что таблицы организовывать таким то образом, ну, и сам есессно, организовываешь их также. Всё. Редактор - за мной (хотя могет быть и не скоро, испытания, млин).

Заголовок: Re: Первые шаги...
Прислано пользователем Clayman на 22.05.2004 в 21:39:36
А можно ли сделать, чтобы во время ролика, где леди Ди "убивает" Элиота, он с вероятностью, например, 50% выхватывал АРВ и сам давал по ней очередь?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 27.05.2004 в 09:53:22
2All:
Доброе время суток!
Подскажите плз, items.c, таблица оружия, в одном из столбцов, кажется SOUND TYPE, если я правильно разобрался идет запись CONDBUL. Что это?  Почему у всего оружия с начала и до пулемета НК 21 оно есть, а у автомага и РВ - нет? И используется ли оно вообще?
Заранее благодарен.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 27.05.2004 в 13:18:42
                    Доброго дня всем!

Предидущюю неделю копал  исходники,и как следствие - возникли некоторые вопросы,но обо всем по порядку:
2Ecros:
Ты в "ПЕРЕЧНЕ ПРОСТЫХ ДОРАБОТОК...." писал:

Quote:
в файле Map Screen Interface Map.h, ln 148 заменил: MAP_GRID_X на 17,MAP_GRID_Y на 14, а в файле Map Screen Interface Map.c, ln 90

Это вроде бы работает,но только на карте 16х16
но народ туда идти не хочет, и сектора на границе не подсвечиваются,вроде перекопал все никак найти не могу что дальше сделать
В папке Strategic нужно править уйму(большинство) файлов,так как почти все они завязаны на страт.карте(смотри файл Strategicmap.txt в архиве в конце сообщения.

Quote:
MAX_VIEW_SECTORS на 20, теперь выглядит она более менее...

А у меня вылетает с краш репортом при попытке ее увидеть ::),в связи с этим - вопрос:
2ALL:
Возможно ли вообще расширить страст.карту описанным выше способом? ???
Я подозреваю,что дело сдесь опять в размеренности паременной(1 байт),т.е -  БЕЗ СЕРЬЕЗНОЙ ПЕРЕДЕЛКИ КОДА - МАКСИМУМ 256 СЕКТОРОВ.
Если кто то смог это сделать,или знает как - ОГРОМНАЯ ПРОСЬБА ПОМОЧЬ! :-[!!!!!!!!!!
В конце сообщения - архив со скрином получившейся у меня страт.карты,пояснение к нему(MAP.txt), и список файлов которые я
правил Strategicmap.txt, ПРОСЬБА К НАРОДУ ПОСМОТРЕТЬ - МОЖЕТ КТО ПОДСКАЖЕТ, ЧТО  МОЖНО СДЕЛАТЬ( если можно) ???
2Терапевт:
Отличается ли Editor из исходников от неммецкого,если да - то чем?
У меня не собирается вообще ( дебаг, релиз,демо релиз),пробовал все о чем тут(на форуме) писалось,убирал подключение vtyneapi.lib(его имели в виду?),прaвил builddefines.h - вобщем никак .При сборке выдает сообщение -унрезольвед экстернал символ...(5 штук),ругается на strategic.lib,если хочешь-вышлю log сборки.
Единстиенное что получалось - ехе размером 4,69 мб(дебаг - похожий на немеку 0.95)который работал в оконном режиме. ::)
2ALL:
По вопросу очередей "по македонски" :
Покопался я в коде как советовали(СпасибоТерапевту ;)),выяснил,что  за стрельбу очередью отвечает идентификатор HANDPOS,он используется во всехпроцедурах стрельбы(и не только),а идентификатор второй руки - SECONDHANDPOS,я не знаю,КАК  ???поменять(или)расширить процедуру(простая замена HANDPOS на SECONDHANDPOS
результата не дает),может быть,КТО НИБУДЬ СМОЖЕТ МНЕ ПОМОЧЬ :'(?(подсказать как это можно сделать),языка я к сожалению не знаю.
В игре нет правой и левой руки,а есть ОСНОВНАЯ и ДОПОЛНИТЕЛЬНАЯ - МОЖНО ЛИ СДЕЛАТЬ ОБЕ РУКИ ПОЛНОФУНКЦИОНАЛЬНЫМИ,КАК В ЖИЗНИ(КАК?),насколько это геморно?
Последний вопрос:
п.1 -Файл Soldier Ani.c Ln 878 - 887 стрельба из двух пистолетов;
п.2 -Файл Soldier Ani.c Ln 658 - стрельба очередью - КАК МОЖНО (И МОЖНО ЛИ) ИЗМЕНИТЬ(РАСШИРИТЬ) ЭТУ ПРОЦЕДУРУ,по аналогии с п.1.
ПОСМОТРИТЕ ПОЖАЛУЙСТА,ЕСЛИ НЕ ТРУДНО :-/,МОЖЕТ БЫТЬ ЭТО НЕ ОЧЕНЬ СЛОЖНО СДЕЛАТЬ  - ОЧЕНЬ НАДЕЮСЬ НА ВАШУ ПОМОЩЬ!!!!!! :(


Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 27.05.2004 в 13:40:47
2WISDOM:


Quote:
унрезольвед экстернал символ...(

Обычно это сообщение появляется, если библиотека/модуль, содержащая указанные символы не включена в текущий проект. Посмотри состав проекта и при отсутствии в нём указанной библиотеки добавь её в проект.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 27.05.2004 в 15:52:10
2WISDOM:

Quote:
Отличается ли Editor из исходников от неммецкого

Нет.


Quote:
Единстиенное что получалось - ехе размером 4,69 мб(дебаг - похожий на немеку 0.95)который работал в оконном режиме.

Так редактор и встроен в экзешник. Когда сибираешь тестовую версию (достаточно изменить сборку релиз на дебаг, не исправляя builddefines.h), то она изначально работает в окне. Это, естественно, можно отключить.
В отличии от немецкой беты редактор в получившемся экзешнике активируется ключом -EDITOR в командной строке запуска ja2.exe.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 29.05.2004 в 08:44:54
                  Доброго дня всем!
Ввиду слабой активности народа повторяю вопросы:
2Ecros:
Ты в "ПЕРЕЧНЕ ПРОСТЫХ ДОРАБОТОК...." писал:
Quote:в файле Map Screen Interface Map.h, ln 148 заменил: MAP_GRID_X на 17,MAP_GRID_Y на 14, а в файле Map Screen Interface Map.c, ln 90  
Это вроде бы работает,но только на карте 16х16
но народ туда идти не хочет, и сектора на границе не подсвечиваются,вроде перекопал все никак найти не могу что дальше сделать  
В папке Strategic нужно править уйму(большинство) файлов,так как почти все они завязаны на страт.карте(смотри файл Strategicmap.txt в архиве в конце сообщения.
Quote:MAX_VIEW_SECTORS на 20, теперь выглядит она более менее...  
А у меня вылетает с краш репортом при попытке ее увидеть ,в связи с этим - вопрос:
2ALL:
Возможно ли вообще расширить страст.карту описанным выше способом?  
Я подозреваю,что дело сдесь опять в размеренности паременной(1 байт),т.е -  БЕЗ СЕРЬЕЗНОЙ ПЕРЕДЕЛКИ КОДА - МАКСИМУМ 256 СЕКТОРОВ.
Если кто то смог это сделать,или знает как - ОГРОМНАЯ ПРОСЬБА ПОМОЧЬ! !!!!!!!!!!
В конце сообщения - архив со скрином получившейся у меня страт.карты,пояснение к нему(MAP.txt), и список файлов которые я
правил Strategicmap.txt, ПРОСЬБА К НАРОДУ ПОСМОТРЕТЬ - МОЖЕТ КТО ПОДСКАЖЕТ, ЧТО  МОЖНО СДЕЛАТЬ( если можно)
2ALL:
По вопросу очередей "по македонски" :
Покопался я в коде как советовали(СпасибоТерапевту ),выяснил,что  за стрельбу очередью отвечает идентификатор HANDPOS,он используется во всехпроцедурах стрельбы(и не только),а идентификатор второй руки - SECONDHANDPOS,я не знаю,КАК  поменять(или)расширить процедуру(простая замена HANDPOS на SECONDHANDPOS
результата не дает),может быть,КТО НИБУДЬ СМОЖЕТ МНЕ ПОМОЧЬ ?(подсказать как это можно сделать),языка я к сожалению не знаю.
В игре нет правой и левой руки,а есть ОСНОВНАЯ и ДОПОЛНИТЕЛЬНАЯ - МОЖНО ЛИ СДЕЛАТЬ ОБЕ РУКИ ПОЛНОФУНКЦИОНАЛЬНЫМИ,КАК В ЖИЗНИ(КАК?),насколько это геморно?
Последний вопрос:
п.1 -Файл Soldier Ani.c Ln 878 - 887 стрельба из двух пистолетов;
п.2 -Файл Soldier Ani.c Ln 658 - стрельба очередью - КАК МОЖНО (И МОЖНО ЛИ) ИЗМЕНИТЬ(РАСШИРИТЬ) ЭТУ ПРОЦЕДУРУ,по аналогии с п.1.
ПОСМОТРИТЕ ПОЖАЛУЙСТА,ЕСЛИ НЕ ТРУДНО ,МОЖЕТ БЫТЬ ЭТО НЕ ОЧЕНЬ СЛОЖНО СДЕЛАТЬ  - ОЧЕНЬ НАДЕЮСЬ НА ВАШУ ПОМОЩЬ!!!!!!  
2Терапевт:
Спасибо,насколько я понял  особого смысла манаться с редактором нет(меня вполне устраивает "немец").

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 29.05.2004 в 11:35:01
2WISDOM: Мы видели прошлое твое сообщение :)
Если бы у нас были ответы на енти вопросы, то обязательно написали бы...
Я расширением карт не занимался, поэтому тут не помощник.
А вот про стельбу с двух рук... сам этому посвятил черт знает сколько времени. Ничего пока не добился. :(

Заголовок: Re: Первые шаги...
Прислано пользователем Ecros на 29.05.2004 в 12:05:22
2WISDOM:
К сожалению насчет карты ничем помочь не могу, я сам остановился на том же этапе, что и ты. Правил в реале действительно гораздо больше файлов, однако указал только ключевые.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 31.05.2004 в 11:10:16
2ALL:
Cпасибо и на том.
ВНИМАНИЕ У МЕНЯ ПОМЕНЯЛСЯ АДРЕС ПОЧТЫ(СМОТРЕТЬ ПОДПИСЬ).

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 04.06.2004 в 16:17:54
                               Всем доброго дня!                            
2Ecros:
По поводу увеличения карты(до20х20),есть две новости,которыми я сейчас и поделюсь.
Сначала о хорошем:
1)Мне удалось (фактически)увеличить карту до 4-х сот секторов,т.е.все сектора отображаются корректно(нет разрывовмежду ними),
в сектора можно отправить народ(на страт.карте),я на пример дошел до Демовиля(сектор_P1)ПО СУШЕ.
В процессе копания мне на глаза попался коментарий - "MapSector must be 16-bit, cause MAX_WORLD_X is actually 18, so the sector numbers exceed 256 although we use only 16x16"
из чего следует ,что фактический рамер карты -18х18,и ВСЕ РАСЧЕТЫ РАССТОЯНИЙ(дорожный,патрульный маршруты,и.т.д) производяться на основе этих данных(Strategic Patching.c
ln 374 - if( GetTraversability( ( INT16 )( SECTOR( curLoc % 18, curLoc / 18 ) ), ( INT16 ) ( SECTOR( newLoc %18,  newLoc / 18 ) ) ) != GROUNDBARRIER ).Зачем так сделали,я так и не вьехал
(может по аналогии с удалением гланд через задний проход? :D).Интересно так же ,как вышеописанное стыкуется с первоначальным замыслом Сиров(карта 20х20,19 городов,и.т.д, о чем
много писалось на старых форумах по Джаге(у Голда в частности))?
      Теперь о несовсем(или совсем)нехорошем,короче - полная лажа. :(
1)На страт. карте (лев.клик мышки)сектора подписываются нормально, но в сектор назначения пишется какая то пипня(Q10 - (null)10;R10 -X10;S10 -110;T10 - 210), (скрин внутри архива.)
2)В типе местности тоже пишится фигня(типа А20-Urban,и.т.п),причем и для некоторых оригинальных секторов( Р2_Urban).
3)В тактику в новый сектор можно зайти только из старого(там где тип местности-город).
4)Нельзя подгрузить свою карту(постоянно грузится пустыня).
5)В тактике(новый сектор)ALT+S\ALT+L  - выдает сообщение -Error:Missing or corrupted file!Game  will exit now!
6)И САМОЕ ГЛАВНОЕ - НЕ ОТОБРАЖАЕТСЯ КООРДИНАТНАЯ СЕТКА(ПРИ  MAX_VIEW_SECTORS = 20 -ВЫЛЕТ).(Подозреваю что зто основная причина глюков) :(Вот такие пироги,у меня уже медленно сносит башню,ибо я НЕ ЗНАЮ,И НА ДАННЫЙ МОМЕНТ У МЕНЯ  НЕ ОСТАЛОСЬ ИДЕЙ,ЧТО МОЖНО ЕЩЕ СДЕЛАТЬ В ЭТОМ НАПРАВЛЕНИИ.
Ковырял все файлы (Strategic,TileEngine,)добрался даже до SGP,пробовал по разному собирать,менял шрифты на карте - результат,НОЛЬ.
Дебаг версия ехе. или намекала на ошибку - Font.c(папка SGP) ln 549  -while((*curletter) != L'\0'), я не знаю -ЧТО здесь делать?),или выдавала сообщение типа НЕДОПУСТИМОЕ ОБРАЩЕНИЕ К СТРАНИЦЕ
ПАМЯТИ.
2ALL:
КОЛЛЕГИ - ПРОШУ ПРОЩЕНИЯ ЗА НАДОЕДЛИВОСТЬ,НО БЫТЬ МОЖЕТ У КОГОТО НАЙДЕТСЯ НЕМНОГО ЛИШНЕГО ВРЕМЕНИ :-[,ЧТО БЫ ПОСМОТРЕТЬ В ЧЕМ ПРОБЛЕМА С КАРТОЙ?, :'(
в конечном итоге когда то все равно нужно будет с этим разбираться?
МОЖНО ЛИ  УВЕЛИЧИТЬ КАРТУ,НЕ ИМЕЯ УРОВНЯ ТЕРАПЕВТА?
ОЧЕНЬ НАДЕЮСЬ НА ВАШУ ПОМОЩЬ. :'(
В конце поста архив  с файлами(кроме SaveLoadGame.c).








Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 05.06.2004 в 18:43:08
2WISDOM:

Quote:
1)На страт. карте (лев.клик мышки)сектора подписываются нормально, но в сектор назначения пишется какая то пипня

Quote:
2)В типе местности тоже пишится фигня

В файле Strategic\Strategic Movement Costs.c есть функции инициализации патаметров карты void InitStrategicRow[X](), где X = A...P. В них также определяются названия секторов.


Quote:
4)Нельзя подгрузить свою карту(постоянно грузится пустыня).

Посмотри в Strategic\strategicmap.c функцию void GetMapFileName(...). В ней обрабатываются имена файлов карт. В случае ошибки грузится пустыня H10.

Это то, с чем приходилось сталкиваться ещё при разработке НО. В остальном ничем помочь не могу.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 06.06.2004 в 14:14:40
2Терапевт:
Спасибо,ты настоящий Джедай :),сегодня попробую покопаться.
2ALL:
Может кто еще чего скажет? ???

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 06.06.2004 в 18:11:32
                       Доброго всем вечера!
2Терапевт:
Quote:
 
есть функции инициализации патаметров карты void InitStrategicRow

Это я сделал в первую очередь,но все равно еще раз спасибо.

Quote:
функцию void GetMapFileName  

Паша - обьясни пожалуйста(если тебя не затруднит)поподробнее - смотреть смотрел,
но не понял,что нужно поправлять.
Попутно -ты случаем не в курсе,что за данные (в Strategic Movement Cost.c)
gubEncryptionArray3[BASE_NUMBER_OF_ROTATION_ARRAYS * 3 ][ NEW_ROTATION_ARRAY_SIZE ],что
они означают(я не смог расшифровать),может быть для новых секторов нужно писать что то аналогичное?? ???
2ALL:
Обнаружил собственную ошибку(Strategic Movement Cost.c) - кое где пропущена строчка
(pSector->ubTraversability[ THROUGH_STRATEGIC_MOVE ]=...),исправил - у части секторов поправились
подписи(вместо Urban - Impassable,как по идее и должно быть(А17,А18,и.т.д).
но координаты новых секторов по прежнему не отображаются.
              ЛЮДИ - I NEED HELP YOU!!!!!КТО НИБУДЬ ИМЕЕТ ПРЕДСТАВЛЕНИЕ ПОЧЕМУ? ???ПОЧЕМУ ПРОГА НЕ ВИДИТ НОВЫЕ СЕКТОРА??? ???
КТО НИБУДЬ ЗАНИМАЕТСЯ(ЗАНИМАЛСЯ)ЭТИМ ВОПРОСОМ? - ОТКЛИКНИТЕСЬ PLEASE!!!

Заголовок: Re: Первые шаги...
Прислано пользователем BlackDragon на 07.06.2004 в 01:18:07

Quote:
Насколько я понял, вылет (по крайней мере у меня) происходит в функции void EnterCombatMode(...), находящейся в файле Tactical\Overhead.c.
В этой функции есть такая строчка с условием
if ( MercPtrs[ gusSelectedSoldier ]->bOppCnt == 0 )
В ряде случаев из массива указателей достаётся нулевой адрес, из-за этого в дальнейшем происходит вылет.
Вот такое изменение этой строчки
if ( MercPtrs[ gusSelectedSoldier ] != 0 && MercPtrs[ gusSelectedSoldier ]->bOppCnt == 0 )


Извиняюсь что влезаю, мысли по исправлению строчки такие:
Вылет происходил из-за того, что gusSelectedSoldier= NOBODY = 156, а граница массива 155 и в некоторых случаях доставаться мог не только 0, а вообще могло происходить обращение к "левой" памяти.
Поэтому предлагаю такое исправление.
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->bOppCnt == 0 )

При таком исправлении в соответствующем  случае во второе условие мы не попадаем, а вылет происходил как раз из-за обращения к MercPtrs[gusSelectedSoldier], где gusSelectedSoldier выходит за рамки массива.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 07.06.2004 в 22:56:05
2WISDOM:
Функция void GetMapFileName(...) формирует имя файла карты из предоставленных параметров таких как, координаты сектора, флажка альтернативности и ещё чего-то. Потом проверяет, есть ли такой файл в каталоге MAPS. Если нет, то подставляет путь к карте H10.
Тебе имеет смысл посмотреть, где она вызывается и какие параметры в неё передаются в тех местах, если передаются.

По остальному я не в курсе.

2BlackDragon:

Quote:
Вылет происходил из-за того, что gusSelectedSoldier= NOBODY = 156, а граница массива 155 и в некоторых случаях доставаться мог не только 0, а вообще могло происходить обращение к "левой" памяти.

Приятно видеть более компетентного человека. ;)
Я так далеко не вдавлся, поступил как в нашей хирургии. Что увидел в отладчике, то и поправил в лоб. :)
А твой метод действительно работает замечательно. Интересно другое. В оригинальной игре, скажем в версии Голд от Буки, никаких подобных проверок в этом месте кода не существует.

Заголовок: Re: Первые шаги...
Прислано пользователем BlackDragon на 08.06.2004 в 00:40:36

Quote:
В оригинальной игре, скажем в версии Голд от Буки, никаких подобных проверок в этом месте кода не существует

:) намек ясен :), но у меня например вылет не происходит настолько часто чтобы его замечать.В основном тогда, когда мерки выходят из сектора и входят обратно, сразу после расстановки мерков и при условии если кто-то из мерков видит противника, то есть вызвана EnterCombatMode. Я склонен считать все же это багом от Сиров.
А ... вот еще.... может быть если в голде вообще не вылетает в этом месте, они перестали при определенных условиях ставить gusSelectedSoldier в NOBODY, так тоже может помочь.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 08.06.2004 в 11:57:51
2BlackDragon:

Quote:
у меня например вылет не происходит настолько часто чтобы его замечать.

Так-то оно так. Но баг то от этого не исчезает. И в случае

Quote:
когда мерки выходят из сектора и входят обратно, сразу после расстановки мерков и при условии если кто-то из мерков видит противника

гарантированно срабатывает вылет, что не есть хорошо.

Вообще по коду довольно много проверок на NOBODY. Есть даже функция BOOLEAN NobodyAlerted( void ), которая, правда, вызывается всего в одном месте.
Скорее всего, в оригинале где-то выше по коду в конечном итоге была добавлена проверка. Стоит ли стремиться к аналогичной реализации - вопрос.  ::)

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 08.06.2004 в 15:24:44
                   Доброго всем дня!!!
2ALL:
Попробовал я тут увеличить BIG_INV_SLOT - большой слот инвентаря(вместе с "руками")
до размеров х=70,у= 27(давняя задумка),что бы удобнее(и красивее) рисовать маленькие имаджы оружия(в смысле MDGUNS).
Размеры подправил(Interface Panels.c-h   и Interface Items.c - h),частично перерисовал
(начерно)инвентарь - все вроде бы работает,НО ПРИ ПОПЫТКЕ ПОЛОЖИТЬ(КУРСОРОМ)ИЛИ ВЗЯТЬ ИЗ ИНВЕНТАРЯ НОВЫЙ ИТЕМ(М4 -65х24)ВИСНЕТ НАМЕРТВО(выход через резет). ???
МОЖЕТ КТО ТО ЗНАЕТ(ИЛИ ДОГАДЫВАЕТСЯ) - ПОЧЕМУ?
ПОМОМГИТЕ ПОЖАЛУЙСТА,ЕСЛИ МОЖНО!!!!! :-[

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 16.06.2004 в 17:07:35
2ALL:

Quote:
 При попытке положить(КУРСОРОМ)или взять из инвентаря новый итем(М4 -65х24),виснет намертво
- почему?

Потому что - MAX_CURSOR_WIDTH = 64(SGP/ файл Video.h ln 20),а размер имаджа - 71.
Сам спросил - сам ответил,вопрос по интерфейсу СНИМАЕТСЯ.
Кому иртересно - под сообщением имадж с новым интерфейсом(общая концепция),из-за увеличения
BIG_INV_SLOT до х=71(ширина),у=27(высота),пришлось перекомпоновать часть инвентаря,немного
"разогнуть"фигурки(FIGU_FEMALE,FIGURE_LARGE_MALE,и.т.д),ИМХО так выглядит даже лучше.
Осталось доделать немного(BOTTOM_BAR.STI;CHARINFO.STI;MAPINV.STI), попробую панель ключей переделать(если получится) в рюкзак(места в ней много,а толку :)).
SECTOR_INVENTORY.STI - сократив кол-во слотов до 36(сейчас 45),так же можно увеличить их(слото)размер.
МОЖНО ЛИ СДЕЛАТЬ ИНТЕРФЕЙС(хотя бы часть)ПРОЗРАЧНЫМ(по типу UFO:Aftermath или инсталятора Urban Chaos),
НАСКОЛЬКО СИЕ ГЕМОРНО,И РЕАЛИЗУЕМО ЛИ ВООБЩЕ(в принципе). ???
2 Bezumnij_Kovrik:
в игре нету явного объявления стрельбы очередью из одной руки и блокировки стрельбы из другой
Нсчет блокировки - согласен,а насчет обявления :
void EVENT_FireSoldierWeapon(Soldier Control.c),в этой функции есть строчка-
pSoldier->bBulletsLeft = __min( Weapon[pSoldier->inv[ pSoldier->ubAttackingHand ].usItem].ubShotsPerBurst, pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft )
Путем упорных поисков выяснилось - pSoldier->ubAttackingHand = HANDPOS;(Handle Items.c ln 1251),подобный указатель встречается неоднократно и вдругих местах(сейчас точно
не скажу - пишу по памяти).
Далее - путем замены HANDPOS на SECONDHANDPOS в соответствующих местах кода добился:
Очередь срабатывает ТОЛЬКО ДЛЯ ОДНОРУЧНОГО ОРУЖИЯ И ТОЛЬКО ПРИ НАЛИЧИИ ствола во ВТОРОЙ РУКЕ(одно или двуручного - без разницы),
из двуручного - стрельба ТОЛЬКО одиночными(сообщение типа - у Тоска оружие не стреляет очечредью).
То есть насколько я понимаю,даже просто переключить очередь на вторую руку просто так не удастся(ибо неполноценна она в принципе :)),
нужно либо полностью ее "оживить",либо вводить новый определитель(по типу ubAttackingHand),и расширять код,
ИЛИ Я ЧЕГО ТО УПУСТИЛ(ИЛИ НЕДОПОНЯЛ) ???
Может  ты чего посоветуешь или подскажешь по данному вопросу?Если есть интересная инфа - интересно было бы посмотреть(если не секретно)
Заранее прошу прощения за терминологию,поскольку НЕ програмер и правилиных терминов не знаю.
2 Терапевт:
Паша - подскажи,если можешь как в коде реализовать твой патч регулировки длинны очереди? Заранее спасибо.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 17.06.2004 в 11:10:34
2WISDOM:

Quote:
как в коде реализовать твой патч регулировки длинны очереди?

Не знаю. Я этим вопросом ещё не занимался.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 17.06.2004 в 16:27:26
2WISDOM: ИМХА: мне оказалось проще убрать нафиг одиночный выстрел у пулеметов... да и реалистичней это.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.06.2004 в 16:39:36
2Bezumnij_Kovrik:

Quote:
оказалось проще убрать нафиг одиночный выстрел у пулеметов

нука-нука, по подробнее если можно:shuffle:

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 17.06.2004 в 16:43:49
2Raty: подробней чуть попозжа. Енто не один файл, а целых 2 ;D
Всмысле можно и один, но тады некрасиво буит ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.06.2004 в 08:14:57
2ALL:
Подскажите плз.
В weapons.c если в таблице ТТХ для класса SN_RIFLES указывать размер очереди, то сваливается в ошибку :(. too many actual parameters for macro 'SN_RIFLE'. Как же быть с ВСК94 или MSG90?

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 18.06.2004 в 08:41:08
2Bezumnij_Kovrik:
Корректировка по предидущему посту:
Инфа по стрельбе не совсем верна(сбойнул VC,а я сразу не заметил - в общем, пришлось переустанавливать)
Очередь переключить на вторую руку можно ,для этого :
Handle Items.c ln 1251 HANDPOS ПОМЕНЯТЬ НА SECONDHANDPOS
Overhead.c ln 7298 HANDPOS ПОМЕНЯТЬ НА SECONDHANDPOS
Однако стрельба с левой происходит только для одноручных стволов,и только для двух одинаковых.
например два МАК-10,или два Р-90.
1)Ежели стволы разные,то звук очереди идет от  правого ствола,и
патроны не убывают,хотя пули летят(типа бесконечные).
2)Двуручное оружие ни очередью ни одиночными  не стреляет(пишет нет патронов).
3)Из одноручных стволов стреляет(очередь)только при наличии патронов в ОБЕИХ стволах
и оружия в обеих руках  т.е. из правой (основной)отдельно не стреляет вообще.
Второе в принципе поправимо(поправить в коде места проверок наличия патронов)без особого
гемора.Третий пункт судя по всему -  следствие второго(срабатывает проверка патронов через ubAttackingHand)
А  вот как заставить оружие стрелять очередь последовательно(правая,левая)или на худой конец залпом(из
обеих рук сразу - ВОПРОС?
Может быть ты чего подскажешь ???,И по первому пункту - почему так(может быть ты в курсе?)
Чувствую решение где то рядом - НО ГДЕ?????

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 18.06.2004 в 10:51:47
2WISDOM: Проблема именно в том, что сама истема стрельбы с двух рук в Джаге ущербная. Там ОООЧЕНЬ мноое завязано на анимации. По сути дела нужно еще и анимацию для  очередей с двух рук (из левой при этом пропадает ствол) заменить на анимацию, которая происходит при стрельбе одиночными (там нормальная стойка с двумя стволами). Ну и вообще хороше бы перерисовать систему, т.к. проверки второй руки на наличие ствола с ВОЗМОЖНОСТЬЮ!!! стрелять очередью не производится. А главное, как я понял, так это то, что burstmodу по умолчанию - свойство оружия в правой руке.
Сейчас мне немножко некогда, но когда появится время - обязательно буду глубоко разбираться. ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 18.06.2004 в 12:11:28
Мне вот стало интересно, а какую именно вы хотите сделать стрельбу очередями: с каждой руки поочереди или одновременно-параллельно?

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 18.06.2004 в 12:17:09
2Терапевт: Как я понял, сделать одновременно не получится. Поэтому наверное поочереди...

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 18.06.2004 в 20:41:32
2Терапевт:
Лучше сделать конечно поочередно,но если это сильно геморно(по трудозатратам и времени),то пусть будет одновременно,чем вообще никак!!!

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 18.06.2004 в 20:44:01
2WISDOM:  ;D Нет уж, лучше одновременно. В этом и есть смысл стрельбы по-македонски. Другое дело, что это сделать труднее, чем попеременно.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 19.06.2004 в 15:50:56
2ALL:
ЛЮДИ,ПАША - ОБЬЯСНИТЕ ПОЖАЛУЙСТА ЕЩЕ РАЗ ,ЕСЛИ МОЖНО ПО ПУНКТАМ,(ТИПА ОТКРЫВАЕШЬ,НАЖИМАЕШЬ,ПОЛУЧАЕШЬ)КАК СОБИРАТЬ РЕДАКТОР  
1)КАКОЙ ПРОЭКТ ВЫБИРАТЬ ГЛАВНЫМ,JA2 ИЛИ EDITOR  
2)ГДЕ ПИСАТЬ КОМАНДНУЮ СТРОКУ(JA2 - EDITOR),у МЕНЯ ВыньХР?В Visual Studio?переименовать ярлык?  
3)оБЯЗАТЕЛЬНО ЛИ ПУТЬ SGP БРАТЬ В ДВОЙНЫЕ КАВЫЧКИ(У МЕНЯ СОБИРАЕТСЯ И ТАК И ЭТАК)? ,но если в кавічках,то папку Тile Ingenie(файлы h),нужно копироватьBuild в и Utils.
ПОМОГИТЕ ПОЖАЛУЙСТА ЕСЛИ НЕ ТРУДНО.  
С уважением,Виталий.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 19.06.2004 в 18:44:06
2WISDOM:
Виталий, если я не глюкую (а енто на данном этапе возможно), то окромя ДЖа2, все проекты - библиотки. Так что исполняемый файл только ДЖа2.
В Хрюшке (2000 тоже) для набора командной строки можно использовать любой файловый менеджер (окромя ессно ВинЭксплорера, то бишь проводника) либо Пуск/Все программы/Стандартные/Командная строка.
Насчёт копирования - я НЕ копировал СГП в Билд ВООБЩЕ! (обратно ессно тоже ничего), файлы лежат так - ДЖа2 - G:\...\...\JA2\Build\..., SGP - G:\SGP\..., так что суди сам. Игра собралась махом (релиз).

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 19.06.2004 в 18:45:32
Всем:
Ребята, обнаружил новый архиватор - 7z - пакут луцце РАРа (косяк один - многотомные не создаёт :(). В ближайшее время (пн, вт) выложу на сайте(ах?).

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 20.06.2004 в 13:08:23
2 Bezumnij_Kovrik:
Стрельба по"македонски" - СТРЕЛЬБА ИЗ ОБЕИХ РУК С ОДИНАКОВОЙ(или почти)ТОЧНОСТЬЮ.
то есть одинаковое владение обеими руками.А залпом или поочередно - вопрос ПОДГОТОВКИ и ЛИЧНЫХ ПРЕДПОЧТЕНИЙ.
Мне бу тоже хотелось залпом,но последовательно (одиночные)с двух рук есть,поэтому я и написал что
лучше(проще) будет так же и очередью(в смысле реализовать), опираясь на существующие структуры.
Для одновременной очереди(насколько я понимаю)нужно полностью переписывать процедуру - мне это вряд ли удастся.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 25.06.2004 в 10:12:52
                         Всем доброго дня!
За несколько дней отсутствия,у меня появились кое какие вопросы,но сперва информация для всех интересующихся :
Переделаный интерфейс полностью будет после 30 ЧИСЛА(плюс- минус 2 дня),причина задержки-
перебой с гульденами(временный).Теперь собственно вопросы:
2Artem:
ОГРОМНОЕ ТЕБЕ СПАСИБО за помощь по EDITORY - твои советы навели меня на кое какие мысли,и Editor я наконец
собрал.Есть правда несколько ньюансов(возможно только у меня)- изложу их для тех,кто еще парится со сборкой Editora;
2ALL:
ИЗ BUILD в SGP нужно копировать все файлы (указаны в ридми исходников),А В ОБРАТНОМ НАПРАВЛЕНИИ- ТОЛЬКО ТРИ(ddraw.lib;mss32.lib;SMACKW32.lib)
Правда у меня исходники лежат на С:\(винт маленький(40Гб)и резать его на логические диски нет понта)).
Для сборки DEBUG версии нужно в свойствах проекта - Project\Properties\Linker\Input - убрать Vtuneapi.lib.
Параметры командной строки(у меня -набирал в Volkovе ),JA2 -EDITOR.ИМЕННО КАК НАПИСАННО: ja2 пробел\тире\EDITOR.
Можно сделать проще:ЗАПУСКАЕМ ИГРУ(Дебаг)и жмем F9-ЗАПУСКАЕТСЯ РЕДАКТОР.
Вместо Editor.slf от Ja2Ub,можно использовать папку Editor от Бетты 0.95.
Только чего то медленно работает зтот Дебаг(при скроле помогаю клавой),по сравнению с Беттой -железа вроде должно хватать(Duron 1.2;128Ram;GeForce2 64Мб),
ТАК ТОЛЬКО У МЕНЯ ИЛИ У ВСЕХ???
Теперь о ПроЕдите:
ТОЛЬКО ВЧЕРА УЗНАЛ ЧТО В НЕМ ДЕЙСТВИТЕЛЬНО МОЖНО ПРАВИТЬ ИНВЕНТАРЬ - ПОЯСНЮ;
Зимой скачал на диск форум ВС и в свободное время почитываю,ОКАЗЫВАЕТСЯ ЕСЛИ ПОМЕНЯТЬ РАЗРЕШЕНИЕ МОНИТОРА НА 1024,ТО В ПроЕдите еще
туча кнопок(внизу).НО У МЕНЯ РАБОЧЕЕ РАЗРЕШЕНИЕ 800х600(монитор 1996 года-и год у меня,один из первых 17"-на новый комп+моник не хватало),
и хотя поддерживается вплоть до 1280х1024(при 85Гц),считаю это лишним.(Играю в основном в старые игры(95 -2001),да и в мелкие иконки фиг попадешь).
А ВЕДЬ Я ЗАДАВАЛ ВОПРОС НЕ ОТ НЕЧЕГО ДЕЛАТЬ:
Обьясните мне - зачем вам нужен ПроЭдит,ведь в нем НЕВОЗМОЖНО РАЗДАТЬ ПРЕДМЕТЫ
Так бы и помер я темным-И ХОТЬ БЫ КТО ОБЬЯСНИЛ!!!Ладно -проехали.
2 Bezumnij_Kovrik

Quote:
 Нет уж, лучше одновременно.В этом и есть смысл стрельбы по-македонски

Могет меня снова не поняли:
Я имел в виду -Очередь по-македонски -очередь с обеих рук ЗА ОДИН ЦЫКЛ СТРЕЛЬБЫ(один клик мышки);
КАКАЯ РАЗНИЦА(кроме озвучки)?БУДЕТ ЛИ ЭТО ВЫГЛЯДЕТЬ АНАЛОГИЧНО СТРЕЛЬБЕ ИЗ ПИСТОЛЕТОВ(правая\левая)или
ЗАЛПОМ- главное что бы в одно действие(и одно кол-во АР),ИЛИ Я НЕ ВРУБАЮСЬ- ПОЯСНИ ПОЖАЛУЙСТА!!!!
Я ДОБАВИЛ В СТРУКТУРУ НОВУЮ ПЕРЕМЕННУЮ,СООТВЕТТСТВЕННО ПРИШЛОСЬ ПОПРАВИТЬ ВСЕ УПОМИНАНИЯ ubAttackingHand - ТЕПЕРЬ UINT8     ubAttackingHand1 = HANDPOS;UINT8     ubAttackingHand2 = SECONDHANDPOS.
ВСЕ(СТАРОЕ) РАБОТАЕТ КАК НАДО -ОДНАКО ДЛЯ ОЧЕРЕДЕЙ С ДВУХ РУК НАДО ДОПИСАТЬ В СООТВ.МЕСТА КОДА НОВУЮ ПЕРЕМЕННУЮ  - У МЕНЯ НЕ ПОЛУЧАЕТСЯ(выдает ошибки синтаксиса).
ЕСЛИ У ТЕБЯ,ЕСТЬ ЖЕЛАНИЕ(И ВРЕМЯ)ПОСМОТРЕТЬ - МОГУ СКИНУТЬ(после 30-го)файлы на мыло(231Кб)- может сделать очередь НЕ ТАК И СЛОЖНО?
МОЖЕТ БЫТЬ КТО ТО ЕЩЕ ХОЧЕТ ПОМОЧЬ(в плане очередей по"македонски"?

Quote:
 
мне оказалось проще убрать нафиг одиночный выстрел у пулеметов

В таком разе может ты подскажеш и КАК УВЕЛИЧИТЬ ДЛИННУ ОЧЕРЕДИ(8-10-12),я не могу найти ГДЕ ЭТО ЕСТЬ????
Кстати читал по этому вопросу  на форуме Лордов,типа "More than 6 bullets per burst"- обсуждают правку существующих ЕХЕ,зависимость длинны очереди от структуры STI(насколько я понял),редактирование JSD-
по моему все это гонево(зависимомть длинны от STI и JSD)ИЛИ Я ОШИБАЮСЬ???
Последний на сегодня вопрос:
ПОЧЕМУ лимит на рост СКИЛОВ - 127?
Ведь должна по идее использоваться однобайтовая переменная -т.е. предел скила должен быть 255?
ОБЬЯСНИ ПОЖАЛУЙСТА ЧЕГО Я НЕ ПОНИМАЮ(или не знаю)
ЖДУ ВАШИХ ОТВЕТОВ,ЗАРАНЕЕ БЛАГОДАРЕН!!!






Заголовок: Re: Первые шаги...
Прислано пользователем explorer на 25.06.2004 в 10:59:56

Quote:
ИЗ BUILD в SGP нужно копировать все файлы (указаны в ридми исходников),А В ОБРАТНОМ НАПРАВЛЕНИИ- ТОЛЬКО ТРИ(ddraw.lib;mss32.lib;SMACKW32.lib)
Правда у меня исходники лежат на С:\(винт маленький(40Гб)и резать его на логические диски нет понта)).
Для сборки DEBUG версии нужно в свойствах проекта - Project\Properties\Linker\Input - убрать Vtuneapi.lib.
Параметры командной строки(у меня -набирал в Volkovе ),JA2 -EDITOR.ИМЕННО КАК НАПИСАННО: ja2 пробел\тире\EDITOR.
Можно сделать проще:ЗАПУСКАЕМ ИГРУ(Дебаг)и жмем F9-ЗАПУСКАЕТСЯ РЕДАКТОР.
Вместо Editor.slf от Ja2Ub,можно использовать папку Editor от Бетты 0.95.
Только чего то медленно работает зтот Дебаг(при скроле помогаю клавой),по сравнению с Беттой -железа вроде должно хватать(Duron 1.2;128Ram;GeForce2 64Мб),

Никакие файлы лучше не копировать а переписать пути в файле проекта открыв его блокнотом или любым другим текстовым редактором.
Для того чтобы не копировать lib файлы надо просто в свойствах вижуал студии указать нужный путь поиска для Library Files
Эти пути можно найти через Tools Options закладка Directories
Дебаг версия действительно работает медленно.
ЛУчше собери Debug with Release Info

Заголовок: Re: Первые шаги...
Прислано пользователем explorer на 25.06.2004 в 11:05:43
Зы.. если не находятся какие то файлы то также надо прописать пути к ним в
Tools Options Directories Опция для Source Files.

Заголовок: Re: Первые шаги...
Прислано пользователем explorer на 25.06.2004 в 11:10:40

Quote:
ПОЧЕМУ лимит на рост СКИЛОВ - 127?

точно не смотрел переменная какого типа хранит скиллы но возможно что
это 1 байт но варирующийся от -128 до 127
тот же диапазон 255 но со знаком  ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Monk113 на 26.07.2004 в 09:17:52
Люди, а что это за файл iostream.h, на который есть ссылка в JA2 SGP ALL.H и которого нет в составе исходников?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 26.07.2004 в 10:59:17
А его в исходниках и не должно быть. Это от VC, но в VS .net его тоже нет по причинам мне не известным. Можешь смело закоментировать его подключение, всё будет и без него нормально собираться.

Заголовок: Re: Первые шаги...
Прислано пользователем Monk113 на 26.07.2004 в 12:15:24
Спасибо за инфу :) Действительно, я так и сделал, но побаивался - вдруг что не так... Ведь вздумал я однажды собрать исходники с увеличенными гарнизонами... и О УЖАС! Игра стала падать на третий-четвертый день независимо от действий игрока - хоть ты все время сиди в Омерте безвылазно. Причем если погрузить эту записку, используя оригинальный экзе, игра могла через раз пройти место падения, но неизбежно падала впоследствии, то есть получается, что какой-то мусор попадал на ранней стадии в записку и вызывал крах впоследствии; этакая мина отложенного действия  :( Вернул все на место и теперь трясусь - вдруг еще что не так сделаю... Насколько я понял, что-то в этом роде уже обсуждалось в этой (кажется) ветке? (где проблема была вызвана NOBODY = 156)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 26.07.2004 в 13:18:55
2Monk113:
Проблема с NOBODY = 156 это про выпадение игрушки при заходе в тактический экран "на глазах" у противника.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 29.07.2004 в 19:47:11
2Bezumnij_Kovrik:
Костя, вот обещанные файлы. Скомпиль, если не пойдёт, пришли свои файлы, я их доработаю

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 29.07.2004 в 19:58:21
2S-Vertal: О! Пасиба ;) Я только собирался высылать :)

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 29.07.2004 в 22:06:36
2Bezumnij_Kovrik: Как соберешь и прогоняешь, нацарапай отзыв :). Можно кое-что обыграть на этой концепции, завтра расскажу.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 31.07.2004 в 00:37:54
Народ!
Добрые люди!
Хоть кто-нибудь разбирающийся в программинге.
Я дохну.
Уже Nный день я не могу решить одну проблему: по прибытии в сектор с врагом, игроку предоставляется возможность разместить мерков по краю карты. Вроде бы все просто. Но мне нужно сдвинуть границу. Визуально у меня все работает. Я сдвинул сетку затуманивания недоступной територии вниз и вправо. Сдвинул границы для правильного отображения курсора, обозначающего доступность точки высадки. Проблема в том, что я не могу найти координат, в пределах которых можно эту высадку произвести :(
При попытке высадиться на подсвеченой територии, приходит сообщение в котором написано "Doesn't look so good there. It's inaccessible. Try a different location." Такое же, на сколько я помню, приходит, когда пытаешься высадиться в изолированую точку (например в тюрьму в Альме).
Я уже не знаю, что делать.
ПОЛНОСТЬЮ! перерыл файлы Overhead map.c & Tactical Placement GUI.c
Чувствую, что это где-то под боком, но нифига не вижу :(

Ребята, помогите. Вдруг у кого получится перенести границы высадки. Просветите меня.
Иначе полуторамесячная работа по переводу джа в 800*600 пойдет коту сами знаете куда :(
Самое обидное, что это последний большой баг, но он становится камнем об который я ужо основательно покалечил свою голову.
Заранее благодарю.

Заголовок: Re: Первые шаги...
Прислано пользователем S-Vertal на 31.07.2004 в 09:48:40
2Bezumnij_Kovrik: Выложи где-нить или пришли мне на мыл последнюю версию исходников 800х600. Я попробую поковыряться сегодня-завтра :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 25.08.2004 в 10:22:19
2All:
Требуется помощь.
В очередной раз поиздевался над исходниками и вот....
Экзешник и редактор собираются нормально, но бучьи карты из SLF в игре затуманены желтым. Если мне память не изменяет, так и должно быть, но при конвертации их в любой другой формат игруха падает. А редактор вообще не открывает ни одну бучью карту ни в каком формате. Или ругается на версию или просто падает.
Раньше по совету Терапевта, я исправил  Map Information.c и это помогло. А сейчас не помогает. :( Пробовал англицкие карты, тоже не работает. Я правда сделал итемам возможность 6-и аттачей вместо 4-х, может в этом дело?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 25.08.2004 в 11:58:16
Да с чем-то ты перемудрил. Может и с аттачами. Структуры предметов поменялись.

Заголовок: Re: Первые шаги...
Прислано пользователем Force_Majeure на 25.08.2004 в 16:14:04

Quote:
перерыл файлы Overhead map.c & Tactical Placement GUI.c
Чувствую, что это где-то под боком, но нифига не вижу

Возможно эта инфа включена в формат карт. Можно еще посмотреть strategicmap, похоже в нем проверяются правила входа в сектор

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 26.08.2004 в 09:57:28
2Терапевт:
Да, действительно были виноваты 6 аттачей. Убрал и все заработало.
Отсюда вопрос: получаемый редактор умеет только редактировать уже имеющиеся карты или может так же создавать их с нуля, как редактор ЦС?
Если да, то как? А если нет, то можно как-то из исходников вылепить редактор с такой возможностью?

2ALL:
Побегал я чуток по Омерте одним мерком. Мне естественно предложили сдаться. Но предложили по английски (текст был английский). Было это у кого- нибудь, или это я недорусифицировался?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 27.08.2004 в 11:06:40
2Raty:
Нужно иметь хотябы одну карту, чтобы её загрузить, а потом, очистив, риствать новые.
Переделать редактор можно. В ЦС же он переделан.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 30.08.2004 в 11:23:02
2Терапевт:

Quote:
Переделать редактор можно.

Мда... Жалко мне это не под силу.

2ALL:
Вопросик возник.
Файл  //Build\Laptop\Store Inventory.c Ln 416
INT16 WeaponROF[ MAX_WEAPONS ]=
Что значат цифры в столбцах ниже? Единственное что мне приходит в голову - это цена, но почему тогда у Глоков она настолько разная, а у Кавса оно вообще -1?

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 30.08.2004 в 11:42:11
2Raty: Возможно ROF - range of fire - скорострельность или чё нить в ентом роде. Извини, не смотрел - пишу по твоему посту. Глянь ТТХ оружия и посмотри, что под эту аббревиатуру канаеть....

Заголовок: Re: Первые шаги...
Прислано пользователем Nashalife на 30.08.2004 в 12:01:39
2Artem: ROF - стандартное обозначение для Rate of Fire - скорострельность... Не уверен конечно что в данном случае это именно оно, но так, на заметку :)

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 30.08.2004 в 12:24:11
2Nashalife: пасиб, я это и имел в виду, стормозил тока .. однако почти правильно написал  :D

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 30.08.2004 в 12:38:01
2Raty:
Quote:
WeaponROF[ MAX_WEAPONS ]=
Что значат цифры в столбцах ниже?

Да это темп стрельбы.
В JA2 имеет исключительно информативное значение для магазина Бобби Рея.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 30.08.2004 в 12:42:31
2Artem:
2Nashalife:
2Терапевт:
Ну вот и ладненько...... Одной проблемой меньше.
Спасибо за помощь.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 01.09.2004 в 11:01:47
В общем ограничение на 2 магазина разной емкости для одного калибра существует :(  Вернее не ограничение, а ..... Ну в общем вот:
Сделал я аж 10 магазинов 9х19:
CLIP9_13, CLIP9_15,CLIP9_16, CLIP9_17, CLIP9_18, CLIP9_20, CLIP9_24, CLIP9_30, CLIP9_32 и CLIP9_50.
Берем CLIP9_13(Browning_HP) и суем его в CALICO M950. Вытаскиваем не CLIP9_50, а CLIP9_15 :o. Суем его обратно - вынимаем CLIP9_16. И т.д. пока до CLIP9_32 не доберемся. Только после запихивания CLIP9_32 в CALICO M950, вынимаем из него CLIP9_50.
Где бы это могло скрываться? ;) Ведь UB насколько я помню было по 3 магазина на калибр. Значит и 10 можно сделать.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 01.09.2004 в 11:23:16
2Raty: Т.е. идёт последовательный перебор?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 01.09.2004 в 13:01:39
2Artem:
ага...

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 01.09.2004 в 16:34:39
2Raty: По идее в игре не ранится информации, какая обойма вставлена в ствол. И при извлечении выбирается та, емкость которой соответствует емкости ствола. Наверное поэтому. Попробуй сделать несколько обойм разной емкости и 1 той, которая соответствует стволу. Почему-то мне кажется, что выниматься будет только эта самая обойма (мысль взята с потолка, поэтому не судите строго).

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 01.09.2004 в 20:54:48
2Bezumnij_Kovrik:

Quote:
По идее в игре не ранится информации, какая обойма вставлена в ствол.

Хранится. Структура OBJECTTYPE поле  usGunAmmoItem.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 02.09.2004 в 00:14:58
2Терапевт: Тады Ой... ::)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.09.2004 в 10:58:23
Как человек очень далекий от программинга я сейчас буду задавать очень тупые вопросы, по этому прошу отнестись с пониманием :)
Итак.....
1. weapons.c Ln 2716
Лазерный прицел и метод его встраивания в РВ и АРВ.
Если я скопирую строки 2717-2728 т.е.

if (usInHand == ROCKET_RIFLE || usInHand == AUTO_ROCKET_RIFLE || bAttachPos != NO_SLOT) // rocket rifle has one built in
{
INT8 bLaserStatus;
if ( usInHand == ROCKET_RIFLE || usInHand == AUTO_ROCKET_RIFLE )
{
bLaserStatus = WEAPON_STATUS_MOD(pInHand->bGunStatus);
}
else
{
bLaserStatus = WEAPON_STATUS_MOD(pInHand->bAttachStatus[ bAttachPos ]);
}

и вляпаю их для оптического прицела, заменив везде "LaserStatus" на скажем "SniperStatus", этого будет достаточно для встраивания оптики?

2. А аналогично для сошек?

3. Weapons.c Ln2730: // laser scope isn't of much use in high light levels; add something for that
if (bLaserStatus > 50)
C английским у меня немного по лучше, чем с программированием. Если не ошибаюсь, тут что-то про уровень света на уровне? А где собственно привязка к освещению?

4. Weapons.c Ln2737: // laser scope in bad condition creates aim penalty!
А вот это уже интересно. Сильно покоцаный ЛЦУ дает дополнительный штраф? :o Если да - то это СУПЕР!

Ну пока я думаю хватит..... ::)

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 09.09.2004 в 11:29:01
2Raty:
1. У мя к тебе просьбочка - если даёшь кусок кода, то следи, чтобы кол-во открывающихся фиг. скобок было равно кол-ву закрывающих. И наоборот. А то так ты выдираешь кусок логической конструкции и не до концав понятно что происходит.
2.
Quote:
и вляпаю их для оптического прицела, заменив везде "LaserStatus" на скажем "SniperStatus", этого будет достаточно для встраивания оптики?
Не знаю. Либо приведи код в соответствие п.1. Либо погоди пока я гляну в сырцах. Дело в том, что переменная bLazerScope обьявлена тут же рядышком и непонятно из куска, как она используется дальше. Окромя того нуно глянуть, что за конструкция WEAPON_STATUS_MOD(). Судя по написанию - макрос. Но что он делает?
3.
Quote:
где собственно привязка к освещению?

Где то ниже видимо ...  ;D
4.
Quote:
Сильно покоцаный ЛЦУ дает дополнительный штраф?

Ну, судя по комменту - да  ;D А что ниже? ;D

Заголовок: Re: Первые шаги...
Прислано пользователем gyv на 09.09.2004 в 12:08:58

Quote:
WEAPON_STATUS_MOD
похоже на годность.

Т.е. годность лазерника = годности лазерника, если он аттач или годности оружия, если оружие - ракетная винтовка.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 09.09.2004 в 12:15:28
2Raty:

Quote:
этого будет достаточно для встраивания оптики?

Нет. Только глюков прибавится. Оптика по коду описывается чуть выше. Там функция проверки наличия оптики на стволе. Если оптика найдена, то берётся её процентное состояние и дальше используется в расчёте бонуса, зависящего также от числа единиц дополнительного прицеливания.
Самое простое это влоб модифицировать условие проверки, добавив номера стволов, а процентное состояние для этого случая брать не у аттача, которого просто нет, а у ствола.


Quote:
А аналогично для сошек?

Тоже нет. Сошки описываются выше оптики. Там бонус зависит от % состояния и растояния до цели, чем дальше, тем больше.


Quote:
Сильно покоцаный ЛЦУ дает дополнительный штраф?

Да.


Quote:
А где собственно привязка к освещению?

Если я правильно помню, то такой обработки для ЛЦУ нет вообще. Они её, видимо, забыли добавить. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.09.2004 в 12:32:28
2Artem:

Quote:
А то так ты выдираешь кусок логической конструкции и не до концав понятно что происходит.

я ж говорю, далекий я от программинга ;D
2Терапевт:

Quote:
Оптика по коду описывается чуть выше.


Quote:
Сошки описываются выше оптики

Да я знаю. Я туда и собирался "вляпать".
Ну хоть с рассчетом бонусов понятно стало.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.09.2004 в 16:45:45
Еще один глупый вопрос:
weapons.c
почему при расчете бонуса для оптики идет условие
if (bAttachPos != NO_SLOT ...............,
а для сошек
if (bAttachPos != ITEM_NOT_FOUND)
Насколько я понимаю в обоих случаях должно проверяться их наличие. Почему тогда в одном случае NO_SLOT, а в другом ITEM_NOT_FOUND?:lamer:

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 09.09.2004 в 17:05:05
2Raty: все дело в != - это обозначает НЕ пустое место. Отирицание короче. Вот если бы там было ==, то тогда \то означало бы "равно", а так ровно наоборот - "НЕравно" :)

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 09.09.2004 в 18:07:17
2Bezumnij_Kovrik: Костик, вопрос не в ентом, почему с разными макросами сравнивает?2Raty:, я праильно понял?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 10.09.2004 в 08:07:30
2Artem:

Quote:
я праильно понял?

ага.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 10.09.2004 в 09:45:57
2Raty:
Я думаю, что NO_SLOT и ITEM_NOT_FOUND просто синонимы ( имеют значение -1). Нужно поискать их определение в хидерах (*.h).

Заголовок: Re: Первые шаги...
Прислано пользователем Artem на 10.09.2004 в 12:01:59
2Терапевт:
Quote:
Я думаю, что NO_SLOT и ITEM_NOT_FOUND просто синонимы ( имеют значение -1). Нужно поискать их определение в хидерах (*.h).

Ваще то это дурной тон в программировании... Но всё возможно...

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 16.09.2004 в 08:42:19
Сделал я возможность добавить колиматор(бывший ускоритель) к оружию через редактор карт, как подствольник, сошки и остальное. Появилась новая кнопочка, все работает прекрасно, но кнопок стало слишком много и они стали налезать на другие(в частности на DELETE и OPTIONS). Где могут задаваться координаты этих кнопок?

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 16.09.2004 в 10:49:12
2Raty: делаешь скриншот -> Вставляешь в фотошоп. по линейке смотришь координату верхнего левого угла верхней кнопки (скорее всего только она задана обсалютными координатами, хотя м.б. и нет... не помню...). Через поиск внутри файлов ищешь ее... Дело в том, что все эти координаты разбросаны по такому количеству файлов, что плакать хоцца :(.
Ну кнопка одна - ента ниче...  :D Жить можно ;).

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 16.09.2004 в 10:52:57
2Raty:
Я когда-то ПМу делал редактор, в котором ещё и удлиннитель добавляется, т.к. он у нас является НП.

Для каждой кнопки есть такой код:

CreateTextButton( L"SILENCER", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment );
yp += 14; // приращение по верткали (расстояние между кнопками

..., 570, yp, 60, 12, ...
В этом куске параметры кнопки: координата по горизонтали, по вертикали, длина, высота.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 16.09.2004 в 11:07:36
2Bezumnij_Kovrik:

Quote:
Ну кнопка одна - ента ниче...  

ну дык планируется еще пара ::)

Quote:
yp += 14; // приращение по верткали (расстояние между кнопками

А... так это прирост, оказывается. А я понять не мог, какого там все цифры одинаковые.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.09.2004 в 10:13:11
2ALL:
Подскажите пожалуйста, где задаются координаты и габариты кнопки ключей в интерфейсе. А то все облазил, все остальное есть, а ЕЕ чего-то не найду никак.:help:
Заранее благодарен.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 20.09.2004 в 15:40:17
2Raty: Кинь ПМ безумному. Он точно знаеть - долго с ней .... :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.09.2004 в 16:28:48
2Artem13:
2ALL:
Мой предыдущий пост больше не актуален - типа разобрался уже.
Хотел удалить, но на него уже ответили, так что......

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 23.09.2004 в 11:22:30
SOS !
Пытаюсь в довесок подствольнику M203 реализовать ГП30 со своими выстрелами ВОГ.
Все необходимые изменения внес по аналогии с имеющимися для    UNDER_GLAUNCHER.
Единственная проблема - переключение в режим подствольника.
Weapons.c Ln. 4385 (в чистых исходниках):
if (FindAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND || FindLaunchableAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND )
Если я добавляю туда аналогичные строки для GP30, то отваливаются оба подствольника. Т.е. перехода в режим вообще не происходит ни с каким.
Если не добавлять ничего, а заменить UNDER_GLAUNCHER на GP30, то ГП30 работает, а М203 - разумеется нет. Это вроде как подтверждает, что больше нигде я не напортачил.
В общем я уже на грани истерики...:cry:

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 23.09.2004 в 12:10:42
2Raty: Такие отрывки не несут особой инфы. Попробую дома порыться.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 25.09.2004 в 00:11:53
               Доброго всем вечера!

После некоторого перерыва,я снова на форуме.
Скачал екзешник с новым разрешением,в связи с чем имею что сказать.
2 Bezumnij_Kovrik:
Юзал новый екзешник-в общем гут,явных глюков я не нашел,хотя если откровенно(не в обиду) я ожидал немного большего,но обо всем по порядку:
1)Переделал имеющиеся у меня исходники под 800х600-в общем не особо сложно,сперва
правда косячило картинку(пока не поменял gpZBuffer с 1280 на 1600).
2)У меня(как и у тебя)нельзя сделать скриншот PrintScrnом(можно только через вставку в Paint)-картинка размазана-почему ???
Похоже нужно править параметры в Overhead map.c Ln 44-    NORMAL_MAP_SCREEN_WIDTH  3160;NORMAL_MAP_SCREEN_HEIGHT    1540;
NORMAL_MAP_SCREEN_X 1580 и.т.д.-но я не пойму,как они расчитываются? ???                                                          
3)Передвинул координаты панели ключей,но кнопка почему то не работает(сталкивался с этим еще при расширении интерфейса),
если тебе не в лом-подскажи пожалуйста,в чем трабла?Помоги пожалуйста! :'(                                                        
4)При заходе в сектор(у тебя,в новом екзе) зона высадки осталась в пределах старых координат-почему? ???
Это связано с физическим размером карт(в смысле нужно рисовать новые)или с чем?
Что за черная зона(по диагонали)в правом верхнем и левом нижнем углу карты,при расстановке мерков,и при просмотре в тактике карты(по правому клику
мышки на радарной карте)-Физическая граница карты?
Размер карты задается в Editor\Sector Symmaru.c (#define MAP_SIZE 208) или где то еще?Можно ли его изменить-в смысле будут ли грузиться
после этого рРедактором старые карты?
2 ALL:
Собрался переделать Редактор под новое разрешение,собрал Дебаг(который запускается в оконном режиме),запустил-подвис!
Но поскольку Редактор увидеть все таки хотелось-внес кое какие изменения в Builddefines.h (в SGP)#ifndef           JA2TESTVERSION
#define JA2TESTVERSION
     #define JA2EDITOR
#endif
В результате:
1)По времени собирается,как релиз(быстрее дебага)
2)Весит меньше-2.82 против 4.69(дебаг)
3)Работает быстрее Дебага(не тормозит при скролировании)
Собирать можно релиз,только предварительно на вкладке Project\Properties\Linker\Input-убрать подключение
vtuneapi.lib
По сути получился облегченный Дебаг,Редактор активируется аналогично(ja2.exe -EDITOR из Volcov com. или F9 в игре).
Для сборки нормального релиза(без редактора и дебаг функций)нужно поменять мой Builddefines.h в SGP,на предидущий(например из JA2\Build\)
В завершении вопрос всем присутствующим:
Насколько сложно переделать Едитор по типу ЦС-для создания карт с нуля ???

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij_Kovrik на 25.09.2004 в 15:32:01
2WISDOM: А чего ты ожидал?  :). Я же позиционировал переделку исключительно интерфейса и больше ничего другого...
1. Угу-угу... правильно :).
2. Это вряд ли. Скрины скорее всего не делаются из-за какой-то внутренней процедуры. Если приглядишься, то увидишь, что скрины как бы сделаны правильно, но левая сторона несколько раз наложена на правую + какой-то невразумительный интерлейсинг. К тому же объем картинки (в кб) такой же, как должен быть у картинки размером 800х600. Я с этим довольно долго мучился, пока не плюнул. И еще: вставляй картинки из буфера в фотошоп и никаких размытостей не будет.
3. У меня была только одна трабла с этой кнопочкой, но исключительно от кривых моих рук. Я там вместо координаты Y задал координату Х. Как следствие кнопка уехала дааааалеко вниз за пределы экрана. Тщательно просмотри код кнопки. М.б. подобная ботва...
4. Не понял вопроса... какие старые коорднаты? Про черные пятна и дыры ничего сказать не могу, поскольку не видел их... можешь сделать скрин?

Редактор: нужно просто раскомментировать тестовую версию, тогда получается редактор, тестовая версия игры (системные сообщения доступны) + НПЦ/квест дебаггер.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 26.09.2004 в 12:30:58
Raty, посмотрел я, наконец, Випон.с и пр.
1. Свой ГП25 ты определил в Item Types.h?
2. Вместо дублирования блока необходимо изменить условие на:
if (FindAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND || FindLaunchableAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND||(FindAttachment( &(pSoldier->inv[HANDPOS]), GP25 ) == ITEM_NOT_FOUND || FindLaunchableAttachment( &(pSoldier->inv[HANDPOS]), GP25 ) == ITEM_NOT_FOUND))

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 29.09.2004 в 17:19:54
                   Всем доброго вечера

2 Bezumnij_Kovrik:

Quote:
 Скрины скорее всего не делаются из-за какой-то внутренней процедуры...

Тогда,по логике,дело в Винде?И,опять же исходя из логики,из буфера скрин вставляется нормальным-следовательно бьется он только при создании напрямую(минуя буфер).
Как я уже писал,дело вероятнее всего в NORMAL_MAP_SCREEN_WIDTH  3160 и.т.д,кстати,данный глюк возникает
сразу после правки Local.h(#define SCREEN_WIDTH 640 и.т.д).

Quote:
    К тому же объем картинки (в кб) такой же,как должен быть у картинки размером 800х600...  

Но в просмотровщике(ACDSee 32)пишеться-640х480х64к?Да,если в просмотровщике уменьшить картинку до 20%(кн.zoom out)
то видно,что на скрине,как бы отрезали кусок справа,и пришили его слева(почти по центру экрана)-похоже,мы где то
неправильно изменили координаты центра экрана.

Quote:
вставляй картинки из буфера в фотошоп ...

Размытости,не в паинте,а при PrintScrn!

Quote:
  Не понял вопроса... какие старые коорднаты..

Которые в файле Tactical Plasement GUI-у тебя рамер экрана расстановки,при заходе в сектор,остался старым. :(
Не так давно,ты писал:При попытке высадиться на подсвеченой територии, приходит сообщениев котором написано "Doesn't look so good there.
От этой идеи(смещения зоны высадки к границе экрана)ты отказалься,вот я и спрашиваю:Это связано с физическим размером карт или с чем то еще? ???

Quote:
Про черные пятна и дыры ничего сказать не могу, поскольку не видел их...

Сорри, :-[в твоем ехе их действительно нет(поскольку размер миникарты(пр.клик на радарн.карте)осталься старым(увеличино только окно)но его все равно нужно увеличивать,как
и окно расстановки мерков,при заходе в сектор.У себя я увеличил эти размеры,как это смотрится-смотри скрин(пришлось архивировать,поскольку весит-1,37 Мб)
Если знаешь,что за черновщина в верхнем,и нижнем углах-пожалуйста ответь! :'(

Quote:
нужно просто раскомментировать тестовую версию...  

Попробовал-получаеться,то же самое что и у меня-системные сообщения + НПЦ/квест дебаггер(ехе=2,82Мб),но все равно,спасибо за подсказку-твой вариант,немного проще! ;)
2 ALL:
Пара мыслей,по поводу анимации:
В 3D MAX создается модель,анимируется,полученная анимация сохраняется в .AVI,затем при помощи Ulead GIF Animator-а,AVI разбивается покадрово(Motion Kapture).Далее,полученные кадры редактируются,и сохраняются в ВМР,который пакуется в STI.
Я пока не знаю,насколько реалистичной получится такая анимация,но попробовать стоит,тем более,что достать цифровую камеру для съемки  пока не реально(не говоря о отсутствии
видеовхода(GF2-MX400)).К тому же Сиры,возможно использовали какой то аналогичный метод-поясню:
В титрах была указана прога 4D Paint-я нашел в сети упоминания о ней:

Quote:
   ...4D Paint Rembrandt v1.82 Plugin Специальный plug-in, позволяющий передавать данные о моделях между 3DS Max и 4D Paint Rembrandt - удобным 32bit'овым пакетом текстурирования 3D-объектов.4D Paint позволяет
пользователям в интерактивном режиме помечать и раскрашивать объект...

На Рамблере есть куча ссылок,однако почти все они ведут в интернет магазины,поэтому скачать саму прогу пока не получилось,есть только плагин для 3D MaX.
Может быть получится найти на дисках.
Единственное-я не понял,где и для чего ею пользовались Сиры? ???3D в игре нет и в помине,анимация,если ее делали с использованием(частичным)3D,чего то не того-в общем,сие покрыто мраком.
Если чего то с 3D получится-поделюсь! ;)
 






Заголовок: Re: Первые шаги...
Прислано пользователем Ecros на 29.09.2004 в 18:07:50
2WISDOM:

Quote:
В 3D MAX создается модель,анимируется,полученная анимация сохраняется в .AVI,затем при помощи Ulead GIF Animator-а,AVI разбивается покадрово(Motion Kapture).Далее,полученные кадры редактируются,и сохраняются в ВМР,который пакуется в STI.

А зачем так сложно-то? По крайней мере 6й макс умеет сохранять кадры сразу в последовательность бмпэшек. Вот только боюсь, чтобы создать качественную анимацию надо быть нехило шарить не только в 3д. Посмотри на тактикс несмотря на отличные модели, анимация движений персонажей просто отвратительная.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 30.09.2004 в 11:10:13
2Artem13:

Quote:
Свой ГП25 ты определил в Item Types.h?

Ну да... Иначе бы и не скомпилилось. Абсолютно все и везде сделано аналогично UNDER_GLAUNCHER. Где-то в условие добавлено, где-то продублировано с частью кода. Искал "UNDER_GLAUNCHER" и вперед.


Quote:
Вместо дублирования блока необходимо изменить условие на...

Так именно с этого я и начал. Со скобками в условии тоже игрался по всякому. Результат был описан выше. Отпадают оба подствольника. Я и условие с кодом(адаптированные под GP30) дублировал и вставлял после соответствующего else и  чего только не делал результат был еще хуже. Один подствольник не работал вообще, с другим после режима одиночной стрельбы включался подствольник, а потом режим очереди и очередь больше не убиралась.

В других местах я условия коверкал как хотел(в пределах разумного естественно) и все работает. Здесь же - или UNDER_GLAUNCHER или GP30. Одно из двух, а вместе ну никак. Почему - хз...

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 30.09.2004 в 12:23:56
2Raty: Вообще подствольник входит в группу аттачей: оптика, сошки, утконос, ускоритель, глушак, подствольник, ЛЦУ, удлинитель. Посмотри другие аттачи этой группы. Мне просто некада пока....

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 30.09.2004 в 13:01:13
2Raty: А вообще то я ступил! Ты как условие изменял?
if((UNDER_GLAUNCHER)||(GP30)) ? Тогда конечно, работать будут только когда ОБА присобачены! Измени на &&.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 01.10.2004 в 11:08:59
2Artem13:

Quote:
Измени на &&.

Да, действительно, все заработало.
Спасибо, что ты есть:pray: :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 01.10.2004 в 12:48:14
2WISDOM:

Quote:
Передвинул координаты панели ключей,но кнопка почему то не работает

Я в свое время тоже помучился...
Саму панель я не трогал, двигал только кнопку, да еще ужал ее немного по горизонтали.
Трабла следующая: Interface Items.c  
строки    #define KEYRING_WIDTH 517 - ?
              #define KEYRING_HEIGHT 469 - ? , вместо "?" должно стоять значение KEYRING_X или KEYRING_Y соответственно.
Ну так вот, есть какая-то привязка к цифрам 517 и 469. Что это за цифры - я так и не понял(возможно координаты правого нижнего угла панели ключей в тактическом интерфейсе, но не факт, они больше нигде не проскакивают в чистом виде, может как-то высчитываются), но если их убрать или изменить кнопка не работает.
В общем я сотворил вот это:
Новые размеры моей кнопки 23х23 (старые вроде 30х23),
KEYRING_X 364
KEYRING_Y 404  
это новые координаты левого верхнего угла кнопки,
...
KEYRING_WIDTH 517 - 364 - 130
KEYRING_HEIGHT 469 - 404,
а это размеры кнопки.

517 - 364 - 130 = 23, т.е. 130 - это то, что нужно вычесть из (517-364), чтоб получилось 23. Иначе кнопка получалась офигенно длинная и залазила в интерфейс. Согласен, немного через Ж, но это единственное, что мне пришло в голову, да к тому же сработало, так что я на этом и остановился.
Странно то, что  469 - 404 = намного больше 23 (высоты кнопки), но в тактике высота кнопки получается почему-то нормальная, т.е. 23. Почему - фиг знает. В стратегии - да, кнопка простирается ниже и почти доходит до кнопки с галочкой(я их не двигал).
Но если я начинаю ковырять KEYRING_HEIGHT так чтоб 469 - 404 - ? = 23, то в тактике кнопка умирает(куда она уходит, я так и не нащупал), а в стратегии я и не проверял...
В общем такая вота ботва.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 13.10.2004 в 09:48:51
                 Всем доброго дня!

2Raty:
Спасибо за помощь,но у меня проблема была в другом:
Я не сразу заметил,что при скролировании интерфейса вверх(от нижней границы экрана),
у меня не сразу появляется стрелка курсора-ошибка была в Handle UI.c-ln 739-821(не поменял
старые параметры(635-478)на новые.Кнопка ключей не работала из за этого,поскольку KEYRING, как то за
вязан на Mousregion-точно не помню.

Quote:
Ну так вот, есть какая-то привязка к цифрам 517 и 469.  

Это правая(517)и нижняя(469)границы кнопки ключей,просто записана сначала конечная точка 517,а потом стартовая 487,почему так-Сир его знает :).Высота(HEIGHT),действительно 445-469-на скрине это видно.
А вот ширина(по скрину) 495-525,а не 487-517 как указано в#define-возможно дело в KEY_RING_ROW_WIDTH 7(Interface Items.c-303),
но утверждать пока не берусь,поскольку не уверен.
Кстати,в Interface Items.c, координаты кнопки есть еще и ниже по файлу(ln 988)- guiSAVEBUFFER, guiGoldKeyVO, 0, 496, 446,-и.т.д.Их тоже нужно менять,иначе кнопка работать не будет.

Quote:
 (старые вроде 30х23), ...

Если точно-29,23.
Да,есть еще какой то _GRAPHIC_OFFSET-я пока не врубаюсь как он расчитывается?Причем,он используется и во многих других размерах.
При расширении панелей старого(640х480)интерфейса,я тоже пытался уменьшить размеры кнопки,но тогда не получилось.Сейчас потихоньку(паралельно
копаю анимацию) перерисовываю(расширяю) панели под 800х600,и до ключей пока не дошел.Так что,еще раз спасибо за совет-как знать,может и пригодится! ;)
2Ecros:

Quote:
 По крайней мере 6й макс умеет...

c МАХ-ом пока не сложилось-из двух имеющихся(5.0 и 6.0)не один нормально не работает:
3D Max5 требует авторизацию,хотя есть файл лицензии-м.б.коряво ломали;
3D Max6-на диске отсутствует половина нужных компонентов(хотя на обложке они есть)-покупал давно,сразу не досмотрел.
В данный момент есть полный пакет Maxon Cinema 4D Studio Bundle v8.503- пока разбираюсь с интерфейсом.Имхо-прога гораздо круче Мах-а.

Quote:
 чтобы создать качественную анимацию надо быть нехило шарить не только в 3д..

Я же сказал,что не знаю-получится или нет,но других желающих заниматься этим все равно  нет.

Quote:
анимация движений персонажей просто отвратительная...

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


Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.10.2004 в 16:23:50
2WISDOM:

Quote:
в Interface Items.c, координаты кнопки есть еще и ниже по файлу(ln 98- guiSAVEBUFFER, guiGoldKeyVO, 0, 496, 446,-и.т.д.Их тоже нужно менять,иначе кнопка работать не будет.

Это кажется вид кнопки если в панели есть ключи? В оригинальном интерфейсе она подсвечивалась подругому. Дело в том, что я курочил интерфейс от НО (кажется от Коврика, ну не помню точно, сорри, тот где серые панели и синий фон, респектный кстати интерфейс) и там кажись этого вида нету, ну я это и отключил. Т.е. кнопка вида не меняет.
А вообще может и не здесь я отключал:idontnow: Но точно помню, что GoldKey в записи фигурировал.

Quote:
Их тоже нужно менять,иначе кнопка работать не будет.

До того, как я это (а это ли ? смотри выше :)) отключил, новый вид кнопки прорисовывался на старом месте, и сама кнопка (не уверен, давно было) работала.
Сейчас у меня то, что описано было в предыдущем моем посте. В тактике все ОК. В стратегии имею большУю по высоте кнопку ключей(ну не саму кнопку конечно, а область, кликнув по которой, можно открыть панель ключей.) На этом пока и остановился.

2ALL:
Люди, а разобрался кто-нибудь со встроенными подствольниками. А то у меня чего-то никак. Много всего перепробовал и максимум чего достиг - это приаттачивание Вог25 к Грозе, переключение в режим подствольника, выстрел и... вылет в форточки:(.
Абыдна, да...

Заголовок: Re: Первые шаги...
Прислано пользователем copermine на 27.10.2004 в 11:03:28

on 03/12/04 в 19:31:35, S-Vertal wrote:
В файле tactical\inventory choosing.c нашёл фрагмент, отвечающий за выпадание предметов

#define ENEMYAMMODROPRATE       100      // % of time enemies drop ammunition
#define ENEMYGRENADEDROPRATE    100      // % of time enemies drop grenades
#define ENEMYEQUIPDROPRATE      100      // % of stuff enemies drop equipment

// only 1/10th of what enemies drop...
#define MILITIAAMMODROPRATE      100      // % of time enemies drop ammunition
#define MILITIAGRENADEDROPRATE       100      // % of time enemies drop grenades
#define MILITIAEQUIPDROPRATE     100      // % of stuff enemies drop equipment

Вероятность указана в %, я выставил 100 по всем видам (отдельно оружие\патроны\снаряжение). Итог - всё вывалилось, как и после патча Терапевта Кулибина. Но при этом барахло высветилось не сразу после конца боя, а только когда я подошёл к трупу, в этом преимущество по сравнению с правкой ехе. Вот что я навоевал с троими врагами в Омерте (броников нет, наверное, не одеты). В этом же файле таблицы выбора оружия драньцами.


У кого как, а у меня после выставления всех процентов дропа шмоток ничего не поменялось... Грешил на перекомпиляцию, но ... И клинил, и обджи грохал и все такое. В общем, все как до правки.

Заголовок: Re: Первые шаги...
Прислано пользователем copermine на 27.10.2004 в 12:04:26
Сорри, послал предыдущее сообщение дважды...

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 27.10.2004 в 12:40:12
2copermine: А с чем сравнивал. Просто у некоторых драньцев в скриптах жёстко задано выпадение/невыпадение...

Заголовок: Re: Первые шаги...
Прислано пользователем copermine на 27.10.2004 в 13:11:20

on 10/27/04 в 13:40:12, Artem13 wrote:
2copermine: А с чем сравнивал. Просто у некоторых драньцев в скриптах жёстко задано выпадение/невыпадение...


Ситуация: ПВО Драссена, 6 элитчиков.
В начале боя сохранился, поправил код, попытался поубивать супостатов... Ну и выпало пара жалких обойм и кастет. Собсна и все. При выполнении тех же действий с Букой 1.02 с патчем выпадения все пучком, т.е. выпадает все до жвачки включительно.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 27.10.2004 в 16:08:29
2copermine:
Насколько я понимаю ключевое слово "сохранился". :)
Как я себе представляю, возможно эти вероятности применяются в момент генерации солдат при загрузке тактического экрана. То есть когда ты сохранился, всё всем уже было роздано и флажки выпадения каждого предмета установлены в соответствии со старыми вероятностями. Последующее изменение вероятностей уже, естественно, не отразилось на определённых и сохранённых параметрах.
А патч выпадения просто игнорирует флажки невыпадения, хотя они в соответствии с вероятностями всегда выставляются.

Заголовок: Re: Первые шаги...
Прислано пользователем Безбашеный Ковролин на 27.10.2004 в 18:56:34
2copermine: пиши вопрос в 1ой ветке, иначе это нервирует.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 28.10.2004 в 10:19:29
2Терапевт:
Quote:
Насколько я понимаю ключевое слово "сохранился".  
Как я себе представляю, возможно эти вероятности применяются в момент генерации солдат при загрузке тактического экрана. То есть когда ты сохранился, всё всем уже было роздано и флажки выпадения каждого предмета установлены в соответствии со старыми вероятностями


Абсолютно верно, я вчера как то не обратил внимание на ключевое слово. Там действительно флаги невыпадения сохраняются, да и вааще много чего сохр-ся. Структурка статуса солдата самая огромная - несколько десятков полей, я как увидел, чуть со стула не свалился... :D

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 09.11.2004 в 14:02:20
                     Всем доброго дня!
Есть хорошие новости-еще одна наша мечта стала реальностью!
Мне наконец то удалось увеличить число врагов в секторе,до-сколько хочется(МАХ=255)!!!
К моему удивлению,это оказалось до смешного просто-нужно поправить 5-8(сечас точно не скажу)файлов,это 10-15 минут времени! :)
Правда была маета с Auto Resolv-ом(аторасчет),но в данный момент это решено.Пока увеличил кол-во
фрагов до Мах=64.Из за дефицита времени нормально потестировать не успел(прошел 7карт),но вроде все
стабильно-глюков и вылетов не было.
Первое впечатление-Здорово!Играть стало ощутимо сложнее,поскольку даже 45 админов с пистолетами,легко могут уложить
3 мерков(Сова,Стрелка,Сгенереный перс)с автоматическим оружием.Не особо помогает даже S/L.Мне с трудом удалось замочить патруль из 45 админов(A11;19:30;3 наемника).В течении боя пришлось медленно отходить через весь
сектор к границе,постоянно имея в зоне видимости 18-22 врага.Получено 19 ранений на 3-х мерков,один из них критический!
Это при том,что я не заморачивался с расстановкой и раздачей скриптов(время,время)-ставил как попало.
А ежели еще и грамотно расставить и раздать скрипты,и регуляры или элита-днем шансы победить близки к 0!!!
Думаю сторонники игры без S/L(к которым,я кстати сказать,НЕ отношусь)будут в восторге!
Я тут подумал о увеличении кол-ва мерков в секторе до 8.Есть какие то возражения? ???
Однако правка кода,это не все. ;)
1)Для того что бы движок мог разместить всех фрагов(больше 32),нужно доставить этих фрагов(сверх 32)на каждой карте и карту сохранить-должно изменится(в редакторе,при сохранении карты) Total map population,и Enemies,иначе при заходе в тактику будет вылет-ошибка Queen Command.c ln 601.Насколько я понял,количество
слотов(точек) под расстановку сохраняется в файле карты,и поправить это кол-во централизованно(через код) не получиться!Если я
ошибаюсь,и можно увеличить число фрагов на карте,минуя правку каждой карты в редакторе -огромная просьба расказать как???
???Да,чуть не эабыл-для переделки карт нужно собирать Тестовую или дебаг версии ехе,т.е. с Едитором,поскольку в других(Немка и UB) добавить фрагов не выйдет,так же карты с числом фрагов более 32 не будут грузиться в другие(Немка и UB) Едиторы!!!Думаю это всем ясно,но на всякий случай напомнил. :)
2)Поскольку все работы веду на исходниках 800х600,то переделал так же и Едитор.Единственное-пока что не определился,на сколько увеличивать инвентарные слоты-поэтому панель инвентаря мерков и панель Айтемов в Едиторе пока не переделывал.Панель инвентаря мерков, наверное приедется перенести к правой границе экрана и перекомпоновать,поскольку новые слоты(Big Slot х=80;у=32 или х=86;у=34)не поме
щаются(без увеличения общей(у=120)высоты интерфейса) на старом месте.Весь остальной интерфейс Едитора заточил под 800х600,поправив
кстати некоторые глюки;Рамер кисти в едиторе был ограничен ХLarge,в то время как в немке и UBЕдиторах есть еще и Width 1,и Area-сдесь
же при попытке переключения кисти с XLarge на следующий размер-Едитор вылетал,мною это
исправлено.
Если это кому то интересно,то к концу недели могу выложить файлы,как по увеличению числа фрагов.
Так же могу выложить и Едитор-весит он немного(80-100кб).
2ALL:
1)Друзья,коллеги-кто нибудь знает как сделать в Едиторе создание при сохранении радарной карты,по типу UB??? ??? ???Помогите пожалуйста! :'(
Неплохо бы ло бы,так же сделать создание карты с нуля? ;)
Сдесь упоминались исходники UB,у когото они есть?Может мне можно получить(мылом) оттуда папку Editor-тогда я сам попробую это сделать.
2)Можно ли замедлить скорость роста скилов?Сходу понять как там все расчитывается трудно,а серьезно копать пока нету времени-может
кто то подскажет?
Предел скила-127,я увеличивал параметры-все работало,однако после 100 скил рос как при подьеме с 1(проверял на взрывчатке),т.е.
с 100 до 127 поднялось за 30 циклов поставил\снял мину.Можно ли это(скорость)как то отрегулировать?как?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.11.2004 в 16:08:44
2WISDOM:

Quote:
Мне наконец то удалось увеличить число врагов в секторе,до-сколько хочется(МАХ=255)!!!

:applause:

Quote:
Я тут подумал о увеличении кол-ва мерков в секторе до 8.Есть какие то возражения?

А какие проблемы с 8 мерками в секторе? Может ты имеешь в виду в отряде? От 800х600 версии я только пару скринов интерфейса видел. Кажись окурат еще 2 рожи в отряде поместятся. В общем я ЗА!

Quote:
Если это кому то интересно,то к концу недели могу выложить файлы,как по увеличению числа фрагов.

Мне интересно ;)

Quote:
Поскольку все работы веду на исходниках 800х600

А вот это уже очень интересно... Сам сделал или Коврик дал? Как бы и мне их заполучить?:shuffle:

Ты, как я заметил в основном курочишь интерфейс и стратегию? По стратегии я не рылся(все никак с оружием не разгребусь), а по интерфейсу слегка прошелся. В общем я в интерфейсе мерка добавил 5-ю строчку слотов: 2 маленьких и один большой. В редакторе так же добавил еще один большой слот в инвентаре мерка. Где чего править я уже и не помню ибо записей по дурости не вел. Если интересно, то попытаюсь раскопать, но вряд ли скоро.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 12.11.2004 в 15:40:30
                               Доброго дня!

2Raty:

Quote:
Может ты имеешь в виду в отряде?...

Конечно в отряде-"в секторе"написал машинально. :-[quote] Кажись окурат еще 2 рожи в отряде поместятся... [/quote]
Виноват :-[-я совершенно забыл,что будет увеличен большой слот инвентаря,поэтому
8 мордочек,вероятнее всего не поместятся,максимум 7-точнее смогу сказать чуть погодя.

Quote:
Мне интересно...

Как я понял,у тебя исходники 640х480-я поправил файлы от старых,можешь на выходных поюзать!
В архиве есть и тхт.с пояснением,где и чего правилось.

Quote:
Сам сделал или Коврик дал? Как бы и мне их заполучить?...

Поскольку все сделал сам,то-без проблем.Единственное:
1)Я не центрировал(пока)заставки и загрузочные скрины
2)не переделывал интерфейс
Если это тебя не смущает,могу тебе до вторника замылить-весят исходники(с Едитором)-902 Кб
Ежели через почту не подходит-скажи как?

Quote:
 В общем я в интерфейсе мерка добавил 5-ю строчку слотов...

Спасибо,конечно,но если увеличить высоту и ширину слотов,то проблема разместить
имеющиеся,не говоря о добавлении новых.

Quote:
все никак с оружием не разгребусь

А ты случайно не знаешь,как увеличить длинну очереди больше 6? :-[quote]  Ты, как я заметил в основном курочишь интерфейс и стратегию?[/quote]
В основном,я курочу то,на что хватает моих скромных знаний+до чего дотянутся ручки. :D
2ALL:
Траблы с Auto Resolve-при 40-45 карателях,все выглядит более менее нормально,но
при 50-64 карателя+20 Ополченцев-крайнего левого ряда лиц(ментов)не видно-
не помещаются на экране!Нужно сместить панель авторасчета в право;
Кто знает  как их высчитать  ??? ???
В Auto Resolve.с координаты заданны как то через ж...,типа gpAR->sCenterStartX + 141 + 55*x).
Може кто то сможет мне помочь?  ??? :'(




Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 12.11.2004 в 15:42:25
А это увеличение кол-ва фрагов для   800х600  :)

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 12.11.2004 в 20:29:25
2WISDOM:

Quote:
как сделать в Едиторе создание при сохранении радарной карты,по типу UB

В этом нет необходимости. У этого едитора есть параметр коммандной строки -DOMAPS, который запускает едитор в режиме автогенерации мникарт по всей папке Maps.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 15.11.2004 в 09:30:23
2WISDOM:
Спасибо за файло.


Quote:
Если это тебя не смущает,могу тебе до вторника замылить

да на мыло без проблем


Quote:
А ты случайно не знаешь,как увеличить длинну очереди больше 6?

К сожалению:idontnow:

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 16.11.2004 в 17:15:37
                         
2Терапевт:
Спасибо за подсказку,позволю себе только уточнить:
Перед запуском ja2 -DOMAPS нужно создать папку Radarmaps-Едитор складывает
туду радарные имаджи.
Паша-как отключить "туман войны"на страт.карте в исходниках(что бы отображались отряды)?
Поджскажи если знаешь.Хочется проверить кое какие идеи по страрегическому АI,а времени
на полное прохождение не хватает.
2ALL:
1)Нашел,где прописаны места генерации королевских войск:
файл-Strategic Ai.C ln 498-функция INT32 ReinforcementsAvailable( INT32 iGarrisonID )
Всего таких мест 5:    
                      case LEVEL1_DEFENCE:
                  case LEVEL2_DEFENCE:
                  case LEVEL3_DEFENCE:
                  case ALMA_DEFENCE:
                  case ALMA_MINE:
Думаю можно попробовать расширить данный список!
2)При увеличении размеров имаджей оружия,инвентарь мерка в Едиторе переделывать НЕ нужно:
Думаю,все обращали внимание,что при размере в игре Большого слота 58-60х22,имаджи стволов(MDGuns),
нормально помещаются в инвентарь мерка в Едиторе,хотя размер Большого слота в Едиторе=48х15.
Имаджи отображаются потому,что для инвентарных слотов в Едиторе используется Буфер,который произ
водит 20% сжатие картинки,при помещении ее в слот!
Editor Taskbar Utils.c ln 200-vs_desc.usWidth =60
                      ln 201 vs_desc.usHeight= 20

Указанные размеры,нужно просто изменить на нужные(например vs_desc.usWidth =71и.т.д)
В завершение:
Выкладываю файлы по увеличению кол-ва фрагов V1.(800х600)
1)Лимит на фрагов-80 чел.,но в патрулях максимально может быть 45-56 чел-большее кол-во не
поместится на экране при авторасчете(25 ментов+6мерков+56 фрагов)
2)Вроде бы отрегулировал интерфейс авторасчета
3)В порядке эксперимента увеличил кол-во ментов до25 на сектор
Замечание!!!!
Численность патрулей и гарнизонов(Strategic.Ai)я НЕ менял-каждый может сделать это сам,
в соответствии со своими желаниями.Я только Предусмотрел возможность увеличения(гарнизоны=80,патрули=45-56)
Численность патруля НЕ может привышать MAX_STRATEGIC_TEAM_SIZE-(я пока поставил 45)и должна равнятся
pGroup->ubGroupSize(SaveLoadGame.C ln 5171).
Если увеличивать патрули сверх 45- в файле SaveLoadGame.C найти поиском все строчки:
                                                         pGroup-
>pEnemyGroup->ubNumAdmins = 45;
                                                         pGroup->pEnemyGroup->ubNumElites = 45;
                                                         pGroup->pEnemyGroup->ubNumTroops = 45;
В этих строках 45 нужно изменить на желаемое.



Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 16.11.2004 в 17:51:24
2WISDOM:

Quote:
как отключить "туман войны"на страт.карте в исходниках(что бы отображались отряды)?

Как это сделать в экзешнике я знаю. А вот где это находится в исходниках - не искал. Могу только подсказать, что у каждого сектора (в его структуре) есть флажок "посещения игроком", если его установить, то происходящее в секторе, т.е. наличиствующий там противник и его радарная карта будут видны.


Quote:
Нашел,где прописаны места генерации королевских войск:

Там не всё так просто. С этой "находкой" нужно быть очень осторожным. Можно сделать так, что противник начнёт покидать охраняемые им сектора, и эта потеря не будет восполняться. Мы столкнулись с этим в некоторых городах в НО 1.0.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 21.11.2004 в 12:54:38
                            Доброго дня!
2Терапевт:

Quote:
 ...у каждого сектора (в его структуре) есть флажок "посещения игроком",

Флажок называется -SF_ALREADY_VISITED,но в коде есть только одно место,где он
в позиции FALSE-при переключении туман исчезает,но не врагов,не радар.карты не
видно(Map Screen Interface Map.c ln 757).
Можеш подсказать,что значит-установить флаг,если можено-приведи пример,заранее
прошу прощения-но в этих вопросах я ноль. :-[
По поводу структуры-STRATEGIC\Campaing Types.h ln 178-идет структура сектора(typedef struct SECTORINFO),но там
указывается только размер переменных(INT,UINT)-где ставить флаг?Или в какой то другой структуре??
Поясни пожалуйста,если не трудно. :-[quote]   ...противник начнёт покидать охраняемые им сектора...  [/quote]
В двух словах-почему ???
Теперь немножечко о другом:
В ветке"Клуб НО"писалось-

Quote:
  в НО 1.0 бонус "снайпер",будет работать не только с крыши.

Я нашел в коде этот скилл,и похоже что в Golde тоже это сделали-смотри:
Weapons.c ln 2810;
                     if ( pSoldier->bLevel == 0 )
     {
           if ( pSoldier->bTargetLevel > 0 )
           {
                 // penalty for firing up
                 iChance -= AIM_PENALTY_FIRING_UP;
               }
     }
     else // pSoldier->bLevel > 0 )
     {
           if ( pSoldier->bTargetLevel == 0 )
           {
                 iChance += AIM_BONUS_FIRING_DOWN;
           }
           // if have roof trait, give bonus
           if ( HAS_SKILL_TRAIT( pSoldier,
ONROOF ) )
           {
                 iChance += gbSkillTraitBonus[ ONROOF ] * NUM_SKILL_TRAITS( pSoldier, ONROOF );
           }
     }

Насколько я могу судить единственное,что указывает- крыша\не крыша, bTargetLevel-остальное скорее
косметика,поскольку меняется как угодно(ONROOF-собственно имя скила(Sjldier Profile Type.h 96)-можно изменить на SNIPER,
а AIM_BONUS_FIRING_DOWN,прямо задается через DEfine(=15).Порылся в коде-вроде бы крыша это не bTargetLevel == 0(If a roof does not exist here, make level = 0),но не уверен,т.к.абсолютного значения не нашел-похоже что крыша это +или -1(опять же не уверен).Кроме того если, bLevel(похоже-BasementLevel?) == 0-крыша,то почему при условии bTargetLevel > 0,идет AIM_PENALTY_FIRING_UP-как с крыши,можно стреллять вверх?
Теперь,собственно вопрос:
Прав ли я по поводу вышеизложенного?Если не прав-подскажи,как нужно изменить код,что бы бонус"снайпер",работал не только с крыши.
Очень надеюсь на ответы,и заранее благодарен! :-/
2ALL:
Огромная просьба ко всем кто может помочь: :'(
Weapons.h ln 132:
1)AMMO_DAMAGE_ADJUSTMENT_HP( x ) ( (x * 17) / 10 )-тело
2)AMMO_ARMOUR_ADJUSTMENT_HP( x ) ( (x * 3) / 4 )-тело в б\ж
3)AMMO_ARMOUR_ADJUSTMENT_AP( x ) ((x * 3) / 4) б\ж
Обьясните мне кто нибудь по человечески-как это все считается,что значат(и как определяются эти параметры-(x),(x * 17) и.т.д).
Если не трудно-может быть можно пару примеров? :-[ :-/
Почему формулы ARMOUR_ADJUSTMENT_HP и ARMOUR_ADJUSTMENT_AP-одинаковы ???
Очень расчитываю на вашу помощь!!!






Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 21.11.2004 в 19:42:37
2WISDOM:
1. Посещение/непосещение не влияет на видимость отрядов противника - нужно, чтобы в соседнем секторе были союзники, посмотри такие условия...
2.
Quote:
bLevel(похоже-BasementLevel?) == 0-крыша,то почему при условии bTargetLevel > 0,идет AIM_PENALTY_FIRING_UP-как с крыши,можно стреллять вверх?

Во первых, первая строчная буква в имени переменной не относится к её осмысленному имени, а обозначает тип этой переменной для простоты ориентировки в коде (b - символ, байт (типы char, INT8, CHAR8, ..), ub - беззнаковый байт(UINT8, UCHAR8, unsigned char), s - короткое целое, 2 байта (INT16, short), us - беззнаковый s (UINT16, unsigned short), i - целое, 4 байта (INT32, int, long(для Вин32 типы int и long совпадают...)) и т.д.) Вобщем, учи матчасть :)
Во вторых - крыша - вряд ли левел 0, скорее уж 1. Это условие определяет штраф при стрельбе с крыши на крышу (кстати, непонятно почему...). bTargetLevel - дословно "целевой уровень", т.е. уровень, КУДА стреляют...
Чтобы бонус работал вскгда попробуй что то вроде

if ( pSoldier->bSkillTrait1 == SNIPER || pSoldier->bSkillTrait2==SNIPER )
{
  iChance += AIM_BONUS_FIRING_DOWN;
}

Однако, ИМХО, лучше для снайперов просто убрать штраф при стрельбе снизу вверх....

По поводу просьбы - это функции-макросы. В первых скобках - аргументы, во вторых - выполняемое действие. Т.е., например в коде есть строка
sDamage = AMMO_ARMOUR_ADJUSTMENT_AP( 5 );
Это переводитяся как
bDamage = 5 * 3 / 4;

По-поводу одинаковости - у меня
#define AMMO_DAMAGE_ADJUSTMENT_HP( x ) ( (x * 17) / 10 )
// but they SUCK at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_HP( x ) ( (x * 3) / 2 )
// armour piercing bullets are good at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_AP( x ) ((x * 3) / 4)
// "super" AP bullets are great at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_SAP( x ) (x / 2)
Все логично....

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij Kovrik на 22.11.2004 в 00:59:50
2WISDOM: Для себя делал. Решил, что делиться тоже нуна ;)
Вставь это в Campaign Init. Думаю нйдешь куда ;).
Лишний пункт закомментируй.

     SetSectorFlag( 1, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 7, 0, SF_ALREADY_VISITED );
       SetSectorFlag( 1, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 1, 16, 0, SF_ALREADY_VISITED );

       SetSectorFlag( 2, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 2, 16, 0, SF_ALREADY_VISITED );

       SetSectorFlag( 3, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 3, 16, 0, SF_ALREADY_VISITED );

       SetSectorFlag( 4, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 4, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 5, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 5, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 6, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 6, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 7, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 7, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 8, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 8, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 9, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 9, 16, 0, SF_ALREADY_VISITED );

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij Kovrik на 22.11.2004 в 01:01:10
   SetSectorFlag( 10, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 10, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 11, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 11, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 12, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 12, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 13, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 13, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 14, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 14, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 15, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 15, 16, 0, SF_ALREADY_VISITED );

   SetSectorFlag( 16, 1, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 2, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 3, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 4, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 5, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 6, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 7, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 8, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 9, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 10, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 11, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 12, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 13, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 14, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 15, 0, SF_ALREADY_VISITED );
     SetSectorFlag( 16, 16, 0, SF_ALREADY_VISITED );

ЗЫ: количество врагов действительно не видно, но даже так можно хорошенько проконтролировать маршруты патрулей.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 22.11.2004 в 15:29:22
2ALL:
Подскажите пожалуйста где лежат координаты строк, которые появляются в левом нижнем углу экрана над фоткой мерка. Типа скрыт, открыт и т.д. желтым текстом которые.

Если кому-то интересно, то я кажется нашел, почему не работала кнопка ключей в тактическом интерфейсе, если ее передвигать.
\\Build\Tactical\Interface Items.c  ln858  :
MSYS_DefineRegion( &gKeyRingPanel, KEYRING_X, KEYRING_Y, KEYRING_X + KEYRING_WIDTH, KEYRING_X + KEYRING_HEIGHT, MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, KeyRingClickCallback );
если заменить Х на Y, то все вроде ОК. Новые координаты работают, а KEYRING_WIDTH и KEYRING_HEIGHT можно задавать напрямую, а не как это есть сейчас через какие-то вычисления.

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij Kovrik на 23.11.2004 в 00:22:12
2Raty: ну да... ту же ботву с этой кнопкой я описывал, но тога думал, что это я своими кривульками Х вместо У напечатал... Вона оказывается как... это у всех значит присутствует :).

Насчет вопроса: описываю метод, дабы ты не мучался с аналогичными траблами.
В файле _EnglishText.c ищешь слово, которое нужно передвинуть.
Смотришь, в каком блоке оно находится.
Смотришь его хэдер в text.h
И ищешь в исходниках.
Рядом в 95% случаев - искомые координаты.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 24.11.2004 в 08:47:39
                            Доброе утро всем!

2 Bezumnij_Kovrik:

Quote:
Для себя делал. Решил, что делиться тоже нуна...

Спасибо за помощь-Полностью согласен,посему расскажу,что нарыл буквально вчера:
Есть менее трудоемкий вариант-за отображение численности врага отвечает флаг -SF_PLAYER_KNOWS_ENEMIES_ARE_HERE,
Что бы отображались отряды и их численность,нужно сделать следующее;
Map Screen Interface Map.c:
1) ln 6471 и ln 6484 - return KNOWS_THEYRE_THERE; нужно заменить на return KNOWS_HOW_MANY;
2)ln 6481 -if( GetSectorFlagStatus( sSectorX, sSectorY, 0, SF_ALREADY_VISITED ) == TRUE )
TRUE поменять на FALSE.
Кстати -идею с флагом подсказал Artem,за что ему так же большое спасибо!
2Artem13:

Quote:
Посещение/непосещение не влияет на видимость отрядов противника...

Огромное спасибо за помощь!

Quote:
Вобщем, учи матчасть...

Пытаюсь. :-[quote]   Во вторых - крыша - вряд ли левел 0... [/quote]
Да,действительно-крыша ==+1 - где то видел в коде.

Quote:
 Однако, ИМХО, лучше для снайперов просто убрать штраф при стрельбе снизу вверх...

           if ( pSoldier->bLevel == 0 )
          {
           if ( pSoldier->bTargetLevel > 0 )
           {
                 // penalty for firing up
           //      iChance -= AIM_PENALTY_FIRING_UP;
           }
     }
Штраф закоментировал.Может быть нужно закоментировать так же и -if ( pSoldier->bTargetLevel > 0 )?
Уточни пожалуйста! :-[quote] В первых скобках - аргументы, во вторых - выполняемое действие...[/quote]
Извини,если я торможу :-[ -bDamage = 5 * 3 / 4;
Это пять умноженное на три и поделенное на четыре,-или,пять помноженное на три четвертых;
Поясни,если не трудно-еще раз прошу прощения. :
У меня к тебе есть просьба: :-/
Editor Taskbar Utils.c ln 187;

void CreateEditorBuffers()
{

     INT32                                    i;
     VSURFACE_DESC            vs_desc;
     UINT16                              usUselessWidth, usUselessHeight;
     UINT8                                    ubBitDepth;


     GetCurrentVideoSettings( &usUselessWidth, &usUselessHeight, &ubBitDepth );
     vs_desc.fCreateFlags = VSURFACE_CREATE_DEFAULT | VSURFACE_SYSTEM_MEM_USAGE;
     vs_desc.usWidth = 60;
     vs_desc.usHeight = 25;
     vs_desc.ubBitDepth = ubBitDepth;
     if( !AddVideoSurface( &vs_desc, &guiMercTempBuffer ) )
           AssertMsg( 0, "Failed to allocate memory for merc tempitem buffer." );

     //create the nine buffers for the merc's inventory slots.
     vs_desc.usHeight = MERCINV_SLOT_HEIGHT;
     for( i = 0; i < 9; i++ )
     {
           vs_desc.usWidth = i<3 ? MERCINV_SMSLOT_WIDTH : MERCINV_LGSLOT_WIDTH;
           if( !AddVideoSurface( &vs_desc, &guiMercInvPanelBuffers[i] ) )
                 AssertMsg( 0, "Failed to allocate memory for merc item[] buffers." );
     }
}

Можно ли сделать что то аналогичное,для оружейных слотов инвентаря на панели BOTTOM_BAR.STI?Может быть ты сможешь это сделать,если,конечно будет время?
Есть идея,увеличить кол-во мерков в отряде,до 8 чел-однако из за планируемого увеличения
слотов инвентаря 8 панелей Не помещаются на экране(максимум 7).Если сможешь помочь,тогда размер оружейных слотов на общей панели отряда можно сделать меньше,чем в индивидуальном инвентаре.Очень прошу помочь-сам я это сделать скорее всего не смогу!!!!! :'(
2 ALL:
Для тех,кому я высылал исходники 800х600.Подправил панель выбора Тайлесетов(стены,двери и.т.д)в Едиторе
(меню Build)-сразу не заметил.Файл из подписи кинуть в ja2\Build\Editor.
P.S.Вы хоть напишите-дошли исходники или нет?



             

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 24.11.2004 в 09:26:15
2WISDOM:
Quote:
Штраф закоментировал.Может быть нужно закоментировать так же и -if ( pSoldier->bTargetLevel > 0 )?
Уточни пожалуйста!


Я не владею полной инфой и сырцов под рукой нет, но я имел в виду примерно следующее

  if ( pSoldier->bLevel == 0 )
  {
      if ( pSoldier->bTargetLevel > 0 && pSoldier->bSkillTrait1!=SNIPER&& pSoldier->bSkillTrait2!=Sniper)
      {
            // penalty for firing up
            iChance -= AIM_PENALTY_FIRING_UP;
      }
  }


Quote:
Можно ли сделать что то аналогичное,для оружейных слотов инвентаря на панели BOTTOM_BAR.STI?


Ты бы ещё обяснил популярно, что оно делает.... В общем то думаю, что можно, но не сейчас...

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 29.11.2004 в 09:50:56
Ребята! Помогите, плз. Или я дурак или одно из двух, но я не смог в сырцах найти флаг, отвечающий за "одноручную" анимацию для стрельбы из дверучного оружия...

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 29.11.2004 в 10:17:28
Доигрался блин.....
Если новому ехе-шнику подсунуть старую карту из Maps.slf, переконверченную в нужный формат, то на карте нет никого. Ни врагов, ни гражданских... никого.
А новый редактор вообще не открывает такие карты. Шкала загрузки доходит до 100% и привет винды.
Есть карта А9, типа тестовая, на ней я еще до изменения исходников поудалял врагов, Фатиму и Пакоса. Такая карта в редакторе открывается нормально, но если я хочу разместить на ней бейджатого непися(исключение - хаммер), пофиг врага или гражданского получаю следующую ошибку:
Assertion Failure -- Line 4435 C:\ja2\Build\Tactical\Items.c        
Это строка(в оригинале кажется 4086) - Assert( ubNumber <= MAX_OBJECTS_PER_SLOT );
К чему бы это вдруг? Ведь MAX_OBJECTS_PER_SLOT - я вообще нигде не трогал.
Если ставить не бейджатого гражданского или врага, то все оки, вылета нет, но в игре видно только врагов, гражданских как не бывало.
Вообще сложилось впечатление, что в редакторе нормально открываются оригинальные карты, на которых нет бейджатых неписей.
Что изменено в исходниках: новые стволы, патроны, взрывчатка и.д., кое что убрано и добавлено в аттачи и объединения, встроенные оружейные аттачи, новые слоты в инвентаре мерков(в т.ч. и в редакторе), 800х600 по рецепту WISDOM.
800х600 ИМХО не причем, т.к. такая ерунда наблюдается на старых копиях исходников еще до перехода на 800х600. В общем кажется я попал.....:cry::help:

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 29.11.2004 в 12:36:36
Хм, в Релизной версии Assert кажется ваще должен игнорироваться...
А вообще строка проверяет udNumber на непревышение MAX_OBJECTS_PER_SLOT.... Т.е. крах происходит, кады этот самый намбер становится больше MAX_OBJECTS_PER_SLOT. Что это за намбе, за что отвечает?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 29.11.2004 в 13:12:43
2Artem13:

Quote:
Что это за намбе, за что отвечает?

:idontnow: Я ж ламер, сложно это для меня.
MAX_OBJECTS_PER_SLOT - это, если я прально понял, скока в маленьком слоте инвентаря может одинаковых предметов поместиться. Значит udNumber - что-то связанное с этим. ::)

Попробовал строку закоментировать, бейджатые ставятся, но в игре один хрен не появляются. Исключение - долбаный хаммер. Я его и его продавца проедитом в А9 прописал. Хаммер появляется, а барыга, Пакос и Фатима - нет.


Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 29.11.2004 в 13:56:55
Мндя.,я то так и не смог нормально редактор собрать, так что тут я не советчик....

Заголовок: Re: Первые шаги...
Прислано пользователем copermine на 30.11.2004 в 09:59:34
В модуле Interface.c есть функция *GetSoldierHealthString, возвращающая указатель на литерал с состоянием солдата (zHealthStr[ cnt ] = L"ПЛОХ", например). Вот ее текст.

UINT16 *GetSoldierHealthString( SOLDIERTYPE *pSoldier )
{
       INT32 cnt, cntStart;

     if( pSoldier->bLife == pSoldier->bLifeMax )
     {
           cntStart = 4;
     }
     else
     {
           cntStart = 0;
     }
     //Show health on others.........
     for ( cnt = cntStart; cnt < 6; cnt ++ )
     {
           if ( pSoldier->bLife < bHealthStrRanges[ cnt ] )
           {
                 break;
           }
     }
     return zHealthStr[ cnt ];
}

Я хотел бы добавить в литерал еще некоторые значения параметров солдата, например: pSoldier->bLife.
Довольно поверхностно знаю C, не подскажете, как на нем получить строку типа  zHealthStr[ cnt ] + STRING<pSoldier->bLife> или что либо подобное ?

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 30.11.2004 в 10:20:23
Попробуй нечто вроде:
UINT16 *GetSoldierHealthString( SOLDIERTYPE *pSoldier )
{
  INT32 cnt, cntStart;
  UINT16 zWideString[80];

if( pSoldier->bLife == pSoldier->bLifeMax )
{
 cntStart = 4;
}
else
{
 cntStart = 0;
}
//Show health on others.........
for ( cnt = cntStart; cnt < 6; cnt ++ )
{
 if ( pSoldier->bLife < bHealthStrRanges[ cnt ] )
 {
  break;
 }
}
wsprintf(zWideString, "%s %i", zHealthStr[cnt], pSoldier->bLife);
return zWideString;
}

Под рукой нет компилятора, проверит не мОгу. Но идея та...Даже ф-цию вроде та, что нужно (wsprintf), но вот прокатит ли...
Есл не покатит, попробуй заменить wsprintf на конструкцию:
wscpy(zWideString, zHealthStr[cnt]);
wsprintf(zWideString, "%i", pSoldier->bLife);

Заголовок: Re: Первые шаги...
Прислано пользователем copermine на 30.11.2004 в 11:07:33
Спасибо, попробую оба варианта.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 30.11.2004 в 14:21:37
2Artem13:
Я разобрался с траблой.
Виноваты были дополнительные слоты. Сделал откат и все заработало. Даже повоевал немного. Только вот Фатима, бл.. такая, письмо брать не хочет. Это кажись из-за того, что в скриптах привязка идет по номеру итема, а не по имени. А итемы у меня сдвинулись.
Да и оказывается я со слотами не до конца разобрался, не все изменения вносил. А когда вроде как все поправил, игруха вообще после начального мультика или после его прирывания замирала. Не зависала, а именно замирала.
Отсюда вопрос: в профдат часом нет ничего про количество слотов в инвентори? Подозреваю, что трабла может быть в этом.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 30.11.2004 в 14:39:14
В профдат есть поле, представляющее собой массив из 19 элементов - по 1 на каждый слот. В них содержатся номара итемов, что при себе мерк имеет....

По ИД неписей - да, так и есть. У мя та же трабла возникла, когда я добавил профили в середину профдат. Пришлось добавлять в конец...

Заголовок: Re: Первые шаги...
Прислано пользователем copermine на 30.11.2004 в 15:01:44
Прокатило совсем другое, но опять же с баааальшой помощью Артема. Респект.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 30.11.2004 в 15:10:31
2Artem13:
Понятно.....
А раскриптованный профдат, он будет доступен всем или это только для ФУР? ;) И вообще чего он из себя представляет? Смогу ли я допустим(ну если получу конечно) добавить в массив дополнительные элементы?

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 30.11.2004 в 20:24:21
2Raty:
Он будет доступен - с Пашей мы вопрос обсудили,а в ФУРе я его просто обкатал. Добавить в массив новые элементы - без проблем, но как организовать их действие, ещё не очень понятно/известно - ща Костя приступает к обкатке, как закончит - поделимся...

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 17.12.2004 в 00:24:20
                       Всем доброго времени суток!
С прошлого моего поста накопились кое какие вопросы и информация-сильно коротко
не получится,заранее прошу прощения за размеры поста!
Теперь обо всем по порядку:
2 Bezumnij_Kovrik
Перечитывая старые посты,увидел следующее:
Quote:
Я тут попытался сделать максимльные навыки под 300. Получилось что-то невразумительное.
После первого же попадания мерки теряли опыт и навыки вплоть до 44х...

Все как раз очень вразумительно;
1)Поскольку размер скила=256(1байт),то 300-256=44
2)Для задания скилов используется переменная INT8-Байт со знаком(т.е. от -128 до+127),
3)Опыт и навыки терялись (кроме вышеперечисленных причин),еще и потому,что при расчете прироста параметров,идет деление на 100(это или мах.значение скила или вероятность(шанс))
напр. iSkill -= (100 - EffectiveWisdom( pSoldier ) ) / 5;
Теперь что в порядке эксперимента делал я :
Я увеличивал предел скила до 200,для этого нужно поменять тип переменной для скилов с INT8 на UINT8(беззнаковый байт=256).Для увеличения скила более 256 нужно ставить INT16 или UINT16,но это я не пробовал.
У меня после выстрела или попадания в мерка,параметры скакали(т.е.-выстрел и все на 0,следующий выстрел-все по 200 и.т.д),
но это происходило из за того,что я не смог поправить формулы расчета скилов,поскольку смутно(очень)представляю как они выглядят,
и где их искать.Из за нехватки времени на глубокое копание этого вопроса, пока отложил.
Ты по моему уже пробовал копать скилы-может вышеизложенное немного поможет?
2 [color=Red]Artem13:

Quote:
  я не смог в сырцах найти флаг, отвечающий за "одноручную" анимацию для стрельбы из дверучного оружия...

Я не совсем понял вопрос?Помоему для "двухручного"(винтовки,пулеметы)"двуручной"анимации нет?
По поводу флага:Item Types.h ln 231-ITEM_TWO_HANDED;
               Soldier Ani.c ln 1471-if ( (Item[ usItem ].fFlags & ITEM_TWO_HANDED) )
Ты это имел ввиду?
Пытаюсь добавить генерацию противника не только в Медуне,а например еще и в O_14(добавил на карту город)
Вопрос к тебе как к програмисту:Strategic AI.c
  ln 1168                 if( gGarrisonGroup[ i ].ubSectorID =SEC_P3 )
   ln 2613     pGroup = CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, (UINT8)iReinforcementsApproved, 0 );            ConvertGroupTroopsToComposition( pGroup, gGarrisonGroup[ iDstGarrisonID ].ubComposition );
           pGroup->ubOriginalSector = (UINT8)SECTOR( ubDstSectorX, ubDstSectorY );
           giReinforcementPool -= iReinforcementsApproved;
           pGroup->ubMoveType = ONE_WAY;
           gGarrisonGroup[ iDstGarrisonID ].ubPendingGroupID = pGroup->ubGroupID;

ln 2778         pGroup = CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, (UINT8)iReinforcementsApproved, 0 );            pGroup->ubOriginalSector = (UINT8)SECTOR( ubDstSectorX, ubDstSectorY );
           giReinforcementPool -= iReinforcementsApproved;

ln 3381         if( ubSAIVersion < 20 )
     {
           gArmyComp[ QUEEN_DEFENCE ].bDesiredPopulation = 32;
           SectorInfo[ SEC_P3 ].ubNumElites = 32;
     }

ln 3416       if( ubSAIVersion < 23 )
           {
           if( gWorldSectorX != 3 || gWorldSectorY != 16 || !gbWorldSectorZ )
           {
                 SectorInfo[ SEC_P3 ].ubNumElites = 32;            }

ln 3842        pGroup =CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, ubNumSoldiers, 0 );
ln 3896        pGroup = CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, ubSoldiersRequested, 0 );

ln 4432        pGroup = CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, ubSoldiersRequested, 0 );
ln 4895        void SendGroupToPool( GROUP **pGroup )
       {
     if( (*pGroup)->ubSectorX == 3 && (*pGroup)->ubSectorY == 16 )      {
           TransferGroupToPool( pGroup );
     }
     else
     {
           (*pGroup)->ubSectorIDOfLastReassignment = (UINT8)SECTOR( (*pGroup)->ubSectorX, (*pGroup)->ubSectorY );
           MoveSAIGroupToSector( pGroup, SEC_P3, EVASIVE, REINFORCEMENTS );      }
 }

Если тебе не трудно,напиши пожалуйста Как изменить выделенные условия,что бы было не SEC_P3,
а SEC_P3 И SEC_О14.Я пробовал добавлять новые условия-по типу:
                         if( (*pGroup)->ubSectorX == 3 && (*pGroup)->ubSectorY == 16 )
                        {
                        if( (*pGroup)->ubSectorX == 14 && (*pGroup)->ubSectorY == 15 )
                        {
Но в этом случае войска генерились только в О_14.
Очень расчитываю на твою помощь,поскольку в синтаксисе не силен!!!
2 ALL:
Убрал по рецепту Безумного Коврика(за что ему кстати спасибо),одиночный у пулеметов-выглядит
здорово,но как логическое продолжение,хотелось бы увеличить очередь больше 6(хотя бы до мах=15).Расскажу что смог выяснить;
В коде нет явного определения длинны очереди,а выглядит все так:
1)                       if (pSoldier->bDoBurst)
                       {
                         pSoldier->bBulletsLeft = __min( Weapon[pSoldier->inv[ pSoldier->ubAttackingHand ].usItem].ubShotsPerBurst, pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft );
                        }
из кода вытекает ubGunShotsLeft=ubShotsLeft=[MAX_OBJECTS_PER_SLOT]=8(Item Types.h ln 87).
Пробовал поменять MAX_OBJECTS_PER_SLOT = 12,очередь не изменилась.
Вообще же за прошедшие 10 дней перекопал весь код,бог знает сколько раз,правил
что только и где возможно,результат 0-я скоро начну гавкать.
Поставил размер очереди для РПК=8,кинул в папку Sounds соотв.озвучку(5,45 BURST8)-путем закоментировани некоторых строчек в Soldier Ani.c ln 656(case 448: CODE: HANDLE BURST),
удалось следуещее;
1)Нужная озвучка срабатывает при выстреле
2)Первая очередь=6 пуль(звук BURST8),вторая=2 пули(звука нет)-и так по кругу(то 8,то 2).
Вообще же так или иначе с очередеми(и со стрельбой)связаны след.файлы:
Build/Tactical/bullets.c;bullets.h;LOS.c;LOS.h;Spread Burst.c;Spread Burst.c;Soldier Ani.c;Soldier Ani.h.
Build/TileEngine/Physics.c;Physics.h
Возможно что то еще...
В связи с этим последний на сегодня вопрос ко всем:
Как это сделать(увеличить очередь больше 6),от чего конкретно это зависит?Может есть какие то предположения,хотя бы где искать(или что искать)?Или кто
то знает точно,что нужно делать?
              Очень прошу помочь!!!!!!!







               
           
 

Заголовок: Re: Первые шаги...
Прислано пользователем Bezumnij Kovrik на 17.12.2004 в 01:10:12
2WISDOM: Со скилами в свое время разобрался :). Добрые люди объяснили.
С очередью помочь не могу, ибо сам не ведаю :(.

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 17.12.2004 в 09:17:47
2WISDOM:
Quote:
Ты это имел ввиду?

Нет :( Я имел в виду анимацию, когда перс держит двуручное оружие при стрельбе в одной руке... (флаг Badass в ПроЭдите)

Quote:
напиши пожалуйста Как изменить выделенные условия,что бы было не SEC_P3,
а SEC_P3 И SEC_О14.

А никак :) При такой постановке. Напиши,, какого эффекта ты хочешь добиться... Желательно не сюда - на мыло (см. профиль)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.12.2004 в 10:02:24
2Artem13:

Quote:
анимацию, когда перс держит двуручное оружие при стрельбе в одной руке... (флаг Badass в ПроЭдите)

вот что я обнаружил.
c:\ja2\Build\Tactical\Animation Control.c(3385):      // SWITCH TO DIFFERENT AIM ANIMATION FOR BIG GUY!

c:\ja2\Build\Tactical\Soldier Ani.c(1532): // If we are an alternate big guy and have been told to use a normal big merc ani...

c:\ja2\Build\Tactical\Soldier Create.c(399): // Set some values for variation in anims...

После этих строк идет что-то про анимацию для амбалов. Вроде тока они могут так. Для меня это китайская грамота :), так что я мало чего понял. Но может pSoldier->uiAnimSubFlags это оно и есть?

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 17.12.2004 в 13:52:03
Переменная то та, но вот как сам флаг зовётся ??? Лана, спасибо за наводку - я туплю последнее время и на комментарии не обращаю внимания... а зря, втдимо...

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 22.12.2004 в 10:31:10
Вот пытался перерисовать лаптоп под 800х600 и.......
При начале новой игры, после мультика или привет винды, или черный экран и только reset. Причем если грузиться с сейва, сделанного еще со старым лаптопом - то все ОК.
Что было сделано:
В папке \\Laptop везде 640 и 480 заменены на 800 и 600 соответственно. Кое чего из картинок переделано, координаты поправлены.

Где еще может быть зарыто что-либо про лаптоп?

И еще. Что это за строки?: c:\ja2\Build\Laptop\laptop.c(1849):
                 //Mapscreen source rect
                 SrcRect1.iLeft = 464 * iPercentage / 100;
                 SrcRect1.iRight = 800 - 163 * iPercentage / 100;
                 SrcRect1.iTop = 417 * iPercentage / 100;
                 SrcRect1.iBottom = 600 - 55 * iPercentage / 100;
                 //Laptop source rect
                 if( iPercentage < 99 )
                       iScalePercentage = 10000 / (100-iPercentage);
                 else
                       iScalePercentage = 5333;
                 iWidth = 12 * iScalePercentage / 100;
                 iHeight = 9 * iScalePercentage / 100;
                 iX = 472 - (472-320) * iScalePercentage / 5333;
                 iY = 544 - (544-360) * iScalePercentage / 5333;

c:\ja2\Build\Laptop\laptop.c(2515): тоже самое
Вместо 800 и 600 было 640 и 480. А остальные цифры я не трогал, т.к. не понял что это за цифры.
:help:

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.01.2005 в 14:19:53
Наконец-то мне удалось присобачить уникальную озвучку очереди для каждого ствола. Как известно, озвучка очереди привязана к калибру.

c:\ja2\Build\Tactical\Weapons.c:                        
sprintf( zBurstString, "SOUNDS\\WEAPONS\\%s%d.wav", gzBurstSndStrings[Weapon[ usItemNum ].ubCalibre ], pSoldier->bBulletsLeft );
Заменяем ubCalibre на что-нибудь типа ubGunNumz.

Далее, шлепаем в c:\ja2\Build\Tactical\Weapons.h(186): UINT8 ubCalibre; // type of ammunition needed и вставляем перед ней ubGunNumz.

Далее в Weapons.c ищем строку // TODO: Move strings to extern file,
после нее идут #define PISTOL .......
                         #define M_PISTOL........
                            и.т.д.
В этих строках я добавил еще одно значение. Например "nn".
Строка теперь имеет вид
#define PISTOL( nn, ammo, update, impact, rt, rof, burstrof, burstpenal, deadl, acc, clip, range, av, hv, sd, bsd)            { HANDGUNCLASS, GUN_PISTOL, nn , ammo, rt, rof, burstrof, burstpenal, update, (UINT8) (impact), deadl, acc, clip, range, 200, av, hv, sd, bsd, S_RELOAD_PISTOL, S_LNL_PISTOL }

В каждой строке nn должно быть добавлено дважды. Вообще-то сначала, я добавил это только тем классам оружия, которые имеют режим очереди, но остальные типы оружия в игре стали косячить. При выстреле вылет в винды.
Далее, здесь же, но ниже WEAPONTYPE Weapon[ MAX_WEAPONS ] =
PISTOL(       /* Beretta M92F    */  1,  AMMO9, 22, ........
PISTOL(       /* Browning HP       */  2,  AMMO9, 22, ........
и так далее для каждого ствола. Без разницы пистолет или гранатомет.

Далее тут же ищем строку INT8 gzBurstSndStrings[][30] =
     
"",  // NOAMMO
"", // 1 (беретта)
"", // 2 (хай пауер)
............
"Glock 18 ", // 10 (глок 18)
ну и так далее. Не забывать про пробел перед закрытием кавычек.
В общем у меня работает. ::)

А теперь вопрос к более авторитетным гробокопателям: я нигде не накосячил? Лишнего ничего не задел? И вообще может есть какой другой способ?      

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 24.01.2005 в 16:28:21
Такой вопрос возник. Если захватить дранькин дворец, но не спускаться в подвал, а просто сидеть и тренить ментов, то через какое-то время менты заполнят Медуну. В том числе и дворец - 20 мест. Если продолжить бездельничать, то во дворце появятся солдаты Дейдраны, причем появятся они не с краю карты, а прямо внутри палат, т.е. займут установленные при создании карт позиции из числа 32-х. А их количество больше, чем 12.
Т.е. 20 стандартных мест на карте заняли менты, остальные 12 - вражины и они же заняли еще какие-то дополнительные места.
Вопрос - получается, что на карте можно поставить больше, чем 32 солдата?

Заголовок: Re: Первые шаги...
Прислано пользователем rifleman на 25.01.2005 в 10:04:51
2Viking:
c ментами там другая тема
они за солдат не считаются
мне кажется ограничения наложены только на солдат, ситизенов и креатуров(коты-жуки) их действительно максимум - 32

насчет ментов не уверен, но вроде их логический предел - также 32

а захватчики занимают не предписанные места, а появляются в точке входа в сектор (С-Ю-З-В-Ц)

Заголовок: Re: Первые шаги...
Прислано пользователем neyros на 26.01.2005 в 07:17:15
Я обыгрывал эту ситуацию и одновременно смотрел исходники. Менты занимают на карте позиции, предназначенные для расстановки врагов. В случае, описываемом Владом, враги не приходят в сектор извне, а появляются в нем из неоткуда, т.к. именно в этом секторе игра генерит новые отряды. Соответсвенно, игра старается разместить этих врагов на предназначенных им местах, часть из которых уже занята ментами. 12 врагов помещаются нормально, а остальные "повисают" на стратегической карте.
Если же враги приходят в данный сектор из другого сектора, то игра размещает их на карте, действуя по другому алгоритму: вычисляется сторона сектора, откуда происходит вторжение, и там в случайно выбранных точках расставляются враги.
Но, в целом в секторе на карте может присутствовать одновременно не более 32 врагов. Остальные враги будут числиться "в резерве".

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 03.03.2005 в 13:01:28
Интересно, можно ли увеличить число событий, во время которых наемники что-то говорят? Хорошо бы слышать комментарии при неудачном выстреле, при получении медпомощи, при ранении. Пусть боец будет немного "более живым".

Или, разнообразить реплики в ответ на какое-то событие - например, когда наемник увидел 3-х врагов, пусть выбирается одна фраза из нескольких.  Или пусть говорит несколько рных фраз про другого наемника. Это возможно?

Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 03.03.2005 в 14:50:38
В сырцах моно усё! Вот тока кто займётся? Я с ФУРом то разгрестися не мОгу... :(

Заголовок: Re: Первые шаги...
Прислано пользователем Sir Kot на 15.04.2005 в 06:51:51
Здравствуйте всем. Скачал исходники, собрал, запустил. Пошло. Но... Фатима хронически грит "занята, мол". Где-то в темах видел, что нужен ncp.slf аглицкий, мол, бучьи *.npc не катят. Можт, кто поделится такой роскошью?

Заголовок: Re: Первые шаги...
Прислано пользователем ShadowOfGhost на 15.04.2005 в 07:34:15
2Sir Kot: На АГ тебе дорога .... Смотри там в разделе по Джагге...

Заголовок: Re: Первые шаги...
Прислано пользователем Ломолом на 15.04.2005 в 11:35:58
2Viking:
Как я тебя понимаю! И даже подтверждю, что , как Артем сказал,
Quote:
В сырцах моно усё!

Глядел и радовался. Но я ужо давно постановщик-решатель-алгоритмист! :(
Некогда разбираться.
В сырцах можно даже два уровня земли сделать, оставив два поземных, вместо трех. Можно даже ваще восемь уровней - воздух, три земли, четыре подземелья. И воду пореальней. Тока тада больше 25% новизны, сырцы - наши...
Можно вынуть трассировку пути мериканскую - это лицензионный модуль, сиры его не сами делали - и своим заменить, с альтернативами..., можно планировку пробежки сделать - т.е. разметку пути пробежки, точек на восемь, с автоматич. подсчетом нужного кол-ва ходов...

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 10.05.2005 в 08:27:36
                 Доброго времени суток всем.
              Всех поздравляю с прошедшими       праздниками!

Давненько я не писал(хотя и читал), потому что особо было не о чем писать.
Сначала о главном:
На приаттаченом скрине можно увидеть,что мне наконец то удалось реализовать еще одну задумку.
Технические подробности будут чуть позже - нужно кой чего перепроверить и.т.д
В Едиторе так же внес соотв.изменнения-все сполне работоспособно,но есть трабла,если не справлюсь - напишу.
Если кому то интересно - как закончу,наверное смогу поделиться файлом.А быть может кто то другой уже додумался и сделал(например в ФУРе)???
Теперь немножечко о другом:
2Viking & riflemen & 2neyros:
Извиняюсь что влезаю в дискуссию - хочу прояснить кое что;
2 Viking& riflemen:

Quote:
      Т.е. 20 стандартных мест на карте заняли менты, остальные 12 - вражины и они же заняли еще какие-то дополнительные места.
Вопрос - получается, что на карте можно поставить больше, чем 32 солдата?  

Если быть точным - MAX_INDIVIDUALS = 148(Soldier Create.h-ln 21),куда входят:
1)20 Players- команда игрока;            
2)32 Enemies- противник(админы,регуляры,элита);
3)32 Creatures - Жуки;
4)32 Rebels - Ополченцы;
5)32 Civilians -Мирные;
Слотов под ополченцев так же  32,но в Strategic AI.c(ln-3465;3468) и Town Militia.h(ln-11) -жестко задано - MAX_ALLOWABLE_MILITIA_PER_SECTOR =20.
Вообще же численность противника в секторе должна равняться-MAX_STRATEGIC_TEAM_SIZE 20(strategicmap.h -ln9),исключение-SEC_Р3=32.
Подробнее - рекомендую посмотреть-Build/Strategic/Strategic AI.c-все сразу станет ясно.
2 neyros:

Quote:
  Я обыгрывал эту ситуацию...

Делал аналогично,но с другой целью;
Добавил на карте новый пункт генерации(О14)-проверял,будут ли,после захвата одного из секторов, генериться отряды  в другом.
Тестировал как с доп. точкой генерации,так и на чистых исходниках- выяснилась одна интересная деталь!
Не знаю как в Буке - никогда в Медуне ополчение не тренировал,но в Исходниках,генерация каких либо отрядов,
после захвата P3 не происходит,и не должна происходить;
В Strategic AI c. - есть следующее:
ln 2581(фрагмент)
//KM : Sep 9, 1999
           //If the player owns sector P3, any troops that spawned there were causing serious problems, seeing battle checks
           //were not performed!
           if( !StrategicMap[ CALCULATE_STRATEGIC_INDEX( 3, 16 ) ].fEnemyControlled )
           { //Queen can no longer send reinforcements from the palace if she doesn't control it!
                 return;
           }
ln3538(фрагмент)

           if( !StrategicMap[ CALCULATE_STRATEGIC_INDEX( 3, 16 ) ].fEnemyControlled )
           { //Eliminate all enemy groups in this sector, because the player owns the sector, and it is not
                 //possible for them to spawn there!
                 
Войска генерятся дважды ,только если сначала захватить Медуну,и натренировать ополчение,а после захватить
D15 и I8.При захвате других обьектов генерации не происходило.
Если же Медуна захвачена после Д15 и I8,то никаких отрядов больше из Р3 не выходит-ждал 45 дней(дольше не хватило терпения).
Вышенаписанное привело меня к мысли,что ситуация типа :

Quote:
 Если продолжить бездельничать, то во дворце появятся солдаты Дейдраны, причем появятся они не с краю карты, а прямо внутри палат..
.
Вероятно глюк(или баг);Разработчики не предусмотрели данный вариант,как и захват Медуны на 3 день игры.Ведь по логике - сидеть и тренировать
ополчение во дворце -безсмысленно.

Quote:
Но, в целом в секторе на карте может присутствовать одновременно не более 32 врагов.

Позволю уточнить-32 солдата +32 жука=64.Другое дело,что в оригинале ни на одной карте жуки и солдаты вместе не встречаются.
Но такой вариант возможен.







Заголовок: Re: Первые шаги...
Прислано пользователем VM на 10.05.2005 в 23:16:35
2WISDOM: Имхо, увеличение количества секторов до 400 не актуально, 256 имеющихся более чем достаточно, следует помнить, что каждый доступный сектор это отдельная тактик-карта, которую надо еще нарисовать.


Quote:
Позволю уточнить-32 солдата +32 жука=64.Другое дело,что в оригинале ни на одной карте жуки и солдаты вместе не встречаются.
Но такой вариант возможен.

Теоритически возможно сделать следующее. В сорцах внести изменения, разрешающие дачу любого бодитайпа любому типу тушки на карте (Enemies, Creatures, Rebels, Civilians), сейчас там стоит ограничение на бодитайпы для разных типов тушек. Уже смотрел, это возможно, правда пока не пробовал. Эта фича позволит создавать любые типы врагов, ополченов и цивилов и увеличить количество врагов на карте до 64, за счет назначения жукам человечьих "боевых" бодитайпов. Или, например, сделать домашних ополченов-жуков и ополченов-котов, или целый "жучиный" город с цивилами-жуками :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 11.05.2005 в 09:36:29
2VM:

Quote:
Имхо, увеличение количества секторов до 400 не актуально, 256 Имеющихся более чем достаточно

Ну не знаю-не знаю... Еще пару-тройку городов или других стратегически важных объектов замутить можно.
Имхо, вообще города какие-то маленькие. Вот секторов по 10 самое оно. Ну или размеры секторов увеличивать.

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 11.05.2005 в 12:28:11
2Raty: С увеличением размера секторов абсолютно согласен, а в увеличении их количества не вижу смысла, как картежник знаю насколько в этом случае увеличится трудоемкость модинга. Если допустить, что на отрисовку одной тактик-карты требуется сутки (часто гораздо больше), то 400 штук надо будет рисовать полтора-два года не разгибаясь.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 11.05.2005 в 13:04:57
2VM:
Ну дык перерисовывать или рисовать заново надо в основном городские или какие-нибудь стратегически важные сектора. Хотя по хорошо отрисованной пустоши тоже приятно будет пошариться ;).


Quote:
400 штук надо будет рисовать полтора-два года не разгибаясь.

Ну а кому щас легко :).... Одному конечно не реально, всем миром надо. В конце концов можно конкурс на самую лучшую карту объявить.

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 11.05.2005 в 16:16:23

Quote:
перерисовывать или рисовать заново надо в основном городские или какие-нибудь стратегически важные сектора

Если делать нормальный мод, то перерисовывать надо все АВ-шные карты, полностью, родные АВ-карты редкостная кака. Мало того, что они выглядят лысыми, они просто не красивые.

"С миру по нитке" можно получить только разномастное гуано. Карты должны быть едины по стилю и создаваться не случайными людьми, а в идеале, командой картежников под руководством левел-дизайнера. В реале такое бывает не часто, поэтому в тех модах, которые используют "конкурсы" или случайных попутчиков, можно видеть такой разнобой на картах, например в НО (не умаляя достоинств этого мода). И наоборот - перед картежниками WF и SJ, снимаю шляпу и глубоко кланяюсь...

Впрочем, все это уже не по теме данной ветки. Картостроительство это отдельная большая, комплексная и очень непростая тема.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 13.05.2005 в 20:44:17
                         Доброго всем дня.

И так-Карта 20х20:
Описать тех.подробности не выйдет-обьем изменений не уступает переделке разрешения под 800х600 :o!!!
Поэтому ограничусь основными моментами +  краткими комментариями.
Сперва собственно карта:
1)Работает вход в тактику со страт.карты
2)S\L в новых секторах
3)Правильно отображаются подписи(левый клик на секторе) к секторам(поля,равнина,город и.т.д)-ранее
в добавленых секторах писало чушь- город,чужая страна,хотя все новые сектора добавлял как,недоступные.
4)Правилно отображается дорожный маршру

Расстановка войск после измененния карты-отдельная большая песня:Все сектора имели свой номер (SectorID)0-255.Писле увеличения карты,увеличились и номера,даже у старых секторов.
Как следствие-в Медуне войск не было вообще(кроме Р3).В Р3 генерация продолжалась,но отряды никуда не двигались,и
зайдя в Р3,день эдак на 11,можно было встретить 464 солдата в секторе ???!
Кроме того - были глюки с ополчением.
Мне удалось исправить и это:
1)Правильно размещены все гарнизоны и патрули на страт.карте-так же как до изменения
2)Во все новые сектора можно добавить гарнизоны и патрули
3)Можно трен-ть ополчение
В ЕДИТОРЕ есть один глюк:
При установке точки выхода (ExitGridNo)-в поле ввода можно ввести любые координаты(А-Т;1-20),но после
установки точки(по пр.клк.мышки)-отображаются только А-Р;1-16.Если ввести А20-то в окне будет А4или А17-А1 и.т.д.
Из за этого глюка,в подземный A17 можно попасть только из смежного А16.При этом Едитор и видит и грузит подземные сектора с номером,
выше 16-16,но попасть в подземный сектор из наземного-нельзя(надеюсь-пока).В старых секторах все впорядке.
Похоже причина в этом:
Editor\LoadScreen.c 821:
void SetGlobalSectorValues( UINT16 *szFilename )
{
     UINT16 *pStr;
     if( ValidCoordinate() )
     {
           //convert the coordinate string into into the actual global sector coordinates.
           if( gzFilename[0] >= 'A' && gzFilename[0] <= 'T' )
                 gWorldSectorY = gzFilename[0] - 'A' + 1;
           else
                 gWorldSectorY = gzFilename[0] - 'a' + 1;
           if( gzFilename[1] == '1' && gzFilename[2] >= '0' && gzFilename[2] <= '6' )
                 gWorldSectorX = ( gzFilename[1] - 0x30 ) * 10 + ( gzFilename[2] - 0x30 );
           else
                 gWorldSectorX = ( gzFilename[1] - 0x30 );
           pStr = wcsstr( gzFilename, L"_b" );
           if( pStr )
           {
                 if( pStr[ 2 ] >= '1' && pStr[ 2 ] <= '3' )
                 {
                       gbWorldSectorZ = (INT8)(pStr[ 2 ] - 0x30);
                 }
           }
     }
     else
     {
           gWorldSectorX = -1;
           gWorldSectorY = -1;
           gbWorldSectorZ = 0;
     }
}

Editor\LoadScreen.c 1066:

BOOLEAN ValidCoordinate()
{
     if( gzFilename[0] >= 'A' && gzFilename[0] <= 'T' ||
           gzFilename[0] >= 'a' && gzFilename[0] <='t' )
     {
           UINT16 usTotal;
           if( gzFilename[1] == '1' && gzFilename[2] >= '0' && gzFilename[2] <= '6' )
           {
                 usTotal = ( gzFilename[1] - 0x30 ) * 10 + ( gzFilename[2] - 0x30 );
           }
           else if( gzFilename[1] >= '1' && gzFilename[1] <= '9')
           {
                 if( gzFilename[2] < '0' || gzFilename[2] > '9' )
                 {
                       usTotal = ( gzFilename[1] - 0x30 );
                 }
                 else
                 {
                       return FALSE;
                 }
           }
           if( usTotal >= 1 && usTotal <= 20 )
           {
                 return TRUE;
           }
     }
     return FALSE;
}

Кое что(что понял) я изменил:
usTotal -было 16
gzFilename[0] <= 'T'-было 'P'
Пробовал менять строчки-if( gzFilename[1] == '1' && gzFilename[2] >= '0' && gzFilename[2] <= '6' ),на
if( gzFilename[1] == '2' && gzFilename[2] >= '0' && gzFilename[2] <= '2' )-однако эффекта это не дало!
Може быть кто то из присутствующих,сможет помочь :-[-очень надеюсь :'(.
По сути, это единственная загвоздка в увеличении карты.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 13.05.2005 в 20:48:08
                         Доброго всем дня.

И так-Карта 20х20:
Описать тех.подробности не выйдет-обьем изменений не уступает переделке разрешения под 800х600!!!
Поэтому ограничусь основными моментами +  краткими комментариями.
Сперва собственно карта:
1)Работает вход в тактику со страт.карты
2)S\L в новых секторах
3)Правильно отображаются подписи(левый клик на секторе) к секторам(поля,равнина,город и.т.д)-ранее
в добавленых секторах писало чушь- город,чужая страна,хотя все новые сектора добавлял как,недоступные.
4)Правилно отображается дорожный маршру

Расстановка войск после измененния карты-отдельная большая песня:
Все сектора имели свой номер (SectorID)0-255.Писле увеличения карты,увеличились и номера,даже у старых секторов.
Как следствие-в Медуне войск не было вообще(кроме Р3).В Р3 генерация продолжалась,но отряды никуда не двигались,и
зайдя в Р3,день эдак на 11,можно было встретить 464 солдата в секторе!
Кроме того - были глюки с ополчением.
Мне удалось исправить и это:
1)Правильно размещены все гарнизоны и патрули на страт.карте-так же как до изменения
2)Во все новые сектора можно добавить гарнизоны и патрули
3)Можно трен-ть ополчение
В ЕДИТОРЕ есть один глюк:
При установке точки выхода (ExitGridNo)-в поле ввода можно ввести любые координаты(А-Т;1-20),но после
установки точки(по пр.клк.мышки)-отображаются только А-Р;1-16.Если ввести А20-то в окне будет А4или А17-А1 и.т.д.
Из за этого глюка,в подземный A17 можно попасть только из смежного А16.При этом Едитор и видит и грузит подземные сектора с номером,
выше 16-16,но попасть в подземный сектор из наземного-нельзя(надеюсь-пока).В старых секторах все впорядке.
Похоже причина в этом:
Editor\LoadScreen.c 821:
void SetGlobalSectorValues( UINT16 *szFilename )
{
     UINT16 *pStr;
     if( ValidCoordinate() )
     {
           //convert the coordinate string into into the actual global sector coordinates.
           if( gzFilename[0] >= 'A' && gzFilename[0] <= 'T' )
                 gWorldSectorY = gzFilename[0] - 'A' + 1;
           else
                 gWorldSectorY = gzFilename[0] - 'a' + 1;
           if( gzFilename[1] == '1' && gzFilename[2] >= '0' && gzFilename[2] <= '6' )
                 gWorldSectorX = ( gzFilename[1] - 0x30 ) * 10 + ( gzFilename[2] - 0x30 );
           else
                 gWorldSectorX = ( gzFilename[1] - 0x30 );
           pStr = wcsstr( gzFilename, L"_b" );
           if( pStr )
           {
                 if( pStr[ 2 ] >= '1' && pStr[ 2 ] <= '3' )
                 {
                       gbWorldSectorZ = (INT8)(pStr[ 2 ] - 0x30);
                 }
           }
     }
     else
     {
           gWorldSectorX = -1;
           gWorldSectorY = -1;
           gbWorldSectorZ = 0;
     }
}

Editor\LoadScreen.c 1066:

BOOLEAN ValidCoordinate()
{
     if( gzFilename[0] >= 'A' && gzFilename[0] <= 'T' ||
           gzFilename[0] >= 'a' && gzFilename[0] <='t' )
     {
           UINT16 usTotal;
           if( gzFilename[1] == '1' && gzFilename[2] >= '0' && gzFilename[2] <= '6' )
           {
                 usTotal = ( gzFilename[1] - 0x30 ) * 10 + ( gzFilename[2] - 0x30 );
           }
           else if( gzFilename[1] >= '1' && gzFilename[1] <= '9')
           {
                 if( gzFilename[2] < '0' || gzFilename[2] > '9' )
                 {
                       usTotal = ( gzFilename[1] - 0x30 );
                 }
                 else
                 {
                       return FALSE;
                 }
           }
           if( usTotal >= 1 && usTotal <= 20 )
           {
                 return TRUE;
           }
     }
     return FALSE;
}

Кое что(что понял) я изменил:
usTotal -было 16
gzFilename[0] <= 'T'-было 'P'
Пробовал менять строчки-if( gzFilename[1] == '1' && gzFilename[2] >= '0' && gzFilename[2] <= '6' ),на
if( gzFilename[1] == '2' && gzFilename[2] >= '0' && gzFilename[2] <= '2' )-однако эффекта это не дало!
Може быть кто то из присутствующих,сможет помочь :-[-очень надеюсь :'(.
По сути, это единственная загвоздка в увеличении карты.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 13.05.2005 в 21:01:00

2 VM:
 Давненько хотел пообщатся с-"Генеральныv застройщиком пустоши"-вот случай и представился:
 Когда я писал:

Quote:
  что в оригинале ни на одной карте жуки и солдаты вместе не встречаются.
Я имел ввиду-разрабы их просто не ставили вместе на одну карту(потому что-сюжетом не предусмотрено).Но они(жуки+солдаты)-могут находиться
вместе на карте,если Едитором поставить-солдаты+кошки ведь встречаются.А кошки и жуки,относятся к классу-Creatures,т.е 32солдата+32жука или 32солдата+32кошки!
[quote]  Эта фича позволит создавать любые типы врагов, ополченов и цивилов и увеличить количество врагов на карте до 64, за счет назначения жукам человечьих "боевых" бодитайпов.  

А зачем такой геморой ::),когда есть способ проще:
Посмотри пару страниц назад-Ответ #274,скачай аттач!Кол-во врагов в секторе Уже может быть 80шт.
Так же посмотри -Ответ#271-там есть кое какие пояснения.


Quote:
 Имхо, увеличение количества секторов до 400 не актуально...

Согласен,поэтому сейчас доделываю(пока для себя) карту 25х25 :D
А вообще-На вкус и цвет...
Меня лично старая карта уже не радует.Вообще то первым идею расширить карту подал Ecros(Перечень простых доработок#69),а мне удалось первым ее реализовать.

Quote:
    С увеличением размера секторов абсолютно согласен...

А кто этим будет заниматься?Там столько нужно менять и переделывать-мама родная.Кроме того,что я не програмер,и работаю
больше интуитивно-я смутно  представляю,что нужно делать!

Quote:
..то 400 штук надо будет рисовать полтора-два года не разгибаясь...

Поскольку все моды -некомерческие,следовательно нет дяди начальника,постоянно дергающего со сроками-или я не прав?
Лучще сделать позже,но лучще?

Quote:
 ..на отрисовку одной тактик-карты требуется сутки...

Трудно поспорить-но с другой стороны:
А разве меньше времени занимает сборка одного Тайлонабора для JA из тайлов FO:Tactics???
По моему-гораздо больше(пробовал-знаю)
Самый главный вопрос.
Из написанного на сайте ФУРа я так и не понял главного:
А что собственно нового,я смогу увидеть в ФУР-е(как потенциальный игрок)?
Новое-то,чего не было не в одном моде до этого?
1)Увеличенная стратегическая карта- ты уже ответил.
2)Многоэтажность зданий
4)Стрельба очередью-"по македонски"
5)Длинна очереди больше 6 выстрелов
Что из выше перечисленного планируется реализовать(или реализуется)в ващем проэкте???
Или это будет очередной Урбан Хаос или NOps,с интерьером Фоллаута?
Да,вот еще- на скрине оружия есть плазменная винтовка-как вы планируете реализовать
выстрел из нее,в плане анимации?
Будт лететь пули,или "облачка"как у ракетной винтовки,или вы придумали что то новое?
Если это не тайна-очень хотелось бы,получить ответы на эти вопорсы,тем более здесь все свои.
2 ALL:
Не поймите меня привратно-я не против Урбан Хаос или NOps,даже наооборот,но считаю,что
при наличии исходников нужно сделать более глубокие изменения,нежели переделка тайлов,
добавление НПС,перерисовка оружия!
2Raty:
Еще пару-тройку городов или других стратегически важных объектов замутить можно....
Вижу пока заинтересовался только ты-если нужно файло,напиши в приват-на той неделе смогу поделится.



Заголовок: Re: Первые шаги...
Прислано пользователем VM на 13.05.2005 в 23:47:14
2WISDOM: Отчего же не пообщаться с хорошим человеком, тем более с тезкой :)


Quote:
А зачем такой геморой, когда есть способ проще

Я просто привел альтернативный вариант. Увеличение "посадочных мест" для врагов для меня не является целью, а вот возможность назначения любых бодитайпов любому типу тушки открывает широкое поле деятельности, часть фишек, которые можно реализовать на этой фиче я описал.


Quote:
Меня лично старая карта уже не радует ... идею расширить ... мне удалось первым ее реализовать

Меня тоже уже давно не радует старая карта, однако ничего не мешает нарисовать новую стратег-карту с совершенно иной дислокацией поселений, рельефом, маршрутами патрулей и полностью изменить ее прочую внутреннюю "начинку". Я не пытаюсь умалить твоей заслуги и первенства, а лишь высказал свое мнение на практическое применение этой фичи. С моей точки зрения она представляет скорее теоретический интерес, нежели практический.


Quote:
Поскольку все моды - некомерческие, следовательно нет дяди начальника, постоянно дергающего со сроками-или я не прав?
Лучще сделать позже, но лучще?

Не прав :)
1. Если у проекта не обозначить срок выхода, он не будет сделан никогда.
2. Некомерческому проекту тоже нужен "дядя начальник" - координатор проекта, тот который направляет движение и переключает приоритеты. Иначе получится, что лебедь щуку раком хачит.
3. Как раз для некомерческого проекта срок более актуален, комерческим можно заниматься так долго, на сколько позволяет бюджет, если он оказывается недостаточным, то с согласия инвестора может быть увеличен. В некомерческом - на сколько хватит запала у команды, чем дольше делается проект, тем меньше вероятность, что его хватит. Увеличить этот "запал" довольно проблемно. Пример - SJ, не в качестве укора разработчикам, а в качестве иллюстрации. Второй пример - JaFall, нет гарантии, что мы закончим этот проект, почему такое возможно, отдельный непубличный разговор.
4. В работе над любым проектом понятие "лучше" - категорически вредное. Лучше, значит более ресурсоемко (время тоже ресурс, см. выше), ориентироваться следует не на "лучше", а на "достаточно", в контексте "данное решение достаточно для данных условий". В этом плане "лучше" зачастую оказывается избыточным для искомого решения. А зачем платить больше?


Quote:
А что собственно нового, я смогу увидеть в ФУР-е (как потенциальный игрок)?

Если JaFall-проект выйдет, это будет новая игра на модифицированном движке АВ. Не принципиально новая, но такая, какой еще никто из модеров не делал.


Quote:
Что из выше перечисленного планируется реализовать (или реализуется) в ващем проэкте

Сорри, я не обсуждаю публично того, что планируется к реализации, хотя бы потому, что нет гарантии, что планируемые нами новые фичи мы сможем реализовать. Если бежать впереди паровоза, то можно попасть под колеса...


Quote:
или вы придумали что то новое?

Нового придумано не мало, что конкретно будет реализовано - покажет время.


Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 16.05.2005 в 13:12:29
Вопрос - в игре есть возможность нажать на рубильник и открыть тем самым дверь. А можно ли сделать так, что при нажатии на него открытая дверь закроется?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 16.05.2005 в 13:32:49
2Viking:
Место где шифруется Мадлаб.... Там и открывается и закрывается при нажатии рубильника ;)

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 16.05.2005 в 15:32:36
2Viking: Есть, обе опции есть в триггерах редактора.

Заголовок: Re: Первые шаги...
Прислано пользователем NazZaR на 28.05.2005 в 09:22:41
Доброго времени суток!
Т.к. тема называется "первые шаги", то прошу выложить список ссылок на все необходимые утилиты или просто список программ для изменения игры. Благодарю.

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 28.05.2005 в 09:32:02
2NazZaR: http://ja2.org/index.php?c=10

Заголовок: Re: Первые шаги...
Прислано пользователем Индра на 28.05.2005 в 09:59:45
2NazZaR: На будущее - смотри, чему раздел посвящен. Данный раздел создан для ИСХОДНЫХ ТЕКСТОВ ИГРЫ. Вопросы по-поводу изменения готовой игры - сюда http://forum.a-i-m.spb.ru/cgi-bin/yabb/YaBB.pl?board=a_all_about;action=display;num=1053860552

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 31.05.2005 в 11:53:04
Если "сделать" для коровы анимацию бодания, то можно ее корректно ввести в игру без правки исходников?

Заголовок: Re: Первые шаги...
Прислано пользователем Ломолом на 31.05.2005 в 12:26:13
2Viking:
Низя, если только вместо тряски после удара. Но корова не повернется.
Зато корову можно заменить на берсерка (так!  ;D) в рогатом шлеме, и избивать его ЛОМами.  ;D ::)

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 31.05.2005 в 12:52:32
2Viking: Коровой, как уже сказал Александр, нельзя, но можно заменить бодитайп кошака на бодитайп такой бодучей коровы и по просторам банановых джунглей будут бродить не прайды кошек-убийц, а  дикие стада бодучих копытных :) Только надо будет кроме бодания добавить еще и анимацию лягания передними копытами и бег.

Заголовок: Re: Первые шаги...
Прислано пользователем Ломолом на 31.05.2005 в 12:56:04
2VM:
Тока хотел предложить... Причем еще породу взять симментальскую, пего-белую!!!

Но круче - переделать кошек в справляющих нужду носорогов - они кучек не оставляют! Они бешено вертят хврстиком, равномерно опыляя жидкими удобрениями земли родимой саванны...  :) :D ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 31.05.2005 в 13:45:10
2Ломолом:
Quote:
Зато корову можно заменить на берсерка (так!  ) в рогатом шлеме, и избивать его ЛОМами.  

Ну дык это... нарисуй анимацию :P.

2VM:
Quote:
Коровой, как уже сказал Александр, нельзя, но можно заменить бодитайп кошака на бодитайп такой бодучей коровы и по просторам банановых джунглей будут бродить не прайды кошек-убийц, а  дикие стада бодучих копытных

Именно! Изначально об этом и подумалось. В НО есть мирные кошаки, если этим кошакам дать "шкуру" коровы то вполне вероятно получится бодучая корова. Лишь бы сработал механизм ответа на агрессию.

З.Ы. Конечно простая замена бодитайпа кошек (злых кошек) на бодитайп коров была бы проще в реализации, но оставались бы вопросы с точки зрения логики и атмосферы игры. Стаи агрессивных коров на полях страны - это немного странно для JA.

Заголовок: Re: Первые шаги...
Прислано пользователем Ломолом на 31.05.2005 в 14:48:18
2Viking:
Чем вешать языки трудиться, не лучше ль на себя, ... пардон, оборотиться!

Medice, cura te ipsum...

NB. Ты сам напросился, так что потом не плачь, не вой и не жалуйся! Жди - скоро выложу!

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 31.05.2005 в 14:51:43
2Ломолом:
Ну, берсерка рисовать я не подписывался. А вот бодучую корову... как знать :)...

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 31.05.2005 в 14:52:36

Quote:
Ты сам напросился, так что потом не плачь, не вой и не жалуйся! Жди - скоро выложу!


А, так ты взялся таки? Ну, буду ждать всенепременнейше.

Заголовок: Re: Первые шаги...
Прислано пользователем Ломолом на 31.05.2005 в 15:02:53
2Viking:
"Давно здесь сидим..." (с)

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 31.05.2005 в 15:27:16

Quote:
В НО есть мирные кошаки, если этим кошакам дать "шкуру" коровы то вполне вероятно получится бодучая корова. Лишь бы сработал механизм ответа на агрессию.

Не разбирался в потрохах НО, но уверен, что это не "мирные кошки", а ополчены или цивилы с кошачьими бодитайпами. Поведение тушки определяется не натянутой на нее шкурой, а классом самой тушки, но если у данного бодитайпа нет анимации такого поведения, то получится глюк. С тем же успехом можно сделать "мирных жуков" (натянуть жука на тушку цивила)или нашествие "агрессивных роботов" (шкура робота, натянутая на тушку врага). Напрямую в редакторе нельзя назначить бодитайп, не свойственный данному классу тушки (без правки сорцов), но если извратится при помощи каких-нибудь утилит или в хексах карты, то можно :)

Заголовок: Re: Первые шаги...
Прислано пользователем maks_tm на 31.05.2005 в 15:43:51
2VM:
По-моему в НО "мирному кошаку" прописана принадлежность к группе цивилов, вот и все...

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 31.05.2005 в 16:38:57
2maks_tm: Если говорить упрощенным программерским языком, тип туши (цивил), это класс, а шкура (бодитайп кошака) - назначаемое ему свойство или дочерний класс. Родитель "первичен" по-определению. Поэтому в редакторе бодитайп назначается типу тушки, а не наоборот.

Заголовок: Re: Первые шаги...
Прислано пользователем maks_tm на 31.05.2005 в 17:02:41
2VM:
Вон оно как.
Просто я в недрах веток о НО я это объяснение видел, да видимо не понял что к чему. Теперь понятно.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 03.06.2005 в 09:15:45
                            Доброго всем дня!
Поигрался я тут на досуге,в одну демку - попупутно созрела пара вопросов.
2ALL:
Сперва маленькое пояснение:
В Джа,если убрать панели интерфейса,образуется черное пространство.То есть картинка рендерится
только до границы интерфейса;
Вопрос 1:
Можно ли сделать,интерфейс в Джа, по типу как на скрине(в аттаче).Как это сделать-подскажите,
хотя бы где смотреть
!!!
Пробовал сделать полноэкранный рендеринг местности вместе с панелью интерфейса-менял флаги,комбинировал их-карта отображается полностью,но при скроле,панель интерфейса
размазывает по всему экрану ::)!
Можно ли это сделать в исходниках -полноэкранное отображение меснтости и интерфейс поверх???
Вопрос 2:
При изменении стуктур OBJECTTYPE,старые карты ни Едитором ни в игре не грузятся:
Что делать с картами,как их менять-ведь как то же это должно делаться( делалось же Сиртехом)???
Если увеличивать размер сектора,нужно увеличивать кол-во тайлоелементов(WORLD_MAX  25600)до,напр.51200-как их
размещать на карте?
То есть меня интерисует-как производилось первоначальное построение  карт Сирами ???
Насколько я пердставляю себе-создавалась некая структурная решетка,а на нее уже накладывались тайлы?
В общем-помогите-просветите,если кто может :'(!!!
Если не в лом-поподробнее :-[!!!






Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 03.06.2005 в 10:26:16
Пытаюсь разобраться с орудием танка...
Как и говорил Neyros, мерк не может стрелять из нее, т.к. анимация есть только для танка.
Если в \\Soldier Control.c
     // Check for tank cannon
     if ( pSoldier->inv[ HANDPOS ].usItem == TANK_CANNON )
     {
           return( TANK_SHOOT );
     }
TANK_SHOOT заменить на SHOOT_ROCKET, то мерк спокойно начинает пулять из орудия. Но не все так гладко.
1. Снаряд не убирается, т.е. получаем "голливудскую пушку". Как бы это вылечиь? Можно съобезьянничать и взять код удаления гранаты, от гранатомета, но я не могу найти эту процедуру(туплю). Может кто-то пальцем указать?
2. У орудия показывается кол-во выстрелов "0". Впринципе не мешает, но хотелось бы убрать нафиг. Как бы это сделать? ;)
3. В руках орудие отображается как одноручный пистоль. Хм.. Гранатомет М72 вообще никак не отображается, а орудие.... От чего это зависит и как с этим бороться?

PS Зачем мне это? Хочу сделать полноценный РПГ-7. ;)

Заголовок: Re: Первые шаги...
Прислано пользователем AltAlex на 11.06.2005 в 23:09:04
Господа, простите великодушно если не по теме.
Потерял редакторы для характеристик оружия и его изображений. Оставьте пожалуйсто ссылку, где взять. Заранее спасибо.

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 12.06.2005 в 00:04:24
2AltAlex: http://ja2.org/index.php?c=10

Заголовок: Re: Первые шаги...
Прислано пользователем GRAD на 17.06.2005 в 19:55:15
Здраствуйте все кто это читает.
У меня вопрос не в тему, а точнее очень в тему тк ПЕРВЫЕ ШАГИ всёже.
Недавно я скачал исходники, ну естественно глаза горят стал компилить.
Я немного знаю С++, так что и 6.0 и .НЕТ у меня были. Компилирую - ошибки, ну я их все исправил: зделал глобальную загрузку библиотек и хедеров и всё заработало. Всё да не всё. В игре нет врагов, тоесть они шныряют по стратегической карте, появляется сабж В СЕКТОРЕ ВРАГИ загрузка сектора
!!! БЕЗ СИНЕЙ ПОЛОСКИ !!! и пустота дома там деревья и никаких врагов.
Чего делать не понятно.


И еще один вопрос: где лежат триггеры.

Заранее спасибо. Извините за невтемность сообщения

Заголовок: Re: Первые шаги...
Прислано пользователем Ecros на 17.06.2005 в 20:16:29
2GRAD:
Просто у тебя карты от буки, а надо от англичанки.

Заголовок: Re: Первые шаги...
Прислано пользователем Serj_PSG на 17.06.2005 в 23:58:09
GRAD:
Quote:
2GRAD:  
Просто у тебя карты от буки, а надо от англичанки.

  Возьми на Вольном Стрелке конвертер карт и переконверть их в ТИП1, если точно из-за процитированного глюка отсутствуют враги.

Заголовок: Re: Первые шаги...
Прислано пользователем GRAD на 18.06.2005 в 20:59:52
Спасибо сейчас попробую, кстати карт то много а конвертит он их вроде по одной, как быть?

И как там с триггерами?

Опять же заранее спасибо.

Заголовок: Re: Первые шаги...
Прислано пользователем Ecros на 18.06.2005 в 21:57:13
2GRAD:
Если по одной конвертить влом там же на ВС можешь скачать архив со всеми картами.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 13.07.2005 в 09:33:29
                       Доброго всем дня!

2ALL:
Возник вопрос:
Можно ли в JA2 сделать работу Аттача в аттаче-поясню:
Если к приаттаченному на ствол подствольнику,присоединить 3 гранаты-они
занимают все свободные слоты-не остается места для других аттачей!
Можно конечно,увеличить кол-во аттачей больше 6-ранее это было проблематично,
поскольку падали старые карты ,но с этим разобрались ;)-но хотелось бы,что бы,
гранаты аттачились не на ствол,на который установлен подствольник,а непосредственно
к подствольнику.
Реально это сделать или не стоит напрасно тратить время? ???


Заголовок: Re: Первые шаги...
Прислано пользователем psycho на 13.07.2005 в 12:51:08
2WISDOM: Думаю, что нереально, основываясь на том, что при пихании пистоля с аттачем в бронежилет аттач пропадает. Граната к подствольнику это тоже аттач к аттачу. Если вел. и уж. модостроители не поправили пихание пистолетов, значит не все так просто. :(

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 21.07.2005 в 08:44:42
Где в ресурсах лежит анимация полета пули/дроби/гранаты/ракеты/мины и т.д.?

Заголовок: Re: Первые шаги...
Прислано пользователем Mr Evil на 21.07.2005 в 12:55:11
2Viking: "в катологе 0 в tilesets" лежит анимация полета пули (и еще кое-что интересное, например анимация разрыва тела на кусочки, или мини атомный взрыв и т.д.) :)
Анимация дроби = анимация пули.

Заголовок: Re: Первые шаги...
Прислано пользователем WISDOM на 26.07.2005 в 13:45:14
                               Всем доброго дня!

Июль подходит к концу -копание в самом разгаре-нужна помощь!
1)Мне удалось фактически увеличить очередь,до-пока не знаю,пробовал
MAX=18 патронов!
Почему фактически?
В чистых сорцах,очередь(5 пуль) из РПК74,выбивает из фрага между 79-91 НР.
Я увеличил у РПК очередь до 18 патронов.
а)Теперь из фрага стабильно вылетает от 190 до 280НР
б)На 25 Од можно сделать 1 очередь(в оригинале 2 или 3)
с)Большинство фрагов(2из3)умирауют,в позе-"Последний полет"
д)Проигрывается правильная озвучка-5,45 Burst 18!
Но есть и неприятные вещи:
Патронов(из магазина)отнимается по прежнему 6!
Частенько появляются "бесконечные часики"-в тестовой версии,это не критично-нов
релизе....
Я медленно схожу с ума-почему ???
Почему патронов отнимается так же 6?
Item Types.h:
Очередь считается,как-ubShotsLeft,которое равно ubShotPerBurstubShotsLeft равно-MAX_OBJECTS_PER_SLOT=8,но ubGunUnused=MAX_OBJECTS_PER_SLOT - 6,т.е=2
То есть кол-во пуль в очереди,должно равнятся 8-2=6,это в оригинале!
Я ubShotsLeft,привязал,не к MAX_OBJECTS_PER_SLOT,а ввел доп.параметр-
#define MAX_BURST_SIZE 25

Правил,все что только можно,толку-ноль :'(!
Я уже не знаю,в чем дело ???.
Кто нибудь хочет,или может мне помочь?Это ведь интересно не только мне?
Не в обиду присутствующим:
В последнее время,складывается ощущение,что я говорю сам с собой-т.е.в пустоту.



Заголовок: Re: Первые шаги...
Прислано пользователем Artem13 на 01.08.2005 в 20:39:07
2WISDOM:
Quote:
Не в обиду присутствующим:
В последнее время,складывается ощущение,что я говорю сам с собой-т.е.в пустоту.

Спокуха, Виталя, просто лето, мозги текуть ...  :(

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 08.08.2005 в 14:37:06
Здравствуйте.
Появилось несколько вопросов.
- Столбец bullet spd в таблице в weapons.c работает или нет? Я выставлял и 1 и 99, и разницы не заметил. Пуля летела с одной и той же скоростью.
- Скорость очереди одинаковая для всех стволов или нет?
- Интересует реализация такой фишки: молотов коктейль можно использовать по назначению(кинуть) только при наличии во второй руке(ну или хотя бы в инвентаре) зажигалки. Даже не знаю как к этому подступиться.
- Немного работаю над броней. Хочу сделать баллистическое забрало как аттач на каски. Будет выполнять функцию керампластин и очков одновременно. Но надо сделать его несовместимым с противогазом, очками, ДУ робота и остальными лицевыми вещами. А как это сделать, это ведь разные группы предметов?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 08.08.2005 в 17:16:33
2Raty:

Quote:
Столбец bullet spd в таблице в weapons.c работает или нет?

Работает. Чем меньше значение, тем выше скорость полёта пули.


Quote:
Скорость очереди одинаковая для всех стволов или нет?

Если ты имеешь ввиду число АР добавляемое к затратам на одиночный выстрел при стрельбе очередью, то в общем-то да.
Tactical\Points.c
UINT8 CalcAPsToBurst( INT8 bBaseActionPoints, OBJECTTYPE * pObj )


Quote:
Но надо сделать его несовместимым с противогазом, очками, ДУ робота

Там обычный массив пар совместимых предметов.
Tactical\Items.c
UINT16 CompatibleFaceItems[][2] = {...}

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.08.2005 в 08:42:22
2Терапевт:

Quote:
Если ты имеешь ввиду число АР добавляемое к затратам на одиночный выстрел при стрельбе очередью

Нет, я имею ввиду анимацию полета пулек в очереди. Они летят с одинаковым интервалом для всех стволов или нет? Ею можно управлять, так же как и скоростью анимации полета пули при одиночном выстреле?


Quote:
Там обычный массив пар совместимых предметов.

Так ведь забрало будет не лицевой предмет, а аттач на каску.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 09.08.2005 в 09:57:10
2Raty:

Quote:
Они летят с одинаковым интервалом для всех стволов или нет?

С одинаковым.


Quote:
забрало будет не лицевой предмет, а аттач на каску.

И к чему такие извращения? ;) Это будет сделать непросто.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.08.2005 в 12:43:31
2Терапевт:

Quote:
И к чему такие извращения?

А как по другому-то? В реале это же чисто касочный аттач, ну кроме строительных или медицинских. Так что или всё по честному, или лучше вообще никак ;).

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 21.09.2005 в 11:05:32
Люди добрые и умные, подкажите плз.
1. При присоединении заряженного подствольника к оружию, граната переходит на оружие. Этот код я нашел :). При отсоединении подствольника, граната отсоединяется вместе с ним. А где этот код?:shuffle:
2. При присоединении к TNT детонаторов проигрывается звук(писк). Где это прописано?:confus:
Заранее благодарен.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 21.09.2005 в 13:28:47
2Raty:

Quote:
1. При присоединении заряженного подствольника к оружию, граната переходит на оружие. Этот код я нашел . При отсоединении подствольника, граната отсоединяется вместе с ним. А где этот код?

Там же, чуть ниже:
файл Items.c
ф-я с говорящим названием RemoveAttachment()
строка номер 4287 (примерно, может не совпадать, т.к. свои исходники я сильно модифицировал)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 21.09.2005 в 13:35:44
2Raty:

Quote:
2. При присоединении к TNT детонаторов проигрывается звук(писк). Где это прописано?
Заранее благодарен.

Тот-же файл Items.c
ф-я с говорящим названием AttachObject()
строка 2664, а именно:
PlayJA2Sample( ATTACH_DETONATOR, RATE_11025, SoundVolume( MIDVOLUME, pSoldier->sGridNo ), 1, SoundDir( pSoldier->sGridNo ) );

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 27.09.2005 в 10:47:29
Вопрос:
Items.c
AttachmentInfoStruct AttachmentInfo[] =
...
{REMDETONATOR, .............
{REMDETONATOR, .............

Нафига 2 одинаковые строчки?  :o Можно ли удалить?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 27.09.2005 в 11:31:02
2Raty: Глаз-алмаз! :glasses:
В принципе удаление не должно повлиять не на что, так как элементы этого массива ищутся в цикле. Хотя, зная Сиров, нужно проверить это в игре.

Заголовок: Re: Первые шаги...
Прислано пользователем Viking на 12.10.2005 в 09:01:14
2Viking:
Quote:
Где в ресурсах лежит анимация полета пули/дроби/гранаты/ракеты/мины и т.д.?


Точнее говоря, где лежит анимация попадания дроби в землю?

Заголовок: Re: Первые шаги...
Прислано пользователем kavlad на 24.10.2005 в 16:16:47
Мне в исходниках больше всего понравилась строчка
InitializeRegistryKeys( "Wizardry8", "Wizardry8key" );

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 24.10.2005 в 16:29:18
2kavlad: Тогда тебе должен был понравиться весь проект Standard Gaming Platform - библиотека, которая создавалась для использования в JA2 и Wizardry

Заголовок: Re: Первые шаги...
Прислано пользователем kavlad на 24.10.2005 в 16:43:29
2bugmonster:
Просто меня удивляет немного обилие харкодинга, которое я вижу в сырцах.
Я знаю, конечно, что игровые сырцы не пишутся для многократного использования, но все же...

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 24.10.2005 в 16:53:50
2kavlad:

Quote:
...меня удивляет немного обилие харкодинга...

Ещё мягко сказано.  ;D Такое ощущение, что слово "хардкодинг" было девизом программистов СирТеха.

Заголовок: Re: Первые шаги...
Прислано пользователем kavlad на 25.10.2005 в 14:41:39
Обнаружил в исходниках заделки на сетевую игру, только файлов нужных почему-то нема :(
Networking.* и NetworkEvent.*

:-/

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 01.11.2005 в 16:02:19
Снова несколько вопросов ::)
Strategic AI.c : ARMY_COMPOSITION gOrigArmyComp[ NUM_ARMY_COMPOSITIONS ] =
Далее столбцы.
1-й понятно.
2-й priority - А собственно priority чего?
3,4 и 5-й - тоже понятно. Но иногда сумма этих 3-х больше 100. Это нормально?
А какой из 2-х последующих столбцов численность гарнизона? Вернее, на сколько я понял, это "желаемая" и "стартовая" численность.

И вообще как эта численность расчитывается в зависимости от выбора сложности?

Заранее благодарен.

Заголовок: Re: Первые шаги...
Прислано пользователем neyros на 02.11.2005 в 17:21:05

Quote:
3,4 и 5-й - тоже понятно. Но иногда сумма этих 3-х больше 100. Это нормально?

Это нормально. Просто для админов указывается процент на момент начала игры. В дальнейшем админы сменяются на краснорубашечников и элиты. А вот сумма процентов красных и элиты всегда равна 100.

Заголовок: Re: Первые шаги...
Прислано пользователем Com на 17.11.2005 в 16:45:58
2Viking:
Хочу выразить благодарность за патч NewDesc к основной версии JA2.
Мне основная версия от " Буки " надоела, а после установки патча захотелось ещё раз поиграть. В итоге, я за 3 дня захватил полкарты.и дней через 5 закончу основную компанию.

Заголовок: Re: Первые шаги...
Прислано пользователем Com на 17.11.2005 в 19:57:42
Ребята у меня вопрос. С помощью чего открывать файлы STI.

Я уже перебрал кучу текстовых редакторов и др. прог.
Хочу попробовать написать пробный патч, что-нибуть простенькое. Но предворительно разобраться в программном коде.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 18.11.2005 в 09:27:51
2Com: Не очень понял причём здесь патчи и код. STI - графический файл, я его откываю STI-edit'ом. Тут необходимый инструментарий:
http://www.ja2.org/index.php?c=10

Заголовок: Re: Первые шаги...
Прислано пользователем Com на 19.11.2005 в 16:06:13
2bugmonster:
Сапсибо. За совет. Через некоторое время представлю небольшой проект на "суд" корифеев JA2.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 13.12.2005 в 10:06:50
Гробокопатели, а насколько сложно(а реально ли вообще?) научить фрагов пользоваться подствольниками?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 13.12.2005 в 10:50:47
2Raty:
Насколько я знаю, они успешно метают гранаты из M79, поэтому нужно всего лишь добавить проверку на присутствие подствольника.

Заголовок: Re: Первые шаги...
Прислано пользователем Pyromancer на 10.01.2006 в 14:12:04
а как насчёт научить фрагов отбегать и перевязываться или наркотой колоться? ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.04.2006 в 10:31:03
2ALL:
Помогите плз разобраться с уровнями освещения.
есть вот это:
#define NORMAL_LIGHTLEVEL_NIGHT 12
#define NORMAL_LIGHTLEVEL_DAY 3, т.е. чем больше значение тем темнее(по логике надо было бы назвать DARKLEVEL ).
Собственно вопросы:
1. NORMAL_LIGHTLEVEL_NIGHT это ночная освещеность допутим в полночь? Т.е. не утренняя и не вечерняя? Без учета искусственного освещения?
2. Существуют ли макс. и мин. значения освещенности.
3. Все рассчеты бонусов ПНВ и очков рассчитываются для конкретной точки или для сектора в целом? Допустим, если чел в ПНВ ночью вылезет под фонарь и окажется в светлом пятне или войдет в освещенное здание, бонусы для ПНВ останутся?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 17.04.2006 в 11:05:27
2Raty:
1. Да.

2.
#define SHADE_MIN  15 // DARKEST shade value
#define      SHADE_MAX  1 // LIGHTEST shade value

3. Для конкретной, если она освещена, см. UINT8 LightTrueLevel( INT16 sGridNo, INT8 bLevel )

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.04.2006 в 11:34:50
2bugmonster:
мегаспасибо


Quote:
см. UINT8 LightTrueLevel( INT16 sGridNo, INT8 bLevel )

iSum=pNode->ubNaturalShadeLevel - (pNode->ubSumLights - pNode->ubFakeShadeLevel );
поправь, если ошибусь...
ubNaturalShadeLevel - уровень естественной освещенности. В зависимости от времени суток?
ubSumLights - искусственные источники света. То, что предусмотрено на карте?
ubFakeShadeLevel - хм... уж не фальшвееры ли и прочие осветительные гранаты?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 17.04.2006 в 11:41:04
2Raty:
Нет, ubFakeShadeLevel - "поддельный" уровень освещённости. Светлое пятно вокруг наёмника - рисуется, но в реальности не существует.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.04.2006 в 12:32:04
Чего-то у меня совсем шестеренки не крутятся :confus:

#define NORMAL_RANGE            90
#define MIN_SCOPE_RANGE         60, сколько это в клеточках???

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 18.04.2006 в 14:14:06
2Raty:
Это в у.е.  ;D
10 у.е. = 1 клеточка

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.04.2006 в 16:00:23
Не.... Сегодня точно не мой день:cranky:
Максимальная дальность зрения.... где она? В упор не вижу.

ps неужели я идиот?:crazy:

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 18.04.2006 в 17:26:50
Нет, просто программисты Сира для секретности обозвали её "strЫйт" чтобы никто не догадался. :D

overhead types.h:
// CHANGE THIS VALUE TO AFFECT TOTAL SIGHT RANGE
#define STRAIGHT_RANGE      13

// CHANGE THESE VALUES TO ADJUST VARIOUS FOV ANGLES
#define STRAIGHT_RATIO      1
#define ANGLE_RATIO                  0.857
#define SIDE_RATIO                  0.571
// CJC: Changed SBEHIND_RATIO (side-behind ratio) to be 0 to make stealth attacks easier
// Changed on September 21, 1998
//#define SBEHIND_RATIO            0.142
#define SBEHIND_RATIO            0
#define BEHIND_RATIO            0

// looking distance defines
#define BEHIND          ( INT8 )( BEHIND_RATIO * STRAIGHT_RANGE )
#define SBEHIND         ( INT8 )( SBEHIND_RATIO * STRAIGHT_RANGE )
#define SIDE            ( INT8 )( SIDE_RATIO * STRAIGHT_RANGE )
#define ANGLE           ( INT8 )( ANGLE_RATIO * STRAIGHT_RANGE )
#define STRAIGHT        ( INT8 )( STRAIGHT_RATIO * STRAIGHT_RANGE )


Opplist.c:

INT16 MaxDistanceVisible( void )
{
     return( STRAIGHT * 2 );
}


ЗЫ Пасиб за репу ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 19.04.2006 в 10:10:51
2bugmonster:
#define SBEHIND_RATIO  0
#define BEHIND_RATIO  0

// looking distance defines
#define BEHIND     ( INT8 )( BEHIND_RATIO * STRAIGHT_RANGE )
#define SBEHIND    ( INT8 )( SBEHIND_RATIO * STRAIGHT_RANGE )
#define SIDE  ( INT8 )( SIDE_RATIO * STRAIGHT_RANGE )
#define ANGLE      ( INT8 )( ANGLE_RATIO * STRAIGHT_RANGE )
#define STRAIGHT   ( INT8 )( STRAIGHT_RATIO * STRAIGHT_RANGE )

опять же поправь если что:
BEHIND и SBEHIND - задняя полусфера обзора?
ANGLE - относится только к передней полусфере?

А чтоб люди не видели спиной надо продублировать вот это
Opplist.c:
INT16 DistanceVisible......
...
sDistVisible = gbLookDistance[bFacingDir][bSubjectDir];

if ( sDistVisible == ANGLE && (pSoldier->bTeam == OUR_TEAM || pSoldier->bAlertStatus >= STATUS_RED ) )
{
sDistVisible = STRAIGHT;
}

для каждого условия, что-то типа:
if ( sDistVisible == BEHIND.......)
{
sDistVisible = BEHIND;
}
Верно? :confus:

И еще,
(pSoldier->bTeam == OUR_TEAM || pSoldier->bAlertStatus >= STATUS_RED )
если убрать из условий pSoldier->bTeam == OUR_TEAM (ну или добавить остальные группы)фраги и менты тоже не будут видеть спиной? Или менты и фраги это отдельная тема?

p.s. а чего такое pSoldier->bAlertStatus >= STATUS_RED? Не, ну понятно, что уровень тревоги, но не понятно с чего вдруг уровень тревоги влияет на дальность обзора?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 19.04.2006 в 12:02:19
2Raty:
STRAIGHT - впереди
ANGLE -  впереди-сбоку
SIDE - сбоку
SBEHIND - сзади-сбоку
BEHIND - сзади


Quote:
А чтоб люди не видели спиной надо продублировать вот это

Не понятно что ты хотел сказать, так как приведённый тобой отрывок исходника говорит о том, что мерки (всегда) и фраги (в состоянии крайнего возмущения  ;D ) активно мотают головой, поэтому цель, находящуюся спереди-сбоку они замечают так же хорошо, как цель находящуюся строго спереди.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 19.04.2006 в 12:57:04
2bugmonster:

Quote:
Не понятно что ты хотел сказать, так как приведённый тобой отрывок исходника говорит о том, что

Да это я продолжаю тупить :)
Так что, получается что люди спиной уже не видят? Или мне опять пора лекарство принимать? ;D
Opplist.c:
INT8 gbLookDistance[8][8] =

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 19.04.2006 в 13:49:50
2Raty:
Судя по этому:
// CJC: Changed SBEHIND_RATIO (side-behind ratio) to be 0 to make stealth attacks easier
// Changed on September 21, 1998
//#define SBEHIND_RATIO            0.142
#define SBEHIND_RATIO            0
#define BEHIND_RATIO            0

наверное в бете они ещё немного видели сзади-сбоку, а в релизе вообще перестали видеть в большей части задней полусферы. Видимо, перехват идёт по звуку, а геймеры думают что у элитчиков глаза на затылке.

Заголовок: Re: Первые шаги...
Прислано пользователем Lesh на 19.04.2006 в 19:28:07
2Raty:

Quote:
p.s. а чего такое pSoldier->bAlertStatus >= STATUS_RED? Не, ну понятно, что уровень тревоги, но не понятно с чего вдруг уровень тревоги влияет на дальность обзора?

Ну, типа, внимательнее смотреть стал, вглядываться.

Я так понял, ты хочешь ограничить угол обозрения?

Смотрим функцию DistanceVisible. Строчка "sDistVisible = gbLookDistance[bFacingDir][bSubjectDir];" подсказывает нам, что дальность зрения зависит от двух переменных: bFacingDir и bSubjectDir. Эти переменные передаются в функцию. Если теперь глянуть на вызовы функции DistanceVisible, то увидим, что в большинстве случаев для этих переменных указано DIRECTION_IRRELEVANT (направление не важно). В этих случаях программа в массив gbLookDistance даже не смотрит и "sDistVisible = MaxDistanceVisible();". Поэтому все видят даже за спиной.

Однако, исправление вызовов ещё не даст нужный результат. Сначала надо подправить саму функцию DistanceVisible:
1. Находим строку, выделенную зелёным цветом.
2. До неё пишем:
bSubjectDir = ( INT8 ) GetDirectionToGridNoFromGridNo( pSoldier->sGridNo, sSubjectGridNo );

3. После неё пишем:
if (sDistVisible == 0) return(0);

4. Чуть ниже меняем
"if ( pSubject && !( pSubject->fMuzzleFlash && (bLightLevel > NORMAL_LIGHTLEVEL_DAY) ) )" на
"if ( !( pSubject && pSubject->fMuzzleFlash && (bLightLevel > NORMAL_LIGHTLEVEL_DAY) ) )"

Теперь корректируем вызовы функции DistanceVisible в файле opplist.c и display cover.c (2-ой параметр): например строку
"DistanceVisible( pOtherSoldier, DIRECTION_IRRELEVANT, DIRECTION_IRRELEVANT, pSoldier->sGridNo, pSoldier->bLevel )" превращаем в
"DistanceVisible( pOtherSoldier, pOtherSoldier->bDesiredDirection, DIRECTION_IRRELEVANT, pSoldier->sGridNo, pSoldier->bLevel )".

Другие правятся подобно этой. Итого правятся функции ManLooksForMan, NoticeUnseenAttacker, CheckForAlertWhenEnemyDies, GetHighestVisibleWathchedLoc, EndMuzzleFlash и 2 вызова из display cover.c. Функцию HearNoise оставляю на твоё усмотрение (править или нет). Именно в при помощи этой функции солдат имеет возможность оглянуться на шум.

Я так делал. Результат на картинке.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 21.04.2006 в 16:45:24
Прошу помощи. Зашлите плиз на мейл smackw32.dll и mss32.dll. А то у меня с моими буковскими не дружыт. Очь прошу. jarni.ua@gmail.com или yurii.bizinskyi@strom.cz.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 21.04.2006 в 16:53:06
А зачем на мыло? Вот держи:

Заголовок: Re: Первые шаги...
Прислано пользователем Mike на 26.04.2006 в 10:11:30
Господа, кто подскажет следующую вещь - (не знаю, куда запостить, решил сюда... :) )
в редакторе Артема есть следующие характеристики:
Скорость полета пули – 23
Штрафы/бонус к точности – 3
Стоимость перезарядки – 200

Кто может подсказать - они влияют на что-нибудь?

Скорость перезарядки - 200 - это в пересчете на игру - 5 АР?

Заголовок: Re: Первые шаги...
Прислано пользователем Mike на 26.04.2006 в 13:30:18
Вот, кстати, принтскрин... :)

Заголовок: Re: Первые шаги...
Прислано пользователем GreenEyeMan на 26.04.2006 в 14:22:32
2Mike: Да, скорость перезарядки - 200 = 5 АР, но, кажеться этот параметр не изменим.
Скорость полета пули - визуальная скорость. Чем больше число тем медленнее пуля летит. (???)
Бонус к точности - (может быть и плюс и минус). Добавляет шанс на попадение.

Заголовок: Re: Первые шаги...
Прислано пользователем Mike на 27.04.2006 в 09:43:38

on 1146050552, GreenEyeMan wrote:
2Mike: Да, скорость перезарядки - 200 = 5 АР, но, кажеться этот параметр не изменим.
Скорость полета пули - визуальная скорость. Чем больше число тем медленнее пуля летит. (???)
Бонус к точности - (может быть и плюс и минус). Добавляет шанс на попадение.

Тут есть информация, что 200 - это ВРЕМЕННАЯ задержка, чтобы полностью прошел звук перезарядки. С тратой АР никак не связано. Про визуальную скорость - похоже, что так и есть... А насчет точности попадания - если стоит положительное число в этой графе - это плюс к точности или минус?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 27.04.2006 в 13:19:07
2Mike:
Насколько я понимаю, это редактор, заточенный под НайтОпс. Однако я посмотрел в текстовике характеристик для НО - у G36K в характеристиках число 15 встречается только для указания номера звука выстрела. :o В исходниках у оружия был такой параметр как "точность", но он не использовался и был равен 0 у всех стволов. Может это самопальное усовершенствование НОчников?

Заголовок: Re: Первые шаги...
Прислано пользователем Mike на 27.04.2006 в 13:32:00
2bugmonster:
Так и есть.
Ответ "Терапевта":
"Поэтому в НО я переделал его под указатель на номер очереди для ствола, чтобы отвязать озвучку очереди от "калибра" оружия. "
Так что поиграть с точностью у меня не получилось... :(
;D

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 03.05.2006 в 12:41:44
Хм, прописал к стальной каске аттач очков, а к остальным аттач очков и ПНВ. Если стальная каска на башке, а я беру на курсор ПНВ, то слот с каской становится неактивным и затеняется. Где это зарыто, а?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 03.05.2006 в 16:31:03
2Raty: Судя по тому, что ты описал - всё логично.
Или твой вопрос был в том, где в исходниках затеняются одеждные слоты для неодеваемых предметов?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 23.05.2006 в 13:54:46
\\Tactical\Overhead Types.h:
#define      NUM_PLANNING_MERCS      8  - это что значит?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 05.06.2006 в 15:27:33
Давно хотел спросить...
При компиляции у меня возникает 12 ворнингов:
- C:\Standard Gaming Platform\WinFont.c(353) : warning C4028: formal parameter 1 different from declaration
- C:\Standard Gaming Platform\WinFont.c(353) : warning C4028: formal parameter 2 different from declaration
- C:\Standard Gaming Platform\WinFont.c(353) : warning C4028: formal parameter 3 different from declaration
- C:\Standard Gaming Platform\WinFont.c(353) : warning C4024: 'EnumFontFamiliesExA' : different types for formal and actual parameter 3
- C:\ja2\Build\Tactical\Keys.c(363) : warning C4013: 'DamageObj' undefined; assuming extern returning int
- C:\ja2\Build\Utils\Font Control.c(103) : warning C4101: 'Color' : unreferenced local variable
- C:\ja2\Build\Utils\Font Control.c(102) : warning C4101: 'zWinFontName' : unreferenced local variable
- C:\ja2\Build\TacticalAI\AIMain.c(113) : warning C4101: 'DebugFile' : unreferenced local variable
- C:\ja2\Build\Laptop\IMP Begin Screen.c(1248 ) : warning C4101: 'HireMercStruct' : unreferenced local variable
- C:\ja2\Build\Strategic\Queen Command.c(682) : warning C4101: 'str' : unreferenced local variable
- C:\ja2\Build\JA2 Splash.c(17) : warning C4101: 'hVSurface' : unreferenced local variable
- C:\ja2\Build\JA2 Splash.c(18 ) : warning C4101: 'VSurfaceDesc' : unreferenced local variable

Собственно, чего с этим делать-то? Оставлять? Вроде всё и так работает нормально:confus:

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 05.06.2006 в 21:28:17
2Raty: Ну если работает то ничего не меняй и не трогай. Лишнее можешь закоментировать и посмотреть будет ли всё потом работать.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.06.2006 в 10:01:02
Доброе время суток.
Тут заметил, что у меня отключена подсветка мерков ночью. Так называемый фейковый свет. Так изначально должно быть, или это я своими кривульками случайно задел? В общем пришлось кое чего подшаманить, чтоб заработало.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 09.06.2006 в 11:07:37
2Raty: Настройка "Выделять наёмников во время движения".

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.06.2006 в 12:17:26
2bugmonster:
Это во время движения. А у меня вообще никакого фейкового света ни при движении, ни при стоянии не было. :o
Что характерно, в Soldier Control.c подправил как раз связанное с этой настройкой. Просто убрал условие:
//if the player DOESNT want the merc to cast light
if( !gGameSettings.fOptions[ TOPTION_MERC_CASTS_LIGHT ] )      
{
 return;
}

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 09.06.2006 в 12:54:33
2Raty: Так это надо было в опциях кнопочку нажать которая это включает и всё. А теперь ты эту кнопку просто отключил.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.06.2006 в 13:09:24
Да нет же.
Эта кнопочка влючает/отключает подсветку во время движения. Это я знаю. А у меня вообще никакой и никогда подсветки не было. Вот хоть ты сквозь монитор эту кнопочку в опциях продави, не было подсветки и всё. ;)
Да, теперь он влючается и отключается этой кнопкой, но главное, что он появился. Я и сам не пойму почему именно это моё изменение помогло вернуть фейковый свет.:o

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 09.06.2006 в 13:28:55
2Raty: Аааа знаю, надо на 'G' нажать и всё заработает.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.06.2006 в 13:38:57
2lalien:
О как:wow: Действительно

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 13.06.2006 в 14:57:33
:help:
В окне расстановки мерков перед заходом в сектор рожи и всё остальное рисуется в 2 ряда. А мне вот очень сильно надо чтоб в 3 ряда было.
Знаю, что Tactical Placement GUI.c, знаю или догадываюсь где именно, но как?:lamer:

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 13.06.2006 в 16:20:35
2Raty:
Вычисление координат происходит в строчках типа

xp = 95 + (i / 2) * 54;
yp = (i % 2) ? 422 : 371;

в функциях InitTacticalPlacementGUI() и RenderTacticalPlacementGUI()
т.е. должно быть что-то вроде

xp = 95 + (i / 3) * 54;
yp = (i % 3 ) ? ((i % 3 == 2)? 517 : 422 ): 371;

Естественно, координаты у тебя будут свои, а я так - бегло глянул.

Заголовок: Re: Первые шаги...
Прислано пользователем AK_GRAD на 02.07.2006 в 21:04:31
Сразу прошу не бить меня ногами не отсылать юзать поиск и т.д. У меня есть всего один вопрос. Я знаю что он глуп но тем не менее...

Я полностью англофицировал Буку. Только тогда пошли квесты и исчезли иероглифы.
Вот эту фразу написал S-Vertal на 4 странице данной темы.

У меня очень простой вопрос... как англофицировать буку.

Я шарю в С++ увидев выложенные исходники Ja решил посидеть над ними. Собрал это всё дело откомпилил... Как было написано в самом начале темы - всё жёлтое. А как от этого избавиться я не понял...
Как выяснилось после прочтения этой темы я изобрёл несколько велосипедов))
Кстати я понимаю что это не актуально но темнеменее в VC++ 6  в tools\options можно указать директории откуда брать библиотеки и заголовочные файлы. Таким образом можно сохранить стройность рабочего пространства а не копировать всё в одну папку.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 03.07.2006 в 09:00:46
2AK_GRAD:

Quote:
У меня очень простой вопрос... как англофицировать буку

Странная формулировка. Если это означает "Как заставить исходники жрать бучьи ресурсы?", то смотри на дефайн RUSSIAN.

Заголовок: Re: Первые шаги...
Прислано пользователем Quark на 08.08.2006 в 12:06:00
Надеюсь задам вопрос в нужную тему :)
Каким образом можно увеличить шанс критического попадания, наносящего урон равный или больший урон противнику? Что, где и каким образом надо отредактировать?

з.ы. просьба сильно не пинать, я полный нуб в программировании :)
з.з.ы. версия Джа - Бука, Голд.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.08.2006 в 10:21:21
2Программеры:
Нужна помощь. Я увеличил максимальный размер команды до 52 единиц ::) (50 бойцов + пока 2 транспорта). Всё работет, нанимал до 37 человек + Хаммер, правда дальше Драссена не совался - проблемы с картами. Стратегия, тактика, переход между секторами, прибытие на вертушке, бои, автобитва, расстановка перед боем, лаптоп - всё вроде работает.
Но т.к. я ламер в этом деле, многое правил чисто интуитивно, и запросто мог где-то что-то не то тронуть. Мог бы кто-нибудь посмотреть (можно чисто визуально) мои каракули и вынести свой вердикт ;) ?
PS Размер архива ~ 700к, так что наверное по почте проще будет.

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 09.08.2006 в 10:57:59
2Raty:  Присылай, посмотрим. На ja2113bugreports[()]googlemail.com

Заголовок: Re: Первые шаги...
Прислано пользователем Pyromancer на 09.08.2006 в 23:24:16
2Quark:
Вообще критическим ударом в исходниках называются удары с мгновенной смертью от ножика или отрубом от транквилизатора, они приходят от особо метких выстрелов/ударов.
Ещё критическим уроном называют регулирование дамага по частям тела(на деле разница есть только при стрельбе в голову). Он потом используется для добавления ещё некоторого количества дамага к уже большому дамагу, чтоб убить врага этим выстрелом сразу и в проверке шанса потери стата.
Ещё есть макро CRITICAL_HIT_THRESHOLD 30, но оно испольуется только для определения ударов с потерей статов.
Самого же "шанса" критического удара с просто повышением урона нету.
так что если захочешь добавить поредактируй функции BulletImpact и HTHImpact , это в Weapons.c со строки 3232



Заголовок: Re: Первые шаги...
Прислано пользователем Quark на 10.08.2006 в 09:29:46
2Pyromancer:  А где находится Weapons.c? И чем редактировать?

з.ы. В ветке про редактирование Джа neyros мне ответил
Quote:
Quark:
Такой алгоритм критического попадания реализован во многих модах. Пионер по этой части - мод NightOps (автор патча - Терапевт).

Вот мне хочется так же, но не только в моде, но и в оригинале (метательный нож в голову, меткий выстрел=смерть) :)
И еще, если я провильно понял, есть отдельный патч на эту тему? О_о

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 10.08.2006 в 12:44:56
2Quark: Weaponc.c - это из исходников игры. Исходники написаны на С, качаются с этого сайта, редактируются и собираются с помощью Visual C++ и вот у вас свой JA2.exe :)

Заголовок: Re: Первые шаги...
Прислано пользователем Quark на 10.08.2006 в 14:45:07
2bugmonster:
Спасибо за ответ :) Чтож, попробую... :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.08.2006 в 16:23:32
2ALL:
1. Не попадалось ли кому-либо что-нибудь про передвижение транспорта по сектору?
2. Вопрос про Эльдорадо. Редактором на карте он ставится, залезть в него можно, как транспорт в списке отображается. Получается, что он полностью работоспособен, за исключением шкурки от Хаммера, или я чего-то упускаю?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 14.08.2006 в 16:32:01
2Raty:
1. Уже сделано. Не фонтан, конечно, но работоспособно на 100%.
2. От Эльдорадо шкурка есть в ресурсах. Нанимается он легко, также как и танки, но в исходниках для ТС отведено только 2 слота.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 15.08.2006 в 11:10:58
2bugmonster:

Quote:
От Эльдорадо шкурка есть в ресурсах

Видел. Но трупа Эльдорадо вроде нет.

Quote:
для ТС отведено только 2 слота.

Увеличить-то вроде не так сложно. Закончу с рисованием, буду это копать.

Quote:
Уже сделано. Не фонтан, конечно, но работоспособно на 100%.

А по подробнее ;)  Поглядеть, пощупать....

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 15.08.2006 в 11:53:06
2Raty: Ездящий транспорт делал TheDrill, за рецептом - к нему.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.08.2006 в 09:56:02
Кто такие: NPC164, NPC165,      NPC166, NPC167, NPC168, NPC169 ? Они хоть как-то используются игрой?

Заголовок: Re: Первые шаги...
Прислано пользователем GreenEyeMan на 17.08.2006 в 23:01:04
2Raty: Это которые безымянные? Мне всегда казалось, что это или простые цивилизаны или враги. Пробовал менять им цвет - ни враги, ни мирные не изменились. Игрой они используються это точно, но как я пытался узнать, но без результатно.

Заголовок: Re: Первые шаги...
Прислано пользователем VM на 18.08.2006 в 01:42:02
2Raty: Под этими и большими номерами используются скрипты диалогов Дейдраны, Элиота и еже с ними, при демонстрации заставок.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 28.08.2006 в 12:54:39
Давно хотелось сделать изменяемые имаджы предметов. Например, приаттачили к пистолю глушитель, и имадж оружия изменился.

Идея, впринципе, такая: если ничего не приаттачено - имаджи берутся из старой папки \\Bigitems. Если есть глушитель - имаджи из папки, например,  \\Bigitemssil. Если подствольник - \\Bigitemsunderslug, если несколько аттачей, то из папки с соответствующей комбинацией. Аналогично и с mdguns.sti. Т.е. каждый ствол прийдется отрисовывать с каждым аттачем и с каждой возможной комбинацией аттачей. Объём рисования меня совершенно не пугает, была бы возможность реализации.

Трудность у меня вот в чем:
\\Interface Items.c :BOOLEAN LoadTileGraphicForItem( INVTYPE *pItem, UINT32 *puiVo )
.....
//Load item
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
sprintf( VObjectDesc.ImageFile, "BIGITEMS\\%s", zName );
CHECKF( AddVideoObject( &VObjectDesc, &uiVo) );
....

Всё более-менее понятно,  но как запихать в эту функцию проверку наличия аттачей, я по своему скудоумию никак не доеду :( Слишком сложно это для меня. Это вообще реально?

В общем - программеры, HELP !

PS А вообще, может есть какой-то более цивилизованный способ реализации данной идеи?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 31.08.2006 в 13:10:02
2Raty:
Мной придуман более основательный и универсальный способ реализации этого дела, который позволяет добиться множества дополнительных замечательных эффектов. Он уже реализован "в зачатке". Суть его заключается в следующем:
1. При сборе нового предмета-комбинации предмет-аттач, собираемый внутрь предмета-основы не уничтожается.
2. При снятии предмета-аттача с предмета-комбинации, предмет-комбинация превращается обратно в предмет-основу.
3. Если предмет-комбинация создаётся не игроком, а игрой, например, как инвентарь фрага, то при создании такого предмета смотрится таблица комбинаций этого предмета и в него "допихиваются" как аттачи все предметы, входящие в него как составляющие. Обязательное наличие в предмете этих составляющих позволит нам всегда разобрать трофей и собрать из него что-то более полезное.

Что мы с этого имеем:
Item #1 - Пистолет Beretta 92.
Item #2 - Пистолет Beretta 92 с глушителем (имеет свою картинку - выглядит как #1, но с присоединённым глушителем)
Item #100 - Глушитель.

Комбинация № x: #1 + #100 = #2

Дополнительные преимущества:
1. Если создать в таблице Weapon два оружия, то у глушёного варианта можно задать полный набор характеристик, изменённых глушителем. Так, например будет ниже точность и ущерб, повысится AP на вскидку, но AP на выстрел понизится из-за компенсирующего эффекта и изменения балланса глушителем. Т.е. в отличие от стандартного Джашного глушителя, его влияние на каджый вид оружия будет уникальным.
2. Такая система позволяет без массивной переделки исходников (как это делается в JA2 v1.136) создать любое количество глушителей, пламегасителей, облегчённых затворов, усиленных возвратных пружин и прочих шняжек для настящего джайца-Самоделкина  ;D
3. Но нам и этого мало: дабы не изнашивать глушитель, мы хотим применять с ним только дозвуковые 9 мм боеприпасы. Создаём отдельный калибр - 9mm_subsonic и прописываем его оружию "Beretta 92 с глушителем". Всё - пистолет с глушителем можно зарядить только дозвуковыми. А чтобы хитрые джайцы не ставили глушак на пистолет, уже заряженный обычными 9 мм, при присоединении глушителя смотрим - совпадает ли калибр "нового" оружия с заряженными патронами и либо автоматически разряжаем пистолет, либо громко  материмся и запрещаем ставить глушитель на заряженный пистолет.
Эта фича, в свою очередь позволяет делать оружие со сменным калибром. Как в НайтОпс Дезерт Игл под калибры .357 и .50 при помощи сменного ствола. Только в данном случае не будет никаких исчезающих из природы деталей и необратимых апгрейдов. Игрок действительно снимет килограммовый ствол и затвор .357 калибра и в получившуюся основу вставит 1,2-килограммовый ствол и затвор .50 калибра. Причём всегда можно быдет проделать обратное.
4. Далее: сменный ствол для пулемётов. Если износ оружия при стрельбе распространять и на аттачи, то сменив изношенный аттач-ствол на аттач-ствол 100% состояния можно повысить состояние всего пулемёта и продолжать стрельбу.

Вообщем, там столько преимуществ, что уже всего не припомнишь. В частности мной уже разработанj воплощение системы Remington 870 Modular Combat Shotgun System во всех её вариантах и все существующие модификации Steyr AUG, включая HBAR c открытым затвором и 9мм пистолет-пулемёт.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 31.08.2006 в 14:27:15
2bugmonster:
Да способ действительно нормальный. Но на то ты и программист. Я же сирый :), исходил из тех изменений кода, которые хотя бы представляю как должны выглядеть.

Quote:
Если создать в таблице Weapon два оружия, то у глушёного варианта можно задать полный набор характеристик, изменённых глушителем.

Давно хотел таким способом попробовать сделать АК с магазином на 30 и 45 патронов. Чтоб при зарядке неродным магазином происходило "превращение".


Quote:
не будет никаких исчезающих из природы деталей и необратимых апгрейдов


Quote:
Далее: сменный ствол для пулемётов.

И это тоже не даёт покоя. Но я представлял себе это как стандартный необратимый апгрейд + создание в инвентаре того объекта, который должен исчезнуть.

Теперь хотелось бы вернуться к своему вопросу. Всёж охота мне это до ума довести(или этому меня до безумия, как фишка ляжет :crazy:  ) С маленькими имаджами пока тупик, а с большими частично работает. Но я не уверен, что я на верном пути, да и варианты кончились :(  Раз уж ты снова здесь, может глянешь чего я там наворотил? :shuffle:

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 31.08.2006 в 15:01:43
2Raty:
Дык, все прелести этого способа от того, что изменений в исходниках - меньше малого.

Quote:
Давно хотел таким способом попробовать сделать АК с магазином на 30 и 45 патронов. Чтоб при зарядке неродным магазином происходило "превращение".

Зачем извращаться? Я уже сделал магазины разной ёмкости, по типу Бригады E5.

И по вопросу:
В LoadTileGraphicForItem получить информацию об аттачах нельзя. Нужно добавить в параметры указатель на OBJECTTYPE - именно там храниться инфа об аттачах. Уже понятно или код привести?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 04.09.2006 в 14:17:35
2bugmonster:

Quote:
Зачем извращаться? Я уже сделал магазины разной ёмкости, по типу Бригады E5.

Круто, а в какой версии это глянуть можно?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 02.11.2006 в 16:21:16
\\Items.c
BOOLEAN AttachObject( SOLDIERTYPE * pSoldier, OBJECTTYPE * pTargetObj, OBJECTTYPE * pAttachment )
......
           // find an attachment position...
           // second half of this 'if' is for attaching GL grenades to a gun
           if (( fValidLaunchable || pAttachment->usItem >= VOG25 && pAttachment->usItem <= VOG25P ) &&  pTargetObj->usItem == RG6 )
           {  
                 // try replacing if possible
                 bAttachPos = FindAttachmentByClass( pTargetObj, Item[ pAttachment->usItem ].usItemClass );
                 if ( bAttachPos == MAX_ATTACHMENTS )
                 {
                       // we can only do a swap if there is only 1 grenade being attached
                       if ( pAttachment->ubNumberOfObjects > 1 )
                       {
                             return( FALSE );
                       }
                 }
                 else
                 {
                       bAttachPos = FindAttachment( pTargetObj, NOTHING );
                 }
           }

То, что выделено курсивом, даёт возможность заряжать РГ6 несколькими разными гранатами ВОГ. Пока MAX_ATTACHMENTS было 6 -  всё было ОК. Но я собираюсь увеличить до 8-и. Встал резонный вопрос: как ограничить число аттачей ???

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 03.11.2006 в 12:57:49
2Raty: Приведённый код загадочно бессмыслен. :)
Стандартная реализация ф-ии FindAttachmentByClass() не может возвратить MAX_ATTACHMENTS. Значит if ( bAttachPos == MAX_ATTACHMENTS ) никогда не будет выполняться.
Ограничить количество аттачей можно так:

Вставляешь в начало ф-ии объявление переменных:
INT8      bLoop;
INT8      nAmmo = 0;

подсчитываешь количество любых аттачей  в предмете:

for (bLoop = 0; bLoop < MAX_ATTACHMENTS; bLoop++)
     if( pTargetObj->usAttachItem[bLoop] )
           nAmmo++;

если число аттачей в предмете + число гранат на курсоре больше 6 - отменяешь добавление.

if(nAmmo + pAttachment->ubNumberOfObjects > 6)
     return FALSE;

Заголовок: Re: Первые шаги...
Прислано пользователем DJ-Glock на 29.12.2006 в 13:03:26
Господа, аосоветуйте декомпилятор для декомпиляции экзешника джа2уб  ::)

Заголовок: Re: Первые шаги...
Прислано пользователем Ice_T на 29.12.2006 в 15:30:25
2DJ-Glock:

Есть же исходники :-/.

Заголовок: Re: Первые шаги...
Прислано пользователем DJ-Glock на 29.12.2006 в 15:42:54
2Ice_T: ок. А чтоб скомпелировать екзешник, вижуал бейсик подойдёт? Полегче компиляторы имеюца?

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 29.12.2006 в 15:49:02
2DJ-Glock:  
Quote:
А чтоб скомпелировать екзешник, вижуал бейсик подойдёт?  
:rzhach:

В юмор, однозначено!

Заголовок: Re: Первые шаги...
Прислано пользователем DJ-Glock на 29.12.2006 в 15:50:57
2Strax5: да ну тебя!  >:( :P:cry:

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 29.12.2006 в 17:30:41
2DJ-Glock: Чтобы скомпилировать экзешник подойдёт Visual C++ версии не ниже 5.0.

Заголовок: Re: Первые шаги...
Прислано пользователем DJ-Glock на 29.12.2006 в 19:45:52
2bugmonster: а декомпилировать мона чемнить? :)

Заголовок: Re: Первые шаги...
Прислано пользователем desants на 29.12.2006 в 20:45:11

Quote:
Чтобы скомпилировать экзешник подойдёт Visual C++ версии не ниже 5.0.  
Предметом не владею... Но напоминает о "ведре трансмиссии"

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 03.01.2007 в 14:20:26
2DJ-Glock: Декомпилировать обратно в исходники на С нельзя, а декомнилировать в инструкции на asm - смысла нет.

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 05.01.2007 в 14:45:07
2bugmonster: Не совсем так. Но лучше взять исходники.

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 05.01.2007 в 14:48:42
2bugmonster: Имею в виду попробовать asm - uml - C.  :)

P.S. Согласен. Извращение.

Заголовок: Re: Первые шаги...
Прислано пользователем Pyromancer на 07.01.2007 в 14:47:07
2Strax5:
2bugmonster:
Да есть декомпиляторы для С (вот например http://www.backerstreet.com/rec/rec.htm или http://boomerang.sourceforge.net/ ). Так как Ja2 написан считай на С то декомпилировать его думаю можно. Это для С++ нормально работающих декомпиляторов нет  ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 19.02.2007 в 16:30:08
Tactical\opplist.c void AppendAttachmentCode( UINT16 usItem, UINT16 *str )
Что делает эта функция? Нужно набрать "sil", чтобы получить глушитель?

Game Init.cvoid QuickSetupOfMercProfileItems( UINT32 uiCount, UINT8 ubProfileIndex ) Если судить по gMercProfiles[ 78 ], то что-то про Кармена? Да еще и в зависимости от чего-то... От чего? И самое непонятное : gMercProfiles[ ubProfileIndex ].inv[ SECONDHANDPOS ] = 5; Пять чего???
Ну и последнее: при uiCount == 2 в HANDPOS образуется Глок, а в SMALLPOCK5POS - сошки. Э:confus: Сошки-то зачем?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 21.02.2007 в 09:46:42
AppendAttachmentCode( UINT16 usItem, UINT16 *str ) добавляет в предоставленную строку str краткое текстовое обозначение предмета с номером usItem, в случае, если это глушак, сошки, оптика, лазерник. Используется она для вывода отладочной информации о солдате на спец. странице, которая наверняка была порезана из исходников и нам, простым модостроителям эта ф-я не должна быть ничем интересна.
void QuickSetupOfMercProfileItems( UINT32 uiCount, UINT8 ubProfileIndex ) - раздача мерку с номером ubProfileIndex специального набора снаряжения.
строка gMercProfiles[ 78 ].bMercOpinion[ ubProfileIndex ] = 25; делает отношение Кармена к этому мерку высоким.

Quote:
gMercProfiles[ ubProfileIndex ].inv[ SECONDHANDPOS ] = 5; Пять чего
Не "пять чего?", а "пятое что?" ;D Пятый предмет a.k.a. Смитт-Вессон. Строчка эквивалентна такой:
gMercProfiles[ ubProfileIndex ].inv[ SECONDHANDPOS ] = SW38;
QuickSetupOfMercProfileItems - тоже отладочная функция, потому нам она нафиг не нужна и все вопросы по нелепости её содержания тоже отпадают, потому как при отладке и не такое бывает. ::)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 28.02.2007 в 14:14:54
:help:
Не могу найти код.
Ситуация: на оружие приаттачен подствольник + граната для подствольника. Ну пусть будет осколочная. Я беру курсором другую гранату, пусть будет дымучка, для подствола и аттачу к оружию. Гранаты меняются местами, на курсоре теперь осколочная, на оружии - дымучка. Где это???

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 28.02.2007 в 15:00:53
2Raty: А что конкретно нужно?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 28.02.2007 в 15:05:53
2bugmonster:
Если совсем конкретно, то почему заменяется именно граната, а не какой-либо другой аттач или сам подствольник.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 28.02.2007 в 15:39:18
2Raty: Андырстанд. :)
В функуции AttachObject (а где же ещё это могло быть?).
тут смотрится, цепляем ли мы гранату
Itemc.c, 2589:
if ( fValidLaunchable || pAttachment->usItem >= GL_HE_GRENADE && pAttachment->usItem <= GL_SMOKE_GRENADE )
И если это так, то пытаемся найти аттач такого же класса в оружии (т.е. тоже гранату), Itemc.c, 2598:
bAttachPos = FindAttachmentByClass( pTargetObj, Item[ pAttachment->usItem ].usItemClass );

Далее, если "старая" граната нашлась, сохраняем её во временный объект TempObj, Itemc.c, 2668:
if ( pTargetObj->usAttachItem[ bAttachPos ] != NOTHING )
{
   CreateItem( pTargetObj->usAttachItem[bAttachPos], pTargetObj->bAttachStatus[bAttachPos], &TempObj );
}


Ставим на её место новую гранату, Itemc.c, 2673:
pTargetObj->usAttachItem[bAttachPos] = pAttachment->usItem;
pTargetObj->bAttachStatus[bAttachPos] = pAttachment->bStatus[0];


Если старая граната была сохранена в TempObj, то копируем её "на курсор" Itemc.c, 2699:
if ( TempObj.usItem != NOTHING )
{
  // overwrite/swap!
  CopyObj( &TempObj, pAttachment );
}


Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 01.03.2007 в 11:22:37
2bugmonster:
Ага теперь всё как на ладони ;)

Еще небольшой вопросик: Item types.c:
// SUBTYPES
#define IC_NONE                                  0x00000001
...
Что это за циферки после каждого? Мне понадобилось добавить IC_SCOPE.
Вставил в конце после IC_MONEY, циферки поставил 0x40000000. Я всё правильно сделал? Вроде всё что надо работает, но сомнения остались.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 01.03.2007 в 13:02:13
2Raty:
#define IC_NONE  0x00000001 означает, что в исходниках перед компиляцией все найденные в тексте IC_NONE будут заменены на 0x00000001.
Т.е. ты заводишь уникальное число, означающее какой либо класс предмета, а чтобы не ломать мозги, вспоминая какой же класс предмета оно у тебя означает ты пишешь #define IC_NONE  0x00000001 и вместо этих циферок используешь понятное, самозасебяговорящее название IC_NONE (IC расшифровывается как Item Class).

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 13.03.2007 в 15:13:08
А с редактором кто-нить разбирался?
В начале этой ветки говорилось, что релизный редактор вылетает при ручной выдаче оружия. Кто-то в курсе из-за чего вылет?
К слову сказать, раньше у меня такое к величайшей моей радости бывало крайне редко, а вот теперь почти 100%. Слышал, что дебаг-версия редактора в этом плане нормально работает, но я не могу собрать дебаг :idontnow: . Пишет, что не хватает какой-то .lib (ЕМНИП VtuneApi.lib). C этим можно как-то бороться?

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 13.03.2007 в 22:05:20

Quote:
Пишет, что не хватает какой-то .lib (ЕМНИП VtuneApi.lib). C этим можно как-то бороться?  


Выкинь эту lib из исходников. Или используй build от Lesh'a.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.03.2007 в 17:10:43
2lalien:

Quote:
Выкинь эту lib из исходников.

:confus: А как? Я ведь в программинге дуб...

2All:
Чего-то я опять не могу понять:
Animation Control.c // SWITCH TO DIFFERENT AIM ANIMATION FOR BIG GUY!
Различная анимация стрельбы для качков. Это прекрасно работает в зависимости от галочки badass в проедите. Но дальше есть // SWITCH TO DIFFERENT STAND ANIMATION FOR BIG GUY! Здесь и остальные ниже переключения анимации почему-то не работают. Они ведь тоже завязаны на badass или нет?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 26.03.2007 в 11:07:36
2Raty: Лезь в свойства проекта ja2, ищи какую нибудь вкладку с надписью linker, ищи на ней список разных *.lib и удаляй из него нужную. И так для каждой нужной конфигурации.

Quote:
Но дальше есть // SWITCH TO DIFFERENT STAND ANIMATION FOR BIG GUY! Здесь и остальные ниже переключения анимации почему-то не работают. Они ведь тоже завязаны на badass или нет?

Не очень понял в чём вопрос. Просто у качков ЕМНИП есть дополнительный набор анимаций с автоматом у пояса (по СС-овски ;D ) и он включается по флагу SUB_ANIM_BIGGUYTHREATENSTANCE.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 26.05.2007 в 22:26:56
Кто-нибудь пользуеться Visual Studio .NET, помогите пожалуйста. Попытался скомпилить.

Ругаеться на #include <iostream.h>, говорит не могу найти iostream.h  :o

И выдаёт кучу таких ошибок:

Error      1915      error C2198: 'swprintf' : too few arguments for call      c:\ja2\Build\Utils\Text Input.c      280      
Error      1607      error C2440: 'function' : cannot convert from 'FLOAT' to 'const wchar_t *'      c:\ja2\Build\Tactical\Interface Items.c      3177      






Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 28.05.2007 в 09:15:11
2pipetz: ЕМНИП, нужно просто закомментить эту строчку. Так:
//#include <iostream.h>
И эти ерроры тоже пропадут.

ЗЫ Да поможет тебе волшебный Ребилд Солюшн :type:  ;D

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 28.05.2007 в 13:45:25

Quote:
Кто-нибудь пользуеться Visual Studio .NET, помогите пожалуйста


Какая у тебя версия? 2005? Тогда тебе сюда: http://www.ja-galaxy-forum.com/board/ubbthreads.php/ubb/showflat/Number/131827/page/1#Post131827


Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 28.05.2007 в 23:59:25
Ура! Скомпилил исходники с помощью VS2005!
2bugmonster: 2lalien:  Спасибо большое!

#include <iostream.h> в файле JA2 SGP ALL.H закоментил.
Далее ко всем проектам применил настройки с  http://www.ja-galaxy-forum.com/

Quote:
C/C++ - Preprocessor - Preprocessor Definitions: append ";_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS"
C/C++ - Code Generation - Runtime Library: change to /MD and /MDd for Release and Debug configurations respectively
C/C++ - Language - Treat wchar_t as Built-In Type: change to "No (/Zc:wchar_t-)"
C/C++ - Language - Force Conformance In For Loop Scope: change to "No (/Zc:forScope-)"
Resources - General - Additional Include Directories: set to "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc"

Все остапьные манипуляции описаны в этой ветке.
Получился какой-то экзешник.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 31.05.2007 в 01:06:08
Релизный экзешник собрался, запускаеться и работает нормально.
А с дебажным проблемы.  :) Он тож собрался, после удаления из линков vtuneapi.lib, но при запуске виснет намертво и в обычном режиме и в режиме редактора.

Подскажите, пожалуйста, как собрать нормальный exe в конфигурации Debug?

Запустил из под студии, виснет судя повсему в файле vidio.c функция BOOLEAN GetRGBDistribution(void).
вот этот цикл крутиться вечно:
 usBit = 0x8000;
 gusRedShift = 8;
     while(!(gusRedMask & usBit))
     {
           usBit >>= 1;
           gusRedShift--;
     }

Попробую сам разобраться, но если кто сталкивался с таким приколом, подскажите, пожалуйста, что делать.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 31.05.2007 в 07:53:28
2pipetz: дебаг-версия экзешника запускается только в 16-битном режиме рабочего стола

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 31.05.2007 в 09:44:19
Спасиб.

А какие карты нужны для Debug-a? Те что работают с релизом он грузить не хочет.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 31.05.2007 в 16:33:14
не помню такой проблемы. возможно в одной из конфигураций у тебя стоит дефайн RUSSIAN, а в другой - нет.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 31.05.2007 в 16:48:34
2bugmonster:  
Quote:
не помню такой проблемы. возможно в одной из конфигураций у тебя стоит дефайн RUSSIAN, а в другой - нет.  


А нельзя ли по подробнее, где этот define искать.
Я сам дефайны никаие не менял, русификацию делал с помощью файлов и шрифтов, которые выкладывал здесь Безумный_коврик.

Дебажный ЕХЕ запускаеться и работает нормально до высадки. Перед высадкой выдвёт стандартный еррор-экран, что не может загрузить карту.
Пишет что-то вроде: may be old exe?
 

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 31.05.2007 в 17:52:34
2pipetz: Посмотри в language defines.h

Заголовок: Re: Первые шаги...
Прислано пользователем mesenn на 13.07.2007 в 00:47:56
Извините, вопрос совсем нелепый, а шаги самые первые.
Хочу подправить имена и поведение некоторым НПС (а получится, может и над мерками чтн учудить решу).
Попробовал сделать это с помощью ProFileEdit (скачал с http://ja2.ru/files_viev.php?type=red). Пытался открыть prof.data (буковская ЦС), безрезультатно. Программа не протестует, но ничего не происходит. В binarydata лежит еще два датовских файла, но один не открывается вообще (ругается), а второй - "не является классическим файлом профилей" или что-то вроде. Подскажите, пожалуйста, где я накосячил.

Заголовок: Re: Первые шаги...
Прислано пользователем ThunderBird на 13.07.2007 в 07:30:49
Изменения  вступают в силу только после начала новой игры. Проэдит позволяет изменять имена неписей и мерков, их инвентарь и все. За поведение отвечают скрипты. Как их править - придут знающие люди и ответят. Я в этом некомпетентен :( :)

Заголовок: Re: Первые шаги...
Прислано пользователем mesenn на 15.07.2007 в 19:24:09
Наверное, я плохо объяснил.
Дело не в том, что изменения не вступают в силу,  а в том, что когда я пытаюсь открыть профедитом файл с профилями НИЧЕГО не происходит. То есть программа не говорит, что не может открыть файл, но и в едиторе ничнго не отображается.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 14.08.2007 в 11:54:50
Помогите найти информацию по STI формату.
Структура заголовков?
Формат данных?
Алгоритмы сжатия?


Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 14.08.2007 в 12:13:32
2pipetz: А тебе для чего надо? Если для того, чтобы грузить их в своё приложение, то могу сразу посоветовать просмотрщик grv, который лежит на этом сайте. Он идёт с исходниками, и в них есть готовая функция загрузки стишек - это самый удобный способ. Менее удобный - выковырять то же самое из исходников JA2.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 14.08.2007 в 14:10:58
Да, это то что надо.
Я хотел просмоторщик написать, а то Sti-Editoro-м
больно неудобно смотреть.

Интересно, повидимому GRV - просмоторщик писали
когда, исходники ещё не были доступны.
Судя по:
 short int ColorCount; // кто-то предположил, что здесь количество цветов.  :)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 14.08.2007 в 14:45:02
2pipetz: Да, он вообще мультиформатный для всех игр был. А форматы как правило расковыриваются реверс-инжинирингом.
Я тоже планирую написать утилитку для просмотра/редактирования стишек - давай объединяться :D

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 14.08.2007 в 20:23:11
2bugmonster:

Quote:
Да, он вообще мультиформатный для всех игр был

Почему был? А сейчас не мульти форматный?  :)

Давай. А в чём будут его фичи. Чем он будет лучше Sti-Editor-a?
Вьювер я уже почти написал в процессе ковыряния в стишках и исходниках.
Только я пишу на C#. C++ знаю только на уровне институтского курса и пары
книг. Опыта нет.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 14.08.2007 в 22:47:18
2pipetz: Я и на C# могу, вот только потом распространять редактор, требующий себе пухлый дотнетфреймворк будет проблематично. А по "моему" редактору - читай в этом разделе посты Тундербирда, он выкладывал требуемую функциональность. Я пока на стадии технического задания :)
В любом случае, мне будет интересно увидеть твою прогу.

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 15.08.2007 в 12:48:17
Мне кажется, требования заявлял Strax5, в ветке Экстерьер.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 15.08.2007 в 14:32:58
2MAn: А, точно. "Забыл, опять забыл" (с)  :D

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 15.08.2007 в 14:47:43
2MAn:  

Quote:
Мне кажется, требования заявлял Strax5, в ветке Экстерьер.  

ок. Поищем. Хорошо бы от авторов услышать
где они заявляли, чтоб долго не искать.  :)

2bugmonster:  

Quote:
Я и на C# могу, вот только потом распространять редактор, требующий себе пухлый дотнетфреймворк будет проблематично

23 МБ, разве это пухлый.  :) Распространяется свободно, скачать можно тут
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en
На "Висту" предустановлен.  :)

Прогу хотел приаттачить, но что-то не нашёл как.
Это только у меня или глобальный глюк?



Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 15.08.2007 в 14:58:06
О! Появилась кнопка!

Порога с исходниками в аттаче. Код, конечно, кривой.
Вольное переложение исходников джаги на C# 2.0, типа
что вижу - то пишу.  :)

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 31.08.2007 в 16:17:18
Подскажите, пожалуйста, зачем в стишках нужна ApplicationData в конце файла.
Там по 16 байт на каждый кадр, и почти все они пустые, но не все.
Что-то она хранит, размер свой что ли. Помогите, плз.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 03.09.2007 в 07:25:05
2pipetz: Если это то что я думаю, то там лежит дополнительная служебная информация, в зависимости от назначения стишки. Например стишка с чьей-то анимацией содержит разметку кадров анимации по направлениям. Для стишек-тайлов там ЕМНИП хранится привязка к jsd-структурам.

Заголовок: Re: Первые шаги...
Прислано пользователем Psyho на 13.12.2007 в 11:05:34
Народ, а кто небудь портировал Ja2 на Linux ?
В свое время вроде был какой-то дистрибутив от канадцев для Linux, никто не подскажет где добыть ?

Заголовок: Re: Первые шаги...
Прислано пользователем lalien на 13.12.2007 в 11:39:50

Quote:
Народ, а кто небудь портировал Ja2 на Linux ?
В свое время вроде был какой-то дистрибутив от канадцев для Linux, никто не подскажет где добыть ?


http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=150445&page=1#Post150445

https://81.169.133.124/source/ja2/branches/Lesh/

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 03.04.2008 в 09:53:52
ЛЮДИ, ЧЕЛОВЕКИ, ПОМОГИТЕ:help:
Давным-давно, комрад WISDOM или выкладывал здесь, или присылал по почте исходники с увеличенной стратегической картой 20х20 секторов. У себя всё облазил не нашёл, ни дома, ни на работе. Есть у кого? Поделитесь, плз.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 07.04.2008 в 14:13:09
подскажите, что это значит:
EDITOR\LoadScreen.c
if( gzFilename[0] != '\0' );
интересует '\0'

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 07.04.2008 в 14:48:27

Quote:
интересует '\0'  

Ну, типа пустая строка. В C все строки оканчиваются нулевым байтом, признак
конца строки такой. Пустая строка соответственно из одного нулевого
байта и состоит.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.04.2008 в 13:57:32
Пара вопросов, господа.
1. TileEngine\Exit Grids.c(35):
     iExitGridInfo  = (pExitGrid->ubGotoSectorX-1)<< 28;
     iExitGridInfo += (pExitGrid->ubGotoSectorY-1)<< 24;
     iExitGridInfo += pExitGrid->ubGotoSectorZ    << 20;

что означают <<, и что за цифры?

2. много где встречается
ubSrcSectorX = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID % 16) + 1;
ubSrcSectorY = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID / 16) + 1;

почему для SectorX идёт % 16, а для SectorY - / 16 ?

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 14.04.2008 в 14:11:51
2Raty:
Дружище тебе бы взять какой-нить учебник по C почитать. Там читать то
немного, зато сразу куча вопросов по исходниками отпадёт.
<< - это операция битового сдвига влево. Число справа от этого знака это
кол-во битов на которое сдвигается значение.
Например 0000 0001 << 4 = 0001 0000
% - это деление по модулю, или остаток от деления.
/ - это соответственно целая часть частного.
В данном случае % 16 и / 16 используется для выделения последних и первых
4 бит соответственно.  
Например 0110 1001 % 16 = 0000 1001; 0110 1001 / 16 = 0000 0110.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.04.2008 в 15:10:45

Quote:
Дружище тебе бы взять какой-нить учебник по C почитать. Там читать то  
немного, зато сразу куча вопросов по исходниками отпадёт.  

бесполезно, я пробовал ;)

По второму более-менее стало понятно.

Тут в другом вопрос. Пытаюсь расширить стратегическую карту до: колонок(х) 34, столбцов(у) 32, больше в разрешении 1024х768 не помещается. Мучаю пока только редактор, ибо править вроде как много меньше. Т.к. алфавита не хватает, то я решил вообще избавиться от букв. Карты обзываю 1.9.dat(бывшая А9.dat), 1.10_В1.dat(бывш.А10_В1.dat). Редактор открывает, редактирует и сохраняет всё вплоть до 32.34.dat. Правда, тестировал я не особо плотно и подземные пробовал только 1.10_В1.dat. Единственное, что мне пока не удалось сделать - это добиться того, чтоб правильно назначались координаты сектора, когда я задаю точку перехода(ExitGrid). До 16.16 всё правильно, если поставить, например, 17.17, то будет 1.1. Т.е. где-то я пропустил ограничение до 16, но где, ума не приложу. TileEngine\Exit Grids.c(35): с этим связано?

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 14.04.2008 в 15:49:43
Судя по тому коду что ты приводишь у них там жёстко зашито, что координаты
сектора не могут быть больше 16. Придётся много переписывать в том числе
и менять типы полей. Например это:

Quote:
ubSrcSectorX = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID % 16) + 1;
ubSrcSectorY = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID / 16) + 1;  

Будет как-то так (если делать карту 32 на 32, с неквадратными я бы вообще
не стал заморачиваться)
ubSrcSectorX = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID % 32) + 1;
ubSrcSectorY = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID / 32) + 1;
и тип ubSectorID надо расширить до UINT16.

Это

Quote:
iExitGridInfo  = (pExitGrid->ubGotoSectorX-1)<< 28;
iExitGridInfo += (pExitGrid->ubGotoSectorY-1)<< 24;
iExitGridInfo += pExitGrid->ubGotoSectorZ    << 20;  

как-то так

iExitGridInfo  = (pExitGrid->ubGotoSectorX-1)<< 27;
iExitGridInfo += (pExitGrid->ubGotoSectorY-1)<< 22;
iExitGridInfo += pExitGrid->ubGotoSectorZ    << 17;

И тут сразу возникает вопрос, а влезет ли остальная  ExitGridInfo в оставшиеся 17 бит наверное нет :(. Тогда может так  
iExitGridInfo  = (pExitGrid->ubGotoSectorX-1)<< 27;
iExitGridInfo += (pExitGrid->ubGotoSectorY-1)<< 22;
iExitGridInfo += pExitGrid->ubGotoSectorZ    << 20;
Но это при условии что подземных уровней будет не больше трёх.
Или расшиярть тип iExitGridInfo.
Тут, короче, нужен специалист по C, которым я не являюсь. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.04.2008 в 16:14:28
2pipetz:
ну уж найти 16 и заменить на то, что мне нужно у меня мозга хватит ;)

Quote:
Но это при условии что подземных уровней будет не больше трёх.

в оригинале вроде как раз 3, и лично мне больше и не надо.

Quote:
(если делать карту 32 на 32, с неквадратными я бы вообще
не стал заморачиваться)

Да я вот тоже думаю:confus: ... Но пока вроде получается.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 14.04.2008 в 20:09:05
У меня тож вопрос по исходникам. В функции загрузки сектора LoadWorld в
файле worlddef.c есть такой код:

Quote:
// Read new values
if( bCounts[ cnt ][ 0 ] > 10 )
{
   cnt = cnt;
}

И он повторяется при загрузке каждого слоя. Зачем он?
Он же ничего не делает. Вроде и без него нормально всё загружается.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 15.04.2008 в 09:25:07
2pipetz: Да ни за чем. Он реально ничего не делает. Возможно не хотели удалять, поэтому оставили в таком безобидном виде :-)

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 15.04.2008 в 09:32:53
2pipetz & jarni: Возможно, это "подпись". Юридическая фигня - включение в код ничего не значащих функций и целью последующего удобства в отстаивании своих авторских прав.
Нарушители авторских прав не сразу это догонят. А если найдут, то не все.
Соотвественно в суде толком ничего объяснить не смогут.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 15.04.2008 в 09:51:08
2Strax5: Да нет, все гораздо проще. Это чтобы брыкпоинт при отладке было куда ставить.


Quote:
// Read new values
if( bCounts[ cnt ][ 0 ] > 10 )
{
   cnt = cnt; <-- вот сюда его и ставят
}

и тогда прога останавливается по условию, указанному в if.
На самом деле в VS есть стандартные средства для срабатывания брыкпоинтов по условию, но когда-то я и сам таким способом пользовался, хотя это конечно и тупизм (одним больше, одним меньше :) )

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 15.04.2008 в 10:19:45
О, Серёга вернулся! :)
А никто не думал об оптимизации этой функции LoadWorld. У меня есть
внутреннее ощущение, что её можно ускорить, или я где-то на форуме про
это видел мельком.
Например сделать загрузку всех слоёв в одном цикле, а не в 6.
Предварительно, конечно, вычислив смещения откуда каждый слой
начинается. Это можно сделать в цикле считывания кол-ва объектов в каждом
тайле слоя (или слое тайла :)). Я так попробывал вроде по моим замерам
ускорилось процентов на 10-15. Хотя выборку я сделал не большую.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 15.04.2008 в 10:21:55
Или при считывании кол-ва объектов в каждом тайле слоя (или слое тайла)
запоминать в каких тайлах для данного слоя ненулевое число объектов и
потом при считывании бежать только по этим тайлам, а не по всем подряд.

Ведь для всех слоёв выше первого очень много пустых тайлов, зачем же
бежать по всем от 0 до WORLD_MAX = 25600

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 21.04.2008 в 15:53:35
2bugmonster:  

Quote:
На самом деле в VS есть стандартные средства для срабатывания брыкпоинтов по условию

Есть мнение, основанное на собственном опыте, что проверка этого условия в
брыкпоинте очень дорого обходится, по крайней мере в VS 2005. Тормозить
начинает при большом числе проверок, а там как раз цикл на 25000 итераций.
Так что может такой способ и обоснован в данном случае.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 22.04.2008 в 10:57:42
2pipetz: Вполне может быть. О производительности приложения, запущенного под отладчиком я раньше как-то не задумывался  ::)

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 21.08.2008 в 16:39:26
Soldier Ani.c:
case 441:
// CODE: Show mussel flash

это вспышка от выстрела? И если.таки да, то может кто-нить условия на разговорный русский перевести ;D? А то я чего-то никак не вкурю.

Заголовок: Re: Первые шаги...
Прислано пользователем ddd на 21.08.2008 в 16:52:43
интересный камент. показать вспышку мидии?  :o

Заголовок: Re: Первые шаги...
Прислано пользователем Zed на 21.08.2008 в 17:01:46
2Raty:
Мыслится мне что это или сленг мне не извесный или описание формы вспышки
"Показать ракушкообразную вспышку" как то так:)
Расследование показало, кодер скорее всего неграмотен :)
Muzzel flash - Дульная вспышка или дульное пламя, кому как нравится.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 22.08.2008 в 14:06:27
2Zed:

Quote:
Расследование показало, кодер скорее всего неграмотен :)
Muzzel flash - Дульная вспышка или дульное пламя, кому как нравится.

И не только он  ;D Правильно будет muzzle flash, и по коду там действительно освещается мерк во время выстрела (когда встретил в коде этот каммент, я подумал что это канадский франкоязычный сленг, просторечие или каламбур какой-то, а не неграмотность).

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 22.08.2008 в 14:08:49
2bugmonster:

Quote:
Правильно будет muzzle flash

не неграмотный, а торопливый скорее всего. Просто 2 буквы местами попутал.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 23.08.2008 в 00:42:29
2Raty: ...и ещё 2 неправильно написал. Если бы он писал слово ПИВО с четырмя ошибками, то получилось бы слово ХЛЕБ  ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Zed на 23.08.2008 в 00:54:29
2bugmonster:
Он не про кодера, он про меня.
Таки действительно я просто очепятался.
2bugmonster: 2Raty:
Флудеры, вы б лучше iншему помогли, а не грамотность мою и бедного раба-кодера обсуждали  ::)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 23.08.2008 в 16:04:53
2Zed: А кто тебе сказал что я ему не помогаю? :)

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 24.10.2008 в 09:23:31
2Ruffian: Если прочитать начало темы, то директ Х не нужен для компиляции. Возможно в памяти что-то перепуталось, помню точно что багмонстр переводил ДЖА2005 мод на директХ 8, или что-то подобное.

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 26.10.2008 в 19:20:28
Расскажите пожалуйста как из голдовских исходников собрать экзешник в Visual Studio 8? В начале темы об этом говорилось, но разобраться не получается. Желательно, как можно подробнее.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 26.10.2008 в 21:27:16
Вот здесь обсуждалось как 2005-ой студией собрать. По-моему достаточно подробно.
По крайней мере я собрал, по этим рекомендациям.
http://forum.ja2.su/cgi-bin/yabb/YaBB.pl?board=gravediggers;action=display;num=1079095151;start=466#466

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 26.10.2008 в 23:38:39
2pipetz, ничего полезного не нашел на той странице, на которую ты указал. А саму ветку я читал. У меня не получается. Можно объяснить по пунктам?

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 27.10.2008 в 10:49:21
2Ruffian:
Чтобы объяснить по пунктам, мне надо сейчас скачать исходники и заново скомпилить их.
Потому что я, конечно, не помню точно как я это делал полтора года тому назад.
Но для этого мне надо хотябы знать откуда ты качал исходники. Дело пойдёт быстрее,
если ты скажешь по человечески, где у тебя затык, в чём конкретно проблема.

ЗЫ Что касается, "написать по пунктам", то это дело правильное.
Это надо сделать и вынести куда-нить в FAQ, просто времени нет.
Так что не факт, что это кто-то быстро сделает и сделает вообще.

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 27.10.2008 в 17:25:34
2pipetz, у меня голдовские исходники, которые выложены на сайте в разделе Файлы\Исходники.

Один умный человек мне посоветовал поинтересоваться здесь по поводу переработанной версии исходников. У кого-то она должна быть.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 27.10.2008 в 17:29:30
2Ruffian:

Quote:
переработанной версии исходников.

Каким образом переработанной? Чтобы скомпилить исходники под VS2005 их не надо менять.
Надо кое-какие настройки в студии поменять и всё. Ты хоть пытался скомпилить их?

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 27.10.2008 в 19:18:38
2pipetz, пытался. Вот по этому описанию:


Quote:
1. Папки ja2 и SGP(Standart Gaming Platform) кидаешь в корневой на C:/
2. Из SGP все файлы дублируешь в ja2\build
3. Открывешь ja2.dws в VC++6.0
4.
5. Правишь файл C:\ja2\Build\jascreens.c (удаляешь строки 1178 и 1523)
6. Меню Build/Set Active Configuration - выставляешь Ja2 Win32 release
7. Компилишь F7.
8. Компилятор ругается, что не находит файлов, и пути указывает. Ищешь их в ja2\build и копируешь. (около 10 штук с расширением .h), смотри мой первый пост.
9. Снова компилишь, пп 7-8 до тех пор, пока не скомпилит (чтоб было "0 errors")
10. Кидаешь ja2.exe в папку с игрой.
11. Ищешь mss32.dll в папке с Ценой Свободы, и этим файлом заменяешь подобный в папке с Агонией Власти.
12. Если есть англофицированные шрифты - спроси у ребят, где их взять, англ. fonts.slf, кидаешь их в \data


Стоит ли на это вообще ориентироваться или надо как-то по-другому?

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 27.10.2008 в 20:20:43
2Ruffian:
Наврал, конечно тебе. Надо там менять много чего. Говорю же не помню уже ничего.  :)

Quote:
пытался. Вот по этому описанию:  

Да, по этому описанию.

Могу выложить свои исходники. Но это не голд, а бука кажется. И, возможно, я там уже чего, то смодифицировал.  

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 27.10.2008 в 21:14:54
2pipetz, хотелось бы все-таки четко по пунктам, как правильно загрузить исходники в VS. Модифицировать их я уж сам хочу. ;)

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 27.10.2008 в 21:21:39
2Ruffian:

Quote:
хотелось бы все-таки четко по пунктам, как правильно загрузить исходники в VS. Модифицировать их я уж сам хочу.

Понятно. :)
Пробовал щас только скомпилить голдовские исходники с этого сайта тоже по этим рекомендациям.
Чё-то сходу не получилось. Там довольно кропотливая работа. Если время будет сделаю и выложу
по шагам. Но когда - хз.  

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 27.10.2008 в 21:30:14
2pipetz, надеюсь, время у тебя скоро появится. ;)
Хочу творить! :D
Жду с нетерпением! :)

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 29.10.2008 в 09:05:23
2Ruffian: Если тебе не влом достать VS 6.0 то указанные тобою исходники собираются почти сразу. Единственные изменения которые мне пришлось сделать так это вставить в глобальные пути VS два путя: c:\ja2\build для Tools->Options->Directories->Include files, и c:\Standart Gaming platform для Library files там же.

VS 2005 и VS2008 обе ругаются на какуюто хрень в стандартном файле а также не понимают int тип как тип возвращаемой переменной в файле Quantize.h. Также нужно обязательно добавлять _CRT_NON_CONFORMING_SWPRINTFS иначе эти студии пытаются подставить другую функцию swprintf и получается куча ошибок компилляции. Также такое макро не помешает _CRT_SECURE_NO_DEPRECATE. Оно убивает все варнинги о том что используются устаревшие функции и это может быть небезопасно. Пару этих макро нужно вставить в настройки для всех проэктов в конец Выбранный проэкт->Project->Properties->C++->Preprocessor->Preprocessor definitions.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 29.10.2008 в 09:17:34
2Ruffian: В добавок к старшим студиям. В файле Build\Utils\Quantize.h перед методом ProcessImage нужно написать BOOL потому что они не делают int типом возврата по умолчанию. В файле Build\Utils\Quantize.срр в строке 133 нужно объявление int i перенести в начало метода, а в for операторе оставить только i. Дальше, в файле c:\Standart Gaming Platform\JA2 SGP ALL.h нужно удалить в строке 39 конец имени файла, ".h", потому что нету такого файла. Ну а дальше уже как раз косяк с которым я пока не справился, указывает в cstdio, ругается вот такой строкой "error C2143: syntax error : missing '{' before ':'" потому что каким-то образом отключилось макро __cplusplus из-за которого перестало работать макро _STD_BEGIN. Если есть тут кто кто знает как это решить, милости просим :).

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 29.10.2008 в 11:11:36
Вот и эта проблема решена. В файле c:\Standart Gaming Platform\JA2 SGP ALL.h 39 нужно закомментировать вообще, ей там нечего делать и работала она только из-за кривости шестой студии. После этого 2005 нормально сбилдовала мне ja2.exe.

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 29.10.2008 в 17:57:30
2jarni, что ж с VS 8 делать? VS 6 не найти...

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 29.10.2008 в 18:38:23
2Ruffian: Ну я ж написал что в делать. Всё у меня сбилдилось в ВС 8 (2005). Могу тоже повторить и в ВС 9 (2008), но там нету принципиальных отличий, как с ВС 6.

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 29.10.2008 в 19:06:25
Спасибо, буду пробовать :)

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 04.11.2008 в 13:45:29
Господа, я только начинаю изучать С++ (ведь на этом языке написана Джа?). На какой программе стоит обучаться языку?
Скачал и установил Visual Studio 8. Нашел руководство "C#. Разработка компонентов в MS Visual Studio 2005/2008" (вроде бы к VS "восемь"). Читаю. В примерах скрины из проги - совсем не похожи на общий вид VS 8. Короче путаюсь. Программист из меня фактически нулевой пока (когда-то начинал изучать объектно-ориентированный паскаль, но потом забил). Но вот сейчас загорелся идеей сделать мод для любимой Джа, а для этого без знания языка никуда.
Подскажите, где найти нормальную рабочую версию проги и руководство на русском конкретно к ней, а не к какой-нибудь похожей версии, чтоб я не путался. Или выложите, у кого есть. Надеюсь на понимание.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 04.11.2008 в 20:42:49
2Ruffian:

Quote:
Господа, я только начинаю изучать С++ (ведь на этом языке написана Джа?). На какой программе стоит обучаться языку?
Скачал и установил Visual Studio 8. Нашел руководство "C#. Разработка компонентов в MS Visual Studio 2005/2008"

Так ты чего изучаешь С++ или С#?  :) Это два разных языка. А Джа написана  в основном на С
с некоторыми расширениями С++, насколько я понял. Ну вообще я не спец. Я спец как раз таки в С#. :)  

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 05.11.2008 в 00:05:52
Фиг его знает... :-/
Я хочу написать мод для Джа 2. Какой бы там язык ни был, я хочу его изучить.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 05.11.2008 в 00:38:29
2Ruffian:
Тогда учи С.

Заголовок: Re: Первые шаги...
Прислано пользователем Ximik на 05.11.2008 в 01:01:06
[offtop]
Quote:
Я хочу написать мод для Джа 2
тут все хотят  ;D[/offtop]

Заголовок: Re: Первые шаги...
Прислано пользователем ddd на 05.11.2008 в 06:30:05
LOL

Заголовок: Re: Первые шаги...
Прислано пользователем G.E.M. на 05.11.2008 в 10:51:25

Quote:
Я хочу написать мод для Джа 2. Какой бы там язык ни был, я хочу его изучить.  
- это конечно не совсем моё дело, но разве стоит с нуля писать? Может взять платформу уже готового мода (с разрешения разработчика естественно). 1.13 или 2005 - очень гибкие в плане реализации чего-либо. ;)
И опять-таки, надеюсь мод не будет просто правкой баланса и новых тактических возможностей по завоеванию Арулько? Нет, не надоело, но разнообразия хочется. :P

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 05.11.2008 в 17:39:32
Во-во, Джа2005. Потенциал в нем мощнейший. Но, похоже, Сергей неподъемную ношу взвалил на себя.

Заголовок: Re: Первые шаги...
Прислано пользователем Ruffian на 05.11.2008 в 18:29:23
2pipetz, я спросил потому, что ничего не понял из разъяснений jarni на тему "собрать экзешник из исходников в VS" (об этом мы говорили выше по ветке). Чтоб разобраться во всей этой каше, нужно знать язык, не так ли? Так вот я и прошу: посоветуй где достать набор из двух компонентов: сама прога, в которой я смогу получить необходимые мне азы, и толковая инструкция к ней на русском.

2MAn, какой Сергей?

2G.E.M., в твоих словах определенно есть смысл.  Я понимаю, люди старались, делали... в том числе и для начинающих, вроде меня, но... Но для начала я все-таки хочу попытаться сделать что-то свое, а не на базе уже готовых платформ. 1.13 и 2005 я держу на крайний случай.

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

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 05.11.2008 в 18:37:04
2Ruffian:

Quote:
я спросил потому, что ничего не понял из разъяснений jarni на тему "собрать экзешник из исходников в VS"  

Пожалуй ты пока и не сможешь разобраться как собрать экзешник.
Попроси jarni выложить уже исправленные исходники
и описать в одном месте все настройки, которые надо поменять в VS.


Quote:
Так вот я и прошу: посоветуй где достать набор из двух компонентов: сама прога, в которой я смогу получить необходимые мне азы, и толковая инструкция к ней на русском.

Возьми любой учебник по языку С (си) и читай. Думаю примеры там будут.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 06.11.2008 в 09:25:10
2Ruffian: Как уже высказывались коллеги выше - учи С. 99% кода написано на С, поэтому С++ будет тебе ни к чему. Учебников на С есть предостаточное множество, если будеш покупать в магазине, то проси именно по С. Иконой среди них является The C Programming Language by Brian W. Kernighan, Dennis M. Ritchie. ("Язык программрования С". Б. Керниган, Д. Ритчи). Кстати, учи также английський. Согласен с тем что програмистский рунет является одним из самых сильных, но всё же, очень много чего полезного находится только в английском варианте. ВС любой версии можно найти в инете, на торрентах. ВС 2008 (Microsoft Visual Studio 2008 Express) свободно скачивается с сайта мелкомягких (как я понял, ты это уже сделал). Знание языка тебе понадобится в момент когда ты уже начнёшь что-то менять. Напиши что конкретно непонятно в том как собрать исходники, если не хочешь здесь, то пиши в личку или аську (номер дам в личке).


Quote:
я спросил потому, что ничего не понял из разъяснений jarni на тему "собрать экзешник из исходников в VS" (об этом мы говорили выше по ветке). Чтоб разобраться во всей этой каше, нужно знать язык, не так ли?
Как мне казалось, я довольно внятно объяснял, хотя и не по пунктам. Для сборки (компиляции, создания) экзешника знание языка не критично, за тебя всё сделает ВСтудия.

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 06.11.2008 в 16:19:16
2Ruffian:

Quote:
2MAn, какой Сергей?

Bugmonster, автор JA2`005.


Заголовок: Re: Первые шаги...
Прислано пользователем G.E.M. на 06.11.2008 в 22:02:16

Quote:
в твоих словах определенно есть смысл.  Я понимаю, люди старались, делали... в том числе и для начинающих, вроде меня, но... Но для начала я все-таки хочу попытаться сделать что-то свое, а не на базе уже готовых платформ. 1.13 и 2005 я держу на крайний случай.  
- [offtop]ну, если для опыта, то поддерживаю (с кодом не смогу помочь - я не программер по С).[/offtop]

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 24.06.2009 в 22:08:53
Решил я чуток по копаться.... Мда, после полутора лет перерыва, как будто исходники первый раз открыл :(
Может кто поможет, что за функция рисует летящие пульки во время выстрела(если быть точным, во время очереди)?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 25.06.2009 в 08:19:24
а тебе что нужно, конкретно?
я посмотрел bullets.c - похоже пули - это такие же структуры на карте, как и остальные объекты, соответственно рисуются они там же, где и все остальные объекты на карте.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 25.06.2009 в 18:08:58

Quote:
а тебе что нужно, конкретно?

Интервал между пулями.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 25.06.2009 в 22:59:17
2Raty: Расстояние между пулями на карте? Оно никак не задаётся. Зависит от скорости проигрывания анимации и скорости полёта, а так же как быстро всё это игра обсчитывать успевает.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 26.06.2009 в 19:17:07
2bugmonster:
хм, т.е. визуально скорострельность никак не подчеркнуть? Хотя скорость полёта пули вроде же регулируется...

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 27.06.2009 в 01:16:32
2Raty: Визуально скорострельность подчеркивается скорострельностью ;D
Выпускание пуль запускается из анимационного скрипта стрельбы. Для того чтобы изменить количество выпущенных за секунду реального времени пуль нужно изменить скорость проигрывания анимации. В Джа2005 для этого берётся х-ка скорострельности из оружия.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 27.06.2009 в 04:22:49

Quote:
нужно изменить скорость проигрывания анимации

А она сейчас, ЕЯПП, жестко задана и не от чего не зависит? Где она хоть находится-то?
ps Блин, после такого перерыва уже очевидные вещи вызывают недоумение...

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 27.06.2009 в 11:10:47
Вот как у меня сделано:
Tactical\Soldier Control.c
ф-я UINT16 SelectFireAnimation( SOLDIERTYPE *pSoldier, UINT8 ubHeight )

заменяю ретурны на присвоения так:

                             uiAnim = SHOOT_DUAL_STAND;
//                              return( SHOOT_DUAL_STAND );


в конец ф-ии добавляю:


     if( Weapon[Item[ pSoldier->inv[HANDPOS].usItem ].ubClassIndex].mode[pSoldier->bWeaponMode].usROF )
           gAnimControl[uiAnim].sSpeed = 45000/Weapon[Item[ pSoldier->inv[HANDPOS].usItem ].ubClassIndex].mode[pSoldier->bWeaponMode].usROF;
     else
           gAnimControl[uiAnim].sSpeed = 100;

Weapon[Item[ pSoldier->inv[HANDPOS].usItem ].ubClassIndex].mode[pSoldier->bWeaponMode].usROF - это нужная мне скорострельность, в/м
sSpeed - это задержка между кадрами в миллисекундах.
45000 - тут на самом деле должно быть 60000 мс/количество кадров анимации между командами выстрела, то есть там на самом деле должно быть 60000/2=30000

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 29.06.2009 в 21:50:30
2bugmonster:
Хм:smirk: А ROF это не дальность стрельбы??? Хотя идея ясна.
И... это ускоряет всю анимацию целиком(всю стишку) или только задержку между стреляющими кадрами?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 30.06.2009 в 07:23:11
ROF дословно Rate Of Fire.
Это изменяет скорость анимации (анимация и стишка - это разные вещи). В этой анимации только кадры выстрела и отдачи. То что у скорострельного оружия отдача "быстрее" лично мне пофиг.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 30.06.2009 в 20:05:49
2bugmonster:

Quote:
ROF дословно Rate Of Fire.

ага, я просто попутал с.... с чем-то другим:)

Quote:
usROF - это нужная мне скорострельность, в/м  

т.е. из реальных ТТХ, например из справочника?

и в догонку совсем глупый вопрос:
Strategic movement.c:(4076): pGroup->uiTraverseTime = GetSectorMvtTimeForGroup( ubSector, ubDirection, pGroup );
компилятор выдаёт:
warning C4244: 'function' : conversion from 'unsigned short ' to 'unsigned char ', possible loss of data и warning C4761: integral size mismatch in argument; conversion supplied
Ну это и понятно, ubSector я расширил до UINT16 и вообще всё, что связано с секторами подверглось расширению. Теперь, я так понимаю, надо что-то сделать с  uiTraverseTime? А что?
ubDirection имеет отношение к секторам? А то я его тоже увеличил ::)

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 09.08.2009 в 19:05:56
Комрады как перевести структуру

typedef struct _FILETIME {
   DWORD dwLowDateTime;
   DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;


в нормальное время?
Нашёл вот такую функцию

void PrintTime(STR8 output, FILETIME TimeToPrint)
{
     WORD Date, Time;
     if (FileTimeToLocalFileTime(&TimeToPrint, &TimeToPrint) &&
                       FileTimeToDosDateTime(&TimeToPrint, &Date, &Time))
     {
           // What a silly way to print out the file date/time. Oh well,
           // it works, and I'm not aware of a cleaner way to do it.
           wsprintf(output, "%02d/%02d/%d %02d:%02d:%02d",
                             (Date / 32) & 15, Date & 31, (Date / 512) + 1980,
                             (Time / 2048 ), (Time / 32) & 63, (Time & 31) * 2);
     }
     else
           output[0] = 0;
}


Но она использует некие системные функции, содержание которых мне не не известно.

Заголовок: Re: Первые шаги...
Прислано пользователем ddd на 09.08.2009 в 20:04:24
2pipetz:
Структура FILETIME определена следующим образом:

typedef struct _FILETIME
{  
 DWORD dwLowDateTime;  // младшее слово
 DWORD dwHighDateTime; // старшее слово
} FILETIME;

Согласно документации, в структуре FILETIME хранится 64-разрядное значение даты и времени в виде количества интервалов размером 100 наносекунд от 1 января 1601 года.
ну и тд http://frolov-lib.ru/books/bsp/v26/ch5_3.htm
или в мсдн погляди
http://www.chilkatsoft.com/braindump/pocket_pc/FileTimeToDosDateTime.html - есходники

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 09.08.2009 в 22:36:30
Угу. Теперь вопрос как из двух Int32 склеить один Int64. :)

ЗЫ Склеил. Получилось: 29 июня 1999 года 15:45:38
Предлагаю эту дату назначить международным днём гробокопателя! :)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 10.08.2009 в 04:16:21
2pipetz:
Стандартный способ -
BOOL FileTimeToSystemTime(
 const FILETIME* lpFileTime,
 LPSYSTEMTIME lpSystemTime
);

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 10.08.2009 в 06:45:07

on 1249866981, bugmonster wrote:
Стандартный способ -
BOOL FileTimeToSystemTime(
  const FILETIME* lpFileTime,
  LPSYSTEMTIME lpSystemTime
);

Ну мне же из .NET-a надо там вот такая есть функция в классе DateTime:
public static DateTime FromFileTime(long fileTime)

Интересно посмотреть временные метки в SLF-архивах.
Можно увидеть когда они закончили работать над тайлсетами, когда над картами.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.09.2009 в 01:04:06
Господа, по поводу больших карт. А откуда взялось, что карты могут быть до  46340x46340 тайлов? Что за магическое число такое?

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 18.09.2009 в 01:59:44

Quote:
46340x46340 - это теоретический предел, т.е. столько в четырехбайтное целое влезает
раньше в двухбайтное влезало только 160х160

Bugmonster

Проще говоря 46340 - это целая часть от корня квадратного из 231.

Вычисление этой "миовой константы" стало первым шагом в проекте "большие карты".
После чего началось бурное обсуждение типа
- нифигасебе
- а зачем такие большие
- а у меня монитор только 800 на 600 кажет
- чем больше тем лучше
и т. п.

А на самом деле целью проекта как заметил  Bugmonster является не установка размера карт в 46340
или в какое-то другое большое число, а снятие ограничений на размер.
Чтобы в одной игре можно было использовать карты разного размера
в зависимости от желание модостроителя.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.09.2009 в 02:32:17
2pipetz:
Ага.
А как идёт работа по проекту?
Можно увидеть небольшой пример по переделке структур ;)? А то в worlddef дефайны-то я заменил, а чё дальше как-то не пойму. Как быть с разными GrigNo и им подобными?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 18.09.2009 в 03:50:08
2Raty: Работа по проекту практически не движется.
Суть работы по проекту в общем-то, не в переменном размере карт, т.к. в оригинале многое на это было рассчитано, а в увеличении места под хранение номера ячейки на карте в экзешнике и всех хранимых игровых данных. Т.к. при старом двухбайтовом номере карту можно было увеличить только на 1-2 клетки, четырёхбайтовый номер же допускает карты любого мыслимого размера.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 18.09.2009 в 03:57:03
2bugmonster:
В Wild Fire эту проблему как-то решили. Значит проблема теоретически разрешима. :)

Интересно а каким образомработает гибрид WF и 1.13?
Нсколько я понимаю - это 1.13 с картами от WF. Но карты WF больше 160х160.
Если я ничего не путаю.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.09.2009 в 04:27:17
2bugmonster:
Переменный размер карт был бы полезен на первых порах, чтоб все карты сразу не перерисовывать. В остальном карты ИМХО лучше чтоб были одинакового размера. Я так прикинул, 640х640 хватило бы, т.е. в одном секторе поместилась бы, например, вся Медуна с небольшим пригородом.


on 1253235008, bugmonster wrote:
увеличении места под хранение номера ячейки

Еcли я правильно понимаю, то это практически каждый файл в Tactical,  TacticalAI и  TileEngine. + В Strategic тоже попадалось.

Можно хоть какой-нить кусок кода глянуть?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 18.09.2009 в 05:39:38
2pipetz:
ты явно что-то напутал. Последний раз когда я запускал WF, карты там были обычного размера.

2Raty:
там вообще очень много изменений, всё лежит тут
https://81.169.133.124/source/ja2/branches/Wanne/JA2%201.13%20MP/

Заголовок: Re: Первые шаги...
Прислано пользователем G.E.M. на 18.09.2009 в 18:39:38

on 1253237237, Raty wrote:
В остальном карты ИМХО лучше чтоб были одинакового размера. Я так прикинул, 640х640 хватило бы, т.е. в одном секторе поместилась бы, например, вся Медуна с небольшим пригородом.  
- а вот с практической точки зрения я думаю чем больше карта - тем больше будет проблем. Нет, саму карту любого размера можно будет сделать красивой (только времени потребуется больше). А вот с поиском засевщих где-нибудь врагов будет проблемки. На существующих картах последнего серого иногда ищешь несколько десятков минут.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 18.09.2009 в 21:54:25
да, делать мод с 200-ми большими картами это значит недоделать его никогда. Существующего 160х160 вполне хватит для "проходных" карт, на которых ничего не может быть, кроме случайной стычки с фрагами. В то же время для ключевых секторов полезно иметь большой размер (лучше чтобы в моде был стандартный и один увеличенный размер карт) - например город/посёлок в котором больше 5 зданий или укреплённая база, со всех сторон окруженная значительной полосой открытой местности.

Заголовок: Re: Первые шаги...
Прислано пользователем G.E.M. на 18.09.2009 в 22:33:46

on 1253300065, bugmonster wrote:
лучше чтобы в моде был стандартный и один увеличенный размер карт
- и маленький, как подвал в Омерте.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 18.09.2009 в 23:02:42
2G.E.M.: карте подвала в Омерте - нормального размера. Просто в оригинале из-за её малой застройки в ней фиксируется камера. Но эта фиксация в модах сейчас снята, так как она приводила к глюкам при увеличенном разрешении экрана.

Заголовок: Re: Первые шаги...
Прислано пользователем G.E.M. на 18.09.2009 в 23:08:41

on 1253304162, bugmonster wrote:
Просто в оригинале из-за её малой застройки в ней фиксируется камера.
- вот не знал. Век учись - век живи. А фиксация даже в редакторе была.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.09.2009 в 23:11:11

on 1253304162, bugmonster wrote:
Но эта фиксация в модах сейчас снята, так как она приводила к глюкам при увеличенном разрешении экрана.  

А, так вот почему у меня глючит. Всю башку себе в свое время сломал, так и не понял и забил.

Заголовок: Re: Первые шаги...
Прислано пользователем ddd на 28.09.2009 в 21:19:33
что в программе считается за NORTH, нормальный север, который вверх, или повернутый по часовой стрелке?:confus:

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 28.09.2009 в 22:34:44
нормальный, емнип. Углы экрана считаются северовостоком, юговостоком, югозападом, североюгом

Заголовок: Re: Первые шаги...
Прислано пользователем ddd на 28.09.2009 в 22:37:30
большой спасип! :pray:

Заголовок: Re: Первые шаги...
Прислано пользователем ddd на 28.09.2009 в 23:51:23
OUTSIDE_TOP_LEFT - северозапад
INSIDE_TOP_LEFT - югозапад
OUTSIDE_TOP_RIGHT - северовосток
INSIDE_TOP_RIGHT - юговосток
я правильно вкурил?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 30.09.2009 в 06:00:30
судя по названиям - нет inside и outside никак не тянут на север и юг, ни по переводу, ни по смыслу, вообще никак.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 30.09.2009 в 06:43:42
ну, теперь мне понятно что имелось ввиду под inside и outside - это снаружи и внутри здания. Остальное я так и не понял  :P

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 14.02.2010 в 04:03:59
Ни много ни мало решил научиться кодить на C ради Джаги!  :)  Подскажите какой учебник читать.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 14.02.2010 в 04:19:40
2Sot:

http://www.ozon.ru/context/detail/id/2480925/ - это классика.

с сайта:

Любимая моя на данный момент книга. Лаконичная, доступная, идеальная для новичков. Её можно назвать "си за один день", так что кому подобное необходимо - ни одна другая книга вам не поможет.

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 14.02.2010 в 05:42:00
2Bonarienz: спасибо

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 14.02.2010 в 06:16:08
2Sot:

Си, как и любой другой язык программирования - только инструмент...

А вот научиться программированию стоит вот по этой, хм, книжонке:

http://www.ozon.ru/context/detail/id/4803785/

И вот по, гы, брошурке вот этого чела:

http://www.ozon.ru/context/detail/id/269225/

Искать советское или первое российское издание (1999)...

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 14.02.2010 в 06:37:37

Quote:
А вот научиться программированию стоит вот по этой, хм, книжонке:

http://www.ozon.ru/context/detail/id/4803785/


а 89 года издания пойдет?

Quote:
И вот по, гы, брошурке вот этого чела:

http://www.ozon.ru/context/detail/id/269225/

Искать советское или первое российское издание (1999)...


трехтомник и есть эта брошюра? :)

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 14.02.2010 в 07:43:47
2Sot:

1. Идеально подойдет, именно для "погружения в программирование"...

2. Ну да, брошюрка такая... Кнут... без пряника, гы...

Заголовок: Re: Первые шаги...
Прислано пользователем Zed на 14.02.2010 в 08:42:48
Оффтоп выпилен.

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 15.02.2010 в 08:51:36
С помощью МэпЭдитора можно добавить недоступные на стратегической карте сектора? Или нужно править exe?

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 15.02.2010 в 23:56:56
2Sot:
В НО для этого не нужно править экзе. Но, и мапэдитор ни при чём.
Чтобы добавить новые сектора нужно подправить соотв. файлы в каталоге MapSettings.  
Как это делать описано в description.txt (лежит там же).

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 19.02.2010 в 06:02:14
Вопрос по теории. Объясните мне как не специалисту, почему из исходников собрать exe относительно легко, а обратный процесс невозможен?

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 19.02.2010 в 06:53:34
2Sot:
Под исходниками имеется ввиду код на С?
Исходный код на языке ассемблера например легко востанавливается, этот процесс называется дезассемблированием.
Сложность востановления кода написанного на высокоуровневых языках объясняется тем, что отображение
множества текстов на множество исполняемых файлов не инъективно, то есть по одному исходнику
можно получить только один экзешник. Но один и тот же экзешник может быть получен
из большого колличества различных исходников.

У меня в свою очередь вопрос к знатокам. Представляет ли сложность
записать ассемблерный код командами языка С?

Мне почему-то кажется что это можно легко сделать только код получится нечитаемый,
и смысл использования языка высокого уровня просто пропадёт.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 19.02.2010 в 08:32:39
2pipetz:  
on 1266555214, pipetz wrote:
У меня в свою очередь вопрос к знатокам. Представляет ли сложность
записать ассемблерный код командами языка С?
Нет, сложности не представляет, но как ты уже заметил, смысла нет, кроме конечно реверс-инжиниринга. "Нет" относится только к экспертам по асму потому что в релиз-билде компилятор умудряется такое вытворять что понять что данный код делает практически не представляется возможным (хотя есть же люди которые в хексредакторе моды делали :)).

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 19.02.2010 в 10:03:20
2jarni:
Спасибо.

То есть насколько я понял задача востановления кода (например на С) по экзешнику вполне себе разрешима,
если конечно не ставить условия чтобы код на С был проще и понятнее чем машинный код исполняемого файла.
А в этом то как раз и состоит задача. Задача не в получении какого-то кода который при компиляции даёт
нужный EXE, а в интерпретации машинного кода в терминах языка, так чтобы полученный код был максимально
понятен человеку.  

Заголовок: Re: Первые шаги...
Прислано пользователем Coelty на 10.04.2010 в 19:20:07
Кто что знает о совместимости анимаций Арканума и Джа? Хочу медведя сделать.)

Заголовок: Re: Первые шаги...
Прислано пользователем <<Green Eye Man>> на 11.04.2010 в 00:09:59

on 1270916407, Coelty wrote:
Кто что знает о совместимости анимаций Арканума и Джа? Хочу медведя сделать.)
- а нет совместимости. Берешь аркановского медведя - вытаскиваешь его из Арканума и переводишь анимацию по кадрам в ВМР. Потом из этих ВМР склеиваешь анимацию для Джа2. Параметры и вся прочее. ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 11.04.2010 в 01:06:02
2pipetz: 2jarni:

Вообще говоря, нельзя!!! Компиляторы практически никогда не обрабатывают условные переходы на АСМ, заменяя их логическими конструкциями, тупо разрешающими переместимость кода.

Т.е. компиляторы практически никогда не делают конструкций, соответствующих командам АСМ типа djnz, jbc и т.п.

Такое, в принципе, возможно, но требует абсолютного (!) понимания и программы, и структур данных, и принципов работы компиляторов, и их, компиляторов, точной настройки.

так что проблема реверс-инжиниринга ехе двояка... Работать с кодом проще на АСМ, но потребует заметно больше времени, чем "курение (опия-) сырца".

Опять же, тут заметную роль играет кач-во дизассемблера - как он сумеет распознать Структуры Данных, сидящих в теле кода ехе. Средний дизасм выдаст набор "бессмысленных и беспощадных" команд вместо набора ДБ или ДВ или т.п.

А в ДжА практически все критичные куски имеют вставки на АСМ...

Терапевт и Нейрос - наиболее смыслящие в ехе ДжА...

Заголовок: Re: Первые шаги...
Прислано пользователем Coelty на 11.04.2010 в 02:01:36
Выход таков: сделать карту Арулько и кампанию АВ для УБ. Там можно добавить.

Заголовок: Re: Первые шаги...
Прислано пользователем Негодяй на 28.07.2010 в 10:59:32
Подскажите, пожалуйста, как в редакторе карт для JA 2 UB "размещать" на карте нпц?
--------------------------------------------------
Уже не нужно, я вспомнил, что это можно сделать редактором для НО.

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 28.07.2010 в 20:05:02
Сначала выставляешь обычного цивила. Потом бьёшь по кнопке, на которой морда нарисована. И назначаешь профиль нужного неписяя.

Заголовок: Re: Первые шаги...
Прислано пользователем Негодяй на 28.07.2010 в 22:49:25
Спасибо. Я по-другому сделал. Так как ты говоришь, почему-то не получалось.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 08.11.2010 в 23:25:10
Вопрос. получив координаты X и Y солдата из bGridNo, как получить координаты клетки  по направлению, скажем, NORTHEAST?
Т.е. Допустим, bDesiredDirection - NORTHEAST. Как получить координаты клетки перед солдатом?  
X+=1; Y-=1;
Или как?

Заголовок: Re: Первые шаги...
Прислано пользователем jz на 08.11.2010 в 23:55:20

on 1289251510, Dirk_Diggler wrote:
Как получить координаты клетки перед солдатом?    

Можно попробовать поискать \Tactical\PathAI.c - механизм нахождения пути

Например, кусок определения "где дверь":


Code:
                 case TRAVELCOST_DOOR_OPEN_N:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ NORTH ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_NE:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ NORTHEAST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_E:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ EAST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_SE:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ SOUTHEAST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_S:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ SOUTH ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_SW:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ SOUTHWEST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_W:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ WEST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_NW:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ NORTHWEST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_N_N:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ NORTH ] + dirDelta[ NORTH ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_NW_N:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ NORTHWEST ] + dirDelta[ NORTH ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_NE_N:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ NORTHEAST ] + dirDelta[ NORTH ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_W_W:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ WEST ] + dirDelta[ WEST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_SW_W:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ SOUTHWEST ] + dirDelta[ WEST ];
                       break;
                 case TRAVELCOST_DOOR_OPEN_NW_W:
                       fDoorIsObstacleIfClosed = FALSE;
                       iDoorGridNo = iGridNo + dirDelta[ NORTHWEST ] + dirDelta[ WEST ];
                       break;
                 default:
                       break;

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 09.11.2010 в 19:35:20
Какая процедура вызывается после помещения нового предмета в руку или еще куда? Хочу для солдата вызвать HandleSight(), но не знаю где. Обыскался ужо. PlaceObject() вроде не подходит.
Вот когда ночью одеваешь ПНВ, где вызывается расчет нового поля зрения?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 09.11.2010 в 21:26:34
2Dirk_Diggler: Попробуй UIHandleItemPlacement().
При покладании ПНВ ничего не пересчитывается, а позднее - при рендеринге.

По поводу клетки перед солдатом:
sNewGridNo = NewGridNo( pSoldier->sGridNo, DirectionInc(pSoldier->bDirection) );
это номер клетки получить, конвертировать его в координаты xy можно ф-ей ConvertGridNoToXY().

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 10.11.2010 в 03:46:24

on 1289330794, bugmonster wrote:
При покладании ПНВ ничего не пересчитывается, а позднее - при рендеринге.

Т.е. мне надо либо присесть/повернуться, либо ружье вскинуть или типа того? вот это печально. ПО идее, если я затратил AP на надевание предмета, я должен получить от него бонусы сразу же.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 10.11.2010 в 04:05:38
2Dirk_Diggler: Ты не так понял, я про ПНВ писал что он пересчитывается не там где ты думаешь. А словить помещение предмета в слот всё-таки пробуй в UIHandleItemPlacement().

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 13.11.2010 в 03:15:34
Правильно ли я понял из этого куска кода:

Code:
     ubCombinedLoss = (UINT8) sLifeDeduct / 10 + sBreathLoss / 2000;

     // Add shock
     if ( !AM_A_ROBOT( pSoldier ) )
     {
           pSoldier->bShock += ubCombinedLoss;
     }


что, исходя из определения bShock как INT8, в случае попадания пули, не пробившей броню(не выбившей ни единицы жизни), и выбившей немного дыхания, ubCombinedLoss(и шок в том числе) будет равен нулю?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 13.11.2010 в 04:48:29
2Dirk_Diggler: Правильно. bShock и не должен быть большим.
bShock = 1 это уже значительное ранение, а про bShock > 2 в коментах помечено  "this guy is still in serious shock".

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 13.11.2010 в 14:04:33

on 1289616509, bugmonster wrote:
2Dirk_Diggler: Правильно. bShock и не должен быть большим.  
bShock = 1 это уже значительное ранение, а про bShock > 2 в коментах помечено  "this guy is still in serious shock".  

В таком случае AI поглюкивает - если невидимый фрагу мерк выстрелил из приглушенного оружия, а пуля не пробила брони и не нанесла шока, то фраг при своем ходе сперва ложится, потом сразу же встает и бежит. Выглядит глуповато. Плюс не верится, что пуля, даже не пробив брони, может никак не повлиять на чела. Такого не может быть. Это же пуля еперный театр )))

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 13.11.2010 в 14:29:10
PS. Мне кажется, или строки

Code:
            if (ubCanMove && pSoldier->bActionPoints > MAX_AP_CARRIED && !fCivilian)
                 {
                  if (fCivilian)
                       {
                        // only interested in hiding out...
                        bSeekPts = -99;
                        bHelpPts = -99;
                        bHidePts =  +1;
                       }

содержат взаимоисключающие параграфы, и второй if можно удалять?


Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 13.11.2010 в 15:39:59
Кто такие админы (ubNumAdmins и т.п.)?

И где происходит генерация патрулей? есть GeneratePatrolGroup(), но она ниоткуда не вызывается... Нашел только генерацию групп в InitStrategicAI, RequestHighPriorityGarrisonReinforcements и SendReinforcementsForPatrol.

Означает ли это, что перебив все 10 патрулей, они больше не будут возникать?

Зачем нужно действие стратегического ИИ NPC_ACTION_SEND_SOLDIERS_TO_OMERTA ? Я не нашел места в коде, где бы оно использовалось.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 14.11.2010 в 17:29:40

on 1289616509, bugmonster wrote:
2Dirk_Diggler: Правильно. bShock и не должен быть большим.  
bShock = 1 это уже значительное ранение, а про bShock > 2 в коментах помечено  "this guy is still in serious shock".  

С учетом того, что ежеходно шок уменьшается вдвое, этот serious shock уже ко третьему ходу станет нулевым. Плюс, нередки ситуации, когда ты всадил очередь из 4 патронов в элиту в спектре, здоровья выбил 0, и шок у него нулевой. Это что за терминаторы такие, после очереди - никакой реакции????

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 14.11.2010 в 23:27:43
2Dirk_Diggler: а ты хочешь чтобы пуля не пробив брони наносила серъёзное ранение? и у кого после этого взаимоисключающие параграфы :) следующий логичный вопрос: зачем тогда броня в игре нужна будет?

админы - это желтопузики (типа полицаев).
Патрули изначально формируются на карте при старте новой игры. Если перебить всех - их не будет. Но скорее всего, они пополняются и восстанавливаются из queen's pool точно так же как и гарнизоны городов (по исходникам не проверял).

NPC_ACTION_SEND_SOLDIERS_TO_OMERTA, как и остальные NPC_ACTION* вызываются из нпц-скриптов. В данном случае - из диалога Драньки и Эллиота, где она приказывает ему послать солдат в Омерту (хотя нужно ещё посмотреть этот скрипт, есть ли там вызов NPC_ACTION_SEND_SOLDIERS_TO_OMERTA на самом деле).

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 14.11.2010 в 23:35:43

on 1289770063, bugmonster wrote:
а ты хочешь чтобы пуля не пробив брони наносила серъёзное ранение? и у кого после этого взаимоисключающие параграфы  

Говорят, попадание пули в броник - подобно неплохой подаче в грудак среднего размера кувалдой. Дык хочу, чтобы чел, словив пулю/очередь в грудь, хотя бы штаны подмочил или типа того.

on 1289770063, bugmonster wrote:
админы - это желтопузики  

в смысле? что значит желтопузики?


Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 15.11.2010 в 00:46:10
2Dirk_Diggler:
говорят что лучше один раз увидеть, чем сто раз услышать:
http://www.youtube.com/watch?v=EV0pN-LaW6E&feature=related

Попреки твоим желаниям чел незамедлительно вскочил, огляделся и убежал.


Quote:
в смысле? что значит желтопузики?

Ты в игру-то хоть играл?
В желтых майках - админы, в красных майках - армия, в черной форме - элитчики.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 15.11.2010 в 00:58:27

on 1289774770, bugmonster wrote:
говорят что лучше один раз увидеть, чем сто раз услышать:
http://www.youtube.com/watch?v=EV0pN-LaW6E&feature=related

Вполне себе. Чел мало того, что рухнул как подкошенный(после одной пули!), и секунды 3 повалялся, так и потом убежал в смятении. Не вижу на ролике терминатора, который не обращает внимания на пули. Вполне себе в стрессовом состоянии боец. Схлопотал, охренел, убежал. Нормально.
А по формуле получается - схлопотал(иногда целую очередь), начхал - продолжил своё дело.


on 1289774770, bugmonster wrote:
В желтых майках - админы

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

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 15.11.2010 в 01:40:05
2Dirk_Diggler:
В НО они - синие. Как считается - самые наглые.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 15.11.2010 в 03:24:34
2Dirk_Diggler: Заметь, все эти три секунды он падал, а потом сразу начал вставать, он явно не в шоке (в медицинском смысле). Если хочешь чтобы солдаты от попаданий валились тебе shock не нужен, увеличивай BP_GET_HIT, это значение, которое отнимается от стамины при попадании пули. Теоретицки, он для разных калибров разный должен быть.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 15.11.2010 в 03:29:48

on 1289784274, bugmonster wrote:
(в медицинском смысле)

Шок в медицинском смысле - системная асфиксия тканей вследствие потери жидкости, если я не ошибаюсь, так что в исходниках этого смысла и не было.


on 1289784274, bugmonster wrote:
Заметь, все эти три секунды он падал, а потом сразу начал вставать, он явно не в шоке

я заметил, так же как и заметил как резво он утек за хаммер. и стрелять бы метко он в таком состоянии не мог бы точно, ибо дрожащее очко сбивало бы прицел )


on 1289784274, bugmonster wrote:
BP_GET_HIT, это значение, которое отнимается от стамины при попадании пули. Теоретицки, он для разных калибров разный должен быть.  

При этом и шок расти будет, однако.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 17.11.2010 в 15:45:40
Что делает этот отрывок функции FireBulletGivenTarget?
Интересует кусок после комментария. Понять сути не могу...


Code:
           pBullet->qCurrX = FloatToFixed( dStartX ) + pBullet->qIncrX;
           pBullet->qCurrY = FloatToFixed( dStartY ) + pBullet->qIncrY;
           pBullet->qCurrZ = FloatToFixed( dStartZ ) + pBullet->qIncrZ;

           // NB we can only apply correction for leftovers if the bullet is going to hit
           // because otherwise the increments are not right for the calculations!
           if ( pBullet->sHitBy >= 0 )
           {
                 pBullet->qCurrX += ( FloatToFixed( dDeltaX ) - pBullet->qIncrX * iDistance ) / 2;
                 pBullet->qCurrY += ( FloatToFixed( dDeltaY ) - pBullet->qIncrY * iDistance ) / 2;
                 pBullet->qCurrZ += ( FloatToFixed( dDeltaZ ) - pBullet->qIncrZ * iDistance ) / 2;
           }


Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 17.11.2010 в 19:51:00
2Dirk_Diggler: Думаю что так компенсируется ошибка в вычислениях с фиксированной точкой. Без этого бы пуля, которая должна прилететь в цель, визуально отклонилась бы из-за накапливающейся ошибки.
FloatToFixed( dDeltaX ) - pBullet->qIncrX * iDistance ) - это величина ошибки.
Условие pBullet->sHitBy >= 0 определяет что компенсация накладывается только на пули, которые не просто летят куда-нибудь, а те что нужно привести в определённую точку (те, которые нацеливались на конкретную цель и бросок кости превысил шанс попадания).

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 17.11.2010 в 19:54:24

on 1290016260, bugmonster wrote:
умаю что так компенсируется ошибка в вычислениях с фиксированной точкой.

Точно, допетрил.  iDistance есть дистанция округленная. Т.е траектория сдвигается "поступательно", чтобы попасть.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 20.11.2010 в 23:34:12
какая процедура отрисовывает(или инициирует отрисовку) красного пульсирующего круга вокруг обнаруженного врага? Или аналогичного круга при переключении наемника?

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 20.11.2010 в 23:45:27
вот такой круг имеется в виду.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 21.11.2010 в 01:02:15
2Dirk_Diggler: Это называется Locators, ищи в исходниках по этому слову. Конкретно мерки выделяются этими ф-ями:
void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed );
void EndRadioLocator( UINT8 ubID );
Предметы по-другому.

ЗЫ Хочешь сделать индикатор брошенной гранаты?

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 21.11.2010 в 01:02:42
2Dirk_Diggler:

Пардон, сразу не разобрал, что за круг... Но, авось пригодится...

Вот список всех курсоров для стрельбы и метания:

BURSTBLK.STI
CUR_BST.STI
CUR_RBST.STI
CUR_TAGR.STI
CUR_TARG.STI
CUR_TB.STI
CUR_TR.STI
CUR_TRW.STI
CUR_TRY.STI
TARGBLAK.STI
THROWB.STI
THROWG.STI
THROWR.STI

А это - собранная из них анимашка. В порядке, указанном в перечне.

[attach]

Наслаждайся...

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 21.11.2010 в 01:03:52

on 1290294135, bugmonster wrote:
ЗЫ Хочешь сделать индикатор брошенной гранаты?  

Нет, кое-что покруче.... ))))

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 21.11.2010 в 01:10:48
2Dirk_Diggler: заинтриговал :)

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 21.11.2010 в 01:11:44

on 1290294648, bugmonster wrote:
заинтриговал

а то... я вообще удивляюсь, что не сделал никто.... может, сложности какие. я сперва попробую, потом расскажу... )

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 21.11.2010 в 01:38:24
2Dirk_Diggler:

Вот,  эти анимашки зовутся:

radio.sti и radio2.sti

вот они какие:

[attach]

Да, живут они в interface.slf или соотв. папке...

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 21.11.2010 в 23:34:48

on 1290294135, bugmonster wrote:
void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed );
void EndRadioLocator( UINT8 ubID );
Предметы по-другому.

ЗЫ Хочешь сделать индикатор брошенной гранаты?  

Сделал чо хотел. глянуть можно здесь:
http://zalil.ru/30004022

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 22.11.2010 в 02:58:32
1) если зажать End, то будет показано поле зрение мерка. Какая процедура за это отвечает?

2) в чем смысл массива  gubKnowledgeValue[10][10] ?

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 22.11.2010 в 04:17:38
2Dirk_Diggler:
Quote:
Сделал чо хотел. глянуть можно здесь:  
http://zalil.ru/30004022

а что сделал? у меня НО нету.

Заголовок: Re: Первые шаги...
Прислано пользователем <<Green Eye Man>> на 22.11.2010 в 05:31:43

on 1290375288, Dirk_Diggler wrote:
Сделал чо хотел. глянуть можно здесь:
- действительно, что там?

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 22.11.2010 в 05:35:55
Сюда идите спрашивайте:
http://forum.ja2.su/cgi-bin/yabb/YaBB.pl?board=no;action=display;num=1289816412;start=45#47

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 22.11.2010 в 05:40:38
2Sot, <<Green Eye Man>>:
Там источник шума отмечается "радарным кружком". В 1.13 так уже отмечается шум от необнаруженных фрагов.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 22.11.2010 в 06:31:52
2Dirk_Diggler:
1) DisplayGridNoVisibleToSoldierGrid( ); / RemoveVisibleGridNoAtSelectedGridNo();
2) Что-то типа таблицы принятия решений для AI-ботов. Каждое измерение соответствует степени осведомлённости о присутствии врага. Одно измерение исп. для личной осведомлённости, другое - для осведомленности своей фракции. В каждой ячейке массива - степень уверенности в принятии решения. Т.е. например по личной оси у нас "Вижу врага прямо сейчас", а по публичной его "не видят, не слышат", результатом будет "5", максимальная готовность к действию, которая определит что AI-бот с максимальной вероятностью сообщит своим по рации о том кого он заметил.
Это имхо, т.к. там очень запутано и возможно как-то хитрее сделано.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 24.11.2010 в 17:30:27
Вопрос - если для фрага в начале его хода DecideActionBlack вернула AI_ACTION_TOSS_PROJECTILE с нормальным , нормально отработала ExecuteAction, по какой причине может бросок не состояться?

Странно - фраг решает бросить осветитель, но в результате - не бросает его.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 24.11.2010 в 17:45:55
Что значит поле ubQuoteRecord в SOLDIERTYPE ?

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 24.11.2010 в 19:53:48
Никому не удавалось заставить заработать AIPopMessage() ???

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 24.11.2010 в 22:59:34
2Dirk_Diggler: А что, кто-то задавался такой целью? Я её реализации в исходниках даже не нашёл.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 24.11.2010 в 23:38:39
Не знаю, задавался или нет, но сделать рабочими участки DEBUGDECISIONS очень хотелось бы. Сейчас я сделал вывод в текстовый лог, но если бы возможно было выводить сообщение прямо в игре, было бы намного лучше.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 25.11.2010 в 00:17:13
так замени вызовы AIPopMessage() на ScreenMsg()

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 25.11.2010 в 05:30:11
Кстати, а почему переключение компилятора в режим кода C++ сразу вызывает несобирабельность исходников? Много ошибок типа:
Build\Tactical\UI Cursors.c(1057): error C2664: 'wcscpy' : cannot convert parameter 1 from 'INT16 [20]' to 'wchar_t *'
Build\Tactical\Vehicles.c(1983): error C2440: '=' : cannot convert from 'PTR' to 'VEHICLETYPE *'

и т.д. и т.п.

Заголовок: Re: Первые шаги...
Прислано пользователем jz на 25.11.2010 в 05:49:45

on 1290655811, Dirk_Diggler wrote:
Build\Tactical\UI Cursors.c(1057): error C2664: 'wcscpy' : cannot convert parameter 1 from 'INT16 [20]' to 'wchar_t *'
wcscpy - это вариант функции для Unicode-символов. А JA2 писалась для ANSI-варианта функций. wchar_t - это тип char для Unicode. Видимо, компилятор пытается  привести к типу wchar_t, и у него это не получается.

Там помнится такая шняга была:
- если есть #define UNICODE то делаем wchar_t
- иначе используем char
То есть нужно в параметрах сборки / самом коде отключить параметр "UNICODE" ?

P.S. возможно, Вам стоит использовать исходники проекта 1.13. Правда, там добавлено много всего, зато код переписан очень сильно. А наработки потом можно конвертнуть из ООП в структурное.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 25.11.2010 в 06:06:18
2Dirk_Diggler: Потому что они написаны на С. Там столько незаметного на первый взгляд безобразия, которое прокатывает на С компиляторе и всплывает когда в ход идёт жесткий синтаксис С++.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 25.11.2010 в 20:24:26

on 1290657978, bugmonster wrote:
2Dirk_Diggler: Потому что они написаны на С. Там столько незаметного на первый взгляд безобразия, которое прокатывает на С компиляторе и всплывает когда в ход идёт жесткий синтаксис С++.  

Разобрался, переделал проект Tactical, убрал бардак с типами и т.д. и т.п.

Теперь компиляция происходит нормально, но вот его линковке вылетают тысячи ворнингов

warning LNK4006: XXXXXXXXXXXX already defined in YYYYYYYYYY.obj; second definition
ignored.



Code:
------ Build started: Project: Tactical, Configuration: Debug Win32 ------

Compiling...
World Items.c
GENERATED PCH FOR TACTICAL PROJECT.


Code:
Air Raid.c
Creating library...
Weapons.obj : warning LNK4006: "unsigned char gfIngagedInDrop" (?gfIngagedInDrop@@3EA) already defined in World Items.obj; second definition ignored
Weapons.obj : warning LNK4006: "unsigned char gfInSectorExitMenu" (?gfInSectorExitMenu@@3EA) already defined in World Items.obj; second definition ignored
Weapons.obj : warning LNK4006: "unsigned char gfCannotGetThrough" (?gfCannotGetThrough@@3EA) already defined in World Items.obj; second definition ignored


Шыто это и как сбороть?

Заголовок: Re: Первые шаги...
Прислано пользователем jz на 25.11.2010 в 20:50:32

on 1290709466, Dirk_Diggler wrote:
Шыто это и как сбороть?  

Предположение:
1. эти переменные Два раза объявляются. Например, gfIngagedInDrop объявлен в "Merc Entering.c" как

Code:
BOOLEAN            gfIngagedInDrop = FALSE;

в "Merc Entering.h" как

Code:
BOOLEAN            gfIngagedInDrop;

Вроде 1 раз нужно объявлять?

2. Возможно, нужно подключить "JA2 All.h" как "Precompiled header" для всех проектов?

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 25.11.2010 в 20:52:23

on 1290711032, jz wrote:
Эти переменные Два раза объявляются.

компилятор С++ не дает 2 раза объявлять, поэтому все такие случаи я устранил.


on 1290711032, jz wrote:
Возможно, нужно подключить "JA2 All.h" как "Precompiled header" для всех проектов?  

А он и так подключен....

Заголовок: Re: Первые шаги...
Прислано пользователем jz на 25.11.2010 в 21:02:31
2Dirk_Diggler: Что-то похожее http://forum.codenet.ru/showthread.php?t=27143

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 25.11.2010 в 21:13:25
Оно... Будем переделывать...

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 25.11.2010 в 21:37:14
2Dirk_Diggler: ты хочешь портировать код с С на С++? Там будут сотни ошибок и варнингов. Это будет куча работы. У меня такое портирование (с исправлением варнингов) заняло 3 или 4 полных дня работы.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 25.11.2010 в 21:40:55

on 1290713834, bugmonster wrote:
ты хочешь портировать код с С на С++? Там будут сотни ошибок и варнингов. Это будет куча работы. У меня такое портирование (с исправлением варнингов) заняло 3 или 4 полных дня работы.  

да... один проект ужо почти готов. я ж говорю, первоначальные пляски с типами, перечислениями и т.п. я уже отплясал - компилится.
Остальные пойдут намного быстрей.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 28.11.2010 в 14:00:49
Вопрос. Есть класс А и класс B, у класса B есть поле типа - объект класса А.
А также, у класса А есть метод М.
Есть ли в методе М какая-то возможность получить указатель на родительский объект класса B ?
У меня пока одна идея - - добавить классу А поле-указатель типа void*, и в конструкторе  класса B его заполнять адресом this,но тогде везде и всюду придется использовать преобразование типов. А объявить там указатель типа B* не дает компилятор...

Заголовок: Re: Первые шаги...
Прислано пользователем Korchy на 28.11.2010 в 18:03:45

on 1290945649, Dirk_Diggler wrote:
Вопрос. Есть класс А и класс B, у класса B есть поле типа - объект класса А.
А также, у класса А есть метод М.
Есть ли в методе М какая-то возможность получить указатель на родительский объект класса B ?
У меня пока одна идея - - добавить классу А поле-указатель типа void*, и в конструкторе  класса B его заполнять адресом this,но тогде везде и всюду придется использовать преобразование типов. А объявить там указатель типа B* не дает компилятор...  


Вопрос ты наворотил как-то непонятно.
Тебе нужно в классе А иметь указатель на класс Б одновременно с этим и в классе Б иметь указатель на класс А?
Такой момент решается через forward declaration. Например так:
class B;   // вот это собственно и есть форвард декларейшн класса Б
class A {
B* BPtr;
}
class B {
A* APtr;
}

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 29.11.2010 в 01:16:23
Спасибо, оно. и вот еще
У класса А есть метод М(), одноименный с некой внешней функцией М(), отличается только набор параметров. Как из методов класса А вызвать внешнюю процедуру М()? Они пытаются по дефолту обратиться к методу М() этого же класса.

Заголовок: Re: Первые шаги...
Прислано пользователем ddd на 29.11.2010 в 01:39:04
2Dirk_Diggler: а класс А точно знает о существовании внешней функции М()?
вероятно, придется заюзать неймспейсы или указатель на функцию.

Заголовок: Re: Первые шаги...
Прислано пользователем Korchy на 29.11.2010 в 07:31:54

on 1290986183, Dirk_Diggler wrote:
У класса А есть метод М(), одноименный с некой внешней функцией М(), отличается только набор параметров. Как из методов класса А вызвать внешнюю процедуру М()? Они пытаются по дефолту обратиться к методу М() этого же класса.  

void func() {}
class A {
void func() {}
void func1() {
func(); // вызов функции класса
::func(); // вызов глобальной функции
}
}
Вообще, если у тебя такая ситуация - переделывай. В С++ глобальные неклассовые функции использовать - признак плохого планирования. Все организовывай через классы.

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 30.11.2010 в 18:54:51

on 1290637033, bugmonster wrote:
так замени вызовы AIPopMessage() на ScreenMsg()  

Вот тут проблема. ScreenMsg()  не делает паузы. А надо бы вывести такую кнопку, которая при своем появлении ставит все процессы на паузу, дает возможность обозреть тактический экран, и продолжает работу всего остального только после его нажатия...

Обычно такие есть в всплывающих сообщениях...

Заголовок: Re: Первые шаги...
Прислано пользователем Dirk_Diggler на 30.11.2010 в 19:09:15

on 1291008714, Korchy wrote:
Вообще, если у тебя такая ситуация - переделывай. В С++ глобальные неклассовые функции использовать - признак плохого планирования. Все организовывай через классы.  

Окститесь, батенька. :o На такое я пойтить не могу, это мне на пару лет работы ))))

Заголовок: Re: Первые шаги...
Прислано пользователем Korchy на 01.12.2010 в 03:43:08

on 1291136955, Dirk_Diggler wrote:
Окститесь, батенька. :o На такое я пойтить не могу, это мне на пару лет работы ))))

Ты сам вызвался :) Конвертировать код с С на С++ неблагодарная работа :)

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 27.12.2010 в 05:20:30
Всем привет! Извините, искал-искал, но не нашел, посему задам вопрос:
Объясните, пожалуйста, каким образом создана модель человечка в игре?
В данный момент усердно изучаю все, что связано с игростроительством, если можно так выразиться, так вот, человечки никак не похожи на модели, созданные в  3D Max(е).

Заголовок: Re: Первые шаги...
Прислано пользователем <<Green Eye Man>> на 27.12.2010 в 05:44:07

on 1293420030, half-node wrote:
Объясните, пожалуйста, каким образом создана модель человечка в игре?  
- Motion capture, а потом отцифрованно. ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 27.12.2010 в 05:53:55
2half-node:
2<<Green Eye Man>>:

Модели сделаны в Позере, 3-ем и 4-ом. Анимация этих моделей - в основном Motion capture.

Потом - рендеринг сцен в 8-и ракурсах, с сохранением в тарга32, а потом - получение спрайтов .сти каким-то, видимо оригинальным, внутренним, пакетом программ.

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 27.12.2010 в 07:37:55
Ох етить...спасибо. На данном этапе, конечно, придется по-разбираться, но выглядят они, лично для меня, куда привлекательнее холеных и гладких 3дмаксовских. Может я и не прав в конечном итоге. :)

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 27.12.2010 в 07:45:16
Почитал, малость, о программе Poser. Чем она, собственно, отличается от Макса, кроме специализации на создании "гуманоидных" объектов?

Даже не так..вернее так, но еще вопрос. Скажите, разве нельзя напрямую внедрить объект из того же Позера внутрь проекта? Зачем его нужно было прогонять через моушен кэпча? В чем, так сказать, соль? :)

UPD: Хотелось бы уточнить, почему именно здесь я все это ковыряю. Дело в том, что есть у меня мечта, уже довольно дАвняшняя: сделать онлайн проект с графикой, да и основной концепцией (бОльшей ее частью), напоминающей именно JA2.
Вот, подтягиваю д3д и все остальные пробелы..и, будь что будет. :)

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 27.12.2010 в 09:00:16
2half-node:

Позер - первая прога, по-настоящему ориентированная на анимацию именно живых или живо-подобных тел. Лучше всего это описано в Википедии, кажися...

Причем была предложена модель именно челов. тела, а не просто сетки. А мошн кэпча, или, по-русски, кинематограммы - это старинный способ изучения движения. Раньше делались оптикой, сейчас придумано множество иных способов - с обработкой видео-потоков или наборов кадров.

Совершенно невозможно передать истинное, живое движение, вертя верньеры Позера! Можно только "поймать позу"

Причем, чем больше чел "физик-прогер", а не "лирик-художник", тем корявее, рванее, смешнее будут движения "фигурки".

А вот кинематограммы, снятые с живых людей или "кошек", и "прицепленные" к модели - дают то плавное, живое движение, которое есть в ДжА...

Можно внедрить прямо из Позера - но надо "собрать" модель, так или иначе приделать к ней анимацию, подготовить сцену с соотв. ракурсами, прописать ракурсы анимации в нужном разрешении...

Был бы у меня месяц "насквозь" - так бы и делал бы...

Почитай еще про иКлон - iClone 4.13. Есть на рутрекере... Там что-то попроще, что-то посложнее... Но опять все упирается во время изучения программы.

В иКлоне проще (заметно) одеть персов "по-ДжАйски", и файлы .бвх проще прицепить...

Да, в Позере можно раскрасить тень в произвольный цвет, не привязанный ни к фону, ни к объекту. А сохранение в тарге32 - чтобы сделать прозрачный фон. Альфа-канал тарги в .сти сжат в 0-й цвет палитры сти.

Заголовок: Re: Первые шаги...
Прислано пользователем <<Green Eye Man>> на 27.12.2010 в 18:15:54

on 1293433216, Bonarienz wrote:
Совершенно невозможно передать истинное, живое движение, вертя верньеры Позера! Можно только "поймать позу"  
- согласен. Вот только оборудование для "точек захвата" уж очень дорогое. Да и помещение для съемки нужно просторное. :P

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 27.12.2010 в 18:34:00
2half-node: В 3D-Max они анимацию рендерили. На этот счёт в ресурсах прямое указание есть.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 27.12.2010 в 19:12:45

on 1293466554, <<Green Eye Man>> wrote:
Вот только оборудование для "точек захвата" уж очень дорогое. Да и помещение для съемки нужно просторное.

Именитые композиторы тоже много берут. А любительский мокап это 2 камеры, горсть теннисных шариков + халявный софт с рутракера. Для тех кто хочет инноваций и нанотехнологий - есть вариант Kinect + дрова для PC на него. Тоже недорого.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 27.12.2010 в 19:18:02
2bugmonster:

Есть еще проще - библиотека .бвх файлов и прога БВХакер... Тут вот: http://davedub.co.uk/bvhacker/

Да! По опыту - еще баба-художник нужна! А то все равно все рваным будет, как до джашной раскадровки дойдет...

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 27.12.2010 в 19:25:07

on 1293470282, Bonarienz wrote:
По опыту - еще баба-художник нужна!

Это два человека или один?

Заголовок: Re: Первые шаги...
Прислано пользователем <<Green Eye Man>> на 27.12.2010 в 19:39:51
2Bonarienz: [offtop]А обязательно "баба" художник?[/offtop]


on 1293469965, bugmonster wrote:
А любительский мокап это 2 камеры, горсть теннисных шариков + халявный софт с рутракера.
- ага, гениальное просто.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 27.12.2010 в 21:44:27
2<<Green Eye Man>>:

Ну, ваще-то - лучче... Мужиков-художников заметно меньше, чем баб - поэтому они дорогие... Или канздлы...

Шариков не нада - зеленые светодиоды на обмоточных проводах, и бабами пришитые...

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

Заголовок: Re: Первые шаги...
Прислано пользователем <<Green Eye Man>> на 27.12.2010 в 22:03:07

on 1293479067, Bonarienz wrote:
Счас есть пара пакетов, которые мокап снимают прямо с видео, если в интерактиве, то даже с одной камерой получается.
- ну, уже не сейчас, а давно. Первый принц Персии был так сделан. :)


on 1293479067, Bonarienz wrote:
Ну, ваще-то - лучче... Мужиков-художников заметно меньше, чем баб - поэтому они дорогие... Или канздлы...  
- не знаю, что такое "канздлы" (это ругательство?), но согласен рука у "баб" и мягче и жестче. ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 27.12.2010 в 23:51:02
2<<Green Eye Man>>:

Канздлы - это надменно-уничижительно-оскорбительное... Объединяет ...ор-...ак-...ёл-импотент... Так что это - не ругательство... Неологизм-арготизм - да.

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 28.12.2010 в 02:32:38
Кстати. А кому принадлежат права на Jagged Alliance 2? Я просто смотрю, тут исходники и т.п. Все кому не лень ковыряются. Просто, чем чревато тихое "подтындривание" объектов и вставка их в коммерческий проект? :)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 28.12.2010 в 02:38:45
2half-node: Сейчас - издательству bitComposer games. Учитывая что они сейчас готовят ремейк JA2, возможна очень болезненная реакция с их стороны.

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 28.12.2010 в 02:49:42
Ясно, спасибо.

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 28.12.2010 в 03:53:27
2half-node:
Quote:
коммерческий проект
открой тайну

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 28.12.2010 в 03:54:46
Гляди выше
http://forum.ja2.su/cgi-bin/yabb/YaBB.pl?board=gravediggers;action=display;num=1079095151;start=660#668

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 28.12.2010 в 19:00:51
2half-node: К исходникам прилагается лицензия на которой они предоставляются. Она на английском, но что почём понять можно.

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 28.12.2010 в 19:50:26

on 1293501207, Sot wrote:
открой тайну
     

Да тайн еще, собственно, никаких нет. Вообще пока ничего нет. Только наброски диздока, который тоже еще будет ни один раз редактироваться и корректироваться.
Ну а так могу спеть себе дифирамбы про инновационную систему боя, инновационную систему крафта, строительства и т.д. В общем, кругом одни инновации, РОСНАНО отдыхает просто.  ::) ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 28.12.2010 в 20:23:25
2half-node:  
on 1293558626, half-node wrote:
инновационную систему крафта


Это на каком языке написано?

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 28.12.2010 в 20:29:50

on 1293560605, Bonarienz wrote:
Это на каком языке написано?  

Думается мне, на русском. Вас смутило слово крафт?
Смотрим что скажет "Вики": "крафт — в некоторых(тут читаем во всех) компьютерных ролевых играх используется для именования процесса изготовления оружия, одежды и иных полезных в игре вещей."

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 28.12.2010 в 20:35:06
2half-node:  
on 1293560990, half-node wrote:
Смотрим что скажет "Вики": "крафт — в некоторых(тут читаем во всех) компьютерных ролевых играх используется для именования процесса изготовления оружия, одежды и иных полезных в игре вещей."  


Теперь - не смущает! Даля - в дали...

O tempora, o mores!

Заголовок: Re: Первые шаги...
Прислано пользователем Sot на 28.12.2010 в 22:41:50
2half-node: лучшеб ты работал на 1.13 - личное мнение  ;) :P

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 29.12.2010 в 01:42:12

on 1293568910, Sot wrote:
лучшеб ты работал на 1.13 - личное мнение

Надо полагать, это какой-то новый разрабатываемый мод для JA2?
Если да, то, честно признаться, я привык работать за деньги, ибо без них сейчас "ни туды и ни сюды"(с).
Разрабатывать какие бы то ни было моды и прочее, я считаю, тратой трудочасов понапрасну. Любовь приходит и уходит, а кушать хочется всегда.

upd: Но JA2, в принципе, люблю и уважаю. В юношестве потратил много-премного времени на нее. Эх.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 29.12.2010 в 02:12:47
2half-node:

Тогда консультации - платные! Куда счет-фактуру слать?

Заголовок: Re: Первые шаги...
Прислано пользователем half-node на 31.12.2010 в 08:55:41
В Кремль, там все в курсе. )

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 26.06.2013 в 21:27:19
Привет, бойцы.

Назрел у меня один вопрос касательно производительности сборок JA2 под разные платформы.

Предыстория: собрал я Страцциателлу от Геннадия для openSUSE 12.3 64-бит, погонял её немного и был сильно удивлён от того, что она отрисовывает анимацию гораздо медленней, чем оригинал 1999 года под Win7 64-бит.

После разговора с девелопером, я узнал, что в Страцци завели специальную константу для ограничения кол-ва циклов игры на единицу времени (или наоборот - не помню). Однако, Трофименков добавил, что даже если полностью нивелировать эффект от этой константы, сборка всё равно не достигнет производительности оригинала.

В чём же разница?

Оригинал написан на Си, вроде бы, как однопоточное приложение и использует DirectDraw. Страцци переписана на Си++ и использует API SDL для графики. (1.13 вообще портировали на .NET)

Где тут узкое место, не подскажете?

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 26.06.2013 в 21:39:24
2Soul_Collector: Если в общем, то ДиректХ это АПИ заточенное под игры, то есть, очень высокая производительность, хуже качество в не3Д. Под линухом только ОпенГЛ, а он наоборот, промышленный стандарт для настольной графики, всяких КАД систем и подобное. Производительность хуже, качество выше. Но это в общем. А в частном случае SDL всё немного хуже. Это просто обёртка над родным графическим АПИ. Любая обёртка хуже оригинала. Если в родном АПИ чего-то нету, обёртке приходится это эмулировать, что всегда медленнее.

Заголовок: Re: Первые шаги...
Прислано пользователем coolberg на 26.06.2013 в 21:49:21

on 1372271964, jarni wrote:
Под линухом только ОпенГЛ, а он наоборот, промышленный стандарт для настольной графики, всяких КАД систем и подобное. Производительность хуже, качество выше.
Как разработчик под OpenGL 3+ не могу с вами согласится :) Производительность "плюс-минус" примерно одинаковая. А вот насчёт сторонних фреймворков соглашусь - к ним надо относится очень осторожно. Там могут намутить чего угодно.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 26.06.2013 в 21:54:55
2coolberg:  
on 1372272561, coolberg wrote:
Как разработчик под OpenGL 3+ не могу с вами согласится
Тогда беру свои слова назад, знания в этом деле у меня у устарели.

Почитал подробнее, SDL под линухом использует X11 для графики что ещё на шаг отдаляет код игры от видеосистемы. Скорее всего отсюда и падение скорости.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 26.06.2013 в 22:09:03
В Джа2 всё отрисовывается процессором вручную, то есть берётся область памяти и код на ассемблере начинает заполнять её пикселями. То есть, количество обёрток не важно, если в итоге они предоставляют прямой доступ процессору к памяти/видеопамяти.
Что там в стракателе изменили мне не ведомо, могли запросто функции блиттинга заменить на более медленные.

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 26.06.2013 в 22:11:15

on 1372273743, bugmonster wrote:
В Джа2 всё отрисовывается процессором вручную, то есть берётся область памяти и код на ассемблере начинает заполнять её пикселями.  

То-есть, DirectDraw не используется вообще?  :o

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 26.06.2013 в 22:30:14

on 1372273875, Soul_Collector wrote:
То-есть, DirectDraw не используется вообще?

Смотря что имеется ввиду под "вообще".
Большинство графики в джаге:
- хранится в памяти в своём сжатом формате
- имеет подменяемую палитру
- может копироваться с учётом освещения.
Естественно, что таких функций аппаратного ускорения 2D-блиттинга в DirectDraw нет.
Сейчас, конечно, можно забабахать всё аппаратно на шейдерах, но зачем?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 26.06.2013 в 22:40:38

on 1372273875, Soul_Collector wrote:
То-есть, DirectDraw не используется вообще?  

Когда я исследовал код вывода графики в JA2, то механизм мне представился несколько отличный от описанного bugmonster'ом.
Если запустить экзешник с ключом -nodd, то вывод всей графики будет действительно использовать собственные процедуры, написаные на ассемблере. Надо сказать, что режим этот местами довольно медленный и, ко всему прочему, не доделанный.
В нормальном же режиме используется только часть ассемблерных процедур для внутренних преобразований, а вся работа по выводу графики на экран возложена на DirectDraw.
Судя по тому, что на базе сракателлы сделан порт JA2 на Android под NDK, ассемблерных процедур в ней не осталось. Переписывание кода с ассемблера х86 на ассемблере для архитектур ARM (порт имеет несколько исполняемых файлов под несколько архитектур ARM) занятие крайне увлекательное и требующее очень специфических в наше время познаний.

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 26.06.2013 в 23:04:32

on 1372275638, Терапевт wrote:
Судя по тому, что на базе сракателлы сделан порт JA2 на Android под NDK, ассемблерных процедур в ней не осталось

То-есть, старенький DirectDraw + набор собственных быстрых процедур полностью доминируют новые библиотеки... Интересно, если это переделать в OpenGL + CUDA  ::)

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 26.06.2013 в 23:07:27
2Soul_Collector:  
on 1372277072, Soul_Collector wrote:
Интересно, если это переделать в OpenGL + CUDA
FPS взлетит с 100 до 1000. :) То есть, разницы никакой.

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 26.06.2013 в 23:19:07

on 1372277247, jarni wrote:
То есть, разницы никакой.  

Как никакой? А переносимость? Тогда в линухе можно будет получить производительность как в винде и почти не менять код (почти не менять, когда уже есть готовый рендер GL + CUDA). OpenGL и CUDA это кроссплатформ и оба обрабатываются ускорителем. Просто сейчас все разленились, ООП изо всех дыр лезет... порта на джаве не хватает.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 26.06.2013 в 23:28:41
2Soul_Collector: CUDA это фича NVidia, на ATI работать не будет. Хватило бы просто OpenGL. Но как сказали гробокопатели, Джа использует внутренний формат для графики, переделать это всё под OpenGL будет тот ещё геморр.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 26.06.2013 в 23:28:43

on 1372275638, Терапевт wrote:
Когда я исследовал код вывода графики в JA2, то механизм мне представился несколько отличный от описанного bugmonster'ом.
Если запустить экзешник с ключом -nodd, то вывод всей графики будет действительно использовать собственные процедуры, написаные на ассемблере. Надо сказать, что режим этот местами довольно медленный и, ко всему прочему, не доделанный.
В нормальном же режиме используется только часть ассемблерных процедур для внутренних преобразований, а вся работа по выводу графики на экран возложена на DirectDraw.  

"Внутренние преобразования" - это и есть ручная отрисовка графики на вторичную видеостраницу. Смена видеостраниц делается в DDraw аппаратно и не отнимает заметного процессорного времени. Не знаю про линуксовые библиотеки, но если они меняют видеостраницы вручную - это адъ.

Заголовок: Re: Первые шаги...
Прислано пользователем coolberg на 26.06.2013 в 23:37:37
2Soul_Collector: если про переносимость, то вместо CUDA логичнее было бы OpenCL. Но это, опять-таки, что танком бумажные самолётики складывать - извращение. Для быстрого вывода двумерной графики с избытком хватит и стандартных средств OpenGL 2.1.

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 26.06.2013 в 23:40:33

on 1372278521, jarni wrote:
CUDA это фича NVidia, на ATI работать не будет. Хватило бы просто OpenGL. Но как сказали гробокопатели, Джа использует внутренний формат для графики, переделать это всё под OpenGL будет тот ещё геморр.

Многие знакомые гейм-девы жалуются на кривую реализацию стандартов на драйверах от ATI. Можно спорить, но имхо, NVidia доминируют на рынке, и драйвера под линукс регулярно выпускают. CUDA есть смысл заюзать для, цитирую, "внутренних преобразований", то бишь, для логики у которой нет аналогов в рамках OpenGL.  8)

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 26.06.2013 в 23:42:04

on 1372279057, coolberg wrote:
Но это, опять-таки, что танком бумажные самолётики складывать - извращение.


Дежа вю)) ->>>


on 1371075867, Баюн wrote:
Июнь 10th, 2013, 6:34pm, Soul_Collector писал(a):
1) Забавно, игра работает только из-под админа. Всё равно что танком огород перепахивать...

Баюн: от танка до трактора... как житель Танкограда говорю)  


хахаха!


on 1372279057, coolberg wrote:
то вместо CUDA логичнее было бы OpenCL

Продукты от Apple это зло в кубе, имхо

Заголовок: Re: Первые шаги...
Прислано пользователем coolberg на 26.06.2013 в 23:44:34
2Soul_Collector: для "внутренних преобразований" вполне хватит грамотно написанных вставок с SSE2, и никаких гетерогенных вычислений городить не надо. Это нонсенс для изометрической игры 1999 года.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 26.06.2013 в 23:47:16
2Soul_Collector:  
on 1372279233, Soul_Collector wrote:
NVidia доминируют на рынке
Да как сказать :)
http://jonpeddie.com/images/uploads/news/chart1.JPG

С дровами АТИ сейчас вроде всё нормально.

[offtop]
on 1372279233, Soul_Collector wrote:
гейм-девы
Какой занимательный термин, гейм-дева :)[/offtop]

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 26.06.2013 в 23:53:37
[offtop]
on 1372279636, jarni wrote:
Какой занимательный термин, гейм-дева

Ха) забавно вышло
[/offtop]

Ладно, это всё фантазии, пока что. Надеюсь, через пару месяцев начну портировать.  


on 1372279474, coolberg wrote:
вполне хватит грамотно написанных вставок с SSE2,

Опять ассемблер?

Заголовок: Re: Первые шаги...
Прислано пользователем coolberg на 27.06.2013 в 00:06:12

on 1372280017, Soul_Collector wrote:
Опять ассемблер?  
Ассемблер. Но написанный не нами (а Intel, к примеру) и удобно упакованный в либки, к которым протянут C-шный интерфейс :)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 27.06.2013 в 00:10:55
Хочу заметить что спор о технологиях тут ебссмысленный.

Зачем сиртехами нужны были все эти извращения - потому что стандартов и готовых реализаций на тот момент не было. Сейчас любой сферический в вакууме 2Д/3Д-движок сможет отрисовывать всё то же самое, но без извращений и, как правило, с аппаратным ускорением. Ассемблер не нужен.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 27.06.2013 в 00:11:08
2Soul_Collector: 2coolberg:  
on 1372280772, coolberg wrote:
C-шный интерфейс
Который в принципе и есть уже, так-званые intrinsic функции. Непомерно удобней чем писать на асме для каждой платформы. Кстати, в ВижуалСтудио для х64 билда уже нету возможности писать inline-assembler что очень грустно.

Заголовок: Re: Первые шаги...
Прислано пользователем Soul_Collector на 27.06.2013 в 00:15:58

on 1372281055, bugmonster wrote:
Сейчас любой сферический в вакууме 2Д/3Д-движок сможет отрисовывать всё то же самое, но без извращений и, как правило, с аппаратным ускорением.  

Ан нет. С этого же я и начал дискуссию - SDL сливает, как одноногий на соревнованиях по пинкам в зад.  Причем, тенденция портирования на C++ и .NET мне не ясна вообще.

Про стандарты - согласен. Время было такое, велосипедное.

Заголовок: Re: Первые шаги...
Прислано пользователем jarni на 27.06.2013 в 01:11:59
2Soul_Collector: SDL это обёртка с общим интерфейсом. Если бы использовался OpenGL прямо, то взяв во внимание требования Джа, всё бы летало.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 27.06.2013 в 02:01:00
2Soul_Collector: В данном случае SDL просто обёртка над всеми программными извращениями джаги. Сейчас просто нет смысла держать изображения в памяти запакованными. Полупрозрачность и освещение аппаратно поддерживаются.

Заголовок: Re: Первые шаги...
Прислано пользователем FrankHorrigan на 19.10.2013 в 11:11:40
2Raty:  

Quote:
Давным-давно, комрад WISDOM или выкладывал здесь, или присылал по почте исходники с увеличенной стратегической картой 20х20 секторов. У себя всё облазил не нашёл, ни дома, ни на работе. Есть у кого? Поделитесь, плз.

Если вопрос актуален -могу поискать на дисках. Где то я записывал .
Собственно я и есть автор -то есть WISDOM ::)
Был большой "перерыв" в общении с компом и вообще.
От старого ака не помню данных.

Quote:
Единственное, что мне пока не удалось сделать - это добиться того, чтоб правильно назначались координаты сектора, когда я задаю точку перехода(ExitGrid). До 16.16 всё правильно, если поставить, например, 17.17, то будет 1.1. Т.е. где-то я пропустил ограничение до 16, но где, ума не приложу.

Мне не удалось зделать переход между наземным и подземным секторами. Из наземного 16\16 нельзя было перейти в подземный 16\17..

То есть в новых секторах (выше 16\16) нельзя было добавить подземные. Вообще.
При переходе в подземный или вылетало или выкидывало в А1 НО! в наземный сектор..

Почему так - разобраться не смог. Не программист же..
Нашел где это место  в редакторе и исходниках похоже -но навскидку не вспомнить :(



2pipetz:

Quote:
Будет как-то так (если делать карту 32 на 32, с неквадратными я бы вообще
не стал заморачиваться)
ubSrcSectorX = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID % 32) + 1;  
ubSrcSectorY = (gGarrisonGroup[ iSrcGarrisonID ].ubSectorID / 32) + 1;  
и тип ubSectorID надо расширить до UINT16.  

Ага..так и делалось  ;D
Не только тип сектора.. Там куча чего нужно было до UINT расширить. И патрули, и гарнизоны и .т.д

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.10.2013 в 22:29:20
2FrankHorrigan:
С возвращением :beer:

on 1382170300, FrankHorrigan wrote:
Если вопрос актуален

Не, я, к сожалению, уже отошел от дел. К тому же ИМХО правильнее увеличивать размер самих карт, а не их количество.

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 06.01.2014 в 07:33:12
Вопрос, наверное, не совсем сюда, но так как я не программист - то пусть будет в первых шагах.

Эту идею я уже не один раз озвучивал. Хочу заручиться поддержкой программистов.

Есть множество модификаций игры. И каждая требует одних и тех же ресурсов: музыка\звуки\речь\тайлы\видео (если не добавляет свое).
Почему бы не заставить моды использовать ресурсы из одной и той же папки?

В теории это легко. Есть папка с игрой (лучше с 1.12, для поддержки ЦС). А моды (а точнее все их файлы) лежат в своих папках. При запуске мода игра будет обращаться к основной папке дата мода, а недостающие ресурсы брать из общей.
Приблизительно (не приблизительно, а так же) сделано в двигле от Unreal 2004 (не помню, какой по номеру движок). Все моды для анрила лежат в своих папочках и (за редким исключением) не требуют изменений в оригинальных файлах и занимают только свое положенное место на диске (какой-то расистский лозунг для сюжетов сэра Терри Пратчетта получился 8) ).

В 1.13 сделано похоже, но там не заботятся об месте и все ресурсы все равно дублируются (в чем смысла лично я не вижу).

Вопрос - можно ли так сделать? Если можно - потребуется ли как-то переделывать исходные файлы модов? Если не потребуется - нужно ли это кому-нибудь (кроме меня)? Ну и риторический - если нужно, почему не сделано. ;D

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 06.01.2014 в 11:01:39

on 1388982792, Green Eyes wrote:
Вопрос - можно ли так сделать? Если можно - потребуется ли как-то переделывать исходные файлы модов?
Возможно. Для этого нужно две вещи:
1) Все файлы каждого мода поместить в одну папочку с его названием, а её кинуть в DATA или корень - как кому больше нравится.
2) Основательно перелопатить екзешники. Желающим применять это к Shady Job, Back 2 Business, rban Chaos и прочим ранним модам флаг в руки и барабан на шею. Человек в здравом уме за это сейчас не возьмётся.

Вариант второй, локальный:
Идём гуглить "hard link", хотя, имхо, копировать проще и удобней. Даже с моим не очень большим по современным меркам виндовым разделом.

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 06.01.2014 в 22:21:15

on 1388995299, Lion wrote:
Идём гуглить "hard link"
- мне для РА2 такое же советовали - не вариант. Но хотя бы для РА2 есть утилиты реализующие такой процесс (правда с грехом пополам). Да и большее количество модов требует минимум от игры - можно скачать небольшую мультиплееруную часть (она бесплатна) и просто к ней мод подключить.


on 1388995299, Lion wrote:
Основательно перелопатить екзешники. Желающим применять это к Shady Job, Back 2 Business, rban Chaos и прочим ранним модам флаг в руки и барабан на шею. Человек в здравом уме за это сейчас не возьмётся.  
- значит без этого никак.

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 06.01.2014 в 22:27:16

on 1389036075, Green Eyes wrote:
- мне для РА2 такое же советовали - не вариант. Но хотя бы для РА2 есть утилиты реализующие такой процесс (правда с грехом пополам).
Не понял.
Зачем утилиты для создания линков? Командной строки должно быть достаточно. Можно сделать для Speech.slf, npc_speech.slf и это будет уже большой выигрыш.

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 06.01.2014 в 22:36:53

on 1389036436, Lion wrote:
Зачем утилиты для создания линков? Командной строки должно быть достаточно. Можно сделать для Speech.slf, npc_speech.slf и это будет уже большой выигрыш.
- не для линков. Для реализации запуска модов без танца с бубнами. Но стоит сказать, что в случае с РА2 работает это только на официальной англ версии. :(

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 02.01.2015 в 06:00:22
Меня очень давно огорчал глюк с плаваньем в крыше, который я впервые встретил в Вайлдфайр, а потом и в НО.

Сегодня удалось его победить в первом приближении.
[offtop]Подшофе вообще неплохо программируется[/offtop]
Команда отборных психов изучает хождение по над водой:
[attach]

Вещи, положенные на крышу над водой не тонут. Взрывы ещё не доделал.

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 02.01.2015 в 23:37:10
Круть! Баг же древний как сама жизнь вроде.

Интересно, а приделать разрушение крыши в таком случае - мерк будет падать в воду и разбиваться, или просто падать в воду без урона.

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 03.01.2015 в 01:13:37
2Green Eyes: Не знаю. Разрушение крыш мне не очень интересно.

К тому же не совсем понят механизм, когда крыша изначально висит в воздухе, а стен для её поддержки нет. Для визуального соответствия реальности можно использовать тайлы других типов.  ::)

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 03.01.2015 в 01:21:03
2Green Eyes: Вообще, началось с борьбы с другим багом.

У меня в моде есть сектор, куда надо войти с запада и уйти на север. В секторе враги. По сюжету убивать их совсем не нужно - главное пройти. Классическое решение - выставляем людей в угол карты и сразу же уходим из сектора в нужном направлении. Угол карты занят водой. На этом деле вылез ещё один баг оригинала: при расстановке людей по краю атакуемого сектора перед боем можно ставить людей в воду. При этом небоевые персонажи не умеют плавать! Их первое же движение в воде даёт вылет.

Пришлось запретить при входе в сектор ставить в воду тех, кто не умеет плавать.

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 03.01.2015 в 01:52:41

on 1420236817, Lion wrote:
К тому же не совсем понят механизм, когда крыша изначально висит в воздухе, а стен для её поддержки нет. Для визуального соответствия реальности можно использовать тайлы других типов.  
- ну тут надо копать.


on 1420237263, Lion wrote:
Пришлось запретить при входе в сектор ставить в воду тех, кто не умеет плавать.  
- а запретить вообще спавнить в воду?

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 03.01.2015 в 02:04:28

on 1420239161, Green Eyes wrote:
а запретить вообще спавнить в воду?  
Можно. Но зачем ограничивать тактические возможности?
Те, кто умеют плавать могут и плавать.  ;)

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 06.01.2015 в 20:39:11

on 1420237263, Lion wrote:
Пришлось запретить при входе в сектор ставить в воду тех, кто не умеет плавать.


Анимация плавания для некоторых NPC была сделана. Для остальных -  недели три работы.

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 06.01.2015 в 20:52:59

on 1420565951, Strax5 wrote:
Анимация плавания для некоторых NPC была сделана.
Можно посмотреть?


on 1420565951, Strax5 wrote:
Для остальных -  недели три работы.  
А оно этого стоит? Три недели работы - это много, а в результате получим анимацию, которую далеко не каждый в игре вообще увидит.

Перекаты, метание гранаты сидя и подобные вещи реально используются, а плавание NPC. Судя по отсутствию регулярных жалоб на вылеты при таком действе - это не очень востребовано.

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 07.01.2015 в 23:53:51

on 1420566779, Lion wrote:
Можно посмотреть?


В теме Экстерьер выкладывалось все.


on 1420566779, Lion wrote:
Три недели работы - это много


Это не много. Только париться просто так смысла нет. То, что было сделано 7 лет назад прошло даром, так что 3 недели - это не много.

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 08.01.2015 в 00:33:36
Создание ресурсов "про запас" - жутко неблагодарное занятие.
Если бы в этом действительно был смысл, то да. А так это получается не очень нужно, а делать просто, "чтобы было" не хочется.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.01.2015 в 01:30:30
В кои-то веки взял в руки исходники и затупил наглухо :(
В общем решил я с количеством слотов поиграться, для начала добавить 9-й маленький слот.
Добавил SMALLPOCK9POS в Soldier Control.h, задал координаты в Interface Panels.c и mapscreen.c, добавил необходимое в Interface Items.c,
Assignments.c  REPAIR_PASS_SLOTS_TYPE gRepairPassSlotList[ NUM_REPAIR_PASS_TYPES ] =
и opplist.c
Условия типа такого      for (bPocket = HANDPOS; bPocket <= SMALLPOCK8POS; bPocket++) тоже поправил.

Ну и ничего не получается... Игруха виснет после вступительного ролика.
Неужели где-то количество слотов таки жестко зашито???

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 18.01.2015 в 06:37:50
2Raty: Что-то пропустили.
Я у себя без проблем расширил на один слот - всё работает.
http://www.ja2.su/sclad/lion/LSCREENS/DPM.PNG



Какого ролика? Перед главным меню или в начале игры?

Думаю - второе, тогда у Вас проблема в чтении файла prof.dat. Он читается как бинарник - структуры полностью переписываются из файла в память как единое целое. У Вас теперь структура больше по размеру, чем в файле. Это должно давать проблему.

Введите структуру "Старый тип солдата", соответствующий оригинальному. При инициализации игры читайте данные из файла во временный массив старых структур, а потом переконвертируйте их в новые, скопировав все старые поля и заполнив новые поля инвентаря (по три на слот, если правильно помню) нулями.

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 18.01.2015 в 06:39:35
2Raty: Ознакомьтесь с писаниной Багмонстра по данному вопросу:
http://forum.ja2.su/cgi-bin/yabb/YaBB.pl?board=gravediggers;action=display;num=1158740577

Так что с картами тоже придётся сделать переформатирование.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.01.2015 в 11:50:21
2Lion:
Ну вроде получилось. Вылетало в начале, потому что я перестарался и поправил кое что лишнее.
Как и я и предполагал на карте пропали все люди. Причем в редакторе тоже невозможно никого поставить, кроме врагов и робота. Но и его в игре не будет.


on 1421552270, Lion wrote:
Введите структуру "Старый тип солдата", соответствующий оригинальному. При инициализации игры читайте данные из файла во временный массив старых структур, а потом переконвертируйте их в новые, скопировав все старые поля и заполнив новые поля инвентаря (по три на слот, если правильно помню) нулями.

Это понятно, только скорее всего хрен у меня это получится, я ж не прогер. Так чего-нить совсем очевидное копи-паст и слегка напильником обработать, не больше ;D
За мануал, кстати, спасибо. Помню, что видел его, а где и что, забыл.

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 18.01.2015 в 12:17:30

on 1421571021, Raty wrote:
Это понятно, только скорее всего хрен у меня это получится, я ж не прогер.
А учиться никогда не поздно.
Тут из тех, кто занимается работой с исходниками, далеко не все являются программистами.
Как показывает практика, зачастую главное - не бояться попробовать.

P.S. "Старый тип солдата" - это и будет копипаста плюс немного доработки.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 18.01.2015 в 21:19:31
2Lion:

on 1421572650, Lion wrote:
А учиться никогда не поздно.

Ну так когда исходники только появились, я даже копипастить не умел ;D

on 1421572650, Lion wrote:
"Старый тип солдата" - это и будет копипаста плюс немного доработки.

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

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.01.2015 в 08:43:33
Совсем глупость спрошу, но тем не менее.....
И попросил бы не ржать и нефейспальмить :D

void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
{
     UINT8      ubMercsInSector[ 20 ] = { 0 };
........


20 это что???

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 20.01.2015 в 08:52:29
Размер массива.
Если я правильно помню, объявляется массив из 20 элементов и все они зануляются.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.01.2015 в 08:55:34
2Lion:
а почему 20? 18 солдат + 2 транспорта? или это вообще с кол-вом мерков не связано?

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 20.01.2015 в 08:57:53

on 1421733334, Raty wrote:
18 солдат + 2 транспорта?
Да. В своё время, кто-то делал модификацию, где можно было вместо машин нанимать ещё двух мерков.
Т.е. в ней было 18 позиций для мерков и ещё 2 для мерков или машин.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.01.2015 в 09:22:51
2Lion:
Я когда на разрешение 1024х768 переходил, сделал 50 человек + 2 транспорта. Только как всегда где-то недоправил, а где-то лишнего нагадил.
Из-за этого скорее всего у меня и траблы со слотами и с неотображением бейджатой неписи на картах.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 20.01.2015 в 23:16:20
Хосспади, какое же я всё таки тупое тупило..... :cry:
Бейджатая непись у меня на картах не отображается..... Конечно, а хрен ли ей отображаться, если я им в заданиях "stay in sector" не указал :user:

Без этого оказывается они тоже появляются, но через какое-то время, вернее не появляются, а приходят. Минут через 30 игровых, но кто ж их столько ждал?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 06.03.2015 в 00:19:03
А кто-нить в исходникак NIVa разбирался?
Как реализовали, что при снятии разгруза или рюкзака все вещи из слотов как бы аттачатся к снятому предмету? Вернее сам механизм мне не особо интересен, а как эти аттачи хранятся? Переработана сама структура аттачей  или как-то еще?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 13.03.2015 в 00:16:21
2Raty: Да, предметы, которые должны находиться в других предметах, реально хранятся внутри них. У меня сделано по такому же принципу. Переработка потребовалась серьёзная.
Старая система не может хранить аттач-в-аттаче.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.03.2015 в 03:53:24

on 1426194981, bugmonster wrote:
предметы, которые должны находиться в других предметах, реально хранятся внутри них. У меня сделано по такому же принципу.

Круто.
Я просто тоже пилю сейчас что-то вроде NIVа.

Заголовок: Re: Первые шаги...
Прислано пользователем FukindGUD на 14.03.2015 в 08:26:52
Народ, не подскажите, где находится текстовка биографии наемников?
Прогой ProFileEditUpg обработал кое кого из АИмов, но в самой игре и имя и биография те же. Если биографию мнеисправить не удалось, т.к. ее я не нашел, то имя то я менял. Данные о нем еще где то хранятся, кроме как в Prof.dat?

Заголовок: Re: Первые шаги...
Прислано пользователем FukindGUD на 14.03.2015 в 09:02:21
Вот как выглядит сейчас.
http://i59.fastpic.ru/big/2015/0313/38/a3d14e0167b29be9fc10f174ed103738.jpg
А вот так я хочу сделать.
http://i57.fastpic.ru/big/2015/0313/a2/127566dd37ae08363d4e8bf51b3009a2.jpg

Заголовок: Re: Первые шаги...
Прислано пользователем jz на 14.03.2015 в 12:19:05
2FukindGUD:


on 1417965322, pz_3 wrote:
В папке \Night ops 1-30\Data\npcdata лежат нужные тебе EDT Файлы


on 1418023264, Баюн wrote:
редактор в смысле
http://ja2.su/opensours/redactors/RedactorEdt.rar


http://www.ja2.su/sclad/bugmonster/EdtMegaEditor_latest.rar

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 27.03.2015 в 03:08:01
Вот еще никак понять не могу...
Как и где обрабатываются файлы .edt?
Интересует как из абракадабры текст получается.
PS Я в курсе, что абракадабра это смещенные на один символы.

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 27.03.2015 в 03:54:07
Сохранение файлов в этом редакторе тот еще геморой.
Я в свое время делал патч, добавляющий субтитру Биггинсу и прочим нанимаемым из Цены свободы. При сохранении постоянно искажался текст.
В чем причина я так и не понял. Сделал катаньем.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 27.03.2015 в 04:13:57

on 1427414881, Raty wrote:
Как и где обрабатываются файлы .edt?
Интересует как из абракадабры текст получается.

\Utils\Encrypted File.c

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 27.03.2015 в 06:03:17
2Strax5:
Ты про редактор edt? Как я тебя понимаю, у меня около 250 только оружия нового, я тоже упарился описания делать. Там если превысишь количество символов в строке, то она обрезается и в конце какая-то хрень добавляется. А нормальное описание в эти короткие строки не запихнуть.
2Терапевт:
Благодарю.

Заголовок: Re: Первые шаги...
Прислано пользователем FukindGUD на 27.03.2015 в 08:59:25
Народ, а не подскажите, какой файл отвечает за биографию Мерков? В AIMBIOS только, соответственно, Аимы.

Заголовок: Re: Первые шаги...
Прислано пользователем 88vs1984 на 15.08.2015 в 01:13:42
почему при попытке отредактировать EDT файл, например, EMAIL.EDT, даже если просто удалить одну букву, в игре во всех письмах вместо букв тогда отражаются кракозябры?

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 17.08.2015 в 08:40:28
edt-редактирование глючное.

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 17.08.2015 в 12:10:06

on 1439590422, 88vs1984 wrote:
вместо букв тогда отражаются кракозябры?  

Смотря чем редактировать.
Ссылка на правильный редактор есть на этой странице несколькими постами выше.

Заголовок: Re: Первые шаги...
Прислано пользователем Anthrax на 17.08.2015 в 23:33:35
Такой вопрос (наверняка его здесь уже поднимали, вполне возможно даже я, но уже сам забыл, что обсуждалось здесь несколько лет назад):

Можно ли в JA2 реализовать генератор карт?

Необязательно, чтобы этот генератор был непосредственно в самой игре. Здесь знающие пишут, что на ручную отрисовку лесной карты уходит 2-3 дня, а на городской сектор и месяцами можно сидеть. Те же Бигмапы на медведях уже несколько лет рисуют. Генератор мог бы очень облегчить задачу. Одно дело, рисовать вручную все с нуля, и совсем другое, просто вносить грамотные правки в отгенерированные сектора. Картостроение (а, имхо, новых карт больше всего и не хватает в JA2 ххх) при наличии такого генератора гораздо бы могло у всех желающих ускориться.

Заголовок: Re: Первые шаги...
Прислано пользователем Lion на 18.08.2015 в 19:41:15
Ну, вообще-то теоретически можно всё, что угодно.

А вот на практике это существенно сложнее. Создавая карту, человек руководствуется плохо алгоритмизируемыми соображениями. Можно научить программу случайным образом раскидывать по карте какие-то элементы, которые до этого выбраны в ручную (тайлсеты могут быть составлены весьма оригинально, например, дополнительные кусты могут запросто жить в позиции, отведённой в оригинале для машин, а расположение мелкого мусора может быть вообще почти случайно).

Но толку от этого будет не слишком много.

Во-первых, в редакторе изначально реализован механизм разбрасывания выбранных элементов по площади. Лично на мой взгляд, это разбрасывание не приводит к красивым результатам. Я всё-таки предпочитаю даже мелкие не препятствующие хождению кустики раскидывать вручную.

Во-вторых, в игре (особенно модах) очень мало карт дикой природы без дорог, рек и гор. Рисование рек и гор реализовано очень сложно. Редактор даёт множество артефактов, которые могут быть обойдены лишь при очень тщательной проработке сектора, когда какой-нибудь участок воды или гор переделывается по многу раз.

В-третьих, даже далеко не любой картостроитель рисует качественный городской сектор.  :( Увы, случаи, когда проход в спальню с антикварной мебелью и бассейном был проложен последовательно через стрельбище, кузницу и пыточную наблюдались.  ::) Что уж тут говорить про рисование города программой. В конце-концов, для желающих сделать побыстрее есть механизм клонирования домов: сделайте город с типовой застройкой. При умелом использовании, в игре может смотреться очень неплохо.

В-четвёртых, ничто не мешает использовать для работы своего рода заготовки для карт. Отрисовать самую неинтересную и монотонную часть сектора (его подложку) один раз и пустить на несколько карт. Быть может даже карт, выполненных разными тайлсетами.

Это к тому, что создание карты с разнообразными элементами программой - очень сложный процесс, который для человека оказывается заметно проще, потому что у человека гораздо лучше с распознаванием зрительных образов, чем у компьютера.  В конце концов, для большинства картографов более-менее очевидно, что должно быть в обычной квартире, а программу придётся сначала научить этому, а потом научить, как распознавать в тайлсете, скажем, кровать, ибо в игре кровать может быть в тайлсете в одной из многих позиций, их может быть несколько...



А если говорить ещё более строго, сама возможность реализованного на практике качественного генератора сложных карт (не важно для какой игры) вызывает некоторые опасения.
Если подумать, генераторы карт есть в играх с не слишком сложными картами, например в "Казаки: европейские войны" - земля, вода, холмы, лес, немного месторождений - готово.
В более сложных случаях, как в Героях Меча и Магии III, генератор карт далеко не всегда срабатывает удовлетворительно. Карты получаются заметно хуже сделанных в ручную, а кроме того, как мы это проверяли с другом прошлым летом, они далеко не всегда вообще оказываются пригодны для игры. Мы играли друг против друга, а выигрывал обычно не тот, кто играл лучше, а тот, кому повезло с картой. Бывало, что один из нас вообще не мог выйти из замка.  ::)

Чем больше игрок взаимодействует с картой - тем хуже её генерировать. В нашем же случае, игрок очень тесно связан с картой.

Заголовок: Re: Первые шаги...
Прислано пользователем FrankHorrigan на 05.09.2015 в 17:38:38
Есть вопросик.
Можно ли в Джа2 реализовать многоэтажность ?  
Здания с рабочими 2-3-4 этажами.

Багмонстер когда то писал что то такое, но в общих чертах.

Хотелось бы понять насколько реализуемо  в рамках имеющихся исходников, ну и примерно оценить трудоемкость.

Вопрос этот мучает еще с момента появления исходников в открытом доступе.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 09.09.2015 в 19:33:52
2FrankHorrigan:
Можно на основе существующих крыш первого этажа реализовать неполноценный второй этаж и лестничные пролёты, в исходниках везде понемногу допиливать придётся. Но если нужна настоящая многоэтажность+подвальный/траншейный уровень, то придётся существенно переработать:
- формат карт и все что с ним связано: редактор карт, тайлсеты, загрузку, сохранение
- рендеринг
- искусственный интеллект
- анимацию
- пользовательский интерфейс
- jsd и физический движок
- ещё что-то, что обязательно всплывет в процессе.

Так что в этом случае вопрос нужно ставить так: что легче, реализовать многоэтажность в JA2 или прикрутить игровую механику JA2 на другой движок с поддержкой многоэтажных карт.

Заголовок: Re: Первые шаги...
Прислано пользователем KombaT на 09.09.2015 в 20:55:24
Как говорится: хер редьки не слаще..
да и смысл, при JAшной то слабой графики и довольно продуманной механики..
достаточно, просто сделать 5ти-этажность антуражную (кому надо) с 2умя действующими этажами

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 10.09.2015 в 11:11:56
Реализовать можно чисто для виду (или вуду, как хотите) - сделать крышу в виде трех-четырех этажной стены (так двух этажные здания в принципе и сделаны в игре). Для "крыши" сделать набор тайлов, которые дублируют обстановку в доме (муторно, но выполнимо). Или сделать этажи по типу подвалов, но от подвалов придется отказаться. Один минус - через окна таких этажей стрелять нельзя будет.

В общем - лучше действительно сделать свою Джа на другом движке. Но для этого нужно - благословение маркидержателя, куча баблосов, команда оболтусов (желательно знающих свое дело), упоротость и упертость, возможность в любой момент объявить себя банкротом. Последний пункт обязателен. ;D

---
К сожалению, вариант модификации других игр не прокатит. Большинство тактических игр либо не обладают нужными параметрами, либо не имеют возможности модификации.

А с модификацией двигла джа2 мучиться никто не будет. Да и смысл - игрушка то изометрическая, вращать камеру нельзя и большие здания будут мешаться только (как музей в Балайме). В принципе можно осуществить такое: большие здания делать по краям сектора, а доступ в них на основе Фоллаута (внутренности - отдельные сектора).
Но главное не этажность, а (как правильно заявил многоуважаемый товарищ Комбат) - графика. Вот если бы... но мне в ломак, если честно (работа высасывает крупицы энтузазизма, да и стимула с графикой работать нет).

2bugmonster: Тут же Seven выкладывал ролик, где какой-то чувак-золотые-руки на основе 1.13 сделал кратеры, холмы и окопы (реальные), по образу и подобию Эпохи Империй. Было заявлено, что формат карт типа менять не нужно. Зато графических работ требуется до фигища. Правда, как я понял - это был всего лишь эксперимент.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 24.09.2015 в 11:56:20
2Green Eyes: Показанные на видео холмы и окопы мало чем отличались от реализации окопов на jsd, то есть они существуют только визуально, и для реального их применения в геймплее нужно доработать многие пункты из приведённого мной ранее списка.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 06.02.2016 в 16:32:05
Ребятушки, поможите кто чем может...

Weapons.c
INT32 TotalArmourProtection(.....)
..............
                             // bullet got through jacket; apply ceramic plate armour
                             iTotalProtection += ArmourProtection( pTarget, Item[pArmour->usAttachItem[bPlatePos].ubClassIndex, &(pArmour->bAttachStatus[bPlatePos]), iImpact, ubAmmoType );

вылазит ворнинг C4761: integral size mismatch in argument; conversion supplied

на что оно жалуется и что делать?

ps ubClassIndex я зарядил UINT32. До  этого делал UINT16 и тоже там же был еще один ворнинг, но другой.
pss на всякий случай напомню, что я вообще не программист, по этому програмистскими терминами мне что-то объяснять бесполезно. Так что попроще как-нить ;)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 06.02.2016 в 20:13:09
2Raty: Уточнение, что ты не программист, очень в тему. Наличие ворнинга может беспокоить программиста, потому что означает, что он плохо сделал свою работу. Наличие ворнинга не должно беспокоить остальных, потому что и так всё работает.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 06.02.2016 в 22:54:16
2bugmonster:
Ну так-то оно так. В оригинальных исходниках получалось ЕМНИП 12 ворнингов, и на них давно было положено, ибо таки да, всё работало, но когда в результате рукоблудия рождаются новые, как-то не уютно становится.
И да, экзешник вполне себе рабочий получился, а вот эдитор хоть и компилится, но не запускается зараза.

Заголовок: Re: Первые шаги...
Прислано пользователем oldwolf на 06.02.2016 в 23:03:58
где то есть видеоурок или мб кто то может снять или научить как нарисовать аватар нового мерка чтобы он был в стиле Джаггеда?

очень хотелось б заняться данной темой,но из статьи на сайте мало что понял(но разобраться очень  хочется!)

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 06.02.2016 в 23:43:30
2oldwolf: А ничего лучше статmb на сайте и не придумано. Рисование портретов чтука сложная (для меня как минимум). А вот фотку переделать или фейс-генераторный фейс разукрасить - это можно. :)

Предел - 256 цветов и любая цветная фотка или 3Д моделько будет выглядеть "по-джаговски. Правда, если харя нормальная попадется. :)

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 07.02.2016 в 16:10:05
2Raty:
Второй параметр должен быть UINT8, а не UINT32 судя по заголовку функции.
На это наверное и ругается.
Вот так попробуй.
iTotalProtection += ArmourProtection( pTarget, ( UINT8 )Item[pArmour->usAttachItem[bPlatePos].ubClassIndex, &(pArmour->bAttachStatus[bPlatePos]), iImpact, ubAmmoType );

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 07.02.2016 в 20:46:53
2pipetz:
Благодарю.
Помогло. В смысле ворнинг ушел, но эдитор так и не заработал. Хотя это и так понятно было, что к эдитору это никакого отношения не имеет.

Заголовок: Re: Первые шаги...
Прислано пользователем oldwolf на 07.02.2016 в 23:19:17
2Green Eyes
ну с само картинкой допустим разобрались) Как сделать СТИшку и всунуть в игру?
я СТИ редактор скачал но ни че го не понял)

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 08.02.2016 в 19:43:43
2oldwolf: Все тут:

Раз (http://ja2.su/staty.php?id=42)

И двас (http://ja2.su/staty.php?id=41)

Если ничего не понятно, лучше и не начинать.

---
[offtop]ПС: ну вот люди пошли! Хуже американцев, вроде бы и делать чего-то хохотят,  но разбираться в этом не х.. хотят, в общем. :extrat:[/offtop]

Заголовок: Re: Первые шаги...
Прислано пользователем oldwolf на 08.02.2016 в 19:58:15
ну что ж...будем вникать
но тогда возникает и другой вопрос - профайлэдит у меня работает, но ничего не открывает, в чем дело?
вин7

пишет - cant open file ja2pal.dat

Джага - Голд от Буки

Заголовок: Re: Первые шаги...
Прислано пользователем KombaT на 08.02.2016 в 21:25:53

on 1454950695, oldwolf wrote:
Джага - Голд от Буки

еретик!

Заголовок: Re: Первые шаги...
Прислано пользователем oldwolf на 08.02.2016 в 21:30:15
оффтопчик

мне ее озвучка нравится намного больше той где Барри хохол))

соррян,но это так))

по делу - сменил мордаху ИМПа негра, на нужное изображение. При высадке в Омерте игра виснет наглухо - в чем причина?


Заголовок: Re: Первые шаги...
Прислано пользователем ПМ на 09.02.2016 в 08:54:54

on 1454950695, oldwolf wrote:
cant open file ja2pal.dat  

А что непонятно-то? Этот файлик должен быть извлечен из slf-архива, в архиве прога его не видит.


on 1454956215, oldwolf wrote:
сменил мордаху ИМПа негра.... При высадке в Омерте игра виснет наглухо

Точно больше ничего не трогал? Или может картинку загнал очень большого размера?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.02.2016 в 15:24:30
Прилип я что-то с эдитором :(
Компилится без новых ворнингов всегда, но сцуко отказывается запускаться если в items, weapons и везде, где надо, добавить оружие за номером выше 255. ubClassIndex я расширил до UINT16 , и экзешник вполне себе работает.

Получается, что где-то в эдиторе по прежнему узко и больше 255 не пролазит. А где тогда ворнинги, блеать???

Заголовок: Re: Первые шаги...
Прислано пользователем ПМ на 09.02.2016 в 15:45:26
2Raty:
Расширение линейки оружия требует дофига правок в куче мест, емнип. Подробности - у тех, кто такое правил - Терапевт, Багмонстр...

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 09.02.2016 в 15:47:32
2ПМ:

Слабак, ёпта! Это те не телефон/интернет в Грязи (siccc!!!!!!!!!) тянуть!!!

ПыС! А "Липецкий бювет" у нас - настольная вода газированная, уже пятый год! Хороша, сцуко!

Заголовок: Re: Первые шаги...
Прислано пользователем ПМ на 09.02.2016 в 17:21:59
2Bonarienz:
А потом пришел гражданина нанотехнолог, аднака, и ффсе заоффтопил.   :beer:

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 13.02.2016 в 13:46:29

on 1454876357, oldwolf wrote:
ну с само картинкой допустим разобрались) Как сделать СТИшку и всунуть в игру?  
я СТИ редактор скачал но ни че го не понял)  

Да есть такая идея сделать редактор тайлсета для тех кто ничего не понимает.
Чтобы на карте Арулько можно было выбрать сектор, открыть его карту,
на карте кликнуть в произвольное место: "хочу это исправить".
И чтобы по запросу выгружалась картинка объекта в каком-нибудь общедоступном формате.
Можно было её отредактировать и загрузить обратно, и чтобы она сохранялась сразу в нужное место.
Но для этого надо куда-то в метаданные картинки писать откуда она была выгружена.
Потом приделать к этому веб-интерфейс и сделать что-то типа open source tileset.
И можно было бы потом на базе этого приложения развернуть проект по переводу графики JA 2 в HD формат.
Да, да я всё про баню.... )

"Не покидай меня безумная мечта..."

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyes на 13.02.2016 в 14:28:53

on 1455360389, pipetz wrote:
И можно было бы потом на базе этого приложения развернуть проект по переводу графики JA 2 в HD формат.
Да, да я всё про баню.... )  
- а за чем дело стоит?
Я только за. Интерфейсные панельки уже ковыряю. А вот с тайлами - пока не знаю, как лучше сделать реализацию:
1. Наделать тайлов в максимум в PNG, и пусть люди-программисты мучаются png`шки в игру вводить.
2. Наделать тайлов в максимуме в PNG, а потом для всех разрешений наресайзить.

С анимацией фиговенько - проги есть, а руки из попы растут. :(

Заголовок: Re: Первые шаги...
Прислано пользователем oldwolf на 13.02.2016 в 21:27:21
что то как я картинку ни пытался всунуть - висла на высадке в Омерте после того как чар произносит свою речь

видимо кто то меня тайно подписал на рукожопие.ру)))

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 15.02.2016 в 17:45:26
народ, снова вопрос...
Про типы перезарядки может кто-нить разжевать? Когда и что именно происходит. Я имею в виду непосредственно ситуацию в игре.
Я про RELOAD_PLACE,
         RELOAD_SWAP,
         RELOAD_TOPOFF и
         RELOAD_AUTOPLACE_OLD.

Первые 2 это понятно: 1 - суем магазин в пустой ствол,
                                      2 - суем в непустой ствол - замена магазинов. Во время боя такое происходит.
А вот остальные.... чем дольше смотрю, тем больше туплю.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 16.02.2016 в 00:26:46
2Raty:

Дозарядить и вернуть старый - типа, очкофф ходофф мала али ниасталысь... Кажыся...

Elky ты, не Raty ни фига...

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 17.02.2016 в 10:56:31
2Bonarienz:

on 1455571606, Bonarienz wrote:
Дозарядить и вернуть старый - типа, очкофф ходофф мала али ниасталысь... Кажыся...  

Да именно так. Только про очки ходов там нету. Тупо само действие.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 17.02.2016 в 18:54:04
2Raty:
TOPOFF это когда ты в реалтайме тыкаешь магазином/стопкой магазинов на непустое оружие и он берёт из них столько патронов, сколько не хватает до полной дозарядки оружия.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 19.02.2016 в 21:40:55
2bugmonster:
:yes:
2Все:
и еще вопросик.
Где прячется механизм исчезновения предмета с 0% статуса? Пустая фляга, пустой магазин, при ручном пополнении одного другим и прочее?

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 29.02.2016 в 13:02:59
2Raty: Там нет универсального места, емнип. Всё разбросано, патроны при дозарядке исчезают в функции заряжания, при сливании предметов вместе - в функции присоединения аттачей, при потреблении напитков - в соответствующем месте.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 29.02.2016 в 16:05:21
2Raty:
Посмотрел.
Пустые магазины при заряжании удаляются в ReloadGun()

                 if (pAmmo->ubShotsLeft[0] == 0)
                 {
                       RemoveObjs( pAmmo, 1 );                              
                 }


При соединении предметов они удаляются AttachObject()

                             if (pTargetObj->bStatus[0] + pAttachment->bStatus[bLoop] <= ubLimit)
                             {
                                   // consume this one totally and continue
                                   pTargetObj->bStatus[0] += pAttachment->bStatus[bLoop];
                                   RemoveObjFrom( pAttachment, bLoop );
                                   // reset loop limit
                                   bLoop = pAttachment->ubNumberOfObjects; // add 1 to counteract the -1 from the loop
                             }

и там же ниже кусочек (не проверял, в каких случаях он должен срабатывать)

                       // the merge will combine the two items
                       pTargetObj->usItem = usResult;
                       if ( ubType != TREAT_ARMOUR )
                       {
                             pTargetObj->bStatus[0] = (pTargetObj->bStatus[0] + pAttachment->bStatus[0]) / 2;
                       }
                       DeleteObj( pAttachment );


Употреблённые вещества исчезают в UseKitPoints()

     // check if pocket/hand emptied..update inventory, then update panel
     if( pObj->ubNumberOfObjects == 0 )
     {
           // Delete object
           DeleteObj( pObj );

           // dirty interface panel
           DirtyMercPanelInterface(  pSoldier, DIRTYLEVEL2 );
     }



Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 29.02.2016 в 17:27:09
2bugmonster:
Благодарю.
Я так понимаю, везде, где встречается bStatus и ubShotsLeft можно найти интересующее.
Reload gun я уже вдоль и поперек перекроил. ;)
Пилю новую систему взаимодействия патроны-магазины-оружие ::)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 01.03.2016 в 17:59:14
2Raty: А чем моя не устраивает? У меня то же самое, что ты хочешь, насколько я понимаю.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 01.03.2016 в 21:12:06
2bugmonster:

on 1456844354, bugmonster wrote:
А чем моя не устраивает?

А я и не играл толком. :shuffle:
Вообще, как бы это дико и отвратительно не звучало, по отношению к нашей любимой игре, но... Мне что-то не интересно играть, мне интересно колупать код.
Давненько не трогал, а тут вдруг взял и попробовал, а оно внезапно стало получаться. Ну и пошло-поехало.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 01.03.2016 в 21:23:43
2Raty:

Апитит прихоит фафремя иды!!!

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 01.03.2016 в 21:41:28
2Raty:
Правильно главное сделать первые шаги один вперёд, два назад.
Важен не результат, а процесс. Опыт бесценен - его не пропьёшь.
Любой повод шевелить мозгами надо использовать, только не забывать при этом
шевелить и телесами, а то будет перекос в нагрузке на организм
и придётся читать тему "Медицинский FAQ", чтобы научится симулировать поведение нормального человека.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 02.03.2016 в 10:47:11
2Raty: А я и не говорю про играть. Скачай мои исходники (наверняка тут где-нибудь лежат), смотри как там сделано и подбирай|выкидывай по вкусу.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 02.03.2016 в 13:25:05
2bugmonster:
Да я вроде основное запилил уже.
Твой код складного приклада очень пригодился ;)

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 02.03.2016 в 18:29:57
2Raty: Любопытно было бы взглянуть на список изменений.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 02.03.2016 в 20:17:17
2bugmonster:
Что уже готово, вкратце:
- естественно добавлены пачки и одиночные патроны.
- пустой магазин, понятно, никуда не исчезает, его надо вынуть и пополнить.
- независимо от типа патронов, которые в нем были, пустой магазин становится 1-го типа (REGULAR). Зарядить его можно любым(но только одним)типом боеприпасов. При этом магазин станет соответствующего типа.
- при вытаскивании магазина оружие становится однозарядным.
- для каждой системы оружия подходят только свои магазины(MP5 теперь не зарядишь магазинами от, к примеру, Беретты).
- к оружию может подходить несколько магазинов разной емкости соответствующей системы.
- магазин можно опустошить вручную. Кладем в руку и по нажатию горячей клавиши извлекаем по одному патрону.
- пополнение магазинов только из пачки или одиночными патронами. Пачки тоже можно пополнить пачкой или одиночными.
- оружие с неотъемным магазином заряжается-разряжается по одному патрону. (Всякие револьверные спидлоадеры и обоймы для СКС я мутить не стал.)

Что осталось:
- пока не выработана концепция для пулеметных лент М27 и М13. Если на М249 она хоть и рассыпная, но всё же в коробе, то отбросив условности её все же как бэ можно дозаряжать. А вот в случае с М60 при опустошении она должна исчезать совсем и пополнять её как бы нельзя. Вводить звенья для лент ИМХО это уже перебор.
- затраты АР на заряжание для каждого оружия свои, причем они могут быть разными для разных магазинов. В АКМ рожок проще запихать, чем бубен, ИМХО.
- половина моих пулеметов в реале стреляет с открытого затвора и одиночными не могут питаться. Это надо учесть.
-Хотелось бы что-то придумать со спарками магазинов. Но что???

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 02.03.2016 в 23:02:59
2Raty:

Quote:
- при вытаскивании магазина оружие становится однозарядным.

Не всё оружие с вынутым магазином стрелять могёт.


Quote:
- магазин можно опустошить вручную. Кладем в руку и по нажатию горячей клавиши извлекаем по одному патрону.  

Я использовал для разряжания магазинов кнопку разряжания в окне описания, какую же как на оружии. А вот одиночный патрон в виде отдельного предмета вводить не стал.


Quote:
- оружие с неотъемным магазином заряжается-разряжается по одному патрону. (Всякие револьверные спидлоадеры и обоймы для СКС я мутить не стал.)

Там минимум изменений в коде нужно, на самом деле. Можешь посмотреть мой код, если передумаешь.


Quote:
- пока не выработана концепция для пулеметных лент М27 и М13. Если на М249 она хоть и рассыпная, но всё же в коробе, то отбросив условности её все же как бэ можно дозаряжать. А вот в случае с М60 при опустошении она должна исчезать совсем и пополнять её как бы нельзя. Вводить звенья для лент ИМХО это уже перебор.  

Я для себя решил, что звенья являются неотъемлемой частью подающего устройства в виде короба с лентой и при стрельбе пустые звенья "сваливаются" обратно в короб, и при дозаряжании короба патронами снова идут в оборот. Потому что для нерассыпной ленты это логично, а для рассыпной я не придумал ни никакой специальной фишки.


Quote:
- затраты АР на заряжание для каждого оружия свои, причем они могут быть разными для разных магазинов. В АКМ рожок проще запихать, чем бубен, ИМХО.  

Надеюсь у тебя AP на перезарядку это сумма AP на вынимание старого магазина и AP на вставление нового. Чтобы замена большого магазина на маленький требовала больше AP, чем замена маленького на маленький.


Quote:
-Хотелось бы что-то придумать со спарками магазинов. Но что

Придумать то можно: смена магазина в спарке за меньшие AP по отдельному хоткею и при автоперезарядке.
Но спарка как предмет состоящий из нескольких магазинов плохо ложится на традиционную систему предметов джаги, где стопка магазинов это тоже предмет, так что лично я отложил эту фичу до полной переделки предметной системы.

А патрон в патроннике делать не собираешься?

Заголовок: Re: Первые шаги...
Прислано пользователем MAn на 03.03.2016 в 01:26:55
 
on 1456939037, Raty wrote:
-Хотелось бы что-то придумать со спарками магазинов. Но что

При полной перезарядке изготовка теряется.  
При смене магазина внутри спарки - нет.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 03.03.2016 в 10:01:44
2bugmonster:

on 1456948979, bugmonster wrote:
Не всё оружие с вынутым магазином стрелять могёт.

это да, пулеметы, например.

on 1456948979, bugmonster wrote:
Я использовал для разряжания магазинов кнопку разряжания в окне описания, какую же как на оружии. А вот одиночный патрон в виде отдельного предмета вводить не стал.

А у меня изначально в оружейной линейке был Truvello .50, как сосед Barrett. А он однозарядный, и магазин под него 1 патрон. Вот и подумал.
Про кнопку разрядки оружия в описании -  а не вывести ли её в интерфейс? А то заряжаем-то мы магазин нормально, а чтобы вынуть, приходится лезть в описание.

on 1456948979, bugmonster wrote:
Там минимум изменений в коде нужно, на самом деле. Можешь посмотреть мой код, если передумаешь.

Да у меня кроме дробовиков, такого плана оружия-то всего ничего: Mauser C96, Револьвер S&Wmod29, СКС и КМ. Всё - чистая экзотика, встречаться будет редко, если вообще будет. Тут другой затык - магазинов подходящей емкости для этих стволов в патронной линейке нету, и эдитор крашится при попытке положить на карту. Но я пока это еще не копал даже. Хотя эдитор и пишет, на что он жалуется.
И я так и не починил еще эдитор, чтоб он понимал оружие с номером больше 255. По этому до конца оружейную линейку не расширил. Тестирую с парочкой стволов, которые имеют однозарядный вариант.

on 1456948979, bugmonster wrote:
Надеюсь у тебя AP на перезарядку это сумма AP на вынимание старого магазина и AP на вставление нового. Чтобы замена большого магазина на маленький требовала больше AP, чем замена маленького на маленький.  

Я пока не определился. Вообще у меня в таблице Weapons.c предусмотрено аж   3 столбца reloadtime( reloadtime, reloadtime2 и reloadtime3). К примеру АКМ имеет только 2 reloadtime - для родного рожка и для диска. Однозарядный АКМ имеет уже все 3 reloadtime - для одного патрона, для рожка и для диска. Я думаю, комбинировать можно как угодно.

on 1456948979, bugmonster wrote:
А патрон в патроннике делать не собираешься?

а вот эту фишку я как раз очень хорошо запомнил ;)
честно, в планах делать самому нету, но сплагиатить, хотя бы чисто на посмотреть не откажусь.
2MAn:
не, бонусы и штрафы это всё понятно. Сперва саму концепцию выработать, затем прикинуть механизм реализации, а потом уж....
2Все:
Со спарками я много думал. Очень много. Тупо как магазин двойной емкости - ИМХО скучно и неинтересно. Через аттач к оружию - нельзя, ЕМНИП тогда они заряжаться руками не будут.
Хотелось бы реализовать полноценно, без условностей игровых. Например, чтоб можно было сделать спарку 2-х разных типов боеприпаса.
Но если уж такой мозг как bugmonster пока пас, то я тем более.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 03.03.2016 в 11:54:40
Выложил на codeplex исходники своих проектов по редактированию ресурсов JA2:
dotNetStiEditor, JsdEditor, StiToGif, MapViewer
https://ja2editproject.codeplex.com/  

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 03.03.2016 в 15:12:36
2Raty:

Quote:
это да, пулеметы, например.

У некоторых пистолетов есть т.н. magazine safety.


Quote:
Про кнопку разрядки оружия в описании -  а не вывести ли её в интерфейс? А то заряжаем-то мы магазин нормально, а чтобы вынуть, приходится лезть в описание.

За много лет в JA2005 никто не жаловался, что разряжать магазины неудобно, но если знаешь как сделать удобнее, то делай.


Quote:
Тут другой затык - магазинов подходящей емкости для этих стволов в патронной линейке нету, и эдитор крашится при попытке положить на карту.

Посмотри как в моих исходниках ищется дефолтный магазин для оружия: если магазин оружия не отделяемый, то вставляется пачка патронов, при этом число патронов соответствует ёмкости встроенного магазина.


Quote:
Вообще у меня в таблице Weapons.c предусмотрено аж   3 столбца reloadtime( reloadtime, reloadtime2 и reloadtime3). К примеру АКМ имеет только 2 reloadtime - для родного рожка и для диска. Однозарядный АКМ имеет уже все 3 reloadtime - для одного патрона, для рожка и для диска.

Странное решение. У меня AP на перезарядку для конкретного магазина хранится в структуре описания магазина, а не оружия.


Quote:
а вот эту фишку я как раз очень хорошо запомнил  
честно, в планах делать самому нету, но сплагиатить, хотя бы чисто на посмотреть не откажусь.

Я имел ввиду даже не механизм досылания, который у меня реализован, а его дальнейшее развитие, где патрон в патроннике считается +1 к ёмкости магазина.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 03.03.2016 в 16:03:27
2bugmonster:

on 1457007156, bugmonster wrote:
У некоторых пистолетов есть т.н. magazine safety.  

ух ёп. Учту, но у меня всё в основном серийное и классическое.


on 1457007156, bugmonster
wrote
:
если магазин оружия не отделяемый, то вставляется пачка патронов, при этом число патронов соответствует ёмкости встроенного магазина.  

а я примерно так и планировал, только может быть не забивать магазин полностью, а как обычно указывать вручную сколько патронов будет.


on 1457007156, bugmonster wrote:
Странное решение. У меня AP на перезарядку для конкретного магазина хранится в структуре описания магазина, а не оружия.  

да фиг знает, мне вот так проще показалось... Ты мне со складными прикладами отличную идею подал по таблице оружия, я от такого способа и отталкивался.


on 1457007156, bugmonster wrote:
где патрон в патроннике считается +1 к ёмкости магазина.

а... это да, это вещь полезная


on 1457007156, bugmonster wrote:
Посмотри как в моих исходниках

А они где-нить есть в доступе?
На работе у меня практически ничего не, я как-то набухался, психанул и всё под корень снёс, вместе с музыкой и фильмами. А дома.... я оригинальные исходники час искал, в результате из инета качнуть оказалось проще.

Заголовок: Re: Первые шаги...
Прислано пользователем bugmonster на 04.03.2016 в 15:24:43
2Raty:

Quote:
ух ёп. Учту, но у меня всё в основном серийное и классическое.  

Browning HP и S&W Classic series достаточно серийные и классические?  :)


Quote:
а я примерно так и планировал, только может быть не забивать магазин полностью, а как обычно указывать вручную сколько патронов будет.

Указывается сколько патронов только при размещении оружия на карте, я описывал общий случай.


Quote:
Ты мне со складными прикладами отличную идею подал по таблице оружия, я от такого способа и отталкивался.  

Имеешь ввиду, что при вставлении магазина другого размера тип оружия, а значит и все его параметры меняются?


Quote:
А они где-нить есть в доступе?  

Тут на сайте должны лежать. Одмины подскажут, сам я не могу, так как свой доступ на фтп сломал-потерял.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 04.03.2016 в 16:33:08

on 1457094283, bugmonster
Млин, Хай Пауэр-то я проглядел.

wrote
:
Имеешь ввиду, что при вставлении магазина другого размера тип оружия, а значит и все его параметры меняются?  

Всё как при складывании приклада. Тот же механизм подмены, только не по хоткею, а автоматически по необходимым условиям. Соответственно, что будет другое у нового предмета, то и поменяется.

Заголовок: Re: Первые шаги...
Прислано пользователем Strax5 на 04.03.2016 в 19:28:57
Меня в этом моде всегда отталкивал микроменеджмент. Может оно так и правильно. но мне кажется, что лишнее.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 07.01.2017 в 16:43:39
Ребятушки, напомните, а то забыл совсем...
Стандартная карта 160х160 т.е. 25600 тайлов, так?
А под какой максимальный размер возможно увеличить?

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 07.01.2017 в 16:47:58
2Raty:  вроде до 180 в ваниле или до 360 в 1.13

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 07.01.2017 в 17:23:06
2Махновский:
А если самому исходники править?

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 07.01.2017 в 21:54:44
2Raty: неужели 180 тайлов уже мало?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 08.01.2017 в 10:00:04
2Махновский:
Конечно мало.
Хочу чтоб самый крупный город смог поместиться в одном секторе.
Т.е. 640х640 было бы самое оно.

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 08.01.2017 в 12:14:28
2Raty:  360х360 - уже огромный сектор. думаю, что пока его отрисуешь, уже отпадёт интерес рисовать что-то крупнее.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 08.01.2017 в 12:20:57
2Махновский:

Есть генератор карт Великого Пипеца! С ним сектор строится за минуты...

А у Раты просто последствия НГ и РХ...

Не бери в голову, рисуй карты...

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 08.01.2017 в 12:44:13

on 1483867257, Bonarienz wrote:
Есть генератор карт Великого Пипеца! С ним сектор строится за минуты...  

это как??? хочу такой!

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 08.01.2017 в 14:46:41
2Махновский:
Вот прямо под этой темой в данный момент тема "Генератор карт", там всё прописано. )))
Но он карту не строит конечно, но картинку рисует.
Я в структуре карты до конца не разобрался.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 08.01.2017 в 15:03:12
2Bonarienz:

on 1483867257, Bonarienz wrote:
А у Раты просто последствия НГ и РХ...  

Ну почему же? Это моя давняя хотелка. Разделение города на секторы лично у меня давно вызывает изжогу. Пока в одном хм... микрорайоне идет война, в соседнем всем пофигу, да?

Ну, 640х640 это получается 4х4, 16 стандартных секторов, х.з. может и многовато. С другой стороны, Медуна это как бы 3х3 сектора. С пригородами вполне себе нормально впишется. А то получается, что мы без палева, средь бела дня, по дороге подбираемся прям к городской застройке.

А насчет рисования.... дык я никуда не спешу. Релизить ничего не планирую. Есть настроение пилю что-нить, нету - ну есть и другие дела.

2ALL:
на вопрос-то кто-нить ответит? 640х640 в код влезет???

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 08.01.2017 в 16:20:53
2pipetz:

Как так? Давно было, но, кажися, то, что генерилось, и в редакторе карт открывалось!?.

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 08.01.2017 в 23:26:37

on 1483876992, Raty wrote:
на вопрос-то кто-нить ответит? 640х640 в код влезет
влезет. Фара Аяд в 2010 запилил сектор 640х640 на моде 1.13. Он у меня где-то раньше валялся, потом я его удалил, так как это "жесть и тормоза".

Заголовок: Re: Первые шаги...
Прислано пользователем KombaT на 09.01.2017 в 07:06:25

on 1483907197, Махновский wrote:
Фара Аяд

Это еще что за хер?  :D Какая такая фара, часом не ошибся?

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 09.01.2017 в 09:03:49
2KombaT:

Фарах Ойдиду, чо... Был такой алкаш, здоровья ему... Немало понаделал, чо...

Заголовок: Re: Первые шаги...
Прислано пользователем KombaT на 09.01.2017 в 10:43:07
2Bonarienz:
Я то понимаю о ком речь идет, только такую интерпритацию ника не ожидал даж (4 ошибки на ник это уж горшок с горочкой)
Фарах Айдид!
*размахивает золотым калашом и заставляет всех кланяться*  :P

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 09.01.2017 в 12:50:42

on 1483881653, Bonarienz wrote:
Как так? Давно было, но, кажися, то, что генерилось, и в редакторе карт открывалось!?.  

Нет
Там даже функции сохранения нет того, что нагенерилось. )
Просто можно посмотреть внешний вид и структуру.

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 26.06.2017 в 17:07:44
Нужно перенести персонажа из МЕРКа в сектор, чтобы нанимать там. Может, кто знает алгоритм действий?
Пока удалось добиться только того, что мерк появляется на карте, но общаться отказывается, плюс не его лицо в экране разговора.
[attach]


Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 27.06.2017 в 00:40:35
Как сделать, чтобы в NPC-скриптере диалоговое окно отображало текст, а не абра-кадабру?
[attach]

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 01.07.2017 в 22:31:50

on 1498513235, Махновский wrote:
Как сделать, чтобы в NPC-скриптере диалоговое окно отображало текст, а не абра-кадабру?

NPC-скриптер для русских текстов понимает только специфичную кодировку буковских версий JA2, напоминающую Win1251, но с двухбайтовым хранением. У тебя тексты, видимо, в каком-то варианте Юникода.
А что касается самих файлов скриптов .npc, то как мне когда-то объяснили, в 1.13 вместо них используются lua-скрипты.

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 01.07.2017 в 23:07:23
2Терапевт:
действительно, в 1.13 кодировка текстов - юникод 8.
lua-скрипты есть в 1.13, но мне там сложно понять, что куда писать, так как я не программист по образованию.
насколько я понимаю, то lua-скрипты записываются поверх джаговских скриптов, поэтому игра должна понимать и оригинальный формат doc-файл и lua-файл одинаково.
условно, хочу склонировать скрипт гамоса и кого-то из торговцев на других героев метавиры, и перенести их всех на карты для разнообразия. Так возможно сделать?

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 01.07.2017 в 23:30:02

on 1498939643, Махновский wrote:
Так возможно сделать?

Однозначно сложно сказать.
Недавно мне довелось переносить в НО Громова с места нанимаемого NPC на место одного из МЕРКовцев. Так для этого пришлось дописывать код, иначе найм на карте не работал.

Заголовок: Re: Первые шаги...
Прислано пользователем Махновский на 02.07.2017 в 00:01:11
2Терапевт:  алгоритм в 1.13 отличается немного, так как есть открытые для редактирования профили мерков. будет время, попробую сделать нанимаемого на карте, сгибридив doc-файл и таблицу профилей, хотя на результат смотрю без оптимизма. Но попробовать все равно надо )

Заголовок: Re: Первые шаги...
Прислано пользователем Round Owl на 21.04.2018 в 20:05:29
Товарищи, где можно взять все текстовые строки из русскоязычной джа2? Погуглил пару запомнившихся фраз, но они не нашлись даже на форуме. А я сейчас не в том положении, чтобы ставить игру себе - служба, интернет с телефона в выходные по расписанию. Интересны реплики мерков, реплики нпц, описания мерков и предметов.

Заголовок: Re: Первые шаги...
Прислано пользователем Seven на 21.04.2018 в 20:12:43
2Round Owl:
Вряд ли они есть в интернете в готовом виде. Проще всего взять mercedt.slf, распаковать через unslf и открывать с помощью EdtMegaEditor.
Про фразы есть отдельная тема на форуме:
http://forum.ja2.su/cgi-bin/yabb/YaBB.pl?board=a_all_about;action=display;num=1104762239;start=

Заголовок: Re: Первые шаги...
Прислано пользователем KV13 на 08.09.2018 в 18:24:02
Решил установить редактор карт. Скачал с сайта 2 версии (bmapedit - Модифицированный Чингачкуком немецкий редактор карт и NO_MapEditor - Немецкий редактор карт, модифицированный Ночниками). При запуске, любого из них, происходит ошибка.
Выдержка из файла debug:
{ 1962875 } Warning in InitializeFileDatabase( ): Library Id #11 (Maps.slf) is to be loaded but cannot be found (Предупреждение в InitializeFileDatabase (): Идентификатор библиотеки № 11 (Maps.slf) должен быть загружен, но не может быть найден)
и
Runtime Error: Number of tilesets in code does not match data file (Ошибка выполнения: количество наборов элементов в коде не соответствует файлу данных)

Как это лечится? Как я понял, проблема в файле Maps.slf. Буковский редактор запускается.
Операционка ХР SP2, инстолятор игры ЦС 1.01 (Бука).

Заголовок: Re: Первые шаги...
Прислано пользователем ПМ на 08.09.2018 в 18:34:38
2KV13:
Ставить это надо не на ЦС, а на АВ.

Заголовок: Re: Первые шаги...
Прислано пользователем KV13 на 08.09.2018 в 18:45:29
И можно будет работать с модами от ЦС.

Заголовок: Re: Первые шаги...
Прислано пользователем ПМ на 08.09.2018 в 19:10:31
2KV13:
Смотря какими. Более-менее современные моды все со своими редакторами.

Заголовок: Re: Первые шаги...
Прислано пользователем KV13 на 08.09.2018 в 19:53:39
JA2 Rubicon
Хочу поменять квестовую линейку. Вентилятор запереть. А у Лоры должна выподать ключь карта для доступа к вентику. А то я прошел миссию до Морисса, а на верх уже не подняться. Пришлось переигровать.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.12.2018 в 17:38:32
Ребят, верно ли я понимаю ситуацию?
1. В проф.дат №№51-56 это номера вероятных ИМПов, 3 мужских и 3 женских, так?
2. Какой номер из проф.дат в итоге будет использоваться зависит от выбранного голоса? Вернее сначала от пола, а потом уже от голоса? Ибо голос привязан своим фиксированным номером к номеру записи в проф.дат, так?
Если так, то хелп, а то я никак не нащупаю код, где выбирается № из проф.дат:shuffle:

Заголовок: Re: Первые шаги...
Прислано пользователем JAggernaut на 14.12.2018 в 18:18:41
2Raty: верно понимаешь.
51-53 - мужские.
54-56 - женские.
они в игре так же по порядку и идут.
если сомневаешься, то ли выбрано, вынь из slf несколько файлов озвучки под этими номерами, тогда сможешь прослушать, какой голос у какого номера.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 14.12.2018 в 18:41:25
2JAggernaut:
Да мне сам механизм выбора интересен.
Кстати, разобрался вроде. Хитро там всё устроено.

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 09.07.2019 в 21:35:32
Парни, помогите разобраться....
Items.c
BOOLEAN EmptyWeaponMagazine
При вынимании магазина
               pAmmo->ubShotsLeft[0]      = pWeapon->ubGunShotsLeft;
               ...........
           pAmmo->ubNumberOfObjects      = 1;

Если ставлю pAmmo->ubNumberOfObjects      = 2 (ну надо мне так, экспериментирую я ;) ), то 2 магазина-то создаётся, но второй получается пустой. Почему пустой, что не так?

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 10.07.2019 в 20:34:09
2Raty:
Читер! Надо, наверное, второй магазин снарядить, заинициализировать, память выделить, потом очистить.
Юзай C#.NET, там все проще!

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 10.07.2019 в 21:28:18
2pipetz:

"Слушай, СИкамбр!.."

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 10.07.2019 в 22:17:39
Это количество патронов в первом магазине в стопке

on 1562697332, Raty wrote:
pAmmo->ubShotsLeft[0] = pWeapon->ubGunShotsLeft;

а это во втором
pAmmo->ubShotsLeft[1] = 10; //например 10 штук

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 10.07.2019 в 23:57:15
2Терапевт:

А как в этом случае память резервируется?

Заголовок: Re: Первые шаги...
Прислано пользователем Raty на 11.07.2019 в 01:24:58
2pipetz:
2Терапевт:
т.е. в моем случае: Создаётся первый магазин с емкостью равной pWeapon->ubGunShotsLeft. За тем создаётся второй такой же, но т.к. оружие уже разряжено pWeapon->ubGunShotsLeft = 0, по этому он и получается пустой. Так?

MIERDA, а зачем тогда там вообще pAmmo->ubNumberOfObjects =1 если магазин и так всегда один???

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 11.07.2019 в 18:47:28
2Raty:
Структура хранения магазинов в слоте упрощённо выглядит так:
КодМагазина, КоличествоМагазиновВСтопке, КоличествоПатроновВПервом, КоличествоПатроновВоВтором, ..., КоличествоПатроновВВосьмом.
Таким образом всегда создаётся структура позволяющая хранить информацию сразу о восьми магазинах. Реальное количество хранимых магазинов задаётся в КоличествоМагазиновВСтопке.

Заголовок: Re: Первые шаги...
Прислано пользователем pipetz на 21.07.2019 в 13:51:14
2Терапевт:
Решил JA2 под 1С переписать?

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 21.07.2019 в 14:07:03
2pipetz:

Яспень!!! И ввести полноценные складские и бухгалтерские книги!!!

Заголовок: Re: Первые шаги...
Прислано пользователем Терапевт на 21.07.2019 в 14:34:50
2pipetz:
Это был секрет, но, похоже, я спалился.

Заголовок: Re: Первые шаги...
Прислано пользователем JAggernaut Mahno на 02.09.2019 в 22:57:53
В какой программе рисуется глобальная карта Арулько? Для этого есть какая-то специальная программа или обычный фотошоп и мазня ручками?
Я вот про эту карту:
[attach]

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.09.2019 в 00:08:35
2JAggernaut Mahno:

Хороший вопрос!

Виден профессионал!

Paint!!! Или Paint.net!!!

Заголовок: Re: Первые шаги...
Прислано пользователем JAggernaut Mahno на 03.09.2019 в 00:29:22
2Bonarienz: почему Paint?

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.09.2019 в 00:34:19
2JAggernaut Mahno:

Хороший вопрос!

Пиксель-арт.

Заголовок: Re: Первые шаги...
Прислано пользователем Green Eyesman на 03.09.2019 в 09:07:09

on 1567454273, JAggernaut Mahno wrote:
В какой программе рисуется глобальная карта Арулько? Для этого есть какая-то специальная программа или обычный фотошоп и мазня ручками?
- дык мазня ручками ж. Причем карту даже из стишки не нужно вытаскивать.

И на счет пиксельарта достопочтенный Бонариец немного переборщил. :)

Заголовок: Re: Первые шаги...
Прислано пользователем JAggernaut Mahno на 03.09.2019 в 13:01:08

on 1567490829, Green Eyesman wrote:
на счет пиксельарта достопочтенный Бонариец немного переборщил.  

надоть его отправить на курсы фотошопа, пусть познает магию копипаста  :)

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 26.11.2019 в 17:30:21
Подскажите, пожалуйста, по картостроению.
1. Задаю точки перехода в пределах одной карты (и точка А и точка В на одной карте), но вместо того, чтобы переместить героя к точке  назначения, его кидает в другой сектор (как я понял, всегда в А1). Такой трюк невозможен? Телепорт всегда должен быть на другую карту?
2. Создал ради эксперимента двухъярусную карту - половина карты равнина, половина на горе. Враги бегают по равнине, герой по горе.  На первый взгляд, все нормально работает, есть некоторые аномалии - траектория полета ракеты, например, смещается в верхнюю параллель, когда долетает до тайла горы - но это не критично. Есть ли какие-то серьезные проблемы с использованием карты такого типа, какие-то причины, по которым лучше так не делать?
3. Можно ли как-то создать на карте эффект, чтобы периодически на местности появлялось газовое облако от гранаты. Почитал мануал, там говорится, как это все повесить на рубильники. А можно ли как-то это сделать, например, по таймеру без постороннего участия?

Заголовок: Re: Первые шаги...
Прислано пользователем JAggernaut Mahno на 26.11.2019 в 18:36:01

on 1574778621, San-Cat wrote:
3. Можно ли как-то создать на карте эффект, чтобы периодически на местности появлялось газовое облако от гранаты. Почитал мануал, там говорится, как это все повесить на рубильники. А можно ли как-то это сделать, например, по таймеру без постороннего участия?

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

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 26.11.2019 в 19:05:03
2San-Cat:

Переходы внутри сектора работают в NO. В ванилле - нет. Как в 1.13 - нинаим.

В горы нихади - лавина багофф убьёт тебю...

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 26.11.2019 в 20:17:47
Про горы подозревал, что все не просто и есть подвох. Не беда. Это конечно, добавило бы вариативности в построении уровней, но не критично.

Переходы в пределах сектора тоже не сильно критичны, особенно если выбросить идею про двухъярусность с горами. Я думал такими телепортами реализовать подъем и спуск в горах.

А вот с газом мне все еще интересно. Лет десять назад, а то и больше, я видел мод на UB с похожей фишкой - там вся карта была постоянно заполнена газом, без противогаза не проходилась. Название уже не помню.
Может быть можно использовать какой-то костыль, например, мирный житель с заданием постоянно дергать рубильники и активировать ловушки? Можно ли использовать сторонние скрипты для этого? Может, есть еще какая идея?

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 26.11.2019 в 21:17:50
2San-Cat:

Всё это есть в НО. Включая телепорты с "земли" на "гору"...

Но сами горы в ДжА - ущербны... И пока ущербность не выправлена...

Есть опытные сектора с 4-мя уровнями, в принципе, в особенностях движка, возможны 7 уровней - 3 горы, земля, 3 оврага... Но надо капитально править одну функцию и кучу мелких частей (они зовутся .жсд = .jsd)...

Позже можно показать кое-что, либо сам копай эту ветку... Есть картинки и объяснялки...

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 27.11.2019 в 10:06:35

on 1574792270, Bonarienz wrote:
Всё это есть в НО.

Фишку с газом тоже смогу провернуть там?


on 1574792270, Bonarienz wrote:
Есть картинки и объяснялки...

Можешь ткнуть пальцем? Интересно почитать.

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 27.11.2019 в 11:22:31
Момент. Я, кажется, сделал для себя важное открытие :-)
"Ночные операции", это не просто мод, а другая платформа, отличная от 1.13?
Насколько они совместимы друг с другом?

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 27.11.2019 в 11:45:03
2San-Cat:

Малосовместимы. Почти несовместимы. С картами будут жуткие глюки.

Про газ - если ты жаждешь что-то вроде аллеи гейзеров или вулканических дымов - то "нинаю", то, кажися, нет.

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 03.12.2019 в 19:19:34

on 1574792270, Bonarienz wrote:
Но сами горы в ДжА - ущербны...

Да уж. Это мягко сказано. Можно писать отдельную инструкцию, чего с горами нельзя делать ни в коем случае.
Иногда цепочка гор случайно оказывается не замкнутой, и начинаются чудеса. Печально, что после исправления разрывов или нестыковок, аномалии остаются.
Я еще не добрался до других структур, таких, как стены домов и крыши, однако надеюсь, что с ними работать будет проще.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.12.2019 в 19:59:46
2San-Cat:

Все инструкции по горам есть, и описано все, что с ними можно делать, и как.

Если ты "быдлопрогер" (математик-программист) или "говнокодер" (инженер-программист), "рубишь" в Си, и диплом у тебя из приличного ВУЗа, то мы сможем полностью доделать весь "горный хлам".

Если интересно, черкани пару строк в "личное"...

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.12.2019 в 20:03:53
2San-Cat:

http://forum.ja2.su/Attach/Images/SCREEN004_1.png

Это макет сектора наркокартеля... Не доделан - он не был изначально просчитан, и проще все собрать заново.

Да. По горам, Хвала Терапевту, можно "лазать" - все три уровня доступны, но есть глюки со стрельбой вниз...

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.12.2019 в 20:10:09
2San-Cat:

Вот, "выписка" из секретного "подвала"...

Это руководство по построению обрывистого холма (mesa - холм-стол (исп., ам. англ.))

-------------------------------------------------------

Re: В горах мое сердце... Бёрнс

2MAn:  

Попробуй собрать простой холм:

1. / - СЗ склон
2. \ - СВ склон
3. L - ЮЗ склон
4. _ - Ю склон
5. J - ЮВ склон
6. { - З склон
7. } - В склон

Должно получиться вот такое:
 /\
/  \
{   }
L_J

Но! Надо завалить камнями и пр. непроходимостями подходы к сев. скалам - иначе будут "глюки" с челами под "горой" и "на горе" - пара может слиться в одно озображение, а если нет деревьев, то чел, видимый на горе на самом деле будет под горой.

Нет ни полу-прозрачных сти сев. стен, ни режима отображения тел "под сев. горой", аналогичного режиму сев. стен у домов...

Вот, если коротко...
     

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.12.2019 в 20:12:47
2San-Cat:

Ишо нимношка... Это правила для северных склонов.

-------------------------------

Re: В горах мое сердце... Бёрнс

2MAn:  

Допустимые изломы, на примере СЗ скал:

     /
    /
/\/
/

ДопустИм.

       /
 /\  /
/  \/
/

Недопустим - даст "черную стену глюка".

Правильность сев. стен и их сопряжения с южными проверяется в редакторе по кнопику "I" - глюк сразу виден как черная полоса, идущая с СЗ на ЮВ.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.12.2019 в 20:18:20
2San-Cat:

Ишо хошь картинок?

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 03.12.2019 в 21:57:40

on 1575393167, Bonarienz wrote:
Это правила для северных склонов.

2Bonarienz:
Если СЗ и СВ склоны, это тайлы из базового тайлсета I_cliff.sti под номерами 10 и 13, то у меня именно с ними и траблы постоянные. Правило "изломов" очень кстати, спасибо!


on 1575392386, Bonarienz wrote:
Если ты "быдлопрогер"...

Я не программист. Посмотрев видео урок и прочитав простецкий мануал, я могу взять готовый подходящий кусок кода и модифицировать его под свои нужды, но написать что-то с нуля - тут я пас.


on 1575392386, Bonarienz wrote:
Все инструкции по горам есть, и описано все, что с ними можно делать, и как.


on 1575393009, Bonarienz wrote:
Вот, "выписка" из секретного "подвала"...

Вот это секретность :-) Полезные вещи должны быть доступными.

on 1575393500, Bonarienz wrote:
Ишо хошь картинок?

Мне интересна любая информация на эту тему в любом формате.

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 03.12.2019 в 21:58:59

on 1575393009, Bonarienz wrote:
Попробуй собрать простой холм:

Не уверен, что правильно разобрался в терминологии, потому что "холм", указанный в примере, у меня именно так не строится - не сходятся тайлы. Получилось сделать вот так:

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.12.2019 в 22:14:27
2San-Cat:

Ты гигант!!! Именно такой холм и описан.

Это холм минимальной площади, а вот при его расширении надо куркулятырь брать - косые и прямые склоны сопрягаются как 3 к 4.

Причем чисто северного склона нет - его надо из СЗ и СВ - пилой - строить.

------

Плохо, что ты не математик-прогер... Функция построения рельефа при компиляции карты в редакторе - весьма дурна, физ. структуры (.jsd) горных склонов весьма уродливы. Вероятно, авторы с них начинали, а потом просто "костылили".

Есть хитрость для быстрой проверки ошибок - мини-карта. Она вызывается по кнопке "i".

На ней ошибка отображается в виде черной полосы от места ошибки на СЗ.

Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 03.12.2019 в 22:19:28
2San-Cat:

Вот скриншот по кнопке "i". Над СВ откосом провала, того, что в центре карты.

http://forum.ja2.su/Attach/Images/SCREEN003-1.png

Ошибка видна, как чернота между кучами камней.

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 03.12.2019 в 22:22:45

on 1575400467, Bonarienz wrote:
Есть хитрость для быстрой проверки ошибок - мини-карта. Она вызывается по кнопке "i".

Вот этот трюк у меня не проходит. Я специально делаю ошибки, но на мини-карте не вижу этого эффекта. Может быть у меня не та версия редактора? Я брал его с Яндекс.Диска по ссылке, которую нарыл в какой-то теме. Указано, что он адаптирован для 1.13 билда 7609.


Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 04.12.2019 в 01:18:25
2San-Cat:

Про 1.13 ничо нинаю...

Но если у тебя появляется миникарта посередине экрана редактора, то все хорошо.

Ошибка появляется только после компиляции карты. Т.е. она становится видна только на готовой карте.

Все, что наработано - сделано для НО, и с .ехе НО в режиме редактора...

Заголовок: Re: Первые шаги...
Прислано пользователем San-Cat на 04.12.2019 в 10:50:40

on 1575411505, Bonarienz wrote:
Ошибка появляется только после компиляции карты.  

Ясно. Я тебя неправильно понял сначала, думал, что ошибку можно увидеть до сохранения. После сохранения - да, все проявляется.


Заголовок: Re: Первые шаги...
Прислано пользователем Bonarienz на 04.12.2019 в 11:49:32
2San-Cat:

"Вот и славно!.."

Тут все дело в обработке карты рендером перед выводом на экран...

Вся химота, включая землю, стоящая выше склона, просто поднимается на 50 пикселов. И этот разрыв не окрашен ничем. Т.е. он видится черным...



A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.