Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thing about modding support #144

Open
PowerfulBacon opened this issue Feb 15, 2022 · 1 comment
Open

Thing about modding support #144

PowerfulBacon opened this issue Feb 15, 2022 · 1 comment
Labels
Engine Some internal engine changes Needs design The design of this hasn't been decided yet and just exists as a general concept.

Comments

@PowerfulBacon
Copy link
Owner

PowerfulBacon commented Feb 15, 2022

Component based XML entities will be part of this.

We will need some kind of API so that code can be created and use the internal methods of the game engine.

The general idea is that custom code for mods will be compiled into .dll files which can be loaded up at runtime.
Mod files will contain:
Mod/Code/[dll files (loaded automatically)]
Mod/Data/Textures/[Texture files, bmp format anywhere, including recursive subfolders]
Mod/Data/[Entity xml files anywhere, including recursive subfolders]
Mod/ModData.xml
Mod/Data/TextureData.json

Mod data holds data such as the mod name, description, dependancies.

<Mod>
  <ModName>Sample Mod</ModName>
  <ModDescription>An example mod for the game.</ModDescription>
  <ModVersion>0.0.1</ModVersion>
  <Dependancies>
    <Dependancy>
      <DependancyID>56295761943752435 (Some unique ID)</DependancyID>
      <DependancyVersion>0.0.1</DependancyVersion>
    </Dependancy>
  </Dependancies>
</Mod>
@PowerfulBacon PowerfulBacon added Engine Some internal engine changes Needs design The design of this hasn't been decided yet and just exists as a general concept. labels Feb 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Engine Some internal engine changes Needs design The design of this hasn't been decided yet and just exists as a general concept.
Projects
None yet
Development

No branches or pull requests

1 participant