WiiFlow Lite Einstein Mod
This mod is super easy to install as runs in it’s own apps/wiiflow_einstein directory with it’s own ini file, so it can be used alongside upstream WiiFlow Lite, however it will share the wiiflow settings directory. If there's demand, I can also create alternative builds that use the wiiflow_lite and wiiflow folders for compatibility with existing channels and Priiloader forwarders.
This mod is super easy to install as runs in it’s own apps/wiiflow_einstein directory with it’s own ini file, so it can be used alongside upstream WiiFlow Lite, however it will share the wiiflow settings directory. If there's demand, I can also create alternative builds that use the wiiflow_lite and wiiflow folders for compatibility with existing channels and Priiloader forwarders.
Latest official release is located here: https://github.com/einsteinx2/wiiflow-lite-einstein-mod/releases/latest
Source code repository located here: https://github.com/einsteinx2/wiiflow-lite-einstein-mod
Source code for the forwarder app and channel here: https://github.com/einsteinx2/wiiflow-lite-einstein-mod-forwarder
Forked from the WiiFlow Lite by fledge68 located here: https://sourceforge.net/projects/wiiflow-lite and more info here: https://gbatemp.net/threads/wiiflow-lite.422685
First off I want to give a gigantic thanks to Hibernatus, zorglub07, Narolez, r-win, hulk, miigotu, OverjoY, and FIX94 for all of their work on the original WiiFlow versions, as well as @FIX94 again for creating the Nintendont loader and to @fledge68 for creating WiiFlow Lite fork with tons of bug fixes and improvements which my mod is based on! Without them, this wouldn't be possible. They've done all the heavy lifting so far.
The purpose of this repo and mod is to have a place to freely work on my own modifications and improvements to WiiFlow Lite. My main goal is to fix bugs, improve performance, and improve the user interface and user experience as much as possible.
I will closely track upstream and merge in any new revisions to stay up to date and hopefully many of my changes will be merged upstream as well.
I've changed APP_NAME to WiiFlow Lite Einstein Mod and added my name to DEVELOPERS alongside fledge68. Also I've removed the SVN revision script along with the .svn folder since I’m not using SVN. I’ve decided to use my own versioning system starting at build 1 to better track my own changes and avoid confusion, so I'll just be manually updating the source/svnrev.h file as I want to update build numbers. I've decided to leave the SVN_REV variable name alone to prevent other source code changes. I’ll always note in the commit what the current SVN version is when I merge in new changes. I’ll keep the APP_VERSION the same as whatever upstream WiiFlow Lite has set.
I’ll attempt to keep my changes mergeable (i.e. not make drastic refactorings, change brace style, variable naming conventions, etc). Also, I’ll attempt to keep compatibilty with the wiiflow_lite.ini file by only adding options, never renaming existing ones. Same goes for compatiblity with the wiiflow settings directory. While over time this may not be possible if this version drifts too far from WiiFlow proper, but I'll do my best.
Installation:
Follow these steps:
- Download the latest release zip file from here: https://github.com/einsteinx2/wiiflow-lite-einstein-mod/releases/latest
- Unzip it and copy the 2 folders inside the apps subfolder to the apps folder on your SD card
- Copy the channel wad file from the wad folder to your SD card
- If you're an existing WiiFlow Lite user, copy your existing wiiflow_lite.ini file to apps/wiiflow_einstein so you can keep your settings
- Install the channel wad using your favorite tool (channel is necessary to properly return from Wii games)
- Boot into Priiloader by holding the reset button while your Wii turns on
- Install the apps/wiiflow_einstein_forwarder application
- In Priiloader settings, choose to boot to installed app
Upgrading:
Every time I make a change I include the compiled boot.dol and bin files in the commit, so to upgrade to the latest version at any time just do the following:
- Browse to apps/wiiflow_einstein on your SD card
- Replace boot.dol with this one: https://github.com/einsteinx2/wiiflow-lite-einstein-mod/raw/master/out/boot.dol
- Replace the 3 .bin files in the bins folder with these: https://github.com/einsteinx2/wiiflow-lite-einstein-mod/tree/master/out/bins
There's no need to update the channel or priiloader forwarders on every update as they simply run apps/wiiflow_einstein/boot.dol, so they will always launch the latest one you install. However, I may improve them in the future and will always include the most updated versions in the latest official release zip files.
Changelog since WiiFlow Lite r1137:
Bug fixes and improvements:
- Fixed compiling on macOS and probably Linux (one of the files had an import using a backslash)
- Added compilation notes for macOS High Sierra
- App now runs from the apps/wiiflow_einstein folder so it can be used alongside wiiflow_lite
- Forwarder for Priiloader and a channel wad located here: https://github.com/einsteinx2/wiiflow-lite-einstein-mod-forwarder (note: the channel uses WFLE rather than WFLA to differentiate, though for some reason when I install both channels I only see mine, I need to look into it and make a better one, I just dropped the forwarder dol into an existing WiiFlow Lite forwarder channel and edited the name and title id)
- Added logging functions for performance testing (makes it easy to print time diffs)
- Loading screen now shows immediately, then starts animating after ISFS initializes to prevent a stutter
- No longer reloading IOS if we’re already on the preferred one (in my case it boots with IOS 58 so it isn't necessary to reload it, so we can save some boot time)
- Removed an unnecessary sleep when initializing ISFS (this and no longer reloading IOS cut boot time by almost 2 seconds for me!)
- Remove 20 second wait before Wiiflow boots for people using SD cards only!! It checks to see if the app folder is on the SD card then checks to make sure no sections are set to USB partition, and if not, it skips mounting the USB drive completely saving about a half second or so on boot time compared to a hard drive setup and removes the 20 second timeout delay!
- Now using the config domain defines instead of strings everywhere (Eventually I’d like to make defines for every setting option and stop using strings directly as well.)
UI/UX Changes:
Previously when flipping a cover with the A button, only the B button can go back and all of the other UI disappears. It was super confusing the first time, I had thought I was stuck. Because I hit A to flip it I expected A to flip it back.
What I ended up doing was getting rid of the flipped cover alternate mode altogether as it doesn't seem to be very useful. It lets you zoom and stuff but the textures aren’t high resolution enough to let you see any more info than not zooming, so I don't really see the point.
Now you hover over the game cover, hit the A button to flip it, then it will flip in place and nothing else changes. Then just hover over it and hit A again to flip it back. I think that's much nicer UX.
Last edited by einsteinx2,