Jump to content
Sign in to follow this  
misterbean01

FE12 database?

Recommended Posts

The rom that I used was my eng patched FE12. I used DSLazy to decompile it and tried to search for the database like in FE11. But there is nor database file inside data/data directory and surprisingly I found it inside the data/cpu but it cannot be decompressed (I'm using the nintenlord's compressor).

My objective is to possibly make Kleine and Roro a playable character in the story (like the extra mission ep2) and modify some of their data like class, level, etc.

I remember doing this on FE8 using Nightmare modules where you place them at the start of a certain chapter. (I am aware that GBA and DS have a big difference)

Share this post


Link to post
Share on other sites

You're looking for "FE12Data.bin", found inside data/data/.

The file is compressed using LZ77 Type 11 compression, which I don't know if NL's compressor supports (I know he knows about Type 11 though).

Share this post


Link to post
Share on other sites

You can use P... some... PuyoTools? I think to decompress LZ11 files.

Also unit data is stored in another folder and it's a bit more complicated and I never had time to create something to help edit it and the such. It's compressed similarly IIRC and I think it might be in the .bmap files but due to my poor documentation skills/lack thereof and general lack of interest from people there isn't much information on it. It's definitely possible though as I did it for Fire Emblem Rebirth 2.

Share this post


Link to post
Share on other sites

Oh yeah, I forgot about the chapter unit data. Although, I think it's essentially the same as FE11's, but with some new parameters like which enemies and items appear on what difficulty mode.

I'm not interested in hacking these games except for research purposes, so I won't be much help.

Share this post


Link to post
Share on other sites

I got decompressed it and it is compatible with FE11 Nightmare but it is giving bad values like 0xBCA7AEA9 for generic name and -67 hp on most characters. Did I made a mistake somewhere?

first I got the FE12Data.bin 38kb then used Puyo Tools and got FE12Data.bin 92.7kb - compatible with nightmare but no good values

then I looked for BatchLZ77 that can also decompress type 11 and got FE12Data.bin.decompressed 92.7kb - the same

If I can't insert them in a chapter, I'll probably switch them in to some characters like changing their face pointer, name pointer, etc..

Edited by misterbean01

Share this post


Link to post
Share on other sites

compatible

if by that you mean, Nightmare didn't crash, then probably. Nightmare will only really crash if the modules are flawed or the offset they reference is outside of the file, meaning you could open most GBA modules on an FE11 or FE12 ROM and they'd LOAD but that doesn't mean the values are actually what they are, Nightmare only labels the values and formats them in an organized fashion making it slightly easier to edit.

I posted very beta FE12 modules somewhere but there's hardly anything to them and they might be glitchy which is why I never officially released them--check the NMM thread.

And there was no real point in decompressing the files twice, Puyo Tools did it fine the first time (and has a nicer GUI than a lot of the other programs out there). The problem isn't the file it's the fact that you're looking for an easy way to edit it--FYI most edits are done using stuff like a hex editor to start with... in fact I'm pretty sure that's how I did all of my unit data edits to that one FE12 hack I hardly worked on but like I said I don't really have any doc for you there (nor do I have any obligation to have any or give you any)

I checked real quick though and it is indeed the 'bmap' files that affect this, each one has a starting # that has to do with what kinda chapter it is (prologue, main game, BSFE, DLC, etc.) and then there's the chapter # as well. The actual data format isn't too hard to figure out, look at it in a hex editor, there's like a simple header followed by a list of units of set data length, you can find the coordinates there (count them in-game first; idk which corner to start from etc. but if you guess and check eventually you should find something, also coordinates are repeated twice, one for the unit's loading place, one for its starting place) and work around and find the class and item data and from there figure out the basics

Sorry I can't be of serious help but it's too complicated and could take hours to get into detail to because I don't really remember much myself and I just don't have that kind of time anymore :(

Share this post


Link to post
Share on other sites

Thank You, your FE12 NM Module and your sample database has helped me. The databin I am using is the same as your sample, the growth rates are glitchy with its negative values but I am not touching that.

I tried to use the character cheat guide of someonewhodied: http://serenesforest.net/forums/index.php?showtopic=26096 and has successfully switched a characters face and name in-game. Im just curious If those values may are the same with the pointers in the module?

When I scroll on blank names in the NMM Charater editor after the "Start of Generic Enemies" from 0x4E above, I notice that some of them have stats and Name/Portrait Value other that 0x00. Is it safe to assume that they could be specific characters like Eremiah Hardin or Roro?

Edited by misterbean01

Share this post


Link to post
Share on other sites

not glitchy, they're uh... encrypted. it's complicated. Vincent explained it to me but I still didn't get it at the time. Pretty much, you won't be editing growths really.

And yes, there are probably some enemies there. Like I said the modules were never properly made or released. I think I just like copied an FE11 module and made a couple edits, really. :|

Share this post


Link to post
Share on other sites

So I also tried to switch portraits (just the file names) but the eyes when blinking and the smile were off. Where or what file needs to be fixed? or is it better to switch them on base talks or story scripts? like the load faces in the script.

Edited by misterbean01

Share this post


Link to post
Share on other sites

Yeah um I don't remember exactly but I think the easiest way to change the portraits would be to change the value in the character editor. I *think*--I'm not sure about this--that in-text might reference the character data before seeing which portrait to load. As for just switching file names, that must mean the frame positions are stored in a different place. As for how to control them, I did some research on them a long time ago but I could never figure out where the bytes or whatever it is that controls them are. For custom portraits I just didn't make them have frames since the actual frame graphics are technically apart of the portraits near the bottom.

Share this post


Link to post
Share on other sites

I apologize for bumping this, but I'm really curious as to what sort of code is used to interpret the growth rates in this game? I'm open to any explanation available even if I'm not capable of understanding it.

It seems like each growth rate actually takes up two bytes, which is unusual (first three characters presented as visible example for anyone else who might know what this is). Someone hopefully knows, I'm not sure how DarkTwilkitri would've even gotten the reference values for growths in the first place if they're stored like this (magazine?). Is there a tool available for tracing in DS? That might lead someone to the algorithm used to interpret these things.

There's definitely shenanigans, here, as all three of them have the same base Resistance growth listed yet their actual entries are completely different from each other.

Marth: D1E3 6CE1 F62E 1549 98A9 AEA7 BCBD B2CB (50, 45, 5, 45, 45, 80, 25, 10)
My Unit: 89A5 389C 8DA5 AEE2 4D42 5B60 5156 6F64 (30, 25, 15, 30, 30, 60, 20, 10)
Luke: 7B95 60B4 BBD4 C7E3 425B 6051 566F 6465 (50, 45, 0, 25, 40, 40, 25, 10)

Edited by EdeaCreamer

Share this post


Link to post
Share on other sites

You should probably make a new thread for this, but characters have two row of growths--one of them isn't used AFAIK.

Apart from that, the growths are ciphered and DT just manipulated the cipher check to get the real numbers.

I have a trick for editing growths while conforming to the cipher, but it's a bit of a mouthful. Maybe Blazer has it saved somewhere?

Share this post


Link to post
Share on other sites

Ah, cipher's a better word for the growth rate format than compression, thanks for that.

Huh, I was wrong, then. I knew that immediately after the provided bytes was Weapon Experience for Swords, but I wouldn't have guessed half of the data in there was completely unused.

But yes, definitely interested in any information about learning/manipulating this, no matter how over-my-head this is. Is it OK for me to make a fresh thread about it after having bumped this? I just didn't want to create duplicate threads; I'll remember it's alright to ask about things with a fresh thread if the most recent prior one's gotten old.

Share this post


Link to post
Share on other sites

Sure, go ahead ^^

I'll try and dig up my notes on growth rates in the meantime.

(Be warned it's kind of messy and might not make sense at first, because it uses a very roundabout way.)

Share this post


Link to post
Share on other sites

You should probably make a new thread for this, but characters have two row of growths--one of them isn't used AFAIK.

Apart from that, the growths are ciphered and DT just manipulated the cipher check to get the real numbers.

Are there any uniformities between growths of different characters, regarding the unused ones? Perhaps these growths are the class growths (so two cavaliers would share the same unused growths), or perhaps they're another set of growths to be used like in FE9, where you could have two different styles of level-ups.

Share this post


Link to post
Share on other sites

Alright. If I can understand the notes/how the cypher works, I might make this a project of just flat out writing the hex values down which you need to use to burp out an appropriate growth rate for a given unit. Massive undertaking, yes, but perhaps someone will find it useful (such as myself, I'd much rather just look things off of an Excel table then try to recalculate every single time I want to change one of them).

Two things I notice right off of the bat, however: all of the growth rates are divisible by 5, and it's possible to have a negative base growth rate (see: Bantu (ugh), Xane's base Skill growth).

Making the new thread, now.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...