Skip to content

Lizerium/FLResourceLibrary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

276 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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