Foxx
16 February 2017 | 19:33
Crafty у тебя по умолчанию CanSeeAndHearFix=1 включена.
Заметил, что с ней в Неваде наблюдается проседание fps в некоторых локациях. Могут с ней еще какие-нибудь проблемы выскочить или это не опасно))
Вот сохранка и если зайти в стриптиз-бар Мамаши, то сразу видно.
https://yadi.sk/d/M0fvuK9H3EAjQv
Crafty
17 February 2017 | 02:44
QUOTE (Foxx) |
Заметил, что с ней в Неваде наблюдается проседание fps в некоторых локациях. |
Есть такая пичалька, причина пока непонятна :(
QUOTE (Foxx) |
Могут с ней еще какие-нибудь проблемы выскочить или это не опасно)) |
Пара-другая баксов из кармана может периодически пропадать :-p
Paptimus
22 February 2017 | 20:06
А встречался, кто с багом в нью-рино после принятия в семью не обновляется ассортимент магазинов? Например, в оружейном магазине спал несколько месяцев и ничего.
Phobos
2 March 2017 | 20:24
@Crafty:
QUOTE |
Вот потому на практике и не срабатывает, что обработчик call_offset_v* понимает только int параметры. Но его можно научить дополнительно понимать и string (просто в вызываемую функцию он будет передавать указатель на неё). Конечно эта "учёба" актуальна если у компилятора скриптов нет жёстких ограничений (он может компилировать такой код). |
С компиляцией не должно быть проблем. Компилятор знает лишь 2 вещи про каждый опкод сколько значений взять из стека (число аргументов) и сколько положить (1 или 0). Тип ему по парабану это дело обработчика. Я бы рекомендовал взять из текущей develop ветки моей класс OpcodeContext и связанный с ним код. Но тогда придется использовать непонятный С++ :D
Можно просто посмотреть как реализована в текущей 3.8 ветке функция SetArray, например (она там на милом сердцу ASM). Второй и третий параметр любого типа.
Особенность со строками в обработчик (после вызова interpretGetString) попадет указатель на строку (по сути const char*). Использовать этот указатель можно только внутри обработчика, т.к. вскоре эта строка из памяти может исчезнуть. Если нужно её хранить, рекомендуется делать копию...
Wozrogdenec
3 March 2017 | 01:27
QUOTE |
А встречался, кто с багом в нью-рино после принятия в семью не обновляется ассортимент магазинов? Например, в оружейном магазине спал несколько месяцев и ничего. |
Насколько помню даже в обычной версии важно находиться в другой локации, чтобы обновлялся ассортимент магазинов.
Разве нет?
Crafty
6 March 2017 | 04:10
QUOTE (Novarain) |
BTW, I saw you changed some names of engine functions/constants in the last couple of sfall2 updates. Did you also change them in IDA pro databases? If yes, could you update the files in the database download? |
QUOTE (Phobos) |
Не мог бы ты все-таки скинуть описания структур которые используешь в своей базе IDA Pro?
Знаю, что самой базой делиться не собираешься, но может хотя-бы с этим поможешь. Попытка не пытка :) |
Перезалил, хз что ожидаете там увидеть отличие от старой заключается в требовании иды 6.8 и добавленной пятёрки-другой частичных структур. Не помню менял ли имена.
Phobos
7 March 2017 | 21:33
QUOTE |
Перезалил, хз что ожидаете там увидеть отличие от старой заключается в требовании иды 6.8 и добавленной пятёрки-другой частичных структур. Не помню менял ли имена. |
Спасибо. Ожидаем увидеть высшую точку в реверсе движка игры :) Точнее, собранное все в одном месте. Если собрать коллективные знания всех кто когда-либо реверсил движок, наверное там уже не осталось белых пятен)))
Такие вещи надо держать в доступе, чтобы в случае чего ничего не пропало безвозвратно)
Foxx
8 March 2017 | 04:05
Crafty, тебе и передохнуть не дают;)
Fakeman
24 April 2017 | 14:46
QUOTE |
- Из секции [Input] удалена переменная DebugEditorKey. |
Зачем удалили обработку вызова внешнего отладчика? Верните!
в ini можно eё не вносить, если вам так мешают лишние записи в конфиге.
Исходников больше не будет?
Crafty
25 April 2017 | 14:48
QUOTE (Fakeman) |
Зачем удалили обработку вызова внешнего отладчика? Верните! в ini можно eё не вносить, если вам так мешают лишние записи в конфиге. |
Хлопотно было делать, функционал же убогонький...
QUOTE (Fakeman) |
Исходников больше не будет? |
Зачем тебе исходники на ассемблере?
Fakeman
25 April 2017 | 16:30
CODE |
Хлопотно было делать, функционал же убогонький... |
Не понял насчет хлопотно делать, Кого делать?)
По этой кнопке вызывался внешний редактор где можно было посмотреть/изменить содержимое Gvar/Mvar/Sfallvar и массивов.
QUOTE |
Зачем тебе исходники на ассемблере? |
Я их выгружаю на GitHub :)
Crafty
25 April 2017 | 19:26
QUOTE (Fakeman) |
Не понял насчет хлопотно делать, Кого делать?) |
Всё переписал (ну почти всё, потому и under construction) на ассемблере.
QUOTE (Fakeman) |
По этой кнопке вызывался внешний редактор где можно было посмотреть/изменить содержимое Gvar/Mvar/Sfallvar и массивов. |
Срамота, а не редактор.
QUOTE (Fakeman) |
Я их выгружаю на GitHub :) |
Какая-то странная суета :-p
Fakeman
26 April 2017 | 00:16
QUOTE |
Всё переписал (ну почти всё, потому и under construction) на ассемблер |
Отвечу твоей цитатой: "Какая-то странная суета © Crafty"
в чем смысл то этого переписывания?)
Скидываю на гит-хаб потому, что там удобно смотреть какие изменения ты проводил, ты же ленивый вот и приходится за тебя это делать)
QUOTE |
Срамота, а не редактор. |
А другого и не надо, посмотрел проверил и закрыл.
Crafty
26 April 2017 | 01:32
QUOTE (Fakeman) |
в чем смысл то этого переписывания?) |
Нужно было как-то убивать время :-p
Wiper
26 April 2017 | 10:43
Crafty
привет друже :) Спасибо за работу. в f2 (в прошлых версиях sfall2) проигрывался звук после выполнения квеста или повышения уровня, а сейчас его нет. так задумано или баг? Спасибо.
Crafty
26 April 2017 | 20:38
QUOTE (Wiper) |
в f2 (в прошлых версиях sfall2) проигрывался звук после выполнения квеста или повышения уровня, а сейчас его нет. |
А при каких условиях? Проверил повышение уровня в чистом F2 звук есть.
Wiper
27 April 2017 | 08:08
Сразу после храма испытаний, когда чуз получает 300 ед. опыта и после выполнения задания хакунина (на грядке убить сорняки).
Зы: хотел узнать, как лучше погрузится в атмосферу фола))) т.е имеется английская версия и 1С, патч от киллапа и RP. Как лучше это совместить? :)
Foxx
27 April 2017 | 22:13
Crafty
Что-то не так с Sfall2 1.7.37 от 24.04.17 при сохранении на Fallout 2, Nevada и Olympus 2207 вылет.
Crafty
28 April 2017 | 02:10
QUOTE (Foxx) |
при сохранении с установленным InventoryFilter вылет. |
Поправил.
Foxx
28 April 2017 | 09:51
Crafty
Благодарствую.
Crafty
28 April 2017 | 18:36
QUOTE (Wiper) |
Зы: хотел узнать, как лучше погрузится в атмосферу фола))) т.е имеется английская версия и 1С, патч от киллапа и RP. Как лучше это совместить? :) |
Дак если нет проблем с языком, то версию на свой выбор, сверху RP. Вот
Foxx'а спроси, он в теме ;) Или у
Pyran'а, на
nuclear-city.com :-p
QUOTE (Foxx) |
Благодарствую. |
Не вечер, будут ещё ;)
Отправлено: 28 апр 17 19:26
На данный момент не сделаны AllowLargeTiles, Use32BitHeadGraphics, AllowDShowSound и проигрывание .avi-мувиков. Все, кроме первого, очень потенциальные клиенты на пока-пока.
Аргументированные возражения? ;)
Fakeman
28 April 2017 | 21:51
Не нужная штука, для чего делали непонятно.
так оно не проиграет их как надо.
QUOTE |
Use32BitHeadGraphics |
реализация немного того) да и не работает оно.
Crafty
29 April 2017 | 01:16
QUOTE (Fakeman) |
Не нужная штука, для чего делали непонятно. |
Предлагаешь и это тоже, того? ;)
Не смотрел ещё, может оказаться странно-прикольной штукой, вроде UseFileSystemOverride.
QUOTE (Fakeman) |
так оно не проиграет их как надо. |
Возможно я бы довёл до ума.
QUOTE (Fakeman) |
QUOTE | Use32BitHeadGraphics |
реализация немного того) да и не работает оно. |
Как и у тех же .avi-мувиков основной недостаток требование 4 или 5 режима (dx9). А бошки так ещё и требуют специфичный формат.
Пару слов о AllowDShowSound в текущем виде "почти ничего" не делает и требует очень серьёзной доработки.
"Почти ничего" может искать альтернативные форматы (mp3/wav/wma) только для музыкальных файлов (потому что там используется полный путь) и запускать их в цикле перемотки без какого-либо способа остановки. При этом требуется оригинальный .acm-файл в том же каталоге и он тоже будет запущен.
Практически это выглядит так: AllowDShowSound=1, в \sound\music\ добавляются 2 mp3-файла с нужной музыкой и переименовываются в 07desert.mp3 (музыка в главном меню) и 17arroyo.mp3 (музыка перед входом в храм). Запускается F2, в главном меню одновременно играют 07desert.acm и 07desert.mp3. Старт новой игры (07desert.mp3 продолжает играть), начинают играть 17arroyo.acm и 17arroyo.mp3. Заход в храм и возврат назад играют 07desert.mp3, 17arroyo.mp3 и новые 17arroyo.acm/17arroyo.mp3.
Fakeman
29 April 2017 | 02:57
QUOTE |
Не смотрел ещё, может оказаться странно-прикольной штукой, вроде UseFileSystemOverride. |
чего такого прикольного в UseFileSystemOverride
AllowLargeTiles это обрезает frm тайлов которые не вмещаются в размер 36х80.
для нубо-мододелов которые не могут обрезать тайл по размеру возможно и сгодится)
QUOTE |
требование 4 или 5 режима (dx9). А бошки так ещё и требуют специфичный формат. |
а чего плохого в 4/5 режиме у меня всегда всегда вкл.
формат да плохо, что нужно патчить оригинальные фрм.
QUOTE |
Возможно я бы довёл до ума. |
Это было бы очень полезно!
Foxx
29 April 2017 | 09:22
QUOTE (Fakeman) |
а чего плохого в 4/5 режиме у меня всегда всегда вкл. |
Мне больше DX9 в HiRes патче нравится.
Мне кажется он как-то лучше и стабильней работает :)
Fakeman
29 April 2017 | 15:08
Знаю есть баг когда включаешь дх9 в сфале то не показываются splash картинки при загрузке.
Foxx
29 April 2017 | 15:45
QUOTE ("Fakeman") |
есть баг когда включаешь дх9 в сфале то не показываются splash |
Плюс нет эффекта затемнения при загрузке, лечении и т.п. А также часто бывает белый экран с голосом диктора, во время смерти.
Crafty
29 April 2017 | 23:56
QUOTE (Fakeman) |
чего такого прикольного в UseFileSystemOverride |
Виртуальная файловая система, позволяет создавать копию файла и изменять её под свои требования. Движок при обращении к файлу будет получать данные этой копии, но изменять её не сможет все изменения возможны только скриптово.
Из-за недоделанности некоторые вещи невозможны нельзя использовать файлы, которые сохраняются в сейвах, к примеру, сделать копию pro'шника сопартийца, заморозив рост его уровней и прокачивая его самому.
По идее можно менять графику (добавив свой штрих в виде подписи) и тому подобное. Практического применения (если сравнивать с усилиями для создания физ.копии и виртуальной) придумать не могу, а потому странно-прикольная штука.
Здесь есть кривоватый пример практического использования.
QUOTE (Fakeman) |
AllowLargeTiles это обрезает frm тайлов которые не вмещаются в размер 36х80. |
QUOTE (Fakeman) |
а чего плохого в 4/5 режиме у меня всегда всегда вкл. |
А у меня нет :-p И с технической точки зрения он не сделан, вообще.
QUOTE (Fakeman) |
Это было бы очень полезно! |
Погоди, я как раз и не хочу заниматься исправлением лабораторных работ, которые будут использоваться только в теории.
Есть же конвертор из avi в mve.
QUOTE (Foxx) |
А также часто бывает белый экран с голосом диктора, во время смерти. |
Мышкой поводи ;) Для более быстрой проверки в главном меню можешь нажать N не трогая мышь.
Fakeman
30 April 2017 | 13:27
QUOTE |
Погоди, я как раз и не хочу заниматься исправлением лабораторных работ, которые будут использоваться только в теории. Есть же конвертор из avi в mve.
|
Зачем нам mve с 256 цветами, ты что не заметил в какое говно перевращаются ролики после конвертации в мве.
Foxx
30 April 2017 | 13:51
Надо черно-белые ролики конвертировать тогда они не совсем в "говно" превращаются ))
А если по делу, то конвектор avi-mve еще и разрешение выше 640х480 не поддерживает, а это большой минус :(
Wiper
30 April 2017 | 16:20
Crafty
Привет! У тебя осталась версия sfall2 1.7.36?
Crafty
30 April 2017 | 20:15
QUOTE (Fakeman) |
Зачем нам mve с 256 цветами, ты что не заметил в какое говно перевращаются ролики после конвертации в мве. |
Под доведением до ума подразумевалось исправление краша при выходе из игры после проигрывания avi-мувика, а не создание avi-плеера с поддержкой 0 режима помимо 4 и 5.
Мне вот будет фиолетово как круто выглядит avi-мувик если я его не вижу, потому что не пользуюсь 4-5 режимом (и другим не советую, разве что ради специфичных условий или такой острой необходимости в оконном режиме).
QUOTE (Foxx) |
А если по делу, то конвектор avi-mve еще и разрешение выше 640х480 не поддерживает, а это большой минус :( |
Сколько там сделали avi-мувиков с момента появления возможности их использования?
QUOTE (Wiper) |
У тебя осталась версия sfall2 1.7.36? |
Могу попробовать вытащить в дропбоксе, но зачем?
Отправлено: 1 мая 17 01:31
QUOTE |
Из-за недоделанности некоторые вещи невозможны нельзя использовать файлы, которые сохраняются в сейвах, к примеру, сделать копию pro'шника сопартийца, заморозив рост его уровней и прокачивая его самому. |
Неудачный, кстати, пример. В данном случае нельзя будет сделать виртуальную копию базового pro'шника, но прокачивать с помощью виртуальных копий уровней можно. Вот для примера использование виртуальной копии pro'шника для Сулика при получении первого уровня он получит +1 к оригинальному для первого уровня значению силы , gl_Sulik.ssl:
CODE |
procedure start;
procedure start begin variable file,str; if game_loaded and fs_find("proto\\CRITTERS\\00000310.pro")==-1 then begin file:=fs_copy("proto\\CRITTERS\\00000310.pro","proto\\CRITTERS\\00000310.pro"); fs_seek(file,0x30); str:=fs_read_int(file); fs_seek(file,0x30); fs_write_int(file,str+1); end end |
Fakeman
1 May 2017 | 04:20
QUOTE |
Под доведением до ума подразумевалось исправление краша при выходе из игры после проигрывания avi-мувика, а не создание avi-плеера с поддержкой 0 режима помимо 4 и 5. |
Оно же в отдельном виндовском окне проигрывается, смысл над этим заморачиваться и исправлять ошибку, если это изначально убого реализовано, не думаю что этим кто то захочет воспользоваться.
Отправлено: 1 мая 17 04:27
Фигня какая-то с прошками, можно же и без всякой виртуальности править прошки в игре.
Зачем это извращение с виртом?))
Ethereal
1 May 2017 | 10:59
QUOTE |
Фигня какая-то с прошками, можно же и без всякой виртуальности править прошки в игре. Зачем это извращение с виртом?)) |
Эта возможность и без того есть в игре. Чит с перекаченными химией партийцами до сих пор живёт и процветает. Просто не надо "прошки" распихивать по всяким "ПатчДатам" и "ДатаФолдерам". Победить этот чит, без серьёзных изменений в движке, не получится. А без них можно наворотить много всего, что приведёт непонятно к чему.
Кроме того есть и другой путь. Создание спец-химикатов, которые навсегда увеличивают параметры и равномерное распределение их по разным нычкам. А вирт реально извращение.
А вот отображение статов и умений у партийцев напрашивается давно. Можно, конечно, через режим боя, при управлении напарниками, но хотелось бы их видеть в характеристиках при диалоге. Скажем дополнительная кнопочка, или строка в диалоге, которая выводит в экран характеристик и при закрытии его возвращает обратно в диалог.
Fakeman
1 May 2017 | 18:16
QUOTE |
А вот отображение статов и умений у партийцев напрашивается давно. |
Давно бы изучил скриптинг и осуществил свою мечту. Ну ничего же сложного.
Вот даже крафти который только ассемлер понимает)) и то знает как написать скрипт.
Crafty
1 May 2017 | 20:17
QUOTE (Fakeman) |
Фигня какая-то с прошками, можно же и без всякой виртуальности править прошки в игре. |
Не вникал в причины возникновения UseFileSystemOverride.
QUOTE (Fakeman) |
Зачем это извращение с виртом?)) |
Хоть какой-то пример. Описание же крайне скудное и её назначение было туманным.
QUOTE (Ethereal) |
А вирт реально извращение. |
Чего пристали с прошками это простой и наглядный пример.
Crafty
2 May 2017 | 14:55
QUOTE |
Под доведением до ума подразумевалось исправление краша при выходе из игры после проигрывания avi-мувика, а не создание avi-плеера с поддержкой 0 режима помимо 4 и 5. |
Случайно как-то (в 4 режиме показывает через раз) сделалось. Восстановил AllowDShowSound, потому что теперь помимо переключения поиска альтернативных муз.файлов (проигрывание которых всё так же в плачевном состоянии) эта переменная ещё и отвечает за переключение поиска avi-файлов (в 0 режиме не ахти видок из-за 8 бит) вместо mve.
Здравствуйте.
У меня такие вопросы.
Столько всего нахакали... неужели невозможно сделать шрифт в игре больше?
Это совсем непосильная задача?
Второй, возможно и не по теме.
НПС мод, спутники меняют броню... для Фола2 уже столько разных анимаций нарисовано... ведь как минимум для Яна можно же сделать волосатого мужика...
И для Tycho лысого...
Может кто-то это уже сделал?
Спасибо.
П.С. Еще баг.
Если включить управление НПС, то если во время боя зайти к Яну в инвентарь, то его модель меняется на модель игрока и такой и остается...
Crafty
4 May 2017 | 03:33
QUOTE (Tim) |
Если включить управление НПС, то если во время боя зайти к Яну в инвентарь, то его модель меняется на модель игрока и такой и остается... |
Да, спасибо, хз как попало. Подправил.
Fakeman
4 May 2017 | 05:07
QUOTE |
Столько всего нахакали... неужели невозможно сделать шрифт в игре больше? Это совсем непосильная задача? |
Нельзя в некоторых местах будет вылезать за края, да еще и возможно краши появятся. На 1 размер думаю можно поднять, если шрифт перерисовать. +1 тебе погоду даст?)
Честно, я бы потерпел если бы вылезало за края... В Аркануме область под текст увеличивается хаком и шрифт 18 можно без проблем сделать...
Жаль в Фоле не так...
Fakeman
7 May 2017 | 02:28
что-то 38 как-то совсем не рабочая версия.
краш при запуске с подключенным perk.ini,
краш при использовании шейдерных функций.
Crafty
7 May 2017 | 05:28
QUOTE (Fakeman) |
что-то 38 как-то совсем не рабочая версия. |
Подкинь инишки, у меня всё ok.
Fakeman
8 May 2017 | 03:50
На трейте вылет.
CODE |
[t9] StatMod=0|-1|1|-1|2|-1|3|-1|4|-1|5|-1|6|-1|24|15|25|15|26|10|27|15|28|15|30|15|31|17|32|20 |
Crafty
8 May 2017 | 05:13
QUOTE (Fakeman) |
На трейте вылет. |
Всё так же ok ;-p
Fakeman
8 May 2017 | 10:58
Хорошо потестируй, найди в чем отличее 37 и 38 версии и исправь ошибки.
upd: добавь NoHardcode=1
Crafty
10 May 2017 | 07:09
QUOTE (Fakeman) |
upd: добавь NoHardcode=1 |
Другое дело, ty ;)
Crafty
12 May 2017 | 15:45
QUOTE (Fakeman) |
А в combat_is_starting_p_proc это как делается, проверить если криттер видит гг вошедшего в бой выполнить для криттера функцию аттаск, или как то по другому? |
Угу, только через attack_setup. С несколькими дополнительными действиями на время включить состояние боя, чтобы obj_can_see_obj видел дальше (конечно можно использовать свой аналог проверки видимости, вроде того что я ранее для hs_withinperception приводил) и attack_setup установил "обидчика". Потом вернуть состояние боя (хоть это в принципе и не обязательно движок всё равно его чуть позже включит). Вот так проверил сейчас на Смитти, dcSmitty.ssl:
CODE |
procedure combat_is_starting_p_proc begin variable combat_state := read_int(0x510944); write_int(0x510944, combat_state bwor 1); if obj_can_see_obj(self_obj, dude_obj) then attack_setup(self_obj, dude_obj); write_int(0x510944, combat_state); end |
Убежать всяко можно.
Или так:
CODE |
procedure combat_is_starting_p_proc begin variable source, target, perception, distance; source := self_obj; target := dude_obj; if source and target then begin perception := get_critter_stat(source, 1); // STAT_pe distance := perception * 2; if call_offset_r2(0x412BEC, source, target) then begin // can_see_(source, target) distance := perception * 5; if read_int(target+0x26) bwand 2 then distance := distance / 2; // target.flags3 & TransGlass_? end if sneak_success then begin distance := distance / 4; if has_skill(target, 8) > 120 then distance := distance - 1; // SKILL_SNEAK end else if using_skill(target, 8) then distance := distance * 2 / 3; // SKILL_SNEAK if call_offset_r2(0x48BBD4, target, source) <= distance and obj_blocking_line(source, tile_num(target), 1) == target then write_int(source+0x54, target); // Теперь гг обидел source end end |
Fakeman
13 May 2017 | 05:16
Ясно-понятно, учтем)
Есть одна скриптовая проблемка, если к примеру требуется скриптово изменить координаты входа на карту то при заходе игрока на такую карту в map_enter_proc нельзя будет получить эти координаты dude-tile, т.е. нам всегда возвращаются стартовые координаты указанные в карте.
Я так полагаю что в начале при заходе игрока помещает на стартовые координаты, а потом уже после enter_proc перемещает его на наши указанные координаты, потому как в map_update_proc мы уже можем получить перемещенные коoрдинаты, но это событие иногда не подходит под некоторые задачи, мне как то из-за этого пришлось целый огород в скрипте городить чтобы добиться цели, и то с косяками.
Можно это как-то подфиксить чтобы перемещало сразу) ?
Crafty
13 May 2017 | 06:51
QUOTE (Fakeman) |
Можно это как-то подфиксить чтобы перемещало сразу) ? |
Покажи пример коротенький, а то не улавливаю (override_map_start и set_map_start не подходят?).