Kezyma / Morrowind-Voices

Morrowind AI Voices
21 stars 10 forks source link

MWSE requirement & OpenMW compatibility #5

Open tkapias opened 1 year ago

tkapias commented 1 year ago

I see that apparently OpenMW does not support MWSE or its features.

Can we use your mod with OpenMW in another way?

Kezyma commented 1 year ago

If you make an esp and manually add each voice to it in the CS then that'd do it, but it'd take an unholy amount of time once the mod is complete with well over 100,000 voicelines.

Better solution is for OpenMW lua to implement an API that would allow us to write a script for it, which would be the far better solution!

Failing that, some kind of plugin generator to hook up all the voicelines and spit out an esp would be the only other option, which I will look into when the project is more mature. The plugin method would probably introduce a lot of incompatibilities with other mods though.

tkapias commented 1 year ago

I'm looking into it after many years just because your mod made me want to play it again, so I don't know a lot about OpenMW status.

But they claim that Python and Lua scripting is fully functional. But it's more developper, than modder, oriented. And they will probably never implement MWSE because they have this internal scripting framework.

https://wiki.openmw.org/index.php?title=Scripting_Extension https://wiki.openmw.org/index.php?title=Scripting_(status)#MWSE https://wiki.openmw.org/index.php?title=Mod_status#Morrowind_Script_Extender_(MWSE)_incompatibility

I will try the esp solution for now if there is not too much work. Thanks

Kezyma commented 1 year ago

I've already discussed it in the OpenMW discord, Lua scripting is functional, but the API to access the OpenMW engine with Lua is currently quite limited in scope. They will add more to that API in the future which will allow for a version of this mod to work, but yes, it'll require a separate script to function with their API instead of the one provided by MWSE.

I've looked into the esp generator solution already, it should be doable for NPC specific voicelines, but for shared dialogue, it'd involve some complex logic to separate out the single dialogue item into one for every possible voice and then hook them all up again. Then you'll need a script for each NPC to play every line they could possibly say and add a sound object for every voiceline. It's possible, but as the number of voicelines grows, it'd be a monster to maintain!

Considering the time it'd take to implement and maintain an esp for this mod, you'd probably be better-served learning and contributing to the OpenMW project to get the Lua API expanded to make a script possible! In terms of the time needed to achieve the same goal, it'd probably be faster.

tkapias commented 1 year ago

Thanks, I was probably going to waste a few hours before realizing that it's too long.

I'll see if there's anything I can do at my level on OpenMv.

And congrats for this mod!

Kezyma commented 1 year ago

Yeah, that sounds like a good plan! I don't know the inner workings of OpenMW, but I assume the more people push for the API to be expanded, the higher that'll end up on their priority list!

You can probably get an idea of what's going on from the OpenMW discord: https://discord.gg/bWuqq2e There's also the one for this project if you want to track progress or help out: https://discord.gg/kPA3RrxAYz