Thank you, trevius. Your posts are always insightful. Not to dwell on anything, but the "lack of acknowledgement" does not mean the devs pick up and run with anything - not at all. I knew they were busy with other things, or more accurately back a year ago, not interested in anything EQEmu really. So I took it upon myself to try and figure things out. When WildcardX posted that it's almost a done deal, there was not a word about the months of my life I spent sorting through that shit. THAT is what pissed me off. Goes for about a dozen other things I have contributed to the emulator over the years that never got even an honorable mention. If it weren't for players/admins expressing their gratitude, it would be for naught. =)
Now, to address roadblocks - I think I more than clearly addressed all issues with the current code by Cofruben in the post I linked. From the time that code was first implemented (and I believe working then), the player structs changed over time and eventually one value "adventure_id" went missing. that stops the show immediately... as you cannot even start having a conversation if you do not have reference to this ID. I've tried hacking it to work, but never figured it out (I am DB, not C++). KLS gave me a good direction to try by using the extended_profile to store the value, which I also could not get to work due to a lack of experience. I'd come here asking questions, and aside from KLS, got nothing.
The next issue was of course the lack of actual adventure information in the tables, which I went out and built myself. But since someone else has this all under control, I figured my info was not necessary. So if you want to see the blockage, start in client.cpp, "Client::SendAdventureRequest()", and follow the GetAdventureID() to nowhere. That's the roadblock.
Had I known as much about C++ and these emulators then as I do now, I probably could have rewritten the entire thing and tossed the old code, rather than try to fix what was already there.
|