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

Modnix 3 Roadmap #24

Open
32 of 41 tasks
Sheep-y opened this issue Apr 27, 2020 · 1 comment
Open
32 of 41 tasks

Modnix 3 Roadmap #24

Sheep-y opened this issue Apr 27, 2020 · 1 comment

Comments

@Sheep-y
Copy link
Owner

Sheep-y commented Apr 27, 2020

Backport to 2.x:

Must Do, Beta 1:

  • Drop deprecated features.
  • Action mods (Action Mod Roadmap #26)
  • New run-once phases HomeMod, GameMod, GeoscapeMod, TacticalMod.
  • New repeated phases HomeOnShow, GameOnShow, GeoscapeOnShow, TactialOnShow.
  • New repeated phases HomeOnHide, GameOnHide, GeoscapeOnHide, TactialOnHide.
  • Api should return Exception on error (not null, not thrown).
  • Migrate Newtonsoft to ModLoader. (Depended by Updater.)
  • Remove old fallback code when MainMod failed to patch. Too many phases to fallback now.
    The new phases hook to MenuLevelController/HomeScreenView, GeoLevelController/GeoscapeView, TacticalLevelController/TacticalView

Must Do, Beta 2:

  • Change reset config to undo edit. Make real reset prompt for config deletion. Tried. Not intuitive.
  • Double check mod action order.
  • Update mod load order in GUI.
  • Add "name" and "url" to requirements.
  • Use Unity Doorstop to avoid repatch.
  • Split ModResolver from ModScanner, and moves mod lists back to ModLoader.
  • Action mods (Action Mod Roadmap #26)
  • Mod collections.
  • "Library" flag, self-disable when no mods depends on it. Async flag in Modnix 4.
  • "UnloadMod" phase, to be executed before reload. Its existence means the mod can be reloaded.
  • Detect outdated ModLoader and reports Need Setup or whatever.

Must Do, Gold:

  • Installer will self restart in admin mode.
  • Support GoG Launch.
  • Strip nexus postfix on mod install.
  • Fix js mod cannot have bracket.
  • Enumerate dll and action files for last update time.

May be:

  • A way to toggle dev channel update.
  • Markdown doc support, which is already used for changelog in my mods.
  • BBCode doc support for easy reuse of Nexus description.
  • Mod config dropdown with delete config.
  • Split Manager config from Loader config.
  • Write GUI log to file, and keep a few log backups.
  • Refactor log code.
  • Select All, Copy, Cut, Paste popup on all text boxes.
  • Add / Copy / Delete / Enable / Disable popup on mod list.

Gave up, too many changes:

  • Dark Theme?
  • High resolution timer and time format config.
  • API to load assembly; the assembly will be counted as part of the caller.
  • New loader config to control resolve loop, like phase, library, avoid, disables etc.
  • Api events, e.g. before phase, after phase, mod loaded.

Tweaks:

  • Linkify mod contacts.
  • Add ppml to long modnix status.
  • Rename MainGUI to Manager.
  • Rename ModLoader to Loader.
@Sheep-y
Copy link
Owner Author

Sheep-y commented May 6, 2020

With the success of a proof of concept, Modnix can now evaluate strings in mod info on the fly. This allow mods to modify data without coming in form of dll.

The mods may be called action mods, since they are now backed by extensible actions, no longer restricted to changing data.

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