Saturday, February 16, 2008

Kon - Version 1.0.6 Alpha

With as many updates to Kon in the past few weeks I'm starting to think I should have renamed this blog to "Kon Updates." Seriously. Well, I can't help that I've been motivated to try and keep improving Kon.

Anyway, the alpha version of 1.0.6 source is now available in the /src-alpha/ folder. As a reminder, there will be no executable provided with alpha (or "in-testing" ) source and it may not be completely finished.

This version has had a lot of changes. So much, in fact, that I decided to finally start a change log. At this exact moment in time this is what I've done for version 1.0.6.

- Changed "brain.kon" to "kon.brain" in order to keep consistency later on (with new brain additions).
- AIML dll was updated by myself in order to try and improve memory management. The new dll MUST be used in order for this version of Kon to work correctly (it is included in the zip and in both src folders).
- Improved and fixed the PING/PONG so that it finally sends the correct information back
- Improved most of the IRC code. The ReceiveData() method now uses a combination of IF/ELSE and SWITCH statements to determine what the server messages are showing up (for example "PING" or "PRIVMSG", etc).
- Added multiple methods to handle various messages (QUIT method, PRIVMSG method, etc)
- Added a reconnect() method. ** It is in testing stages right now and may not work completely right.
- Added try/catch to the logger method to try and prevent certain errors
- Changed the way the log file works slightly to try and prevent exceptions and to just improve it
- submitting the user and nick are now in the authorize() method
- Fixed an exception that kept being thrown when quitting
- Removed the "full path" stuff from the main function when generating and reading the config file. This will hopefully stop a bug that keeps appearing.


Also, although unmentioned above, I believe this version of Kon uses less memory overall compared to previous versions. This is one of the reasons I had to go in and edit the AIML dll source. Mind you, toggling the AIML brain will cause a huge increase of RAM allocated for Kon (upwards to 60MB). Unloading it will not see an immediate decrease, but give it 5 minutes or so and you'll notice it will drop significantly. I have seen Kon use less than 1MB of RAM after ideling for awhile. Around 2MB is average for standard use without AIML.

Anyway, hopefully there will be more to come.

No comments: