Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Lizerium/FLResourceLibrary

Repository files navigation

✨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 .rc β†’ data.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✨

Releases

No releases published

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /