Jump to content

FE: Awakening Hacking Topic


VincentASM
 Share

Recommended Posts

  • Replies 877
  • Created
  • Last Reply

Top Posters In This Topic

um.. sorry for bothering u guys..
but, can anyone explain or maybe gives us step - by step on how to modify the rom/ save data?
what tool to use etc perhaps? if its not too bothersome..
im still a newbie here but i'm willing to learn to hack my FE:A.
i just wanna give my male MU galeforce,
and if not too hard, balance the character (like cherche who never got galeforce) or make the children as its default hair but with a good skill..
thank you before and..um sorry if i post it on wrong thread.
regards.

Link to comment
Share on other sites

Found the color byte in logbook pointers:

Exactly 0x20 down from where the logbook pointer in the character block points too

there will be:

RRGGBBFF

The code will be entered as FFBBGGRR for the value.

Example:

Catria (DLC)'s color is 0887F1FF

MU Purple color is: C8A2D6FF

and if you plug it into

http://www.w3schools.com/tags/ref_colorpicker.asp

you get exactly the colors you see in-game

Keep in mind, your logbook pointers change each time your logbook updates and you reset the game. So you will need an updated dump.

This is only one instance though. I need to work on finding every instance.

You will actually have to search for every MU block for that MU and replace the color.

Basically, go to character block, grab your MU's ORIGINAL hair color. Then CTRL F for it, get the address, F3 for next, F3 for next, and make a code that replaces every single one of your original hair color with the new one.

BRYOotF.png

Updated Character Block Data

To completely change my hair color

0099A2D0 FFF18708
0099A43C FFF18708
009B41D0 FFF18708
016349B9 FFF18708
0163563A FFF18708
016399C8 FFF18708
019B7EB8 FFF18708
019B960C FFF18708
019B96DC FFF18708
Success!
And Video Proof
Edited by someonewhodied
Link to comment
Share on other sites

^ my dick is so hard right now.

I'm late going to bed as it is right now. When I get back home from work I'll try this out and use red for my avatar.

I'm so hyped.

I was looking at the character block wondering where the color values were but then I started drinking and raiding in FFXIV.

Link to comment
Share on other sites

Awesome stuff. Will be funny to have impossible hair colours XD

I've also update the front page with RAM hacking instructions. If anyone still is unsure after reading, please let me know.

Link to comment
Share on other sites

EDIT: Reference next post, better detail on how the colors work for Avatars.

Oh wow, so even Gen 1 characters have the hair color bytes. Probably that's where the game pulls the data from for passing it to Gen 2 unit.

I just compared my Vaike!Owain, and they're both DED2B0FF.

I'm gonna try to use Cordelia's hair color on my avatar. Hers is AF5454FF.

I think I wanna catalog all the unit's hair colors for reference.

EDIT: Doing your method by searching by the color gives you the result for everything in the data that uses that same color. Saved logbook avatars, the marriage portraits in a Logbook Unit's, Streetpass, child characters, portrait for greetings.

So what I did was wipe my data entirely using "Wipe Data" and started a new file. And I dumped the ram after chapter 1 on the world map. Interestingly, the location of the first character block is the same as before for me. It seems like save data structure is tied to your cart.

Here's the Ram dump uploaded:

https://mega.co.nz/#!MVk31awZ!JNcl4bjhO52Rz-QABllSNljvGo4srdkiFhtVL_CVQgY

There are 6 locations on this fresh file(with no StreetPass/Logbook data) where the Avatar's hair color exists.

0099A148

0099A438

013D0324 (Character block, this is Slot 4)

015168D8 (Logbook data, this moves around)

01C5F874 (Nearby it it says <I.PLAYER_M

03BF276C

I don't know if you can use the difference in spacing to match yours with mine. What I'm gonna do is make each a different color and see what affects what as it plays. Let's see what happens!

Original is 8A5555FF For all. (FF55558A code wise)

Test one.

0099A148 FF191919 (#191919 Black)

0099A438 FFE6E6E6 (#E6E6E6 Really light Gray)

013D0324 FF0000CC (#CC0000 Red)

015168D8 FFCC3300 (#0033CC Blue)

01C5F874 FF00FFFF (#FFFF00 Yellow)

03BF276C FF00CC00 (#00CC00 Green)

Red was applied to 3D Hair, Conversation Portraits (both large and small), Sprite hair

Blue was applied to StreetPass Portraits (StreetPass Team -> Edit Card, Avatar Logbook Portrait)

The values changed to this

0099A148 FFCC3300 (#0033CC, changed to Blue)

0099A438 FF0000CC (#CC0000, changed to Red)

013D0324 FF0000CC (#CC0000, stayed Red)

015168D8 FFCC3300 (#0033CC, stayed Blue)

01C5F874 Dissappeared? Seems to be irrelevant. All the data around it shifted. Maybe this is the area where it keeps a backlog of recent data?

03BF276C FF00CC00 (#00CC00, stayed Green, didn't notice what was affected, gonna try speed marrying my avatar to Lissa to see what happens.).

So far I can tell two spots "feed" 3 other spots with the color. Now to test this with my restored save.

Edited by Jacien
Link to comment
Share on other sites

Wait, so the modified hair stays around after saving and resetting, no? What happens if you try to send it via Streetpass?

I wonder if it would work on the JP version and not the Pal/US versions...

Link to comment
Share on other sites

EDIT: HOLD UP, THE LOGBOOK PORTRAIT RESET FOR SOME REASON. PERHAPS YOU HAVE TO SAVE STREETPASS INFO TO KEEP IT? GONNA TRY AGAIN. Look below.

Dammit, I was typing a whole lotta stuff then I refreshed.

So there's only two values you need to change to fully affect your Avatar's hair.
- The first one is what changes most things (sprite hair, model, and portraits), which is easy to find because it is part of the character block.
- The second one is a bit more of a pain to find since it shifts around as more data is saved, and it gives hair color for the portrait used in the Logbook and Streetpass info, even the little marriage information boxes, and portrait during Support conversations. So you'll have to dump, find, and change it in one sitting.

Doing it like this doesn't change your children's hair color retroactively. They are untouched. I'm guessing that a Gen 2's hair color is assigned when they're "created", that's when they referencing the parent pointer for a hair color (as I noticed before, Gen 1 characters do have hair color as part of their character block)

So first thing first is to find the character block your character belongs in. One method I do is searching by skills, but once you know where the first block is, that location never changes.

Here Jacien (my avatar) is in slot 15 of the character blocks, as highlighted by yellow. The black highlight is the color code. Changing this affects the sprites, portraits, and ingame model colors. So the offset there is 013D1204.


zTT4La3.png?1



Next I convert my character name into Hex, and space it with 00s. http://www.swingnote.com/tools/texttohex.php

Jacien becomes 4A616369656E, the with spaces it becomes: 4A0061006300690065006E

I search that and find a bunch of results with my name.


HcZsjFj.png



What you want to look for is something with the following conditions.

1) The found text is AFTER the Character blocks.
2) Below the found text will be descriptions that is basically your Logbook/Streetpass info (Greeting, Recruitment quote, etc).
3) If there are multiple that meet the condition of 1 and 2, pick one to figure out which one it is. I've found the correct one for me had the name preceded by 3090010070. Don't know if it's unique to my cart.



When you find it, 2 lines below the beginning of the name (the way I have it spaced) is the hair color code for the logbook info. It's highlighted black here. This is what handles the hair color being generated for Streetpass, the Logbook portraits, and the little portraits when seeing the little shipping portraits.
uqrhxFJ.png



Here is how it looked like in my other save file.


yQpmGKP.png



After changing those values and loading up the cheat, that will change your Avatar's hair colors ingame and in the logbook.

As a test for Josalyn I did Red for the character block value, and Blue for the Logbook value. As shown here:

8azQGni.jpg

And after you get what you want you can save the game and update the Streetpass team and save again and yay! You now have a custom hair color!

I waited years for this.

YEARS.

EDIT: So I was wondering why the log book colors reverted when I loaded up a different save. I believe it was due to the new color not being saved on the Streetpass team save data. It reverted back when I loaded a different save because the old streetpass team made the original hair color override.

So what I did is after changing the color I sent her out via Streetpass and saved again. Now there's no original hair color anywhere in the data. Nice.

Edited by Jacien
Link to comment
Share on other sites

So I just discovered that Logbook hair color for Avatar portraits also affects Support conversations, but only when viewing from the Support Log on the main menu. Portraits from Supports while in a game file uses the first value, the character block one.

But for a child unit, the hair color value in the character block affects EVERYTHING. That includes Support conversation portraits, the little marriage portrait (when 2nd gen marries).

Neat.

Example of pics.

Severa with Cordelia's Red Hair in a Support from Support Log in main menu (Changed only her character block color)

xmrNXCY.jpg

MorganF with Cordelia's Red Hair (Only character block hair color was changed)
h9JFRqX.jpg

DX4rVts.jpg

Josayln with Chrom's Blue Hair in the Character Block, and Lissa's blonde hair in the Logbook value.

xAGQEHp.jpg

YMrK7dL.jpg

Viewing a support convo from Support Log on main menu (this uses the Logbook value):

hzRVQbK.jpg

Viewing a support convo while in a save file (this uses the Character block value):

Q9GtyG9.jpg

Doing a critical move (this uses the the Character block value):

iAOnW6y.jpg

So in summary, Avatars have two locations where hair color is saved.

1- Character Block which covers pretty much everything (character model, portraits in the save, sprite and critical portrait), but...

2- The Logbook data is used for portraits related to the Logbook/Streetpass, and this also affects viewing Support Logs from the main menu. Basically stuff that can exist outside of the save file.

For Child units, the Character Block covers everything, so you only have to change theirs. (Red Hair Severa FTW)

Edited by Jacien
Link to comment
Share on other sites

Has anyone tried making a high level generic enemy use a second seal yet?

Forgive me, if this was already discussed.

I'll put it on my to-do-list.

I want to make enemies pair up to attack as well XD

So question for Vincent: the OP says you need a 3ds with firmware 9.0... Does that mean one with a lower version than that won't work?

Pretty sure it has to be 9.0. It's really awkward if you're below, because if you update, you can't use the exploit either.

I updated my 3DS without realizing the exploit existed. Is there any way to reset it, or am I screwed?

Yeah, unless you saved a backup of your previous firmware with Gateway.

Edited by VincentASM
Link to comment
Share on other sites

I'll put it on my to-do-list.

I want to make enemies pair up to attack as well XD

Pretty sure it has to be 9.0. It's really awkward if you're below, because if you update, you can't use the exploit either.

Yeah, unless you saved a backup of your previous firmware with Gateway.

Can you have a 3ds with 9.2 firmware? It says on gbatemp that arcode works up to 9.4 so does it?

Link to comment
Share on other sites

Only other way: do any games come with forced firmware updates?

Also, I corrupted one of my saves when I was trying to add Masked Marth to my roster. Luckily I only spent 5 minutes on that save XD

Link to comment
Share on other sites

Only other way: do any games come with forced firmware updates?

Also, I corrupted one of my saves when I was trying to add Masked Marth to my roster. Luckily I only spent 5 minutes on that save XD

Based off of what i found, some units are loaded into the ram from map files? or loaded into a temporary character data list in ram.

You would be able to use that unit only on the maps where they appear.

character values:

Characters:
1533FAA8 - Unknown (Main MU For this file)
1533FCE0 - Unknown (MU Male)
1533FF18 - Unknown (MU Female)
15340150 - Chrom
C00534 - Fredrick
602034 - Gaius
B02D34 - Olivia
583434 - Lucina
383D34 - Donnel
703F34 -
A84134 - Owain
E04334 - Inigo
184634 - Brady
504834 - Kjelle
884A34 - Cynthia
C04C34 - Severa
F84E34 - Gerome
15345130 - Morgan M
15345368 - Morgan F
A05534 - Yarne
D85734 - Laurent
105A34 - Noire
485C34 - Nah
805E34 - Tiki
B86034 - Gangrel
F06234 - Walhart
286534 - Emmeryn
606734 - Yen'Fay
986934 - Aversa
D06B34 - Priam
15346E08 - Unknown
15347040 - Unknown
15347278 - Risen
153474B0 - Risen
153476E8 - Merchent
15999428 - Farber
15A11AD8 - Validar

Enemy units are placed on strange places in the ram and freeze when used outside of their map so its likely they are only loaded in ram as needed.

Edited by someonewhodied
Link to comment
Share on other sites

Hmm... I thought it'd be like the other games where you can add non-player units OK.

Well, maybe I did something wrong.

I copied Masked Marth's data to Florina's, minus the enemy portrait, because they kept crashing the game or leading to weird stuff happening. Actually, any idea what the enemy portrait does? I noticed Florina has one.

Everything seemed OK so I saved, but then the game crashed and well I couldn't recover the save.

About the thing you noticed, all the key characters are stored in a file called static.bin in the ROM and that's why they're at the front of the RAM. I think the entirety of static.bin is always loaded in the RAM too.

Characters who only appear in certain maps are stored in separate files like 004.bin for the 4th chapter. These characters are presumably loaded if necessary like you described.

Link to comment
Share on other sites

If you could figure out how to give risen units portraits or modify the portraits that would be fun.

My risen is just a silhouette.

Got it once but it froze.

Portraits are auto-assigned to risen i guess.

Something fun:

15346E08 - Unknown (Marth Head)
15347040 - Unknown (Headless)
Those two pointers are after priam for me.
G7vylod.png
goofy issue with map sprites.
Edited by someonewhodied
Link to comment
Share on other sites

Only other way: do any games come with forced firmware updates?

Also, I corrupted one of my saves when I was trying to add Masked Marth to my roster. Luckily I only spent 5 minutes on that save XD

I don't have a 9.0-9.4 backup (on 7.something) but I do have a Gateway.

The way Marth works is actually simpler than that, I think- ally/player Lord-Fs have no mask, and enemy ones do. There was a topic in the Awakening section a while back where someone put a Lord-F on their Streetpass team and it showed up with a mask and short hair for battles, but without them if fighitng as allies against a Risen.

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...