Fledge68 / WiiFlow_Lite

My mod of the Wii USB Loader WiiFlow
467 stars 58 forks source link

WiiFlow Limited to 255 Plugins #383

Open Duggy84 opened 6 months ago

Duggy84 commented 6 months ago

Describe the bug If more than 255 plugins are defined under the wiiflow\plugins folder, only the first 255 plugins (magic numbers) included in the wiiflow\plugins_data\platform.ini file will appear in the WiiFlow Plugins list if using the user interface to map a plugin to a source menu item. If using a magic number directly in a source menu INI file, for a plugin that is after the first 255 plugins in the wiiflow\plugins_data\platform.ini file, it will not load the plugin.

To Reproduce Steps to reproduce the behavior:

  1. Define more than 255 plugins
  2. Load WiiFlow and go to any source menu
  3. Press the HOME button on the WiiMote and select the option to map plugins to source menu items / buttons
  4. Select a source menu item / button
  5. Go through the list of plugins until the last page to see that there are only 255 available

What version of WiiFlow Lite v5.5,4 (Sept 20, 2023)

On Wii or Wii U vWii Wii

Additional context The current workaround is to remove plugins to ensure that there are less than 255

Fledge68 commented 6 months ago

yep you answered it - The current workaround is to remove plugins to ensure that there are less than 255.

i can't imagine why anyone would need that many plugins.

KirbyFan102 commented 6 months ago

A workaround, not a solution. There are still many users who would appreciate this being fixed.

gingerbeardman commented 6 months ago

@KirbyFan102 what 255+ plugins are you using?

Duggy84 commented 6 months ago

@Fledge68 Firstly - awesome application. Many thanks to you and all those who have contributed to date! Wish I still had the low level coding skills to contribute.

Appreciate that this is not a priority item and the workaround is reasonable. I started with the 2023 plugins pack + extras, have added about another 30 or so plugins, which resulted in about 275 plugins (or thereabouts). As noted, I have removed plugins to keep the quantity at no more than 255. While I will not be using all plugins, I prefer to keep them all available so I can change to different plugins as I work through different consoles/handhelds/computers/arcade/other, so I can test different plugins and then potentially assign specific games to specific plugins (for the same console) if I prefer one plugins functionality but another provides a better gaming experience for some of them. Appreciate that I can still do this via just removing / restoring plugins, but it'd be a 'nice to have' to be able to have them all visible and just use the UI.

Would you consider including a change for this if it was a simple fix (e.g. such as an 8 bit integer being used as an internal ID for the plugins [or something similar] so it just means changing a data type to support more than 255)? If more than a simple change then I understand that it's not worth the effort. Happy to support with the testing effort if it were to progress.

gingerbeardman commented 6 months ago

Just so I understand it you're using the plugin system to map to individual games? Why? What benefit does this offer? Screenshots appreciated!

Duggy84 commented 6 months ago

Sorry, may have not been clear in my wording. I'm not using the plugin system to map to individual games but there are cases where I use more than one plugin for a specific console/handheld/computer. For example, I may use one plugin for SNES for most of the games and then another SNES plugin for some different games. I will never need to simultaneously use more than 255 plugins (probably actually actively using less than half of that - haven't counted) but it's just useful to have them in the GUI to be able to map source buttons to, and to change source button mappings to try different plugins for the same set of games in order to determine which plugin is preferred. Does that make sense?

gingerbeardman commented 6 months ago

I don't know. Earlier you said you were using "about 275", then "no more than 255" and now you're saying you use "less than half of (255)" so I am just trying to see the need for this. It sounds like you don't need it? So who would and in what scenario?

Increasing the limit might have effects on the system resources, so it's good to understand exactly what you're trying to do with 255 plugins. If a problem exists then maybe there's a better solution?

The XY problem The XY problem is asking about your attempted solution rather than your actual problem.