Mod selection in GameVersionScene

Open
#395 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp, unity
Domain
game-dev

Research direction

Start in GameVersionScene, where the Gothic 1 and 2 buttons are chosen, and find the DeveloperConfig EnableMod preselect. Then trace IsModActive, ModCacheSuffix and LoadGothicInis to see where the mod selection must be read, and set it before LoadGothicInis runs. Done means a scanned list of system/*.ini mods appears in both VR and Flat UI, and the manual test steps in the issue pass.

Written by the indexing model from the issue text.

Description

feature

Summary

Mods can't be selected in builds, only via DevConfig in Inspector right now.

Scope

  • After the user picks Gothic 1 or 2, show a list of installed mods below the game buttons, plus a "Vanilla" entry OR show it directly in the list? All the mods? (One click less)
  • Find mods by looking for *.ini files in /system/, excluding Gothic.ini and GothicGame.ini.
  • Selecting an entry sets the mod INI filename, and the mod root, which is the Gothic root itself, since the INI sits in its system/.
  • The Editor DeveloperConfig override (EnableMod) should still work, for example by preselecting the entry.
  • IsModActive, ModCacheSuffix and LoadGothicInis must read the selection. Set it before LoadGothicInis.
  • Use Logger.Log with a LogCat. Show the list in both VR and Flat UI.

Open questions

  • A mod with its own folder (e.g. C:/Gothic Mods/...) isn't found by scanning the Gothic root's system/. Decide whether to also scan a mods directory or support a user-added path.
  • Whether Gothic.ini and GothicGame.ini are the only files to exclude.

Manual test

  1. Start a build with no DeveloperConfig preselect. G1 and G2 appear, then the mod list.
  2. Vanilla boots as before.
  3. A mod INI boots that mod, and the cache folder carries its mod… suffix.
  4. With PreselectGameVersion on, the mod list still appears, or the preselect is skipped when a mod is needed.
Dominant language
C#
Stars
33
Forks
1
Avg merge
1d 17h
Merged PRs (30d)
51

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Gothic-Unity-Project/Gothic-Unity

All issues in Gothic-Unity-Project/Gothic-Unity

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.