• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

OTC Advanced Sound System

Codinablack

Dreamer
Content Editor
Joined
Dec 26, 2013
Messages
2,022
Solutions
13
Reaction score
1,337
Location
USA
GitHub
Codinablack
Ok, so my friend and I have been messing around with OTC (Mehah's) and the sound support there, we both have been making our own custom sound systems for a bit, when we realized there was so much missing from the lua api for sound manipulation in OTC. Not only that, but the sound library that OTC uses (openal-soft) was literally built for the purpose of 3d sounds, and yet, otc has no way of making or supporting the use of 3d sounds. So I have spoken with others on discord and such and seems many people want 3d sound, and some people are even willing to help make it happen.
We started a small group of individuals with this goal in mind, I will not tag them all, but most of you know some of them, enabling the user to have more control over the sounds, and supporting 3d sound. We also wanted to create a little gui "mixer" for lack of better term, with the ability to alter certain sound properties on the fly and eventually save them as a custom "Sound effect". The cool thing is, there are already a ton of presets in the openal-soft library (efx) for us to play with, anyways lets get to the point... @forgee slaved away his weekend to bring us an amazing teaser of such goals already working. Check it out!


For more information about this project you can reach me on discord at codinablack#4888, or just ask here :D
 
We now have both Windows and Linux Pre-releases available (edge builds)
I've typed sound in BTS repo "search" and I got 0 commits related. How is this thread OTC Mehah update related to BTS?

Ignore what I've said above. How is this message related to releasing anything in 2024? Is it x86 32bit, 64bit or ARM 32/64 bit release?
It's not a big deal, just name release versions properly.
But I'm just biased since I'm a hard advocator against using OTC Redemption (mehah) and BlackTek
OTCR gets better and better. Soon it will advance over OTCv8 in optimizations and other features, as OTCv8-dev is open-source and almost nobody updates it.
I don't say that OTCR or OTCv8 is better, but OTCR has support for years and OTCv8 is pretty dead since Kondra published it's source.
 
OTCR gets better and better. Soon it will advance over OTCv8 in optimizations and other features, as OTCv8-dev is open-source and almost nobody updates it.
I don't say that OTCR or OTCv8 is better, but OTCR has support for years and OTCv8 is pretty dead since Kondra published it's source.
OTCv8-dev? If you mean GitHub - OTCv8/otcv8-dev: OTCv8 Development repository (source code) (https://github.com/OTCv8/otcv8-dev) then its not the right repo to look at.
v8 is not dead, its finished, the only updates I make are simply new features, small fixes or refactors of old modules. It doesn't need drawing/rendering refactor every few months like OTCR. It works, it runs more than fine. If you want OTCR to be better then you need server owners to force using OTCR and prevent any v8 clients from logging into their server, otherwise all these vBot users will keep v8 alive.
 
It's still not related to BTS and OTC Mehah. This guy just wants to promote BTS on Mehah/OTCv8 channels!

8 is not dead, its finished, the only updates I make are simply new features, small fixes or refactors of old modules
I was 100% with you in 2022, but then Kondra left OTCv8 and it's dead project now.
If you plan 8.x-10.x server and only sources to compile are copy of mine vcpkg files (2021 copy), it's 100% fine.

Nobody updates it right now. Of course you do GitHub - OTAcademy/otclientv8: Mirror of official OTClientV8 (https://github.com/OTAcademy/otclientv8) , but for last 75 commits you are the only guy posting them. For first few months after your first updated it, it was not able to compile on Linux - compilation error -, so I can't say you really supported it 100%. It still does not support current vcpkg to compile (vcpkg.json) and expects everyone to download copy of my personal files ( Index of /compile_otcv8 (https://skalski.pro/compile_otcv8/) ) to compile it on Windows and Android.
If you can add vcpkg.json and full support for modern - at least working - VCPKG I'm 100% behind you!
It doesn't need drawing/rendering refactor every few months like OTCR.
As I said "soon it will advance over OTCv8". Maybe it has less features now (except 12+ and actionbar), but a lot of people work on it, publish daily updates on it and it will be 'official OTC' soon.

Ignore everything you know about OTC, visit:
Code:
https://webclient.otarchive.com/?gameData=https://downloads-oracle.ots.me/data/MehahWeb860/otclient-otarchive.zip
(ppp/ppp to login GOD) and tell me that it won't go over all OTCv8 features in few months.
You can login from website (ots.me OTS website), without downloading anything! Where is OTCv8?
 
It's still not related to BTS and OTC Mehah. This guy just wants to promote BTS on Mehah/OTCv8 channels!

False! I actually accidentally posted in wrong thread, immediately realized my mistake, reported my own message and deleted it in place of an "edited" message, stating how I accidentally posted on wrong thread.... and all this happened well before you made this post I'm responding to, so what is with the baseless accusation?
 
It still does not support current vcpkg to compile (vcpkg.json) and expects everyone to download copy of my personal files ( Index of /compile_otcv8 (https://skalski.pro/compile_otcv8/) ) to compile it on Windows and Android.
Just use 389e18e8380daab3884e7dc0710ad7f4a264def6 commit and it will compile.
As for Android, iirc it only compiles on VS2019, there are some errors on VS2022 that I couldn't resolve (Edit: oh shit, I just managed to compile Android on VS2022, first try, huh).
Anyway... maintaining v8 is not my job so I'm not too invested in the work. I can't be bothered to even setting up Linux env to test compilation there.
 
Last edited:
Workflows are OP
And paid and bitch to work with. I still remember 10 commits "updated vcpkg commit id" in a row cause either Linux, Mac or Android couldn't compile. And since you can't test these locally, spamming commits and waiting for the build to compile is the only way, it takes time and wastes free monthly limit.
 
And paid and bitch to work with. I still remember 10 commits "updated vcpkg commit id" in a row cause either Linux, Mac or Android couldn't compile. And since you can't test these locally, spamming commits and waiting for the build to compile is the only way, it takes time and wastes free monthly limit.
(Besides the paid part because I haven't paid anything for them) Oh yeah, 100 percent their biggest fault!

The trick is having another github to test with, or just taking the perfected version and saving it, then resetting your branch to a commit before all the trial and error, force push this change to master on github to clean it, and then add the working version in one commit. It sucks, I know, but once its done, its done, and know you will have a heads up anytime something happens where now compiles fail, and until then, you get to live with the certainty of knowing your code still compiles on linux just fine, and can save that successful build so people don't have to fail miserably at trying to compile for linux themselves, they can just get an actual working compilation from you.
 
There is an issue where there is no looping option for continuous music. Below is an option on how to add this. I had done this in the previous version.


StreamSoundSouce.cpp

After void update() override;
Add
void setLooping(bool looping) override { m_looping = looping; }


Luafunctions

g_lua.bindClassMemberFunction<SoundChannel>("setLooping", &SoundChannel::setLooping);

SoundChannel.cpp

Add
void SoundChannel::setLooping(float looping)
{
if (m_currentSource)
m_currentSource->setLooping(looping);
}


soundChannel:play(soundPath, 1.0)
soundChannel:setLooping(1)


I also modified the TFS so that other players can hear the sound and created a Lua module. I kept it simple. I planned to adjust the volume based on distance, but with these 3D changes, I have more options.
 
Back
Top