Changing the music file set for field files

  • Thread starter Thread starter Kudistos Megistos
  • Start date Start date
Status
Not open for further replies.
K

Kudistos Megistos

Guest
I was wondering how to change the music played in the field and battle scenes using meteor, and came across this and this after searching for information this and about the music opcodes.

They say that music is "defined" or "set" for a field file: I'd like to know how to set extra tracks for field files to change the music played in battle; for example, how to set the normal boss music for the fight with the Turks in the Winding Tunnel without changing the music in other battles (which would happen if one changed it with ff7music). Meteor doesn't seem to have an option for this; either that, or I am missing something that is right in front of my face.

EDIT: I think I've found where this data is stored. Now, if I can just figure out how to repack flevel.lgp I'll be able to do some tests.

EDIT2: Managed to change the music in the Wall Market to "Cosmo Canyon" without anything crashing...
 
Last edited:
This topic grabbed my attention immediately!

So is it possible to change the Turk battle music based on this info? (There are other things I would change, just using your example for now.)

Sorry.  I know I'm something of a n00b.  I've no hex-editing experience, but I've still got a hex-editor.  Experimenting with it based on information I vaguely understand could be fun :P
 
I'm sure it is, but I can't do it. As I've said, I've found (with the help of the wiki) where in the field file the bytes that call the music are1 and which bytes call which songs2. But I'm not sure about adding new songs to files and am having problems with scripting different battle music into that scene with meteor (no doubt because I am n00bishly sticking opcodes in like a drunk playing "Pin the Tail on the Donkey" and hoping they work).

But if you want to have a go, please do! And if you have any success, please share! That also goes for any pros out there who are reading this with horror and disgust ;-)


1 Do a text-string search for AKAO. I've found that the bytes after the last AKAO are the ones for music, but don't take this as read; I've only looked at a few files.

2 They are based on the order of the songs in ff7.exe starting from 0x567054 in my patched .exe file.
 
Last edited:
All lo and behold my n00biness!!

Which bytes call which songs?  My natural assumption is that they are in an alphabetical order somewhat like this:
Hurry = aseri = 00
Hurry Faster = aseri2 = 01
Lurking in the Darkness = ayasi = 02
etc.  By any fortunate twist of fate, would I happen to be right about this?

I haven't managed to do anything successfully yet.  Also, about "AKAO"... are you saying that the bytes that call the songs are immediately after the "O" of the very last "AKAO" in the file?  What exactly did you do to change Wall Market's music to "Cosmo Canyon"?

Any news on changing battle music?
I don't want to ask to be spoon-fed, but I'm having some trouble grasping the concept (first time playing around with a hex editor).
 
They are in this order in ff7.exe:

NONE
OA
OB
DUN2
GUITAR2
FANFARE
MAKORO
BAT
FIDDLE
KURAI
CHU
KETC
EARIS
TA
TB
SATO
PARADE
COMICAL
YUME
MATI
SIDO
SIERA
WALZ
CORNEO
HORROR
CANYON
RED
SETO
AYASI
SINRA
SINRASLO
DOKUBO
BOKUJO
TM
TIFA
COSTA
ROCKET
EARISLO
CHASE
RUKEI
CEPHIROS
BARRET
COREL
BOO
ELEC
RHYTHM
FAN2
HIKU
CANNON
DATE
CINTRO
CINCO
CHU2
YUFI
ASERI
GOLD1
MURA1
YADO
OVER2
CRWIN
CRLOST
ODDS
GEKI
JUNON
TENDER
WIND
VINCENT
BEE
JUKAI
SADBAR
ASERI2
KITA
SID2
SADSID
ISEKI
HEN
UTAI
SNOW
YUFI2
MEKYU
CONDOR
LB2
GUN
WEAPON
PJ
SEA
LD
LB1
SENSUI
RO
JYRO
NOINTRO
RIKU
SI
MOGU
PRE
FIN
HEART
ROLL

(a few of those might be wrong)

I changed the music in the part of Wall Market where the save point is by changing the "25" at 0xEBE (right after the O) to "1a" in the flevel.lgp file "mrkt2" with a hex editor. 25 is the 37th song on that list, "rocket" (AKA "Oppressed People), and 1a is the 26th, "canyon". If you convert the values of the bytes after AKAO to decimal and look them up on that list, you should be able to see whether they are the music files. Some of them seem to be one or two places off, however (maybe I'm doing something wrong).

Unfortunately, Real Life (i.e. university work) has prevented me from doing much real modding recently, so I don't have any news on changing battle music. I think that the basic principle should be fairly similar. Unless I'm given a lot of reading to do over the holidays I should be able to get a lot more modding work done next month.
 
I have to confess that I haven't looked into this very much since my last post, but I'm looking at the flevel.lgp file "nmkin_1" right now with Meteor.  This is the file with the background for an area of Reactor 1 in Midgar near the beginning of the game.  Barret first joins the party here.

Well, I've found a few interesting things with this file.  The background music should be MAKORO and the battle music should be BAT.  In hex, that's 06 and 07 respectively (right?).  Meteor seems to think differently, though.

I've investigated the "Entities & Script" section of this file quite carefully.  Under "dir", I've found the following:

BMUSC   (00)

I've also found this several lines later:

MUSIC   (01)
BMUSC   (02)

Now, I'm under the assumption that MUSIC = the music that is played in the area while BMUSC = the music played during a battle (if I'm wrong about this, I'll be surprised!).

Based on the information I have and what I understand, the only thing that adds up correctly here is the second BMUSC, since the battle music for when you're trying to escape from the reactor is indeed "OB", which should be 02.  Apart from that, it seems to make little sense.

So far, I can only assume that either I've missed something here or Meteor isn't very reliable for music and that I'll have to go back to blind hex-editing.


EDIT: I've looked at the file with a hex-editor and there is a 08 after the final AKAO (there are three of them).  Since 08 is FIDDLE, I don't think this has to do with the background music.  I have found a 07 after the second AKAO, but that's BAT, the battle music, not the field music.

I haven't done any testing yet, but so far, not much makes sense.  I'm sure you can edit the music with Meteor somehow, but I don't know how.  There has got to be a hex-editing omniscient out there who has the answers...

I'm not in a huge hurry to do any music editing for now, though.  I have a lot of other stuff on my mind at the moment.  I will probably be preoccupied with other things until February :(
 
Last edited:
I'm going to check this in a few days, but as far as I know, the bytes after MUSIC and BMUSIC point to the bytes after AKAO, so whatever music is played, the byte after MUSIC will nearly always be a low number. 00 After MUSIC or BMUSIC calls the first byte specified after AKAO, 01 the second byte and so on.

As for why *those* bytes are after AKAO, the ony explanation I can give at the moment is that the music starts with 01 rather than 00, so the 03 at 0x1fac would be the music "OB", the 07 at 0x3394 would be "MAKORO" and the 08 at 0x3eb0 would be "BAT".
 
00 After MUSIC or BMUSIC calls the first byte specified after AKAO, 01 the second byte and so on... the music starts with 01 rather than 00, so the 03 at 0x1fac would be the music "OB", the 07 at 0x3394 would be "MAKORO" and the 08 at 0x3eb0 would be "BAT".
Oh. :|  Well, that makes sense.  So if 00 is the code for the music, that means that it will just use the music playing from the last field while if 01 is the code for the music, it will be silent?  That's my inference.  And if I'm wrong about this as well, then dang.  What's wrong with me? (lol!)

Thank you for all your help!  When I get enough freetime, I'm gonna make a lot of use of this!  I think that if one played around with the scripts displayed in Meteor, one might be able to include a second battle music used for boss battles, no?  It would also involve hex-editing... I understand where that gets tricky.
 
I'm not sure whether you mean an 00 after "MUSIC" or 00 after "AKAO". If you mean 00 after "AKAO", then you might be right, but that's just a hunch (I didn't think of that myself, but your inference makes sense). If you mean 00 after "MUSIC" then the music specified by the first byte after AKAO should be played. Again, I can't say this for certain, since I am just a beginner with this kind of thing myself.
 
Sorry, I meant after AKAO.  What does "AKAO" mean, I was wondering?

By the way, looking at the list of the order of music files (can't stop wondering why the programmers put them in THAT order; it appears to be so random), I've noticed four music files I've never heard or seen before, specifically SATO, WIND, SENSUI, and HEART.  I first thought that SATO was a typo and was supposed to say SETO, but that's also there.  Are these unused files like COMICAL?

How did you know the music files were in that order?
 
By the way, looking at the list of the order of music files (can't stop wondering why the programmers put them in THAT order; it appears to be so random), I've noticed four music files I've never heard or seen before, specifically SATO, WIND, SENSUI, and HEART.  I first thought that SATO was a typo and was supposed to say SETO, but that's also there.  Are these unused files like COMICAL?
I've just listened to these and the only way I can describe them is "strange sound effects that I don't recognise from the game". They are in xg.lgp and ygm.lgp (in the "midi" folder) but not in awe.lgp and midi.lgp. You can hear them if you use lgp tools.

How did you know the music files were in that order?
There is a post somewhere on these boards that has all of the files in order, and they are in this order in ff7.exe.
 
Thx for teaching me!

As soon as my academic life becomes less fierce and demanding, I'll make it my goal to figure out a solution to making additional musics in the field file.  Maybe I'm over confident, but it shouldn't be too difficult.  I need some time to experiment.
 
Necromancy!

Since no one took the next step and mapped each of the values mentioned by Kudistos Megistos to decimal and hexadecimal equivalents, I've done so:

Code: [Select]
Code:
[code]NONE  1                   01OA  2                   02OB  3                   03DUN2  4                   04GUITAR2  5                   05FANFARE  6                   06MAKORO  7                   07BAT  8                   08FIDDLE  9                   09KURAI  10                  0ACHU  11                  0BKETC  12                  0CEARIS  13                  0DTA  14                  0ETB  15                  0FSATO  16                  10PARADE  17                  11COMICAL  18                  12YUME  19                  13MATI  20                  14SIDO  21                  15SIERA  22                  16WALZ  23                  17CORNEO  24                  18HORROR  25                  19CANYON  26                  1ARED  27                  1BSETO  28                  1CAYASI  29                  1DSINRA  30                  1ESINRASLO    31                  1FDOKUBO  32                  20BOKUJO  33                  21TM  34                  22TIFA  35                  23COSTA  36                  24ROCKET  37                  25EARISLO  38                  26CHASE  39                  27RUKEI  40                  28CEPHIROS 41                  29BARRET  42                  2ACOREL  43                  2BBOO  44                  2CELEC  45                  2DRHYTHM  46                  2EFAN2  47                  2FHIKU  48                  30CANNON  49                  31DATE  50                  32CINTRO  51                  33CINCO  52                  34CHU2  53                  35YUFI  54                  36ASERI  55                  37GOLD1  56                  38MURA1  57                  39YADO  58                  40OVER2  59                  41CRWIN  60                  42CRLOST  61                  43ODDS  62                  44GEKI  63                  45JUNON  64                  46TENDER  65                  47WIND  66                  48VINCENT  67                  49BEE  68                  4AJUKAI  69                  4BSADBAR  70                  4CASERI2  71                  4DKITA  72                  4ESID2  73                  4FSADSID  74                  50ISEKI  75                  51HEN  76                  52UTAI  77                  53SNOW  78                  54YUFI2  79                  55MEKYU  80                  56CONDOR  81                  57LB2  82                  58GUN  83                  59WEAPON  84                  5APJ  85                  5BSEA  86                  5CLD  87                  5DLB1  88                  5ESENSUI  89                  5FRO  90                  60JYRO  91                  61NOINTRO  92                  62RIKU  93                  63SI  94                  64MOGU  95                  65PRE  96                  66FIN  97                  67HEART  98                  68ROLL  99                  69
 
Last edited:
Status
Not open for further replies.
Back
Top