7.3 KiB
Обработчик файлов инфокарт из игры 💤 Freelancer Rebirth 💤
Что делает❓
💥 Главное 💥
-
Формирует выгрузку
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
на основе данных полученных из.dll
Win32 для игры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
-
Команда
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