Jump to content

Offsets and Pointers


Leif
 Share

Recommended Posts

I am having trouble importing maps and map sprites. For instance, I can successfully import anything to the "DD0000" offset fine. However, when I try and insert more than one change, the game crashes. I inserted my own map sprite, but I don't know where else to include the walking animation, because if I add it to the "DD0001" offset, the game freezes. I look through a hex editor, but I don't know where free space starts and ends. I am new to this, so forgive my inexperience.

Link to comment
Share on other sites

I am having trouble importing maps and map sprites. For instance, I can successfully import anything to the "DD0000" offset fine. However, when I try and insert more than one change, the game crashes. I inserted my own map sprite, but I don't know where else to include the walking animation, because if I add it to the "DD0001" offset, the game freezes. I look through a hex editor, but I don't know where free space starts and ends. I am new to this, so forgive my inexperience.

There's your mistake. The imported data takes up FAR more than ONE byte. Look at Arch's tutorial for better clarification.

In his tut. notice in the second spoiler pic, where the FF are and in bunches, those tend to be free space( at least in the DD0000 and onwards up to some limit. If you downloaded FeEditor Adv, IIRC it should have some file that tells you where free space in an unaltered FE ROM is.) Arch's tutorial covers it quite well so just read, understand and utilize the info to correct your error(s).

Link to comment
Share on other sites

Try this. Import your first map sprite.

Then save. Then open Nintenlord's LZ77 Compressor.

Choose the input as your ROM.

Choose "Size" for the option (Should be the very last one). Put in your DD0000 as the offset for the input details (should be on the right). Run.

It should tell you how big that graphics was. Start AFTER adding that size to DD0000 for the next thing.

Link to comment
Share on other sites

That was very useful thanks!

I have another concern though. I don't know what offsets I should use to import custom maps, mugshots, imported battle animations, etc. Is there a tutorial on how to read the hex editor?

Link to comment
Share on other sites

That was very useful thanks!

I have another concern though. I don't know what offsets I should use to import custom maps, mugshots, imported battle animations, etc. Is there a tutorial on how to read the hex editor?

Mugshots are inserted with FEditor Adv, so you don't need a hex editor for Mug shots.

Link to comment
Share on other sites

Is there a tutorial on how to read the hex Editor better? Also, when I use the compressor, it doesn't respond when I hit run; it sort of freezes...

Also I am having trouble running FEEditor Advance.

Edited by Leif
Link to comment
Share on other sites

It sort of depends on what hex editor you're using... some are more convoluted than others, some a lot more streamlined and compact. I was using Windhex back in the day. But you aren't clear: are you having trouble understanding what the hex editor is showing you, or navigating the hex editor itself?

Link to comment
Share on other sites

^It's FEditor Advance, get it right or Obviam might haunt you lol

Using a hex editor is a basic but important skill. Most people, AFAIK, just learn by practicing various operations and get experience over time doing this and that. But essentially here's the explanation:

A hex editor edits a file (better for smaller files though, not exactly great to load a 1GB in a hex editor--anything less than 256MB usually works fine if you have a decent computer) in hexadecimal numbers. Hexadecimal is like the decimal system but it's base 16 instead of base 10 (deci = 10, hex-a-deci = 6 + 10, think of it like that for remembering purposes). Possible values go from 0x00 to 0xFF (0x and $ denote the use of hexadecimal--that way "00" is decimal "00" and "0x00" is hexadecimal for decimal "00"... the same value in this case but 0x24 is not the same as 24, 0x24 is actually 36 in decimal, which MS Calculator's Scientific or Programmer option [depending on your version] can tell you if you can't calculate it in your head).

General controls for a program (I use HxD, it's one of the better free ones) are:

Ctrl+G - go to

Ctrl+F - find

Ctrl+R or Ctrl+H - find/replace

When at any offset (a place in the file) typing in a value will edit the value there. Hit ctrl+S to save (or file-> save just in case by some crazy chance your program doesn't use ctrl+S...).

0x00 is often a "free space" value. "0xF0" and "0xFF" are also sometimes used as free space values. When you see a TON of these in succession that often means it's free space. You can insert data here. There are some exceptions. For example in FE7 there is a huge chunk of garbage data that doesn't look like free space but can be used as free space (something like 0xD00000-0xDFFFFF I think--check doc somewhere for lists of these for different games).

After you insert data you need to know where you can next insert data. This can be done by going to the offset you inserted the last data and scrolling down until you see that the data has ended. This usually means a bunch of "00's" (denoting free space again). I suggest always inserting data at an offset starting at "0" though technically as long as it's word aligned (see Nintenlord's note) you should be fine. So say your data runs from 0xDD0000 to 0xDD185C. I'd give a couple lines of space just for aesthetic purposes (I personally feel like putting data RIGHT after another data is cluttering) so you could insert your next piece of data at 0xDD1870 (notice how it ends at an '0'). Remember that clicking anywhere in a hex editor should give you the offset of that location somewhere at the top or bottom of the hex editor. I'd write down any offsets you use too btw and note what they are so that you know what data is being used for what. If you REALLY want easy offsets to remember you could use say 0xDD2000 for your next data offset--the 3 '00's at the end make it easy to remember. The downside is that you're wasting a lot of free space and it's not efficient, but I cannot control you and your methods, only tell you the possibly methods that should work.

If you have any other questions try and make them specific and someone will probably help like they have been... I hope that cleared things up a little.

Link to comment
Share on other sites

Thanks, that makes a whole lot more sense.

The compressor and the FEditor Adv programs are still giving me problems. Whenever I hit "run" in the compressor, the program doesn't respond and I have to force quit it. I downloaded the editor by googling it, but when I try and run the program, I get error messages saying that it can't find the App file or something like that.

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