Hacking WiiFlow Lite

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,436
Trophies
2
XP
4,949
Country
United States
The ability to add a custom user-provided image as a loading prompt is an attractive option I would eventually like to see; under the circumstance that it doesn't completely replace or do away with the option to keep the standard WiiFlow logo animation the program is already compiled with.

As odd as it may sound, I find the WiiFlow loading animation to be rather therapeutic and relaxing as opposed to most loading screens. But I do see the benefit in having the option to customize. I would definitely use it on a future media center-focused setup.

Edit: Perhaps this feature could be incorporated as a user-adjusted line defined in something such as the wiiflow_lite.ini for people wanting to experiment with the option.

Example: [GENERAL]
"
custom_boot_image=yes" would find the image in a user-specified file "custom_boot_dir=sd:/apps/wiiflow_lite/imgs"

"
custom_boot_image=no" would bypass the search for a custom image and use the standard animation provided inside the program.

In this way, the user could basically choose between "custom, but slower" and "default, but faster".

Edit2: Now that I think about it; it seems like it would probably be slower with either option introduced since the SD or USB has to first be mounted to read the wiiflow_lite.ini anyways? :unsure:
And on top of that wiiflow does a lot before it even loads wiiflow llite.ini. maybe have that info saved in the wiiflow save file somehow.
 

dishe

Well-Known Member
Member
Joined
Apr 11, 2018
Messages
134
Trophies
0
Age
44
XP
231
Country
United States
Some very simple and generic loading animations I just whipped up. Including a single frame of each to get the idea. One is loading with a spinning circle (8 frames), one is Please Wait with a red bar that lights up and swishes across (6 frames), and the smallest and lightest should be the "loading..." with just animated ellipses (4 frames). Personally I think the Loading circle one is classiest, but the others are more wii-friendly looking (slightly whimsical font, etc). I personally want the circle one in my loader if I had a choice. All of them are included in attached zip. File is very small. @kaisersozeh, I could try to come up with some large frames with lots of things happening if @einsteinx2 really wants to try and push the limits, but I didn't make one because its not what I would have wanted personally, also I'm almost positive it will contribute to longer load times in some way or another.



loadcir2.png
loading3.png
wait-bar2.png
 

Attachments

  • wiiflowgenerics.zip
    50.5 KB · Views: 169

kaisersozeh

Well-Known Member
Member
Joined
Mar 21, 2018
Messages
260
Trophies
0
Location
Phobos
XP
1,054
Country
Antarctica
I dont know. I wouldnt think so. It would make the savefile rather large i would think.
some wii game saves are very large indeed - fundamentally I'm wondering whether an image stored on the nand has a better access time - as wiiflow is looking at a save file anyway. Hmnnnn......Could have something a lot simpler as a base animation.
I was looking at the code - there's a few references I think are for displaying the boot status - if there was a "tips" file in the save the waitscreen could show, for example "Holding B and pressing an arrow will jump to the next letter" and other pithy tips.
 

dishe

Well-Known Member
Member
Joined
Apr 11, 2018
Messages
134
Trophies
0
Age
44
XP
231
Country
United States
Something to keep in mind, I tried out one of my proposed animations on the previous page (thanks @fledge68 for taking the time to compile one for me!), and I totally forgot to take into consideration the aspect ratio. Since standard def widescreen pixels aren't square, designs made on a desktop computer with square pixels are going to get stretched. Its not terrible, but my circle came out as an oval. Something to keep in mind if anyone wants to create custom animation going forward.

As far as the size of savegames... what games would have large save files? I can't imagine a game that would need a lot of storage in a save file. Granted these images don't take up a lot of space (we're talking tens of kilobytes usually), but I feel like the save game file type likely wasn't designed to store images. I could be wrong.
 
  • Like
Reactions: kaisersozeh

kaisersozeh

Well-Known Member
Member
Joined
Mar 21, 2018
Messages
260
Trophies
0
Location
Phobos
XP
1,054
Country
Antarctica
Nice one fledge for doing that - I've been stuck in installation hell for three days - foolishly trusted their installer, eventually 3rd party PE and an actual iso got it done - microsoft are bad people and I do not like them.
Obviously, saves are not intended for storing images, but they're not intended for holding wiiflow data either - some game saves took up a couple of dozen blocks - that would indicate a save file hundreds of times bigger than the images we're talking about.
I don't see how this is such a bizarre thought - I'd assumed what's inside the wrapper of a save is entirely proprietary.
@fledge68 would it be possible to change size and or shape of the display such that the pixels are smaller and/or not distorted?
https://github.com/einsteinx2/wiiflow-lite-einstein-mod/issues/6
 
Last edited by kaisersozeh,

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,515
Country
United States
There's only 512MB of NAND memory. You wouldn't be able to store a whole lot of covers before it was full.

Real NAND titles are restricted in how much memory they can use for data.
 
  • Like
Reactions: kaisersozeh

kaisersozeh

Well-Known Member
Member
Joined
Mar 21, 2018
Messages
260
Trophies
0
Location
Phobos
XP
1,054
Country
Antarctica
There's only 512MB of NAND memory. You wouldn't be able to store a whole lot of covers before it was full.

Real NAND titles are restricted in how much memory they can use for data.
This is for animation frames. Pngs. Current ones are 200x80 pixels - 8 frames

Windows 10, 64 bit (woohoo!) tells me they're 67.9 kb in total
 
Last edited by kaisersozeh,
  • Like
Reactions: dishe

Tetsuo Shima

Well-Known Member
Member
Joined
Oct 29, 2008
Messages
1,874
Trophies
2
Age
45
XP
4,884
Country
Italy
I totally forgot to take into consideration the aspect ratio. Since standard def widescreen pixels aren't square, designs made on a desktop computer with square pixels are going to get stretched. Its not terrible, but my circle came out as an oval. Something to keep in mind if anyone wants to create custom animation going forward.
Yes the same thing happened to me when I was doing banners. They have the correct proportions if the screen is set to 4:3, but if it's 16:9 they are stretched. I had to make a separate set of banners for 16:9, shrinking the images width by 75% (but keeping the same image resolution, so I had to fill the extra space to the left and right of the image with the background color).
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,436
Trophies
2
XP
4,949
Country
United States
Yes the same thing happened to me when I was doing banners. They have the correct proportions if the screen is set to 4:3, but if it's 16:9 they are stretched. I had to make a separate set of banners for 16:9, shrinking the images width by 75% (but keeping the same image resolution, so I had to fill the extra space to the left and right of the image with the background color).
I quickly looked at the code. And it appears the gui doesnt take into account the widescreen setting. Only coverflow is affected.
 
  • Like
Reactions: kaisersozeh

Wiimpathy

Well-Known Member
Member
Joined
Mar 3, 2010
Messages
1,013
Trophies
2
XP
3,119
Country
France
Here's a linux and windows tool to create the cache files. PNG support only.

wfc_conv 0.1


Usage

wfc_conv.exe Path [-OPTION]

#Path#

The path to the WiiFlow folder containing your boxcovers.

#OPTION#

-uncompress : Don't compress textures. Not recommended, files are large. It's disabled by default in WiiFlow.

-wiicovers : Create cache files for Wii and GameCube covers.

Examples :

wfc_conv.exe e:\WiiFlow

wfc_conv.exe e:\WiiFlow -wiicovers


On my old i5, I got around 30 seconds for 300 covers and 30 minutes for 8500 covers. The CreateCache homebrew took about 10 minutes to convert the 300 covers!
I know it's really late for most WiiFlow users, but I wanted to do this stuff for a long time(but failed due to lack of knowledge and time). I hope it helps 1 or 2 people though.
 

dishe

Well-Known Member
Member
Joined
Apr 11, 2018
Messages
134
Trophies
0
Age
44
XP
231
Country
United States
Here's a linux and windows tool to create the cache files. PNG support only.

wfc_conv 0.1


Usage

wfc_conv.exe Path [-OPTION]

#Path#

The path to the WiiFlow folder containing your boxcovers.

#OPTION#

-uncompress : Don't compress textures. Not recommended, files are large. It's disabled by default in WiiFlow.

-wiicovers : Create cache files for Wii and GameCube covers.

Examples :

wfc_conv.exe e:\WiiFlow

wfc_conv.exe e:\WiiFlow -wiicovers


On my old i5, I got around 30 seconds for 300 covers and 30 minutes for 8500 covers. The CreateCache homebrew took about 10 minutes to convert the 300 covers!
I know it's really late for most WiiFlow users, but I wanted to do this stuff for a long time(but failed due to lack of knowledge and time). I hope it helps 1 or 2 people though.

I like the sound of this, but I'm not entirely sure what it does. I made my covers in photoshop (either from scratch if no cover existed, or to resize and line up the borders if I found a cover online), and then export to png. Does this replace that process? If so, how does it work? Sorry for my n00bish question!
 

Wiimpathy

Well-Known Member
Member
Joined
Mar 3, 2010
Messages
1,013
Trophies
2
XP
3,119
Country
France
No, it has nothing to do with png editing with Photoshop or Gimp.

The images you put in your boxcovers are converted in a special format in WiiFlow. That's the .wfc files (Wiiflow Cache File) you'll find in /WiiFlow/cache. This custom format was created to reduce files size and improve the speed I guess. When you have a large rom collection, this process (png to wfc) can take ages. You have to do it manually per plugin too.
This program converts all the images to wfc automatically in a few minutes.
 

dishe

Well-Known Member
Member
Joined
Apr 11, 2018
Messages
134
Trophies
0
Age
44
XP
231
Country
United States
I quickly looked at the code. And it appears the gui doesnt take into account the widescreen setting. Only coverflow is affected.

To be fair, I think its safe to say that any graphics designed to display on the Wii should be done in 16:9 ratio (stretched pixels), regardless of the widescreen setting. I highly doubt anyone is going to use this on a 4:3 display, and if they are, they are clearly the exception and not the rule. My oval-shaped loading graphic is good enough for now, but some point in the future I'll revisit and stretch everything to the right aspect ratio.

For the record, @Tetsuo Shima , 75% stretch inward may be a good ballpark figure, but it isn't exactly correct 1:1. Things like circles will be ever so slightly off. Even at 4:3, the pixels are not square- they are 0.91x the size in NTSC, and 1.09x the size in PAL. Widescreen is 1.21x and 1.46x, respectively. That's why 4:3 looks "good enough" that it can pass for accurate (its close to 1x), but widescreen is noticeably stretched.
Thankfully Photoshop actually has a setting for aspect ratio correction. When you open a new document, there are actually presets for video/film, and it will open a 720x480 file, but display it the way the final will look rather than render it with the square pixels of your computer screen. I've been working in media production for over a decade, so I'm actually kicking myself that I forgot about this. Ever since we moved to HD as a standard, pixels have been square, so it's been a while since I had to think about aspect ratios. I'll remember for next time. :)

--------------------- MERGED ---------------------------

No, it has nothing to do with png editing with Photoshop or Gimp.

The images you put in your boxcovers are converted in a special format in WiiFlow. That's the .wfc files (Wiiflow Cache File) you'll find in /WiiFlow/cache. This custom format was created to reduce files size and improve the speed I guess. When you have a large rom collection, this process (png to wfc) can take ages. You have to do it manually per plugin too.
This program converts all the images to wfc automatically in a few minutes.
Ooooh, ok cool. I never dealt much with WiiFlow before my car project, and on that I'm only dealing with like 20-30 titles total in all plugins. I was not aware- cool tool and very useful!
 

Tetsuo Shima

Well-Known Member
Member
Joined
Oct 29, 2008
Messages
1,874
Trophies
2
Age
45
XP
4,884
Country
Italy
Yes, maybe 75% is a bit too much, but on my PAL Wii it's really close (I'm looking at my banners, they don't have any big circles but wiimote/cc pictures, so the difference is hardly noticeable).
To be fair, I think its safe to say that any graphics designed to display on the Wii should be done in 16:9 ratio (stretched pixels), regardless of the widescreen setting. I highly doubt anyone is going to use this on a 4:3 display, and if they are, they are clearly the exception and not the rule.
In most cases I agree. But let's not forget about the Wii's ability to output to 240p. It's a unique feature among consoles, not even the raspberry pi can do it, and I know that many enthusiasts are plugging the Wii to old 4:3 CRT's to use it as an emulation station with real 1:1 pixel prefection (no scaling and real scanlines)
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,436
Trophies
2
XP
4,949
Country
United States
hey guys try r1148 - http://www.mediafire.com/file/cngdpqd920udo6d/boot.dol

-added meta.xml args for custom wait message images. waitdir= for full path to folder containing the images. and waitloop if you want the images to play and repeat otherwise the images move forward and backward.
-added widescreen fix just for wait images. may attempt more as time goes by.
-fixed a small thing i forgot in the last commit for cache covers.

r1147 changes
-added ability to cache covers. just select your source then go to home menu and click cache covers. it will go thru your current game list and convert the covers to wfc cache files. needed mainly for if you add a bunch of roms and cover pngs for a plugin. or if you for some reason need to remake the wfc files for all your wii or gc games. note using wiimpathy's wfc conv 0.1 on your pc is still a faster better option.

r1146 changes
-fixed small banner frame (carbonik abz theme) hiding when switching to full banner.
-fixed music title display to use word wrap if wanted.

so the meta.xml args work like this:
in your apps/wiiflow_lite folder create a subfolder named wait_imgs and put all your wait images in it.
then open meta.xml in a editor (notepad++ or whatever you like) and add these lines before the </app> line:

<arguments>
<arg>waitdir=sd:/apps/wiiflow_lite/wait_imgs</arg>
<arg>waitloop</arg>
</arguments>

only add <arg>waitloop</arg> if you want the images to play and repeat rather than forward and backward.
this line <arg>waitdir=sd:/apps/wiiflow_lite/wait_imgs</arg> is for setting the full path to the images folder. so if you have them on usb then change sd: to usb:. or maybe you want to put the folder somewhere else that's fine. just be sure this is set the full path of the folder containing the images and don't add a '/' on the end.

this works if you launch via the forwarder or HBC 1.07 or greater. im not sure if the priiloader dol works.
may add an arg for wait delay if its really needed.
also the black screen on startup may be a bit longer do to having to load the images from the folder.
 

Hakaisha

Well-Known Member
Member
Joined
Sep 17, 2014
Messages
236
Trophies
0
XP
1,456
Country
United States
This is great! Thanks, fledge68. The song titles are behaving just how I want them to now. Now I can finally finalize my theme and release it. :grog:

I did some quick tests of the boot animation and I can confirm it works with Priiloader just fine. I timed it to only take around 10 seconds from powering on the console, to seeing the custom on-screen boot animation. Not bad at all. ^_^

This will certainly be fun to experiment with.
 

dishe

Well-Known Member
Member
Joined
Apr 11, 2018
Messages
134
Trophies
0
Age
44
XP
231
Country
United States
Amazing updates! Is it noticeably slower to boot like this?

I did some quick tests of the boot animation and I can confirm it works with Priiloader just fine. I timed it to only take around 10 seconds from powering on the console, to seeing the custom on-screen boot animation. Not bad at all. ^_^

This will certainly be fun to experiment with.

Hmm- that's not bad, but its also a long time to wait before the screen does anything. In my minivan setup, you can't see the Wii hardware, so the only confirmation that the unit is powering up is the screen. 10 seconds can feel like an eternity if you're not sure the power on was accepted from a remote. How long does it take without the custom boot anim? Also does it matter how large / how many frames / etc the boot anim is? I'm not near my hardware right now to try any of this, but I love the progress and thank you @fledge68 for putting in all this amazing work! This has evolved so much in the last several weeks, going from "Good enough to get by" to more-or-less everything I wanted and more! What an incredible community this is, and thank you again for making it possible!
 

Hakaisha

Well-Known Member
Member
Joined
Sep 17, 2014
Messages
236
Trophies
0
XP
1,456
Country
United States
How long does it take without the custom boot anim?

It takes 10 seconds for the boot animation to start on my setup; with or without a custom animation inserted. ^_^

Just be sure to reinstall WiiFlow Lite to Priiloader every time you make any adjustments to WiiFlow Lite's meta.xml file. The changes made will instantly reflect when booted from HBC, but the last saved configuration is used in Priiloader, regardless of the current state of the meta.xml.

Also does it matter how large / how many frames / etc the boot anim is?

The largest image size I have been able to achieve so far is 200x100, with up to 10 images used for frames of animation.

In my tests so far, anything sized smaller than 200x100 will oddly blank out the last frame in the animation sequence loop. It may also be the fact I've been using less than 10 frames in those, but 200x100 animations don't have this issue with less frames.

Seems like it's easy enough to just use a 200x100 canvas and put your smaller image in the middle, surrounded by an alpha channel transparency on the sides to compensate as a workaround for this issue.

I'm curious if it's possible to expand the maximum image size accepted. This could potentially be used for static splash screens similar to RetroPie. Larger animation frames would be interesting to try out as well.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: :rofl2: +1