The Unofficial BlitzBasic Preprocessor final version released!

Community Forums/Showcase/The Unofficial BlitzBasic Preprocessor final version released!

Michael Reitzenstein(Posted 2003) [#1]
This time around it includes full C# source, Option Explicit, Type Writing/Reading commands, Code Profiling, Function Macros and more.

Check it out here.


RepeatUntil(Posted 2003) [#2]
Very cool !!
One question: do you plane to add inlined functions ??


Michael Reitzenstein(Posted 2003) [#3]
Inline functions were in an earlier version, however I took them out because they were a bit of a kludge, and Macros will perform the same tasks much more easily.


Litobyte(Posted 2003) [#4]
wow :-)

keep up the great work!


Michael Reitzenstein(Posted 2003) [#5]
Thanks! :)


dynaman(Posted 2003) [#6]
Very nice! Thank you, thank you


makakoman(Posted 2003) [#7]
Michael, thanks alot. This version is the first one to work for me. It is Very Good! I found a bug in the #PROFILE directive.


"C:\PROGRA~1\BLITZ3D\BITE\.\fpsClass.bb":32:1:32:139:Arithmetic operator cannot be applied to custom type objects




This usually happens to me when I have a Blitz function that returns a custom type and I try to display the custom type object in a DebugLog statement. The custom type must be embedded in the Str() function to output correctly. For example:

Type widget
   Field a, b, c
End Type

Function widgetGet.widget()
  w.widget = New widget

  w\a = 10
  w\b = 20

  ; Notice Str() function here...
  Debuglog "Custom Type Value: "+Str(w)


  Return(w)
End Function


I tried looking through the C# source code, but I do not have C# yet. Anyways, I hope it is an easy fix. :)

Thanks for a great utility.
MK


Michael Reitzenstein(Posted 2003) [#8]
Eek! I don't know how I let that one through. Its fixed in the next update, which will be up probably today.


Michael Reitzenstein(Posted 2003) [#9]
A look at what is coming:

Type Some_Type
	
	#FieldGroup1 #FieldGroup2 Field X#, Y#, Z#
	#FieldGroup1 #Byte Field Lives
	#FieldGroup1 #Byte Field Clip_Left
	#FieldGroup2 #Word Distance[ 12 ]
	
End Type

#WriteType Some_Type, Instance, Server_Stream, 1;Write Group 1 Only
#WriteType Some_Type, Instance, Client_Stream, 2;Write Group 2 Only
#WriteType Some_Type, Instance, File_Handle;All Groups...


The #Byte, #Word, #DWord tags only currently work with integers, however this thing is starting to get really really cool...


Michael Reitzenstein(Posted 2003) [#10]
OK, New Version Released.

It should fix the profiling bug, maybe a few more that I have forgotten about, and also adds the new type options. A description of them is available on the PreProcessor Features page.


Michael Reitzenstein(Posted 2003) [#11]
A note to anyone who is having trouble getting the preprocessor working.

It requires the .Net Framework. If you don't know if you have it installed, you can find out here.


Michael Reitzenstein(Posted 2003) [#12]
Something that I am sure will make Beaker very happy - the preprocessor now adds comments and tabs back into your code in the debug window. How cool is that?

Update soon-ish.


Michael Reitzenstein(Posted 2003) [#13]
New version is up. Its in the same place.


Michael Reitzenstein(Posted 2003) [#14]
New version including two important bug fixes is up.


Scott Williams(Posted 2003) [#15]
Tried to use the profiler.
I coulnt see how it works.
Anyone know how to do it?

Scott.


Scott Williams(Posted 2003) [#16]
Ignore last post. Got it working.
Great stuff. This will be really useful.

Scott.


Michael Reitzenstein(Posted 2003) [#17]
Thanks!

Its really good to know that people are finding all my hard work useful.


QuietBloke(Posted 2003) [#18]
Just thought Id let you know Im in the process of installing .Net so I can use your preprocessor. Mainly for the Option Explicit but macros look useful and I want to see the profiler in action.
Looking forward to using it :)


Michael Reitzenstein(Posted 2003) [#19]
Cool! :)