I'm working on writing a patch to make the "no banner" banner theme-able, due to recent discussions regarding the recent change (
http://code.google.com/p/dolphin-emu/source/detail?r=1c64b1993de02405e563c5fa13d5b4cb7818c520).
I've got the easy part down- making it theme-able. With what I have thus far, when opening Dolphin, it will load the "nobanner.png" from the folder of the currently selected theme.
However, as it stands right now, I have no idea how to add a "nobanner.png" to the Boomy theme, nor how to make the "nobanner.png" be reloaded when the theme is changed.
What's more, I can't find where in the code either is done.
So, in order to finish this patch, I need to know two things:
1) Where in the code is the Boomy theme made? Are the icons stored as code somewhere and then processed into .png files at compile time, are they /always/ .png files and placed into the correct location at compile?
2) Where in the code is the theme changing handled? If I could find it, I could quite easily add the code needed for the nobanner.png theme change.
The actual game banner is going to load anyway, why does it matter what the "no banner" banner looks like?
Three reasons:
1) Some things don't /have/ a banner to load, such as the Mii Channel.
2) None of them have a banner until they've been run and created save data.
3) As evidenced by the discussion on the revision that brought the change people do actually give a rat's behind about what the no-banner banner looks like.
Thank you very much. Took me some playing around, but I managed to figure it out.
All that needs(?) to be done is to make it load the default one if the selected theme doesn't have a "nobanner.png"; as it is right now, in such situations, it'll display a file not found error and load a blank white image for the banner.
Either way, I think it's good enough as is to submit.
Speaking of:
https://docs.google.com/file/d/0B2q7KyznfswHb242SHNOaUh5YWc/edit?usp=sharing
You'll actually want to just set bRefreshList to true, instead of calling Update() immediately.
Other than that, your patch looks fine. You should submit a pull request.
I don't think we need to worry about themes missing icons/banners. That's on the user/theme maker.
(02-19-2013, 04:22 PM)RachelB Wrote: [ -> ]You'll actually want to just set bRefreshList to true, instead of calling Update() immediately.
Other than that, your patch looks fine. You should submit a pull request.
I don't think we need to worry about themes missing icons/banners. That's on the user/theme maker.
1) Wouldn't it amount to the same thing? I mean, if setting it to true causes Update() to get called, then why not just call it? (Not arguing, seeking understanding.)
2) I've never done it before, so I have no idea how to submit one.
3) That's my thinking too.
1) Setting bRefreshList will cause it to update after you close the config window. If you update it right away, you may end up doing so multiple times while the config menu is covering the game list anyway, which is unnecessary. On the other hand, the rest of the theme updates immediately, so maybe it's best update the banners right away too. In that case you'd still want to set bRefreshList to false, since it will have taken care of anything that might have set it to true earlier.
2)
http://code.google.com/p/dolphin-emu/issues/entry?template=Pull%20Request
(02-19-2013, 11:47 PM)RachelB Wrote: [ -> ]1) Setting bRefreshList will cause it to update after you close the config window. If you update it right away, you may end up doing so multiple times while the config menu is covering the game list anyway, which is unnecessary. On the other hand, the rest of the theme updates immediately, so maybe it's best update the banners right away too. In that case you'd still want to set bRefreshList to false, since it will have taken care of anything that might have set it to true earlier.
2) http://code.google.com/p/dolphin-emu/issues/entry?template=Pull Request
Well, just putting "bRefreshList = false;" in there causes this:
Quote:1 IntelliSense: an enclosing-function local variable cannot be referenced in a lambda body unless it is in the capture list c:\games\emulators\dolphin\source\core\dolphinwx\src\configmain.cpp 624 3 Dolphin
I don't even know what that
means, let alone what to do to fix it.
lol, me either. Whatever, just leave it as is then.