Skip to content
This repository has been archived by the owner on Dec 15, 2020. It is now read-only.

Actual custom themes with themehax. #12

Closed
yellows8 opened this issue Oct 5, 2015 · 9 comments
Closed

Actual custom themes with themehax. #12

yellows8 opened this issue Oct 5, 2015 · 9 comments

Comments

@yellows8
Copy link
Owner

yellows8 commented Oct 5, 2015

TODO: figure out some way to properly load custom-theme data from {filepaths that Home Menu normally doesn't use} via ROP, and maybe fix #3 in the process. This is very difficult, so who knows if this will get done before next release, or ever get done at all.

Or, at bare minimum, figure out some way to let the user have BGM without building themehax manually, without breaking the normal BGM when custom BGM isn't available.

@yellows8
Copy link
Owner Author

Well, the actual theme-loading part works with my local changes. But Home Menu later hangs when trying to allocate memory from the same heap where the heap memchunk corruption occurred(enters a loop and never exits). Strangely this doesn't happen with the original RET2MENU, but not 100% sure if this exact code gets executed there too or not.

Getting the heap state repaired might be rather difficult....

@yellows8
Copy link
Owner Author

During Home Menu startup, that particular memalloc seems to be done always(?) normally: it triggers when no theme is used, and when a custom theme is used.

The only time this memalloc ever hanged was with my plain-SD theme loading(using a theme with the themehax itself works fine). Therefore, the second 0x2a0000-byte buffer allocation(same one mentioned in the README) must cause this particular heap state corruption(which originated from the original CTRSDK memchunkhax).

@yellows8
Copy link
Owner Author

Got the heap state restored, but BGM is broken. I'm guessing this is related to the object data which gets corrupted during the CTRSDK memchunkhax.

@yellows8
Copy link
Owner Author

NVM, object data mentioned above doesn't seem to get corrupted... Not sure why BGM is broken. :-/

@yellows8
Copy link
Owner Author

Home Menu is opening the BGM with the extdata archive, not the SD archive. Not sure why...

@yellows8
Copy link
Owner Author

Everything is working fine now, BGM included. Disabled changing the BGM filepaths, and switched the filepaths to using my own extdata filepaths instead. My testing nandimage system currently has an actual custom theme(BGM included) and themehax installed at the same time.

This issue will be closed once the local commit for this is finished(mainly support for <v10.1 Home Menu).

@yellows8
Copy link
Owner Author

"support for <v10.1 Home Menu" That's done now, except that I'm getting a hang without any crash for v9.2 RET2MENU under my testing nandimage. :-/

EDIT: Ugh, same loop as before except this time it's with allocating the 0x2a0000-byte buffer...

yellows8 referenced this issue Oct 14, 2015
…zation being skipped. This fixes issue #3. This also fixes using the THEMEDATA_PATH build option: gfx is now displayed correctly with that. Added the ROP_STR_R0TOR1 gadget and updated README.
@yellows8
Copy link
Owner Author

v9.2 is now supported by this(as of last night). Have to verify that this works correctly with certain system-version(s) still.

@yellows8
Copy link
Owner Author

Closing this now since the local commit was finally done.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant