» TeamX (Архив Форума)«


Форум TeamX » Исследования » Worldmap.dat (Мне просто интересно)

Переход по темам
<< Пред. След. >>
Единственная страница этой темы

 
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Итак, хочется поделиться соображениями. Может кто-то давно уже знает, что это такое и с чем это едят. Но лично для меня данная тема – загадка. А посему просто выскажу своё мнение, может кто-то добавит или объяснит мне всё.
Конечно, хотелось бы точно решить данный вопрос, но несколько дней исследований не принесли сильно много сведений. А потому расскажу, что я выяснил.
Ну, во-первых, что собой представляет worldmap.dat. Это обычный двоичный файл. В нём закодированы какие-то данные. Я до сих пор не представляю, что там находится. Однако две вещи привлекают внимание:
1) Схожесть с save.dat
В последнем находятся данные про сохранённые локации. Это позволяет сделать вывод, что worldmap.dat это файл где находятся какие-то сохранённые данные. Я где-то слышал, что там находятся данные про загрузку карт. Но потом эта идея была опровергнута. Собственно о схожести двух файлов. Для сравнения предлагаю обратить внимание на окончание файла. Похоже, вы не находите?
Лично у меня при изменении состава игры(добавлении модов) ничего не меняется. И файл worldmap.dat не надо удалять. Значит данные в нём не относятся к составу игры.

У меня было мнение, что там находятся данные о настройках, но эта версия не состоятельна.
2) Файл всегда фиксированного размера и состава (у меня). Значит данные не зависят от запущенных карт и сохранения. Вообще я склоняюсь к мысли, что worldmap.dat это временный файл создаваемый двигом для чего то. У меня есть подтверждение этой идеи. А именно:
(Для Фаргуссификации):

000FD470 | 77 62 00 00 77 6F 72 6C 64 6D 61 70 2E 64 61 74 | wb .. worldmap.dat

Итак, что мы имеем. Для начала. Если удалить часть содержимого файла worldmap.dat, а потом запустить фолл, то файл перезапишется  по новой.
Что можно вынести из этих данных? Крайне не много. Что этот файл открывается каждый раз для записи при старте фолла. Учитывая, что двиг написан на Си, то понятно, что файл создаётся по новой каждый раз при запуске игры. Ну  то что он двоичный и так понятно. Но странно, что больше в двиге нигде не найдено указателей на этот файл(мной). Суммируя всё выше сказанное я думаю, что этот файл просто одна из возможностей для мониторинга игры. Своеобразный log файл, файл отладки. Ах да, забыл. По моим личным наблюдениям этот файл вообще не нужен игре. Без него она и так прекрасно работает (пока Следовательно давайте его уберём Изменим атрибуты с wb (открыть для записи как двоичный файл) на rb (чтение). Как результат игра будет прекрасно работать, а файл worldmap.dat, который вечно мозолил мне глаза создан не будет. (Это кстати лишнее подтверждение ненужности его для работы двига и процесса игры.)


P.S. Всё вышесказанное  моё мнение, которое может быть ошибочно. Выводы могут быть несостоятельны и опровергнуты в процессе работы с игрой. Но ведь это тема  Исследований, ведь так




-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 21:42 - 24 Марта, 2005
Perceptron
Модератор

Откуда: Ivanovo
Регистрация: Май 2003

Всего: 502 сообщения

Помню, возникали по нему вопросы. Теперь хоть есть куда отослать. :)
Я, конечно, и раньше догадывался что он ни фига не нужен, но теперь я это точно знаю. ;)
Кстати, не зря ведь он называется Worldmap - может он изменится, если сменить карту мира?

Отправлено: 21:53 - 24 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

>>Кстати, не зря ведь он называется Worldmap - может он изменится, если сменить карту мира

Нет, не изменяется. Ставил мод Павла. Там переработанная карта месности. Всё те же 9 508. А может название  - это своеобразный юмор разрабов  Как на карте мира есть все сведения, так и там лежат данные по инициализации двига.
Хотя я все таки согласен, что этот файл каким-то образом относится к карте мира. Не даром он вставлен (в двиге) между worldmap.msg и worldmap.txt.

Слушайте....у меня только что появилась мысль. А вдруг этот файл не относится к Фоллу? Вернее к Ф2? Может он остался от первой части. Ведь двиг просто дописывали. Это объясняет каким образом в Ф1 проверяются города (ведь нет там worldmap.txt).
Всё, я побежал за диском первой части.


(Добавление от 23:43 - 24 Марта, 2005.)


Нет, к Ф1 этот файл не относится.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 22:46 - 24 Марта, 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

Всего: 368 сообщений

Worldmap влияет на изменение карты мира. Замечено следующее:
Если запустить фалл и изменить площадь карты мира (не выходя из игры), то при выходе на карту мира он выпадет в винду. Значит он действительно относится к карте мира.

Если же изменить размеры карты и удалить файл Worldmap, то фалл не вылетит.

(Отредактировал(а) Pavel - 11:41 - 25 Марта, 2005)

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 11:40 - 25 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

2 Pavel
Спасибо большое. Очень полезное замечание.


Итак, следующие наблюдения. Файл Worldmap.dat  остаётся неизменимым если нет изменений с картой мира. Но стоило мне изменить размер карты, как файл Worldmap.dat прибавил в размере. А именно стал 12 452. Если вернуть размер обратно(карты мира), то файл принимает исходное значение. Всё это позволяет сделать такой вывод:

В файле Worldmap.dat  хранятся данные про карту мира. Зачем и почему - я этого не знаю. По прежнему без этого файла фолл прекрасно работает(если ставить rb). Это так же соответствует ситуации с save.dat. Ведь там находится буквально такой же кусок кода, как и в Worldmap.dat. При первом сохранении он не отличается от исходного файла. А со временем, при выходе на карту мира меняется. Значит в этой часте файла save.dat хранятся сэйвы карты мира (какие квадраты открыты и т.д.) Следовательно и в файле Worldmap.dat  находятся данные про карту мира. Думаю информация про файл выяснена, осталось только узнать зачем он вообще нужен. Может как раз для проверки целосности данных? Мне эта идея пока кажется наиболее вероятной.

P.S. Эти исследования хоть кому-то нужны?

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 17:15 - 25 Марта, 2005
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

Нужны, если раскопаешь его формат ;).

Отправлено: 18:07 - 25 Марта, 2005
YikxX
Пользователь

Откуда: NCR :)
Регистрация: Февр. 2004

Всего: 304 сообщения

Интересует вопрос: Прописывается ил в этом файле статус открывания локаций при подходе к ней. Ну например, У13 не открывается, База рейдеров - открывается.

-----
Обломись! Я подложил туда носок...

Отправлено: 18:40 - 25 Марта, 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

Всего: 368 сообщений

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

мне кажется, что данные по локациям он в себе не несет, но на 100 % не уверен. Ведь если поменять карту мира, то туман сдвинется согласно тайлам карты, и закрытые туманом города могут стать открытыми. Города прописаны в файле, зачем еще раз их прописывать.

(Отредактировал(а) Pavel - 19:29 - 25 Марта, 2005)

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 19:24 - 25 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Официально заявляю - файл worldmap.dat несёт в себе информацию о карте мира. В том числе и по локациям!!! Я пока не знаю насколько она используется, но могу точно доказать. Интересно ?
Ну что ж, смотрите:

самое начало файла worldmap.dat :

00 00 00 00 00 | 00 00 00 00 FF FF FF FF 00 00 00 AD 00 00 00 7A |

00 00 00 00 10 | 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF |

.......

00 00 00 00 30 | 00 00 00 B8 00 00 00 85 00 00 00 01 00 00 00 00 |

Прошу обратить внимание на AD , 7A ; B8, 85
Что это значит? да в 10-тичной системе счисления это соответственно 173,122 и 184,133
Ну и что, скажите вы. Да ничего сложного - открываем файл city.txt и видим:

[Area 00]                ; Arroyo
area_name=Arroyo
  ; Note: City names are kept in the Worldmap.msg message file
;world_pos=173,122        ; Absolute position? ; SAVED
world_pos=184,133        ; Absolute position? ; SAVED
start_state=On           ; Starting state     ; SAVED
  ; Small/Medium/Large
size=Medium               ; Size of circle (city/town/etc.) (large/etc.)
townmap_art_idx=156       ; Fid num index for the townmap art
townmap_label_art_idx=370 ; Fid num index for the townmap label


====================================

Ещё есть сомнения
Продолжаю копать.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 19:47 - 25 Марта, 2005
tracktor
Пользователь

Откуда: Москва
Регистрация: Март 2004

Всего: 183 сообщения

Хмм...
Может этот файл - своеобразный кэш для city.txt. То есть игра работает не с city.txt, а с worldmap.dat...

Отправлено: 20:01 - 25 Марта, 2005
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
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

третья таблица в волдмап.дат и сэйв-файле, где я прошёл порядка 2\3 игры отличаются в 4х местах на байт.

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 14:54 - 27 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Я когда начинал исследовать 3 таблицу столкнулся с тем же. Вначале выписал значения начала таблицы на лист бумани. Что бы я не делал, ничего не менялось(менял city.txt,map.txt,worldmap.txt). А потом как-то сравнил данные. И у меня было расхождение в несколько байт. Но больше не получалось добиться первоначального результата. А какие байты у тебя отличаются?

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 16:22 - 27 Марта, 2005
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

эхехе....
я выдирал из сэйв-файла и вм.дат куски, начинающиеся  с                                                        
01 75 00 00 чему соответстует одинокая .u...
и до конца вм.дат.

так вот, относительно начала этих кусков в первой сохранёнке(примерно пол игры или даже меньше) было различие по 0xCD9, а во второй(2\3 игры где-то) по 0xA15, 0xA8D, 0xB35 и 0xCD9.

я их поменял обратно, но эффекта не заметил. наверно не туда смотрел.

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 17:05 - 27 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Открыл старый сейв. Сравнил. По указаным адресам отличий не нашёл, зато по другим более 10 . Причём только в значении открыто\нет (01\00) Буду проверять.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 18:16 - 27 Марта, 2005
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

у меня они тоже менялись 0\1.

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 18:50 - 27 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

А сколько в каждом из save'ов у тебя было случайных встреч (random enc.)?

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 21:35 - 27 Марта, 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

Всего: 368 сообщений

Я вот над чем подумал.
Может имеет смысл задуматься, что нам это даст? Ведь это единственный файл, который отображает непосредственные данные игры динамически.
Я вот какая мысль пришла мне - динамика.
Ведь теперь, можно отслеживать события на карте мира и попробовать реализовать на ней динамику.
У меня раньше была такая мысль, но привязаться к каким либо данным было трудно, теперь это можно реализовать, так как есть к чему привязаться.
Бегло проверил содержимое файла при прохождении игры, возможно в нем есть отображение гвар, если это так, то можно будет реализовать замены масок, замены самих квадратов карты мира и возможно еще что-то.
Ведь благодаря этому файлу будет возможность реализовывать, как динамичную замену чего-то нового, так и загрузку старого (при зарузке старой сохранки игры), что ранее было невозможно.
Реализация не сильно трудна, но это уже другая тема.

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 21:42 - 27 Марта, 2005
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

там, где 1 отличие - 2 встречи на карте отмечено
где 4 - 4.

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 21:54 - 27 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

2 izuken:

Может быть такое, что ты в первом что-то незаметил? Правда пока всё-равно это ничего конкретного не даёт. Но всё-же.

2 Pavel

Я пока не стану ничего утверждать пока не закончу полную разшифровку файла. Однако, не всё так просто. Про гвары я не уверен. Скорее всего их там нет. Правда мне не даёт покоя 3 таблица, но вряд ли это там будет. Для того, чтобы там были гвары в таблице слишком маленькие данные (максимальное число около 80). К тому же недаром файл называется Worldmap. Скорее всего там идут данные только по карте мира.
Про динамику. Это сложный вопрос. Далеко не факт, что двиг учитывает данные из файла. Вернее не все данные. Часть он точно не воспринимает (например 2 таблица с туманом.)

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 22:30 - 27 Марта, 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

Всего: 368 сообщений

Если в файле отмечаются города, точнее их появление или скрытие, то уже к этому можно привязаться и сделать динамическую замену.
Одно событие - одна замена.
А если Гвар нет в файле, то можно ввести специально созданные локации за пределами видимой карты.
Но мне кажется, что в нем есть Гвары, по крайней мере для репутации в городах. Хотя я могу опять ошибаться.

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 23:31 - 27 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Видимо немного не понятно. Объясню. Файл Worldmap.dat создаётся ровно один раз. Ни больше ни меньше. И пишутся в него данные тоже один раз. И всё. Тоесть он не изменяется по ходу игры. Безусловно каким-то образом он связан с save\load. Каким точно не знаю. Этот файлик похож на своеобразный шаблон, по которому лепится карта мира. Но только при самом старте игры. В процессе он не изменяется (повторюсь, но это точно проверено.) У меня есть идея на счёт cуществования этого файла. Но это только версия нуждающаяся в доработке.
Что касается 3 таблицы (доселе неизвестной). Может там и хранятся гвары, но отвечающие только за репутацию. Это было бы просто супер. Но я очень сильно в этом не уверен.

P.S. Блин, задолбала меня уже эта 3 таблица. Целый день мучаюсь. Ничего не могу понять. Открываю в редакторе save.dat. Всё нормально. n-ое количество раз проделываю одни и те-же действия. В итоге замечаю, что сейв изменился. Точно знаю что делал. Пробую по новой - без результатов, исходное значение так и не поменялось. И так уже 3 раза с разными значениями. Они что, рэндомно генерируются ради меня  

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 23:51 - 27 Марта, 2005
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

я вот чего думаю сделать.....

т.н. 3я таблица имеет характерную структуру типа тройки чисел (х,у, bool).

как правило, bool выставлена в 1.

надо бы написать прогу, которая выставит все единицы в 3м поле в нули и посмотреть, что изменится. если руки дойдут - сегодня попробую ближе к вечеру.

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 14:08 - 28 Марта, 2005
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

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

Это делается скриптово. Операция mark_area_known.

Отправлено: 14:36 - 28 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Ура, процесс пошел.Я так и знал..... Я и раньше пробовал изменять значения с 1 на 0, но по одному-два. Сейчас плюнул на всё и поменял весь остаток файла.(Я менял в сэйвах, так проще).
Итог: сдох Esc. Не у меня, а в сэйве. Вырубился напрочь. Также начали посещать сны. Сразу после выхода с локации. Не удивлюсь, если встречу Фрэнки. Короче, скорее всего 3 таблица отвечает за настройки игры. (Я чес слово так и думал.) Щас буду проверять дальше, и напишу подробнее(а потом мож доку, если надо кому.)

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 16:31 - 28 Марта, 2005
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

попробовал.

фол вылетел при выходе на карту. менял сохранёнку.




(Добавление от 16:51 - 28 Марта, 2005.)


а про сны - это уже идёт после 3й таблицы относительно волрлдмап.дат.

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 16:47 - 28 Марта, 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

Всего: 368 сообщений

2 Wasteland Ghost

Я имел в виду другое. А именно - привязку к замене тайла карты мира и возможность замены маски мира.
Например: взорвали мы Гекко - ведь при взрыве атомной станции не только вход в здание должен быть завален, а полностью опустшена локация. А если учесть, что рядом еще один недостроенный реактор, то грохнуть так должно, что на карте мира явно будет видно, да и проходимость измениться, там ведь кратер появиться.

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

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 20:01 - 28 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Я лажанулся. Виновен. Поменял кусок сэйва и радовался. Когда сразу заметил не успел написать, времени не было.
Кстати
>>фол вылетел при выходе на карту. менял сохранёнку

Всё дело в том, что ты поменял значение 175 в самом начале таблицы. Если оно увеличивается\уменьшается - фолл падает. Я до сих пор пытаюсь выяснить что-же это за значение. НО!!!!! Каким то образом я создал сейв, где первое число 177 !!!! К тому же там меняется чуть ли не 10-ая часть всей таблицы.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 20:34 - 28 Марта, 2005
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

нет, тот кусок с 1 75 я как раз не менял.

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 21:11 - 28 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Просто размышления, может чем поможет(возможны ошибки):

>>т.н. 3я таблица имеет характерную структуру типа тройки чисел (х,у, bool).

Немного не согласен. (А может это я не прав?), но мне представляется структура 3 таблицы такой

x,y, bool(01\00), 01

или так :

x, y, bool, 01 01,  x, y, bool .......  

Главное то, что в структуре обязательно присутствуют идущие подряд две 01, а после  них(перед ними) могут отсутствовать либо y либо x,y.  Этому 2 доказательства:
1) Если выписать часть таблицы, и расписать по порядку x,y,bool, то схема нарушается. Я выписывал и подставлял.  Это прекрасно видно по началу 3 таблицы.
2)И второе доказательство. Если обнулить все еденицы из первой таблицы, после первого же сохранения в некоторых (строго отведённых местах) востанавливаются идущие подряд 2 еденицы.

Всё это верно для сейвов, а значит и для worldmap.dat

Поэтому структуруа 3 таблицы такая

 x            y            bool       x  
 y         bool            x          y
bool         x             01        01
 y(x)     bool            x          y
bool      

..................................

 x           01             01       y
bool         x                y      bool

...............................

x            01              01       y
x             y               bool     x
y            bool

..............................


Так мне кажется, но две 1 подряд неизбежны и есть всегда. Просто посмотрите файл.

P.S. Желающие, давайте опровергайте. Может таки выясним правду.


(Добавление от 23:38 - 28 Марта, 2005.)


Извините, этой строчке:

>>2)И второе доказательство. Если обнулить все еденицы из первой таблицы ........

конечно же из 3 таблицы, а не из первой


(Добавление от 0:44 - 29 Марта, 2005.)


Ладно, если не получается наскоком решить проблему, будем постепенно. Один раз уже помогло. Я расскажу, что думаю. Может кто добавит или возразит.

3 таблица имеет упорядоченные данные. Они следуют в четком порядке, с возможными небольшими отклонениями. Структура 3 таблицы полностью соответствует первой (принцып). Данные располагаются по группам (пример города из таб. 1), с возможными отклонениями (смотри кол. entrance) Учитывая всё это, плюс тестирование самих данных можно уверенно сказать, что:
1)табл. не содержит данных (настроек) по игре
2)учитывая неизменность таблицы при разных city.txt, worldmap.txt и map.txt, она не содержит данных по ландшафту (невозможность масок)
3)учитывая возможность изменения по ходу игры:
a)не содержит четких параметров карты мира (исключения могут составлять случайные встречи)
б)вероятнее всего может содержать данные по отдельным локациям (у меня ж как-то изменилось число с 175, изменилось при этом 2/3 табл.3. Структура две единицы осталась.)  
4)Скорее всего данные не имеют отношения к гварам в игре(уверен на 99%), следовательно не влияет на репутацию в городах.
5)Судя по изменяющемуся параметру (bool) сведения из разряда найдено\нет, открыто\нет. Хотя может и нет.
6)Так как данные в таблице могут отличаться не только в bool, но и значениях x,y, то вероятнее всего данные одного класса(все обозначают общие возможности, но для разных объектов).

Ну пока вроде все. Какие есть дополнения\исправления?


(Добавление от 1:10 - 29 Марта, 2005.)


Так, всё. Последние данные на сегодня. (до утра
Окончательный вид (структура) таблицы 3 выглядит так:
где
A- число (начинается в таблице с 6)
R - произвольное число (может быть любым: хоть A1,хоть 0, вобщем любое)
n - натурально число, довольно маленькое (1,2,3 и т.д), показывающее изменение A

Структура:
(возможно произвольное число последовательностей идущих до двух единиц)

A               R             01
A               R             01
A               R             01
A+n           R             01
A+n           R             01
A+n          01            01
A+n           R             01
A+n           R             01
A+n           R             01

n может произвольно изменятся.
Влом проверять до конца таблицы, но как правило (наверное всегда), после последовательности вида

A+n          01            01

идёт

A+n          02             01


(Добавление от 1:14 - 29 Марта, 2005.)


P.S. n может только увеличиваться, но не наоборот

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 23:33 - 28 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Наконец-то  удалось разгадать 3 таблицу. Мне она не давала спокойно жить Я думал никогда этого не будет. Скоро выложу результаты.

P.S. Может всё-же хоть кто-то знает что за число такое 80000?

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 19:32 - 31 Марта, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Полностью разшифрован файл worldmap.dat. Осталось только 2 значения (int), но неохота с ними играться. Скорее всего это количество данных в таблицах.  На этом считаю завершёнными исследования данного файла. После выходных выложу доку по смещениям и данным этого файла, а также с соображениями необходимости оного.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 0:42 - 2 Апр., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Советую ознакомиться с докой. Думаю многое станет понятным. Прошу высказаться по данной теме. Также, в случае дополнений\изменений, можно написать в этой теме.

P.S. На один неизвестный файл меньше

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 15:31 - 2 Апр., 2005
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

0x013A0  int  175  кол. Special Encounter's  

175, это, извините меня, в 16ричной системе.

в фоле - 300 с чем-то спец. энкаунтеров??

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 17:39 - 2 Апр., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Я писал то, что мне точно известно и проверено на практике.

Цытата из доки:

Цитата:

Отвечает за Special Encounter's из файла worldmap.txt. Данные разбиты на группы. Так как Special Encounter может встречаться на определённых тайлах, то соответственно данные разбиты по [Encounter Table X].



175 в 16 системе счисления это 373 в 10. Теперь смотрим файл worldmap.txt

[Encounter Table 15]
lookup_name=DMRV_M                                                        ; Den-Modoc-Redding-Vault City Trade Route
maps=Mountain Encounter 5, Mountain Encounter 4, Cavern Encounter 1, Cavern Encounter 4, Cavern Encounter 2
enc_00=Chance:7%,Enc:(2-5) DMRV_Highwaymen AMBUSH Player
enc_01=Chance:7%,Enc:(2-5) DMRV_Robbers AMBUSH Player
.........................
enc_24=Chance:1%,Counter:1,Special,Map:Special Holy Encounter 2,Enc:Special1, If(Global(372) > 0) And If(Global(606) < 1)

Теперь это:

[Encounter Table 17]
lookup_name=Den_M                                                         ; Areas around the Den
maps=Mountain Encounter 3, Mountain Encounter 4, Mountain Encounter 5, Cavern Encounter 0, Cavern Encounter 2
enc_00=Chance:10%,Enc:(4-9) DEN_Slavers AMBUSH Player
enc_01=Chance:10%,Enc:(3-6) DMRV_Highwaymen AMBUSH Player
enc_02=Chance:10%,Enc:(3-5) DMRV_Robbers AMBUSH Player
..................
enc_21=Chance:1%,Counter:1,Special,Map:Special Holy Encounter 2,Enc:Special1, If(Global(372) > 0) And If(Global(606) < 1)

Я думаю теперь понятно? Если нет, то объясню. В фолле карта разбита на тайлы(зоны). И далеко не на всех них может встретиться тот или иной spatial encounter. Они отдельно прописаны для разных тайлов. Вот их то(Special) и 373.  Я не поленился и посчитал.


-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 18:29 - 2 Апр., 2005
Respect
Пользователь

Откуда: Город, Страна
Регистрация: Апр. 2005

Всего: 8 сообщений

Ознакомился с Вашим исследованием - у меня есть два замечания:
1. (не основное)
2Pavel

Цитата:

А отлавливать, какая сохранка грузится, я не имею понятия как.



Может подойдёт это

Цитата:

izuken
(Отправлено: 19:20 - 26 Марта, 2005)
а насчёт откуда я взял про чтение - дык есть целый спектр приложений для слежения за действиями процесса. например, filemon



2. 2Ray
Не приходила ли в голову мысль, что .дат служит для ускорения игры - если ставить не полную (минимальную) конфигурацию?

(Отредактировал(а) Respect - 16:34 - 22 Апр., 2005)

(Отредактировал(а) Respect - 22:51 - 22 Апр., 2005)

-----
Привет с www.fallout.ru -
      Усе там будем...

Отправлено: 15:32 - 22 Апр., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Приходила. Из доки

Цитата:

Этот файл своеобразный кэш




Цитата:

Также это понятно с логической точки зрения. Лучше работать с файлом размером в 9 килл, чем каждый раз читать файл размером 400 мег



Это и есть ускорение работы. Зачем каждый раз работать с громадным файлом master.dat . Да и ещё грузить его с диска. Однако я думаю, что его создавали не исключительно для работы с минимальной установкой. Я бы на месте разрабов проверял бы тип установки. Хотя это спорный вопрос,  что лучше - проверять тип установки, или создавать каждый раз новый файл.  


>>а насчёт откуда я взял про чтение - дык есть целый спектр приложений для слежения за действиями процесса. например, filemon

я думаю Павел говорил про проверку сохранёнок в самой игре.


-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 22:46 - 22 Апр., 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

Всего: 368 сообщений

2 Respect
А отлавливать, какая сохранка грузится, я не имею понятия как. - дык есть целый спектр приложений для слежения за действиями процесса. например, filemon
*
Я имел в виду отслеживание при реализации динамике на карте мира. Ведь есть (будут) сохранки до и после события (например взрыв реактора в Гекко). А конечный пользователь не сможет и не должен в ручную делать замены тайлов и масок. Для этого и необходим отлов нужной инфы.

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 12:17 - 25 Апр., 2005
Aman
Пользователь

Откуда: Киев
Регистрация: Апр. 2005

Всего: 208 сообщений

Что-то я не пойму флаг встречалось\нет из "Таблицы 3". Во время игры worldmap.dat не меняется.. Как, когда и зачем этот флаг меняется ?

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

Отправлено: 20:40 - 14 Июля, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Этот флаг не меняется. Собственно и весь worldmap.dat. А вот save.dat - меняется. Только поэтому и был сделан такой вывод. Считай, что worldmap.dat - шаблон. Это конечно не до конца правильно и точно, зато понятно.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 21:03 - 15 Июля, 2005
Perceptron
Модератор

Откуда: Ivanovo
Регистрация: Май 2003

Всего: 502 сообщения

Ray, а ты знаешь, где в SAVE.DAT кусок, похожий на Worldmap.dat? Если да, сообщи мне - обновлю доку по SAVE.DAT.

Отправлено: 23:38 - 15 Июля, 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Похожий ? Скорее брат близнец.
Начиная с
0x0CC20
и до
0x0F140

Save.dat со временем может изменяться.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 11:57 - 16 Июля, 2005
 

Переход по темам
<< Пред. След. >>
Единственная страница этой темы


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com