Crafty
5 July 2015 | 01:25
QUOTE |
но почему не 1.0 тогда? Или я версию 1.0 пропустил? |
Ну была вечная версия , назовём её 1.0. Версией 1.1 она стала после добавления фиксов из твоего
поста.
QUOTE |
На НМА у меня в подписи твои релизы с переведенным ddraw.ini. Посмотри. Ченжлог тоже есть, но английский с русским вперемешку. Если ты теперь на английском будешь релизить, я переведу остальное до сегодняшнего дня. |
Спасибо ;)
Да, ini с твоей помощью на английском будет.
QUOTE |
PS: Насчет наболевшего [A]ttackCombatFix, может все-таки сделать, как предлогал товарищ Sduibek и отключить горячию клавишу А, и оставить только начало боя с клика на оружие?;) |
Это не решит проблему c "infinite free running". Движок не телепат, он не знает для чего реальный игрок нажал клавишу "A" или кликнул на оружие действительно для сражения (нажатие "A"/клик на оружие не вводит игрока в "настоящий" бой и именно поэтому можно нажать Enter и завершить бой. Настоящий бой начинается после агрессивного действия со стороны игрока у жертвы есть переменная who_hit_me и в неё заносится кто обидчик) или эксплоита с передвижением (потому что в пошаговом режиме скрипты потенциальных противников не обрабатываются).
QUOTE |
А то я тоже попробовал, и чудовато получается без возможности рвануть в бой крейзи мазафакеру на психо с голыми кулаками?) (Папа, хочу, хочу, хочу...(долго и нудно достает отца)..) |
Подойти/подкрасться на расстояние удара и рвануть в бой, не? :-p
Непонятно почему такой сыр-бор из-за FakeCombatFix, отключить его (= 0) и делов-то.
Drobovik
5 July 2015 | 01:47
QUOTE |
А то я тоже попробовал, и чудовато получается без возможности рвануть в бой крейзи мазафакеру на психо с голыми кулаками?) (Папа, хочу, хочу, хочу...(долго и нудно достает отца)..) Подойти/подкрасться на расстояние удара и рвануть в бой, не? :-p Непонятно почему такой сыр-бор из-за FakeCombatFix, отключить его (= 0) и делов-то. |
Понятно. Ладно, тема закрыта.
Кстати, ты github собираешься юзать или пока все через fallout.ru и дропбох?
Crafty
5 July 2015 | 02:23
QUOTE |
Кстати, ты github собираешься юзать |
Позже.
Drobovik
5 July 2015 | 20:35
Еще от немецкого товарища:
QUOTE |
I have another great suggestion my friend: Can you ask if he can expand the pip boy alarm for 1 day and perhaps 2 days and 1 week? |
Crafty
6 July 2015 | 09:21
QUOTE |
I have another great suggestion my friend: Can you ask if he can expand the pip boy alarm for 1 day and perhaps 2 days and 1 week? |
Весьма непросто, разве только полностью будильник в пипбое переписать. И всё равно останется проблема отображения опций, потому что нет строчек в pipboy.msg.
Crafty можешь исправить в Fallout 1:
- кнопки стали черными и неактивными
скриншот
http://i70.fastpic.ru/big/2015/0706/63/7cf...f4e7e920563.png
Drobovik
6 July 2015 | 18:49
После помены ddraw.ini на полностью английский пропала опция
;Set to 1 to fix the bug that caused bonus HtH damage to not be applied correctly.
BonusHtHDamageFix=1
EDIT: не пропала. Не туда смотрел
Crafty
7 July 2015 | 04:34
Foxx
QUOTE |
- кнопки стали черными и неактивными |
Добавил фикс из F2-версии BlackSkilldexFix (по умолчанию включён). Если проблема не исчезнет, то предоставь пожалуйста сейв игры.
QUOTE |
- кнопки стали черными и неактивными Добавил фикс из F2-версии BlackSkilldexFix (по умолчанию включён). Если проблема не исчезнет, то предоставь пожалуйста сейв игры. |
Спасибо проблема исчезла.
Fakeman
8 July 2015 | 00:50
Crafty
Если есть возможность можешь немного доработать Elevator.ini чтобы в нем была возможность указать какую картинку(frm панель лифта) использовать. Frm'ки которые прописаны в INTRFACE.LST файле, что-бы не приходилось править сам экзешник f2.
Там есть параметр Image, но это не то что нужно.
Crafty
8 July 2015 | 01:15
QUOTE |
Если есть возможность можешь немного доработать Elevator.ini чтобы в нем была возможность указать какую картинку(frm панель лифта) использовать. Frm'ки которые прописаны в INTRFACE.LST файле, что-бы не приходилось править сам экзешник f2. Там есть параметр Image, но это не то что нужно. |
Посмотрю ;)
Отправлено: 8 июл 15 01:30
Для F1-версии добавил SaveInCombatFix и SuperStimExploitFix.
Drobovik
8 July 2015 | 08:03
Crafty
Когда будешь поставлять ченжлог в архиве?;) Текстовый файлик с тем, что поменял. Плииз. А то все сложнее следить, где и че меняется.
Crafty
8 July 2015 | 15:13
Fakeman
QUOTE |
Если есть возможность можешь немного доработать Elevator.ini чтобы в нем была возможность указать какую картинку(frm панель лифта) использовать. Frm'ки которые прописаны в INTRFACE.LST файле, что-бы не приходилось править сам экзешник f2. Там есть параметр Image, но это не то что нужно. |
Так-то я сделал секция Frms в Elevators.ini с переменными Image#. Но кажется мне что вполне сработала бы замена на свои frm с указанием в Image правильного номера лифта (frm которого будут использованы).
Drobovik
QUOTE |
Когда будешь поставлять ченжлог в архиве?;) Текстовый файлик с тем, что поменял. Плииз. А то все сложнее следить, где и че меняется. |
Так взять твою компиляцию (readme_rus.txt) или пройтись по теме и повыдёргивать изменения с датами?
Fakeman
8 July 2015 | 19:01
QUOTE |
Так-то я сделал секция Frms в Elevators.ini с переменными Image#. |
СПС. Попробую. Потом напишу удачно или нет)
QUOTE |
Но кажется мне что вполне сработала бы замена на свои frm с указанием в Image правильного номера лифта (frm которого будут использованы). |
Нет! Я добавляю новые FRM в lst, а оригинальные frm тоже используются. Лифтов то по дефолту всего 24, а картинок то меньше.
Crafty
8 July 2015 | 19:09
QUOTE |
Нет! Я добавляю новые FRM в lst, а оригинальные frm тоже используются. Лифтов то по дефолту всего 24, а картинок то меньше. |
А, тогда мне надо допилить чтобы больше было, сейчас 24, сделаю 50 как и количество лифтов.
Fakeman
8 July 2015 | 19:55
В общем все вроде работает.
QUOTE |
сделаю 50 как и количество лифтов. |
Кстати я так и не вдуплил как добавлять больше чем 24 лифта, ведь скриптовая команда Elevator(x) не принимает параметр типа больше чем 23.
CODE |
Внутри обработчика запроса будет произведена дополнительная проверка типа лифта и вызов его панели управления произойдет только в случае если тип лежит в диапазоне от 0 до 23. |
И еще не большое требование к ddraw.ini
Делай небольшой разграничение твоих добавленных настроек от оригинальных, раньше ты писал на русском комменты, а теперь уже на забугорском, и понять где ты добавил свои настройки сложно, ибо я переношу новые настройки в свой ini. В общем добавь сепаратор чтоб не путаться :)
Кстати вот эти настройки ты добавил, или они по дефолту в сфале были?
QuestsScrollButtonsX=220
QuestsScrollButtonsY=229
Drobovik
8 July 2015 | 20:12
QUOTE |
Drobovik QUOTE Когда будешь поставлять ченжлог в архиве?;) Текстовый файлик с тем, что поменял. Плииз. А то все сложнее следить, где и че меняется. Так взять твою компиляцию (readme_rus.txt) или пройтись по теме и повыдёргивать изменения с датами? |
Можешь от readme_rus.txt исходить
QUOTE |
И еще не большое требование к ddraw.ini Делай небольшой разграничение твоих добавленных настроек от оригинальных, раньше ты писал на русском комменты, а теперь уже на забугорском, и понять где ты добавил свои настройки сложно, ибо я переношу новые настройки в свой ini. В общем добавь сепаратор чтоб не путаться :) |
Можно Notepad++'ом или Winmerge'ом сравнить с оригинальным 3.6 ddraw.ini и добавить строки;)
Fakeman
8 July 2015 | 20:21
Тут такой вопрос назрел, а можно ли sfall подружить с редактором bis mapper2 ? 8)
Crafty
8 July 2015 | 22:20
Fakeman
QUOTE |
В общем все вроде работает. |
Если работает, то не буду добавлять уж больно там хлопотно.
Но даже сейчас можно делать хитрые комбинации:
CODE |
[Frms] Image22=143|150 Image23=144|145 // Свой frm
[23] Image=22 // Переназначить движковый лифт #24 на использование frm лифта #23, они одинаковые
[24] Image=23 // Использовать для добавленного лифта #25 свой frm |
QUOTE |
Кстати я так и не вдуплил как добавлять больше чем 24 лифта, ведь скриптовая команда Elevator(x) не принимает параметр типа больше чем 23. |
Полагаю что ограничение в 23 для Elevator(x) снимается (= 50) после подключения Elevators.ini.
QUOTE |
Кстати вот эти настройки ты добавил, или они по дефолту в сфале были? |
Добавил по твоей просьбе :-p
В ini новые команды, если они есть, добавляются в конец своей секции.
QUOTE |
Тут такой вопрос назрел, а можно ли sfall подружить с редактором bis mapper2 ? 8) |
Нельзя, разве только делать версию sfall для маппера.
Drobovik
QUOTE |
Можешь от readme_rus.txt исходить |
Ok, как прокнет ;)
Сделал, кстати, свои гиты. А то зашёл через другой комп незареганным и не могу попасть в свои форки, wtf.
Fakeman
8 July 2015 | 22:30
QUOTE |
В ini новые команды, если они есть, добавляются в конец своей секции. |
т.е. если новые добавить не в свою секцию sfall их не увидит?
QUOTE |
Можно Notepad++'ом или Winmerge'ом сравнить с оригинальным |
В принципе да, это боле надежно)
Crafty
8 July 2015 | 22:45
QUOTE |
т.е. если новые добавить не в свою секцию sfall их не увидит? |
Если, к примеру, DontTurnOffSneakIfYouRun перенести из секции [Misc] в секцию [Input], то да не увидит.
Fakeman
8 July 2015 | 23:11
QUOTE |
Добавил по твоей просьбе :-p |
Ну раз такое дело, может можно еще подвигать полоску отображающую количество патронов на панели интерфейса это мой маленький каприз. :))
CODE |
;Allows the use of tiles over 80*36 in size. sfall will just split and resave them at startup ;Set to 1 to check all tiles on started (slow) ;set to 2 if you provide a XLtiles.lst file in art/tiles/ containing a list of the tile ids that need checking AllowLargeTiles=0 |
Может кто сможет мне внятно объяснить, что делает, и для чего эта ерунда в sfall'e?
Drobovik
10 July 2015 | 00:54
Crafty
Я так понимаю последние изменения 9-го числа было просто оптимизацией кода?
Crafty
10 July 2015 | 13:06
Fakeman
QUOTE |
Ну раз такое дело, может можно еще подвигать полоску отображающую количество патронов на панели интерфейса это мой маленький каприз. :)) |
Не-не, в создании тех кнопок я принимал участие ;) Тут же неизвестно что, и может возникнуть конфликт с High Resolution Patch там можно с помощью ALTERNATE_AMMO_METRE изменить вид полоски. Может чуть позже, особенно если напомнишь :-p
Drobovik
QUOTE |
Я так понимаю последние изменения 9-го числа было просто оптимизацией кода? |
Вроде того, в основном для лучшей "читаемости" кода. Но сейчас есть небольшие изменения: из ddraw.ini удалены переменные BlackSkilldexFix и DodgyDoorsFix, а в F2-версии ещё JetAntidoteFix и SpecialUnarmedAttacksFix это чистые багфиксы, их постоянное включение не вызывает побочных эффектов, а потому существование переменных в ini-файле бессмысленно. Теперь они перманентно включены. Надо будет ещё подобные фиксы проверить...
И в архивы добавились русские ченжлоги, у каждой версии свой ;)
Fakeman
10 July 2015 | 13:40
QUOTE |
и может возникнуть конфликт с High Resolution Patch |
Тогды не надо.
Ибо если сдвинуть при помощи sfall'а, а кто будет сдвигать в HRP?... исходников то нет.
Drobovik
10 July 2015 | 20:48
Crafty
За ченжлог спс. Только надо там .txt расширение добавить, чтобы одним кликом открывать.
Мне кажется лучше эти опции выключить по-умолчанию в ini.
CODE |
;Set to 1 to enable the new arrays behavior ;Set to 0 for backward compatibility with pre-3.4 scripts arraysBehavior=1
;Set a number of milliseconds to idle each input loop ;Set to -1 to disable ;Set to 0 to idle only if other processes are waiting for processor time ;Set to 1 (or some higher number if needed) to prevent 100% cpu use ProcessorIdle=1 |
Дабы избежать потенциальных проблем для юзеров, незнакомых с sfall'ом
Первая, потому что многие моды используют старые эреи.
Вторая, потому что могут возникнуть проблемы с Хайрез патчем. Там такая же опция есть.
Crafty
12 July 2015 | 07:49
QUOTE |
Только надо там .txt расширение добавить, чтобы одним кликом открывать. |
Блин, я как раз .txt в .ru поменял предполагая что может повиться и .en (не моими усилиями) :-p
QUOTE |
Мне кажется лучше эти опции выключить по-умолчанию в ini. |
Разумно, хотя у второй опции проблем с хайрез патчем быть не должно даже если и там и там они включены.
Отправлено: 12 июл 15 08:18
Исправил невозможность продажи счётчика Гейгера и стелсбоя если ими хоть раз воспользовались.
По задумке авторов если определённые вещи хоть раз использовали, то продать их потом нельзя. Что вполне логично для, к примеру, фонарика, но для счётчика/стелсбоя спорно (и просто раздражает). При этом в F2-движке есть (а в F1 нет) кусочек кода, который должен позволить продавать использованный счётчик, но он настолько криво написан, что никогда не сработает.
Может нужна переменная для этого дела?
Для F1-версии добавил возможность подключения внешнего файла, с помощью которого можно получить доступ к таблице квестов в движке и таким образом сделать видимыми в пипбое свои квесты. Только их ещё в pipboy.msg нужно будет добавить. Но думаю это новшество может заинтересовать только Sduibek'а :)
Phobos
12 July 2015 | 11:57
@Crafty,
Я так понимаю это твой репозиторий
https://github.com/Ytfarc/sfall2 ?
А почему не сделать fork нашего репозитория? Так ведь проще отслеживать изменения.
В идеале можно было бы сделать так в твоем форке будет ветка master и еще одна ветка с последней версией твоего sfall, со всеми плюшками. В свой master мог бы периодически сливать наш master и какие-то свои изменения, которые можно в merge-pull request отправлять.
То есть скажем берешь какуюто фичу из своей ветки:
1) Переключаешься на master
2) Создаешь ветку some_great_feature, мерджишь в неё только изменения относящиейся к этой фиче
3) Делаешь merge-pull request из своей some_great_feature в наш master.
Ну если есть желание конечно :) Но хотябы просто форкнуть можно (подогнав обе репы под общую структуру папок, например).
alexandert
12 July 2015 | 12:39
Отличный мод-фикс, но для меня совершенно неиграбельный ибо в секции графики отсутствует фильтрация текстур. Вот это:
;Set to 1 for a linear texture filter, or 0 to disable
TextureFilter=1
Без него игра сплошные кваждратеги (((
ЗЫ. Я пользуюсь ddraw из ГлобалМода
Fakeman
12 July 2015 | 13:45
QUOTE |
Исправил невозможность продажи счётчика Гейгера и стелсбоя если ими хоть раз воспользовались. По задумке авторов если определённые вещи хоть раз использовали, то продать их потом нельзя. |
А цена тоже уменьшается?
По задумке наверное авторы не хотели заморачиваться со стоимостью б/у предметов при продаже, вот и выключили возможность их продавать. мое предположение.
QUOTE |
Отличный мод-фикс, но для меня совершенно неиграбельный ибо в секции графики отсутствует фильтрация текстур. Вот это: TextureFilter=1 Без него игра сплошные квадратеги |
хз какие у вас там квадратики никогда таких их не наблюдал при разрешении более 800х600. Используйте HRPatch для смены разрешения.
alexandert
12 July 2015 | 14:27
Fakeman
12 July 2015 | 14:49
QUOTE |
Если Вы не наблюдаете разницы в "квадратиках" то одному из нас нужно посетить окулиста. |
Фуу, быдловатая школота...
Ты бы для начало нормально настроил Sfall & HRP.
Не ну если тебе нравится играть с замыленным изображением этих квадратиков, то это твое право. У каждого свои вкусы. :)
alexandert
12 July 2015 | 15:00
QUOTE |
Фуу, быдловатая школота... Ты бы для начало нормально настроил Sfall & HRP. |
Во первых мне уже тридцатник. Во вторых что можно настраивать в Sfall & HRP? В первом можно только режим 8бит и ДХ9 выбирать, ну и размер окна, а второй тупо "растягивает" картинку. Ну а "замылевают" изображение ВСЕ современные игры.
Я просто высказал пожелание. Сраться со всякой
QUOTE |
быдловатой школотой |
не хочу. Если есть желание садить глаза убогой графикой пожалуйста, я вам не доктор.
Fakeman
12 July 2015 | 16:47
QUOTE |
что можно настраивать в Sfall & HRP? |
Судя по твоим скринам нужно в sfall'e вырубить растягивание картинки, и использовать только HRP.
У меня при разрешении в игре 1024x768 и разрешении монитора как у тебя 1280x1024, картинка игры выглядит намного лучше твоего скрина с HRP, да и не замыленно так сильно как при sfall'e c TextureFilter.
Crafty
В двиге F2 есть один незначительный баг.
Может замечал такое если зайти в локацию и побегать по картам локации, то после выхода на глобал.карту маркер игрока на мировой карте немного сдвигается по диагонали в низ, и иногда так получается что сдвигается аж за пределы круга города.
В общем это на твое усмотрение фиксить это или нет.
Drobovik
13 July 2015 | 08:49
Crafty
QUOTE |
Только надо там .txt расширение добавить, чтобы одним кликом открывать. Блин, я как раз .txt в .ru поменял предполагая что может повиться и .en (не моими усилиями) :-p |
Ну, я имел в виду changelog.ru.txt), а потом будет changelog.en.txt
QUOTE |
Исправил невозможность продажи счётчика Гейгера и стелсбоя если ими хоть раз воспользовались. По задумке авторов если определённые вещи хоть раз использовали, то продать их потом нельзя. Что вполне логично для, к примеру, фонарика, но для счётчика/стелсбоя спорно (и просто раздражает). При этом в F2-движке есть (а в F1 нет) кусочек кода, который должен позволить продавать использованный счётчик, но он настолько криво написан, что никогда не сработает. Может нужна переменная для этого дела? |
Я думаю нужна. Тут явно пахнет несогласием некоторых игроков по этому пункту.
Crafty
15 July 2015 | 08:04
Phobos
QUOTE |
А почему не сделать fork нашего репозитория? |
Так я сделал, но опыта работы с гитхабом же нет и выходила какая-то хрень. Помучался (добило что не смог просмотреть изменения в своём форке с другого компа незалогинившись) и удалил нафик. Потом всё же пришлось сделать как отдельные репозитории, и это работает.
QUOTE |
Так ведь проще отслеживать изменения. |
Да я уже такого намудрил что и не отследить поменял конструкции вида "ds:[0x6610B8]" на "ds:[_obj_dude]" и подобные. И переименовал процедуры в исходниках на движковые названия из IDB-базы.
Не могу ответить (да и прочитать, хорошо хоть мыло пришло) на гитхабе тестировал визуально пока менял названия, потом ещё раз уже с помощью "git log -p" (отличная штука).
Отправлено: 15 июл 15 08:16
alexandert
QUOTE |
Без него игра сплошные кваждратеги ((( ЗЫ. Я пользуюсь ddraw из ГлобалМода |
В ГлобалМоде очень старая версия (2.1a?). С хайрез патчем же лучше (хотя бы ради увеличенного размера карты), а без него это 640x480 растянутые до границ экрана и фильтр поэтому нужен размазывать квадратики.
Отправлено: 15 июл 15 08:26
Fakeman
QUOTE |
А цена тоже уменьшается? |
Нет.
QUOTE |
В двиге F2 есть один незначительный баг. |
Так и задумано, и нормально что за пределы круга сдвигается фактически границы города на карте мира ограничены не кругом, а квадратом, в котором этот круг находится.
Отправлено: 15 июл 15 08:29
Drobovik
QUOTE |
Я думаю нужна. Тут явно пахнет несогласием некоторых игроков по этому пункту. |
Будет CanSellUsedGeiger.
Fakeman
15 July 2015 | 14:11
QUOTE |
Так и задумано, и нормально что за пределы круга сдвигается |
Странная какая-то задумка, интересно что курили разработчики)))
Он же сдвигается так долеко что после выхода уже в локацию не попадаешь и приходится заходить в круг, вот о чем я.
Может по задумке маркер должен был сдвигаться в центр этого квадрата, но в коде ошибка?.
Phobos
15 July 2015 | 16:23
QUOTE |
Мне кажется лучше эти опции выключить по-умолчанию в ini. arraysBehavior=1 |
Не согласен. Массивы в старом стиле потенциально опасны и замусоривают сохраненки. И какие многие моды их используют? Из всех тех что я видел, почти никто не использует, за исключением временных массивов (temp_array), которые данная настройка не касается.
QUOTE |
Так я сделал, но опыта работы с гитхабом же нет и выходила какая-то хрень. Помучался (добило что не смог просмотреть изменения в своём форке с другого компа незалогинившись) и удалил нафик. Потом всё же пришлось сделать как отдельные репозитории, и это работает. |
Ну так для этого есть сообщество, мог бы спросить. Я форки юзал, проблем вроде не было, такой же репозиторий, отличие в том что он ссылается на корневой. И помоему только с форков можно делать merge-pull request, но я не уверен.
CODE |
Да я уже такого намудрил что и не отследить поменял конструкции вида "ds:[0x6610B8]" на "ds:[_obj_dude]" и подобные. И переименовал процедуры в исходниках на движковые названия из IDB-базы.
|
Это ты правильно сделал, я хочу это изменение перенести в нашу версию. Но вот вопрос, каков твой дальнейший план по рефакторингу? :)
PS: филосовский вопрос, а почему бы не использовать больше С++ для работы с движком фола в sfall чем ASM? (я имею ввиду юзать структуры, полученные реверсингом, работать с нормальными массивами, полями структур и т.п. вместо смещений). И вижу что были удалены некоторые Wrapper-ы движковых функций...
Crafty
16 July 2015 | 09:36
Fakeman
QUOTE |
Он же сдвигается так долеко что после выхода уже в локацию не попадаешь и приходится заходить в круг, вот о чем я. |
Насколько далеко? Вот
здесь, если кликнуть по треугольнику, я попадаю в Дыру.
PhobosQUOTE |
Но вот вопрос, каков твой дальнейший план по рефакторингу? |
Что-то поменять, что-то поправить, но конкретных планов нет :-p
QUOTE |
PS: филосовский вопрос, а почему бы не использовать больше С++ для работы с движком фола в sfall чем ASM? |
Так я же понимаю C[++] на простейшем уровне, а ASM уже достаточно вспомнил. Мне так проще ;)
Fakeman
16 July 2015 | 12:49
Поэксперементируй со small & medium радиусами кружков, с large проблем вроде как не было.
Ethereal
17 July 2015 | 21:59
Может кто нибудь выложить Books.ini (можно урезанный для примера) ввиде поста? Скачивать не получается с дропбокса, да и виснет он у меня почему то...
Кроме того в mechanics_overhaul_mod долго изучал новоизменённые перки, но как перенастроить их так и не понял. С "trait" получилось, а именно с "perks" полный облом. Можно ли с помощью Сфала редактировать перки так, что бы это было можно использовать независимо от установленных модов?
Fakeman
17 July 2015 | 23:07
Держи
Books.iniCrafty, может сменишь дропбох на что-то другое, у меня от тоже подвисает да и забадал он уже со своей навязчивой регистрацией!
Ethereal
18 July 2015 | 08:01
Спасибо Fakeman за помощь.)
Что же на счет перков... Меня и родной баланс в большенстве случаев устраивал. Единственное, что поднял бы немного + к навыкам, но даже этого зделать пока не получается.
Phobos
18 July 2015 | 12:49
Изучаю фикс для Too Many items bug. Кто-нибудь знает способ стабильного повторения бага? Хотя бы так чтобы утилита tmib.exe стабильно выдавала что файл забагован.
ЗЫ: вроде разобрался.
@Crafty,
QUOTE |
Так я же понимаю C[++] на простейшем уровне, а ASM уже достаточно вспомнил. Мне так проще ;) |
Не верю что можно понимать код на ASM но не понимать Си, когда этот самый машинный код получен путем компиляции Си кода.
Ты проделал колоссальную работу по описанию всех этих структур движка. Как было бы удобно, еслиб эти структуры использовались в sfall коде... Код станет очевиден для чтения, да и сама структура движка будет понятнее простым смертным, кто не может читать Assembler сходу как ты.
Я считаю больших кусков кода на ASM в принципе не должно быть в sfall, в идеале его нужно весь заменить на С++ с использованием структур/переменных/процедур движка.
QUOTE |
CONFIRMED NPCs hooked on jet becomes utterly useless stuck with 1 AP. Jet antidote doesn't work on them. Engine issue. --FIXED
|
Не подскажешь, где в коде эти фиксы?
Нашел вот это, но сходу не понять, что именно они фиксят:
QUOTE |
// Исправление проверки наркотической зависимости MakeCall(0x47A644, &item_d_check_addict_hook, true);
// Исправления снятия зависимости к винту у нпс MakeCall(0x479FC5, &item_d_take_drug_hook, true); MakeCall(0x47A3A4, &item_wd_process_hook, false); |
По поводу
QUOTE |
// Мерзкий баг! Если в инвентаре сопартийца есть броня такая же как на нём одета, то при // получении уровня он теряет КБ равный значению получаемому от этой брони HookCall(0x495F3B, &partyMemberCopyLevelInfo_hook); |
Твой фикс не лечит баг. Тут на самом деле не в уровне дело. Повторяется легче:
1) даем любому напарнику 2 одинаковых брони
2) просим надеть один из комплектов
3) просим снять броню через диалог, но внезапно(!) броня не снимается
4) просим второй раз, со второго раза снимется, но статы снизятся 2 раза. Не только класс брони, но и все остальные (DT/DR и проч.)
Проверял через f2se редактор сейвов.
QUOTE |
! Исправлен баг из-за которого невозможно использовать 9 строку в диалоговом варианте выбора ответов. |
Почему это расценено как баг? Просто окно диалогов вмещало лишь 8 строк с ответами. Больше похоже на фичу.
QUOTE |
// Ширина текста 64, а не 80 SafeWrite8(0x475541, 64); SafeWrite8(0x475789, 64); |
Что делает этот "фикс" и почему он в Bugs.cpp ?
Crafty
19 July 2015 | 15:47
Ethereal
QUOTE |
Может кто нибудь выложить Books.ini (можно урезанный для примера) ввиде поста? Скачивать не получается с дропбокса, да и виснет он у меня почему то... |
У
Drobovik'а же в
Fallout Database можно
скачать. Добавлю ссылку в первый пост...
Отправлено: 19 июл 15 15:59 FakemanQUOTE |
Crafty, может сменишь дропбох на что-то другое, у меня от тоже подвисает да и забадал он уже со своей навязчивой регистрацией! |
QUOTE |
I need something: 1. Free. 2. That will work for years with zero efforts from me. 3. Has high bandwidth limit. |
Отправлено: 19 июл 15 16:57
Phobos
QUOTE |
Не подскажешь, где в коде эти фиксы? |
item_d_check_addict_hook меняет оригинальную процедуру, которая всегда использует данные игрока, на использование данных настоящих персонажей при проверки зависимостей.
item_d_take_drug_hook снимает зависимость после использования противоядия, ну а item_wd_process_hook делает зависимость к винту вечной (до принятия противоядия).
QUOTE |
Твой фикс не лечит баг. Тут на самом деле не в уровне дело. Повторяется легче: |
Это описание бага "множественного снятия брони сопартийца через диалог, если у него в сумке есть такая же броня". Фикс для него в correctFidForRemovedItem_hook из Inventory.cpp.
QUOTE |
Почему это расценено как баг? Просто окно диалогов вмещало лишь 8 строк с ответами. Больше похоже на фичу. |
Потому что движок при расчёте поместится ли строка в окне диалога считает сразу с отступом между строками, но для самой последней строки отступ не нужен (ведь больше строк не будет). Пусть $ отступ:
CODE |
╔══════╗ ║1. ║ ║$ ║ ║2. ║ ║$ ║ ║... ║ ║8. ║ ║$ ║ ║9. ║ ╚══════╝ $ |
QUOTE |
Что делает этот "фикс" и почему он в Bugs.cpp ? |
Перерисовываемый участок обмена равен 64 пикселя, для выводимой строки с весом вместо 64 используют 80, что в определённых ситуациях (измени в INVENTRY.MSG строку #30 на что-то вроде "Вес вещей") может привести к мусору на участке обмена.
Отправлено: 19 июл 15 19:20
Исправил вывод в окне монитора количества полученных очков опыта с учётом бонуса от взятого перка 'Прилежный ученик' после убийства врагов, кражи или случайных встреч на карте.
Исправил баг превращения сопартийцев в тыкву контейнер, ну и добавил переменную CanSellUsedGeiger для контроля возможности продажи "Счетчика Гейгера"/"Невидимки" после использования.
Для F2-версии из ddraw.ini удалил переменную WieldObjCritterFix, причина аналогична удалению BlackSkilldexFix и ко.
Phobos
19 July 2015 | 20:10
QUOTE |
item_d_check_addict_hook меняет оригинальную процедуру, которая всегда использует данные игрока, на использование данных настоящих персонажей при проверки зависимостей. |
В оригинальной функции я вижу была работа с глобальными переменными. Если не ошибаюсь, движок проверяет есть ли зависимость по значению глобальных переменных игры.
Правильно ли я понимаю, что для отслеживания зависимостей в движке предусмотрена некая структура данных для каждого персонажа? Ты сделал так что она теперь используется всегда, тогда как раньше в некоторых местах проверялись только глобальные переменные? Но они по прежнему используются?
И кстати, в чем отличие от JetAntidoteFix?
QUOTE |
item_wd_process_hook делает зависимость к винту вечной (до принятия противоядия). |
А зачем? В оригинале она не вечная?
QUOTE |
Это описание бага "множественного снятия брони сопартийца через диалог, если у него в сумке есть такая же броня". Фикс для него в correctFidForRemovedItem_hook из Inventory.cpp. |
Может стоит перенести в Bugs.cpp?
Зачем был выпилен весь предыдущий код из PartyControl.cpp? До этого хотя бы было очевидно как все это работает и человек со стороны мог что-то поменять. Теперь остались только стены ASM кода с комментариями на русском... Понятно что могло быть хуже (запутанный ASM код, 0 комментариев), но зачем удалять то что работает?
К слову о коде, в чем отличие между
QUOTE |
xor eax, eax inc eax
|
И простым
?
Drobovik
20 July 2015 | 03:50
На половину закончил перевод ченжлога на английский.
EDIT: Все, ченжлог теперь и на инглише есть.
Crafty,
качай отсюда.
Crafty
20 July 2015 | 19:23
Отключил фикс тыквы, надо допиливать ;(
Отправлено: 20 июл 15 19:37
Phobos
QUOTE |
...Но они по прежнему используются? |
На все вопросы ответ да ;)
QUOTE |
И кстати, в чем отличие от JetAntidoteFix? |
Фикс для возврата true из процедуры если использовалось противоядие, чтобы оно было удалено из инвентаря.
QUOTE |
А зачем? В оригинале она не вечная? |
Нет, там через GVAR создавалась видимость вечности.
QUOTE |
Может стоит перенести в Bugs.cpp? |
Там общая процедура с армор модом, лень разбивать.
QUOTE |
Зачем был выпилен весь предыдущий код из PartyControl.cpp? |
Беспредельщик же ;-p
QUOTE |
К слову о коде, в чем отличие между |
3 байта против 5 :-p
Отправлено: 20 июл 15 19:42
Drobovik
QUOTE |
Все, ченжлог теперь и на инглише есть. |
Спасибо большое :)
Добавь ещё в начало файлика благодарность себе, что-то вроде "Большое спасибо Drobovik'у за перевод на английский :)"
Crafty
21 July 2015 | 15:04
Допилил и включил фикс тыквы, прицепом там ещё пару багов исправил (к примеру если сопартиец валяется без сознания и в этот момент выйти в другую зону, то в ней он уже будет стоять, но через пару секунд будет анимация падения и вставания).
Drobovik
21 July 2015 | 18:08
Привел ченжлоги к более профессиональному виду.
В русской версии добавил "Список изменений:" в самое начало файла.
В английской добавил свой ник как переводичика Made by Crafty, English translation by Drobovik и слил вместе слово Сhangelog
Crafty, перекачай архив и обнови файлики. Сегодня сделаю перевод ченжлога для sfall1.
EDIT: Закончил и с ченжлогом для sfall1.
Здесь.