GithubHelp home page GithubHelp logo

mod-loader-common's People

Contributors

ccawley2011 avatar dankrank avatar gerbilsoft avatar itseasyactually avatar mainmemory avatar michael-fadely avatar pikeyar avatar sora-yx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mod-loader-common's Issues

Cancelling a self-hosted mod update causes a manifest error

image
image

Clicking Retry produces the error below.

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidOperationException: Start may not be called on a task that has completed.
   at System.Threading.Tasks.Task.Start(TaskScheduler scheduler)
   at ModManagerCommon.Forms.ModDownloadDialog.OnShown(Object sender, EventArgs eventArgs) in C:\Programs\sadx-mod-loader\mod-loader-common\ModManagerCommon\Forms\ModDownloadDialog.cs:line 93
   at System.Windows.Forms.Form.OnShown(EventArgs e)
   at System.Windows.Forms.Form.CallShownEvent()
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()

Allow mods to declare "sub-mods".

Because the mod manager now stops scanning for mods as soon as a mod.ini file is found, this would allow people to nest a mod folder within a mod folder, and optionally allow them to specify that the sub-mod is dependent on the parent mod as well, which would forcibly enable the parent mod when the sub-mod is enabled (or maybe disable the sub-mod when the parent mod isn't enabled), useful for optional patches on a larger mod. Sub-mods should be loaded recursively.

The INI stuff would be something like this:
[SubMod1]
Path=CoolPatch
Dependency=false
[SubMod2]
Path=OptionalStuff
Dependency=true

Right clicking a section title in mod configuration dialog causes a NullReferenceException

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at ModManagerCommon.Forms.ModConfigDialog.contextMenuStrip1_Opening(Object sender, CancelEventArgs e) in C:\Programs\sadx-mod-loader\mod-loader-common\ModManagerCommon\Forms\ModConfigDialog.cs:line 43
   at System.Windows.Forms.ToolStripDropDown.OnOpening(CancelEventArgs e)
   at System.Windows.Forms.ToolStripDropDown.SetVisibleCore(Boolean visible)
   at System.Windows.Forms.ContextMenuStrip.SetVisibleCore(Boolean visible)
   at System.Windows.Forms.ToolStripDropDown.Show(Control control, Point position)
   at System.Windows.Forms.ContextMenuStrip.ShowInternal(Control source, Point location, Boolean isKeyboardActivated)
   at System.Windows.Forms.Control.WmContextMenu(Message& m, Control sourceControl)
   at System.Windows.Forms.Control.WmContextMenu(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.PropertyGrid.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Outdated Description

The current description says "Common classes for the SADX and SA2 mod loaders."
It should be now "Common classes for the SADX, SA2, Mania, R mod loaders."

Progress dialog High DPI issues

At High DPI the progress dialog is missing the Cancel button at the bottom. I was unable to fix it on my own.
image
Works fine at 100% DPI:
image

INI file parsing: Improve handling of spaces before and after =

In INI file parsing, spaces before and after the = seem to get in the way of parsing values.

For example Key=value works but Key = value doesn't.

I think it would be fine to check the characters (since there can be multiple spaces or tabs) before the = and, if they exist, assume there are spaces or tabs before the value text begins.

Floating point values parsing using the local culture

Causes this.

Happens on system locales where decimal comma is used instead of decimal dot. This is because the floats' text representation is parsed in the serializer using the local culture.

Possible solution: .NET 4.5 and above allows to set CultureInfo.DefaultThreadCurrentCulture. However, at the moment all Mod Managers are on 4.0 which doesn't have this feature.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.