Jacien Posted April 13, 2015 Share Posted April 13, 2015 (edited) Heh, so when you load up Chapter 1, your avatar is in Slot 1 in the data, and Chrom, Lissa, and Freckles are in Slots 13, 14 and 15 respectively. I wanted to trying cheating on Lunatic+, and since the boss and the two Myrmidons next to him are considered slots 2, 3, and 4, I accidentally gave them Renewal, Dragonskin, Luna+, Aegis+, and Pavise+. Oops. Edited April 13, 2015 by Jacien Quote Link to comment Share on other sites More sharing options...
Heractodactyl Posted April 13, 2015 Share Posted April 13, 2015 Anyways, what do I need to do to replace one of the legacy characters for Severa? Quote Link to comment Share on other sites More sharing options...
Czar_Yoshi Posted April 13, 2015 Share Posted April 13, 2015 So... something I always wanted to do. https://www.youtube.com/watch?v=5kjT0I292HI Who did you swap her over? I don't recognize that mod spread (+1/-1/+2/+1/0/-1/0) as belonging to any Logbook unit (or anyone else, for that matter). Quote Link to comment Share on other sites More sharing options...
Book of Ereshkigal Posted April 13, 2015 Share Posted April 13, 2015 Dumb: I assume Phila doesn't have an entry in the barracks right? Quote Link to comment Share on other sites More sharing options...
Burning Star Posted April 13, 2015 Share Posted April 13, 2015 (edited) I have a question. My firmware version is 9.6.0-24U. There's no way I can hack the RAM using this method is there? Or can I still hack the RAM if I try to download one of the uploaded RAMs here? From what I understand, the specific firmware is needed only to extract the RAM right? So if I knew the addresses I could technically still hack my RAM yes? Edited April 13, 2015 by Burning Star Quote Link to comment Share on other sites More sharing options...
Heractodactyl Posted April 13, 2015 Share Posted April 13, 2015 Hey quick question, when you make RAM edits, does it affect your save? Or can you continue doing edits with no worries? I'm waiting til I've got access to a PC tomorrow and some people to help me with the process, so I want to continue my save, and I want to know if it's safe or not. I don't really need to continue it, since I still have other games to play, but I need that Severa though.... Quote Link to comment Share on other sites More sharing options...
m0rt Posted April 13, 2015 Share Posted April 13, 2015 (edited) @masterbro Only if you save after editing your game's RAM. If you only do simple edits like gold, item amounts, skills etc and know what you do then you don't need to worry to mess up your savegame. Had no probs so far.. It can get corrupted if you mess it up but you can always make a backup of your save before you start work on it (if using gateway, savedatafiler etc...) Hi, have only recently discovered this forum :D I've been working on an app that will read your memdump, let you edit the values in there and then generate AR codes for you. There is still a lot to add and all the info you guys wrote down here sure comes in handy. This is how the editor looks right now: (click to see larger pic) That's all it can help you editing with atm. I still need to add class editing, more inventory editing stuff etc. I also can add different language sets for item, skill and any other text displayed. Right now it's english and german. I also need to look into determining the game region (EUR, USA, JAP...) and if DLCs are used. This is mandatory to offer an app that can generate codes for nearly all versions of the game. There will be a release candidate available soon. I hope you guys will find it useful and give some feedback :) Edited April 13, 2015 by m0rt Quote Link to comment Share on other sites More sharing options...
VincentASM Posted April 13, 2015 Author Share Posted April 13, 2015 Heh, so when you load up Chapter 1, your avatar is in Slot 1 in the data, and Chrom, Lissa, and Freckles are in Slots 13, 14 and 15 respectively. I wanted to trying cheating on Lunatic+, and since the boss and the two Myrmidons next to him are considered slots 2, 3, and 4, I accidentally gave them Renewal, Dragonskin, Luna+, Aegis+, and Pavise+. Oops. Yeah, you got to be careful with your slots. The easiest way I find is to enter the chapter, create a bookmark and then load it. This will place the player slots at the top and get rid of any characters you haven't deployed, in case you want to edit the enemy easily. Anyways, what do I need to do to replace one of the legacy characters for Severa? I'll take a look when I have time to download the file. Gotta upload a whole bunch of files first and my internet isn't that great XD Who did you swap her over? I don't recognize that mod spread (+1/-1/+2/+1/0/-1/0) as belonging to any Logbook unit (or anyone else, for that matter). Flavia : P Dumb: I assume Phila doesn't have an entry in the barracks right? I haven't checked, but she shouldn't (I looked through the script dump earlier and I already knew she had a help message). I will check again if I remember though. I have a question. My firmware version is 9.6.0-24U. There's no way I can hack the RAM using this method is there? Or can I still hack the RAM if I try to download one of the uploaded RAMs here? From what I understand, the specific firmware is needed only to extract the RAM right? So if I knew the addresses I could technically still hack my RAM yes? Sorry, you need the correct firmware to use the RAM cheats too. The same exploit (spider) is used to dump the memory and apply the cheat codes. Hey quick question, when you make RAM edits, does it affect your save? Or can you continue doing edits with no worries? I'm waiting til I've got access to a PC tomorrow and some people to help me with the process, so I want to continue my save, and I want to know if it's safe or not. I don't really need to continue it, since I still have other games to play, but I need that Severa though.... It depends, but if you edit the character blocks directly, the changes should apply. That's what I'll be doing for Severa. As already mentioned, copy your save file beforehand if you have space. Hi, have only recently discovered this forum :D I've been working on an app that will read your memdump, let you edit the values in there and then generate AR codes for you. There is still a lot to add and all the info you guys wrote down here sure comes in handy. This is how the editor looks right now: (click to see larger pic) That's all it can help you editing with atm. I still need to add class editing, more inventory editing stuff etc. I also can add different language sets for item, skill and any other text displayed. Right now it's english and german. I also need to look into determining the game region (EUR, USA, JAP...) and if DLCs are used. This is mandatory to offer an app that can generate codes for nearly all versions of the game. There will be a release candidate available soon. I hope you guys will find it useful and give some feedback :) Nice, that looks amazing. Are you planning to add support for the static.bin file in the RAM (the one that determines cap modifiers, support tables, reclass sets, etc.)? If you know how to read Nightmare files, I've documented the file under the Character Editor linked in the first page. However, as I've mentioned once or twice, all the pointer-based values will need adjusting. Quote Link to comment Share on other sites More sharing options...
m0rt Posted April 13, 2015 Share Posted April 13, 2015 Nice, that looks amazing. Are you planning to add support for the static.bin file in the RAM (the one that determines cap modifiers, support tables, reclass sets, etc.)? If you know how to read Nightmare files, I've documented the file under the Character Editor linked in the first page. However, as I've mentioned once or twice, all the pointer-based values will need adjusting. Thanks :) I had a look at this nightmare (.nmm) file. Correct me If i'm wrong but the data you talk about is the one that you reach by using a character block (272 bytes each) using it's character pointer (0x58 in character block). Each object in the array is 568 bytes in size. I think I already spotted that size in your .nmm file. The pointers are no prob, I think I can easily grab them from the memorydump :) I'm using the EUR version btw, without any DLCs. Gold is found at 0x009DD510 First character block is at 0x0140E1EC would help me a lot if you guys with other versions of the game would tell me your offsets. Quote Link to comment Share on other sites More sharing options...
shadowofchaos Posted April 13, 2015 Share Posted April 13, 2015 (edited) Gold is found at 0x009DD510 First character block is at 0x0140E1EC would help me a lot if you guys with other versions of the game would tell me your offsets. Any way I can contribute to this project via coding and information actually? By the way, what we've found out is that DLC and Spotpass also have an effect on offsets as you said... but not only IF they're used... but also WHAT is used. We can't expect the player to know all of the data that is on their SD card. It's not just between JP, US, and EU version of the game or the presence or absence of DLC. My two JP 3DSs have different offsets. I originally had the idea of using labels to determine any shift in addresses. Because even between versions, if you have a base "offset" like Vincent's addresses... if you find this: PID_プレイヤー男 PID_プレイヤー女 In hex: 50 49 44 5F 83 76 83 8C 83 43 83 84 81 5B 92 6A 00 50 49 44 5F 83 76 83 8C 83 43 83 84 81 5B 8F 97 00 Which is Male MU and Female MU labels... it's where the labels start... You can find the differences between the "target" system's address and Vincent's base code to modify the pointers correctly. Edited April 13, 2015 by shadowofchaos Quote Link to comment Share on other sites More sharing options...
VincentASM Posted April 13, 2015 Author Share Posted April 13, 2015 (edited) Anyways, what do I need to do to replace one of the legacy characters for Severa? I've got your file. To save time, can you list your roster with the following details: Number, character, parents Eg. I can see number 1 is Chrom with no parents. Number 2 is the character after Chrom. But if you don't care about hacking the parent label, you can try these codes: Use this code first by itself: 013D0294 00000000 (Removes Logbook pointer for character 1) Then after the first code has been applied, use these two: 013D0284 1539D7C0 013D0288 15373588 (Change character 1 to Severa and class to Mercenary) Obviously since Chrom is in slot 1, you may want to to enter a battle and reorder your units until a Logbook unit is the first slot. Once done, save your game, reset, reload and then apply the codes. I trust you can change character 1's hair colour. Otherwise it'll be the same colour as whoever was originally in slot 1. Thanks :) I had a look at this nightmare (.nmm) file. Correct me If i'm wrong but the data you talk about is the one that you reach by using a character block (272 bytes each) using it's character pointer (0x58 in character block). Each object in the array is 568 bytes in size. I think I already spotted that size in your .nmm file. The pointers are no prob, I think I can easily grab them from the memorydump :) I'm using the EUR version btw, without any DLCs. Gold is found at 0x009DD510 First character block is at 0x0140E1EC would help me a lot if you guys with other versions of the game would tell me your offsets. That sounds like the right place. Edited April 13, 2015 by VincentASM Quote Link to comment Share on other sites More sharing options...
Otakusensei Posted April 13, 2015 Share Posted April 13, 2015 (edited) Here's a ram dump from my ROM copy of FE:A that I dumped from my US retail cart. Should also report that this is on a US 3DS XL in emunand 9.5.0-23 running Gateway Mode. I used an online CIA pack of the DLC and have not played all the maps. Not sure if playing new maps changes things. I do use spotpass and have logbook characters, one of them is in position 1. Use 10 00 61 00 62 00 4A 00 5A to find her data. Let me know if anyone needs to know anything else, I love what's going on here!: https://mega.co.nz/#!AAZ2zTxD!4NeRfvGGs-_u5TiJbKd6374ZMsDwsuLUtAmpo9FMltg Edited April 13, 2015 by Otakusensei Quote Link to comment Share on other sites More sharing options...
Heractodactyl Posted April 13, 2015 Share Posted April 13, 2015 I've got your file. To save time, can you list your roster with the following details: Number, character, parents Eg. I can see number 1 is Chrom with no parents. Number 2 is the character after Chrom. But if you don't care about hacking the parent label, you can try these codes: Use this code first by itself: 013D0294 00000000 (Removes Logbook pointer for character 1) Then after the first code has been applied, use these two: 013D0284 1539D7C0 013D0288 15373588 (Change character 1 to Severa and class to Mercenary) Obviously since Chrom is in slot 1, you may want to to enter a battle and reorder your units until a Logbook unit is the first slot. Once done, save your game, reset, reload and then apply the codes. I trust you can change character 1's hair colour. Otherwise it'll be the same colour as whoever was originally in slot 1. That sounds like the right place. Nice, anyways, I'd want to keep the character label, so when I get home from work, I'll check the character numbers. Would it be from left to right from the game? Or would that code be in FCRAM? The parents are Gaius and Cordelia by the way, if you need any more information. Quote Link to comment Share on other sites More sharing options...
Heractodactyl Posted April 13, 2015 Share Posted April 13, 2015 (edited) Nice, it worked! Can't post pics as I am still at work using my phone, but besides the parent labels not being there, her icon on the roster and the map is still Pr. Marth's. Would a class change fix this? Edited April 13, 2015 by MasterBro10 Quote Link to comment Share on other sites More sharing options...
VincentASM Posted April 13, 2015 Author Share Posted April 13, 2015 Nice, it worked! Can't post pics as I am still at work using my phone, but besides the parent labels not being there, her icon on the roster and the map is still Pr. Marth's. Would a class change fix this? Phew. I didn't screw up the maths XD The map sprite fixes itself once you save and reload. If you don't want to permanently save yet, you can create a bookmark instead. Nice, anyways, I'd want to keep the character label, so when I get home from work, I'll check the character numbers. Would it be from left to right from the game? Or would that code be in FCRAM? The parents are Gaius and Cordelia by the way, if you need any more information. Just left to right, like in the game. I see... I don't have a memory dump with any children characters, so I need a few samples to see how the parent pointers work. Quote Link to comment Share on other sites More sharing options...
Burning Star Posted April 14, 2015 Share Posted April 14, 2015 (edited) Shoot. Is there a chance of spider being updated for the latest firmware? Btw...this method lets you permanently learn enemy only skills right? Along with having the same stat for Asset/Flaw? How about max stat modifiers? Can they be edited through the RAM? Or do you have to delve into the ROM for that? Edited April 14, 2015 by Burning Star Quote Link to comment Share on other sites More sharing options...
Heractodactyl Posted April 14, 2015 Share Posted April 14, 2015 I've got your file. To save time, can you list your roster with the following details: Number, character, parents Eg. I can see number 1 is Chrom with no parents. Number 2 is the character after Chrom. But if you don't care about hacking the parent label, you can try these codes: Use this code first by itself: 013D0294 00000000 (Removes Logbook pointer for character 1) Then after the first code has been applied, use these two: 013D0284 1539D7C0 013D0288 15373588 (Change character 1 to Severa and class to Mercenary) Obviously since Chrom is in slot 1, you may want to to enter a battle and reorder your units until a Logbook unit is the first slot. Once done, save your game, reset, reload and then apply the codes. I trust you can change character 1's hair colour. Otherwise it'll be the same colour as whoever was originally in slot 1. That sounds like the right place. Okay, I'll list all my characters in number order BEFORE I arranged Pr. Marth to replace with for incomplete Severa(no parent labels yet) 1. Chrom, no parents (wife Sumia, if you need husband/wife/children) 2. Lucina, father Chrom, mother Sumia, (husband MU) 3. Owain, father Vaike, mother Lissa 4. Kjelle, father Virion, mother Sully 5. Cynthia, father Chrom, mother Sumia 6. Noire, father Libra, mother Tharja 7. Morgan, father MU, mother Lucina 8. MU, no parents (wife Lucina) 9. Gaius no parents (wife Cordelia) 10. Cordelia no parents (husband Gaius) 11. Sumia no parents (husband Chrom) 12. Stahl no parents (wife Cherche) 13. Cherche no parents (husband Stahl) 14. Maribelle no parents (husband Henry) 15. Henry no parents (wife Maribelle) 16. Kellam no parents 17. Miriel no parents (husband Ricken) 18. Lissa no parents( child Owain husband Vaike) 19. Donnel no parents (wife Nowi) 20. Frederick no parents 21. Panne no parents (husband Gregor) 22. Gregor no parents (wife Panne) 23. Lon' Qu no parents (wife Olivia) 24. Nowi no parents (husband Donnel) 25. Vaike no parents (wife Lissa child Owain) 26. Virion no parents (wife Sully child Kjelle) 27. Sully no parents (husband Virion child Kjelle) 28. Tharja no parents (husband Libra child Noire) 29. Libra no parents (wife Tharja child Noire) 30. Olivia no parents (husband Lon' Qu) 31. Say'ri no parents 32. Micaiah no parents (haven't used ever xD) 33. Ricken no parents (wife Miriel) 34. Pr. Marth no parents 35. Anna no parents Quote Link to comment Share on other sites More sharing options...
Czar_Yoshi Posted April 14, 2015 Share Posted April 14, 2015 (edited) Flavia : P In that case, Flavia's Skl mod listed here is incorrect (if you care about info about units nobody cares about, of course). I suppose there's no chance anyone knows of any games that might have the forced 9.0-9.5 firmware update? Edited April 14, 2015 by Czar_Yoshi Quote Link to comment Share on other sites More sharing options...
m0rt Posted April 14, 2015 Share Posted April 14, 2015 (edited) I suppose there's no chance anyone knows of any games that might have the forced 9.0-9.5 firmware update? If you're using a USA 3DS then you can use Code Name: S.T.E.A.M. to install 9.4.0-U on a EUR 3DS you can use Gardening Mama Forest Friends or Cooking Mama 5 Bon Apetit! to install 9.2.0-E. However, make sure that you have the correct Browser version, that's what really matters if you want to use the ARcodes etc. Browser version should be 1.7567 (i.e. firmware 7.1 and above). If you never updated to 7.1 (or above) via eshop but only by cartridges (forced update), then it probably won't work for you. I had the same issue but luckily have a gateway card, so I was able to download the full 9.2.0-E firmware via 3DNUS and install the provided CIA files with BigBlueMenu etc afterwards. I'm now even using 9.5.0-22E, that I also installed by that method (emunand) and it works perfectly. @Otakusensei Thanks for the USA memdump, this helps a lot :) Has anyone yet found out where the rest of the inventory is located in RAM? I only got the char inventories (in the character blocks) covered so far. Edited April 15, 2015 by m0rt Quote Link to comment Share on other sites More sharing options...
Czar_Yoshi Posted April 14, 2015 Share Posted April 14, 2015 I've got a Gateway and am pretty sure my 3ds is on 7.2 (US). Codename STEAM it is (I've been looking for a reason to buy that, guess this is it!). Quote Link to comment Share on other sites More sharing options...
m0rt Posted April 15, 2015 Share Posted April 15, 2015 (edited) I've got a Gateway and am pretty sure my 3ds is on 7.2 (US). Codename STEAM it is (I've been looking for a reason to buy that, guess this is it!). Make sure you update your emunand only when using a forced update (via rom etc..)! Your gateway will be rendered useless If your system version will be 9.4.0 after using the update. Also, gateway usually will block the update, to disable that "protection" keep the UP button pressed while the gateway menu is loading. Best is really to use emunand, get 9.x.0 via 3DNUS and install it then with BigBlueMenu, DevMenu etc.. Edited April 15, 2015 by m0rt Quote Link to comment Share on other sites More sharing options...
ZXApocrypha Posted April 15, 2015 Share Posted April 15, 2015 (edited) not sure if anyone posted this already, but just in case, i filled in the blanks from a previous post in this thread for the item values: 0x01 bronze sword0x02 iron sword0x03 steel sword0x04 silver sword0x05 brave sword0x06 armor slayer0x07 wyrmslayer0x08 killing edge0x09 levin sword0x0A rapier0X0B noble rapier0X0C missiletainn0X0D sol0X0E amatsu0X0F falchion0x10 exalted falchion0x11 parallel falchion0x12 mercurius0x13 tyrfing0x14 mystletainn0x15 balmung0x16 sol katti0x17 Ragnell (player)0x18 Ragnell (inf)0x19 tree branch0x1A Soothing Sword0X1B Glass Sword0X1C Superior Edge0X1D eliwood’s blade0X1E roy’s blade0X1F alm’s blade0x20 leif’s blade0x21 eirika’s blade0x22 seliph’s blade0x23 bronze lance0x24 iron lance0x25 steel lance0x26 silver lance0x27 brave lance0x28 javelin0x29 short spear0x2A Spear0X2B beast killer0X2C blessed lance0X2D killer lance0X2E luna0X2F Gradivus0x30 gungnir0x31 gae bolg0x32 log0x33 miniature lance0x34 Shockstick0x35 Glass Lance0x36 Superior Lance0x37 sigurd’s lance0x38 ephraim’s lance0x39 finn’s lance0x3A bronze axe0X3B iron axe0X3C steel axe0X3D silver axe0X3E brave axe0X3F hand axe0x40 short axe0x41 Tomahawk0x42 hammer0x43 bolt axe0x44 killer axe0x45 vengeance0x46 wolf berg0x47 hauteclare0x48 Helswath0x49 armads0x4A ladle0x4B imposing axe0x4C Volant axe0x4D glass axe0x4E Superior Axe0X4F titania’s axe0X50 Orsin's Hatchet0X51 hector’s axe0X52 bronze bow0X53 iron bow0X54 steel bow0x55 silver bow0x56 brave bow0x57 blessed bow0x58 killer bow0x59 Longbow0x5A astra0X5B parthia0x5C yewfelle0x5D nidhogg0x5E double bow0x5F slack bow0x60 towering bow0x61 underdog bow0x62 Glass Bow0x63 Superior Bow0x64 wolt’s bow0x65 innes’ bow0x66 fire0x67 elfire0x68 arcfire0x69 bolganone0x6A valflame0x6B mjollnir0x6C elthunder0x6D arcthunder0x6E thoron0x6F mjolnir0x70 wind0x71 elwind0x72 arcwind0x73 rexcalibur0x74 forseti0x75 excalibur0x76 Book of Naga0x77 flux0x78 nosferatu0x79 ruin0x7A waste0x7B goetia0x7C grima’s truth0x7D Mire0x7E dying blaze0x7F micaiah’s pyre0x80 Superior Jolt0x81 katarina’s bolt0x82 wilderwind0x83 celica’s gale0x84 Aversa's Night0x85 heal0x86 mend0x87 physic0x88 recover0x89 fortify0x8A goddess staff0x8B Rescue0x8C ward0x8D hammerne0x8E kneader0x8F balmwood staff0x90 Catharsis0x91 dragonstone0x92 Dragonstone+0x93 beaststone0x94 beaststone+0x95 blighted claws0x96 blighted talons0x97 expiration0x98 vulnerary0x99 concoction0x9A Elixir0x9B pure water0x9C hp tonic0x9D strength tonic0x9E magic tonic0x9F skill tonic0xA0 speed tonic0xA1 luck tonic0xA2 defense tonic0xA3 resistance tonic0xA4 door key0xA5 chest key0xA6 master key0xA7 Seraph Robe0xA8 Energy Drop0xA9 Spirit Dist0xAA Secret Book0xAB Speedwing0xAC Goddess Icon0xAD Dracoshield0xAE Talisman0xAF Naga’s tear0xB0 Boots0xB1 Arms Scroll0xB2 Master Seal0xB3 Second Seal0xB4 bullion (S)0xB5 bullion (M)0xB6 bullion (L)0xB7 sweet tincture0xB8 gaius’s confect0xB9 kris’s confect0xBA Tiki's Tear0xBB Seed of Trust0xBC reeking box0xBD Rift Door0xBE Supreme Emblem 0xBF all stats +2 0xC0 paragon 0xC1 iote's shield 0xC2 limit breaker 0xC3 silver card 0xC4 dread scroll 0xC5 wedding bouquet 0xC6 1000 gold 0xC7 3000 gold 0xC8 5000 gold 0xC9 7000 gold Edited April 16, 2015 by ZXApocrypha Quote Link to comment Share on other sites More sharing options...
VincentASM Posted April 15, 2015 Author Share Posted April 15, 2015 Whoops, I'll need to double check Flavia when I have time. Thanks for the item list ^^ I think the first couple of values are slightly off though. 00 is no item, not Bronze Sword. Quote Link to comment Share on other sites More sharing options...
ZXApocrypha Posted April 15, 2015 Share Posted April 15, 2015 (edited) i think you're right; fixed!while i'm posting, have ppl figured out how to assign marriaged couples? also, does doing so affect inherited stats for the kids? =Oedit: also, big thanks to you vincentASM and the other hackers in this thread who have been putting in work figuring this stuff out, it's making for some good lulz in lunatic+ giving the comps a taste of their own medicine (after having beaten it w/o cheats twice [cuz i lost my save data once T_T], ofc =P ) Edited April 15, 2015 by ZXApocrypha Quote Link to comment Share on other sites More sharing options...
m0rt Posted April 16, 2015 Share Posted April 16, 2015 (edited) @ZXApocrypha Thanks for that list. I hope you don't mind me using this for my AR Code generator. I will credit your for your contribution of course :) Same goes for everyone else that is helping me out here :D I finally found some more time to look into the RAM of the game and I want to share some of my findings. I use the EUR version of the game, without DLCs & Spotpass. I hope that some of you guys with other versions of the game will be able to confirm some of my results or will be able to provide more info about their offsets etc. Class Table The class table seems to hold all the definitions of the classes. The 272 byte in length character blocks refer to the table entries. This are pointers to the class table. EUR = 0x000220FC USA = 0x000234FC (with DLC/Spotpass) Just read the value there (it's the offset of the table begin) and make sure you fix the offset! (e.g. 0xC00A3B15 = 0x013B0AC0 !) The class list will start 8 bytes later from there, each object is 128 bytes in size and there should be a total of 83 objects. If you jump 83 * 128 (10624 bytes) forward, you will reach the end of the class table and see a 4 byte int value that seems to hold the total object count (0x53 = 83). Need to figure out the structure of each entry still, but I got some stuff mapped out already: public struct Class_Table_Entry //128 bytes per entry, 83 entries in total { public UInt32 ID; public UInt32 Unknown_0; //Always 0x00000000 ? public UInt32 P_JID; //Points to JID data public UInt32 Unknown_1; //Always 0x00000000 ? public UInt32 P_MJID_0; //Points to MJID data public UInt32 P_MJID_1; //Points to MJID data public Byte[] Unknown_Array_0; //32 byte array of still unknown values... public UInt32 Unknown_2; //Always 0x00000000 ? public Byte[] Unknown_Array_1; //32 byte array of still unknown values... public UInt32 P_Next_Class; //Points to successor class ? public UInt32 Unknown_3; //Always 0x00000000 ? public Byte[] Unknown_Array_2; //8 byte array of still unknown values... public UInt32 P_HSDArc; //Points into a HSDArc file... public UInt32 Unknown_4; //Always 0x00000000 ? public UInt32 P_MJID_2; //Points to MJID data public UInt32 Unknown_5; //Always 0x0F000000 ? public UInt32 Unknown_6; //Always 0x00000000 ? } Character Table The character table seems to hold all the base character values and more. The order is static, it should always be the same. This is the order of the characters listed: 0 - Avatar_M1 - Avatar_F2 - Avatar_N3 - Chrom4 - Lissa5 - Frederick6 - Virion7 - Sully8 - Vaike9 - Stahl10 - Miriel11 - Kellam12 - Sumia13 - Lon'qu14 - Ricken15 - Maribelle16 - Panne17 - Gaius18 - Cordelia19 - Gregor20 - Nowi21 - Libra22 - Tharja23 - Olivia24 - Cherche25 - Henry26 - Lucina27 - Say'ri28 - Basilio29 - Flavia30 - Donnel31 - Anna32 - Owain33 - Inigo34 - Brady35 - Kjelle36 - Cynthia37 - Severa38 - Gerome39 - Morgan_M40 - Morgan_F41 - Yarne42 - Laurent43 - Noire44 - Nah45 - Tiki46 - Gangrel47 - Walhart48 - Emmeryn49 - Yen'fay50 - Aversa51 - Priam52 - Marth_FE153 - Dummy54 - Unpromoted_Monster55 - Promoted_Monster56 - Merchant Each entry seems to be 568 bytes in size and there is a total of 57 objects. There is an easy way to find the start of the table, which seems to be located in a file (HSDArc format) that is loaded by the game. You simply can use a hex editor that offers wildcard search. I'm using Hex Workshop which offers ?? as a wildcard mask for a hex byte. Just search for the hex string below and you should find the beginning of that HSDArc file. 48 53 44 41 72 63 00 01 ?? ?? ?? ?? 39 00 00 00 You will be seeing the header of the file. Which has the following struct?: public struct HSDArc_Header { public Byte[] Tag; //[6] 0x485344417263 'HSDArc' public UInt16 Flag; //? not sure yet, often 0x0001 public UInt32 Pointer; //? not sure where it points to yet public UInt32 Count; //? not sure yet } Right after that the character table will start. I didn't figure out the struct for each of the entries yet, but it seems likeVincentASM has mapped it out in his CharacterEditor Nightmare script. So it should be easy to adopt the info. So far I've found the following offsets when trying to hunt down the table in the below listed versions of the game: EUR = 0x013D6558 USA = 0x0133BE58 (with DLC/Spotpass) Character Block Table The character block table keeps track of your current character roster. The order in there is dynamic and it will change several times. Stuff like haircolor, level, exp, hp, character inventory etc are stored in there. Each block is 272 bytes in size and there is a total of 200 blocks but most remain unused. You can search for this hex string to find the beginning of the table: 10 01 00 00 C8 00 00 00 00 00 00 00 00 00 00 00 ?? ?? ?? ?? 10 01 00 00 seems to be holding the object size (272 bytes) while C8 00 00 00 seems to hold the object count (200) Those blocks were partially mapped out already by some of you guys, there are still some unknown values left in there. Expect more info soon... :) I'm really interested in finding more reliable pointers to offer support to read every dump of the game reliable, regardless of what game version was used to make it. Hope you guys can help me with that :D Edited April 16, 2015 by m0rt Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.