BLIde stable release 0.9.58-A available

BlitzMax Forums/BlitzMax Programming/BLIde stable release 0.9.58-A available

ziggy(Posted 2008) [#1]
this is the changelog for this new BLIde version:
* Cleaner code
I've cleaned a lot the internal BLIde code. Five years of development had converted some areas of the BLIde code a little nightmare to mantain, so I've decided to clean it up as much as possible. Surprisingly, while surfing trough all the code, I've managed to optimize some areas, so BLIde is now a lot faster in some areas.
* Module cache configuration
I've also added a tool to 'exclude' some modules from the internal BLIde database. The object of this new tool is not to make BLIde faster, as BLIde is not suffering from slowdowns caused for the complexity of the framework. The intention of this is to let users disable intellisense for the modules they don't usually import. I've got three 3D modules installed and some of them share some base functionality and I was having intellisense from the 3 engines at the same time! A little bit confusing!
* BLIde SDK generates native .net DLL files
The SDK can now generate native compiled .net DLLs to add functionality to BLIde. I'm more than happy with this part and that has improved BLIde loading time, and making the plugins source code more secure.
* New SDK components and functionality
I've added a new component to the BLIde SDK that lets the SDK coder create tabbed documents in the BLĪde layout, as any other existing BLIde tool, and this is done in a complete transparent way for the Plugin users. I've also added a way to provide some basic intellisense to non bmx or sdk files, using the SDK. the final goal is that BLIde will be able to be configured to act as an IDE for virtually any language. Next step will be to add function parameter hint through the SDK and folding, and then... the parsers... a lot of pending work to do!!!...
* Better intellisense
Also, I've made some improvements to the intellisense system. It is now a little bit faster and it is even more precise.
* Improved localisation
Additionaly, I've changed the Ctrl+Enter functionality to Alt+Enter, as the Ctrl+Space is being used by chinese users to toggle the multilingual imput text mode (wich BLIde now supports nativelly.
* New customer tool
I've also added a new little information tool in the Help panel that informs about the version number of any BLIde component installed. This tool is there just as a customer's support helper, so I can know what assemblys are being used with BLIde when a BLIde customer reports a bug.
* Several otimizations on the intellisense speed.
The internal intellisense algorithm integrates a small cache system that improves performance drastically. This optimizations are specially notorious on single core processors
* New help options
Added the view BLIde help and view BlitzMax help on the Help menu
* Start-up time improved on dual core systems
Improved a little bit the BLIde start-up time on dual core systems
* Tab control events on the SDK
Some minor improvements on the TabControl component of the BLIde SDK
* Improved the integrated publisher
Tweaked the integrated plublisher to be compatible with the release of BlitzMax 1.30 that has special attention to internal manifest files integration (that one was not very easy to do...)
* Improved the advanced module builder
The advanced module builder no longer depends on module cache, it takes the mods list directly from disk, so non active modules can also be build
* Internal API for the SDK is now 80% to 90% faster in some commands
Some internal improvements to the BLIde SDK to make existing API faster. A lot to do still in this area...
* Better organization of displayed information
Organized the quick-info tooltips on code to make them look the same in every possible scenario .
* Better internal GDI+ handling
I've improved the way BLIde internally handles GDI resources to follow strict microsoft GDI+ rules.
* Fixed an issue with incbined media in the 'My' object of solutions
I've fixed an issue with incbined media on solutions when a complex folder structure was pressent.
* Code auto-format
Fixed also some issues on the code text auo-format algorithm. Now formated code works better and looks much more like Visual Studio
* Code Analizer
Fixed some issues on the inline bug analizer, interpreting complex IF single line sentences when using a NOT operator as the first operator of a sub-expression.
* Better module compatibility
Fixed a compatibility issue with some third party modules (wxwidgets). BLIde is a little bit less strict with folder structures on third party modules mixing C, C++ and Max code.
* Fixed important stability issue
Several stability fixes that could be causing a crash of BLIde when BLIde was compiling a BlitzMax application with an accelerated thread on several cores systems. windows was unable to redirect the standard error pipe to BLIde due to the pipes getting flushed too early.
* Fixed issue on solutions
Fixed an issue when loading the solution explorer file tree, and the files attributes at disk were not standard, the solution could fail to load properly on some very rare situations.
* Several memory leaks fixed
Fixed several small memory issues here and there due general clean-up.
* Several stability issues fixed
Some stability issues fixed, some of them related to Vista wonderbug virtualization system.
* BlitzMax debuger protocol fix
Fixed a comunicactions protocol between BLIde and the BlitzMax debugger. In some circumstances, the Max debuger was not returning any data after a object dumb request, and that was causing BLIde enter a 'wait forever' status in the debuging thread. That was not causing any problem to in BLIde due the BLIde internal structure, but it was leaving the debuger in a unconsistent status untill the debug session was restarted.
* Improved solutions and projects portability
BLIde now stores relative paths to included BMX files on solutions when they're stored in the same folder of the BLIde or BLS file, or in a subfolder.
* Improved solutions and projects loading time
Improved solutions and projects loading time due some internal optimizations on the intellisense system and layout handling.
* Fix ModuleInfo on managed modules
Latest BlitzMax updates are much more strict on the modules documentation tags. BLIde has changed its internal solution structure to let the module coders add the needed moduleinfo in a proper way. (this information has to be entered on the program comments area of the module properties).
* On-the-fly module cache updating.
BLIde now can update its internal modules cache without having to restart itself. This can be done on-the-fly.
* Some improvements on the Application field of the My object in a managed program.
Now the My object of a managed program in a solution also contains information about the running machine, such as architecture (x86 or ppc), Platform (MacOs, Windows or Linux), and if the debug mode was set on when the binary was compiled or not. All this information is available at runtime in a transparent way using the integrated My object.


NOTE TO BETA USERS:A bug on previous BETA versions could turn the layout engine of BLIde in a unstable way. It's highly recommended to restore a default layout (window / layouts) if BLIde reports problems opening and closing windows after this update when working with a project or solution created on the previous BETA version.

This update is available to blide plus users here: http://www.blide.org/plus

I will release the free edition update in some weeks.


AlexO(Posted 2008) [#2]
Awesome! looking forward to giving it a go. Thanks for the great product and keep up the good work!


ziggy(Posted 2008) [#3]
@Alexo: Probably if you're compiled your BLIde plugins to a .net dll, you may need to recompile them to work with this version due an internal change in the BLIde SDK. If your plugins where stored in non-compiled mode, the code should be corss-compatible. This is a side effect of the SDK being a lot faster now. Hope you'll find this new release interesting. The folders on solutions are still being expanded on load time by default, I'll add this customization very soon (but it is not yet there).

Additionally, I'm very interested on knowing if you're still working on your comunity browser plugin. And if you want me to provide help or whatever, let me know it, as I would be very pleased to help if possible.


plash(Posted 2008) [#4]
Another bug (P.S. I'm still on 9.52A).

1. Incorrect function/method/variable information shown when using open periods in a type instance:


2. BLIde's parser doesn't like open ended periods:
'No matter how you try to modify this line it will always revert to 'If.CallFun...'
If.CallFunction() = True Then Print "!!!"



ziggy(Posted 2008) [#5]
@Plash: The number 1 has been already fixed and will be available on the next BLIde Free Edition update. It is already available in the current Plus version. The number 2, I didn't know blitzmax allow opened periods. What does this exactly do? Is it like avoiding the self keyword?


MGE(Posted 2008) [#6]
If 100% means you can use this with Blitzmax reliably and replace the included IDE, what percentage is blide at now? Everytime I think this is the release to switch, I see more bugs being documented. And when you're working with 1000's upon 1000's of lines of code, you need something reliable. Thanks.


MGE(Posted 2008) [#7]
"You're not allowed to distribute commercially any game, application or module coded in BLIde free edition. BLIde free edition is designed for freeware, opensource and personal projects. If you're making money using BLIde, you have to purchase at last one BLIde Plus license per developer involved in the production of your game, application or module. Not doing this is a direct violation of the license terms. "

Are you kidding me? Whatever my game does when it executes certainly has nothing to do with the text editor it was written in.


ziggy(Posted 2008) [#8]
If you're making money using BLIde, you have to purchase at last one plus license. It costs a very small amount of money, usually selling 1 copy of a commercial project covers the whole cost of one single BLide Plus license (if not more)... I would suggest you to download the free version and give a deep try, then decide by yourself. BLIde development is taking a lot of time and that's the only way I can continue supporting it.
To the BLIde stability issues. Obviously as every software on active development, there are always things to improve but I think BLIde has reachead a more than ready and production state. There a are lots of satified customers and projects being actively developed using BLIde.
Additionally the BLIde Plus license introduces some interesting additional features to BLIde and, gives you access to all future BLIde updates, and to the currently existing BLIde Add ons, as the pro publisher and the BLIde Font Machine Editor.
Whatever my game does when it executes certainly has nothing to do with the text editor it was written in.
Yes, the question is not what's your game or app doing at runtime. It is a licensing issue. BLIde Free Edition license is limited to the production of free software and prototiping. Basically, if you're making money using BLIde, you have to purchase a plus license, or you'll be violating the license terms.


Macguffin(Posted 2008) [#9]
If 100% means you can use this with Blitzmax reliably and replace the included IDE, what percentage is blide at now? Everytime I think this is the release to switch, I see more bugs being documented. And when you're working with 1000's upon 1000's of lines of code, you need something reliable. Thanks.


I've been using BLIde full time since around March, and the only bugs I've run into are very minor. Some of the best money I've ever spent.


MGE(Posted 2008) [#10]
Actually I think a line like this would make more sense...

"If you are using Blide for shareware or commercial development you are required to purchase a license."

That makes more sense than "If you're making money with Blide" because quite frankly that means you're turning a profit, and most shareware developers do not turn a profit. ;) lol..

In any event, I am to the point where the BMax IDE is driving me bonkers due to how slow it gets when mutliple documents are open. I will give Blide a shot and if it improves my work flow I will gladly purchase a license. ;)


plash(Posted 2008) [#11]
I didn't know blitzmax allow opened periods. What does this exactly do? Is it like avoiding the self keyword?
Basically. see the methods Draw and ChangeValues in my 1st codeblock.


ziggy(Posted 2008) [#12]
@Plash: I use brl.max2d.setalpha(value) in this situations (I'm very used to namespaces and complex class-subclass declarations on C#). I'll take a look to add this opened period syntax to the current intellisense system for the next release.
Thanks for the info!


plash(Posted 2008) [#13]
I use brl.max2d.setalpha(value)
Oh really? I didn't know that worked in BlitzMax..


ziggy(Posted 2008) [#14]
Yes, that also allows you to overload base functions:
function flip()
    'count fps...
    brl.max2d.flip()
end function

(just as a silly example).


Tachyon(Posted 2008) [#15]
ziggy: I purchased a BLIde Plus license today (sorry I've been using BLIde free for so long!).

How do I get access to the latest stable version?


ziggy(Posted 2008) [#16]
I've sent you your login to the customers section of the BLIde website. You can download latest plus versions from there. Oh, and Welcome to the Plus family!!


Tachyon(Posted 2008) [#17]
Got it. Thanks man, you really have helped make BlitzMax more enjoyable to use.


tonyg(Posted 2008) [#18]
My BLIde Help / About states 00.09.52 A but Help / Check for BLIde Updates says
There are not BLIde updates available



ziggy(Posted 2008) [#19]
@tonyg: That's becouse this update is only for BLIde Plus users. If you have a BLIde Plus license, download latest update from the customers section of the BLIde website. The free edition will be updated in some days.


tonyg(Posted 2008) [#20]
Can't my BLIde Plus activation code and library allow me to use the Check for updates facility?


ziggy(Posted 2008) [#21]
@Tonyg: Yes it can! The problem here is that the check-for-updates service has been updated in the server side. From now on, BLIde Plus and BLIde Free doesn't have the same number of updates (BLide Plus is updated as soon as a fix or new feature is requested, while BLIde Free updates are much more sporadic). So your current BLIde version may be 'pointing' to the old version check service. This old version check service will be also updated this week to prevent people sticking in a old version of the program.

There were lots of reasons for this update, to name some:
-BLIde free edition and BLIde plus have different update times
-Beta versions now can provide update notifications to beta testers, while this notifications are ignored by regular users

Older system did only report a 'current version' number to be checked.

I'm sorry for any incovenience this change could have caused.


ziggy(Posted 2008) [#22]
Updated to version 0.9.58-b for BLIde Plus Users and for BLIde Free Edition Users.

BLIde Free Edition users: http://www.blide.org/index.php?section=getfree
BLIde Plus Users: http://www.blide.org/plus (email and account password to acces this restricted website area).


MGE(Posted 2008) [#23]
Upgrading always scares me.
What is the procedure for upgrading Blide Plus?
Do I uninstall my old version or install over existing?
Will I have to go through the initial config process all over again?
Thanks.


ziggy(Posted 2008) [#24]
@MGE: You may get the update from the plus section of the website, and when the install process starts, the process will tell that before proceding, it will uninstall previous version. If you leave everything to the installer, it should update BLIde properly, leaving all your preferences intact, so after the update, you just start BLIde again, and it will be running exactly as it was, but with the fixes and the additional options.

As a side note, If you ever need to reset your BLIde set up (delete preferences and the like) there's a tool called BLIde Recovery (in the blide folder at the start menu) that leaves BLIde as it was the first time it was used.


MGE(Posted 2008) [#25]
suweet! Blide is really turning out to be a pro product!


Tachyon(Posted 2008) [#26]
ziggy: I love the ability to add the icon to the executable via the Publisher, however I still need the old hacks to get the small window corner icons set. Can you maybe add the ability for the Publisher to also add the corner icon to the executable?


ziggy(Posted 2008) [#27]
@Tachyon: What is the corner icon?
Anyway, sometime ago i made this ultra small module:

http://www.blide.org/plus/publisher_module.rar
(you'll need to user your BLIde Plus login to be able to download it)

This module is called blide.publisher. If you import it in your application and call: publisher.seticon after any window is created, this module will set the application icon to the window using windows API, so windows takes this icon to represent the window everywhere. This is not more elegant due to the way blitzmax creates windows and gadgets (not assigning them the app window if any). So this has to be done manually, but hey, it works very well:
Example:
Graphics(800,600)
publisher.SetIcon()


another:
global MyWindow:TGadget = CreateWindow("Welcome",100,100,300,200)
publisher.SetIcon


If the application has no icon associated, this command (publisher.seticon) don't do anything.

Let me know if you can fix the issues this way. I will make this module official in a next update.


Armitage 1982(Posted 2008) [#28]
I love the new foldable Help panel !
This feature was cruelly missing.
Awesome work Ziggy !
The new TSingleton Mutley template is also handy :)

Thanks


MGE(Posted 2008) [#29]
"publisher.SetIcon()"

Please make sure and put this message somewhere in the publisher system for BlidePlus. I know I'll forget about this in a few weeks when I start making publisher builds. Thanks!


Damien Sturdy(Posted 2008) [#30]
Ziggy- Good job as always!

I am still missing a "Find and replace in files" feature though! ;-) ;-)


ziggy(Posted 2008) [#31]
@Gygnus: Yes, I know it. Still on the todo list...


MGE(Posted 2008) [#32]
"I am still missing a "Find and replace in files" feature though! ;-) ;-) "

yikes... I'm sure I'll need that as well. At least a find and replace in any open bmx files. :)


Muttley(Posted 2008) [#33]
@MGE: Don't panic, it's there. It just doesn't have it's own menu entry in the "Find and Replace" menu. Just select Find and there's an option within there to replace.


MGE(Posted 2008) [#34]
daaamm... Blide has everything! Thanks Mutt!


AlexO(Posted 2008) [#35]
great update as always Ziggy!
edit: glad to see you included the 'fully collapse folder structure' on opening the solution! Ahh..so much easier :).


Joss Adley(Posted 2008) [#36]
Anybody else had problems using 3bd sdk with BLIDE? It doesn't seem to want to run any bb commands that aren't in the main program file ( ie any include files)
..Not encountered this with any other bmax IDEs.


ziggy(Posted 2008) [#37]
@Joss Adley: Can you explain with more details what are you exactly trying to do? I don't really understand what you mean.
BLIde doesn't run any command, commands are run from the executable you create with the BlitzMax compiler from within BLIde. If you mean you're not getting intelliprompt from commands, be sure to create a BLIde solution or unamaged project if your application deals with several files. Converting a non-blide project to a solution can be a little bit long depending on how you've organized files and the like, so if you're starting to use BLIde with an already existing project, I would suggest you to create a BLIde unamanged project for your game or application. But before you start, read carefully the BLIde documentation and make some little test before. That will make your migration to BLIde a lot easier. And it worths it.


Gabriel(Posted 2008) [#38]
Is there any problem using this with 1.28? I haven't upgraded to 1.30 yet and don't plan to.


Joss Adley(Posted 2008) [#39]
Sorry, I'll try and explain myself better, with a small example.

First i'll create an unmanaged project consisting of a single bmx file with the following code:

Import blitz3d.blitz3dsdk
bbBeginBlitz3D
bbGraphics3D 640, 480, 0
bbUpdateWorld
bbRenderWorld
bbFlip
End

works fine.

Now if I add a second file to the project (I'll call it extras) and make the following changes to the main file:

Import blitz3d.blitz3dsdk
Include "extras.bmx"
bbBeginBlitz3D
bbGraphics3D 640, 480, 0
renderworld()
bbFlip
End

with the following function in extras.bmx
Function renderworld()
bbUpdateWorld
bbRenderWorld
End Function

it won't compile in BLIde, with the following error:
identifier 'bbUpdateWorld' not found.

I'm running in winxp64bit, dunno if this would affect anything.

Thx for your time,
Joss


ziggy(Posted 2008) [#40]
this message is reported by the blitzMax compiler, so no ideas what can be happening here, apart from extras.bmx not beins saved in the same folder as the main file. Check this before anything else.


ziggy(Posted 2008) [#41]
Could you send me a small project that recreates the issue?


Joss Adley(Posted 2008) [#42]
aah, found the problem :)

I had somehow saved the project file with the include file listed twice, once with the correct dependancy and then again under "additional media files"

Anyway, works fine now, at last I can get to work with a decent IDE!

Thx again Ziggy for the prompt help :)


ziggy(Posted 2008) [#43]
@AlexO: Yes, I've added the collapsed load of solutions, to make it look more organized (like in previous versions). Thanks for the suggestion, it looks much better now.

Thanks to everybody for the possitive feedback!


ziggy(Posted 2008) [#44]
Hi, that's just to tell any BLIde user that I will be out, on vacation, untill the 23th of August. Any questions regarding BLIde, or support requests will be attened as soon as I'm back.
Have a nice summer!


TwoCorin517(Posted 2008) [#45]
MGE: I agree this really is a pro product. Once I get around to buying it I'll get Plus. Its definetly my main IDE...


TaskMaster(Posted 2008) [#46]
With the free version of BLide, how do I import one of my .bmx files. I do not want to include it, I want to import it. When I go to the Code Imports tab, there is no way for me to select a file to import.

When I add a file to the Solution, it is getting Included, but I would rather the files be imported then they are only compiled once.


ziggy(Posted 2008) [#47]
You have to create a compilation cluster. See this on the documentation about Solutions. This way, you'll make your "import" managed. but if the import has more imports, you'll have to create more of them. I'm finishing a new feature to help this for this in the next BLIde update. This update will also come to the Free Edition users, and I hope to release it along this week, with built-in DLL compilation and some more features.


MGE(Posted 2008) [#48]
@Ziggy - I'm using .09.61a and now the intellisense that pops up for some of my types shows extra methods that are not in the type. Never happened with any previous versions. Anything I can do? Thanks...


TaskMaster(Posted 2008) [#49]
I haven't coded in BlitzMax in a while and just came back to it, so I haven't used BLIde in a while. I am not sure I like this change in BLIde controlling my bmx files like this. In fact, I installed Project Studio 2007. I was a firm believer in BLIde previously, but the idea of BLIde controlling my includes and imports is unsettling.


MGE(Posted 2008) [#50]
"but the idea of BLIde controlling my includes and imports is unsettling."

With a source project of 1000's of lines of code, dozens of includes, mods, etc, etc. I also was concerned. But Blide has really made development more productive for me. It's a very, very good product. The latest intellisense fiasco on my computer is driving me nuts, but it doesn't stop me from coding. ;)


TaskMaster(Posted 2008) [#51]
Sure, but with all your files globally included and imported rather than just where they need to be, seems kind of weird to me. I really do not know how it affects the final product, but I imagine it affects it adversely, creating a larger exe among other issues.

I guess I could always use BLIde but not use the Solution portion of it, but that is the real draw I had to it originally. Project Studio does not have that feature either, so no real gain there for using it. Hmmm...

I wonder if I have three files opened and am editing them and I compile one of them, I wonder if it will automatically save the other two before compiling if they are included/imported by the one I am explicitly compiling. Project Studio does this.

I will have to try this tomorrow. My notebook here does not have BLIde on it.


ziggy(Posted 2008) [#52]
@TaskMaster:
with all your files globally included and imported rather than just where they need to be, seems kind of weird to me
BLIde has 2 kind of project management, Solutions (where BLIde handles files), and Unmanaged Projects (where the coder manages files). You're not forced to use Solutions!!! Anyway, with solutions you can decide exactly how you want to organize the compilation of your app, you can split it to as many includes as you wish, giving each include a separate compilation 'unit'. So thinking on solutions like a 'include everything' scenario is just a reflection of a bad design of the solution. Read 'How to create compilation clusters' on the documentation about solutions and you'll see how you can organize them, even hieratically so you can define, as instace, 10 separate compilation clusters for your game, each one of them can the also import several compilation clusters, so you can split compilation as much as you wish!
I think I need to change the documentation and make this a bit more intuitive... I'll see how to... SUGGESTIONS ARE WELCOME!!

@MGE: If you're talking about methods like SendMessage, Compare, etc, they're part of every type, as they're declared in the base Object class. BLIde was not showing them in previous versions, wich was kind of wrong, as they're in fact valid. Test this code:
Type MyClass
End Type
Local M:MyClass = New MyClass
Print M.Compare("Hello")
Print M.ToString()

You'll see how this code works, using Compare and ToString methods, that are not declared explicitly on the class. How is this possible? becouse they're built-in methods for every type crated on BlitzMax. You can override this methods to perform speciffic tasks, such as order arrays or lists containing instances of the methods, provide a way to convert the method data to a string, etc. This functionality wich si available on BlitzMax, was not properly recognized by BLIde on previous versions, so I have had to add it!


plash(Posted 2008) [#53]
If BLIde can't already, it should be able to write Get and Set methods for a field, with the value to be set optional.

eg (optional of course)
Type TMyType
	
	Field MyValue:Int
	
		'BLIde writes this method (with the _MyValue configurable, to options like modification of the actual name or a predefined name)
		Method SetMyValue(_MyValue:Int)
			
			MyValue = _MyValue
			
		End Method
		
		'And this one
		Method GetMyValue:Int()
			
			Return MyValue
			
		End Method
		
End Type



ziggy(Posted 2008) [#54]
@Plash: I'll add this for the next release. I'm adding some shortcuts to specific code tasks and this will be one more.


MGE(Posted 2008) [#55]
"@MGE: If you're talking about methods like SendMessage, Compare, etc, they're part of every type, as they're declared in the base Object class. BLIde was not showing them in previous versions, wich was kind of wrong, as they're in fact valid."

Ok.. I'm stoopid. All is working well. Thanks. Now I'm going to hide now due to my noobish behavior.


ziggy(Posted 2008) [#56]
@MGE: No harm intended! Sorry if it sounded rude or something!


ziggy(Posted 2008) [#57]
Still waiting for suggestions on making the compilation clusters easier for new users... By now, I've changed the nomenclature 'compilation cluster' to 'import node'. I think this is easier to understand.

Also, I've added a context menu that automates the creation and linking of new import nodes to a given program manager, I think it would be enough?

Ideas?


MGE(Posted 2008) [#58]
"Still waiting for suggestions on making the compilation clusters easier for new users.."

How does this affect the execution of my program if I don't even concern myself with any of this?


ziggy(Posted 2008) [#59]
It does not affect in the program execution, it can only decrease a bit compilation time. So don't worry about this :D


ziggy(Posted 2008) [#60]
New BLIde Version available to everyone.
Version number 00.09.62-A
This is the changelog (from version 0.9.58)

Finally implanted the threaded build option to BlitzMax modules builder.
Fixed several stability issues on the Solution Explorer Tree (thanks to Gfk)
Fixed an issue with the intelligent list (Ctrl+Space) (thanks to Gfk)
BLIde Plus now provides hilighting also for closed source modules, when complete modules highlighting option is enabled
Some changes made to make BLIde work better when used with Leadwerks Engine
Corrected lots of typos
Added DLL compilation documentation
New: enabled the inclusion of unmanaged imports (for third party frameworks)
New: Compilation clusters are now called Import Nodes
New: shortcut on the Solution Explorer to make the creation of import nodes a lot easier
New: Shortcut on the solution explorer to load previously created import nodes a lot easier
Rewrite of some parts of the internal BLIde parser engine. Intelliprompt is now faster than ever before
Included a complex ANSI-C parser, with folding, intelliprompt, and complex syntax analyzer
Fixed some visualization glitches on the Editor window
Implemented the first approach to the common / all selector on the autolist pop-up (ala Visual Basic.net).
Organized menus. All the Modules-related stuff is now placed in a single place (much more clear)
Fixed several small memory leaks
Fixed an issue with the internal layout serialization that could cause BLIde remain on a unstable way
Improved BLIde start-up time when updating the internal modules database
Modules cache is now called Modules database (I think this is much more clear)
Improved intelliprompt to handle properly the internal overridable methods of the base object class
Fixed a serialization issue on the modules database that was preventing the documented field of a class to display properly the documentation associated
Improved parsing speed and highlighting time for big files
Fixed a small GDI+ issue that could leave BLIde in a unstable way if it was being run for several days
New MenuBarItem called Modules in the BLIde SDK api.
Synchronize modules is now considered 'deprecated'. It's still available for compatibility reasons, but will be removed soon, as it is no longer maintained or supported by the BlitzMax team.

Some features listed here are exclusivelly available to the Plus version.

To get this version:
BLIde Free Edition Users: http://www.blide.org/index.php?section=getfree
BLIde Plus Users: http://www.blide.org/plus

This BLIde Free Edition update has been added to mantain compatibility with the Plus version, due internal BLIde changes.


plash(Posted 2008) [#61]
When I am writing the name of a method/field/function inside of a type or elsewhere (when declaring, not calling) BLIde should not capitalize as it sees fit. I should be able to write 'Function SetID(_id:Int)', but instead BLIde rewrites it as 'Function setID(_id:Int)' (BLIde is just formatting it because it knows that identifier exists somewhere in a module.)


ziggy(Posted 2008) [#62]
Plash, I'm afraid I don't thing this can be fixed, as this would mean that BLIde performs a syntax parse before the lexical parse wich would mean a BIG performance hit (parsing would take, in the best scenarios, the triple of time).
Disable the 'complete modules hilighting' option if it is enabled to see if it that reduces this, as with this option disabled, hilighting is based on documented modules.


TaskMaster(Posted 2008) [#63]
BLIde has 2 kind of project management, Solutions (where BLIde handles files), and Unmanaged Projects (where the coder manages files). You're not forced to use Solutions!!! Anyway, with solutions you can decide exactly how you want to organize the compilation of your app, you can split it to as many includes as you wish, giving each include a separate compilation 'unit'. So thinking on solutions like a 'include everything' scenario is just a reflection of a bad design of the solution. Read 'How to create compilation clusters' on the documentation about solutions and you'll see how you can organize them, even hieratically so you can define, as instace, 10 separate compilation clusters for your game, each one of them can the also import several compilation clusters, so you can split compilation as much as you wish!
I think I need to change the documentation and make this a bit more intuitive... I'll see how to... SUGGESTIONS ARE WELCOME!!


Thanks for the Response. I'll take a look at it.

I still found myself using BLIde to code today, so I am reluctant to give it up.


ziggy(Posted 2008) [#64]
@TaskMaster: If you have updated to latest version, the help topic has been changed to 'How to add import nodes to a solution'. Also take a look to unmanaged projects.


ziggy(Posted 2008) [#65]
we have detected an stability issue on current version. when a new import node is added to a Solution, please click the Refresh solution button, in otder for the solution to reindex internally. Otherwise you could get some issues on the internal solution structure. This is being fixed urgently and a patch will be available in some hours.
sorry for the inconvenience.


MGE(Posted 2008) [#66]
Will you also just make a new full install? I didn't install the latest version but I will install this new fixed version, as long as I don't have to download a full, then patch. ;)


Armitage 1982(Posted 2008) [#67]
Wow! That's a big one for intelliprompt and highlighting love that :D
Thank you Ziggy !


QuickSilva(Posted 2008) [#68]
Just wanted to ask quickly, on the BLIde website in the features list it says, BlitzMax automatic updater (SVN based), does this mean that you can download the latest SVN version without having to use a separate program such as Tortoise SVN?

Jason.


ziggy(Posted 2008) [#69]
@MGE: Yes, the patch will be a full install, If you haven't updated yet, just wait for the new version to be available.

@QuickSilva: this is being "tuned" for the next release. It was available (forgot to remove it from the website) but it was not stable under vista, so I'm making some changes and it'll be available (again) on the next version, if everything goes as planned. (UAC, permissions firewall and all this wonderful things Vista has... :D ) I've updated the website. Thanks

@Armitage 1982: Thanks!

The patch is 'nearly' done, hope to have it ready in some hours... (testing it now).


Htbaa(Posted 2008) [#70]
Take your time :-). BLIde is as wonderful IDE.


plash(Posted 2008) [#71]
Another suggestion: Can we get an option to add Rem bbdoc blocks to a type (or.. everything)?

Optional selection of a few, one or all identifiers in source code to have this appended (at the tabulated level of the method/function/field/global/const):
Rem
	bbdoc: 
	returns: <<< Only for methods and functions
	about: 
End Rem


Did I miss anything? ;)


ziggy(Posted 2008) [#72]
and how would this suposed to work? I don't think it would be a good idea to make BLIde add this always you declare a function, method or type... Maybe a shortcut?
In current version (the one being patched now). I've added some undocumented (yet) shortcuts on the editor window. As instance, write this on the code window:
Fld MyList:tlist

or this:
Glb MyImage:Timage

and see what happens when you press enter... :D
This is a WIP and I supose we could add a sort of 'shortcut' for bbdoc blocks also... ?


dmaz(Posted 2008) [#73]
cool, those shortcuts would be *awesome* if we could define them ourselves... hopefully with a regular expression.

doesn't code templates, especially with the new popup menu, solve Plash need? that's what I use although templates currently don't tab to the proper spot.... which limit their use a little. it would be nice if the whole block of code you insert would be tabbed to your current cursor position.


plash(Posted 2008) [#74]
and how would this suposed to work? I don't think it would be a good idea to make BLIde add this always you declare a function, method or type... Maybe a shortcut?
I was thinking more of an interface like the module builder. It could let you select what types of identifiers to add blocks for, const and global variable, functions, whole types (with options for globals, consts, methods and functions that exist in the type).

Having it add the bbdoc AS you type would be ludicrous!


plash(Posted 2008) [#75]
Could you add whitespace scrolling beyond actual code (like what the Visual Studios do, its like having a while page of spaces below your code.)

I think I inquired about this awhile ago (in which case, did you look into it?)..


ziggy(Posted 2008) [#76]
@Plash: Yes, I looked to it and it was not possible with the text renderer BLIde was using, not sure if this would be possible with current text renderer, I'll take another look. I could add something similar to virtual white spaces to allow navigation past EOF, not sure if this would do the trick... ?


plash(Posted 2008) [#77]
I could add something similar to virtual white spaces to allow navigation past EOF, not sure if this would do the trick... ?
Yeah, that is essentially what it does in VS.


ziggy(Posted 2008) [#78]
Patch released. Current version is 0.9.62-B


MGE(Posted 2008) [#79]
I'm running .09.61A, do I patch or install the full? Thanks.


ziggy(Posted 2008) [#80]
The download available is a full install, so install it as a regular updated version.


SillyPutty(Posted 2008) [#81]
Well, I was just about to buy your product, but share-it/pay pal and having to wait 3-5 business days for fund transfer has caused me not to buy your IDE.

Are there any other payment gateways where I can purchase this from?


plash(Posted 2008) [#82]
share-it
Huh? Didn't you buy BlitzMax through share*it? lol


SillyPutty(Posted 2008) [#83]
Successfully purchased.

Apologies for the silly rant.


ziggy(Posted 2008) [#84]
Forgot to mention that new Solutions functionality is documented on current release.


plash(Posted 2008) [#85]
Bug with the most recent release: I have to click the quick build toolbar button twice to get it to de-highlight (obviously I can only change quick-build when a file is loaded.)


ziggy(Posted 2008) [#86]
@Plash: Found it. This is only happening at the very start of BLIde, once the button has been clicked once, it works as spected. I'll improve this for the next update.


QuickSilva(Posted 2008) [#87]
Debug mode doesn`t seem to work properly. When I run my program in Debug mode it still seems to be running in Release mode.

Anyone else experiencing this?

Jason.


ziggy(Posted 2008) [#88]
@QuickSilva: Does it happens always or only when quickbuild is on?


QuickSilva(Posted 2008) [#89]
Just tested, it happens always, with and without quick build on. I cannot seem to create a debug.exe at all. Works fine when using the default IDE.

Jason.


ziggy(Posted 2008) [#90]
Ah ok!
BLIde does not append the .debug.exe to the file name, they have always the same name. That does not mean the file is not a debug file!


QuickSilva(Posted 2008) [#91]
I see, could you add the debug.exe extension in the next version for people who want to keep a debug.exe and a release.exe in the same folder?

Jason.


ziggy(Posted 2008) [#92]
Yes, I'm adding it right now :D


ziggy(Posted 2008) [#93]
next version will have the .bebug.exe mark for debug builds, but you'll be able to disable this due BLIde preferences dialog


QuickSilva(Posted 2008) [#94]
Cool thanks for adding this feature :)

Jason.


MGE(Posted 2008) [#95]
Would be great to be able to view all of the methods within a Type in the drop down Function,Var, Type,etc box. You're already showing the types, would be cool to view/select a sub tree there with the methods for each type. ;)


ziggy(Posted 2008) [#96]
@MGE: You can see the methods, functions, etc of a selected type in the drop down combo of the right. :D


MGE(Posted 2008) [#97]
ahhh...jeez..... Blide does it all. wow... Thanks!


MGE(Posted 2008) [#98]
Would be sweet if the ide kept track of both the last edited single file AND last project, so when you click on load single or project, it goes to either folder as needed.


plash(Posted 2008) [#99]
When clicking between 'Common' and 'All' the size of the list should not be reset.


ziggy(Posted 2008) [#100]
I'm currently alpha-testing next BLIde version, that has several improvements on performance and stability, and also adds 2 interesting features (customizable .debug.exe filenames for debug builds, and a import-nodes relation graphic diagram window). I've also done some improvements on the intelliprompt system. Once this version is out, I'll start with new features/changes. The first one, if everything goes as spected, will affect the debugger to make it much more stiky-like, among others. See my worklog for more info.


Htbaa(Posted 2008) [#101]
Looking nice Ziggy! BLIde is getting better and better.


TaskMaster(Posted 2008) [#102]
One thing I would like to see is when I start BLIde and it reloads the files i had open, it load them back in the tab order they were in when I closed.


plash(Posted 2008) [#103]
Is there an option to suppress the "closing debug...", "Debugger ended." and "Debugger started." messages? (they are getting in the way of my output)


ziggy(Posted 2008) [#104]
Not yet. I'll add an option to customize this for the next update that should be out very soon (still fixing a little issue with the layout engine, but nearly done.)


Armitage 1982(Posted 2008) [#105]
Is there any statistics option for example to know how much lines of code as the solution (with or without white line) ?
It's not very helpful but I like those kind of options.


ziggy(Posted 2008) [#106]
@Armitage 1982: There's a great open source BLIde plugin created by AlexO, with source code included. I don't hve the plugin here, but if he reads this, he may post a link to the latest static plugin version? If not, I can look for it on my home computer as I use it when working with large projects, just to tell my self: Wow, how much code here or there! Split this file!!! and this kind of things.


plash(Posted 2008) [#107]
In wxMax you usually create a widget by calling
Local Widget:wxWidget = New(wxWidget).Create(...parameters)


where Create is a method.
Sadly BLIde does not recognize that the Create function is being called from the wxWidget type, so it can't provide parameter information (for the method wxWidget.Create().)
Now, I could call it like this
Local Widget:wxWidget = New wxWidget.Create(...parameters)


but I prefer to have parameters around every function/method call regardless if it returns something or not.

Could you add this feature, if possible?

(The use of Create as a method rather than a type is also quite clever, you can reinitialize an object once it has been created by using the same method, and it can still, basically, be used as the *standard* TMyType.Create() functions. I am also using this technique in some modules, this feature would be quite helpful.)


ziggy(Posted 2008) [#108]
@Armitage: You can get the metrics plugin done by AlexO here: http://www.blide.org/posts/metrics.rar It includes source code and compiled dll version.


christian223(Posted 2008) [#109]
Is it posible to change the color of the fonts
and background of the console and code analizer?,
i would prefer other color than white so that
it doesnt hurt my eyes after hours of work.


ziggy(Posted 2008) [#110]
Admins, please lock this thread (it is too long). BLIde discussion moved here: http://www.blitzmax.com/Community/posts.php?topic=81410