+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Animal Crossing: Wild World (Questions on hacking)
Pages: [1]
Author Topic: Animal Crossing: Wild World (Questions on hacking)  (Read 681 times)
Raqib12
Guest
« on: December 31, 2007, 02:33:01 pm »

This game was missing one thing that it really needed, the original music. I really wanted to put it in some how, but I have no hacking experience what-so-ever; I was told that it would take massive hex editing, rather than taking the ROM apart and replacing a few files; I just wanted to know if it was possible at all, and maybe in a few years (or decades) when I get some experience, I'd be able to do it Tongue

But I'd also like to translate the original (Just to get a bit of hacking experience); but just to make sure, is anyone doing Animal Forest for the N64?
« Last Edit: December 31, 2007, 02:49:21 pm by Raqib12 »
Ryusui
Guest
« Reply #1 on: December 31, 2007, 03:18:02 pm »

Yes, there's already a translation in progress (or completed, I can't remember which) of the original N64 Doubutsu no Mori.

Anyway. I haven't looked at the game myself, but DS ROMs are unusual as far as cartridge ROMs go in that they consist of a filesystem like disc images such as ISOs or FDS games. If the game stores its music as individual files, then all you'd need is the music file format, the original music files from Animal Crossing, the music format for that game as well, and the programming skill to code a utility for converting one into the other.

Anything is possible in the crazy world of romhacking. You just need to put time and effort into it. Some projects, of course, require more time, effort and optionally cursing than others, and this is a project which edges into "metric buttload" territory. So you might want to back off and find a more manageable project to hone your skills on. I recommend you look into games on SNES, GB/C and GBA, since these are probably the most well-documented systems (NES is also well-documented, but NES games are put together differently than others).
Raqib12
Guest
« Reply #2 on: December 31, 2007, 03:48:51 pm »

Hey, it's Ryusui from GameFAQs! Tongue

If it's already been done, then poop. Maybe a harder task then, like implementing certain Gamecube features? I always hear start smaller with older games, the farthest back I'd probably go is GBA... With the exception of Genesis. Would Genesis be a good start before trying DS/N64?
Ryusui
Guest
« Reply #3 on: December 31, 2007, 04:37:05 pm »

Genesis isn't nearly as well-documented as other platforms, and only recently have the first genuine debuggers been made available...that, and Genesis games from my experience love compression. Translations have been made, but I suspect that they're not exactly the stuff beginner projects are made of. GBA might be a better start if DS is your ultimate goal, though: a DS is basically a GBA after training at 100Gs during the month-long trip from Earth to Namek. ^_^

Anyway. Implementing features from the Gamecube version would be an even harder task: you wouldn't just be reverse-engineering formats or tweaking existing functions, you'd be writing all-new code from scratch. I'm not saying it's impossible, but it's certainly not something a newbie should consider within easy reach, or even an expert.

If you're intent on taking the bull by the horns, then here's my recommendation for you: find a game you want to see translated and implement a proportional (or "Variable Width", hence "VWF") font. That's a good way for any would-be ASM hacker to get their feet wet.
Raqib12
Guest
« Reply #4 on: January 01, 2008, 01:22:17 am »

Ahh, I really want to start on DS >.<...

What about the Animal Crossing Wild World Demo and Animal Crossing Wild World?

There're a few things in the demo that didn't make it to the actual game, and since they're pretty similar (Atleast, I think they are...) would that be an easy task...?
Ryusui
Guest
« Reply #5 on: January 01, 2008, 04:47:14 am »

It depends on how similar they actually are. If the demo's executable is just the full version's executable with the "missing features" present, then you could theoretically just copy the full version's resources into the demo ROM. Theoretically. This is something I've never done before on account of never having had need for it: I'm not even sure how feasible such a solution might be, and even a slight difference between the demo and the full version could result in disaster (of the "game crashes and deletes all your saved data" variety at the absolute worst; no need to worry about your computer exploding).

Listen. You're dead-set on tilting at some very large, very nasty windmills with crushing feet and rocket launchers: you are armed with a stick you picked up on the ground, your faithful steed is a very large turtle who retracts into his shell at the first sign of danger, and your armor is a garbage can repurposed into protective gear with cleverly-placed arm and leg holes. You're aiming a slingshot intent on putting the Man in the Moon's eye out. You are Level 1 Crono leaping headfirst into the spark on the right telepad leading straight into the Day of Lavos. In short, you don't stand a chance as you are. Work on the basics first. Graphics hacking is a great place to begin: it'll help you understand the fundamentals of how graphics hardware works, and once you have a grasp of that, you can move on to the more esoteric fields such as script extraction/insertion and the vaunted heights of ASM hacking.

Here's a valuable hint: learn hexadecimal. Learn to think in hexadecimal, calculate in hexadecimal, breathe, sleep and eat in hexadecimal. When you find yourself saying "10" and meaning "16", you know you've accomplished your goal. Every aspect of romhacking - even graphics - ultimately involves these base-16 numbers dancing about in the background. We count (if we're feeling pedantic) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 before saying "ready or not, here I come!"""; your Nintendo DS (and any other piece of electronics, including whatever device you're reading this on!) would be inclined to go a little further, A, B, C, D, E, F - this is what we who speak decimal as our native tongue think of as 10, 11, 12, 13, 14 and 15. So hex 10 (which we might alternately differentiate from our 10 as "$10" or "0x10") is our 16; the cycle repeats again, 11 (17), 12 (18), 13 (19), 14 (20), and after 1F (31) we come to their 20 - our 32. The cycle keeps on repeating: A0 is 160, and eventually we get to FF, which is 255. This is a good number to stop at, because this is conveniently the highest number you can count to with a single byte. That's the insidious purpose hexadecimal serves: a go-between to help our decimal-minded human brains cope with the unrelentingly binary world of our digital slavelords. 11111111 - that's 255, or FF. It should be noted that each digit of a hexadecimal number corresponds to four bits, a measurement that even has its own unit, the "nibble". (Yes, it's silly. Get used to it.) That is, 1111 is F, or 15; if we want to convert a binary number (not to be confused with a binary digit; that's where we get the term "bit" from) to hex, we can just take the two individual nibbles (yes, I'll keep using that word even though it's silly) and calculate what they are in hex. So instead of swallowing a monster like 00101010, we can just look at it as "0010" (2) and "1010" (A) and come out with "2A". Or we could just use Windows Calculator to convert back and forth between hex and binary for us. We can even convert to and from decimal, and if you do so you'll note that I just slipped in a little joke.

With enough time and effort, anything is possible. In your case, however, much of that effort is going to go into learning the basics before you can tackle the heavy stuff you've got your sights set on: in the words of Sheng-Ji Yang, one does not take sand from the beach and fashion a dataprobe. (He's a real bastard, by the way. I always play Pravin Lal...nobody argues with the Peacekeepers when they're packing Locusts of Chiron. Ah, for an SMAC2...)
BRPXQZME
Guest
« Reply #6 on: January 01, 2008, 05:11:47 am »

Quote
Listen. You're dead-set on tilting at some very large, very nasty windmills with crushing feet and rocket launchers: you are armed with a stick you picked up on the ground, your faithful steed is a very large turtle who retracts into his shell at the first sign of danger, and your armor is a garbage can repurposed into protective gear with cleverly-placed arm and leg holes. You're aiming a slingshot intent on putting the Man in the Moon's eye out. You are Level 1 Crono leaping headfirst into the spark on the right telepad leading straight into the Day of Lavos.
The Gjallarhorn sounds the seventh trumpet! You have no chance to survive make your time! The last 20 minutes of Ghostbusters! ... how the heck did you come up with those?!  :thumbsup:

I play everyone who isn't Gaia, Hive, or Peacekeeper. Sheng-ji Yang is scary... ._.
tc
Guest
« Reply #7 on: January 01, 2008, 05:40:33 am »

I wouldn't mind a hack of Animal Crossing Wild World that makes the main dialog font more similar to its US Gamecube edition.
Ryusui
Guest
« Reply #8 on: January 01, 2008, 05:59:00 am »

Quote from: BRPXQZME on January 01, 2008, 05:11:47 am
The Gjallarhorn sounds the seventh trumpet! You have no chance to survive make your time! The last 20 minutes of Ghostbusters! ... how the heck did you come up with those?!  :thumbsup:

The first part is a rather oblique reference to Don Quixote, who did in fact have an actual lance, horse and armor, although all in questionable state of repair. That said, Raqib does have one up on the old Don, and that's the fact that he has all his faculties. ^_^ Hopefully it won't take him two novels' worth of trials and tribulations to figure out that there's no sense tilting at windmills: that lance is for skewering those nasty little gnomes running about; you use heavy ordnance on the big guys. :3

The second part is wholly original. Third...well, that's Chrono Trigger.
Raqib12
Guest
« Reply #9 on: January 01, 2008, 01:37:35 pm »

Well, I started messing with Pokemon Emerald; looked at the starter FAQs, only two though. Table Files/Hex (So that post wasn't nessisary Tongue)

But listen; in that time, I was able to do something else. I extracted the sound_data.sdat and turn the sseq files into MIDI; if I can reverse the process, then all I'd have to do was reinsert it into the ROM, right? I mean, I know that'll probably harder, but I've already gotten this far.

If anyone knows, what format is music usually stored in on GBA? I was going to swap the Pokemon music from other games. (Gyakuten Saiban, Klonoa Heroes, ect)
BRPXQZME
Guest
« Reply #10 on: January 01, 2008, 01:49:40 pm »

Quote from: Ryusui on January 01, 2008, 05:59:00 am
Quote from: BRPXQZME on January 01, 2008, 05:11:47 am
The Gjallarhorn sounds the seventh trumpet! You have no chance to survive make your time! The last 20 minutes of Ghostbusters! ... how the heck did you come up with those?!  :thumbsup:

The first part is a rather oblique reference to Don Quixote, who did in fact have an actual lance, horse and armor, although all in questionable state of repair. That said, Raqib does have one up on the old Don, and that's the fact that he has all his faculties. ^_^ Hopefully it won't take him two novels' worth of trials and tribulations to figure out that there's no sense tilting at windmills: that lance is for skewering those nasty little gnomes running about; you use heavy ordnance on the big guys. :3

The second part is wholly original. Third...well, that's Chrono Trigger.
I know where they're from, it's just an impressive assortment Cheesy

(I can't help you, Raqib. Sorry for being useless in your thread!)
Ryusui
Guest
« Reply #11 on: January 01, 2008, 03:02:07 pm »

Quote from: Raqib12 on January 01, 2008, 01:37:35 pm
But listen; in that time, I was able to do something else. I extracted the sound_data.sdat and turn the sseq files into MIDI; if I can reverse the process, then all I'd have to do was reinsert it into the ROM, right? I mean, I know that'll probably harder, but I've already gotten this far.

Impressive. So you actually converted the music data from a DS ROM into a MIDI? How did you do it?

Anyway, I don't know how GBA games store their sound data...to be truthful, I've never involved myself in any sound hacking whatsoever. ^_^;
Raqib12
Guest
« Reply #12 on: January 01, 2008, 04:29:24 pm »

Quote from: Ryusui on January 01, 2008, 03:02:07 pm
Quote from: Raqib12 on January 01, 2008, 01:37:35 pm
But listen; in that time, I was able to do something else. I extracted the sound_data.sdat and turn the sseq files into MIDI; if I can reverse the process, then all I'd have to do was reinsert it into the ROM, right? I mean, I know that'll probably harder, but I've already gotten this far.

Impressive. So you actually converted the music data from a DS ROM into a MIDI? How did you do it?

Anyway, I don't know how GBA games store their sound data...to be truthful, I've never involved myself in any sound hacking whatsoever. ^_^;

Three things. DSBuff, SDATTool, SSEQ2MID

http://gbatemp.net/index.php?download=1143

http://djbouche.net/dl/sdattool0.32.rar

http://loveemu.yh.land.to/down/nds/sseq2mid-20070314.zip

With DSBuff, you take the ROM apart and get the SDAT

Run SDATTool through CMD and input "sdattool -x FILENAME.sdat", for Animal Crossing it was "sound_dataENG.sdat"

Then with SSEQ2MID, you drag the SSEQ files onto it, and it auto-converts them to MIDI

And I just found MID2SSEQ; and all that's left is putting everything back into the .SDAT, and to start, I'll try changing the title theme to Green Hills Zone Tongue (Just to test, then I'll put in the original Animal Crossing music)

EDIT: My friend successfully edited the Post Office theme to the 1up theme from Sonic and Knuckles!

He told me that I had to hex edit the SDAT, which isn't as simple as my original thought of just recompiling everything back into an SDAT, but it's a start, right?
« Last Edit: January 01, 2008, 06:01:35 pm by Raqib12 »
Ryusui
Guest
« Reply #13 on: January 01, 2008, 06:38:06 pm »

Well, congrats. ^_^
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC