francescop Posted May 21, 2010 Share Posted May 21, 2010 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? Quote Link to comment Share on other sites More sharing options...
rawnar Posted May 25, 2010 Share Posted May 25, 2010 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. Quote 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 More sharing options...
rawnar Posted May 28, 2010 Share Posted May 28, 2010 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. ;) Quote 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 More sharing options...
francescop Posted June 13, 2010 Author Share Posted June 13, 2010 Thanks for the feedback!Due to an unforeseen emergency formatting (thank you very much ms Vista!), I've lost most of my notes & tools. I'm slowly getting back to where I was however, and back to the mesmerizing world of c++. :) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.