[REL] Bot Framework 2.0
BotFramework
Version 2.1
Language: C++
Changelog
v 2.1
+ Fixed some problems with buffer and std::cout for Windows compile.
+ Added functionality for Gui-based applications.
+ Added project files for C::B and MSVS2008
v 2.0 -
+ Rewrote. Etc etc
So I finally decided to pick this project back up and rebuild it. I've learned a lot of new tricks since my first version, and some of them can be seen in the library. Instead of doing the old C-style char arrays that were used last time, I decided I'd go ahead and use the std::string object to appease those of you that cant stand the arrays. Additionally, I've built the library to be a static library, rather than a collection of source and header files to throw into your project, like last time. The library has been confirmed to compile on Ubuntu Linux Desktop, as well as Mac OS X, however, I haven't taken the time to attempt a compile on Windows, yet, as I'm still barely reinstalling all the programs that I lost when I had to reformat.
The main class, Bot has the ability to be subclassed, if you so wish. You shouldn't really need to, considering the whole thing is open source, allowing you to modify it to fit your specific needs. I also added an easy method to creating your own callbacks, which is shown in the example project, located under
examples/SocketTest/. I implore you to check the
README first, but I know very few people will, so whatever. If you do have any problems, however, I advise you to check the
README first before posting here. It will save me a headache.
I'm afraid I didn't get around to adding a class for handling the lobby server quite yet. You can, however, expect one in the near future when I release 2.1. In addition to a lobby class, I may make some minor changes to the callback system, which will create a more efficient method of storing the callbacks. Something about using vectors just doesn't sit right with me, but we'll see. Besides the callbacks, I will definately be altering the receive loop to support standard gui-based applications. I haven't yet decided quite how I plan to alter this code, but you can expect that bit to be around soon enough. I know that most of the community don't appreciate the beauty that is console applications, and so that will be one of my main priorities for the next release. If you decide to do it yourself, I'd love for you to send me the code so I can go ahead and put it in now. If not, just wait a bit and I'll fix it up nice.
In addition to additions and minor changes to the core library, I will also be creating a few more example applications utilizing the library in the coming versions. They might not make it to version 2.1, but if they don't, they should definately make it into version 2.2.
As with the first BotFramework, you can use this in any project you so wish. The only difference this time around is, I don't require you to give me any credit whatsoever. Sure, it'd be nice, would make me feel good, and would be the honest thing to do, but you don't have to, and if I find out you're using the library without giving me credit, I wont be too upset with you.
If you have any code to contribute, any suggestions to give, or come along any problems that haven't yet been covered, please feel free to post them here. If you wish to contact me in addition to posting her, my contact info is on my website, as well as in the README. Posting here, however, should be good enough.
Anyways, explanations aside, here is the
Download
*NOTE* Before you ask, since you didn't read the readme, you're going to need to define WIN32 if you plan to compile this on Windows.
*NOTE2* Instructions on how to use this in a gui-based application are in the readme file. That'll have to do till I can get around to making an example program.
Last edited by Juntalis; Apr 9, 2009 at 12:38 PM.