(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-04-24 04:15 PM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - FFTA hacking, but I've never hacked before!
  
User name:
Password:
Reply:
 
Options: - -
Quik-Attach:
Preview for more options

Max size 1.00 MB, types: png, gif, jpg, txt, zip, rar, tar, gz, 7z, ace, mp3, ogg, mid, ips, bz2, lzh, psd

UserPost
Zeld
Posts: 40/53
Originally posted by Bones_the_Great
So your saying that theres a program that I can use to take hex values and see them as letters that I specify? Please do explain how to use such wonderful inventions! I downloaded both the things that you told me to get, but I don't quite follow how to use them. Translhextion told me I could open a Thingy Table so I got thingy32 but have no idea how to open it. First it wants a file, then a table. What can I use to get/make a table for it? I thought thats what thingy was for. Please explain in a little more detail, remeber I've never done this before.


I don't recall how I got thingy to work...I was trying to use it for a game that has compressed text (yes, I was a terrible little noob way back whe- I mean, half a year ago), so it didn't matter how well I learned how to work it.

Crud, I deleted my "tablers" folder from my ROM Hacking folder. Curses.

Hell, I just realized...I didn't use thingy, I used TaBuLar. I think TBL generates...tbl...files, which I think is the same format as thingy tables. I dunno...I do recall getting a table I made to work with translhextion, so get TaBuLar if you're on a Windows OS.

Originally posted by Bones_the_Great
Oh yeah, I think that I know how they use the 1/2, every even numbered level up they add an extra point, or something to that effect.


Makes sense to me.
Bones_the_Great
Posts: 41/41
So your saying that theres a program that I can use to take hex values and see them as letters that I specify? Please do explain how to use such wonderful inventions! I downloaded both the things that you told me to get, but I don't quite follow how to use them. Translhextion told me I could open a Thingy Table so I got thingy32 but have no idea how to open it. First it wants a file, then a table. What can I use to get/make a table for it? I thought thats what thingy was for. Please explain in a little more detail, remeber I've never done this before.

Oh yeah, I think that I know how they use the 1/2, every even numbered level up they add an extra point, or something to that effect.
Zeld
Posts: 38/53
Originally posted by Bones_the_Great
How would you show 1/2 in hex? How to you should a decimal even?


There's these things called "IEEE" floats, which are standard for representing fractions in hexadecimal. Considering the GBA doesn't have a floating point processor, it probably does some other nifty trick to emulate the "1/2" thing.

Originally posted by Bones_the_Great

If I ever find the time, I'm going to copy everything after 8000000 into a note pad file, and use find and replace to turn it into text.


You should probably avoid that. If you open the ROM in a hex editor that supports table files, then upload a table that matches the one you posted, you'll get the same thing. I'm thinking Thingy for tables and Translhextion for hex editing/table file support.
HyperHacker
Posts: 4852/5072
Sounds like the game may be using dictionary compression, and when you decided to go with the default name, it for whatever reason simply inserted the code for "Marche" instead of the actual text (IE save file names are dictionary compressed too for some silly reason).
Bones_the_Great
Posts: 40/41
Ugh. Stupid school is messing with my free time. Can't find the time to get anything done. Not giving up, just slowing down. I'm still 100% into this project.

Right now my biggest concern with the hack would be the text, because the text is practically everything if you think about it. And I still haven't found the damn 'Marche' string. It has to be on there somewhere, but it's not! and it's starting to agrivate.

Wouldn't mind being able to mess with the classes though, you know, change what stats they get and change their spells. Maybe even add a couple. I'm going to search for that tomarrow, and I think I'll be able to figure out the table for them due to a list I found online. Hopefully it's accurate. Of course I'm going to check it in the emulator first. Soldiers seem to gain 8 and then 9 and then 8 again in Hp when they level. I was thinking it must be 8 1/2. How would you show 1/2 in hex? How to you should a decimal even?

Oh and one last thing. Would it be hard to increase the number of units for each battle? I think theres only enough code for like 6 or 8 or something. I really don't like the little fights they have, I was kinda hoping on a war... 100 vs 100, no just kidding that would be like 20 hours of fighting. More like 24 vs 24. Get the entire clan involved in every fight. That would take moving stuff around huh? Uless it's at the end of something, with a bunch of 00's after it. That would be lucky.

If I ever find the time, I'm going to copy everything after 8000000 into a note pad file, and use find and replace to turn it into text. It'll take a couple hours to look through, but I bet I could find some terms the game uses like that "reflect magic status!". By the way I'm almost posative thats what the UseSpellName option shows when you cast Reflect. Worthless as I don't need to change it, but also helpful as it proves that the game does use this letter system.

I know I said one last thing a coupl paragraphs ago but I just remembered something! When I hacked in to test some of my letters for the hack I changed marche's name to something like kD"$ ^e or some other random stuff. Anyway the wierd thing is that it not only changed his name after I had already made it but also changed it to the default when I started a new game. Which is what I had been looking for but why did it overwrite my in progressed file's name? Should it be one or the other?
Zeld
Posts: 35/53
Originally posted by Alice
FYI the 80 is probably tile attributes and not likely to be included in the ROM.


Yes, I thought that my be the case. If I quit being lazy and locate the text/compression method (assuming there is one), then we won't have to ponder in the dark anymore.

I like how you were able to make that font table, but when I did a relative search of the RAM, I didn't find anything. Perhaps this can be owed to the fact that I looked for conversational text and not names. One, both, either, or neither could be loaded into and then overwritten in the RAM too quickly for a RAM snapshot to get a hold of them. There's still many possibilities...
IOS
Posts: 17/33
Are you just concerned about editing text, Bones?
HyperHacker
Posts: 4827/5072
FYI the 80 is probably tile attributes and not likely to be included in the ROM.
Bones_the_Great
Posts: 39/41
Darn, ok I'll keep working on it. I thought I was on to something but I guess I'm further behind than I thought. I'll keep looking.

**EDIT
Wierd glitches
I found "Marche" (that is, according to the chart) when searching for hex values. SoI changed them. It's still a 6 letter word. When I ran the game it still output Marche! So I searched again thinking the first Marche text was mere coincidence, I found nothing. I dropped the 80's. Nothing.

**EDIT
I just found "Magic" while looking for Ma. Right after that is "reflect" and "status!". All of this is roughly around 004983D0. "Magic reflect status!" I don't recal seeing that exact phrase anywhere, but possibly on the reflect spell's description? Wait, theres more text... Before and after with a couple numbers inbetween. Shall I start deciphering from the 00400000 and work my way up to 00500000? Thats a lot, but it might have quest text and thats worth getting to! Or is there a better way?
Zeld
Posts: 34/53
That's for if you find the data in the ROM in VBA (an address that looks like 0x8XXXXXX). You simply found it in the RAM.

The next step is to take that table you've found and search through the ROM for strings of familiar text that match up with your table. You might not find a match though, in which case, I'll see if I can use your findings to speed up the debugging process (although the reason I'm debugging so slowly is because I haven't worked on it lately; see my thread in the programming forum for my excuse).
Bones_the_Great
Posts: 38/41
I've been progressing slowly, but I have gotten a few things. I've found the memeory where the hero's name and the clan's name are stored and each number for each letter. I think we can use this in any text area, but sinse I might miss somehting, I was hoping you could check it out. Here it is, I'm going to try to locate the text for the snowball fight.

020021A0 - xx80xx80xx80xx80xx80xx80xx80xx80xx80
^ Thats the clan name

02001F1C - xx80xx80xx80xx80xx80xx80xx80xx80xx80
^ Thats the hero name

Just replace the xx's with these:

A3 ‚
A4 .
A5 -
A6 0
A7 1
A8 2
A9 3
AA 4
AB 5
AC 6
AD 7
AE 8
AF 9
B0 A
B1 B
B2 C
B3 D
B4 E
B5 F
B6 G
B7 H
B8 I
B9 J
BA K
BB L
BC M
BD N
BE O
BF P
C0 Q
C1 R
C2 S
C3 T
C4 U
C5 V
C6 W
C7 X
C8 Y
C9 Z
CA a
CB b
CC c
CD d
CE e
CF f
D0 g
D1 h
D2 i
D3 j
D4 k
D5 l
D6 m
D7 n
D8 o
D9 p
DA q
DB r
DC s
DD t
DE u
DF v
E0 w
E1 x
E2 y
E3 z
E4 ?
E9 ...
EA ?
EB !
EC ,
EF ·
F0 :
F1 _
F3 /
F4 ~
F5 '
F6 '
F7 (
F8 )
F9 {
FA }
FB [
FC ]
FD +
FE -
FF ±

Spaces are 7340

Still haven't got the extra character's names but I'll have them very soon hopefully.

**EDIT
Those are where they are in the VBA, to find them in hex you have to drop the 2 right? Thats where I'm having some trouble. I can hack a new name in for Marche on the VBA, but I don't care about that, I wanna hack the defaults but I can't find them. Plus where are the default names that are picked by random for the other guys? I tried searching for Montblanc's name but found nothing. I think I forgot the n though, gonna keep trying.
Zeld
Posts: 25/53
BIOS - Stored at 0x0
Boot up script. It is the program that tells the Gameboy how to start and contains information for universal programming routines such as decompression, copying data, etc.

WRAM - Stored at 0x2000000
Work Ram. Size is 0x40000. This is where most of the stuff that code makers (gameshark, action replay) like to hack is.

IRAM - Stored at 0x3000000
In Chip RAM. Size is 0x8000. This RAM is located on your game cartridge, whereas everything else is either on the Gameboy itself, or copied to it (e.g. ROM). Also a great place for making gameshark codes, but lots of this area is used for actual programming instructions, and contains a block of data called the "stack" that stores variables for active math operations. Changing stuff in the IRAM can often crash the emulator. This can happen with the WRAM, too, though not nearly as often.

I/O - Stored at 0x4000000
Input/Output. Pretty self explanatory. At 0x4000130 is a set of bits that change depending on keypad input. Great for making button activated gameshark codes, but most gamesharks are programmed to check that address by use of a dummy address (at least, that's what I theorize a joker code does). So, you don't have to know this address...

Palette RAM - Stored at 0x5000000
Palette data. Can contain 16 lines of 16 color palettes or a single block of 256 colors.

VRAM - Stored at 0x6000000
Video RAM. One section of this RAM creates "tiles" by using a chosen codec (4bpp for 16 color mode, 8bpp for 256 color mode) to call colors from the palette data and use them as a single pixel. The pixels form colorful squares called "tiles". The other section of VRAM, which I believe comes first, contains "map" data, which is a bunch of data using numbers that are assigned to the "tiles" in the latter part of the data to generate a map. The maps are layered, given transparency, translated, etc. to show you what you see on screen. The VBA has a cute little sine function in the BIOS used for rotation effects (I may be easily intrigued, but I think the sine function is a wondrous piece of work).

ROM - Copied from the cartridge and loaded into 0x8000000
Read Only Memory. Everything you want to hack spawns from here.

SRAM - Stored at 0xE000000
Save RAM. You know those files that are called ".sav"s? This is where they come from. They are exact dumps of the data at 0xE000000.

That's pretty much the entire memory map of a Gameboy Advance.

You could always just google GBATEK and click the link called "specifications" and read more about the GBA (and the Nintendo DS!) in your free time. That site helped me a lot when I was writing programs by hand due to my lack of common sense, which forced me to use something other than an assembler. I don't think I type the opcodes syntactically correct. I seem to add or leave out symbols...

As for features: I don't know what the logging or I/O features do. I estimated that the logging function would debug specific instructions and that the I/O window would allow you to alter I/O bytes, but changing stuff around in either of those windows didn't affect anything for me. The disassembler, however, is a very useful tool. You punch in an address and it actually reads off the programming code of that address. Thing is, if you don't know assembly, you won't know what the hell to type in.

I do use VBA. I was able to get into ROM hacking and hacking in general because I was enthralled with all of the features that VBA comes with. It's by far my favorite emulator.
Bones_the_Great
Posts: 37/41
Oh, so thats what corruptors are for! Thanks a bunch for the info.

You use Visual Boy I take it?

Wow I feel so dumb. All the whole time I've had these tools but I never really looked at the list. I opened up the tile viewer and all my graphics is right there. I opened up the Map viewer and got even easier to edit graphics.

Whats the disasemble feature for?
And the Logging?
IO is input and output but what is the viewer for?

And in the memory viewer is where the RAM is right? Which do I use? IRAM or WRAM? Whats the difference? What about the rest of them? What are they?

These questions will definately help me hack the game. It seems so easy now... And to think I had any doubts... Almost funny!

Oh yeah, I noticed that there is only graphics of marche, red soldiers, and blue soldiers for the world map. Think you could make me some of those based on the starting units for all the races? Not that you need to do it any time soon, but I think it would be pretty cool if the clan leaders looked different on the world map... That would take serious work though... I don't know if I'll be up for it for a long time... One thing I really need is replacement graphics for the main guy (because I'm replacing his graphics), but if you dont wanna, I can use the blue soldier.

**EDIT!
JACKPOT!!!
I think I just found the map editing values... They won't effect where you can and can't move but I can change any level to look how I want. Lets test it!

**EDIT
Oh I just figured out what there for. Each one is just a section of the ROM... Makes sense. I'd still like a more in depth description if you have one.

**EDIT
Well, my change didn't change the map, it just glitched out my game... Lame.

**YET ANOTHER EDIT
My second edit doesn't make any sense... I meant the they're as the IRAM and WRAM and stuff... I thought they were different numbers in the same places, but read differently or somehting but now I know that they each take up different spots on the ROM. I'm going to look those up, maybe someone wrote a tutorial or something.
Zeld
Posts: 24/53
What you're doing is called "corruption", and should probably be done with a specialized program called a corrupter (Firefox says it's spelled "corrupter", but my familiarity with the English language leads me to believe it should be "corruptor". I guess not). Though, of the ones I've tried, none worked properly. That method of hacking is rather inefficient anyway, so it shouldn't be your first method of changing things.

The way I hack things that aren't as obvious as weapon and item stats is to dump RAM states, make changes by playing the game, and load half of the RAM state to see if I achieve a desired effect. If I don't, I toss the hex, and if I do, I chop the hex in half again and test the halves as I had previously. This is how you find invisible RAM addresses with ease. Then, if you find a pile of say, map data, in the RAM, you can copy the first few bytes of it and search for it in the ROM with a hex editor. You should find a match, but if you don't, the data is probably compressed. Of course, if you do find a match, then you're ready to actually hack something in the ROM. Naturally, this method is limited, as are all methods, but it's especially helpful to me, because I can trace RAM addresses to ROM addresses if data is compressed or just altogether nonsensical in my eyes.
Bones_the_Great
Posts: 36/41
So I'm starting to hack into the hex and deleting information in rather large groups to see the effect is has on the game. In this manner I might be able to locate values for certain maps or weapons or something. Heres my results after a couple hours of effort.



everything after 00a39920 is deleted
no results!
what could the code possibly do? Make save files?

everything after 00a38d10 is deleted
cant get in a battle with another clan
cant go into shops or the pub
I can go on the world map and view the party menu, characters, weapons, etc
graphics rendering? no the map works and the party menu works
tilesets? possibly
maps? I sure hope so
any other ideas?

ok back to the drawing board!

everything from 00a38570 to 00a38adf is replaced by 00's
complete failure to run the game. Wierd. I though it was just the text writing program. The coding shows letters so it's wierd. like R%S%T%U%V%W%X%Y%Z%1%2%3%4 etc. I'm pretty sure this writes out the text.

Moving right along!

everything from 00a38370 to 00a3844f is replaced by 00's
no appearant change. Wierd.

Right-o then...

four groups of code that range from 00a38200 to 00a382df
no appearant chnage. I didn't expect any, it's just four lines. Probably text at the end of the game.

Okay, whos next?

Trashing the code from 00a37c10 through 00a380cf to 00's.
A guy isn't there! Is this random nonsense or is this the code! I dare say I've found somehting important. Lets see if similar code is above. If I can get rid of a couple goons that would be somewhat of an acomplishment.

Carry the one...

trashed the above code and the code from 00a3bc0 through the old 00a380cf.
no change to the battle, scept different guys but I think its random in that respect. That means that the last code is actually unknown, and so is this one. Well guess i'm done with that guess.

This is becoming tedious! But strangely fun...

Okay I found a semi-patern and I erased large portion of it. I'm going to check if it's weapons, armor, maybe maps... Could be the characters so I'll check that too. Maybe he won't gain stats or something.
Range is 00433340 to 004339b0
And of course, no obvious effect.

My patience is wearing thin. I shall resume tomaro.
Zeld
Posts: 23/53
As long as you know I'm not nearly as devoted to this project as you are...

I usually patrol Fire Emblem forums looking for a simple yet effective hack that someone wants done that only I can do. I'm just not good at doing whole projects. I'm not even sure I'll finish my own...

I like your plot idea, actually. Since you said you made it up in ten minutes, I would imagine that spending more time on it would be a good idea, because there's no such thing as a plot that's too good (I wonder sometimes if game developers even realize this v_v).

Just remember that everything you plan has to actually be done, and won't happen automatically.

I don't think I've ever seen (and hopefully never will see) graphics that are compressed using a method other than LZ77, so changing the graphics should be fairly easy. Adding graphics should be easy as well. Animating them, however, will be difficult. I've hacked animations before (as in, I not only hacked the graphics of a sprite, but I was able to hack how the sprite was displayed). The animation I hacked was the Fire Emblem battle animations (I dunno about you guys, but I think it's a pretty big deal >.>). Unfortunately, Fire Emblem's animation data is really easy to understand. FFTA's animation data could be difficult and painstaking.

Now, for things like mission titles...from my experience, titles aren't handled the same way text is. If titles for things like missions appear on a plaque in a big fancy font, that generally means that the text isn't text, but is actually just graphics. So, simple graphical hacking would suffice.

Item descriptions will most likely have a pointer to a bundle of descriptions that are for all items (which is analogous to the way names are handled that you mentioned earlier). So, you can change item descriptions by changing a single number, but if you do that you will only be able to choose between existing descriptions. That would be ridiculous. This will require text hacking of the sort that I've looked into. I'm still not sure of the compression method.

Rewards and other object data will be easy to change (add? I don't know; change? Easy enough); all you have to do is target the number that tells the game what item to use and change it.

Making a weapon triangle, as in FE, will require assembly hacking. Having pondered increasing entry length of data tables recently, I've noticed issues with making the loading process. I will have to create a stand alone table to take care of a potential loading issue. I've made plenty of those in other assembly hacks, so no worries. Each weapon will get a byte, supplying you with 8 bits per weapon to determine what sort of weapon it is. You could use this awkwardly to have 256 types of weapons, or do the smart thing and have 8 or less. Really, a wooden sword and a metal sword should be "swords", not "wooden sword type" and "metal sword type".

I mentioned character movement before. Because of how easy it is to locate RAM addresses to set breakpoints on when what I'm trying to change can be altered in real time, movement shouldn't be too difficult either.

It seems like text will be the biggest problem, really. Map data could be too, since that's such a big thing to change. Because of the awkward angle of viewing the game, I theorize that the maps are actually just big graphics, and that the actual data that determines where you can stand and move to is separate. Sometimes the graphical data for a map and the ability you have to traverse the map are linked, which makes things easier, but sadly, I don't think this is the case this time.
Bones_the_Great
Posts: 35/41
I knew it was fire emblem! I have a keen eye for there style... I like the picture.

Stupid random numbers! All computers should come with a radio transmitter so that random numbers would be more common! Grrr, now I know every game I've ever played is a lie! Lol.

About the intro, I hate it. It doesn't even make sense why they use it. I want it gone completely. The storyline I had in mind was the main character is in prison for violating a severe law, one that forbids the entry of jagds. He was looking for the clan his sister joined who mysteriously vanished shortly after he joining (but the player won't find this out until later, all they know is he's in jail for entering a jagd). Anyways, a stranger comes to the prison to pay your bail, in return he asks that you help him and his clan. He agrees, and thats where the fun starts. you see, your main guy is a couple levels higher than everyone else in the clan giving you both a easy begining, but at a cost. Sinse your level is higher the average level of you clan is higher making the bad guys harder. And he's higher level so everyone in the clan kinda follows him. Also, in one mission you find out that the clan was in debt to a bigger clan, that lent the leader some money, he tells the bad guy to come after you, it's your clan now, and so you meet up at the end of a mission. Hehe, right after a fight you have to fight again, which is unlike anything in the normal version of FFTA. you tell the guy that you could pay him back because of the mission's reward but he says he's had enough of your clan's games. Basically that'll take you through like 3-4 main missions.

I'll change it if you guys think it's lame. I though about it in like 10 minutes, I could probably do better. Do remeber this is just how things get going though.

This is going to require hacking character's graphics and movements; the mission's titles, descriptions, rewards; the levels; the wording in the previews, and the scripts for the characters; and more... Plus first I'm planning on messing with the class system (*cough* animist is gay *cough*), adding more jobs and such (Theres unused graphcis in there, like for main characters and stuff, and you might make some), and changing the old ones a bit. I'm also going to completely redo the monsters, not that there bad, but a lot of them only have 1 or 2 moves and stats that don't make sense to me.

We should totally mount our troops too, call em knights or something. Have various kinds. They have chocobos for the judges.

On top of that I'm really considering changing the weapon system. You know there are like 8 different kinds of swords (great, normal, blade, saber, rapier, katana, knight, the list goes on) but no axes. What the hell is up with that? Maybe should add fire emblem's "Sword -> Axe -> Spear -> Sword" system, I love that thing. Plus I'm gonna throw in some whips. Becuase I like whips. Whips and Hammers.

Basically to get this project going we're going to need a lot of really hidden values, and sinse I don't really understand debugging, I'm kinda screwed (thank god someones helping me, I'd've given up by now probably). I'm going to stick to it. Try to contribute to my own project, lol. Ah, this is what it must feel like to own a company... Hehe. It's not that I haven't been working, I'm just not able to be productive as I can't figure out how to find all the stuff I'm trying to edit.

Gotta sleep soon, gotta wake up at 5. I'll work as late as possible though. Gonna figure out where weapon data is stored. I have just the way to figure it out too.
Zeld
Posts: 22/53
Originally posted by Alice
Are you sure the text is DTE and not just variable-width font?


I've never heard of variable width font, but I imagine it would explain why the A ad the W overlapped. I mean, for all I know, they were only drawn overlapping as a result of...varying width...and don't actually overlap in the font table in the ROM. Either way, I'm gonna trace the sucker, so I don't need to worry about bad theories.

Originally posted by Alice
Also, when "random" numbers are generated via a big long equation that produces results that seem to be random, it's generally called pseudorandom, IE, as close to random as a computer can get. Without extra hardware to do something crazy like grab random radio signals out of the air, a computer can't generate truly random numbers, only numbers whose pattern is very difficult to determine.


I kinda mentioned that (in much less detail) at the beginning of one of my other posts (I never would have thought of using radio signals as a way of generating random numbers; I always wondered how that worked).

Originally posted by Alice
One other thing, an easy way to think of data structures...blah blah ...Simple eh?


What was wrong with my example?

Also, for my avatar: It isn't a character from Fire Emblem, but it is composed of pieces of several Fire Emblem characters. The character I used to make the face didn't have a right eye, because his hair originally covered it. The face had all kinds of holes where the hair had been. Most of the face is done by hand, while the rest is mixed parts from existing characters. And, of course, I changed the palette. I plan on making him the Lord of my FE 7 patch. I'm working on expanding everything first, though.

Edit: I must apologize for my stupidity. I completely neglected the idea that perhaps other tile data would be loaded into the place where the text ended up in the process of loading text graphics. I wound up altering...the text bubble's background. Realizing that I ignored the idea of the same addresses being reused for other things at the rapid computer processing speed that still blows my mind, I started messing with registers during my breakpoints to make sure I knew which write was right.

That was a terrible rhyme; I apologize for that too.

I remembered seeing an "e" in the WRAM the other day (graphically, of course; noticing an ASCII e would be pointless). I had scanned the WRAM with my tile editor upon noticing a WRAM address in the registers of my breakpoints that looked suspicious and recognized the e as being the same font as the ones displayed in the text bubble, but I foolishly ignored it.

I decided not to ignore it this time, and found the capital G of the beginning of the text I had been looking for. Turns out, each letter is separately loaded into the WRAM, copied to the VRAM, then replaced by the next letter that is loaded.

I know you wanted to change the intro text, and at first I thought that meant the text during the snowball fight. I'm sure you'd like to edit in game text, either way, but the text during the opening movie that I completely forgot about until recently is a different matter altogether. I suppose you meant that text, and not the rest of the text, so I should probably look into that so I don't end up helping with the wrong things (which I seem to be good at).
HyperHacker
Posts: 4772/5072
Are you sure the text is DTE and not just variable-width font?

Also, when "random" numbers are generated via a big long equation that produces results that seem to be random, it's generally called pseudorandom, IE, as close to random as a computer can get. Without extra hardware to do something crazy like grab random radio signals out of the air, a computer can't generate truly random numbers, only numbers whose pattern is very difficult to determine.

One other thing, an easy way to think of data structures is much like they'd be written in most programming languages. For example, a game might use this structure for character stats:
Name (10 bytes)
HP (2 bytes)
Max HP (2 bytes)
Attack (2 bytes)
Defense (2 bytes)
Magic Attack (2 bytes)
Magic Defense (2 bytes)
Speed (2 bytes)
Class (1 byte)
Level (1 byte)
That's 26 bytes in the structure in total. Now if you have a big table of character stats, just think of it as several of these structures in a row (generally called an array of structures). If you want character #4's max HP, you look at the 5th structure in the table (start at zero), so 26 * 5 = 130, and the max HP is 10 bytes from the start of the structure, so go 140 bytes from the start of the table. Simple eh?
Bones_the_Great
Posts: 34/41
Wow, nice avatar... I thought that was from some fire emblem game or something.

Could you provide a link to that topic so I can get a better grip on ASM? I've got the basics down, but I could really use some good tutorials though.

I'll try and get those values for the names, but it's gonna be hard, theres like 180 values per guy. I have to find the exact one. I've found many good ones, none of which help us because most are edited by the game (strength, level, etc., stuff that doesn't need to be hacked). Once I find one, I've found them all though.

About missions, a mission is a couple minutes. I have a play time of 3 hours and I've done three, and the main preview (so each is about 3 minutes long, lol. Stupid intro) but I leave the thing idle to go do stuff so I'm not sure how acurate that is. The game has 300 missions, but I think most of them are dispatch missions (So retarded), so I'm planning on adding a bundle. It's gonna be tough, each mission needs a new map and fully armored bad guys whose level I have to estimate based on how far it is in the game. a lot of work but well worth it, that's the part I'm going to enjoy the most. I might add a couple dispatch mission, but I'm definately going to get rid of a lot of them to replace them for combat missions.

I'm going to rip as much graphics out as I can, but it's hard because there so shuffled I can hardly tell whats graphics. If you want me to, I can get them though. Theres like 15 different kinds of monster with 2-3 veriations so you don't really have to add some, we have plenty. Still the more the merrier.

First thing that should be done is the text, so I'm going to slave over all 108 numbers a player gets. (gonna find some wierd stuff in the process, like making Marche, the main guy, look like a flan)
This is a long thread. Click here to view it.
Acmlm's Board - I3 Archive - ROM Hacking - FFTA hacking, but I've never hacked before!


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.020 seconds; used 420.38 kB (max 487.34 kB)