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

Rework of mod_tool_gui #365

Open
1 of 35 tasks
hexabits opened this issue Jan 10, 2024 · 0 comments
Open
1 of 35 tasks

Rework of mod_tool_gui #365

hexabits opened this issue Jan 10, 2024 · 0 comments

Comments

@hexabits
Copy link
Contributor

hexabits commented Jan 10, 2024

mod_tool_gui has been soft targeted for a rewrite for a long time, so time to put this all into a ticket.

The tool will report issues (Validation) and offer automatic fixes (Manipulation) where possible, or offer advice or links to address said issues. The tool will also list some general Information for each mod.

The tool will house game-specific logic for some manipulation and validation. Other validation and manipulation will work for all games.

The tool will change its UI for the selected mod based on what kind of mod it is and what kind of validation and manipulation actions are available. This may also include common fields from FDBs/Prefabs for the mod type for easy editing. For example, biomes, continents, and other values commonly edited when copying a base species to a modded one.

General

  • Move pack tool to pack_tool_gui
  • Integrate GamesWidget, filtered to mods only with hide_official()
  • Create mod validation UI and framework
  • Create mod manipulation UI and framework

Validation

Game Independent

  • Manifest Name, UUID conflicts
  • Assetpkg path validation
  • AssetPackage reference validation
  • UserInterfaceIconData reference validation
  • Lua syntax checking
  • Prefab declaration order/structure validation (for ACSE 0.7)
  • MS2 FGM reference validation
  • FGM TEX reference validation (Note: Shared files present issues)

Game Dependent

  • FDB - Missing tables
  • FDB - Extraneous tables not required for mod functionality
  • FDB - Out of date tables, esp. common tables (enums, NavigationWorlds, enrichment, diseases, etc.)
  • Lua - Out of date prefabs, either by known "old" signatures, or actual comparison with game data.
  • Research - ResearchID conflicts
  • Research - ResearchID bad values
  • Research - Animal Research Unlock file presence/contents validation
  • Loc - Missing loc strings
  • Loc - Missing languages

Manipulation

Game Independent

  • Enabling/Disabling mods (Rename Manifest.xml)
  • Renaming mod folder (Update assetpkg to match new name)
  • Lua - Fix prefab declaration order/structure (for ACSE 0.7)

Game Dependent

  • Animals - Create new species from base species
  • Animals - Converting animal prefabs to linked, truncated versions
  • FDB - Adding missing tables from later game updates, using base game data from a chosen base item (e.g. original base species)
  • FDB - Clearing extraneous tables
  • FDB - Updating common tables (enums, NavigationWorlds, enrichment, diseases, etc.) from latest game data
  • Research - Fix ResearchID conflicts
  • Research - Fix ResearchID bad values
  • Research - Update Animal Research Unlock file from latest base animal

Information

  • Required ACSE version
  • List of assets in mod (props, species)
  • List of unused files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant