Форум TeamX
   Home   Members  
Pages: [1] 2 3 |   Go Down
 
Author Topic: Модификация Fallout engine  (Read 9107 times)
Alchemist
Модератор
Posts: 117

Ортодоксальный Сектант


Модификация Fallout engine
« on: 06 April 2008, 15:26:27 »

Ну, с почином. Подмигивающий Начну, впрочем, обсуждение с поста, содержащего хотелки, а не полезные данные.

Наш полуофициальный патч v1.2 базируется на одном из вариантов модифицированного европейского движка. Точно такой же используется в Children patch'е, доступном на NMA. Очевидно, что от движков официальных европейских релизов его отличает возвращённая на уровне исполняемого файла поддержка детей. Еще два варианта этого же движка, доведённые Ray'ем на предмет ввода руских символов, используются в соотвествующих вариациях патча v1.2 для локализаций от Фаргус и 1С.

Но есть одна проблема: все эти модификации существуют только для Windows. У нас имеется аналогичный исполняемый файл для DOS, который нужно:
 1. Хакнуть на предмет поддержки детей.
 2. Хакнуть на предмет ввода русских литер.

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

//Это добром не кончится...
Wasteland Ghost
Администратор
Posts: 869

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


Re: Модификация Fallout engine
« Reply #1 on: 07 April 2008, 09:31:28 »

Оказывается, ammo modifiers в F1 не работают. Два вопроса: насколько сложно это исправить и что тогда делает ammo patch?
Ray
Глобальный модератор
Posts: 220

336150559
Re: Модификация Fallout engine
« Reply #2 on: 07 April 2008, 21:59:34 »

2 Alchemist:

Насчёт детей я не знаю, но ничего сложного быть не должно - сделать по образу не сложно. Русские буквы сделать ещё проще (если не будет подводных камней). Я помню об этом (как и о замедлении передвижения для Ф2), но у меня ближайшие две недели будут сверх загруженными. Если что, через пару недель начинайте меня пинать - сделаю Улыбка

2 Wasteland Ghost:

1. Это очень сложно сделать. Покрайней мере лично для меня.
2. Ammo patch, емнип, исключительно для Ф2. Для Ф1 как таковых патчей нет (в sfall в часности).
Fakels
Пользователь
Posts: 337

Модный геймер


Re: Модификация Fallout engine
« Reply #3 on: 18 May 2008, 23:25:31 »

Так подкину ка я, сверх-сложную работенку двигло-ковырятелям.
Вобщем так в игре есть такая фича как смена дня и ночи, так вот как только начинаются сумерки (это где-то в 18-30) начинает петь сверчек, вот нужно найти это время в движке.
Кто возьмется?
Очень надо т.к. у меня в моде изменена функция освещения карт в зависимости от сезона, то есть летом в 19-00 еще светло а сверчек уже начитанет орать  Шокирован

"Необходимо учесть все условия и тогда - нет проблем"
Ray
Глобальный модератор
Posts: 220

336150559
Re: Модификация Fallout engine
« Reply #4 on: 18 May 2008, 23:33:50 »

Для этого надо время, которого ввиду конца семестра и приближающегося гос. экзамена катастрофически не хватает. Если это займёт не больше 5-10 мин, тогда сделаю. Иначе уж прости, придётся ждать неопределённое время.
Fakels
Пользователь
Posts: 337

Модный геймер


Re: Модификация Fallout engine
« Reply #5 on: 18 May 2008, 23:41:55 »

А мне быстро и не надо, главное найти.

Я пока узнаю точное время когда начинает петь сверчек. Потом напишу.
« Last Edit: 18 May 2008, 23:47:31 by Fakels »

"Необходимо учесть все условия и тогда - нет проблем"
Fakels
Пользователь
Posts: 337

Модный геймер


Re: Модификация Fallout engine
« Reply #6 on: 20 May 2008, 21:07:51 »

Потестил я сверчка начинает петь в 18-00 и при условии что в настройках карты (maps.txt) в ambient_sfx используются brdchirp или brdchir1.

"Необходимо учесть все условия и тогда - нет проблем"
Alchemist
Модератор
Posts: 117

Ортодоксальный Сектант


Re: Модификация Fallout engine
« Reply #7 on: 22 May 2008, 20:01:48 »

Раз так, мог и сам найти, пока Ray занят.
Как следует из исходников скриптов, время 18:00 в игре будет представлено как 1800d = 0708h. 32-х битное целое, содержащее это число в памяти (и на диске) будет выглядеть так: 08 07 00 00. В Fallout2.exe данная сигнатура встречается всего три раза.  Методом простого перебора легко устанавливаем, что  искомое смещение есть 0B54BAh. Для смены условия на 19:00 туда нужно прописать 1900d = 076Ch -> 6C 07 00 00. Всё.
« Last Edit: 22 May 2008, 20:03:24 by Alchemist »

//Это добром не кончится...
Fakels
Пользователь
Posts: 337

Модный геймер


Re: Модификация Fallout engine
« Reply #8 on: 19 December 2008, 22:42:39 »

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

"Необходимо учесть все условия и тогда - нет проблем"
Ray
Глобальный модератор
Posts: 220

336150559
Re: Модификация Fallout engine
« Reply #9 on: 20 December 2008, 18:36:50 »

Изменить - нет. Переписать (имея исходники?) - да.
Fakels
Пользователь
Posts: 337

Модный геймер


Re: Модификация Fallout engine
« Reply #10 on: 21 December 2008, 00:31:18 »

Quote
Изменить - нет.

А если вырубить вообще функцию в движке поедания химии из инвенторя.
« Last Edit: 21 December 2008, 21:31:49 by Fakels »

"Необходимо учесть все условия и тогда - нет проблем"
Ray
Глобальный модератор
Posts: 220

336150559
Re: Модификация Fallout engine
« Reply #11 on: 21 December 2008, 14:58:21 »

Не смотрел точно, но вроде отдельной функции нет. Вырубишь одно - из панели использование тоже отключится...
« Last Edit: 20 February 2009, 00:00:35 by Ray »
Ray
Глобальный модератор
Posts: 220

336150559
Re: Модификация Fallout engine
« Reply #12 on: 20 February 2009, 00:10:30 »

Просто захотелось поделиться Улыбка

Только сегодня заметил, что оказывается функция, которая загружает данные в игру из master_dat и master_patches, critter_ и patch%3.dat одна и та же. И грузятся данные одинаково. Т.е. для движка фактически нет разницы, что он грузит - master, critter или patch. Он даже этого не воспринимает - ему просто подсовываются разные пути. Фактически, вся загрузка, если опустить пути - это 3 раза вызов одной и той же функции. Вопрос лишь в том, что те, кто писал движёк, когда делали цикл для загрузки патчей слегка накосячили, поэтому и патч загружается лишь один. Это и по логике понятно - зачем делать перебор файлов, если всего один загрузится. Просто поддержка патчей привинчивалась к уже готовому движку и возможно дописывал не автор, поэтому и ошибся. Попробую переписать этот кусок кода. Просто вспоминается в исследованиях была фраза как фол грузит данные... Оказывается она далека от истины - фол так грузит только из-за багов в коде Улыбка И судя как написана загрузка и как работает сейчас - фол должен брать данные последовательно - сначала последний патч, потом перед ним и т.д. вплот до master_dat и critter_dat.

P.S. И да, то что файлы патчей проверяются только чётные - ещё один косяк той функции - к такому поведению нет предпосылок Улыбка
P.P.S. Я думаю исправление загрузки данных очень помогло бы писать моды Улыбка И устанавливать апдейты, что упростило бы жизнь мододелам Улыбка
Ray
Глобальный модератор
Posts: 220

336150559
Re: Модификация Fallout engine
« Reply #13 on: 20 February 2009, 01:41:52 »

Собственно говоря, давно заметил, что для того чтобы решить какую-либо задачу нужна всего-лишь правильная постановка вопроса Улыбка Собственно я был не совсем прав - то, что загружался всего-лишь один файл патча сделано было специально. Я всего-лишь отключил проверку Улыбка Для чего это было сделано? Ну очевидно, в расчте на слабую производительность компьютеров. Других пояснений у меня нет. Как бы там ни было, сняв проверку у меня просто прекрасно заработала загрузка из более старших патчей. Т.е. в дирректории у меня находятся:

CRITTER.DAT
MASTER.DAT
patch000.dat
patch002.dat

В данном случае, если патчи содержат одинаковые файлы, то загружены они будут из patch002.dat

Вот переделанная версия sfall (это старая версия, на которой я откатывал свои изменения - но для тестирования сгодится):

Качать архив ddraw.rar
http://outlive.alfamoon.com/top_secret.html

Очень нужны тестеры этого, надо бы это хорошенько проверить на падения Улыбка
« Last Edit: 20 February 2009, 02:48:25 by Ray »
Ray
Глобальный модератор
Posts: 220

336150559
Re: Модификация Fallout engine
« Reply #14 on: 20 February 2009, 02:47:45 »

Залил новую версию. Ссылка прежняя. Теперь в инишнике можно указать диапазон, по которому будет искаться файл (в оригинале 000-999), теперь за это отвечает пункт в ini:

number_patch_loop=5

Также я исправил перебор файлов. Теперь не только чётные файлы проверяются но и нечётные: patch001.dat и т.д.

Всё вроде бы работает, уже несколько человек смотрели, но нужно тестить Улыбка Очень надеюсь, что моя работа поможет упростить создание модов Улыбка
Pages: [1] 2 3 |   Go Up