Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Override for Boot IOS for Wii Titles #10464

Merged
merged 1 commit into from Mar 22, 2022

Conversation

Zarklord
Copy link
Contributor

@Zarklord Zarklord commented Feb 19, 2022

This allows any game to specify a different IOS as the IOS used to boot the game.

The target of this is primarily smash bros, as this allows SDHC cards to be used with the game if Beero's SDHC Gecko Code is used.
Because the target of this is Smash Bro's, the default config for Smash has been updated to override the boot IOS to 58.

I put this under [Core], but I'm not sure that's the best place for this option, if there is a better place tell me, and I'll move it.

@JMC47
Copy link
Contributor

JMC47 commented Feb 19, 2022

So there's a few thoughts about this. Under our current "settings", this would be enabled by default even for people trying to get an "accurate" console experience.

We've been toying with the idea of multiple setting profiles, so a setting like this could be default, but then disabled for an "accuracy" profile or something. As it is, I'm not sure I'm comfortable enabling it by default as it may cause the game to behave differently than expected. Then again, a majority of our users playing Brawl are likely using mods/Project M/Project+, including myself lol.

The core idea of being able to override IOSes for Wii games I'm okay with though, as that's something we used to do on console back in the day too. It can affect the loading times of VC games too. I'll summon @leoetlino to review this further, though.

@JMC47 JMC47 requested a review from leoetlino February 19, 2022 06:07
@Zarklord
Copy link
Contributor Author

So there's a few thoughts about this. Under our current "settings", this would be enabled by default even for people trying to get an "accurate" console experience.

We've been toying with the idea of multiple setting profiles, so a setting like this could be default, but then disabled for an "accuracy" profile or something. As it is, I'm not sure I'm comfortable enabling it by default as it may cause the game to behave differently than expected. Then again, a majority of our users playing Brawl are likely using mods/Project M/Project+, including myself lol.

The core idea of being able to override IOSes for Wii games I'm okay with though, as that's something we used to do on console back in the day too. It can affect the loading times of VC games too. I'll summon leoetlino to review this further, though.

I'm not opposed to remove the default config for Brawl, but considering we don't have a good place to put this, it would remain fairly hidden to most users.

I'm fairly certain there are no adverse affects for loading brawl with IOS 58, I have never seen a gecko code or any patch that everyone says you have to enable with the IOS 58 override that MinimaLauncher applies.

@leoetlino
Copy link
Member

The core idea of being able to override IOSes for Wii games I'm okay with though, as that's something we used to do on console back in the day too. It can affect the loading times of VC games too.

Yeah, adding the ability to easily override the IOS version (without having to manually edit the TMD) sounds fine. Brawl uses IOS36 by default, so there should be no noticeable timing difference (36 and 58 have the same FS performance characteristics).

That being said, I am not entirely comfortable with enabling this by default. We currently don't enable enhancements by default and this is technically making things less accurate for something that isn't even relevant for users unless they are playing with mods. Wouldn't it be better for e.g. Project M to ship this config option in a GameINI as part of the mod?

@Zarklord
Copy link
Contributor Author

The core idea of being able to override IOSes for Wii games I'm okay with though, as that's something we used to do on console back in the day too. It can affect the loading times of VC games too.

Yeah, adding the ability to easily override the IOS version (without having to manually edit the TMD) sounds fine. Brawl uses IOS36 by default, so there should be no noticeable timing difference (36 and 58 have the same FS performance characteristics).

That being said, I am not entirely comfortable with enabling this by default. We currently don't enable enhancements by default and this is technically making things less accurate for something that isn't even relevant for users unless they are playing with mods. Wouldn't it be better for e.g. Project M to ship this config option in a GameINI as part of the mod?

Do you have any suggestions on where/how this would be visible to some user trying to load either a modpack (Project M), or just some gecko codes (along with the SDHC code), currently the only place I can think of is on the dolphin wiki page for SSBB, but even then it wouldn't be very obvious/easy...

@leoetlino
Copy link
Member

Either in the setup instructions for the mod, or using Dolphin's game mod descriptor infrastructure (#10470). Or in a GameINI if the mod distributes Dolphin as part of the release.

@AdmiralCurtiss
Copy link
Contributor

Please squash the commits.

@Zarklord
Copy link
Contributor Author

@AdmiralCurtiss done

@AdmiralCurtiss
Copy link
Contributor

Ignore the fifoci, this branch is based on a month-old version.

Seems fine to me now, any objections from anyone?

@dolphin-emu-bot
Copy link
Contributor

FifoCI detected that this change impacts graphical rendering. Here are the behavior differences detected by the system:

  • aeon-charge-attack on ogl-lin-mesa: diff
  • bk-tev on ogl-lin-mesa: diff
  • burnout2-vehicletextures on ogl-lin-mesa: diff
  • chibi-robo-fastdepth on ogl-lin-mesa: diff
  • chibi-robo-zfighting on ogl-lin-mesa: diff
  • custom-brawl-char on ogl-lin-mesa: diff
  • dbz-depth on ogl-lin-mesa: diff
  • djhero2-blend on ogl-lin-mesa: diff
  • DKCR-Char on ogl-lin-mesa: diff
  • DKCR-fast-depth on ogl-lin-mesa: diff
  • ea-pink on ogl-lin-mesa: diff
  • ed-updated on ogl-lin-mesa: diff
  • find-mii on ogl-lin-mesa: diff
  • fishing-resort-map on ogl-lin-mesa: diff
  • fog-adj on ogl-lin-mesa: diff
  • fortune-street on ogl-lin-mesa: diff
  • fortune-street-fog on ogl-lin-mesa: diff
  • fortune-street-white-box on ogl-lin-mesa: diff
  • f-zero-rain on ogl-lin-mesa: diff
  • goldeneye-depth on ogl-lin-mesa: diff
  • inverted-depth-range on ogl-lin-mesa: diff
  • jb-shadow on ogl-lin-mesa: diff
  • jd2-fmv on ogl-lin-mesa: diff
  • jj-awae-mirrored on ogl-lin-mesa: diff
  • kirby-logicop on ogl-lin-mesa: diff
  • kirby-shadows on ogl-lin-mesa: diff
  • last-story-shadows on ogl-lin-mesa: diff
  • lego-star-wars-crane-shadow on ogl-lin-mesa: diff
  • lesson08 on ogl-lin-mesa: diff
  • lm-mario-portrait on ogl-lin-mesa: diff
  • luigi-shadows on ogl-lin-mesa: diff
  • mario-baseball-shadows on ogl-lin-mesa: diff
  • mario-golf-oob on ogl-lin-mesa: diff
  • mario-sluggers-bar on ogl-lin-mesa: diff
  • mario-tennis-menu on ogl-lin-mesa: diff
  • MaS-LOG-wiimote on ogl-lin-mesa: diff
  • megaman-heat on ogl-lin-mesa: diff
  • melee-depth on ogl-lin-mesa: diff
  • melee-lighting on ogl-lin-mesa: diff
  • metroid-visor on ogl-lin-mesa: diff
  • mii-channel on ogl-lin-mesa: diff
  • milotic-texture on ogl-lin-mesa: diff
  • mini-ninjas on ogl-lin-mesa: diff
  • mkdd-babypark on ogl-lin-mesa: diff
  • mkdd-efb on ogl-lin-mesa: diff
  • mkw-bridge on ogl-lin-mesa: diff
  • mkwii-bluebox on ogl-lin-mesa: diff
  • monkeyball-fuse on ogl-lin-mesa: diff
  • mp2-scanner on ogl-lin-mesa: diff
  • mp3-bloom on ogl-lin-mesa: diff
  • mp4-vertexcache on ogl-lin-mesa: diff
  • mp7-text on ogl-lin-mesa: diff
  • mtennis-zfreeze on ogl-lin-mesa: diff
  • my-word-coach on ogl-lin-mesa: diff
  • nddemo-bumpmapping on ogl-lin-mesa: diff
  • nddemo-lighting on ogl-lin-mesa: diff
  • nfsu-purplerect on ogl-lin-mesa: diff
  • nfsu-reflections on ogl-lin-mesa: diff
  • nhl-slap on ogl-lin-mesa: diff
  • nsmbw-coins on ogl-lin-mesa: diff
  • nsmbw-intro on ogl-lin-mesa: diff
  • pbr-sfx on ogl-lin-mesa: diff
  • pm-hc-jp on ogl-lin-mesa: diff
  • rs2-bumpmapping on ogl-lin-mesa: diff
  • rs2-glass on ogl-lin-mesa: diff
  • rs2-skybox on ogl-lin-mesa: diff
  • rs2-zfreeze on ogl-lin-mesa: diff
  • rs3-bumpmapping on ogl-lin-mesa: diff
  • rs3-skybox2 on ogl-lin-mesa: diff
  • sadx-ui on ogl-lin-mesa: diff
  • sfa-shadows on ogl-lin-mesa: diff
  • sf-assault-flashing on ogl-lin-mesa: diff
  • shadow-eyes on ogl-lin-mesa: diff
  • simpsons-game on ogl-lin-mesa: diff
  • smb-mirror on ogl-lin-mesa: diff
  • smg2-fog on ogl-lin-mesa: diff
  • smg-marioeyes on ogl-lin-mesa: diff
  • smg-mmg on ogl-lin-mesa: diff
  • smg-roar on ogl-lin-mesa: diff
  • sms-bubbles on ogl-lin-mesa: diff
  • sms-gc on ogl-lin-mesa: diff
  • sms-water on ogl-lin-mesa: diff
  • soa-black on ogl-lin-mesa: diff
  • soniccolors-mm on ogl-lin-mesa: diff
  • sonic-riders-blur on ogl-lin-mesa: diff
  • sonic-riders-zg-4p on ogl-lin-mesa: diff
  • sonicriderszg-gb on ogl-lin-mesa: diff
  • spyro-bloom on ogl-lin-mesa: diff
  • spyro-depth on ogl-lin-mesa: diff
  • ssbb-mod-lloyd on ogl-lin-mesa: diff
  • ssbm-pointsize on ogl-lin-mesa: diff
  • ss-map on ogl-lin-mesa: diff
  • super-sluggers-white-out on ogl-lin-mesa: diff
  • sw3-dt on ogl-lin-mesa: diff
  • thps3-earlyz on ogl-lin-mesa: diff
  • thps4-shadow on ogl-lin-mesa: diff
  • tla-menu on ogl-lin-mesa: diff
  • tos-invis-char on ogl-lin-mesa: diff
  • tp-skin on ogl-lin-mesa: diff
  • tsp3-pinkgrass on ogl-lin-mesa: diff
  • vegas-party-depth on ogl-lin-mesa: diff
  • viewitful-joe-distortion on ogl-lin-mesa: diff
  • xenoblade-menu on ogl-lin-mesa: diff
  • ztp-grass on ogl-lin-mesa: diff
  • zww-armos on ogl-lin-mesa: diff
  • zww-water on ogl-lin-mesa: diff
  • zww-waves on ogl-lin-mesa: diff

automated-fifoci-reporter

@AdmiralCurtiss AdmiralCurtiss merged commit b466b9e into dolphin-emu:master Mar 22, 2022
@Zarklord Zarklord deleted the override-wii-boot-ios branch March 22, 2022 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
6 participants