Glad to hear! There are some other things that I should probably mention...
If you are using timers, always place their event handling code at the top of your Select...Case block, as unlike C switch blocks, BlitzMax doesn't use jump tables and so the further down the block you place it the more comparisons it has to make before it finds it. This isn't really much of a problem normally, but if your timers are firing lots of times per second, it can really add up.
In addition, it is good practice that your event hook returns the data back if it can't understand it as opposed to returning Null. For example, you should do something like...
I downloaded it and had a look, but to be perefectly honest, I'm not entirely sure what it does... I did however notice that your EXE size is relatively large... Are you using Framework Assistant to ensure that BlitzMax only imports the libaries it needs?
Anyway, glad I could help...
If you are using timers, always place their event handling code at the top of your Select...Case block, as unlike C switch blocks, BlitzMax doesn't use jump tables and so the further down the block you place it the more comparisons it has to make before it finds it. This isn't really much of a problem normally, but if your timers are firing lots of times per second, it can really add up.
In addition, it is good practice that your event hook returns the data back if it can't understand it as opposed to returning Null. For example, you should do something like...
Function MyHook:Object(iId:Int,tData:Object,tContext:Object) Local event:TEvent = TEvent(tData) If Not event Then Return tData
wonna try?
I downloaded it and had a look, but to be perefectly honest, I'm not entirely sure what it does... I did however notice that your EXE size is relatively large... Are you using Framework Assistant to ensure that BlitzMax only imports the libaries it needs?
Anyway, glad I could help...