Version 0.2.4

From VbGORE Visual Basic Online RPG Engine

Contents


Downloads

All downloads contain the same files, just using different compression methods.

Non-EXE users must download the Libraries Files at the bottom!

*.EXE - Self-installing file (10.23 MB)

*.ZIP - Compressed with WinZip (10.92 MB)

*.RAR - Compressed with WinRAR (8.81 MB)

*.7z - Compressed with 7Zip (8.91 MB)

Libraries Files (Not required for EXE users) (1.05 MB)

Release Notes

Released on January 10, 2007

Version 0.2.4 is mostly the addition of the logging system combined with a bunch of fixes. The logging system can easily be turned off and on, along with you can select which log parts you want to use by commenting out the code in the server's Log sub accordingly. But since calling the Log sub still takes processing, even if it is turned off and isn't doing anything, a Log Remover program was added in that will search for lines ending in //\\LOGLINE//\\ and delete them.

Change Log

Change - User loading values: Users are now loaded with GM status and with all the skill/spells to make testing easier.

Fix - Data_GM_SetGMLevel: Fixed the routine to support getting a parameter of a nonexistant user.

Add - GM messages: Added a fail message for thralling NPCs when the map is full or the NPC does not exist, along with trying to set the GM level of a nonexistant user.

Fix - Load_NPC recordset open leak: Fixed the NPC loading routine from failing to close the database recordset if the NPC does not exist when trying to load it. Caused errors when trying to thrall a nonexistant NPC.

Fix - Data_GM_SetGMLevel: Fixed the routine from using "SELECT * FROM..." to "SELECT gm FROM...", since the gm field is the only one even used.

Fix - LastUser updating: Fixed the LastUser value to be updated when the user establishes connection to the server and claims their UserList() slot, not when they send the Connect packet and successfully connect.

Fix - User_IndexFromSox: Made the routine leave if the checked index was greater then LastUser.

Fix - NPCs attacking unlogged users: NPCs will no longer try to attack a user with the UserLogged flag = 0, which crashed the server because when that flag = 0, the user hasn't loaded their stats yet.

Fix - UserList() array: The UserList() array has been changed to auto-size according to the number of users online. Cleans up RAM usage, allows for "on the fly" max user changing, and makes for less needless looping.

Change - Distance checks: Changed every Server_Distance() check to a Server_RectDistance() check, which is much more appropriate, along with around the lines of 100x or more faster.

Add - Server_RectDistance(): Added a very simple function that will return either 1 (yes) or 0 (no) for if one point is less then X distance from another point. The distance is defined in X and Y co-ordinates, not overall distance. This is much more appropriate for the engine since it is a rectangular-based engine, so you don't have to perform circular-based distance checks.

Add - Ground object timer: Added a ground object removal timer which will remove objects from the ground after a specified amount of time. The check only happens every minute (can be changed if needed, but being a minute off of the max time, at most, isn't bad) so it hardy uses any noticeable amount of the CPU. Only checks on maps with users on it.

Remove - Unused graphics: Removed the unused demo graphics from the graphics folder and the GrhRaw.txt to shrink the download a bit and make it less bulky.

Fix - MinHP > MaxHP with items: Fixed having the MinHP, MinSTA and MinMAN being able to go higher then the appropriate max when equiping and unequiping items.

Fix - Multiple ground items look message: Fixed using singular and plural when looking at stacked items on the ground. Thanks, Toaster!

Fix - Dropping 0 items: Fixed a bug that created "ghost" objects when dropping 0 of an object.

Fix - Raising magic: Fixed the magic stat raising - was a simple typo in the skins file. Thanks, BMCJ!

Add - ToolLogRemover: Added a tool that will take any line with the text //\\LOGLINE//\\ and delete it. This is to be used for lines that reference to logging, along with support logging, such as if you had to add an Else to an If/Then statement just for the logging, you can remove that Else, too.

Add - Log lines: Added a total of over 700 log lines... one by one... by hand...

Fix - User skills updating: Fixed the user skills updating to reference to the correct skills.

Fix - User_TradeWithNPC packet: Fixed the packet ot send a long for the graphic index instead of an integer.

Add - Log auto-cropping: Added two constants that describe how large a log file is before you crop it down, and how much you preserve when cropping it down. The end of the file is cut and pasted to a new file.

Add - Logging: Added a few hundred lines for logging. Most of the logging went to the code tracker (helps you track what code was last executed so you can find what crashes things easier). Good many hours of work right there.

Add - Log sub: Added sub Log to the server, which does just as it says - logs text. Two parameters are required - the text to be logged and the log type (log type defines which file it goes to).

Add - function ByteArrayToStr: The function takes in a byte array and prints out all the information in it in the form of a readable string. Example: 084[T] 086[V] 088[X] 090[Z] 092[\] 094[^] 096[`] 098[b ] 100[d] 102[f]. Makes it easy to see what is in the data buffer.

Personal tools