Maya and I have been playing through Windwaker together; she likes sailing, scary birds and remembering to be brave, rescuing her little brother and finding out what’s happening to Medli and her dragon boat.

She’s the hero of the story, of course.

It’s annoying and awkward, to put it mildly, having to do gender-translation on the fly when Maya asks me to read what it says on the screen. You can pick your character’s name, of course – I always stick with Link, being a traditionalist – but all of the dialog insists that Link is a boy, and there’s apparently nothing to be done about it.

Well, there wasn’t anything to be done about it, certainly not anything easy, but as you might imagine I’m not having my daughter growing up thinking girls don’t get to be the hero and rescue their little brothers.

This isn’t particularly user-friendly; you’ll need to download the Dolphin emulator and find a Windwaker .GCM, the Gamecube disk image with this SHA-1 hash:

Original: 6b5f06c10d50ebb4099cded88217eb71e5bfbb4a

and then you’ll need to figure out how to use xdelta3 to apply a binary patch to that image.

This patch.

When you’re done the resulting disk image will have the following SHA-1 hash:

Result: 6a480ffd8ecb6c254f65c0eb8e0538f7b30cfaa7

… and all the dialog will now refer to Link as a young woman, rather than as a young man.

I think I’ve gotten this right – this was all done directly on the original disk image with a hex editor, so all the changes needed to be the same byte-for-byte length, in-place. I haven’t had time to play through the whole game to test it yet, and some of the constructions aren’t perfect. I’ve borrowed Donaldson’s “Swordmain” coinage to replace “Swordsman”, for example, and there’s lots of “milady” replacing “my lad” and “master”, because I couldn’t find a better way to rewrite them in exactly the amount of space allotted. If you come up with something better, I’m all ears.

I’m going to audit it shortly, and may update this post to reflect that. For now, though, here you go.

FemLink or you’re doing it wrong.