|
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
|
|
|
|