Skip to content

Latest commit

 

History

History
87 lines (51 loc) · 5.85 KB

File metadata and controls

87 lines (51 loc) · 5.85 KB
graph LR
    Converter_Driver["Converter Driver"]
    Game_Asset_Reader["Game Asset Reader"]
    Value_Object_Model["Value Object Model"]
    Conversion_Pipeline["Conversion Pipeline"]
    Entity_Object_Model["Entity Object Model"]
    Modpack_Exporter["Modpack Exporter"]
    Converter_Driver -- "invokes" --> Game_Asset_Reader
    Game_Asset_Reader -- "creates" --> Value_Object_Model
    Converter_Driver -- "passes data to" --> Conversion_Pipeline
    Value_Object_Model -- "is processed by" --> Conversion_Pipeline
    Conversion_Pipeline -- "transforms into" --> Entity_Object_Model
    Converter_Driver -- "instructs" --> Modpack_Exporter
    Entity_Object_Model -- "is serialized by" --> Modpack_Exporter
Loading

CodeBoardingDemoContact

Details

An analysis of the openage.convert class hierarchy reveals a structured and modular architecture for the Asset Converter subsystem. The components are designed to handle the complex process of reading proprietary game data, transforming it into an engine-specific format, and exporting it as a modpack.

Converter Driver

The central orchestrator that manages the entire asset conversion workflow. It initializes the process, discovers the source game's version, and directs the flow of data between the other components.

Related Classes/Methods:

  • openage.convert.tool.driver.Driver

Game Asset Reader

A collection of specialized modules responsible for reading and parsing the various proprietary file formats used by the source game (e.g., Age of Empires). This component handles low-level data extraction from formats like .dat, .drs, and .slp.

Related Classes/Methods:

Value Object Model

A set of Python classes that represent the raw data extracted from the game files. These objects mirror the structure of the original game's data and serve as the input for the conversion process.

Related Classes/Methods:

Conversion Pipeline

The heart of the converter, this component is responsible for transforming the Value Objects into Entity Objects. It contains the business logic for mapping the source game's data structures to the openage engine's data model.

Related Classes/Methods:

Entity Object Model

A set of Python classes that represent the game assets in a format that is compatible with the openage engine's data definition schema (.nyan files). These objects are the output of the Conversion Pipeline.

Related Classes/Methods:

Modpack Exporter

This component takes the Entity Objects and packages them into a distributable modpack. This includes serializing the data to .nyan files, exporting media assets, and creating a manifest file.

Related Classes/Methods: