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


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

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

 
Wasteland Ghost
Маленькое Злое Привидение

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

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

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

Итак, выкладываю пыльные (и не очень архивы со своего винта.

Нумбер ван: древнейший документ неизвестного автора под названием offsets.txt (слегка мною дополненный).

------------------------------------------------------

Код:
Fallout1, Fallout2, Fallout1 demo, Mapper2 

Year
Version:                Hex Offset:
Fallout2 (US v1.0)  
Fallout2 (US v1.02d)    0009376C
Fallout2 (UK v1.01)     0009351C
Fallout2 (UK v1.02e)    0009391A
Fallout2 (GR v1.0)  
Fallout2 (GR v1.02d)    00093A3C
Fallout2 (FR v1.0)  
Fallout2 (FR v1.02d)    00093A3C
Fallout2 (LK v1.02)     0009363C
Fallout1 (WIN v1.1)     00081B7C
Fallout1 (WIN v1.2)     00081E2C
Fallout1 (DOS v1.1)     000C54AC
Fallout1 Demo           0005C42C
Mapper2                 000BD84C
( Fallout1 (2161) 08710000 )
( Fallout2 (2241) 08C10000 )

13 Year Limit (Not working totally...)
Version:                Hex Offset:
Fallout2 (US v1.0)  
Fallout2 (US v1.02d)    000938D8
Fallout2 (UK v1.01)     00093688
Fallout2 (UK v1.02e)    00093A88
Fallout2 (GR v1.0)  
Fallout2 (GR v1.02d)    00093BA8
Fallout2 (FR v1.0)  
Fallout2 (FR v1.02d)    00093BA8
( Fallout2 (315371520) 0003CC12 )
Change to FFFFFFFF (?)

Starting Time in ticks (not date)
Version:                Hex Offset:
Fallout2 (US v1.0)  
Fallout2 (US v1.02d)    00095601
Fallout2 (UK v1.01)     00095375
Fallout2 (UK v1.02e)    000957B1
Fallout2 (GR v1.0)  
Fallout2 (GR v1.02d)    000958D1
Fallout2 (FR v1.0)  
Fallout2 (FR v1.02d)    000958D1
Fallout2 (LK v1.02)     000954D1
Fallout1 (WIN v1.1)     00083785
Fallout1 (WIN v1.2)     00083A35
Fallout1 (DOS v1.1)     000C70B5
Fallout1 Demo           0005D70E
Mapper2                 000BF8BE
( Fallout1 (264600) 98090400 )
( Fallout2 (302400) 409D0400 )

Starting Month
Version:                Hex Offset:
Fallout2 (US v1.0)  
Fallout2 (US v1.02d)    00093782
Fallout2 (UK v1.01)
Fallout2 (UK v1.02e)    00093532 (?)
Fallout2 (GR v1.0)  
Fallout2 (GR v1.02d)    00093A52 (?)
Fallout2 (FR v1.0)  
Fallout2 (FR v1.02d)    00093A52 (?)
Fallout2 (LK v1.02)     00093652
Fallout1 (WIN v1.1)
Fallout1 (WIN v1.2)
Fallout1 (DOS v1.1)
Fallout1 Demo           0005C442
Mapper2        
( Fallout1 (DEC) 0C000000 )
( Fallout2 (JUL) 07000000 )

Starting day:
Fallout2 (US v1.0)  
Fallout2 (US v1.02d)    00093756
Fallout2 (UK v1.01)
Fallout2 (UK v1.02e)    
Fallout2 (GR v1.0)  
Fallout2 (GR v1.02d)    
Fallout2 (FR v1.0)  
Fallout2 (FR v1.02d)    
Fallout1 (WIN v1.1)
Fallout1 (WIN v1.2)
Fallout1 (DOS v1.1)
Fallout1 Demo      
Mapper2        
( Fallout1 )
( Fallout2 (25) 18 )

Starting map            Hex Offset:
Fallout2 (US v1.02d)    00107AC8
Fallout2 (LK v1.02)     00107AB8
( Fallout2 (artemple.map) 617274656D706C652E6D6170 )



(Добавление от  13:21 - 24 Фев., 2005.)


Исследования АБеля:

----------------------------------------------------

Код:
Fallout2 Levcorp Edition 1.02 

Встреча с Френки происходит не на 35й день, а сразу
fallout2.exe
000B09BA: 23 00

Выключить неслучайную встречу с Френки
fallout2.exe
000B09A8: 75 EB

Пипбой в начале
fallout2.exe
000872E1: 75 EB
0008FC7F: 74 90
0008FC80: 05 90

Нет снов
fallout2.exe
000939DF: 0F E9
000939E0: 85 95
000939E1: 94 00
000939E4: 00 90
00093A87: 75 EB


----------------------------------------------------

Код:
Fallout2 English 1.02d 

Встреча с Френки происходит не на 35й день, а сразу
fallout2.exe
000B0AEA: 23 00

Выключить неслучайную встречу с Френки
fallout2.exe
000B0AD8: 75 EB

Пипбой в начале, нет снов, все видео показаны
fallout2.exe
0003EF0E: 25 B8
0003EF0F: FF 01

Пипбой в начале
fallout2.exe
00087411: 75 EB
0008FDAF: 74 90
0008FDB0: 05 90

Нет снов
fallout2.exe
00093B0F: 0F E9
00093B10: 85 95
00093B11: 94 00
00093B14: 00 90
00093BB7: 75 EB



(Добавление от  13:23 - 24 Фев., 2005.)


Инфрмация с DAC (автор Andy-Spacetrain)

----------------------------------------------------------
Код:
 
[US 1.02]
Feature                     Memory  Fallout2.exe    Number      Original
                           Offset  File Offset     Of Bytes    Value

Enable Pipboy               497011  085611          1           0x7E
Remove City Limit           4BF3BB  0AD9BB          1           0x24
Disable Movies              44E690  03CC90          1           0x89
Male Start Appearance       5002E8  0EE8E8          6           hmwarr
Female Start Appearance     5002F0  0EE8F0          6           hfprim
Male Default Appearance     5002D8  0EE8E0          6           hfjmps
Female Default Appearance   5002E0  0EE8E0          6           hfjmps
Starting Map                5194C8  107AC8          12          artemple.map
DAT Name                    5023C8  0F09C8          13          patch%03d.dat
Mod Name (Main Menu)        50EA18  0FD018          19          FALLOUT II %d. %02d
Start Year                  4A336C  09196C          2           0x84A8
Start Month                 4A3382  091982          1           0x00
Start day                   4A3356  091956          1           0xF8
World Viewport X            10C42C  091956          2           0x0000
World Viewport Y            51DE30  10C430          2           0x0000



(Добавление от  13:24 - 24 Фев., 2005.)


Информация с DAC (автор Temaperacl)

---------------------------------------------------------

I believe I've figured out where Perks and Traits are stored, though (I haven't tested these in-game, so it might all be an elaborate mistake, but..):
Fallout2.exe
Traits: 0x10c184 (Just the location- I haven't looked at them any yet)
Perks: 0x1083cc (15A3A0 in mapper2.exe I believe)
Perks seem to have the following format (Up to Mutate! at least, after that it changes, and then seems to fall apart, so..):
Each perk appears to have the following format:

[00] - ? (Always 0000 0000)
[04] - ? (Always 0000 0000)
[08] - ID (Appears to be ID in PERK.MSG -29)
[0C] - Number of Ranks available.
[10] - Required Level
[14] - Stat Modified (entry in STAT.msg - 100) (FFFF FFFF = None)
[18] - Amount Stat Modified
[1C] - Skill 1 (SKILL.MSG - 100) (FFFF FFFF = None)
[20] - Amount for (in % points) Skill 1.
[24] - Type*
[28] - Skill 2 (SKILL.MSG - 100) (FFFF FFFF = None)
[2C] - Amount (in % points) for Skill 2.
[30] - Req. STR
[34] - Req. PER
[38] - Req. END
[3C] - Req. CHA
[40] - Req. INT
[44] - Req. AGI
[48] - Req. LUC

*- is 0000 0000 unless there are two skill entries (In these cases, it is a requirement I think) , in which case it looks like the entry is 0200 0000 if they are requirements and 0100 0000 if they are bonus (points the character gains).
(For the addiction perks, Ranks looks like it is always FFFF FFFF, and the Stat Req. Fields look like they are rather the change applied FEFF FFFF for -2 to the stat, for example.)

There are some problems- some perks are supposed to due more than can be encoded here, for example (Ignoring things that should be purely script based). For example, the Mr. Fixit should have requirements for 2 skills AND add points to 2 skills. In addition once we get past Mutate! / The Addiction entries, then the system appears to stop working as well- there are entries with the same ID's as earlier entries, and I'm not 100% sure all perks are accounted for. I'd guess (But it is just a guess with absolutely no backing yet) that multiple entries for a perk allow for the perk to do more than would be allowed with one entry. (Like the Mr. Fixit.)

In addition, I'm not sure about the ID- it works perfectly up through the addiction stuff, but it just seems odd to have it to be ID-29.


(Добавление от 13:36 - 24 Фев., 2005.)


Информация с DAC (авторы platon и dude_obj)

----------------------------------------------------

You can change the appearance of the player character as follows:

- Backup your fallout2.exe
- Get youself a hex editor
- Find the text string "hmwarr" in fallout2.exe
- Change the text string to some other critter
- Save and run the fallout2

And now the bad news: Some critters doesn't have run or secondary attack, and wielding weapons didn't work.

Note: Although you can change the player character to look like any critter, the player is then limited by the critter chosen. For example, dogs cannot use guns, and and the frank horrigan model can only use large guns and knives. There are limitations in the sprites that display various weapons and actions. This is why there is no "proper" way to show party members in their armor, there are no sprites of "Vic wearing combat armor" for example.


(Добавление от 13:45 - 24 Фев., 2005.)


Исследования Anchorite

---------------------------------------------------
Код:
 
Смещение    Описание  
0x0002ED50  Идентификаторы общих элементов
           пульта управления лифтом
           Формат:
           Размер: 3 x 4
           Размер  Тип  Описание  
             4     int  Нажатая кнопка  
             4     int  Опущенная кнопка
             4     int  Позиционер
0x0002ED5C  Идентификаторы специфичных
           элементов пульта управления
           лифтом  
           Размер: 24 x 2 x 4
           Формат:
           Размер  Тип  Описание  
             4     int  Основной вид
             4     int  Подписи к кнопкам
0x0002EE1C  Число кнопок на панели
           управления лифтом  
           Размер: 1 x 4
           Формат:
           Размер  Тип  Описание  
             4     int  Число кнопок
0x0002EE7C  Координаты точек выхода из лифта  
           Размер: 24 x 3 x 4
           Формат:
           Размер  Тип  Описание  
             4     int  Номер карты
             4     int  Уровень  
             4     int  Координата


Отправлено: 13:20 - 24 Фев., 2005
Raven
Пользователь

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

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

>>[00] - ? (Always 0000 0000)
>>[04] - ? (Always 0000 0000)

Первые два поля в описании перков хранят соответственно указатель на строку с названием перка и указатель на строку с описанием. В экзешнике они, естественно, занулены. Но если найти эту же структуру в памяти, то там будут указатели.

Что-то все вдруг за двиг взялись. Это радует :-)

От себя.
0xFEF54: D8 FF FF FF (=0xffffffd8 == -40) - пенальти для прицельного выстрела в голову
0xFEF58: E2 FF FF FF (=0xffffffe2 == -30) - пенальти для прицельного выстрела в руку
0xFEF5С: E2 FF FF FF (=0xffffffe2 == -30) - пенальти для прицельного выстрела в руку
0xFEF60: 00 00 00 00 (=0x00000000 == 0) - пенальти для прицельного выстрела в корпус
0xFEF64: EС FF FF FF (=0xffffffeс == -20) - пенальти для прицельного выстрела в ногу
0xFEF68: EС FF FF FF (=0xffffffeс == -20) - пенальти для прицельного выстрела в ногу
0xFEF6С: С4 FF FF FF (=0xffffffс4 == -60) - пенальти для прицельного выстрела в глаза
0xFEF70: E2 FF FF FF (=0xffffffe2 == -30) - пенальти для прицельного выстрела в пах
0xFEF74: 00 00 00 00 (=0x00000000 == 0) - пенальти для *не*прицельных выстрелов (для всех)

При Melee/HTH атаке все пенальти уменьшаются вдвое. Правые/левые конечности различайте сами :-) Все смещения - для английского Фола v1.02d. Чтобы найти их в вашей версии, организуйте поиск по строке: D8 FF FF FF E2 FF FF FF E2 FF FF FF.

Так что если вы решите в вашем моде сильно затруднить жизнь "снайперам" - знаете что делать :-)

Кусочек из письма в Теху:
-------------------------------------------
Теперь - интереснее [смещение:10b717h]:
------------------------------------------------------------
DGROUP:00560914 _skill_data     dd 0D701A0h             ; skill_name - указатель на строку с именем скила
DGROUP:00560914                 dd 0D706A8h             ; skill_descr - указатель на строку с описанием скила
DGROUP:00560914                 dd 0D7B790h             ; skill_val_str - указатель на строку вида X+Y*(STAT_1 [+STAT_2])
DGROUP:00560914                 dd 28                   ; num - номер. Чего - непонятно
DGROUP:00560914                 dd 5                    ; start_val - X из формулы
DGROUP:00560914                 dd 4                    ; multipler - Y
DGROUP:00560914                 dd 5                    ; stat_1 - STAT_1
DGROUP:00560914                 dd 4294967295           ; stat_2 - STAT_2
DGROUP:00560914                 dd 1                    ; anonymous_7 - всегда 1
DGROUP:00560914                 dd 0                    ; anonymous_8 - 25/50/100 для небоевых, нескриптовых скилов
(Doctor, Outdoorsman и т.п)
DGROUP:00560914                 dd 0                    ; anonymous_9 - 1 для Traps, Steal, Lockpick
<...>
------------------------------------------------------------
Строки для первых трёх полей берутся из skill.txt

Что можно с этим сделать? Можно переделать скилы.

Грузим экзешник, переходим на 10b9f0, меняем 06 (luck) на 04 (int), рядышком multipler (05) на нужное значение.
Добавляем начальный бонус, если надо. Правим поля в skill.msg, меняя Gambling на, например, "гуманитарные науки". А
обычный Science - на "Естественные науки".

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


(Добавление от  15:51 - 24 Фев., 2005.)


Блокеры (таблица _proto_blocking_list):
Смещение: 0x10ab10, 9 4-байтовых значений.
Код:
 
[00] 0x43000002 (=0x20000043==33554499) - PID обычного scenery-блокера
[04] 0x80000002 (=33554560)
[08] 0x8d000002 (=33554560)
[0C] 0x58010002 (=33554776)
[10] 0x6d020003 (=50332269)
[14] 0x6E020003 (=50332270)
[18] 0x0c000005 (=83886092)
[1C] 0x05000005 (=83886085)
[20] 0x31000002 (=33554481)



Если вдруг возникнет необходимость сделать из своего объекта блокер...


Радиация. Тут всё вкуснее. Чуть-чуть о том, как всё работает:
-------------------------------------------
Radiation
And now for some stuff on radiation, which does play a small part in the Fallout world. Sources of radiation include Fruit, golden geckos, and aliens and centaurs in random encounters. Whenever you get a huge dose all at once, the message window says "You have received a large dose of radiation." As explained in the patch notes, the radiation sign pops up once you've reached 66 rem.

As far as I can tell radiation damage works like this: some time after you absorb a dose of radiation, you'll get one of the messages listed below, and you may temporarily lose stat points, Healing Rate and current Hit Points. The severity of the "attack" depends on your total rem count, but also on the amount of recent radiation that triggered the message. After a few days, your stats will return to normal. A little confusingly, this is signalled by another message identical to the first one. If you absorb more radiation in the meanwhile, your current penalty may be replaced by a more severe one.

Here's a list of the penalties you may suffer. The rem figures are rough approximations.

Код:
 
Rem   Message                  HR  CHP  ST  PE  EN  CH  IN  AG  Other
>0    "very nauseous"                                           No effect
>150  "slightly fatigued"               -1
>300  "vomiting does not stop" -3       -1                  -1
>450  "hair is falling out"    -5  -5   -2      -1          -2
>600  "skin is falling off"    -10 -15  -4  -3  -3  -3  -1  -5
>1000  "intense agony"         -10 -20  -6  -5  -5  -5  -3  -6
>2000                                                           Possible instant death



You can actually live with a much higher rem count (15,000 or even more) and still run around with no penalty whatsoever. In any normal game, radiation is not a significant factor; in fact, in order to reach even 300 rem you'd have to run several laps around the Gecko reactor room or purposely hang around the Toxic waste dump. As far as I can tell, there is never any permanent damage resulting from radiation.
-------------------------------------------

К сожалению, я не нашёл место, где хранятся пороги (150, 300 ...). Зато я нашёл две интересных таблички.

Таблица _rad_stat [0x10694c]:
8 dword-полей, в каждом - номер статса, затрагиваемого радиацией. По умолчанию это 0, 1, 2, 3, 4, 5, 23h(35), 0Eh(14). Открываем define.h, проматывает к макроопределениям и видим:
-------------------------------------
#define STAT_st              (0)
#define STAT_pe              (1)
#define STAT_en              (2)
#define STAT_ch              (3)
#define STAT_iq              (4)
#define STAT_ag              (5)
#define STAT_lu              (6)
<...>
#define STAT_heal_rate       (14)
<...>
#define STAT_current_hp      (35)
<...>
-------------------------------------

Всё совпадает :-)

Поэтому следующая табличка (_rad_bonus, 0x106978) никаких проблем не вызывет. Она состоит из шести блоков. Каждый блок из 8-ми dword-значений. Первый блок заполнен нулями (аналог первой строчки таблицы). Второй содержит 0xFFFFFFFF (-1) во втором поле. Ну и т.д.

Подправив значения, можно сделать влияние радиации менее/более сильным. Кроме того, рано или поздно я таки найду все эти пороговые значения и влияние радиации Пустоши на хрупкий организм Чузена будет полностью определятся волей модера :-) ИМХО, давно пора сделать радиацию в Фоле чем-то *реальным*...

Stay on-line.

(Отредактировал(а) Raven - 22:53 - 24 Фев., 2005)

(Отредактировал(а) Raven - 23:13 - 24 Фев., 2005)

Отправлено: 14:25 - 24 Фев., 2005
Raven
Пользователь

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

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

Артилеристам с хекс-эдитором на заметку:
0x753F0 [03] - радиус взрыва ракет
0x753E0 [02] - радиус взрыва гранат

Сдаётся мне, Throwing Weapons и Big Guns можно си-и-ильно "усилить"...

[EDIT]

Это всё в Мапере, есессно.

(Отредактировал(а) Raven - 15:01 - 2 Марта, 2005)

Отправлено: 8:00 - 2 Марта, 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

Очень интересные вещи обсуждаются на форуме NMA. Советую прочитать тему до конца. За линк спасибо Izuken'у.

Отправлено: 9:30 - 2 Марта, 2005
YikxX
Пользователь

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

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

Также вот еще полезная тема на NMA.

За линк спасибо АО.

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

Отправлено: 10:11 - 2 Марта, 2005
Alchemist
Модератор

Откуда: Арзамас-17
Регистрация: Дек. 2004

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

А вот ещё результаты ковыряния движка от зарубежных коллег: Fallout2Patcher_V2.

-----
/// What'ya be sain'? Vault 100+? We need nothing o'that!

Отправлено: 13:33 - 7 Марта, 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

информация от Рейвена:
Цитата:

Вышла новая версия патчера. Список изменений:

Version 3:
The game is still unplayable, but some things have been fixed while other have been destroyed

New:
* New style of patching the executable added - the patcher reads from the patchData.txt file
* Sections for future compatibility with other versions added (still only works with US 1.02d)
* Some interface additions/fixes for the patcher itself

Fixes:
* Most of the graphics work on the dialogs now, but not the main picture that shows who you are talking to unless it's a talking head
* You can now move the mouse to any corner/side of the screen to move the world map around istead of the default 640x480 edges

Bugs:
* Picture of who you are talking to is messed up in non-talking head dialogs
* Accessing custom settings on your party members crashes


ЗЫ Рейвен, плиз, обновляй темку не только на фол.ру :)


(Добавление от 9:49 - 12 Марта, 2005.)


Ссылку забыла :). Воть.

Отправлено: 9:47 - 12 Марта, 2005
Raven
Пользователь

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

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

>>Рейвен, плиз, обновляй темку не только на фол.ру

Угумсь. Просто здесь живого интереса никто не проявил, я и ...

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

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

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

А мы просто ждём :). Авось, кто добрый все последние достижения систематизирует и сведёт в документик со смещениями и описаниями... ;)

ЗЫ Шютю. На самом деле, Рейвен, раз уж ты этим занялся... ты ж, вроде, одновременно с "иностранцами" эту фишку раскопал?

Отправлено: 16:30 - 12 Марта, 2005
Alchemist
Модератор

Откуда: Арзамас-17
Регистрация: Дек. 2004

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

Обновился Fallout Loader Creator: ссылка на файл

-----
/// What'ya be sain'? Vault 100+? We need nothing o'that!

Отправлено: 15:20 - 13 Марта, 2005
 

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


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