How to change the NPC voices in UTF files ?
Have anybody a solution for changing the NPC voices in the corrosponding UTF files?
I've started making own system, bases and factions ... but everytime when a NPC should refer to the new names, nothing happend. There are some .ini files for the voices and there you find the references to the used .UTF files.
For example: atf_leg_m01.utf and msg = gcs_refer_base_XY_base
That's clear, but in the .UTF files is used a CRC checksum code or hash code (it 4 bytes = 32 bit). If you extract one of these with the UTF Editor, you see that this is a normal riff wave file with mp3 coding. So I think, that the msg id code is referenced in the hash code within the .UTF files. I took a look into the dacom.dll and find some calls using a CRC32 checksum routine. I've tried to calculate a normal CRC32 checksum with tools for different msg ids ... without success. But Freelancer is using an own CRC32 hash table. I found a link here at lancersreactor for a routine used in the UTF editor. I wrote this small c program using the Freelance CRC hash table ... but it still does not match the damned codes within the .UTF files. So I took a depper look into the dacom.dll and tried on my own to write the CRC32 programm. I've just a little knowledge with assembler coding ... but I came to exact the same result as with the routine used for the UTF editor.
Does anybody knows what is the secret with the 32bit hash code used in the .UTF voice files ? I still think they must refer to the msg nicknames in the voice_xy.ini files. But I dont know how to generate the hash code out of the plain text.
Would be great if somebody could help me.
Thanks and regards
eisfuerst
I've started making own system, bases and factions ... but everytime when a NPC should refer to the new names, nothing happend. There are some .ini files for the voices and there you find the references to the used .UTF files.
For example: atf_leg_m01.utf and msg = gcs_refer_base_XY_base
That's clear, but in the .UTF files is used a CRC checksum code or hash code (it 4 bytes = 32 bit). If you extract one of these with the UTF Editor, you see that this is a normal riff wave file with mp3 coding. So I think, that the msg id code is referenced in the hash code within the .UTF files. I took a look into the dacom.dll and find some calls using a CRC32 checksum routine. I've tried to calculate a normal CRC32 checksum with tools for different msg ids ... without success. But Freelancer is using an own CRC32 hash table. I found a link here at lancersreactor for a routine used in the UTF editor. I wrote this small c program using the Freelance CRC hash table ... but it still does not match the damned codes within the .UTF files. So I took a depper look into the dacom.dll and tried on my own to write the CRC32 programm. I've just a little knowledge with assembler coding ... but I came to exact the same result as with the routine used for the UTF editor.
Does anybody knows what is the secret with the 32bit hash code used in the .UTF voice files ? I still think they must refer to the msg nicknames in the voice_xy.ini files. But I dont know how to generate the hash code out of the plain text.
Would be great if somebody could help me.
Thanks and regards
eisfuerst