World of D++
04.03.04 - Finished the documentation, so check it out. Still need to add a few functions and commands. Also, I got a few script examples up temporarily.
03.14.04 - D++ 4.1 is finally out! Download, download download, download!!! Docs and example scripts/libraries to be uploaded soon.
10.18.03 - Got some of the docs up - commands, functions, and variables.
10.13.03 - More of the site has been completed. Older D++ versions uploaded.
10.12.03 - The downloads are up! You can now download D++ v4.0
D++ v4.1
D++ v4.1 has been a long-antipated release. There are many new bugfixes, functions, commands, features, and as well as loads and loads of other things that I am sure you will enjoy. Want to see D++ 4.1 in action? Check out the IRC server and have a chat with AzBot... a fully functional IRC bot written in 4.1.
Change list:
D++ Engine (the DLL):
- Lots of bugfixes / speed increases. Most notably is the "endif" bug, which will cause semicolon errors to occure after some statements (even when it is correct)
- RPN If statements. If statements process better using the RPN system. That means you can use the && (AND) and || (OR) operators. This is a HUGE advantage.
- New functions: here are a few:
- join(array, [delimeter]) <- Joins an array and returns a string. Optionally add a delimeter between elements.
- find_element(array, search) - Find an element within an array (case insensitive).
- rnd_element(array) - Pick a random element from an array.
- inarray(array, search) - Returns true or false if the element is in the array.
- copyfile(source, destination) - Copies a file.
- makedir(dirname) - Creates a new directory
- rename(oldfile, newfile) - Renames a file
- A few others, I can't remember. ;)
- New functionality
- ~main()
Runs at the end of the program.
- error(type, text, proc, char)
Occurs when normally you would get an error box. Now you can have your own error handling code. Unfortunatly, it DOES exit the current procedure where the error occured. (had to happen)
- Fixed variable ownerships, so recursive functions now work
- Fixed variable declarations so eventually the program doesn't bogg down with 1000 blank variable slots. Thanks to AzBot for helping me fix this one! :)
Simple Development Environment (SDE):
- Better document handling
- Fixed problem with Home key - it now works properly
- Added feature for INCLUDES. You can now include a file by placing #include(file.dpp) at the beginning of the file.
- Added easter egg
D++ v4.0
D++ v4.0 is a MAJOR update. That's why I jumped from 3.2 all the way to 4.0 But this is for a very good reason. D4 is almost a complete rewrite of the D++ engine. You'll notice first when you open the source that there are now 6 modules instead of the usual 1, and a new class module. I have seperated all of the different areas of code into their own modules so it's not only easier to work on myself, but easier for you to pick out the place in code you want to look.
Change list:
D++ Engine (the DLL):
- Complete rewrite. I'll do my best to detail this.
- Designed and implemented new RPN (reverse-polish notation) engine. This is not just a normal mathmatical engine, but it is now the core of D++; it handles all expressions, functions, strings, everything that gets evaluated. This addition is the primary advancement in D4, as it increased speed and stability, and most importantly, *flexibility*, so that even the most complicated expressions are handled perfectly. Works 10x better than previous crap-evaluator.
- Redesigned variable and function system. Instead of having an array for the varnames, another for the values, another for the parent etc, a Type was used. This is not only faster (resizing 3 arrays is certainly slower than only 1!), but easier for use elsewhere. Speed increase: ~20 ms
- Arrays designed and implemented. They work almost as perfectly as those in VB. See documentation for syntax and some very very minor limitations. This would have been impossible using the new variable method. Arrays can be dynamic.
- Resigned function evaluation system (GetFunctions). Functions are evaluated through the RPN, so only one at a time, instead of D++ having to "search" for the functions. Arguments now use the typeVar which is easier for passing arguments, especially arrays.
- Fixed the FindIfEnd function: works faster and better
- Redesigned the For loop system. Again, a type was used. Speed increase: ~20 ms
- Moved the ValidChar checking system in the main loop (ignores invalid characters). Speed increase: ~300 ms.
- Modified the HandleExpression so it can account for arrays.
- Added new functions console functions. (see docs for details)
- Added file I/O support. (see docs for details)
- Fixed Winsock to work a tad faster, but more efficiently.
- Other stuff I can't remember....
Simple Development Environment (SDE):
- Designed SDE, made to work with D4.
Integrated Development Environment (IDE):
- The IDE has a long way to go before it will be released. It's going to be a lot better and won't jump around anymore. No release date planned as of yet.