Author Topic: [Beta release] Ultrasound - sound effect replacement/addition mod  (Read 15572 times)

Dark_Ansem

  • Insane poster
  • *
  • Posts: 270
  • Karma: 0
    • View Profile
I so badly would like this mod :)

Shard

  • Insane poster
  • *
  • Posts: 332
  • Karma: 34
    • View Profile
I so badly would like this mod :)
This isn't a mod. It's a tool you can use to make mods without changing any game files.

Dark_Ansem

  • Insane poster
  • *
  • Posts: 270
  • Karma: 0
    • View Profile
What?

Oh right... I was very tired yesterday. Have mercy. It is still a brilliant tool.

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Sorry for bringing this back but im having trouble with it. I tried a long while back when i had no idea how to mod myself and now i have a good deal of knowledge but not so much with the xml files. After downloading i renamed the 7Hexample to mod.xml. Hoping that was all i needed for the testers to work so i can figure it out myself but with this as an IRO 7H crashes at startup, the game runs and the voices do not play (the files inside belong to the kid next to the cat in wallmarket) any know where im going wrong?

DLPB

  • No life
  • *
  • Posts: 8846
  • Karma: 253
  • My love is as sharp as a needle in your eye.
    • View Profile
I've read the first post, and it seems the way you've programmed this is similar to how I programmed Roses and Wine.  I.e., you've cheated ?  You look for a mem var change and then play the effect that matches.

But with a dll it should be possible to make a full and proper replacement of the sound. We can write our own code and disable the game version, thus emulating all the functions of akao correctly.

Do you have any desire to do this? Because I might at some point. I think it's time FF7 had the original sound effect quality.  At the least, the battle sound effects.  Does Ultrasound work this way for ordinary battle effects? 

I suppose with battle effects there wouldn't be any real need to do it differently to the cheating way, since there won't be any fading or other effects.

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
If this is redone do I have to start again?

DLPB

  • No life
  • *
  • Posts: 8846
  • Karma: 253
  • My love is as sharp as a needle in your eye.
    • View Profile
I'm not sure what you goals are.  Mine is to simply make a dll that will play menu and battle effects from a folder in high quality stereo ogg vorbis format. Which is definitely doable. I think Ultrasound is more of a general purpose tool.


Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
So we should be fine then. I'm voicing the game. I got all areas sorted now. Only thing I cannot voice right now is inside battle text. If there is a way to do that then we have a perfect voice nod going.

Kaldarasha

  • No life
  • *
  • Posts: 2153
  • Karma: 130
  • Prince of Model Editing
    • View Profile
I've read the first post, and it seems the way you've programmed this is similar to how I programmed Roses and Wine.  I.e., you've cheated ?  You look for a mem var change and then play the effect that matches.

But with a dll it should be possible to make a full and proper replacement of the sound. We can write our own code and disable the game version, thus emulating all the functions of akao correctly.

Do you have any desire to do this? Because I might at some point. I think it's time FF7 had the original sound effect quality.  At the least, the battle sound effects.  Does Ultrasound work this way for ordinary battle effects? 

I suppose with battle effects there wouldn't be any real need to do it differently to the cheating way, since there won't be any fading or other effects.

This is more or less what I aimed for until I meet the bug. The replacement is easy (while sill time consuming) with headphones, since FF7 has a strange behavior when plugin in other sound devices and doesn't recognize them automatically. So I was able only to hear the sounds I replaced on my headphones and nothing else.
For the future it will help if we separate the files for the modules (it will be easy to mod them later this way).

DLPB

  • No life
  • *
  • Posts: 8846
  • Karma: 253
  • My love is as sharp as a needle in your eye.
    • View Profile
My dll would have no issue.  It would be modelled on RaW and would work perfectly with ogg files. I've already located most of the battle sound functions.  The question is panning and so on.  There's more going on here than just playing from what I can see.  Battle is more basic than field though.  Field has a whole raft of functions that are already fully documented.
« Last Edit: 2016-12-10 23:48:56 by DLPB »

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Hmm i have a request that would very much solve one of my last issues here.
You know how we have sound plays depending on PPV or Field ID so far.
Can we add a possibility where a sound plays if a specific item ID plays that sound?

My reason being Barrets Gatling gun is model ID 10.
This way i wouldn't have to find a way to add new sounds or find a pointless one.

DLPB

  • No life
  • *
  • Posts: 8846
  • Karma: 253
  • My love is as sharp as a needle in your eye.
    • View Profile
If I ever get round to making my dll, it will probably be battle only - but it will be based entirely on ID. If I made it for field also, it would depend how it all works - but where possible it would be ID entirely.

The programming side is the fun side.  But no chance I am going to recreate 700+ oggs from some high quality source.  I am not sure where we'd get that.  Probably epsxe with modded field file to play all effects.

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Problem solved. I used a sound im sure only gets used once which is the very 1st train sound the second you start.
I added a FieldID tag so the sound is replaced on every field but that 1 so were golden now

EDIT: Problem IS solved except for 1 thing....
I can't put a hex file in a 7h mod to do this. I have the right codes in the document but even though they get           put in they don't change. I checked it in cheat engine. If i alter them myself through it it's fine.

I assume this is because the kernel gets put in after the hext files do so they are changing it back.
I need a way to either delay it or find a way to patch only these codes into the kernel because i don't want to replace the whole thing in case another mod uses it.
« Last Edit: 2016-12-11 02:48:09 by Tsunamix »

DLPB

  • No life
  • *
  • Posts: 8846
  • Karma: 253
  • My love is as sharp as a needle in your eye.
    • View Profile
hext launch has a delay function. See readme.

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Hmm still not working. Is it just a case of doing this

Code: [Select]
..\ff7bc.exe

Delay=5000

00DBECD4 = 2E 35

Those codes refuse to change. I have this inside a hext folder inside an IRO for 7H

DLPB

  • No life
  • *
  • Posts: 8846
  • Karma: 253
  • My love is as sharp as a needle in your eye.
    • View Profile
delay does not go there.  It goes in settings.ini in HL_Files.

See the readme and see the log.

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
So i have to put hext launch ect inside the IRO as well? I thought 7H came with that stuff so i didn't bother. I don't understand how external programs running from an IRO work. Ficedula basically set up ultrasound for me.

Any hexts i've put in so far are just text documents in a hext folder. No programs required 7H just does it for me.
« Last Edit: 2016-12-11 04:03:56 by Tsunamix »

ficedula

  • No life
  • *
  • Posts: 2179
  • Karma: 40
    • View Profile
    • http://www.ficedula.co.uk
Mm, 7H can also apply hex patches, but doesn't (currently) support the delay option. That would be really quite easy to add, though. I'll put an update up later today that adds that in.

(EDIT: Done)
« Last Edit: 2016-12-11 14:44:40 by ficedula »

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Only way i have found for this is to redistribute the reunion kernel with my changes if that's okay?
Was pretty hard to work this out.

I had to switch his crit sound to his normal sound, then change his normal sound to the train sound effect under the condition that it would only change if your not on map md8stin.

If you could code a sound effect to only be swapped if it came from that weapon ID it would help SO much

Still can't figure out how to add the hex codes in through 7H yet.
Id love to have a list of all the runtime vars possible for 7H.
Like i have no clue how that dynamic weapon came around.
How does it know what weapon Cloud is using???

So i figure if that's possible then changing sound depending on weapon might be too

I'll send you a link to the Beta-Test today so you can poke around and see what i've got

After that the in battle text makes this a complete thing for me.
All im lacking right now is the text inside the guard scorpion battle
« Last Edit: 2016-12-11 17:21:55 by Tsunamix »

Tsunamix

  • Freak
  • *
  • Posts: 681
  • Karma: 10
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Hey ficedula, i came across something i can't figure out. Check this video and you'll see.
Sometimes when a line is spoken if you get a battle after it, once the battle is over it will play the last line again. I tried changing the game moment once it finishes and adding a PPv value to the line but that didn't work.

https://www.youtube.com/watch?v=7bTUW5YUxo4    Watch from 15:40 to see an example