• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
L
Reaction score
1

Profile posts Latest activity Postings About

  • Oh, I know where you're coming from, I like to be prepared before tackling something, too.
    Indeed I do sprite, for evidence see my Album. You need help, I assume?:D
    Ah, I see. That's actually pretty cool. Lol, I had no idea there was a tutorial for it- I should look back at the older ones, I could probably learn alot more.
    I lol'd at the readme of that tutorial. "DON'T POST THIS ANYWHERE! Or I'll hunt you down!". And thats it, lol.
    So, do you have a hack on the forum, no?
    Do a swi and dma log with VBA-H, you'll find it. The problem is I'm not going to be around any sooner. Otherwise I could've just even you the unLZ number.

    Anyway, I remembered I posted a ruby unLZ document, so check in the Documents & Tutorials section for it. Best of Luck.
    Hey, I know we have not talked much but I have noticed you have some good rom hack knowledge and i came by wandering if you know the intro animation offests in FR? If so it would be a massive help!
    I don't remember too much about Ruby ROMs. The logo is at 1638. The tilemap I have no record of it, and in all honesty I can't be bothered looking for it. Try the simple questions thread, someone would have to know.
    ahh...sorry i forgot where did i found it.:( i think its on serebii.net,look at kyledove's "still alive thread" NOTE:most of the tiles that he posted on it ,belongs to his private set.so make sure to ask kyledove if the tiles u are using is for public:)
    My tutorial set is in progress, but then I'm way ahead and if I post it you guys may not understand much, therefore I'm waiting for thethethethe. As for FontEd, its done... Just without support for Fire Red, Leaf Green and Emerald. No, it cannot import .ttf, but the font data are saved to binary files.
    Just forgot to add something and my Proxy Avoider hates the edit button - Most of Golden Sun's instruments, with the exception of those I pointed out, are all the first kind.
    Well, with the instrument wavs, you want to check two things.

    1) There are actually three kind of music datas in Pokemon - Regular (First row info row, second row wav. offset, third row property row, which always works normally if set as FFFF FF7F) Two Offset (First row info row, second row offset to intstruments (NOT THE ACTUAL WAVS!!!), third row programming offset), and Generated (First row tells the generator what to do, second and third rows are basically blank).

    Golden Sun's instruments, with the important exception of the Drum Kit and several generated instruments (As far as I know they are Lead 1 (Square); used in battle themes and the intro of TLA; Lead 2 (Sawtooth); used only in Saturos's battle theme I believe; Lead 4 (Charang); I'm not sure if I have the midi number right on this one, but it's the Oricana-like instrument used in Ivan's theme and Mars Lighthouse; and I don't remember what the midi number for this one is but it's used in Garoh and sounds like a low whistle).

    The pan flute is not one of these. So continue.

    Find the flute offset (or, you can just add it somewhere in your voicegroup). Let's say you want to import the pan flute at 0x8700000. Simply copy and paste from Golden Sun (I don't remember the exact offset at the moment - I'll get it to you ASAP). Then, add the offset into your voicegroup somewhere. You know how it goes.

    2) If you copied it correctly.
    A very important thing to note is that the first four rows of the wav. tells VERY important information about an instrument.
    Here's a sample I made up:
    0000 0040
    0020 3300
    2100 0000
    2200 0000

    Okay, the first row should always be a "0000 0000" or a "0000 0040". The former tells the instrument that it should not repeat the sound. The latter tells the instrument that it should repeat the sound for as long as the note is held (the difference between a snare and the String Ensamble, for example).

    The second row has some random stuff in the first halfword. Don't know what that all means so skip it. The second halfword tells you the frequency for the sound. Golden Sun's frequencies, unlike Pokemon's, are all set at the same value (It's 0x0158). To transfer it to Pokemon, you may need to adjust the frequency. To make it an octave higher, double this number. To lower it an octave, half it.

    The third row is only used if the first row reads "0000 0040". The third row tells the instrument when to begin its repeat sound. The fourth row tells it how many bytes long the sound is (in Hex, of course).

    Sometimes a sound still won't work. Try moving it. Some of my sounds are located around 0x8280000, where the old maps used to be (which were moved using Advancemap).

    Most of Golden Sun's instrument wav.s range in size from like 2300 bytes (Like in instruments like the Celesta) to over 16300 bytes (like in the String Ensamble)! The Pan flute is smaller, though, around 9470 bytes. Most of the time, the end of an instrument is loaded with 0x00 bytes, the quietest sound.
    Oh yes, for some reason I forgot to tell you - I was really tired when I sent you that last PM. I really had no clue what the hell I was thinking then XD Don't worry, I understand the Tutorial just fine, and I got it to work right on my first go.

    Anyways...

    Well, you can't change an actual wav file's volume without using Wav editing software, but yes, there is a way to change volume.

    For example, I'm assuming you're using a clean Ruby rom.
    Open up sappy, and load the song. For this simple tutorial, I'll be using the Regi Battle Song. Let's say that I want the first instrument to be super loud. What I would do is press play, then press stop right after that. I'll not only get the offsets to the individual tracks (which you already know), but I'll get a bunch of other junk too.

    Some things you will see:
    Rel - I'm not entirely sure what this is.
    Len - Length of the note.
    Note - Note number/value
    Velocity - Not entirely sure what this is either.
    ? - Well, nobody really knows. Maybe just a buffer.
    Mod - Modulation, it's used in many Golden Sun's songs, but far less often in Pokemon's. This affects how the song sounds. Invalid modulations produced by Sappy's "export Midi" command crash Sappy.
    Pitch - Used in pitch bends, such as in Magma Rock (I think it's used in Fog of Mt. Pyre but I'm not certain)
    Pan - Pan is whether you hear the song from the left speaker or the right.

    Now here comes the important parts:
    Voic - Voice number. Same as midi number minus 1. For example, Lead 1 (Square) is Midi number 81, but in Sappy, it displays 80 (this is because midi numbers usually start at 1, but Sappy and the GBA's music system begin at 0).
    Vol - This is what you're looking for. This is the volume for a track. For the first track of the song mentioned above, it says the volume is 80 (Hex 50).

    So we go to our first track, which is located at 0x86ACA58. Here we see:

    BC00 BB50
    BD30 BE50
    BF40 D749

    Now, the italicized part is the instrument number. Yes, you can change instruments a lot easier now!

    The bold part is where most likely our volume is located.

    The underlined part should NEVER be changed.

    Now, I change the bolded place to 0x7F. This is the loudest a track can be. Now the track is much louder than the other tracks. Changing it to 0x01 is the quietest you can make it, so, if trying to make a track quiet, try going with a lower hex number than the rest of the tracks.

    By the way, it should be noted that this works only most of the time. If the volume doesn't change, it might be that Sappy messed up on finding the volume of the song. Look for it byte by byte then (it's a real pain but it shouldn't be far from where I pointed out).

    Hope this helps.
    Darn you misunderstood me as well? :P Hence, the question "Can you open the tileset in my tool?" LOL

    Anyway, since you don't get it I might as well explain :) Amap outputs '.dib's' which is a type of bitmap while my tool supports .raw, .bin etc files. Bitmaps and those are completely different. Amap automatically compresses the tileset once you import it.
    Lol, it's okay, I just realized it right after I sent the PM >_>

    I'll see what I can do. Who knows, we could have just found some other programming stuffies. The GS:TLA's programming is already in my rom - I just need to find the pointer to the old programming so I can repoint it to the new.
    Lol... Can you open the tilesets from Amap with my tool? Check the readme - should be there, I took the liberty of writing it ^^

    Nope, thats off... Tileset 1 has to be major and Tileset 2 has to be minor. You know you could've tried first rather than asking :P
    Okay... Here are the offsets, that I've personally tested...

    GetVarAddress = 0x8069211 {This is the little bug ;) }
    ReturnAddress = 0x81DDF13
    ChannelTable = 0x845545C
    MusicTable = 0x845548C

    Enjoy and Have Fun :P
  • Loading…
  • Loading…
  • Loading…
Back
Top