Homebrew app [RELEASE] RiftWii: play Riivolution-format mods from USB, SD or disc

  • Thread starter Thread starter Ishtar
  • Start date Start date
  • Views Views 3,523
  • Replies Replies 28
  • Likes Likes 19
RiftWii 2.7.0 is out (stable)

It's been a week of betas and release candidates since 2.1.0, and testers checked all of it on real Wiis, so 2.7.0 is the new stable. If you're on 2.1.0 with updates set to Stable, RiftWii offers it by itself.

What's new since 2.1.0
  • Code builds: Brawl mods made of Gecko codes (Project+, REX, PMEX Remix) start from RiftWii, with a virtual SD card image so they don't need your real card's layout (experimental)
Does it work with BrawlEx?
 
I haven't had a chance to look through the changes to your repo since I posted, but I'm already quite happy so far with your attitude and quick action and reply.
I took a peek, and I'm not thrilled with this comment "Now go fuck yourself, GPL police."
I had a run-in with the "GPL police" 😂🚨 back in 2011 when I didn't have the slightest clue about this stuff, and took a lot of actions to make sure I'm compliant.
I'm assuming you took my joke and ran with it (?). Giving you the benefit of the doubt, maybe you were kidding too, but there's a time and place for GPL jokes, and source code isn't one of them. Consider taking this a bit more seriously, and let's save the jokes for forums like this, cool?

While I appreciate you've tried to make things right, I'm not sure if that's possible without going back to square one, which I'm sure you'd prefer to avoid but I don't see any other way to be compliant with licenses. The issue is that when you feed a LLM sourcecode for other apps it will often use it as a blueprint (even without asking it to), as was the case here. That's why RiftWii's using the same libraries and has the same/similar file and function names in more than a few places, etc as USB Loader GX. This makes it a derivative work, which needs to have the original licenses (with contributors) to be in place in full and in each file. But this would be difficult (impossible?) for you to do at this stage, since there's no way to reliably determine what code the AI copied (or used as a blueprint) and what licenses need to be added back and where. This is something that an AI would probably have needed to have spelled out for it at the start of such a project.

I'm not here to police you, I'm just making this final post on this matter because where we last left things others may think everything is fixed from a licensing perspective, but it's not. I highly discourage taking a relaxed view to license compliance, and I can promise you that if behavior like this becomes wide-spread, more and more open-source developers will start building closed-sourced applications instead, potentially even in homebrew communities like this one. I'm a big fan of open-source, and don't want to see it slowly wither and die.

Thanks for your attention, see ya!
 
Last edited by XFlak,
  • Like
Reactions: Kirbeast
I agree licenses are annoying, but that commit was poor taste. Either way, I don't think it's necessary to stir the pot
 
I took a peek, and I'm not thrilled with this comment "Now go fuck yourself, GPL police."

I'm assuming you took my joke and ran with it (?). Giving you the benefit of the doubt, maybe you were kidding too, but there's a time and place for GPL jokes, and source code isn't one of them. Consider taking this a bit more seriously, and let's save the jokes for forums like this, cool?

While I appreciate you've tried to make things right, I'm not sure if that's possible without going back to square one, which I'm sure you'd prefer to avoid but I don't see any other way to be compliant with licenses. The issue is that when you feed a LLM sourcecode for other apps it will often use it as a blueprint (even without asking it to), as was the case here. That's why RiftWii's using the same libraries and has the same/similar file and function names in more than a few places, etc as USB Loader GX. This makes it a derivative work, which needs to have the original licenses (with contributors) to be in place in full and in each file. But this would be difficult (impossible?) for you to do at this stage, since there's no way to reliably determine what code the AI copied (or used as a blueprint) and what licenses need to be added back and where. This is something that an AI would probably have needed to have spelled out for it at the start of such a project.

I'm not here to police you, I'm just making this final post on this matter because where we last left things others may think everything is fixed from a licensing perspective, but it's not. I highly discourage taking a relaxed view to license compliance, and I can promise you that if behavior like this becomes wide-spread, more and more open-source developers will start building closed-sourced applications instead, potentially even in homebrew communities like this one. I'm a big fan of open-source, and don't want to see it slowly wither and die.

Thanks for your attention, see ya!
Fair points, you're right about that comment. It shouldn't have been in the source, joke or not, and I'm sorry about that.

Some context, not an excuse: I've watched people get pushed off platforms over small license mistakes, piled on instead of just being told what to fix. That's where the sour joke came from. It still wasn't the right way to say it, so I rewrote that achievement. It now thanks the developers whose work RiftWii builds on, and says the GPL is there to protect people who share their code: https://github.com/KakarottoCake/Riftwii/commit/0478ec1

For what it's worth, RiftWii is a hobby for me. I don't make money from it, I don't ask for donations, and everything is open source. I have a lot of respect for the developers who did the hard work of making this stuff possible in the first place, and I want them credited properly.

On the derivative-work question: RiftWii is GPL-3.0-or-later like USB Loader GX, so the issue is attribution rather than compatibility, and I wanted to answer it with evidence rather than reassurances. I compared RiftWii's source file by file against USB Loader GX's and libwiigui's, looking for:
  • code that matches as written, or with the names changed
  • function names both projects define
  • constants both projects use
Then I checked every match by hand. The method, a script anyone can rerun, and every finding are here: https://github.com/KakarottoCake/Riftwii/blob/main/docs/ATTRIBUTION_AUDIT.md

The GX code it found (the Wiimmfi and per-game patch data, the Kirby patch, the code handler pieces) was already credited in NOTICE.md and in those files' headers. It also turned up things I'd missed:

If anyone finds something the audit missed, open an issue and it'll get the same treatment.

I'll also be upfront: AI tools were part of how RiftWii was written, and GX's source was a reference for the features NOTICE.md lists, which is exactly why I checked mechanically. Thanks for taking the time to write this out. I care about open source staying open too.
 
I wonder if, someday, people will be putting disclaimers on things for being 100% human-drawn/coded/acted?
That said, good job on fixing licensing whoopsies. Might try this out if I ever get any modpacks for my WBFS games... might try playing Newer with it to test retail discs too.
 
  • Like
Reactions: Ishtar
I have a few developer questions. Was there any significant changes to get GameCube adapter to work on Wii U? Did you test it with Super Smash Bros. Brawl to see if it works? Do you need a virtual sd card to run Project+ on USB drive only?
 
I have a few developer questions. Was there any significant changes to get GameCube adapter to work on Wii U? Did you test it with Super Smash Bros. Brawl to see if it works? Do you need a virtual sd card to run Project+ on USB drive only?
Yes, it took quite a bit of work. The Wii U's Wii mode only lets the adapter be seen through certain system software, so RiftWii picks the version that can see it, which is usually your d2x cIOS built on IOS58. RiftWii then reads the adapter itself and passes those inputs to the game as if a GameCube controller were plugged into the Wii's own ports. It also does rumble. Testers have confirmed it working on Wii U with games from SD, from disc, and in RVZ format.

The adapter has been tested with regular Brawl and works from disc. From a USB drive it needed one more fix, which a tester has confirmed working and which comes in the next build, of which I will be releasing a Stable release soon (Youtuber proof, essentially lol)
 
RiftWii Stable 2610-325 is out

The second stable, a week after 2.7.0. Builds are now numbered like Dolphin's: 2610 is the release line and 325 the number of changes since 2.7.0, so a bigger number is always newer.

Download | Everything that changed

2610-325-shelf.png
2610-325-banner.png

The highlights:
  • A Wii Menu look: a dipping bar with an LCD clock, the Wii Menu's own font, a Wii-style HOME Menu and smooth transitions
  • Three ways to see your games: covers, a 3D shelf of boxes you can turn round, or your games' real animated banners with their sounds
  • Themes: Bookshelf and Midnight in the zip, and a theme kit to make your own
  • Search, favourites, Home order, play history and a What's new box
  • Saves: SD and USB games save through d2x like USB Loader GX, and saves on SD and USB are safer
  • GameCube controller adapter in games on a Wii U too, with a cIOS check
  • More games work: Resident Evil 4 from RVZ, Mario Super Sluggers, Balance Board games and more
  • Per game: aspect ratio, rumble, Wii Remote speaker, region strings fix, and cheats with a value keypad
  • French and Korean, every menu translated in 7 languages, 12 or 24 hour clock
  • Launches from other loaders: USB Loader GX and WiiFlow can start games through RiftWii with your mods
  • RiftWii channel 11: fewer black screens on the way back from a game. RiftWii asks you to update the channel, it takes a few seconds
  • You can now disable the clock

2610-325-home.png
2610-325-shelf-back.png

2610-325-channels.png
2610-325-bookshelf.png

2610-325-midnight.png
2610-325-game-page.png

2610-251-search.png
2610-161-cheat-keypad.png

2610-325-home-menu.png
2610-325-whats-new.png

Updating: RiftWii offers it by itself (Settings > Updates). A clean install is best: copy the zip's sd-card folder onto your SD card and let it replace the files. Your settings, mods, saves and games stay.

Known issues: Cars 2 is cursed (it goes black if RiftWii changes anything in it, RiftWii warns you now), and Back to RiftWii can still go black after some games (#62).

If something goes wrong: Settings > Send a problem report gives you a link and a QR code, no need to take out your SD card. Post it here or on the Discord.

Big thanks to the testers and to everyone who sent pull requests!
Post automatically merged:

Hotfix: RiftWii Stable 2610-340

On a Wii U (vWii), the RiftWii channel 11 that 2610-325 asked you to install never starts. Sorry about that! Channel 12 fixes it. On a Wii, channel 11 is fine and nothing changes.

If your RiftWii channel stopped opening: start RiftWii from the Homebrew Channel, let it update to 2610-340 (or copy the zip onto your SD card), then press Update now when it asks for the channel. The channel works again after that.

Also fixed: Home showed a second, plain clock above the LCD one.

Download

If something goes wrong: Settings > Send a problem report gives you a link and a QR code, no need to take out your SD card.
 
Last edited by Ishtar,

Site & Scene News

New Hot Discussed User Submitted