From VbGORE Visual Basic Online RPG Engine
All downloads contain the same files, just using different compression methods.
*.EXE - Self-installing file (12.5 MB)
*.ZIP - Compressed with WinZip (13.4 MB)
*.RAR - Compressed with WinRAR (10.5 MB)
*.7z - Compressed with 7Zip (11.1 MB)
Released on April 22, 2007
This release is pretty much one of the most important pre-v1.0 releases there is. Not only is there a large dosage of changes, this release, for the most part, shows how vbGORE will look in v1.0. Almost all features (except for the peer-to-peer trading which is not yet finished) are added that will be seen in v1.0. The time between now and the release of v1.0 is dedicated mostly to making the engine prettier and fixing up any bugs that come up. As for changes, I will not go into that since there has been so much change over the past two-or-so weeks of working that I hardly even recognize some of the changes they feel like they were so long ago. From here on, testing is the most crucial part of vbGORE, so it is very helpful if everyone downloads the latest version, test it in all forms and manners and report any bugs found.
Fix - frmARGB and frmOptimize hiding: Fixed frmARGB and frmOptimize to save their last state correctly like the other forms.
Fix - Map editor border bouncing: Fixed the bouncing at the edges of the maps on the map editor. Instead, it just won't let you go any farther than the border. In case you ever go past the border somehow, you can still move back to the center, just not farther past the border.
Change - Map editor error on NPCs on blocked tiles: When saving a map with a NPC on a blocked tile, the engine will give you a warning since its not something you should be doing in the first place anyways.
Fix - Map editor Engine_Char_Erase: Fixed a small bug in the Engine_Char_Erase routine that prevented NPCs placed on the very edge of any side of the map to be erased.
Fix - Map editor windows set focus: Windows in the map editor now have the focus set to them when they are shown as to bring them out better so they don't hide under other windows and appear to not be visible.
Fix - Combo_SoundRotateDamage packet (unequipped attack): Fixed unequipped attacking to show right by fixing the Combo_SoundRotateDamage packet that antecedently had an extra GET BYTE on it.
Fix - Multiple server map changing: Fixed map changing for when switching between multiple servers.
Change - GOREsock to a control: Changed GOREsock back to a control mostly because it is more stable in the form of a control thanks to the subclassing it does. All the encryption of the socket had to be moved to the control and such, but it works well now and is much more user friendly.
Add - Sign multi-language support: Added multiple language support for the signs, with a crappy German translation demo. Any messages not found in the foreign language resorts to English.
Fix - Map resizing: Map resizing will now force the map editor to the correct boundaries after resizing.
Add - Full tile delete on map editor: You can now delete all the graphics on a tile instead of just the selected layer by holding ctrl + shift and left-clicking.
Fix - IP unbanning: Fixed a flaw in the IP unbanning from the client. Thanks, ScepticWebAdmin!
Change - Input handling: Cleaned up a lot of the input handling, namely the chat buffer commands.
Add - Map editor device restoration: Added support for the map editor to restore the D3D device if it loses it instead of crashing.
Fix - Client device restoration: The client device, when restored, will now properly restore particle graphics if they were lost.
Fix - Map editor rendering: Fixed up the map editor's rendering so it should render correctly.
Fix - ByteArrayToStr in error log: Fixed the ByteArrayToStr routine to stop spamming the critical errors log.
Remove - UserList().Gold: Removed an old value, UserList().Gold, that wasn't supposed to be there but was still referenced a few times.
Fix - Bank gold depositing: Fixed the bank gold deposit / withdraw to work correctly.
Fix - Speed hack prevention: Fixed the speed hack routine to be much more accurate thanks to a suggestion by Chase. The speed hack calculation is done over a period of 5 tiles instead of one which allows for much accuracy. If players speed hack, your steps will be blocked off by the 5th step until a valid amount of time passes. By default, the most you can benefit from is 25 milliseconds per tile, which is added as a compensation for lag.
Fix - Running: Fixed a big flaw in the client-side aspect of the running which was that the running cost stamina and the server confirmed the user had enough stamina to run. The client will now make sure it has enough stamina to run before trying to run. Along with this, the client will only render the blurring if actually running, rather than if just shift is held.
Fix - Map editor sfx display: Fixed the map editor to correctly display the map editor tile attributes when setting it.
Fix - Rendering problems: Fixed (hopefully) the rendering problems for good this time. Only the results from other people running the program will tell if it worked or not.
Add - NPC chat window response by number: Added the ability to respond to NPC chat questions by pressing the corresponding number to go along-side of just clicking the response.
Fix - Engine_WordWrap on multiple lines: Fixed the Engine_WordWrap function to preserve the vbNewLine variables found by adding them back into the original string where they should be. They were being removed since Split() removes the delimiter, and splits at where it was, instead of splitting before or after the delimiter.
Add - NPC chat line breaks: You can now force line breaks in NPC chat by typing "/r" (minus the quotes). This works for both the ASK and SAY commands.
Change - Surface / sound unloading: Changed the surface and sound unloading timers to store the time they will unload instead of how long until they unload, which increases time accuracy but more importantly prevents having to reduce the value constantly. Also changed the check to unload the surfaces / buffers to every 5 seconds instead of every frame.
Fix - 16-bit and 32-bit formats: When in 16-bit format, the textures will now be forced to 16-bit in the format of A4R4G4B4, while in 32-bit, the UNKNOWN value is used to get the actual format of the texture. This is a big improvement for RAM usage. The change is noticeable, but very hard to notice and is only noticeable on highly detailed images. Of course, if this is a problem, just run in 32-bit.
Fix - Object class requirements: Fixed object class requirements to work correctly.
Add - Combo packets: Combo packets are packets that combine many functions together without as much overhead as using the packets individually. They are treated just as any other packet, but are used for special occasions. This was added since there was too much referencing to the same CharIndex over and over in the attacking packets, so attack packets were changed to bunch up in one big packet.
Change - Damage value displays: Damage values will show the exact value, unless its over 32,000 damage, then it will just show the number 32,000, no matter the value. If this is a problem in your game, you can handle it differently, but most people don't need more than 32,000 damage so sending a long is useless.
Change - Aggressive face handling: Moved aggressive face handling to purely client-side since it is worthless to keep on the server unless keeping the aggressive faces sync'd is really that important to you. The client will set the face as aggressive when a character is damaged, and set it off after a predefined amount of time.
Fix - Character-bound effects: Fixed the client to handle invalid character indexes. This arose when killing a character that an effect is following. Now, the effect will just stop updating on the position.
Add - Quest canceling: You can now cancel your active quests.
Fix - Map editor texture search results size: Fixed the map editor's texture search results form to stay the same size / position it was before it was closed.
Change - Map editor texture description search: Changed the map editor's texture description search to separate words delimited by commas and treat them as individual words. This way, if you have a word list "cat,dog,meow,bark" you can bring it up with "cat,bark" which didn't work with the old search.
Fix - Map editor status bar font color: Fixed the status bar font color on the map editor - didn't realize that it completely didn't show on a normal XP theme.
Add - Chat bubbles as optional: Added a setting in Game.ini to turn off chat bubbles since they can be a big FPS drainer and often aren't needed since most important NPC-oreinted chat (ie quest chat) should be drawn in the chat buffer, too.
Fix - User update routine disconnection crash: Fixed a big flaw in the user array clean-up that could lead to serious problems. The userlist array was being cleaned up as User_Close was called, but User_Close could be called from the user update loop when their packet buffer was sent. This will now be avoided by a global flag being set if the users array needs to be cleaned up, then the array is cleaned up at the end of the loop if needed.
Fix - Crash on invalid user connection: Fixed a crash that happened by trying to update the user stats of a user that was disconnected during the login phase. This crash happened because their skills class was never created.
Fix - Sending empty packet crash: Passing an empty byte array to GOREsock_SendData will no longer cause the server to crash.
Fix - Quest information: Fixed the quest information on the client.
Change - Window ordering: Windows will now draw in the same order as their priority (or for those technical people, draw opposite of their priority as the last drawn is the highest layer shown), so what it looks like you click is what you get. This also allowed me to get rid of those huge nested IFs.
Fix - Slaves giving gold/exp: A character on the last user index will not receive EXP / gold from slaves like everyone else. Thanks, Eternaldr!
Fix - Bank depot: Fixed the bank deposit. If you have a stackable object in slot 1, then put the same item in again, it wouldn't stack in slot 1. This isn't the case anymore. Thanks, Xaron!
Fix - NPC chat conditions: Made conditions able to be changed after being defined without using the !CLEAR command.
Fix - NPC chat space requirements: Made the chat string entered into the NPC chat add a space on the left and right of the string so for example, "_test_" can be written just "test", and doesn't have to contain anything to the left of right of it, since it can still easily be considered an individual word.
Fix - Server crash on missing map: The server will no longer crash when a map is missing, though it is a bad idea to organize your maps with missing maps.
Fix - Set tile preview: Fixed the map editor's set tile preview.
Change - Map editor's UpdateEffectList: Changed the map editor's UpdateEffectList to only show the effects up to the highest index used and automatically update every second, along with display the weather's effect as being the weather's effect just so people don't get confused.
Fix - Map editor's effect editor: Changed and fixed up the effect editor so it is a lot easier to work with.
Fix - Particle effect index variable: Changed particle effect index variables to integers instead of bytes to fix up a clever little bug found by Toaster. Thanks, Toaster!