Jump to content

How to fix the bugs when hacking FE6 with FEditor Adv.


Onmi
 Share

Recommended Posts

So those of you who've ever tried hacking FE6 probably ran into the problem that FEditor hated it, it hated you, and no matter what you tried the game just went ballistic and broke everything, we had no explanation.

Now we do.

Me and Lis were chatting, discussing the next additions to the Early Promotion hack, and Lis says "why not add the animations via ASM and repoint it manually." and I'm about to shoot it down and then, click. so I open up FE6 in HxD and I run a search for free space. FE6 has very little free space, it's literally miniscule, so when you try to edit with FEditor Adv, it just finds the closes FF hex to edit from, which breaks Storage or text or the whole translation because it's editing/breaking the pointers on important shit.

SO HERE'S WHAT YOU NEED TO DO!

What you need.

HxD (Or other hex editing tool)

FE6 Rom

Step 1. Open FE6 in HxD

Step 2. Go to the end of the Rom

Step 3. Insert free space (NOTE! FREE SPACE IS DEFINED BY FF NOT 00, JUST HOLD DOWN FF FOR A WHILE, COPY IT ALL AND PASTE IT OVER AND OVER AGAIN)

Step 4. Save and close

Step 5. Open up FEditor Advanced

Step 6. Manually re-point the data using FEditor Advanced

ALTERNATIVELY. Save before editing, this should automatically re-point it (UNTESTED)

DO NOT. Edit the 00's at the end of the rom, they control graphical data.

This seems simple, yes, but we've had FEditor for how many years and never caught this? I would rather the information be up on the site here, then plunging to the depths forum and then someone comes around asking what's up.

THANK YOU:

Lisandra brave: The one who pointed out Occams Razor and did the testing.

To /vg/s FE General: We wouldn't have been discussing FE6 without you guys. Keep on dying trucking dying Doofus

Link to comment
Share on other sites

FE6 has very little free space, it's literally miniscule.

> Japanese FE6 has 8MB

> Translation has 16MB

*opens up FE6*

Let's see, Let's start AFTER the original ROM's space.

0x817F30. Stops at 0xA00000.

Starts again at 0xA06BA0. There's a few graphics again spread out.

Other than that. After the A

I doubt the translation took the whole 8 MB.

That's just skimming through.

Please get your facts straight before making declarations. FE6 literally has THE MOST free space out of the 3 GBA games.

it just finds the closes FF hex to edit from, which breaks Storage or text or the whole translation because it's editing/breaking the pointers on important shit.

Laughing.

Please indicate where in the java source that code is in. BY ALL MEANS.

Edited by shadowofchaos
Link to comment
Share on other sites

> Japanese FE6 has 8MB

> Translation has 16MB

*opens up FE6*

Let's see, Let's start AFTER the original ROM's space.

0x817F30. Stops at 0xA00000.

Starts again at 0xA06BA0. There's a few graphics again spread out.

Other than that. After the A

I doubt the translation took the whole 8 MB.

That's just skimming through.

Please get your facts straight before making declarations. FE6 literally has THE MOST free space out of the 3 GBA games.

Okay Rey, Actually look for how much FF there is in the rom. Very little. And the bugs are all fixed. So I think I did do my research. Seeing as Fa didn't break, Storage didn't break, and that was after adding several animations.

Okay Rey, no I don't know what FEditor literally does in the Java, that was my speculation. That was wrong of me.

Edited by Onmi
Link to comment
Share on other sites

I am SORRY...

NOTE! FREE SPACE IS DEFINED BY FF NOT 00, JUST HOLD DOWN FF FOR A WHILE, COPY IT ALL AND PASTE IT OVER AND OVER AGAIN)

BUT...

AHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA.

> Assumptions

Also, from Cam:

[8:57:57 AM] Cam: "what are you talking about FE6 has a metric fuckton of free space

What the fuck is FF hex? Hextator found out where all the free space is by following the directions of the assembly code - by running the game as you would a program, you can find out exactly what areas of the 0x08000000 memory (the ROM itself) are read from, ever.

It just so happens that some of the auto patches modify an EXISTING ROUTINE to do something different - with unintended or unexpected side effects. THAT is why things break. NOT because someone mispointed free space."

Also: There's a thing called the "FREE SPACE MANAGER" when you open up FEditor. The footer is what defines Free space, not your precious "FF".

Edited by shadowofchaos
Link to comment
Share on other sites

I am SORRY...

BUT...

AHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA.

> Assumptions

Also, from Cam:

Also: There's a thing called the "FREE SPACE MANAGER" when you open up FEditor. The footer is what defines Free space, not your precious "FF".

Okay Rey, I admit to being wrong, I bow to your infinite wisdom.

So why did this fix all the problems we've been having with FE6? The problems your 'fixed FEditor' didn't solve. Please tell me, because I would have liked to have known this information last year when I first had this problem in JULY.

Because it fixes the problem Rey. Shin tried it, he can edit text without FE6 breaking, Lisandra tested it, and she added animations without it breaking.

So tell me. Why does it work now. BY ALL MEANS.

Link to comment
Share on other sites

FE6Freespace.png

So tell me. Why does it work now. BY ALL MEANS.

Duplicate the bug. With controlled conditions.

As document it like a FREAKING SCHOOL PROJECT.

Because right now, your findings are based on crap with MULTIPLE FREAKING VARIABLES.

In fact. LET ME document it for you.

Gimme the steps, your files, and your text that you replaced to cause your damn bugs.

Edited by shadowofchaos
Link to comment
Share on other sites

FE6Freespace.png

Duplicate the bug. With controlled conditions.

As document it like a FREAKING SCHOOL PROJECT.

Because right now, your findings are based on crap with MULTIPLE FREAKING VARIABLES.

In fact. LET ME document it for you.

Gimme the steps, your files, and your text that you replaced to cause your damn bugs.

I did duplicate the bugs Rey, I did do it under controlled conditions. Back in February. You were even there. http://serenesforest.net/forums/index.php?showtopic=30459&view=findpost&p=1845746 Then I did it again for Cam over PMs, and it still broke. Then Shin ran into the same problems just editing text.

Link to comment
Share on other sites

"Give me your crap".

You can get the animations from FE7 and 8, the beta Eirika animation from the FEditor Animation thread. you can check the post I linked to for the same tests I did under a controlled environment on multiple different roms. And I edited a vanilla FE6 rom with the translation patch applied. I trust that you at least have that and I don't have to hold your hand

Oh right steps

Step 1. Open up FEditor and load the rom

Step 2. Save

Step 3. Expand the animation array by 1

Step 4. Add an animation

Step 5. Save

Results: should be fine

Repeat the steps and add a second animation, should be fine again, repeat the steps and add a third, and it should break. The breakage that occurs is the Storage becoming bugged, it's pretty well documented, depositing an item in storage, ending the map and the next one should refuse to load, and upon restarting the chapter, any items in your storage are gone, and there is the possibility of a dummy character.

The other bug is the Fa bug, Fa's attack animation will refuse to transform and the game will hang

You'll have to ask Shin his steps for text editing. And you can check Horace's Play log for everything he's encountered

And don't give me sass boy. Now answer MY question, why did this work, if these bugs, which you yourself admitted plenty of times have occurred in the past, are suddenly not occurring?

Edited by Onmi
Link to comment
Share on other sites

now he's questioning the existence of bugs we've proven for ages

Not telling you how I got this, but tell me, good sir... IS THAT really what you think I'm thinking?

I KNOW they exist... though the fact is, your documentation on how the problem is occurring is...

Let's just say Hextator would rip you open a new one.

You did not document exactly what space was changed. You only documented that "I inserted an animation."

Considering how you had at least 3 assumptions in your posts, I have valid reason to believe FOR MYSELF that your experiment is invalid.

Your method did work. However, you don't know exactly WHY it works. That is enough reason to doubt if this actually fixes the issue or if it will occur.

IN FACT, considering how you changed crap by pasting your glorious FF's, FEditor would probably write to the end of the ROM instead of writing to the problem area.

Edited by shadowofchaos
Link to comment
Share on other sites

Not telling you how I got this, but tell me, good sir... IS THAT really what you think I'm thinking?

I KNOW they exist... though the fact is, your documentation on how the problem is occurring is...

Let's just say Hextator would rip you open a new one.

You did not document exactly what space was changed. You only documented that "I inserted an animation."

Considering how you had at least 3 assumptions in your posts, I have valid reason to believe FOR MYSELF that your experiment is invalid.

Your method did work. However, you don't know exactly WHY it works. That is enough reason to doubt if this actually fixes the issue or if it will occur.

IN FACT, considering how you changed crap by pasting your glorious FF's, FEditor would probably write to the end of the ROM instead of writing to the problem area.

Actually yeah, it writes at the beginning of the expanded free space. Sorry I probably should have pointed that out. That's why it doesn't break.

Link to comment
Share on other sites

So what "bugs" does this actually fix? And is this problem really only being "solved" because we add in more free space and write new data to that point in the ROM? Because that would feel like a really anticlimactic way to solve a problem that has existed for so long...

Link to comment
Share on other sites

IMO so long as it works why argue over it? I'm sure there are several ways to do it, this is just one of them. Even if sme of the information posted about FE6 wasn't true; if it works why does it matter?

Link to comment
Share on other sites

So what "bugs" does this actually fix? And is this problem really only being "solved" because we add in more free space and write new data to that point in the ROM? Because that would feel like a really anticlimactic way to solve a problem that has existed for so long...

Well, bugs that I've encountered that I've confirmed fixed or avoided if you prefer? Storage Bug (Any items deposited in storage crash the game upon transfer to a new chapter, also empties storage) and the Fa bug (Fa's animation will lock up)

I have no idea what's happened with Shin, all he told me was that he didn't get the storage bug and the text editing was going smoothly, if you want a more detailed report on the bugs he got, I know one time the game turned Japanese and dumped stat boosters in his storage, another time, it spawned a dummy Roy which broke the game, and a tile randomly crashed the game.

I admit to understanding next to nothing about Hex and ASM as a language, I apologize for my constant misuse of terminology and things I say that are outright wrong. I do know that a different yet similar bug occurred for my when I didn't understand Event Assembler and expanded the events without re-pointing. Obviously I was not using that rom when testing this fix, but it is what made me believe the problem was data being pushed out of the way.

Link to comment
Share on other sites

Yo. I've calmed down a bit.

Break a ROM. Give me a savestate AND patch.

Then I'll document every freaking address that gets changed and figure out what the hell is REALLY causing it.

... I'm gonna go out on a limb and make a prediction and say it's probably gonna be as simple as how Dan screwed up the last DoF patch with ONE byte.

Link to comment
Share on other sites

Yo. I've calmed down a bit.

Break a ROM. Give me a savestate AND patch.

Then I'll document every freaking address that gets changed and figure out what the hell is REALLY causing it.

... I'm gonna go out on a limb and make a prediction and say it's probably gonna be as simple as how Dan screwed up the last DoF patch with ONE byte.

Okay, I will get it to you the moment I have it ready.

Link to comment
Share on other sites

Okay, I've only added 3 animations, Beta Lyn w/ Durandal, Beta Eirika Armed, and Beta Eirika Disarmed. I saved after inserting each animation and I saved as the first action I did upon opening FEditor advanced I've included screenshots in the Zip.

Storage Bug was triggered by depositing Lances starting inventory to Merlinus in C2 and in C3, an extra Cavalier and Paladin spawned who broke the game. when scrolled over (documented in screenshots)

For the Fa bug, I simply had her attack an enemy, which caused the animation to stop and an unholy shrieking sound to be made (also documented Sans sound in screen shots)

If you wish to pull these off in-game, Save State 1 is Chapter 16 (Fa Bug) and Save State 2 is Chapter 2 (Items in storage, Roy on the throne, just capture and it will take you to c3)

I honestly wish you success and genuinely hope you can find out what's going on.

http://www.mediafire.com/?1sl7q8cmuvd83u1

Link to comment
Share on other sites

DO NOT. Edit the 00's at the end of the rom, they control graphical data.

how the flying fuck can a bunch of 00's control graphical data

you can't even tell me that they're asm opcodes because 00 00 = lsl r0, #0x0 = nothing changes

the 00s at the end are feditor's checksum buffers - they're there so FEditor knows that nothing corrupted

---

as for this entire tutorial - by the looks of it it's all built off of faulty assumptions and a method that worked through sheer luck

Step 3. Insert free space (NOTE! FREE SPACE IS DEFINED BY FF NOT 00, JUST HOLD DOWN FF FOR A WHILE, COPY IT ALL AND PASTE IT OVER AND OVER AGAIN)

that sounds like a good way to accidentally kill something important

you can type literally whatever the fuck you want into expanded space because, if you never use it for anything, nothing will ever read it

Step 6. Manually re-point the data using FEditor Advanced

ALTERNATIVELY. Save before editing, this should automatically re-point it (UNTESTED)

A) there's no repointing to do because there exist zero pointers to your new data anywhere in the ROM

B) saving before editing doesn't really do anything except tell FEditor that any footer data is possibly corrupt and to restart with default freespace data + expanded space (i forget what feditor's default behavior is upon encountering this, i'm too lazy to check)

we've had FEditor for how many years and never caught this?

actual feditor development has been halted for how many years now? three? four?

like seriously the only reason that feditor even got a new release is because someone decided to make some GUI tweaks that hextator liked

EDIT:

okay after playing with jdb for a while, i can answer your "why does this work" question:

it doesn't. all it does is make feditor freak the fuck out because you're editing a rom with supposedly corrupt data. and because it's freaking out, it completely resets the free space list. which, coincidentally, will include the expanded portion of the ROM because it automatically detects that when it sets up metadata.

Edited by Camtech
Link to comment
Share on other sites

so imma just take this thread for a moment

Google mushspeak

Is addressed force the patches that were inside the FEditor Adv.

There may be a bug.

∇ patch

Status is such that no more than 31 from any bug.

In addition, this patch seems to be the maximum HP is 60.

Tentatively interrupted, save and load has been confirmed.

Delete if there is any question.

FEditor Adv の 中 に 入っ て い た パッチ を 無理やり あて た もの です.

バグ が ある かも しれ ませ ん.

∇ パッチ

ステータス が 31 以上 でも バグ ら なくなる よう です.

また, この パッチ で は HP は 60 が 最大 の よう です.

一 応 中断, セーブ ロード は 確認 し て あり ます.

問題 が あっ たら 削除 し ます.

http://ux.getuploader.com/FE3/download/138/%EF%BD%BD%EF%BE%83%EF%BD%B0%EF%BE%80%EF%BD%BD%E4%B8%8A%E9%99%90.zip

This was uploaded today. Dunno what for, so I wanna ask those who actually use this program what it could be addressing. Patch included.

Link to comment
Share on other sites

Not the same bug that we're addressing. Considering how that patch is for FEditor itself. And I don't even know what it does.

Anyways, I found the reason for Fa's bug, which Onmi kept shoving in my face. Despite calming down now, any why I look at it, you were STILL shoving it in my face.

So why did this fix all the problems we've been having with FE6? The problems your 'fixed FEditor' didn't solve. Please tell me, because I would have liked to have known this information last year when I first had this problem in JULY.

Because it fixes the problem Rey. Shin tried it, he can edit text without FE6 breaking, Lisandra tested it, and she added animations without it breaking.

So tell me. Why does it work now. BY ALL MEANS.

"How come it works? I'LL TELL YOU WHY."

It was a LOT simpler than any of you were making it out to be.

Log of how I found the problem: Click

Screenshots referenced: Photobucket Album

This is why Backups are important:

ROMs.png

You experienced freezing, while I experienced palette issues:

Fastillworksslightly3.png

However, it was still enough to decipher what the hell was the problem, and it was a lot simpler than you made it out to be.

Pointer at 0x59AA4. In your broken ROM it's pointing to other data, rather than what it was expecting.

It was overwriting Fa's crap. godd_mg1

In your Broken ROM? Repoint it to: 0x825B04

Basically, it was overwriting the old Animation table, which was repointed. HOWEVER, Fa's ASM was still pointing to where it used to be... hence, your freezing.

And when FEditor was scared off by your FFs, it only wrote at the end of the ROM, thereby never overwriting the original animation table, and NEVER causing your problem.

To Fix:

1. Search for "godd_mg1" text in the Hex Editor

2. Repoint the pointer at 0x59AA4 to that address.

(3. If there are multiple instances of "godd_mg1", which is VERY likely since FEditor repoints the animation table, try them all.)

The storage glitch, if it does NOT outright occur after opening and closing with FEditor, is probably the same way.

Hextator also already addressed how to fix the "Level up stats" graphical glitch.

I'll try to fix the storage glitch later... maybe... if I feel like it.

Edited by shadowofchaos
Link to comment
Share on other sites

Not the same bug that we're addressing. Considering how that patch is for FEditor itself. And I don't even know what it does.

Well yah, that's obvious. I was more interested in hearing what it is for, but didn't want to bother making a new thread just for that. No intention towards answering the thread.

Link to comment
Share on other sites

Well yah, that's obvious. I was more interested in hearing what it is for, but didn't want to bother making a new thread just for that. No intention towards answering the thread.

Considering how we don't even know what version they used, doubt there's any way to see.

And considering how there's no older versions unless you've kept them for yourself, good luck.

Reallynow.png

Really now?

REALLY now?

lolololololol.gif

You might as well say "change one byte in the ROM." There's your fix.

Edited by Tangerine
Link to comment
Share on other sites

itt: liberal arts majors should not be trying to apply the same principles to a very math/logic based field

tip: a programmer who takes the first workable solution and says "okay it works let's move on" is a terrible one

lisandra's tip is still incredibly awful because you've just ensured that feditor will continually panic every time you use it again

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