Jump to content
Mumble forums

General questions for Positional audio plugins


francescop
 Share

Recommended Posts

The positional audio feature is IMO one of the most exiting features for mumble, and though I still havn't tested it in a compatible game, I decided to try to make an plugin for Age of Conan, a 3rd person MMO that I'm currently playing. The hope was that my minor java / C# programming would be sufficient. Of course, that was before I relalised that c++ deals with directly memory allocation :P


Anyhow, I've read the two guides (Pluginguide + HackPositionalAudio) that were available on the SF-page. The forum thread by rawnar was also helpful. In the end, I cheat engine'd myself to a list over memory locations for x-y-z coordinate positions, as well as memory locations for headings and something I suspect can be used as a state value. Which leads me to the following questions:


1) What makes a good state value? Sofar, I've isolated 10-20 memory locations which seems to be changing value every time a new level is loaded. Is that the purpose of this value, to inform mumble that the level has changed, and the avatar positions have been reset?


2) The memory locations for posision seems to be constant, ie they are the same every time I've reloaded the game / changed level / etc. I'm planning to verify this by testing on a different computer / OS. If the locations are still valid, does it mean that I don't have to bother with finding and using pointers?

Link to comment
Share on other sites

A1) The state value is only needed to give the plug-in the idea if you are in a map or not. If you are not in a map, you don't have an avatar in the game that will represent your location. This is for instance when your are in de main menu of a game, so you have not yet joined a match. The state value is not really passed to mumble, if the check on the state value is false the positional information is set to zero telling mumble not to use positional audio. So, the state value doesn't have to change between maps. It only has to be different from when you are inside a map or not inside a map.


A2) Yes, the memory locations will show up green in Cheat-Engine, stating that it is a static memory address. A static address basically means that the memory is allocated during the declaration of the variables, so no pointers are needed. You lucky man/woman. ;) (I am still battling with the pointers, as they are occasionally not working :( )


My computer language knowledge comes from self-study, so I could be using faulty terminology.

Computer specs: AMD FX-8320, 8GB DDR3-SDRAM, AMD Radeon HD 7950, Asus Xonar D1, Windows 7 Ultimate 64bit/Debian Jessie AMD64.

Link to comment
Share on other sites

For your information. They have a new API for the plugins, so check the source code files in the git tree to see how the new one works. The old one will still work with this version of Mumble, but they prefer that you use the new API. Someone needs to update the wiki page. ;)

Computer specs: AMD FX-8320, 8GB DDR3-SDRAM, AMD Radeon HD 7950, Asus Xonar D1, Windows 7 Ultimate 64bit/Debian Jessie AMD64.

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...