Like Maijestro if I downgrade to 4.307 from 2012, there is no DSI crash..
Btw I purchased the GOG version, and these exapnsion are working fine.
"To play an expansion, append the following command-line arguments to the executable:
+set com_target_game 1 for the Spearhead expansion (mohaas/mohta, mainta, a.k.a Team Assault) +set com_target_game 2 for the Breakthrough expansion (mohaab/mohtt, maintt, a.k.a Team Tactics)"
Btw I purchased the GOG version, and these exapnsion are working fine.
"To play an expansion, append the following command-line arguments to the executable:
+set com_target_game 1 for the Spearhead expansion (mohaas/mohta, mainta, a.k.a Team Assault) +set com_target_game 2 for the Breakthrough expansion (mohaab/mohtt, maintt, a.k.a Team Tactics)"
hey thanks for the hint that's cool that Spearhead and Breakthrough are also supported. I just didn't know how to start it.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
getaddrinfo()/freeaddrinfo() isn't supported by bsdsocket.library (RoadShow), but the AmigaOS 4.x C library (newlib) includes those functions.
Yes, newlib does provide those functions. But, as @kas1e says, they forward through to bsdsocket.library.
I am not sure who owns the source code for bsdsocket.library. Presumably, Olaf - but it seems not to be in the repository. There is some discussion going on in the development list for now.
1 - I am not sure how SDL_Net works without issue. My port of Woof did not have this problem. I have not looked into what libSDL2-net is doing. 2 - @kas1e libsocket.a seems to be directly committed into the repository without any source code. It also seem to be a mere 8Byte file with nothing being returned for ar t.
Works ok on Linux, Win10, Cygwin, and MorphOS. But on amigaos4 with public bsdsocket.library 4.307 (02/09/2012) it says: "getaddrinfo: no reentrant resolve functions"
If I tried to run it over new bsdsocket.library 4.321 (06/06/2016), then it simple crashes in bsdsocket.library and after ignoring DSI said in a shell: "non-recoverable failure in name resolution"
Funny enough, is that if I compile that example with usage of proto/bsdsocket.library + add ISocket-> at beginning of those calls, then binary the same crashes in bsdsocket.library.
Probably we have there 2 issues:
1). On public bsdsocket.library it just didn't work as expected saying that "getaddrinfoL no reentrant resolve functions"
2). On beta bsdsocket.library it simple crash with "non-recoverable failure in name resolution".
For the same of test i use my own "libgai.a" which contains those getaddrinfo/freeaddrinfo/gai_errror/etc, and for me, it works fine and on public bsdsocket.library and on beta one. There is source code of those functions and a test case using them (i renamed them all with _gai at the end, so as to not clash with ones from newlib/roadshow):
I haven't yet tried with Q3 but it worked with my test program.
By the way, if you use that old SDL2 and do "setenv SDL_MOUSE_RELATIVE_CURSOR_VISIBLE 1", you should be able to see if relative mode works at all. Probably not, because of missing implementation. (And please remember to delete variable later)
How would the bug represent itselves? Crash or could not being able to connect also be an effect for this bug? If it is the second case, could you send me your replacement? Thanks in advance!
@Maijestro: i had emailed you the installer beta Version already ;) could you send me the beta game archive? I have problems accessing the ftp. Note not sure if the installer currently work with all editions of the game and all languages. Might need adaption just a first beta.
How would the bug represent itselves? Crash or could not being able to connect also be an effect for this bug? If it is the second case, could you send me your replacement? Thanks in advance!
In this archive you find some small test case (test.c), and libgai.a code (those replacemnts together with how to compile them). So test.c will works with replacements and will not on bsdsocket (old bsdsocket.library : just didn't work, latest bsdsocket.library DSI).
@kas1e Thank you for that link. See #1 wrt. issues 2/2a and their descriptions.
I have updated the release on the FTP server, r751. The latest change removes debugging symbols, adds code optimization and fixes the issue wrt. getaddrinfo() by using libgai.
I have been able to connect to servers and play in them.
Thanks.
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
@Maijestro: i had emailed you the installer beta Version already ;) could you send me the beta game archive? I have problems accessing the ftp. Note not sure if the installer currently work with all editions of the game and all languages. Might need adaption just a first beta.
You have post....
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
getaddrinfo()/freeaddrinfo() isn't supported by bsdsocket.library (RoadShow), but the AmigaOS 4.x C library (newlib) includes those functions.
Yes, newlib does provide those functions. But, as @kas1e says, they forward through to bsdsocket.library.
That's not how it used to be while I was still maintaining newlib.library, IIRC bsdsocket.library didn't have getaddrinfo(), etc. yet, or maybe it had it already but it didn't work, and it used the newlib code instead (99.9% of newlib.library.kmod are based on the unmodified RedHat newlib source code, only very few changes and additions were required for AmigaOS). I currently can't find the relevant sources in newlib itself, and maybe the following is much newer than what I used (like the rest of AmigaOS the newlib.library network functions are IPv4 only and don't support IPv6), but for example https://chromium.googlesource.com/nati ... s/linux/net/getaddrinfo.c seems to be similar to what I used in newlib.library. But I don't know what changes were made in the last about 10 years in the newlib.libray source code...
Edit: clib4 seems to have working (= don't use bsdsocket.library functions) getaddrinfo() and freeaddrinfo() as well.
@Maijestro This is the same as r751, but should fix the alignment issue that was reintroduced due to optimization. Still working on things elsewhere. Just test out connecting to a public server and report back, thanks.
EDIT: As for *bsdsocket.library* it is just never used. So it no longer matters which version of that you have.
If liberty means anything at all, it means the right to tell people what they do not want to hear. George Orwell.
rjd324 wrote:@Maijestro This is the same as r751, but should fix the alignment issue that was reintroduced due to optimization. Still working on things elsewhere. Just test out connecting to a public server and report back, thanks.
EDIT: As for *bsdsocket.library* it is just never used. So it no longer matters which version of that you have.
It still seems to matter which version of “bsdsocket.library” is used with version 4.321 the game crashes, with version 4.307 all works fine and multiplayer works really well. I have recorded it...
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
rjd324 wrote:@maijestro Can you please let me know where to get the higher version bsdsocket.library?
Unfortunately, I can't tell you the official way to get this library.
My system was pre-configured and installed by Amedia Computer. I did the downgrade by downloading the install iso for my X5000 from Hyperion-Entertainment.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE