|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Главное знать, что искать. Я думаю теперь есть хорошая возможность изучить файл. И выяснить его структуру. Кому интересно - буду дальше копать. Кстати, вдогонку: вплоть до 00000670 | ....... | ... можно найти все стартовые координаты для ВСЕХ локаций из city.txt. Возможно так-же там прописаны start_state=On\Off Но это не проверено, сейчас буду смотреть. P.S.Как я уже говорил >>Вообще я склоняюсь к мысли, что worldmap.dat это временный файл создаваемый двигом для чего то так что вполне возможно, что это кэш. (Добавление от 20:31 - 25 Марта, 2005.) Следующий пакет дополнений. По мере обнаружения инфы буду сообщать: (Я пока смещениями писать не умею, но думаю меня и так поймут) +++Все данные проверены эксперементально+++ 00000030|00 00 00 B8 00 00 00 85 00 00 00 01 00 00 00 00 | ..... 00000040|00 00 00 05 00 00 00 01 00 00 00 01 00 00 00 01| ..... 00000050|00 00 00 00 00 00 00 00 ......(начало следующего города) Итак, в начале файла зашиты таблицы. Все данные int'овые (4). Что известно: 1-2 значение - world_pos=x,y 3 значение - start_state=On\Off 4 значение - количество entrance (входов) (Добавление от 20:38 - 25 Марта, 2005.) Ой, немного не точно. Ладно на примере: 1) 00 00 00 B8 - world_pos 2) 00 00 00 85 - world_pos 3) 00 00 00 01 - start_state=On\Off 4) 00 00 00 00 - ??? 5) 00 00 00 05 - количество entrance (входов) .........
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 20:11 - 25 Марта, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
И снова новости. Файл worldmap.dat на половину разшифрован. Структура не представляет проблем (вернее половина). Как только всё пойму - напишу доку. А пока то, что есть. Очевидно всё-таки данный файл является временным и там находятся данные по карте мира. Его создаёт двиг для дальнейшей обработки. Хотя это выглядит сомнительным с учётом того, что и без worldmap.dat игра работает. Собственно по структуре: В файле присутствуют две таблицы (+какие-то данные в самом начале файла): Первая начинается с 00000020. Она не представляет проблем и на 95% разшифрована. В ней находятся такие данные 1 - 5 уже написано. 6) и до конца группы(до следующего города). Может иметь произвольное количество байт, зависящее от 5)-ого. И обозначает не что иное, как entrance_x=On\Off, где 00 00 00 01 - On 00 00 00 00 - Off Эта таблица разгадана полностью, за исключением 4). Есть правда догадки. Вторая таблица начинается с 000013A0. Пока не известна, но есть предположение, что отвечает за "туман" P.S. Кто-нить знает, где в файлах city.txt,map.txt и т.д. есть значение 80000. Что это может быть (координаты, дата, степень и т.д.) Что-то очень знакомое.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 22:11 - 25 Марта, 2005
|
|
tracktor
Пользователь
Откуда: Москва Регистрация: Март 2004
Всего: 183 сообщения
|
Моё мнение о появлении сего файла: В Fallout 1 никкого worldmap.txt не было, и читал он данные о городах из dat файла. При разработке Fallout 2 этот механизм изменён не был, но для удобства разработки, чтобы не править в хексе dat, был создан более удобный txt файл, и при запуске игры dat файл создаётся на основе txt. А то что игра может работать и без worldmap.dat, можно объяснть тем что он одновременно с записью считывается игрой, и больше не нужен. Вроде так...
|
Отправлено: 23:13 - 25 Марта, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Я вначале тоже так думал. Но сейчас так не считаю. >>В Fallout 1 никкого worldmap.txt не было, и читал он данные о городах из dat файла Из какого dat'а? Если из мастер.дат, то там нет упоминаний локаций. А если ты имеешь в виду worldmap.dat, то в Первом Фолле такого файла точно нет. Во-первых, он не создаётся. А, во-вторых, нет нигде упоминания в двиге (в отличии от Ф2). По поводу первого Фолла я думал, что карты там вшиты в двиг. Не знаю, спорить не буду. >>чтобы не править в хексе dat, был создан более удобный txt файл, и при запуске игры dat файл создаётся на основе txt worldmap.dat действительно создаётся на основе txt'шника, причём каждый раз по новой. При изменении txt меняется и dat. Опять таки - зачем нужен worldmap.dat. Какой смысл его создавать? Аналогии с Ф1 не получится - там его нет. Значит и остатся он не мог. Кроме того - данных в worldmap.dat не достаточно для полноценного создания локаций, только для карты мира. >>А то что игра может работать и без worldmap.dat, можно объяснть тем что он одновременно с записью считывается игрой, и больше не нужен. В том то и прикол. Я показал как вообще избавится от worldmap.dat. У меня он даже не создаётся, следовательно не может получить данных, следовательно не может считываться игрой. Но сам Фалл от этого не страдает. Правда может я пока не нашёл. (Добавление от 1:22 - 26 Марта, 2005.) Выяснилась одна интересная деталь. Про приоритеты: Оказывается двигу фолла не наплевать на файлик worldmap.dat. Вернее не совсем. Без него он по прежнему может замечательно жить. Но.... Что происходит - обычно когда запускается фолл, то по подобию city.txt двиг создаёт наш файлик. Но это обычно. Сделаем следующее. Запустим как обычно Фолл. Выйдем и перенесём создавшийся worldmap.dat в отдельный каталог. Далее помучаем двиг и выставим атрибуты rb для нашего файла. Тоесть, создаваться он таки не будет, но читатся сможет. А дальше всё просто - откроем через редактор worldmap.dat и изменем к примеру координаты Ароййо. Ну и перенесём файл обратно. Что получилось: при запуске игры файл Worldmap.dat не перезаписался, а просто прочитался. И двиг наплевав на city.txt поставил Арройо туда, куда мы указали. Выходит у Worldmap.dat приоритет выше. Похоже на master.dat, master\patches и patch000.dat. Честно, зная многое про файл так и не могу понять его назначения. Ну надеюсь пока.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 0:04 - 26 Марта, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Скорее всего, и правда кэш. Я первый раз напоролась на сей факт, когда новая локация появилась на ворлдмапе только после удаления этого самого дата. Неясно, правда, в чём глубокий смысл такого кэша. Конечно, читать бинарник со строгой структурой проще, чем тхтшник, но создавать его только лишь ради этого?..
|
Отправлено: 12:06 - 26 Марта, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Закончена "разшифровка" первой таблицы. Доселе неизвестное значение 4) отвечает за кнопочки городов на карте мира (справа - для перемещения по карте к городу при нажатии на оную). 00000001 - доступна 00000000 - нет Причём кнопка может быть доступна, а сам город нет И ещё - если кнопка доступна, город все равно может быть скрыт "туманом". Если только поменять 4)-е значение, то город обязательно будет невидим(но может быть доступным) (Добавление от 12:43 - 26 Марта, 2005.) >>Скорее всего, и правда кэш Я не согласен с такой формулировкой. Вернее не полностью согласен. Программа без кэша работать не может (если он там конечно задуман). Хотя, файл настолько мал, что какой смысл его кэшировать? Скорее это немного по другому. Мне роль worldmap.dat напоминает функции patch000.dat. Или master.dat. Ведь данные из worldmap.dat берутся в первую очередь(как patch000.dat), но и без этого файла игра работает. А похожесть с master.dat в том, что при отсутствии оного двиг его создаёт(при отсутствии master.dat фолл создаёт соответствующую папочку, если её нет.) К тому-же файл worldmap.dat создаётся единожды и в дальнейшем не востанавливается(если его удалить в процессе игры) Замечу, кэш так просто не снести. Кстати, из цитаты >>Если запустить фалл и изменить площадь карты мира (не выходя из игры), то при выходе на карту мира он выпадет в винду Если например снести patch000.dat во время игры фолл тоже упадёт. Так что это из той же оперы. P.S. Какая размерность карты мира - сколько квадратов: 1) всего 2) доступных для передвижения
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 12:11 - 26 Марта, 2005
|
|
izuken
Адский Хомяк
Откуда: mSk Регистрация: Янв. 2004
Всего: 125 сообщений
|
1.если не получается создать worldmap.dat в Fallout\data\, то он создаётся в Fallout\. 2.если начать новую игру и входить\выходить на карту сколько угодно раз => fallout2.exe читает 1 раз из Fallout\data\worldmap.dat 3.если грузиться из сэйва => читает 2 раза оттуда же. непонятно вообще, зачем она его пишет в \фоллаут. 4.в сэйв-файлах хранятся куски, аналогичные wordlmap.dat видимо, тут учитываются такие вещи как спец. энкаунтеры. (?) и еще..... создал 2 файла worldmap.dat нулевой длины поставил им рид-онли и положил в соотв. папочки. начал новую игру. 1. почему-то мне не дали ваултсьют после храма уж не знаю, с чем это повязано, скорее всего с прочими экпериментами...... 2. при выходе на карту мира названия у городов были написаны на англиском! это при том, что у меня - фаргусевая версия, и в ней(в норме) все эти надписи по-русски.
----- эхо москвы маздай. save the planet - kill self.
|
Отправлено: 14:52 - 26 Марта, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
>>1.если не получается создать worldmap.dat в Fallout\data\, то он создаётся в Fallout\. Да, я знаю. Пробовал ствить read-only. Создаёт в папках, а потом ничего больше не делает. >>2.если начать новую игру и входить\выходить на карту сколько угодно раз => fallout2.exe читает 1 раз из Fallout\data\worldmap.dat 3.если грузиться из сэйва => читает 2 раза оттуда же. Если не секрет, а как ты узнал? >>4.в сэйв-файлах хранятся куски, аналогичные wordlmap.dat видимо, тут учитываются такие вещи как спец. энкаунтеры. (?) Я это уже говорил. Просто в Worldmap.dat хранятся данные о карте мира. Соответственно в сейве сохраняется текущее состояние карты мира. >>1. почему-то мне не дали ваултсьют после храма уж не знаю, с чем это повязано, скорее всего с прочими экпериментами...... Скорее всего это не связано с Worldmap.dat. >>2. при выходе на карту мира названия у городов были написаны на англиском! это при том, что у меня - фаргусевая версия, и в ней(в норме) все эти надписи по-русски. Проделал те-же действия. В результате исчезли все города, надписи, и т.д. Что вполне логично, ведь нет соответствующих строчек в Worldmap.dat. Следовательно там нули. А это выключает всё. Но русский на месте (у меня Фаргус)
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 15:45 - 26 Марта, 2005
|
|
izuken
Адский Хомяк
Откуда: mSk Регистрация: Янв. 2004
Всего: 125 сообщений
|
что я могу сказать........ чушь? ага. но у меня всё работает ровно так, как оно работает: города все на карте есть, но названия под ними англиские, таблички справа тоже есть у арройо и кламата. что самое смешное - названия частей города - по-русски а насчёт откуда я взял про чтение - дык есть целый спектр приложений для слежения за действиями процесса. например, filemon.
----- эхо москвы маздай. save the planet - kill self.
|
Отправлено: 18:20 - 26 Марта, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
2 izuken У меня так и не получилось добиться такого результата. Я ещё попробую, может что-то и выйдет. Возможно это связано с таблицей из Worldmap.dat, которую мне ещё не удалось разгадать. 2 All А для тех, кому эта тема ещё интересна новые данные: Как выяснилось в файле worldmap.dat существует не 2 таблицы с данными (это так условно, разбито по группам разных данных), а три. Просто при создании файла одна из них пустая. Эксперементально подтвердить полученые данные не получилось, но обо всё по порядку. Вторая таблица находится сразу после первой и до второй. Если изменять эти данные в самом файле, то они никак не отображаются в игре (в отличии от координат городов и т.д.) Но. Как уже известно, содержание файла Worldmap.dat один к одному соответствует окончанию файла save.dat. Изменив те-же данные, но в файле save.dat удалось выяснить, что данная таблица отвечает за "туман", точнее области на карте и обозначает видимы ли они. Это точно, и проверено. После всего, структура файла Worldmap.dat становится кристально ясной. Правда до сих пор не удалось разгадать последнюю таблицу, но это дело времени. P.S. Как сказала Wasteland Ghost про исследования : >>Нужны, если раскопаешь его формат Вот мне и интересно. Формат почти раскрыт. Но надо ли это кому-то вообще? Ведь файл Worldmap.dat второстепенный и почти не нужен. Так стоит ли дальше биться над 3 таблицей. Мне не сложно, но просто интересно. (Я знаю, что бы сам ответил на такой вопрос, но всё же)
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 13:37 - 27 Марта, 2005
|
|
|
|