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


Форум TeamX » Исследования » Offsets или полезные смещения (двиглоковыряние... исключительно в целях обучения :))

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 ] Все собщения

 
Ray
Модератор

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

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

>>За один последний год об экзешнике стало известно больше, чем начиная с далекого 98-го. Так мы пожалуй его на винтики разберем

меня тоже посещала такая мысль

По существу:
(Фаргус version only)

1)
Со смещения:
0x0F1900
по
0x0F19D0
находятся все ролики включённые в игру. Обратить особое внимание, что для нескольких из них используется своя палитра (я ничего не путаю?). Соответственно сразу за перечислением роликов идёт местонахождение pal (например art\cuts\introsub.pal)

2)
Для меня более интересная инфа. (И найти было намного сложнее)
Смотреть:
0x0B3190

Есть там такое значение - B101 . Это не что иное, как номер из INTRFACE.LST (433) Отвечает за картинку используемую на карте мира во время движения машины (низ\право).
Есть ещё пара идей про машину, но это позже.




(Добавление от 0:45 - 21 Апр., 2005.)


Забыл.

0x0B2DF0 - значение 6E01 (366) : картинка, когда мы передвигаемся по карте на своих двоих.

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

Отправлено: 0:25 - 21 Апр., 2005
B A Z i K
Пользователь

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

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

2Perceptron:
Цитата:

А это что за гвара?


Интересная гвара Добиться ее динамического(в смысле не ручками) измененения в игре у меня так и не получилось И насчет того что по данному смещению именно она я тоже на 100% не уверен. Так теория, догадки.

Вот, что мне удалось нарыть...
Отлична от нуля в таких скриптах:

ENCDOCK.SSL, GSTCAV1.SSL, KLAGRAZ.SSL, MCSLGGRD.SSL, NCR1.SSL,  
NCRENT.SSL, NEWRCS.SSL, REDDTUN.SSL, V13ENT.SSL.  

В игре может принимать значения: 0, 2, 5, 10, 13, 777, 888, 999.
Исходя из трех последних значений говорить о том, что в эту ГВАРу запоминается индекс текущей карты, как-то не получается.
Вот еще один случай, когда название гвары не говорит о ее предназначении.
Цитата:

А разве должно? По-моему, они вообще никаким боком не связаны.


Цитирую WG:
Цитата:

Если "отметить в ПИПбое" означает отобразить репу и квесты, то никак. ГВАРина репы жёстко привязана к номеру локации. В движке. Так что увы..        



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

Привязку гвар к с своим городам можно сделать(но долго и муторно) как я указал в предыдущем посте. А можно позаимствовать эти самые гвары репутации у городов, которым они "не очень нужны"
То есть в ехе находим привязку реповой гвары к Сьерре, Рейдерам, Анклаву или Наварро, и меняем адреса на свои локации. В итоге получится 7 городов
с репой(эти четыре + три неиспользованых).


2WG:
Цитата:

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


Сенксь. Будем знать. Из этой оперы есть еще двиговые  GVAR_MAP_EXIT_TILE(46) и GVAR_MAP_NEXT_TILE(67). Их работа соответствует названию?


2All:
З.Ы. В процессе ковыряния двига нашел еще пару вкусностей. Может для кого-то они не новость.

Параметр days_played для worldmap.txt. То есть проверка сколько дней мы играем.
В игре он не юзается, но работает.
Пример: в параметрах енкаунтера пишем If(days_played > 30), и этот енкаунтер
сможем встретить не раньше истечения этих самых 30-ти дней.

И еще один параметр pipboy_active для maps.txt. Может принимать значения Yes\No.
Зачем нужен, и что делает пока неясно.


-----
B@ZiK was here!

Отправлено: 1:25 - 21 Апр., 2005
Perceptron
Модератор

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

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

>Вот я и подумал, что со своими квестами - никак, из-за того, что в двиге гвара не зарезервирована. Опровержение этого стало для меня настоящим открытием. Может конечно это уже все знают, а я как всегда пропустил новость...

А я однажды просто попробовал добавить свой квест в ПИП-бой, и все прекрасно прокатило. Это вообще в текстовых файлах прописывается. Не знаю, почему Аня про квесты речь завела.
Помню, Raven как-то признался, что считал невозможным добавление новых ГВАР. О ФОлле вообще много мифов ходит.

Отправлено: 3:04 - 21 Апр., 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

Я и не говорила, что отображение квестов связано с репой. Я сомневалась, не прошита ли в движке привязка квестов к локациям. Оказывается, нет, всё гораздо проще. Тем лучше :).
Цитата:
Сенксь. Будем знать. Из этой оперы есть еще двиговые  GVAR_MAP_EXIT_TILE(46) и GVAR_MAP_NEXT_TILE(67). Их работа соответствует названию?

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

Отправлено: 15:14 - 22 Апр., 2005
B A Z i K
Пользователь

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

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

Цитата:

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

Значит неправильно понял. Сорри за поднятый шум.

Цитата:

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


Попробуем выяснить. А вот ГВАРа RUNNING_BURNING_GUY(28) - 100% двиговая.

С картами есть еще один неисследованый кусок. Это привязка номера карты к отображению этой самой карты в пип-бое. Или попросту говоря отображение автокарты. В игре не у всех локаций есть автокарты(напр. у конющен возле НР нету), то есть индексы карт из maps.txt в двиге привязываются к отображению в пипбое.

(Отредактировал(а) B A Z i K - 21:00 - 24 Апр., 2005)

-----
B@ZiK was here!

Отправлено: 18:56 - 24 Апр., 2005
Perceptron
Модератор

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

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

Координаты стартового города.

Как многие уже знают, если поменять координаты Арройо в city.txt, то город, конечно сместится, и игрок будет находится на нужном месте, только вот камера на карте мира будет висеть над старым местом, и девять квадратов вокруг старого местоположения Арройо будут подсвечены.
Положение камеры располагается по следующим смещениям:

Смещение    кол-во байт    нач. знач.      название
10C42C:     2              0х0000          World Viewport X
10C430:     2              0х0000          World Viewport Y

Эти нули означают, что камера находится в точке 184, 133 (стартовое положение игрока на карте). Чтобы сместить камеру вправо и вниз, используйте положительные значения (т.е., чтобы сместить в точку 384, 133, пропишите в X число 200 (т.е. 0xC8)).
Не помню кем найдено, но Andy-Spacetrain реализовал это в своих прогах.

Координаты подсветки располагаются по следующим смещениям:

Смещение    кол-во байт       нач. знач.        название
0AD008:     4                 0хAD000000        World Highlight X
0ACD90:     4                 0хAD000000        World Highlight X
0AD00D:     4                 0х7A000000        World Highlight Y
0ACD95:     4                 0х7A000000        World Highlight Y

AD - это 173, 7A - 122. 173, 122 - стартовые координаты Арройо. Просто меняйте эти значения на новые стартовые координаты.
Откопал это Anchorite (см. выше).
Откуда взялись еще два смещения? Просто в коде это значение меняется в двух местах. У меня, например, при начале новой игры подсветка не смещалась, пришлось покопаться в экзешнике.

Т.е. поменяли 6 смещений в EXE, подправили city.txt и вот вам Арройо на новом месте.

Кстати, чтобы получить смещения в памяти, прибавьте к смещениям в EXE число 411A00.

Отправлено: 23:42 - 9 Мая, 2005 | ИСПРАВЛЕНО: Perceptron - 0:36 - 28 Июня, 2005
Ray
Модератор

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

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

Кто знает, подскажите плз. смещение для движка Ф2 (любой версии) на снятие ограничения на кол. карт (именно карт, а не локаций коих 49). По какому адресу надо изменить байт на FF.


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


Да, если это будет не фаргусовская версия, напишите значение соседних байт

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

Отправлено: 23:02 - 23 Мая, 2005
B A Z i K
Пользователь

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

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

Цитата:

Кто знает, подскажите плз. смещение для движка Ф2 (любой версии) на снятие ограничения на кол. карт (именно карт, а не локаций коих 49). По какому адресу надо изменить байт на FF.

Try this:
fallout2.exe (1.02d)
          Нач.  Изм.
98344: A0    FF

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

З.Ы. А что мы собственно ломаем? Первый раз слышу про ограничение на кол-во карт для fallout2.exe :\

-----
B@ZiK was here!

Отправлено: 9:11 - 24 Мая, 2005
Ray
Модератор

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

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

Что-то меня глючит. Я был свято уверен, что без ковыряния двига не получится исспользовать больше 160 карт. Это моя личная ошибка из той же оперы, что и определённое количество гвар. Однако, за помощь спасибо.

P.S. Действительно для фаргуса подходит.

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

Отправлено: 12:19 - 24 Мая, 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

Цитата:

Некоторые моды при установке заменяют исполняемый файл fallout2.exe. Так вот, если подобный мод установить на версию от Фаргуса, то вся озвучка персонажей превратится в противное шипение. Лечится так:

fallout2.exe            
0000A998: 74  EB



ЛК, в отличие от Гуся, воспринимает как "родной" звук, так и свой "особый". Никто не в курсе, как заставить английский экзешник 1.02d понимать ЛКшный звук?

Отправлено: 10:32 - 6 Июня, 2005
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 ] Все собщения


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