Jump to content

FE10: Radiant Dawn Hacking Notes


VincentASM
 Share

Recommended Posts

Nice to see the text editing going smoothily. I already spoke to you about the music stuff, so you know we're both at a standstill right now : (

At the least, I've started dabbling with some more FE9 hacking again. I'd like to move back to FE10 as soon as I can access the files.

Older Sanaki again, but this time I looked at her map animations. It seems she was coded to use magic, which is both surpising and unsurprising, given that Sanaki uses magic in FE10, but Sanaki's regular model in FE9 isn't coded to attack at all.

Magic casting (critical is identical, I believe), taking damage and an interesting camera mishap.

Link to comment
Share on other sites

  • Replies 614
  • Created
  • Last Reply

Top Posters In This Topic

Started hacking FE10 actually. I come from a background of hacking Brawl, where I've changed music, characters, stages, etc. My wii is set up with UNEEK+DI, which means not only are my games stored on a hard drive, but they're stored in the exact same file system as the disk. In other words, you have direct access to all the files. And it gets better: saves are done on the hard drive, and load times compare (but don't quite match) cartridge loading times. I also don't have to deal with recompiling the ISO :P all I gotta do is plug my hard drive into my computer, drag/drop the file, then put the hard drive back into my Wii and I'm good to go!

First thing I've done so far was change the music, which was actually easy because FE10 handles music exactly the same as Brawl. So the tools I used to change the brawl music I used to change FE10 music, but I had to do a few extra nitty gritty steps. I haven't run into any issues (including loops) but I'll do some more exploring.

Also read through the whole thread and decided to answer some questions (some very old, but were never answered). This should give everyone more info:

I really want to modify Radiant Dawn, but this seems like more work than I care to do. Is it possible to hack FE similar to how the Smash Bros community hacks Brawl? They run .GCTs off an SD card through Homebrew, and have some programs that allow for really simple editing. It's a whole lot quicker and easier than going through all the crap it takes to edit FE now.

Only through Riivolution. A file patch code to use through Gecko (which a lot of Brawl hackers use) wouldn't be possible for FE10, because FE10 never uses the SD card. Unless FE10 does read the SD card and I missed that. So all you can do with gecko is use codes; you can't actually load content off an SD card through gecko.

Gecko has the advantage over riivolution that it works with back-ups and games stored on a USB drive, whereas riivolution only works with retail discs. I prefer loading off the usb drive because load times are significantly faster and I don't have to worry about discs getting scratched.

Is it possible at all to import different 3D models and put it new battle animations?

All of it is theoretically possible, but that just requires more knowledge about FE10 than anyone has at the moment. If FE10 handles all that data like Brawl does, then with the tools we have now, yes, but with exceptions. Long story short, the models and animations should not be bigger than the originals (although there are cases where that's ok too!), and they have to replace old animations.

Also, just for future reference I plan on doing my own hack of FE10 where all the unfairly weak characters (like Astrid) are beefed up, and one of the difficulty levels is changed to work like this:

-Easy mode exp.

-More characters per map.

-Hard mode reinforcements.

-Enemies have at least hard mode stats, and in many cases they will be stronger to offset having the easy mode exp and more characters.

Some of the stuff for my hack is already very much possible thanks to work people have done in this thread, mainly the easy mode exp and the buffing up. The others will be a challenge to figure out.

Looking forward to working with you guys. I would love to have this game to at least the same level of hacking as Brawl.

I've done away with most of my social life for the last two-three months and plan on continuing at least for the next 6-8 months, so I should have the time to figure some stuff out. I'm already used to sacrificing my social life so this won't be a big deal. I mean I'm not sacrificing my social life specifically to hack FE10, but I'll have time.

Edited by spralwers
Link to comment
Share on other sites

My wii is set up with UNEEK+DI, which means not only are my games stored on a hard drive, but they're stored in the exact same file system as the disk. In other words, you have direct access to all the files.

That's actually pretty slick. I've looked into these two games now and then but recompiling entire images because of one file... really jabs me into laziness to not bother :p

Link to comment
Share on other sites

Yeah it's just not worth it. Definitely wouldn't have done it otherwise. Getting this to work with FE9 is a different issue altogether though. When the Wii loads a gamecube game, it pretends that it's a gamecube and the usb ports shut themselves off, so no hard drive loading. I recall people getting really close though, then giving up because there was some conflict with memory addresses.

Now there is a way to load gamecube games off an SD card, but I haven't gotten that to work yet.

Link to comment
Share on other sites

I got the whole loading gamecube games from an SD card working. I have a black wii so back-ups aren't possible unless I replace the optical drive with an optical drive from the older wiis. Unfortunately it's slower than reading from the game disc. The games are stored as .isos so unfortunately no direct file access unlike sneek/uneek + DI, which keeps FE9 hacking very cumbersome with iso recompiling. Maybe someday the guys will update the program to store the games in the respective file systems so you have direct access to the files.

Edited by spralwers
Link to comment
Share on other sites

Did anyone figure out how to adjust the exp for the laguz? If not, can anyone give me some pointers on how I'd go looking for that information?

Also, progress on FE10 hacking: I was able to successfully edit stat growths. Just for giggles I gave Leonardo all 100%s for his stat growths, and whatddya know, he got an all stat level up! I also decided to get my hands on a retail disc and use riivolution. I figured it'd be better to test via riivolution b/c if I do fully get my hack going, riivolution would probably be the easiest way for people to play. Wrote a really simple template for riivolution where as long as you just put the files in a folder called "FE10Hack" at the root of the SD/USB, the files will replace the ones on disc. No need to worry about putting the files in the same folder structure as on disc. Just put any of your edited files in that folder and they'll be used instead of the ones on disc. I attached the .xml that tells riivolution how to handle the data, in case you want to see how it works.

I'll eventually make my own topic, once I've figured out more stuff.

Edit: Updated the XML, just renamed a few things.

<wiidisc version="1">
<id game="RFE">

<options>
<section name="FE10 Riivolution">
<option name="File Replacements">
<choice name="Enabled">
<patch id="FE10Hack">
</patch></choice>
</option>
</section>
</options>
<patch id="FE10Hack">
<folder external="/FE10Hack" recursive="true">
</folder></patch>
</id></wiidisc>

Fire Emblem RD Hack.xml

Edited by spralwers
Link to comment
Share on other sites

It seems Treeki made a nice fork/edited version of Dolphin that does support loading files from outside of an iso :o

Actually that was the main feature of Treeki's mod. We used it for NSMBW and could replace files in what I guess you could call "real time."
Also' date=' I played through twice, but let me just reiterate this:

I've been in contact with a friend of mine who's looking into making his own build of Dolphin. I've asked him to throw in some features that would help us out, including the ability to see which files are loaded by the game. As far as I know, only Treeki's custom build is capable of doing that and KRD does not run well with it.[/quote']

For those of us on emulators, it could be helpful.

Link to comment
Share on other sites

Funny you talk about replacing files in real time. I actually just set that up with riivolution. It loads files on my computer through an internet connection instead of loading files on the sd/usb. It works, but there's still one big botleneck to replacing files in real time, and that all depends on when the wii loads those files into the RAM. Here's a quick example for the FE10Data.cms file.

cmd2.png

It loads the FE10Data.cms file very early, even before the health screens that warn you to make sure you have space around you when using the wiimote! So if you choose to modify things through the FE10Data.cms file, you will unfortunately have to restart the game entirely every time you change something.

Theoretically, I could put all the FE10 files somewhere on my computer and have riivolution load all of those instead of reading off the disc. I'll do that later and report how it goes. Also a quick thing about Ike's data in the FE10Data file:

00 03 36 24 Pointer -> SID_EQ_A - Skill ID, another skill

I changed the 24 to a 25 and Ike was no longer able to equip his Ettard.

Edit: Changing the 03 and the 36 also seemed to disable his Ettard. Changing the 00 in the beginning crashed the game even before the very first screen. I guess I had the pointer point to something completely invalid haha. I'll look more into this later as well.

Edited by spralwers
Link to comment
Share on other sites

SID_EQ_A is presumably the skill required to wield Ettard and Rangell.

There's also SID_EQ_B and etc. which are for the other personal weapons like Florete, Caladbolg. I believe one of those skill restricts the use of Valaura (I'm assuming to Valtome), but isn't used since Valaura is a ranked weapon in the final release.

Link to comment
Share on other sites

Well, I'm not sure about the pointers for skills...

But... if you want a list of the hidden skills, Goldie compiled them for RAM hacking for codes at:

http://geckocodes.org/?c=RFEE01

Skill Values:

00000000 Removes Skill

8070ED94 Skill that allows you to command units

8070EDC0 Skill that tells game you're a Female Unit-all females have it

8070EDEC Skill that tells game you're a 2nd Class Unit-2nd class units always have it

8070EE18 Skill that tells game you're a 3rd Class Unit-3rd class units always have it

8070EE44 Laguz Transform Gauge(This is needed for all Laguz)-Laguz already have this skill

8070EE70 Transformed Laguz Gauge(This is needed for transformed Laguz)-Laguz already have this skill when transformed

8070EE9C Feral One Gauge(constantly transformed)

8070EEC8 Volug's halfshift Gauge(constantly transformed)

8070EEF4 Makes you a Boss Unit-enemy bosses have these

8070EF20 Judge usable - Will also allow any Laguz to attack in human form

8070EF4C Allows your Flying Unit to fly over terrain

8070EF78 Prevents you from teaching the Unit Imbue

8070EFA4 Destroy Village Skill

8070EFD0 Allows any Unit to climb

8070EFFC Allows to shoot on Ballista, etc.

8070F028 Open locked chests/doors free

8070F054 Open locked chests/doors 50 Gold fee

8070F080 50% of finding hidden items on ground

8070F0AC Spirit Teleport 1(looks similar to Sephiran's warp)

8070F0D8 Spirit Teleport 2(having this on with #1 is the true Spirit Movement)

8070F104 Marksman 3 Range Ability

8070F130 Can Equip Swords

8070F15C Can Equip Lances

8070F188 Can Equip Axes

8070F1B4 Can Equip Bows

8070F1E0 Crossbows usable

8070F20C Can Equip Knives

8070F238 Can Equip Thunder, Fire, Wind Magic

8070F264 Can Equip Light Magic

8070F290 Can Equip Dark Magic

8070F2BC Can Equip Staves

8070F2E8 Ragnell + Ettard usable

8070F314 Florete usable

8070F340 Amiti usable

8070F36C Thani usable

8070F398 Cymbeline usable

8070F3C4 Creiddylad usable

8070F3F0 Caladbolg usable

8070F41C Lughnasadh usable

8070F448 Tarvos usable

8070F4A0 No Damage when attacked

8070F4CC Unit won't attack, Enemy will

8070F524 Unit cannot be attacked

8070F550 Always live with 1 HP(the skill that keeps Ashera alive)

8070F57C Spirits Guard Skill

8070F684 Forces the battle to be on Map Only(From the Spirits)

8070F6B0 Ashera/Aura Camera Angle

8070F6DC Dheginsea Camera Angle

8070F708 Lucia's Cut Hair Portrait

8070F734 Non-promote skill

8070F760 Triangle Attack(Elincia, Marcia, Tanith and Sigrun version)

8070F78C Triangle Attack(Boyd, Rolf and Oscar version)

8070F7B8 Triangle Attack(a third one, not sure whose yet)

8070F7E4 Glowing Ragnell/Yune's Blessing(will make Ike's body glow, only the sword for others - those who don't have sword animations will do a T Stand)

8070F810 Canto

8070F83C Shove

8070F868 Steal

8070F894 Galdrar

8070F8C0 Crit +5

8070F8EC Crit +10

8070F918 Crit +15

8070F944 Crit +20

8070F970 Crit +25

8070F99C Aurora

8070F9C8 Formshift

8070F9F4 Aether

8070FA20 Astra

8070FA4C Impale [shadowX39]

8070FA78 Colossus

8070FAA4 Deadeye

8070FAD0 Luna

8070FAFC Eclipse

8070FB28 Bane

8070FB54 Lethality

8070FB80 Flare

8070FBAC Corona

8070FBD8 Sol

8070FC04 Stun

8070FC30 Roar

8070FC5C Rend

8070FC88 Savage

8070FCB4 Tear

8070FCE0 Ire

8070FD0C Sacrifice

8070FD38 Glare

8070FD64 Insight

8070FD90 Vigilance

8070FDBC Mantle

8070FDE8 Wildheart

8070FE14 Howl

8070FE40 Shriek

8070FE6C Quickclaw

8070FE98 Maelstrom

8070FEC4 Wildheart [shadowX39]

8070FEF0 Blessing

8070FF1C Boon

8070FF48 Blood Tide

8070FF74 White Pool

8070FFA0 Night Tide

8070FFCC Shade

8070FFF8 Stillness

80710024 Corrosion

80710050 Disarm

8071007C Discipline

807100A8 Miracle

807100D4 Resolve

80710100 Wrath

8071012C Cancel

80710158 Adept

80710184 Counter

807101B0 Vantage [shadowX39]

807101DC Flourish

80710208 Mercy

80710234 Pass

80710260 Nihil

8071028C Fortune

807102B8 Nullify

807102E4 Provoke

80710310 Daunt

8071033C Paragon

80710368 Renewal

80710394 Imbue

807103C0 Blossom

807103EC dummy(Tempest)

80710418 dummy(Serenity) [shadowX39]

80710444 Celerity

80710470 Savior

8071049C Guard

807104C8 Pavise [shadowX39]

807104F4 Beastfoe

80710520 Birdfoe

8071054C Dragonfoe

80710578 Parity

807105A4 Gamble

807105D0 Smite

Link to comment
Share on other sites

I saw those actually and messed around with them, they were pretty cool. Is there any way to lock/unlock a skill slot?

Also, do you think you and/or Goldie can find RAM hacking codes that adjust the exp gain for the laguz when they're transformed/not transformed, and eliminate the exp penalty for wildheart? I was gonna do this myself by running dolphin in debug mode, but unfortunately it was way too slow. It ran at around 5 fps :x

Link to comment
Share on other sites

Ok cool. That just made a lot of things about character skills make more sense. Now for that list of skills you posted, how do you determine what pointer value (or what set of 4 bytes) points to each of the skills?

You can find the instructions in "Prologue 3: Pointer basics" in the first topic. If it's not clear, you'll need a hex editor that has a ASCII text pane to see the text labels.

So in the example you quoted, 00 03 36 24 as a pointer is 0x33644, which if you go to that address puts you at the S of SID_EQ_A. If you want to create new pointers, you can work backwards from this principal. Eg. if SID_EQ_B starts at 0x33671 (I'm making this address up), the bytes you need to use would be 00 03 36 51.

Edited by VincentASM
Link to comment
Share on other sites

Perfect. And duh, a pointer points to an address. Silly me haha, guess I just never connected the dots. Thanks for clearing that up. Well that was successful, I was able to change Ike's Ettard skill to crit + 25! Here's some snapshots of stuff I've done:

They made thunder magic pitifully weak in this game. I always felt like this should've been the relationship between the anima magics:

Fire - Accurate and Strong

Wind - Weakest and Most Accurate

Thunder - Strongest and Least Accurate

1281944313.jpg

I gave it 1 more MT than fire.

Ike with critical+25.

1281944022.jpg

Oh noez, no Ettard!

1281943421.jpg

Here's a list of things I've been wanting to be able to do that I can do now:

-Adjust all the playable characters' starting info (growths, stats, level, skills, etc)

-Adjust item properties

Things left for me to learn:

-Adjust exp gained per battle for the laguz

-Adjust enemies: their stats and what they are (as in taking a soldier and changing them to a sword cav).

-Adjust enemy reinforcements (when they come, where they come, and their stats)

-Adjust battle preparations and character statuses on maps: # of units allowed per map, less/additional starting positions to accommodate the # of units, which characters are required (if any), which characters have commander status per map

The things left for me to learn are way more complicated than the stuff that I just learned, which is why I decided to do all the easy stuff first :D

Once I've learned how do do all or at least most of the stuff on the list, I'll start working on my hack.

Also forgot to mention: Vincent, in chapter 3 of your tutorial, under the spoiler where you go over Florete, you made a small mistake.

00 C8 0E 5F 0F 05 2D 04 01 02 01 - Cost per use (first two bytes), Might, Accuracy, Weight, Critical, Uses, Weapon Exp, Min range, Max range, Unknown

The bytes are in the right order (since I was able to search that string and find it), but the way you labeled them is not. Weight and critical should be switched.

Edited by spralwers
Link to comment
Share on other sites

Whoops, good catch. I didn't realise Florete had such high Crt (15) and low Weight (5).

-Adjust enemies: their stats and what they are (as in taking a soldier and changing them to a sword cav).

-Adjust enemy reinforcements (when they come, where they come, and their stats)

-Adjust battle preparations and character statuses on maps: # of units allowed per map, less/additional starting positions to accommodate the # of units, which characters are required (if any), which characters have commander status per map

You might have guessed this already, but I'm sure most of this can be found in the army data (i.e the dipos files, or that's what they're called in FE9). If you checked my guide, you might know that I haven't really covered army data in any depth, but I'm sure you'll be able to figure out something ^^

Wooster's additions on Page 6 might also help.

For enemy stats, you can change this by changing the class growths (which will affect all enemies/NPCs in that class) and/or the enemy base stats (in the same manner as you would change a playable character), but be warned there are probably LOTS of enemies (like Begnion Sword Paladin, Crimean Sniper). Classes can only be changed via the army data.

Edited by VincentASM
Link to comment
Share on other sites

  • 5 weeks later...

hacking progress has been super slow (due to schoolwork) but I'm still able to do things here and there. Something I found interesting:

In the laguz character data, in the set of four bytes which are for their transform gauge, the last two bytes are used for the transform gauge lost per tern (transformed/untransformed). For Lyre (Lire), those last two bytes read:

FB FC

So it looks like they're using some form of signed integers to do the reductions. I changed those two bytes to 0A 0A and Lyre was gaining ten transform gauge per turn, whether she was transformed or untransformed. I haven't fooled around with it enough to figure out where the negative numbers start (I'm guessing FF is -1?) . But I thought I'd note it for future reference.

Link to comment
Share on other sites

hacking progress has been super slow (due to schoolwork) but I'm still able to do things here and there. Something I found interesting:

In the laguz character data, in the set of four bytes which are for their transform gauge, the last two bytes are used for the transform gauge lost per tern (transformed/untransformed). For Lyre (Lire), those last two bytes read:

FB FC

So it looks like they're using some form of signed integers to do the reductions. I changed those two bytes to 0A 0A and Lyre was gaining ten transform gauge per turn, whether she was transformed or untransformed. I haven't fooled around with it enough to figure out where the negative numbers start (I'm guessing FF is -1?) . But I thought I'd note it for future reference.

For an 8 bit number, the signed integers go from -128 to 127. Not surprising considering you have gaining and losing points. An 8 bit value seemed sufficient for the purpose of modifying the transform gauge every turn.

Same with the damage on the battle commands. This is why you never go past 127 (0x7F) with HP on RAM hacking or your Wii freezes. Anything from 0x80 on is a negative number.

You need to go back to the basics of CS so that you can understand what's going on in what you're hacking here.

To convert:

1. Take the one's complement

2. Add one in binary

Example:

9 - 00001001

Step 1 - 11110110

Step 2 - 11110111

-9 (in hex) = 0xF7

Same thing when converting back.

0xFB = 11111011

Flip:

00000100

Add one:

101

0x05

That's how much she loses each turn.

Edited by shadowofchaos
Link to comment
Share on other sites

One's complement! I haven't seen that since my introduction to electrical and computer engineering course which I took 3 and a half years ago. My original guess was 2's complement, but then I knew immediately that wouldn't be right. I completely forgot about 1's complement. Thanks for the reminder.

Edited by spralwers
Link to comment
Share on other sites

For some reason, I thought 2's complement had a different starting point for negative numbers. I originally thought FF was supposed to be -127, and -1 would begin right after FF/2. That's why I was confused. Looks like I didn't learn it well when I was supposed to. Well now that that's been cleared up I can keep going.

Link to comment
Share on other sites

  • 4 weeks later...

So is there anyway to make it so Laguz who hit 30 get their mastery skill, and Satori signs add Formshift?

Just curious because seriously the Laguz just get fucked over by the Royals in the late game, and while they would still be statistically inferior this would at least let them keep up and remain viable. Also make Satori Signs worth shit for all the ones they throw at you.

Editing the support system seems... relatively easy, Isolate the partners for supports (Follow the Cutsupport list? http://serenesforest...upportcut.html) Though editing the conversations would most likely be the bitch.

EDIT: Was just thinking about how to auto-learn Mastery skills, and I thought it might have something to do with the evolving Galdar skill? Then again it's 3AM so I don't know WTF I'm talking about

Edited by Onmi
Link to comment
Share on other sites

  • 4 weeks later...

With the release of a new FE game today, I was going to post a thread showing my work on an abandoned FE10 hack I was working on, and actually try to start posting on serenes regularly.

My one question now is for any graphics experts on Dolphin.

crEnC.png

Is this the correct aspect ratio and resolution and all that good stuff? I'm not much of a graphics nerd but I would prefer if the screenshots weren't 'stretched' or anything weird like that. My only real question is that the size of this is 640X360 - what happened to 480p? I took a screenshot at 640x480 but that looked pretty bad. I'm on dolphin 3.0 with fullscreen resolution: 640x480 and aspect ratio: Auto

Anyways, regarding actual data hacking, has anyone found out what to edit to change florete to deal magic damage? I have tried so many things but can't find the byte that says whether a weapon does physical/magic. I have almost everything else figured out so stay tuned for a thread!

Link to comment
Share on other sites

Anyways, regarding actual data hacking, has anyone found out what to edit to change florete to deal magic damage? I have tried so many things but can't find the byte that says whether a weapon does physical/magic. I have almost everything else figured out so stay tuned for a thread!

It's probably a bit in one of the weapon element abilities... just like weapon locks.

Considering how its elements get copied to RAM and Goldie just has a RAM write to change it...

I'll look it up a bit later.

Link to comment
Share on other sites

Been ages since I touched FE10, but I think it's one of the pointers that determines the rank and/or type of weapon. Like change it from "sword" to "magic" or "neutral" or something (maybe compare it with the Breath or Judge weapons).

00 03 42 D0 Pointer -> sword - Determines weapon type (at Min range?)
00 03 42 D0 Pointer -> sword - Determines weapon type at Max range?

I think it's these ones for Florete. I believe the two descriptions are out of date--one of them probably determines what type to file the weapon as and the other what type of weapon it actually is.

Edited by VincentASM
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...