einsteinx2 / wiiflow-lite-einstein-mod

My customizations to WiiFlow Lite, at first focusing on polishing the UI and UX. Attempting to keep as much source compatibility as possible. Original repo here: https://sourceforge.net/projects/wiiflow-lite/
4 stars 1 forks source link

Automatic cover flows based on magic numbers for more plugins #17

Open Tetsuo-78 opened 6 years ago

Tetsuo-78 commented 6 years ago

Showing the right cover sizes based on magic numbers, for all plugins. E.g. jewel case format for pc-engine cd games, or big boxes for pc games (scummvm, dosbox, quake, eduke32) As of now, in wfl only a bunch of plugins are automatically set up with coverflows (snes9x, gambatte etc) but many others are not and use a default view. There are many cover sets already done for these formats. It would be nice if the user could get all his coverflows already configured with the right sizes.

einsteinx2 commented 6 years ago

Does this require a change to how WiiFlow determines the cover format? Or is it just a matter of adding the additional plugins to an already existing list of magic numbers?

Tetsuo-78 commented 6 years ago

I do not know How it works

kaisersozeh commented 6 years ago

There's 2 lists of magic numbers in the code - menu_source.cpp

one for GameBoy and CD ratio'd covers one for Snes and N64 "Horizontal covers" Magic numbers outside these sets fall under the standard DVD ratio - game covers will have a "shrunken spine" set adjusted from actual scans to fit WiiFlow's proportions

Qiiflow requires magic numbers with a wildcard last digit - I've asked fledge to accommodate this, but I still haven't tested the dol he kindly provided - i'm booting up my wii today!!! - so this isn't in the lite build, or the code, yet.

My point here is that defined sets are possible with wildcards - if a variety of box sizes were possible - they could be customised to scans - that's a lot less hosting and fuss for the people curating game covers, and a more accurate depiction of the game cover for the users... It might be a pain to do, so it's A Cost/Benefit thing.

It used to be defined by a different mechanism - but I'm unsure of the details - Tetsuo?

kaisersozeh commented 6 years ago

For Clarity - Magic numbers are arbitrary - it's a tag to define a plugin.ini so each has to be unique They were originally based on an 1 ascii character = two figure hexnumber conversion of four letters eg the Quake plugin name convention - there might be a LOT of plugins - goes Quake(Q), Version number (0 - to avoid confusion with mission pack 1), Mod (or World 'M'or'W)' Wildcard (%) =Q0M% (ASCII) =51304d%% (HEX)

In the rush to get stuff done, the HEX=ASCII thing got dropped - and a Magic number may be entirely arbitrary and undocumented Fixing this is entirely possible but not backward compatible

Tetsuo-78 commented 6 years ago

In standard wiiflow it was easier. Coverflows were chosen based on a number in source_menu.ini: Emuflow=X (where X is a number) Coverflow settings are stored in /themes/ .ini files associated with their number. If one prepared an .ini file with all the right emuflows set correctly, it would be just a matter of assigning the corresponding emuflow numbers to source_menu.ini to get it done. e.g. emuflow=1 for DVD case, emuflow=2 for small box games (Gameboy, Atari Linx...), emuflow=3 for big box games (DOS, amiga, C64...), emuflow=4 for CD jewel case, emuflow=5 for horizontal boxes (Snes, N64) and so on....

In wfl the emuflow=X line is ignored and coverflows are chosen based on magic numbers. I think this is the worst feature of WFL

kaisersozeh commented 6 years ago

I believe he's done it to speed up something - to be fair I think it's worked - could you provide the dimensions for the correct box sizes and the magic numbers (and names) for the corresponding plugins?

Tetsuo-78 commented 6 years ago

I could post screenshots for cover scale values I think it's easier than looking at themes .ini files, they're very long and confusing

For now here's a list of coverflows and plugins: Jewel case CD wiimednafen_pcecd -----> 4d45454e

Jewel case CD with double spine size wiisx -----> 57495358

Big Boxes dosbox-wii -----> 44424F58 scummvm_plugin -----> 5343564D uae -----> 414D4947 frodo -----> 4336344E prboom -----> 5052424D residualVM -----> 4752494D Eduke32 -----> 44554B45, 444E4356, 444E4443, 444E4E57 QuakeGX -----> I don't know its magic number

Small Boxes (use the smallboxes coverflow already present for gb and gbc plugins) All handhelds plugins (Atari Lynx, NGP, Wonderswan, Game Gear, Gameboy advance, Nintendo DS, Virtual Boy)

kaisersozeh commented 6 years ago

I can put together a list of the small box magic numbers - do whatever seems intuitive for the differing box sizes, but ultimately what's needed is simply a list with the details: Console name - magic number - Real (scanned) cover dimensions whole cover, front spine Wiiflow (shrunken spine) cover dimensions Whole Front Spine

I use notepad++ for this kind of thing - it supports tabs, it will open anything in a readable format and has great find and replace functionality