icecube

FE7/FE8 range patch fix

Recommended Posts

By default, only 9 kinds of weapon range is recognized(1-1, 1-2, 1-3, 2-2, 2-3, 3-3, 3-10, 3-15, MP/2). While it's possible to use the other range, the range name and tiles won't show properly. This patch will fix them. I don't know why the developer team is using longer, yet less effective code.

This patch was created using Lunar ips. Using this patch together with another range modifying patch (i.e. Blazer's 2-3 range sniper patch) is not recommended.

For FE7, you can download the patch here.

For FE8, you can download the patch here

For anyone interested, this is version 2 of the patch for FE8.

Feature

Using xED will set the text into Total without displaying its range, similar to the original Latona.

Using xF0 - xFE will set the range into 1 - ~ to 15 - ~ (1 - ~ will be written as Total)

Installation

Before applying this patch, open the patch via hex editor, and change the value in x202 and 226, since the patch uses the table from vanilla FE8.

It's recommended to change the range of Latona to 0xED. This is because xFF has been used as 15-15 though I doubt anyone wants a 15-15 weapon.

==edit==

fixed "total" counter bug

Edited by icecube

Share this post


Link to post
Share on other sites

This sounds fantastic, but I just tried to use it, and it doesn't seem to work? For reference I changed the Iron Bow's range to 0x24 to make it a 2-4 range weapon. Certainly I can still target units within a 2-4 range but the red attack tiles don't display as you say they should. They seem to display as though the Iron Bow is a 2-3 ranged weapon. I don't recall using any other range hacks on mine and have none recorded. Without the patch no range displays at all, despite still being able to target units.

Share this post


Link to post
Share on other sites

Do you have any source or doc on this?

No, I don't. I rewrote the code without making any doc (except making notes of what THUMB instruction should be made, the remaining space, and available registers.)

Share this post


Link to post
Share on other sites

Weird. My result of applying the patch to one fresh ROM (and one contaminated ROM) are

Iron bow 2-4 range, Iron lance 2-4 range, and combined tile of Iron lance 9-15 range with Iron sword 1-1 range?

This patch modifies 168B0-16940, 16DC4-16DE7, 16FBE-16FBF (fix for MP/2 staff), 1A4EA-1A5D3, and 1AC6C-1ACD3.

Ah, no wonder! Your patch assumes that the item array is at the default location, whereas mine has been relocated. I just had the locate the pointer and change it to match my own, and it works like a charm. Might want to work on that implementation/include a warning for anyone else who has a repointed item array (i.e. most of the larger hacks).

Edited by Agro

Share this post


Link to post
Share on other sites

Haven't recognized that. After rereading the patch, it seems that the patch needs to be edited manually so that the pointer will be removed from the patch.

EDIT: The patch has been fixed.

Edited by icecube

Share this post


Link to post
Share on other sites

Guess it wouldn't be too bad, granted there's no source so you'd have to debug it but *should* be the same code assembled to different addresses

Share this post


Link to post
Share on other sites

You could like you know do it yourself y'know

Find what data is in the offsets that get patched over and look for similar data in 8

Or debug shit with no$

Problem solving son. You don't have to wait for others to do it

Share this post


Link to post
Share on other sites

Find what data is in the offsets that get patched over and look for similar data in 8

This is actually a good idea I hadn't thought of. After searching for such data in my FE7 and 8 rom, I actually found sections that matched up identically.

b37678e066a98121dc0acc30739bfae5.png

61f7123ee964483851a873951159c853.png

You're right, I may actually be able to make this work. If I do, I'll try and make a patch for other FE8 users.

Edit: Notes for other people.

This patch modifies

1. 168B0-16940,

2. 16DC4-16DE7,

3. 16FBE-16FBF (fix for MP/2 staff),

4. 1A4EA-1A5D3, and

5. 1AC6C-1ACD3.

The correlating lines of code in FE8 are...

1. 16CC4-16D54

2. 170E6-17109

3. 172EA-172EB (thx venno)

4. 1ACD2-1ADBB

5. 1B46C-1B4D3

Brendor, any thoughts on #3?

Edited by Klokinator

Share this post


Link to post
Share on other sites

See? Not so bad amirite?

Now see what the patch replaces that data with and replace the correlating 8 data with that and see if the rom breaks

Probably will since item table locations are different but yeah see what you get

You could also check any of those snippets to see if a pointer to the item table is in there and just replace them

Share this post


Link to post
Share on other sites

If a pointer to the item table is in there, I'll repoint from FE7's table to FE8's table and see if that makes it work.

Also, thx @venno. I have no idea how debugging works so, you're a lifesaver.

Share this post


Link to post
Share on other sites

If you're going to get into hacking you should learn how to use one js

If that doesn't fix it you'll have to debug anyway so this could be a good learning opportunity for you

Share this post


Link to post
Share on other sites

No, I'm not going to "get into" hacking. I'm in it enough and when fexna comes out and is actually finished I'll be using that exclusively. The only reason I'm not using it now is because every update requires a painstaking amount of copy/pasting of old data into new and we're missing a few key editors (Mainly the animation importation editor and a skills editor) so once that's done, I'll be dropping romhacking completely.

Also, not interested in spending 100+ hours learning how to debug hex, nope no thanks.

Share this post


Link to post
Share on other sites

i'd be at least somewhat surprised if it worked perfectly; unless he happened to only change some really simple routines there's bound to be a bl or something that got fucked up that you can't fix with a simple repoint

Share this post


Link to post
Share on other sites

Comparisons of each block.

Block 1

1. 168B0-16940

FE7 (Unmodified)
 
6A 46 0E 49 38 C9 38 C2 38 C9 38 C2 38 C9 38 C2 09 68 11 60 FF 21 08 40 C1 00 09 18 89 00 08 48 09 18 48 7E 01 1C 22 28 25 D0 22 28 0F DC 11 28 1B D0 11 28 06 DC 10 28 15 D0 26 E0 F0 3A 1C 08 2C 22 BE 08 12 28 12 D0 13 28 12 D0 1D E0 3A 28 15 D0 3A 28 02 DC 23 28 0F D0 16 E0 3F 29 10 D0 FF 29 10 D0 11 E0 00 98 10 E0 01 98 0E E0 02 98 0C E0 03 98 0A E0 04 98 08 E0 05 98 06 E0 06 98 04 E0 07 98 02 E0 08 98 00 E0 09 98 FC F7 90 F9 0A

1. 168B0-16940

FE7 Chaos (Edited with the patch)
 
6A 46 02 49 38 C9 38 C2 18 32 01 E0 F0 3A 1C 08 89 69 11 60 FF 21 08 40 C1 00 09 18 89 00 3B 48 09 18 48 7E 01 90 10 28 01 D1 00 98 00 E0 09 98 FC F7 BE F9 01 9D 10 2D 2A D0 29 07 09 0F 2C 09 A1 42 25 DB A1 42 0F D1 00 24 84 71 20 24 04 70 44 70 84 70 0A 29 01 DB 0A 39 31 24 30 31 C4 70 01 71 1F 24 44 71 13 E0 00 25 45 71 0A 2C 02 DB 0A 3C 31 25 05 70 30 34 44 70 7F 25 85 70 1F 25 30 31 3A 29 02 DB 0A 39 0D 1C 31 21 C1 70 05 71 0A

1. 16CC4-16D54

FE8 Unmodified rom
 
6A 46 0E 49 38 C9 38 C2 38 C9 38 C2 38 C9 38 C2 09 68 11 60 FF 21 08 40 C1 00 09 18 89 00 08 48 09 18 48 7E 01 1C 22 28 25 D0 22 28 0F DC 11 28 1B D0 11 28 06 DC 10 28 15 D0 26 E0 E8 79 0D 08 10 9B 80 08 12 28 12 D0 13 28 12 D0 1D E0 3A 28 15 D0 3A 28 02 DC 23 28 0F D0 16 E0 3F 29 10 D0 FF 29 10 D0 11 E0 00 98 10 E0 01 98 0E E0 02 98 0C E0 03 98 0A E0 04 98 08 E0 05 98 06 E0 06 98 04 E0 07 98 02 E0 08 98 00 E0 09 98 F3 F7 76 FA 0A
Yeah... I'm seeing a loooot of differences. Edited by Klokinator

Share this post


Link to post
Share on other sites

Pasted it in. Repointed. Game still broke. Yep, doesn't work like Cam said. If you guys wanna run a debugger on it, please go ahead. Otherwise, I'll just move on without it.

Share this post


Link to post
Share on other sites

Sorry for my break. Actually there are some annoying differences between FE7 and FE8. Fortunately, most part of the code is compatible.

I wish this patch doesn't cause any unwanted bug (at least not in chapter 2).

Feel free to report any bug/glitch.

Share this post


Link to post
Share on other sites

GASP

I'll test it out and get back to you. I may have to repoint it to test with my item array's new location though.

Edit: Yep, works perfectly. Thanks a bunch.

Edited by Klokinator

Share this post


Link to post
Share on other sites

Updated.

I'm adding version 2 of FE8 range fix. Note. While Latona needs its range to be updated, I'm not including the change into the patch due to flexibility.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.