Hacking Has anyone successfully text-hacked the Wii System Menu?

HNKii

Well-Known Member
OP
Member
Joined
Jan 28, 2014
Messages
477
Trophies
0
Location
Mario Kart Wii-DS Link Play Stadium
XP
603
Country
Switzerland
I edited the text with BMG tool, and the SM runs OK on dolphin but crashes on real Wii [It's UNEEK so my Wii did not break.]
(I have got many issues with text-hacked games running on dolphin but crashes on real Wii)
Any recommended tool for editing the Wii SM text? Or do I have to hex-edit?
Thanks for helping!
 

I pwned U!

I am pleased to beat you!
Member
Joined
Jun 14, 2013
Messages
927
Trophies
3
Age
28
Website
gbatemp.net
XP
680
Country
United States
I edited the text with BMG tool, and the SM runs OK on dolphin but crashes on real Wii [It's UNEEK so my Wii did not break.]
(I have got many issues with text-hacked games running on dolphin but crashes on real Wii)
Any recommended tool for editing the Wii SM text? Or do I have to hex-edit?
Thanks for helping!
I am not able to check now, but I thought that I once installed a Super Mario RPG theme several years ago that had custom text in various parts of the System Menu.
 

Jacoby6000

Member
Newcomer
Joined
Jan 21, 2015
Messages
9
Trophies
0
Age
30
XP
107
Country
United States
This probably works on an emulator, because emulating the Wii hardware means you can read the length of the raw string (text), and do other shortcuts to speed up emulation (like maybe even ignoring what the system says the length of the string is). When run on real hardware, the strings have an offset associated with them somewhere else in the memory that tells the wii how long each string (text field) is. When the text field isn't the same length as what the wii thinks it is, the wii's memory is no longer properly aligned. At this point, the wii's memory offsets are all wrong, which means it's using the wrong data in the wrong places. To fix this, you need to modify the actual System Menu's code to tell it how long each of the things that you changed are.

So if there's some text that says "Some Text Field Here" but you want it to read "Some Text Field There", you have to find in the System Menu's code where it sets "Some Text Field Here" with a length of 20 and set it to "Some Text Field There" with a length of 21. If you're editing this with a Hex editor, it might help to first, find the string (text), then look somewhere around that same place in memory for something that represents the length. In my previous example, you'd search for options, and then search for "14" nearby (14 is hex for 20) and change it to 15 (hex for 21). Doing that exactly probably won't work, because each character may be more than one byte, OR it may measure the length in binary (doubtful).

This is all just a hunch, but makes sense with my software engineering background.
 

I pwned U!

I am pleased to beat you!
Member
Joined
Jun 14, 2013
Messages
927
Trophies
3
Age
28
Website
gbatemp.net
XP
680
Country
United States
This probably works on an emulator, because emulating the Wii hardware means you can read the length of the raw string (text), and do other shortcuts to speed up emulation (like maybe even ignoring what the system says the length of the string is). When run on real hardware, the strings have an offset associated with them somewhere else in the memory that tells the wii how long each string (text field) is. When the text field isn't the same length as what the wii thinks it is, the wii's memory is no longer properly aligned. At this point, the wii's memory offsets are all wrong, which means it's using the wrong data in the wrong places. To fix this, you need to modify the actual System Menu's code to tell it how long each of the things that you changed are.

So if there's some text that says "Some Text Field Here" but you want it to read "Some Text Field There", you have to find in the System Menu's code where it sets "Some Text Field Here" with a length of 20 and set it to "Some Text Field There" with a length of 21. If you're editing this with a Hex editor, it might help to first, find the string (text), then look somewhere around that same place in memory for something that represents the length. In my previous example, you'd search for options, and then search for "14" nearby (14 is hex for 20) and change it to 15 (hex for 21). Doing that exactly probably won't work, because each character may be more than one byte, OR it may measure the length in binary (doubtful).

This is all just a hunch, but makes sense with my software engineering background.
Could that be the reason behind the problem that I have been having that I mentioned in the following thread?

https://gbatemp.net/threads/how-do-...nu-bgm-without-getting-a-black-screen.379107/
 

Jacoby6000

Member
Newcomer
Joined
Jan 21, 2015
Messages
9
Trophies
0
Age
30
XP
107
Country
United States
It's caused by a similar mechanism, but is not the same... Also I don't think that your situation should be worked around (like you possibly can with the above), but rather conformed to. Based on this thread https://gbatemp.net/threads/csm-theme-making-no-corruption-with-alpha-layer.139663/, the Wii System Menu expects all images to be a certain size and resolution, similar to how the above expects text to be of a specific length.

I'm kind of new to the wii modding scene (well, re-new. I was deep in it on a different site several years ago), so I wouldn't take my word for it on any of this. All I have is speculation on things other people have probably already discovered and learned how to deal with.
 
  • Like
Reactions: I pwned U!

diddy81

Wii Theme Team
Member
Joined
Mar 14, 2009
Messages
916
Trophies
1
XP
1,099
Country
text edits in themes are just hex edits in the bmg file and are used in nearly all our themes
if you just hex edit the main area of the file your text must be the same length
however it is possible to add to the end of the file then redirect the wii to your new text i only did this once or twice to test it and it did work but needs i high level of understanding of the bmg file structure

if you have loaded an app that got listed in the today's accomplishments page then you change the text "today's accomplishments" then you need to wait for a new day to see your edits

dolphin can load menu themes but not full themesyou have to brake it in to smaller parts
ive made themes entirely in dolphin and made small portions then fitted them together after to release them
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: they be like which lite firefox exe pls