Post AVt3dESmwwc1NSPw36 by bgtlover@linuxrocks.online
(DIR) More posts by bgtlover@linuxrocks.online
(DIR) Post #AVt1fOTeUOqf6cixdY by bgtlover@linuxrocks.online
2023-05-21T16:37:56Z
0 likes, 0 repeats
so, I want to try to play #SurviveTheWild on linux, however, as y'all know, it's a windows exclusive game for now. I heard there are workarounds for making it work with wine, but because of tolk.dll I basically have no speech. My question here is, was this problem solved? if so, how? I'm basically forced to play in a windows vm, since I dk how to make the nvda speech dispatcher bridge work properly with this title.@storm I heard you managed to get it working? if so, how did you do it? did you have to stub tolk.dll? that's a thing I've been trying to avoid for some time, since I don't quite like that kind of monkeypatching, plus a lot of work that's quite arduous to do, aren't there any alternatives? If not, I'm gonna go patching then, probably will make a rust shim that proxies to speech dispatcher, like nvda2speechd.
(DIR) Post #AVt1fP980C1dBG85Hk by storm@social.wolfe.casa
2023-05-21T17:25:33.620689Z
0 likes, 0 repeats
@bgtlover I did not get it working. Apparently it did work briefly for someone but stopped soon after. I was planning on working on AGM’s NVDA support, installing a portable copy and running it for these games that can’t be made to work any other way, but even the best result would still be cludgey, so I’ve been procrastinating. If you are willing to make tolk2speechd, that would be an awesome contribution, and probably the best solution for this problem. It would fix not only STW, but a few other games as well.
(DIR) Post #AVt3dESmwwc1NSPw36 by bgtlover@linuxrocks.online
2023-05-21T17:37:12Z
0 likes, 0 repeats
@storm yeah, tolk to speech dispatcher could potentially be doable. Thanks to my work on odilia, aka when I didn't have so much uni going on, I found out about an ssip library written in pure rust, which doesn't require c libraries to work, which is the only reason for which nvda2speechd requires a server binary. I'm basically reworking nvda2speechd entirely to use that mechanism, plus it'll now use the windows msvc toolchain, so I wouldn't have to copy some dlls from the mingw package in the wine prefix, using cargo-xwin for that one. I'm hoping I could also find a way to install a keyhook from the dll itself, so that I could cancel the speech when keys are pressed in the game window, to more accurately emulate screenreaders and close the gap. Also, I dk how I should handle situations like in crazy party, where messages are being spoken one after another sometimes, and because nvda doesn't have a way to find out if speech stopped, it kinda doesn't work that well with speech dispatcher
(DIR) Post #AVt3dFFM2NSbo58ikS by storm@social.wolfe.casa
2023-05-21T17:47:38.942202Z
0 likes, 0 repeats
@bgtlover let me know when this stuff is ready for testing. I’ll throw it into AGM, and you’ll have all the feedback you will need. For now, sapi works great with Crazy Party, so the AGM setup doesn’t use nvda for that. It’s rumered that CP is being rewritten in the same engine as STW though, and that will mean tolk. So we have 2 options, stick with the latest working version, or make tolk work. I would love to be able to offerr the latest release, so a working tolk would be the best solution, but I’m not going to break a game that practically everyone who uses AGM has installed, or so I believe, with a new version that doesn’t work. If wrost comes to worst, I could just make a public server for all the AGM people to use. It sounds like you might make the whole problem go away though, and for that, thank you. You rock! 😈
(DIR) Post #AVt4u0UQFxuGuqkCfI by bgtlover@linuxrocks.online
2023-05-21T17:56:31Z
0 likes, 0 repeats
@storm for nvda2speechd, I have the c signatures for the functions I'm wrapping. If someone could find a similar function signature list and possibly documentation for tolk, then send it my way, I'd have a greatter chance of finishing it this century, rofl. One thing at a time though, there'll still be some time before I can do any of these, since I still got lots of university work, sessions going on and such. I wonder, is this tolk speech dispatcher bridge a priority, or should I rewrite nvda2speechd first, to use the new architecture? In any case, if I can make the new architecture work at all, and that depends on whether the crate uses unix stuff still, even if it's pure rust, that's possible nonetheless, I'll write tolk2speechd with it, since it'd make work with speech dispatcher so much easier.
(DIR) Post #AVt4u1600FxqnOKDEe by storm@social.wolfe.casa
2023-05-21T18:01:53.140109Z
0 likes, 0 repeats
@bgtlover well, nvda2speechd already works, but there is nothing yet for tolk. So, putting tolk first would open up more games. On the other hand, this is personal work you are doing because you want to, so which ever you want to do first automatically gets higher priority. If you are open to requests, however, I would have to vote tolk, for the reason above.
(DIR) Post #AVt5Ocs87Gd2e0Qw7s by bgtlover@linuxrocks.online
2023-05-21T18:04:15Z
0 likes, 0 repeats
@storm ok then, will prioritise tolk, hopefully I can finish quickly enough with it, making it with the new architecture and all. Still, do you know of function lists, header files or documentation describing the interface? All I found is the source of the cpp library itself, and it doesn't even compile damn it.
(DIR) Post #AVt5OdiwwssbHp97SK by storm@social.wolfe.casa
2023-05-21T18:07:21.699018Z
0 likes, 0 repeats
@bgtlover I do not, but maybe @MWTab does.
(DIR) Post #AVt5Oe5daX1mQBlEoq by bgtlover@linuxrocks.online
2023-05-21T18:06:34Z
0 likes, 0 repeats
@storm Based on the games you know need this, do you know if I need to make 32 bit versions of the thing as well? it's very important aka how I code it, especially since my windows cross-compilation toolchain for 32 bit has been broken for a while, but I didn't need to produce 32 bit stuff for windows, or even linux, in a long time.
(DIR) Post #AVt5ftvhwurOTFLPtY by storm@social.wolfe.casa
2023-05-21T18:10:30.375828Z
0 likes, 0 repeats
@bgtlover Not that I can think of. Pretty much everyone is releasing 64 bit games these days, and the people who aren’t mostly use BGT, and have sapi support without tolk. I guess it wouldn’t be bad to have 32 bit tolk support, but it’s not essential.
(DIR) Post #AVt6nerfwcTS1BilZQ by bgtlover@linuxrocks.online
2023-05-21T18:18:09Z
0 likes, 0 repeats
@storm OK, just so you know where to check updates for this, here's the repository, currently emptyhttps://sr.ht/~tec_geek/tolk-spd-proxyOf course, this isn't my main github account, I'm trying out a new platform and some new git things along the way, so yeah, why not? In order to submit issues, well, nothing's done yet, so I didn't add a bug tracker, but you could either make an account on sourcehut, or send in an email. Of course, I'll post when I begin working on it and when it's done, but just so you know where you'll find it
(DIR) Post #AVt6nq960Bwd0OxKka by storm@social.wolfe.casa
2023-05-21T18:23:05.077055Z
0 likes, 0 repeats
@bgtlover Awesome, thank you.
(DIR) Post #AVtB72mvcb2BXB03m4 by bgtlover@linuxrocks.online
2023-05-21T19:10:27Z
1 likes, 0 repeats
@storm no problem. Just pushed afew files in there, a basic rust project, with the cargo new template, but the crate_type and all that is set properly for this kind of thing. Over the following days, I'll add logging to it, as well as potentially I'll find some docs to this interface tolk has, probably I gotta read its source for that, ugg.
(DIR) Post #AW1A3UtSdg7OqyToUS by MWTab@social.michaels.world
2023-05-21T19:14:58.517009Z
0 likes, 0 repeats
@storm @bgtlover I can go looking around, I’ll let you know what I find.
(DIR) Post #AW1A3VTyRvKEgDYyP2 by MWTab@social.michaels.world
2023-05-21T19:21:30.626153Z
0 likes, 0 repeats
@storm @bgtlover looks like Tolk.h in the src directory has the interfaces. Btw, I use sr.ht self hosted for my git hosting. I definitely recommend, whether self hosted or not.
(DIR) Post #AW1A3W2iMl7APxoiYK by bgtlover@linuxrocks.online
2023-05-21T19:31:36Z
0 likes, 0 repeats
@MWTab @storm yeah, sourcehut is awesome, except for the fact it's far too much focused on email, but aside from that, it's a cool and simplistic website design, 10/10I did look at that file, but I didn't know enough about tolk to be able to make sense of it, thanks for confirming the interface is there. Now, the only thing there is to do is for me to get more time, then I can do this for real, see how far I get
(DIR) Post #AW1A3WcsCK2QE6jaue by bgtlover@linuxrocks.online
2023-05-25T13:31:58Z
0 likes, 0 repeats
@MWTab @storm OK, feature update!basically, everything is done and ready for testing. I tested it with stw, I could get speech, so that's good. However, here's where the good kinda ends, this is what doesn't work rn:* speaking through speech dispatcher. I know, kind of a bummer, however it turns out that the speech dispatcher library we're using in odilia has unix components, so it still won't work in the wine environment. I didn't want to introduce yet another server binary, so I made it send text to both stdout and the clipboard* clipboard. While the function doesn't return false or anything, also the windows clipboard may be functional inside wine, xclip doesn't see anything. If you get that working, I'll remove the stdout optionIn the future, I expect to be able to speak directly through speech dispatcher, but I know agm has stuff to read the clipboard and everything can read from stdout, so I think it's covered. Please tell me if something's not working as it should
(DIR) Post #AW1A3XJ3fTmYKwTHfM by storm@social.wolfe.casa
2023-05-25T15:37:16.162944Z
0 likes, 0 repeats
@bgtlover @MWTab Oh, so awesome! Thank you. Today is my last really busy day before the weekend hits, but if I get the chance, I’ll start testing on this today. 🥳
(DIR) Post #AW1t8ozXq0koZWEqQq by bgtlover@linuxrocks.online
2023-05-25T18:45:16Z
0 likes, 0 repeats
@storm @MWTab no problem at all, I wanted to do something like this for a while, but got no reason for doing it, well, now I have one, and this is basically an MVP to see how well the system works. I could have made a script that compiles everything and all that, plus copies the thing in the folder it should be in, but for now, I think it's good enough. Once I find out whether it's possible to connect to speech dispatcher like that, I'll revise the program. Next after that, installing a keyhook which would allow this to change voice rates, modules and hell knows what else through simple keyboard commands. Of course, this would be an invisible keyboard thing only, since there's only so much one can do in a hooking dll, but it should work well, once I manage to do it that is. Please do reply here if you managed to get it to work, what you used and so on, I piped stdout directly through espeak to test it. Anyway, is it only me, or arrow keys don't work in stw? I dk exactly why
(DIR) Post #AW1t8prmaM8hHjc9yK by storm@social.wolfe.casa
2023-05-26T00:02:27.984236Z
0 likes, 0 repeats
@bgtlover @MWTab I got it to compile. How did you run STW so you could see its output in the console? I have an idea for the arrow keys if I can’t get them to work, but I’ll have to look up the command.
(DIR) Post #AW2KOYLqAhviMHOQQy by storm@social.wolfe.casa
2023-05-26T05:07:52.443750Z
0 likes, 0 repeats
@bgtlover @MWTab Ok, I got it working with the clipboard. It’s using the clipboard reader, but I haven’t yet pushed anything to audiogame-manager. There are a couple things it’s not reading in the create account dialog. I’m going to test it with a different game and see what happens.