Skip to content

Latest commit

 

History

History
202 lines (135 loc) · 4.87 KB

File metadata and controls

202 lines (135 loc) · 4.87 KB

✨Dvurechensky✨

Infocard File Processor for 💤 Freelancer Rebirth 💤

🌐 Language: 🇷🇺 Russian | ✅ 🇺🇸 English (current)

Note

This project is part of the Lizerium ecosystem and belongs to the following direction:

If you are looking for related engineering and supporting tools, start there.

✨ Table of Contents


What does it do❓

💥 Core 💥

  • Generates a FLResources export targeting .NET 3.5, compatible with Unity

    alt text

  • Main access class when integrating the library into a project: ResControl

    It provides the following API:

    • Dictionary<string, int> LoadIds(int ids)
      → Input: numeric value from INI (ids_name or ids_info)
      → Output: DLL file name + string index

    • StatusHandle GetData(string nameResources, int id)
      → Input: RESX resource name embedded in 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)
      → Output: resource value by key from initialized RESX


  • FLGenerateLibrary generates .resx files for FLResources using data extracted from Win32 .dll files of Freelancer (2003)

    Data is предварительно extracted using Resource Hacker.
    Extraction steps are described below.


  • FLEDId — a utility for quick conversion between ids_name / ids_info and the numeric values stored inside resource DLLs
    • Works independently of freelancer.ini structure
    • Can also resolve INI ID from DLL name + numeric identifier

🌟 Extracting files from dll using Resource Hacker 🌟

  1. Open a .dll in Resource Hacker, e.g. equipresources.dll

    • Select String Table
    • Save .rc file into the INPUT folder (located near the .exe)
    • Rename .rcdata.txt
    • Remove line:
      LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
      

    alt text
    alt text
    alt text
    alt text

    [!NOTE] You have now created a file for resolving ids_name fields.


  1. If the DLL contains an HTML section:

    • Select HTML
    • Save .rc into INPUT\HTML
    • Delete the .rc file (we only need the generated .txt files for each .html)

    alt text
    alt text
    alt text

    [!NOTE] You have now created files for resolving ids_info fields.


  1. Final structure should look like:

alt text


😈 Command Shell 😈

  1. Command g [filename.ini] [field]
    → Finds unique values of a field inside an INI file located in the Analis folder

    • [filename.ini] — must exist in Analis
    • [field] — field name to analyze

    Example:

    g example.ini progres_field

  1. Command c [path/to/file.resx] or clear [path/to/file.resx] → Clears all resources inside a .resx file

    Example:

    c path/to/file.resx

  1. Command st [path/to/file.resx] [path/to/data.txt] → Generates .resx entries from TXT data

    Example:

    st path/to/file.resx path/to/data.txt

  1. Command st [path/to/file.resx] [path/to/html] → Generates .resx entries from HTML TXT files

    Example:

    st path/to/file.resx path/to/html

  1. Command import or i → Copies test data into INPUT folder

    Example:

    import

  1. Command all or a → Generates resource files from INPUT into OUTPUT

    Example:

    all

  1. Command rhtml → Outputs processed HTML text formatted for Unity TextMeshPro

  1. Command exit / e / q → Exit application

  1. Command starting with ::text → Searches for matching text inside embedded data in FLResources.dll

  1. Command starting with ::489 → Searches for matching identifiers inside embedded data

✨Dvurechensky✨