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

Action Mod Roadmap #26

Closed
19 of 23 tasks
Sheep-y opened this issue May 6, 2020 · 1 comment
Closed
19 of 23 tasks

Action Mod Roadmap #26

Sheep-y opened this issue May 6, 2020 · 1 comment

Comments

@Sheep-y
Copy link
Owner

Sheep-y commented May 6, 2020

Planned for Modnix 3 (#23).

Modnix 3 Beta 1

  • Expand mod_info to allow a Dictionary[] Actions field.
  • Implement framework to allow mods to process Actions. (let's call it RunAction).
  • Actions should add caller prefix to handler logger.
  • Hide duplicate load log.
  • All actions have Phase and OnError.

Modnix 3 Beta 2

  • Make configurable. Pushed to Modnix 3.5 with config presets.
  • Allow API to find caller. Required to use the correct session. Need to bound caller to thread since API is thread-safe.
  • The "Include" field runs Actions from another file, relative to the current file or absolute to the mod's folder.
  • Update PPDefModifier to support action through include.
  • Allow action mod to load library. Keep it simple. Between Modnix and Scripting Library, if a mod need something more it shouldn't be an action mod.
  • Supports actions with the "Guid"/"Cls" field, and evaluates it like PPDefModifier. PPDefModifier has been updated and there is no need to have its cake.

Scripting Library Beta 1

  • A new mod bundled with Modnix.
  • Each mod have their own eval session, preserved between phases.
  • Provides the "eval.cs" api to evaluate c# code.
  • Provides the "pp.def" and "pp.defs" api for quick lookup of game def by guid, path, or type.
  • Supports actions with the "Eval" field, and evaluates the code on the fly.
  • Provide data cache for type/name/path.
  • Helpers to aid in modifying weapon, research, facility data. Weapon done, the rest need more ideas.
  • Pre-load script evaluator in background.

Scripting Library Beta 2

  • A way to allow mod to add helpers.
  • [ ] Rewrite helpers to supports mod unload. Things get messy when multiple mods modify the same data. No good fix I can see.
  • Use caller mod for API eval context.
  • A helper to get tactical item with tag(s).
  • Update dependent libraries.
  • Try to solve the assembly reference issue again to avoid dll copying.
@Sheep-y Sheep-y mentioned this issue May 6, 2020
41 tasks
@Sheep-y
Copy link
Owner Author

Sheep-y commented Jan 25, 2021

Scripting Library no longer works, and I can't fix the dll conflicts. Since all other tasks have been done, this tracker will now be closed.

It was nothing short of a miracle that it worked at all before. Hopefully we can support some other kind of scripting in the future. I am eyeing V8 integration, which should be a lot less messy in term of dlls. It's been a pleasure, .Net Core, I will avoid you even more in the future.

@Sheep-y Sheep-y closed this as completed Jan 25, 2021
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