✨Dvurechensky✨
-
Формирует выгрузку
FLResourcesнаNET 3.5совместимую сUnity
- Класс к которому обращаемся при подключении библиотеки к проекту - ResControl- Она имеет такое API для взаимодействия: -Dictionary<string, int> LoadIds(int ids)- подаём число из INI файла для ids_name или ids_info - получаем имя DLL файла и индекс строки с данными -StatusHandle GetData(string nameResources, int id)- подаём имя RESX файла запечатанного в DLL(OfferBribeResources_name,NameResources_name,EquipResources_name,SBM3_name,SBM2_name,SBM_name,SBM_info,EquipResources_info,MiscTextInfo2_info,InfoCards_info,MiscText_info, SBM3_info)и идентификатор - получаем значение ресурса по ключу из инициализированного RESX -
FLGenerateLibraryформирует файлы.resxдляFLResourcesна основе данных полученных из.dllWin32 для игрыFreelancer 2003. Данные предварительно получаем с помощью программыResource Hacker. Порядок получения описан ниже -
FLEDIdпрограмма для быстрого конвертированияids_nameиids_infoв число которое зашито вDLLфайл ресурсов игрыFreelancer Rebirth(не завязан на freelancer.ini структуру) и наоборот покажет по имени dll и числу в нём тот номер который нужно вписать вINIфайл
🌟 Порядок извлечения файлов из dll с помощью Resource Hacker 🌟
-
Открываем
dllвResource Hackerнапримерequipresources.dllвыделяем
String Table
сохраняем .rc в папкуINPUTкоторая лежит рядом с исполняемым.exeфайлом
меняем имя файла c.rcнаdata.txt
внутри файла удаляемLANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL


[!NOTE] Поздравляю вы создали файл для определения
ids_nameполей! -
В этом же
dllесли есть папкаHTMLнужновыделяем
HTML
сохраняем .rc в папкуINPUT\HTMLкоторая лежит рядом с исполняемым.exeфайлом
удаляем файл.rc(нам нужны те.txtкоторые он там формирует под каждый.html)


[!NOTE] Поздравляю вы создали файл для определения
ids_infoполей!
-
Команда
g [filename.ini] [field]- поиск уникальных значений поля в INI файле который лежит в папкеAnalis- [filename.ini] - имя файла строго существующего в папке
Analis(При желании туда можно положить свой INI) - [field] - Имя поля внутри файла которое там постоянно встречается но с одинаковым значением
Например
g example.ini progres_field
- [filename.ini] - имя файла строго существующего в папке
-
Команда
c [path/to/file.resx]илиclear [path/to/file.resx]- очистка всех данных ресурсов в.resxфайле- [path/to/file.resx] - Как правило такой файл лежит в отдельном C# проекте и вы наполняете его информацией
Например
c path/to/file.resx
или
clear path/to/file.resx
- [path/to/file.resx] - Как правило такой файл лежит в отдельном C# проекте и вы наполняете его информацией
-
Команда
st [path/to/file.resx] [path/to/data.txt]- генерация из папки с TXT (.dll Win32 -> Resource Hacker -> .rc файл -> .txt файлы) строк в .resx файл- [path/to/file.resx] - Как правило такой файл лежит в отдельном C# проекте и вы наполняете его информацией
- [path/to/data.txt] - Как правило это файл из папки
INPUTконкретно отсканированной библиотекиdll- файлdata.txt
Например
st path/to/file.resx path/to/data.txt
-
Команда
st [path/to/file.resx] [path/to/html]- генерация из папки с TXT (.dll Win32 -> Resource Hacker -> .rc файл -> .txt файлы) строк в .resx файл- [path/to/file.resx] - Как правило такой файл лежит в отдельном C# проекте и вы наполняете его информацией
- [path/to/html] - Как правило это папка HTML с информациннными картами (которые указываются в
ids_info) из папкиINPUT
Например
st path/to/file.resx path/to/html
-
Команда
importилиi- копирует тестовые данные в папкуINPUTдля того чтобы можно было генерировать.resxфайл ресурсовНапример
import
или
i -
Команда
allилиa- генерирует из папкиINPUTфайлы ресурсов в папкуOUTPUT(их также можно перезаписывать командами описанными выше)Например
all
или
a -
Команда
rhtml- вывод текста сгенерированного в папкеHTMLпосле обработки в формате дляUnity - TextMeshPro -
Команда
exitилиeилиq- выход -
Команда начинающаяся на
::textвыводит найденные совпадения слов которые встречаются в зашитых данных вFLResources.dll
-
Команда начинающаяся на
::489выводит найденные совпадения идентификаторов которые встречаются в зашитых данных вFLResources.dll
✨Dvurechensky✨



