Hi guys, I think you know there’s a browser port of *Unreal Tournament* made by *Ryan C. Gordon*. It works almost perfectly, but the *networking doesn’t*.
I’m currently actively working on a *classic networked games project* — right now it’s already possible to play *HLDM, Quake 2/3, DOOM, and OpenTTD* in the browser. Naturally, I’d love to have *UT99* in my collection as well. I’ve spoken with Ryan — unfortunately, he can’t provide the source code since he doesn’t have the rights to it. So I have to work with what’s available, namely the *compiled WASM*. I suspect the game crashes when starting a network session because it *tries to open a port*, which obviously isn’t possible in the browser. My plan is to *intercept and replace the necessary WASM calls* with my own networking layer. The worst part is that the only available build is *fully obfuscated* and most likely *compiled without exceptions*, so the crash stacks are extremely uninformative. Still, I plan to gradually analyze the WASM and *reconstruct some of the networking logic*. It seems a good place to start is by analyzing *the Emscripten JS glue functions* — when and how they’re invoked. Now to my main question: 👉 *Is there any way to determine exactly which version of Emscripten this binary was built with?* Ideally down to a commit hash — or at least the major/minor version. That would be a great starting point, since I could then review the corresponding network stack implementation. *P.S.* It would’ve been logical to just ask Ryan which version he used, but unfortunately, for some reason (I’m not sure why), he stopped replying. *P.S.2.* This is a port https://icculus.org/ut99-emscripten/ -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVEzn-n1yBNobvPL9J5L07XW%2BX-qEBG4j%2B7FtFaz0iw5qw%40mail.gmail.com.
