matoom / frostbite

MUD client for dragonrealms.
29 stars 17 forks source link

Add support for Gemstone IV login? #37

Open robojase opened 6 years ago

robojase commented 6 years ago

Would it be possible to add support for logging into Gemstone IV with Frostbite? It'd be great to have an open source frontend that could be used on the other Simutronics game, and I believe the logic is the same for login/logout, just that the server option is being filtered out of the GUI.

matoom commented 6 years ago

I don't know, it's filtered out for a reason. As you might know the SF protocol is entirely proprietary and everything is reverse engineered based on what i personally do and see in dragonrealms, as well as other contributors helping to figure things out. There's no official spec to follow. I doubt the protocol is even fully implemented and my best guess is that it will just crash in GS. On top of it all, most of the UI is very much created with dragonrealms in mind.

I mean, it probably wont work but if you still want to experiment, i can make a special release for GS with the filter removed. If you wish to try it then which operating system would you like the build for?

robojase commented 6 years ago

I'm happy to give it a shot and see how badly it crashes, and how far off things are from supporting Gemstone. I use a Mac to play Gemstone IV, so I'd be able to test on that platform. I know other people have expressed interest, and are more likely to use a Windows build, but I'm currently blazing the trail here, so Mac is just fine.

matoom commented 6 years ago

Ok, i made an osx build with the login filter removed.

https://github.com/matoom/frostbite/releases/download/v1.7.1-beta/frostbite-osx-gs.dmg

But don't get your hopes up. I don't know enough about gemstone to make any final assessments but i'm fairly sure there are several direct links to dragonrealms in there and with my complete lack of understanding of gemstone it probably makes most adjustments virtually impossible.

robojase commented 6 years ago

Basic gameplay works without issue - I can login, interact with the character, and at least do basic gameplay. That's enough to convince me to try and figure out setting up the dev environment and poking around a bit. Are there any instructions on how to set up the build environment?

Thanks so much for entertaining the request!

matoom commented 6 years ago

Poking around sounds like a good idea.

I had to revise a few things but it should be fairly easy to set up.

The development guide can be found here: http://matoom.github.io/frostbite/development.html

If you don't want to fork, you can directly download from here: https://github.com/matoom/frostbite/archive/master.zip

The tools (both qt and qt creator) can be found here: https://www1.qt.io/download-open-source/?hsCtaTracking=f977210e-de67-475f-a32b-65cec207fd03%7Cd62710cd-e1db-46aa-8d4d-2f1c1ffdacea#section-6

Opening project in Qt creator: http://doc.qt.io/qtcreator/creator-project-opening.html

It's a fairly large code base and setting it up is probably the easy part, i think you should first more or less figure out how everything works and then see if things can be adjusted for gemstone.

I don't know much about gemstone but i think couple of design decisions i had to make partly due to not understanding the protocol well enough and some specialized functions i wanted to add kind of locked things up for dragonrealms and might need substantial changes. I think the biggest challenges are statically allocated windows and some of the toolbar or other visual components.

mrhoribu commented 6 years ago

All I want to say is thank you for giving us the chance to try and use this for GS4. I'm switching over from Win -> Linux and the last thing I want to do is run Wine to launch SF/Wizard. Would much rather run a native app. I'm currently projecting myself to run Profanity, but I'm hopeful robojase can look at the code and try to get basic functionality out of it as Frostbite does look pretty awesome. Thanks again.

matoom commented 6 years ago

I wish i could be of more help but i don't have a sufficient understanding of GS4 underlying systems to start reverse-engineering it and i don't have the time to learn/work on both games.

I hope robojase can make something happen for you guys but even with good knowledge of c++/qt it's likely going take a little while to go through everything and get a basic understanding of how things work both on client and server side. You might want to give profanity a try.

pltrant commented 5 years ago

Would you be willing to make a Windows 10 build without the GSIV filter? I'd like to try it.

matoom commented 5 years ago

I made a release with gs4 login enabled but nothing has changed in regards to real gs support.

https://github.com/matoom/frostbite/releases/download/v1.8.1-beta/frostbite-1.8.1b-win-gs4.zip