Omnimaga

General Discussion => Technology and Development => Computer Projects and Ideas => Topic started by: BlakPilar on December 15, 2011, 08:54:13 pm

Title: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 15, 2011, 08:54:13 pm
Current version: 1.2 Alpha (snapshot) (http://ourl.ca/14505/289091)


It's finally here! BexIDE is an open-source mini-IDE for Axe and (extended) TI-BASIC (by that I mean external libraries such as xLib, Celtic 3, etc). It was written in and requires .NET Framework 4.0. Anything else I would say here, besides the features overview, can be found in the README.

Features
Custom syntax highlighting
With the way I've set up BexIDE, you can choose which words you want to have highlighted, as well as the color and font weight! All you need to do is simply edit the settings XML file!

Custom tokens
Now, this may or may not be a little confusing. Basically, BexIDE comes with another XML file called tokens. In it are groups of all the tokens for TI-OS as of, I believe, OS 2.43 plus ASCII equivalents of the commands in Axe and third-party libraries such as Celtic 3 and xLib. If you open the XML file, you'll see what I mean; each token has a string value, a byte value, and a description. This is where the custom part comes in. You can change anything in this file, and your changes will be applied. For example, if you want to change "ln(" to "naturalLogarithm(" then go right ahead. Just change the value property. You can even create short-hand coding! As an example, if you wanted to make the text "_USELESS_" be equivalent to "3->A" on the calculator, all you would need to do is add a token element where the value is "_USELESS_", the byte value is "0x330441" (where 0x33 is 3's bytes, 0x04 is the store arrow, and 0x41 is A). It's that easy!

Token viewer
This isn't really an amazing feature, but if you don't want to open the tokens file, I've included a token viewer which groups all of the loaded tokens into a nice little tree-view where you can view their text, byte values, and description. You can also double-click on a token to have it added to a text-box, add its parameters, and then insert it into your code!

Sprite editor
I bet you wanted this, right? But yes, BexIDE has a sprite editor! You can easily design and insert sprites into your code! You can even change the width, height, and scale (scale is only for the editor; it makes it smaller or larger) of the sprite. As of this version, it simply prints the sprite as one line, but in future releases I will make it so that the designer splits the hex data for you.

Direct-to-8XP
No need to worry about fussing with text files and the 8XP programs- BexIDE saves directly to the 8XP! Don't worry though, Uncle BlakPilar isn't stupid. You can, if you wish, import and export your code to text files and, because of the editor I'm using, export your colored syntax to pretty HTML!

Comments
Like the token viewer, this isn't an awesome feature, but it's helpful. You can add end-of-line comments in BexIDE beginning with the customary double forward-slash (//), and they will be removed at build time.



But wait, there's more!
Remember: this is only in version alpha. Once, with all of your help, the bugs are removed and this version is working good, BexIDE has another card up its sleeve. I will be implementing a .NET portion to this IDE in which I will attempt to parse your BASIC code (possibly with modified syntax like Axe, I haven't decided yet though) into your choice of C# or VB.NET and compile it into a .NET app for the computer! So, in a sense, this will be the Axe of the calculator for the computer!



The meat and potatoes
Now, I think it's time I get to the heart of this post. I need you, yes you, Omnimaga community, to help me with this project! The more people I get to use this and find bugs the better this can become and the quicker I can get to making the .NET portion! I've attached both the source and just the binaries, for those of you who like to view sources and those of you who just like to use the programs. If you do peek at the source and find ways in which I can make this better, please let me know! I say it in the readme, but still. I want this project to be one of the best out there!



Downloads: binaries (executable) (http://www.mediafire.com/download.php?fqaj8x5ra15xdfb), source (http://www.mediafire.com/download.php?2ioanwe3n973o7d)
Screenshot:
(http://img59.imageshack.us/img59/2214/bexide.png)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 15, 2011, 09:05:04 pm
Thank you, Uncle BlakPilar!

Whats an IDE? Code editor?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 15, 2011, 09:08:23 pm
IDE stands for integrated development environment. But yes, basically it's a code editor lol.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 15, 2011, 09:09:42 pm
Sprite maker does more than 8x8?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 15, 2011, 09:17:13 pm
Yup! It's just it doesn't break down the sprite for you yet. I definitely plan on doing that for the next release, though.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: saintrunner on December 15, 2011, 09:36:35 pm
sounds cool! and yes the sprite stuff is very much needed
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 15, 2011, 09:46:00 pm
Thanks! I know the sprite thing would really help, I just wanted to get some usable version out there to start testing. I also still have to finish the documentation in the tokens file (which will take sort of a long time), and make it so when you open a program, something like "real(0," will be turned into the ASCII equivalent (which shouldn't take long). And that's just to make sure the alpha releases are complete lol.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: saintrunner on December 15, 2011, 09:46:52 pm
well good luck then
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 15, 2011, 09:55:47 pm
Custom tokens?
Is there a guide or something for byte value stuff like 0x33?

And also I could change things like
Bitmap(
To
Bigsprite(
? :P


Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: TIfanx1999 on December 15, 2011, 09:58:58 pm
Wow, this looks very nice! =) Good job!
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 15, 2011, 10:10:17 pm
@epic: yes and yes (and two more yes's, I saw the other things in the email lol). To create a new token, you would need to search the other tokens to find their byte values. For example, in the "3->A" example, if you check, 3 is 0x33, the store arrow is 0x04, and A is 0x41. You would just combine them in order.

@Art_of_camelot: thanks! :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 15, 2011, 10:13:11 pm
I'll just download and experiment :P

Wait, what email?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 15, 2011, 11:30:08 pm
Very nice project you got here :D
Any plans to make this compatible for Linux? I can provide some building help (for Linux) if you need it. :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 16, 2011, 06:50:32 am
@epic, the email for replies to topics.

@alberthrocks, I personally don't use Linux, but I would love if someone could port this with Mono or something :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 16, 2011, 05:04:42 pm
Oh :P
(I forgot where this topic was and what it was called so I searched "Uncle BlakPilar")/me downloads

Token descriptions coming eventually? :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 16, 2011, 05:55:22 pm
Yeah, they will be coming hopefully in the next release. There are just so many lol
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 16, 2011, 05:56:29 pm
Do the tokens need to be on that list to work?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 16, 2011, 05:58:01 pm
To be parsed properly as bytes, yes. Otherwise the text will literally be parsed ("USELESS" would be parsed as "U" + "S" + "E" + ...).
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 16, 2011, 08:59:19 pm
@alberthrocks, I personally don't use Linux, but I would love if someone could port this with Mono or something :)
I can tell, since you posted beautiful Windows (7? Vista?) screenshots of your program. :D

Anyway, I will need all of your help to make this work - even though Mono can run raw .NET exes (and is supposed to!), there are a few issues I'm sensing:
1) .NET 4 is a relatively new version of .NET, and Mono may not support all of its new features.
2) It may be likely (due to the reason above) that certain portions must be ported to the Mono equivalents. I will need help with determining what you use.
3) I have no knowledge whatsoever of C#! :P (Assuming you wrote it in that language) You know your code best! (My C/C++ skills won't help here!)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 16, 2011, 09:13:27 pm
@alberthrocks, I personally don't use Linux, but I would love if someone could port this with Mono or something :)
I can tell, since you posted beautiful Windows (7? Vista?) screenshots of your program. :D

Anyway, I will need all of your help to make this work - even though Mono can run raw .NET exes (and is supposed to!), there are a few issues I'm sensing:
1) .NET 4 is a relatively new version of .NET, and Mono may not support all of its new features.
2) It may be likely (due to the reason above) that certain portions must be ported to the Mono equivalents. I will need help with determining what you use.
3) I have no knowledge whatsoever of C#! :P (Assuming you wrote it in that language) You know your code best! (My C/C++ skills won't help here!)
Yeah, I use Windows 7 on my laptop, and Vista on my desktop. I'll try to address your concerns in order:
1) I can recompile the solution under 3.0 or 3.5; whichever the most common form of Mono is equivalent to. I'm not entirely sure, though, if that will work when I implement the .NET portion because I tried making the project .NET 3.5 after someone told me that that would be better for Mono, but I got an error saying Microsoft.CSharp was not compatible (which contains methods for compiling C# code; I'd also assume there would be a similar error for Microsoft.VisualBasic).
2) I don't imagine that would be hard. I mainly only use the WinForms designers and the 8XP library as of now.
3) (See question/comment below)

Now that I think about it... If I were to get Mono for Windows, could I compile it to target Linux/OS X?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 16, 2011, 09:42:01 pm
Yeah, I use Windows 7 on my laptop, and Vista on my desktop. I'll try to address your concerns in order:
Poor me is still using Windows XP and superslow Vista... *sigh* But grateful me also uses Linux Mint! :D

1) I can recompile the solution under 3.0 or 3.5; whichever the most common form of Mono is equivalent to. I'm not entirely sure, though, if that will work when I implement the .NET portion because I tried making the project .NET 3.5 after someone told me that that would be better for Mono, but I got an error saying Microsoft.CSharp was not compatible (which contains methods for compiling C# code; I'd also assume there would be a similar error for Microsoft.VisualBasic).
Yeah, there are some assemblies that simply won't work in Mono due to non-implementation.
I would like to you keep your current code, unmodified - there *are* advantages to having native code. ;)
However, you can "fork" off the code and work with that for Mono development.
See below for some more info about this....

2) I don't imagine that would be hard. I mainly only use the WinForms designers and the 8XP library as of now.
WinForms, eh? It is indeed supported on Mono, but it... well, looks like Windows on Linux. :P If you would like to provide a more "native" experience, you would need to port it to GTK+ (.NET). For the 8XP library, if it uses anything exotic, then it will also require a (hopefully minor?) port.

Now that I think about it... If I were to get Mono for Windows, could I compile it to target Linux/OS X?
Ahh, and that's the other way. ;)
Mono does NOT interfere with your current .NET installation - it simply acts like a wrapper if you decide to use it to run your .NET programs with it.

If you develop for Mono, the .NET executable will work for ALL platforms that support it! :D HOWEVER, if you are looking for a standalone, no-need-for-.NET executable, then you are limited to Windows only. On Windows, the standalone build is rather complex (it requires a nasty mix of Cygwin and MinGW to perform the build, since we are doing actual static linking - raw code - for making the standalone build). This is called making a bundle (mkbundle) (http://www.mono-project.com/Guide:Running_Mono_Applications#Bundles). I am working on a script to automate the creation of the standalone build environment. You might make me finish it once and for all! ;)

Note that this mkbundle frenzy is not as crazy on Linux or Mac - you just need to install the compiler and presto, it will work. :) I will handle the Linux side for you, since it's pretty direct for me (and you don't have to install Linux :P).

As I've mentioned above, WinForms is supported, but it looks like Windows on Linux/Mac. If you want to, you can port it to GTK+ .NET (included with Mono on Windows, I think), but remember that the two can be vastly different.

Finally - if you want to take that leap, I strongly suggest grabbing the Mono Migration Analyzer tool (MoMA), found here: http://www.mono-project.com/MoMA

It's very, very useful in determining what is incompatible for the transition from .NET to Mono.

Anyway, I hope this helps! :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 16, 2011, 10:12:06 pm
Hmm... I'll install everything, play around with it, and get back to you on that (sometime, hopefully, soon)! Thanks! :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 17, 2011, 04:11:18 pm
Just a little informative before the next release: parsing "extra" tokens (the third-party library ones as well as custom ones) now works regardless of byte length. ^^
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 17, 2011, 06:45:26 pm
I think the sprite editor needs the ability for the user to type in hex and have it be shown on the editor. :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 17, 2011, 07:27:39 pm
So I've finally gotten to test it in Linux - and it *might* actually work out of the box! :D
However, we still have bugs to fix!

When opening, I get this error:
(http://dl.dropbox.com/u/1016340/PublicPictures/BexIDE-ERROR.png)
If this image isn't visible:
************************************************************
* Error                                                  X *
*----------------------------------------------------------*
* Error while trying to read the settings file.            *
*                                                          *
* Error message:                                           *
* Could not find file "/home/albert/BexIDE\\settings.xml". *
*                                                          *
*                       [   OK   ]                         *
************************************************************


Also, this came out of the console after this error was closed (probably didn't exit from this error?):
Code: [Select]
albert@albert-PC ~/BexIDE $ mono bexide.exe
System.NullReferenceException: Object reference not set to an instance of an object
  at FastColoredTextBoxNS.AutocompleteListView.<.ctor>b__0 (System.Object o, System.EventArgs e) [0x00000] in <filename unknown>:0
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_EventArgs (object,System.EventArgs)
  at System.Windows.Forms.Control.OnLocationChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.UpdateBounds () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
System.DllNotFoundException: Imm32.dll
  at (wrapper managed-to-native) FastColoredTextBoxNS.FastColoredTextBox:ImmGetContext (intptr)
  at FastColoredTextBoxNS.FastColoredTextBox.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.UserControl.OnCreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmShowWindow (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.UserControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at FastColoredTextBoxNS.FastColoredTextBox.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
System.NullReferenceException: Object reference not set to an instance of an object
  at FastColoredTextBoxNS.AutocompleteListView.<.ctor>b__0 (System.Object o, System.EventArgs e) [0x00000] in <filename unknown>:0
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_EventArgs (object,System.EventArgs)
  at System.Windows.Forms.Control.OnLocationChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.UpdateBounds () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.WmWindowPosChanged (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
System.NullReferenceException: Object reference not set to an instance of an object
  at FastColoredTextBoxNS.AutocompleteListView.<.ctor>b__2 (System.Object o, System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_FormClosingEventArgs (object,System.Windows.Forms.FormClosingEventArgs)
  at System.Windows.Forms.Form.OnFormClosing (System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.FireClosingEvents (CloseReason reason, Boolean cancel) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form:FireClosingEvents (System.Windows.Forms.CloseReason,bool)
  at System.Windows.Forms.Application.Exit (System.ComponentModel.CancelEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Exit () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.OnThreadException (System.Exception t) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.OnThreadException (System.Exception e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.SendMessage (IntPtr hwnd, Msg message, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.SetWindowPos (IntPtr handle, Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUI.SetWindowPos (IntPtr handle, Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.SetBoundsCoreInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.SetBoundsInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.SetBounds (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.set_Location (Point value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.set_Location (Point value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.CenterToScreen () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnCreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmShowWindow (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at FastColoredTextBoxNS.AutocompleteListView.<.ctor>b__2 (System.Object o, System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_FormClosingEventArgs (object,System.Windows.Forms.FormClosingEventArgs)
  at System.Windows.Forms.Form.OnFormClosing (System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.FireClosingEvents (CloseReason reason, Boolean cancel) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form:FireClosingEvents (System.Windows.Forms.CloseReason,bool)
  at System.Windows.Forms.Application.Exit (System.ComponentModel.CancelEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Exit () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.OnThreadException (System.Exception t) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.OnThreadException (System.Exception e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.SendMessage (IntPtr hwnd, Msg message, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.MapWindow (System.Windows.Forms.Hwnd hwnd, WindowType windows) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.CreateWindow (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUI.CreateWindow (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.CreateHandle (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateHandle () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.CreateHandle () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000] in <filename unknown>:0
  at Betafy.Program.Main () [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
  at FastColoredTextBoxNS.AutocompleteListView.<.ctor>b__2 (System.Object o, System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_FormClosingEventArgs (object,System.Windows.Forms.FormClosingEventArgs)
  at System.Windows.Forms.Form.OnFormClosing (System.Windows.Forms.FormClosingEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.FireClosingEvents (CloseReason reason, Boolean cancel) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form:FireClosingEvents (System.Windows.Forms.CloseReason,bool)
  at System.Windows.Forms.Application.Exit (System.ComponentModel.CancelEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Exit () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.OnThreadException (System.Exception t) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.OnThreadException (System.Exception e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.SendMessage (IntPtr hwnd, Msg message, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.MapWindow (System.Windows.Forms.Hwnd hwnd, WindowType windows) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.CreateWindow (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUI.CreateWindow (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.CreateHandle (System.Windows.Forms.CreateParams cp) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateHandle () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.CreateHandle () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.CreateControl () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000] in <filename unknown>:0
  at Betafy.Program.Main () [0x00000] in <filename unknown>:0

Hope this helps! :)

EDIT: Ick, I'm not a fan of the code boxes sans monospaced font :P Edited to use the tt tags instead.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: thydowulays on December 17, 2011, 07:39:56 pm
Just going to give you a bug report:
1) When you open files already made, the syntax is all green except for strings (which are red)
2) When you invert a sprite, it doesn't invert the hex, it just inverts the table on the program
For Example: Say you had a circle sprite, and you just filled in the black corners and inverted it.
The diagram would look like this:
11000011
10000001
00000000
00000000
00000000
00000000
10000001
11000011
The 0's are white, the 1's are black. Then I click the invert button. The 1's would be replaced with 0's, but the hex, which should be 3C7EFFFFFFFF7E3C, is still this: C3810000000081C3

Other than those things, I haven't found anything yet!
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 17, 2011, 07:45:01 pm
Hey, I was about to say that!
Everything is green, yes.

However, if I change it, then revert it, it goes to the correct color. For example,
24->{L5+14} is green.
I change it to
25->{L5+14
then back to
24->{L5+14}

And its in black instead of green, like it was before.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 17, 2011, 08:03:07 pm
I think the sprite editor needs the ability for the user to type in hex and have it be shown on the editor. :D
Alrighty, can do! Shan't be hard.

Just going to give you a bug report:
1) When you open files already made, the syntax is all green except for strings (which are red)
2) When you invert a sprite, it doesn't invert the hex, it just inverts the table on the program
For Example: Say you had a circle sprite, and you just filled in the black corners and inverted it.
The diagram would look like this:
11000011
10000001
00000000
00000000
00000000
00000000
10000001
11000011
The 0's are white, the 1's are black. Then I click the invert button. The 1's would be replaced with 0's, but the hex, which should be 3C7EFFFFFFFF7E3C, is still this: C3810000000081C3

Other than those things, I haven't found anything yet!
1) That's a glitch in either the editor I'm using, the way I'm handling the RegEx, or the way I tell the editor to handle the RegEx. I'm thinking of moving over to ICSharpCode's editor. (@epic, it does that because it only changes highlighting for  what it deems as the changed area.)
2) It changes the sprite in memory, but I guess when you invert it I'm just not updating the displayed hex value. Thanks, though! :) I'll fix that.

@alberthrocks woo! Well, somewhat lol. I'm going to guess Linux only accepts the forward-slash, and not the back-slash, for file path's? I believe it doesn't matter for Windows, so if the different slashes are the problem, that's an easy fix :D That might be why it can't find the settings file (because Application.StartupPath seems to be working fine). The other errors seem to be from the editor (it's called FastColoredTextBox). If I switch over to ICSharpCode's editor by adding the entire project, maybe that'll help fix it? (It is written in C# as well.)

EDIT: Thanks a lot guys, seriously. This means a lot to me :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 17, 2011, 08:06:31 pm
I think the sprite editor needs the ability for the user to type in hex and have it be shown on the editor. :D
Alrighty, can do! Shan't be hard.
Cool! Right now I'm typing the hex in, storing it to Str1, converting it using a slow basic program, copying the 8x8 pic into the bex hex editor and then editing using that which is very tedious :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 17, 2011, 08:09:17 pm
I think the sprite editor needs the ability for the user to type in hex and have it be shown on the editor. :D
Alrighty, can do! Shan't be hard.
Cool! Right now I'm typing the hex in, storing it to Str1, converting it using a slow basic program, copying the 8x8 pic into the bex hex editor and then editing using that which is very tedious :P

Oh gosh D: that would get quite tiresome lol. Maybe, just maybe, if/when this becomes more of an actual IDE, I could have a window next to the editor that if you're on a line with a sprite declaration on it, it would render that sprite... :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 17, 2011, 08:11:12 pm
@alberthrocks woo! Well, somewhat lol. I'm going to guess Linux only accepts the forward-slash, and not the back-slash, for file path's? I believe it doesn't matter for Windows, so if the different slashes are the problem, that's an easy fix :D That might be why it can't find the settings file (because Application.StartupPath seems to be working fine). The other errors seem to be from the editor (it's called FastColoredTextBox). If I switch over to ICSharpCode's editor by adding the entire project, maybe that'll help fix it? (It is written in C# as well.)
Ahh, so the initial error has nothing to do with the console output? In that case, go ahead. :) If not, don't jump to switching code editors! :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 17, 2011, 08:13:45 pm
Also, where do I create custom tokens? Or is that feature not done yet.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 17, 2011, 08:14:02 pm
@alberthrocks, Well, the errors with the comments highlighting everything does get quite annoying... I'm not going to do it to the main project, though. I'll copy it into another directory and switch to ICSharpCode's in that one.

EDIT: @epic, first what you would need to do is go to the tokens.xml file, and then uncomment the bottom portion (remove the "<!--" and "-->" surrounding the other token group). Then you need to use the template I have at the top (<token text="" bytes="" desc="" />). Anything that goes between the quotes after the text attribute will be how it will be textually visible in the editor. Anything between the quotes of the desc attribute will be displayed as the description in the token viewer. The longest part to create is the byte part. I'll walk through another example. Say you want "CleanUp" to be ClrHome:Output(1,1," on-calc. For bytes, you would need to go and find Clrhome, :, Output(, 1, ',', and ". If you look at the table, ClrHome is 0xE1, : is 0x3E, Output( is 0xE0, the number 1 is 0x31, the comma is 0x2B, and the quote is 0x2A. You would need to combine all of those to get a grand byte value of 0xE13EE0312B312B2A.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 18, 2011, 12:33:12 am
Ok, so, in a copy of the project, I switched over to ICSharpCode's TextEditor. Here's just a quick look at what everything would look like (I haven't implemented the syntax highlighting yet).
(http://img521.imageshack.us/img521/3467/icsctetest.png)
At least one of the trade-offs that I'm aware of right now, though, is I do not know of a way in which to export colored text as HTML with this editor :/
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 18, 2011, 12:38:16 am
Different code editor? Looks the same to me :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 18, 2011, 12:42:22 am
Yeah, it's different lol. This one, if I use it and if I get the hang of the way it uses XML, won't give the problem with everything being highlighted as a comment.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: thydowulays on December 19, 2011, 10:07:22 pm
Bro, I looked at your source. I understood everything up until the Lib8xp. Holy shit. You are amazing bro I could never write a library that did that. I've tried making something like this many times but I've never been able to figure out how to save as 8xp. How did you figure it out?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 19, 2011, 10:15:23 pm
Hahaha, first of all thanks :D second, it wasn't too hard. You can fairly easily open any file as long as you know the file structure. If you look in the notes folder, there's a text document with the structure of an 8XP. I pretty much just followed that :) The hardest part, though, was parsing normal text into tokens. It took me a month of experimenting to finally realize that I could just use something simple like the method that's there now. I tried to comment on almost everything, so that should help you if you're interested in learning from it :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: thydowulays on December 19, 2011, 11:11:33 pm
Yeah I looked in the notes thing. Still, huge props to you, that IDE is really going places. Keep up the good work!
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 20, 2011, 07:05:59 am
Thank you so much! :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: thydowulays on December 20, 2011, 10:09:53 am
No prob :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 20, 2011, 08:45:54 pm
Ok, so, two options: I can release version 1.1A by Friday (at the latest), or y'all can wait until I finish my method for parsing/splitting sprites greater than 8x8. If I released it this Friday, then you can input sprite hex into the designer, press a button, and it will load it for you. However, you will only be able to edit sprites that are 8x8. If we were to do this, then the next version (1.2A) would let you split sprites larger than 8x8 and all that good stuff, and fix any bugs found in 1.1A.

So what's it going to be? ;)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 20, 2011, 08:47:03 pm
What ever comes out first! :D :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 20, 2011, 08:48:03 pm
Ah, but that's the thing! I'm letting you all choose! :D (it's not really that big of a deal, but whatever lol)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 20, 2011, 08:53:46 pm
1.1 or 1.2? If 1.2 includes what would be in 1.1, then 1.2. If not, 1.1.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 20, 2011, 08:57:58 pm
The only difference between the two is that 1.1 would only allow 8x8 sprites, and 1.2 would fix any bugs found in 1.1. However, methinks I just found a way to fix my problem ;D so 1.2 will now be 1.1 and you shall have to wait until Friday-ish >:D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 21, 2011, 08:39:57 pm
Update v1.1A
Second alpha release! Yay! I've fixed some bugs, and added some things. Thank you all for supporting this! When I get the alpha version complete, methinks I'll start uploading this to Cemetech and/or TI-Calc as well. Anywho, here's the change log: (copied from the readme because I'm lazy)
   * LICENSE CHANGE! LGPLv3 => GPLv3
   * Switched editors to ICSharpCode.TextEditor (which also fixes the bug
    where opening files with comments causes everything to be green)
   * Find/Replace had to be re-implemented, as the previous editor had
    the forms built-in (may be buggy)
   * Sprite hex now updates after any kind of change
   + Sprite hex now splits L=>R; T=>B (left to right; top to bottom)
   + Sprite hex can now be input and will be parsed/loaded :D However, if you
    are inputting a hex value that is longer than 16 in length, PLEASE NOTE that
    it will be loaded the way you have the settings at the time. I.e. if you
    have the sprite set to 16x8, it will be parsed as a 16x8 sprite and vice
    versa. If you still have it as 8x8, not all of the sprite will be parsed.
   + Can now refresh tokens while in program
   - Can no longer export to HTML

The good stuff!
Download: binaries (executable) (http://www.mediafire.com/download.php?jw66r2wlvvdlusl), source (http://www.mediafire.com/download.php?9nfvn7v5gvcn8k6)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on December 21, 2011, 08:46:22 pm
Yayayayay! Does it allow to import hex (for editor) yet?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 21, 2011, 08:47:24 pm
If you mean you type the hex and it loads the sprite, then yes sir it does! Up to 24x24! :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 21, 2011, 08:59:08 pm
Cool! :D I'll get testing ASAP (within 2-3 days) ;)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on December 24, 2011, 05:52:01 pm
THis looks promising (I haven't looked at it yet). I wonder what does it feature that TokenIDE didn't have? I know a bunch of people use Merthsoft's tools so it might be hard to convince them to use these too. One thing I would like is if you had the ability to find/replace in multiple files at once. When you have a variable conflict in a game and realize you got to change list names accross the entire game, it can be annoying to do it one program by one, especially that during development, you often have much more sub-programs than once finished. Also it might make it easier to convert some games (*cough*Omnicalc Reuben Quest -> xLIB Reuben Quest*cough*)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 24, 2011, 06:30:36 pm
Well right now, off the top of my head, the only things BexIDE has over TokenIDE is syntax highlighting, code folding, and the ability to create your own tokens (though, I'd imagine you could do that with TokenIDE, too...). However, I plan to have much more when this is complete. Just for a peek, here's what I have in my ToDo list right now:

/**
 * TODO:
 * >> 1. Finish integrating tabs
 * >> 2. Save all
 * >> 3. Check each tab when closing (for saving)
 * >> 4. Change find/replace scope to all opened programs
 * >> 5. Easy-to-use program manager
 * >> 6. Tilemap editor
 * >> 7. Picture editor
 * >> 8. Get rid of Timer and update err'thang individually (fix flicker)
 */

1, 2, 3, and 8 are really just for me. The rest, however, is for everyone. 4 will do exactly what you want, DJ. For every program you have opened, you can find and replace until your heart is content. 5 will allow you to see the properties of every program you have opened and modify them (their name, comments, archive flag, and protection flag) instead of using the program menu for each one separately. 6 is something that epic7 suggested. You would have a list of hex-sprites, and you would be able to put them onto a grid as 8x8 sprites and the program would return the entire tilemap and tiledata for you to use. 7 is something that might take me a little longer, as I would have to research the file structure of an 8XI, but it's basically an image editor with functions in Paint (similar to TokenIDE's).
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on December 24, 2011, 06:33:13 pm
Aaah ok nice. What is code folding, though? Also I think TokenIDE can let you create your own tokens (through XML files). The new features seems promising. A tilemap editor would defintively be great if it allows multiple sizes and includes xLIB/Celtic format compatibility (even if it means a standard format)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 24, 2011, 06:38:10 pm
I could include xLib/Celtic formats, I would just need to know what exactly that format is for each lol.

Code folding is where you can minimize certain sections of code. For example, an entire Repeat loop. If you had something like

Repeat getKey(15)
For(A,1,10
Pt-On(8*A,10,Pic0
End
End

You could minimize it so it would look like

Repeat getKey(15)
For(A,1,10 ...
End

And from there even further to

Repeat getKey(15) ...

It still retains all text values, but the editor minimizes what the overall code looks like. Here's an example picture I found on Google
Spoiler For image:
(http://blogs.mathworks.com/images/desktop/ken_orr_code_folding_r2008a/code_folding_edit.jpg)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 28, 2011, 12:42:14 pm
Still can't open it... :(
Code: [Select]
albert@albert-PC ~/TICalc/BexIDE1.1 $ mono bexide.exe
System.NullReferenceException: Object reference not set to an instance of an object
  at ICSharpCode.TextEditor.TextAreaControl.AdjustScrollBars () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) ICSharpCode.TextEditor.TextAreaControl:AdjustScrollBars ()
  at ICSharpCode.TextEditor.TextArea.OnPaint (System.Windows.Forms.PaintEventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Yeong on December 28, 2011, 01:04:29 pm
I really have to try this even though I won't be using this much since I'm more of a on-calc programmer
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 28, 2011, 01:32:35 pm
@albert: Darn :( at least the file accessing thing was fixed lol. All those errors seem to just be with the editor, so I could try to just make a forked release that just uses a modified RichTextBox for Linux.

@TBO, I think after v1.2, you might want to use this more ;) that is, if you use tilemaps in Axe or pictures lol
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 28, 2011, 02:30:36 pm
@albert: Darn :( at least the file accessing thing was fixed lol. All those errors seem to just be with the editor, so I could try to just make a forked release that just uses a modified RichTextBox for Linux.
Or... you can use Mono.Texteditor! :D (A RichTextBox seems.... uncode-y :P)

Mono.TextEditor is from MonoDevelop, which is forked from SharpDevelop... and you guessed it, contains the ICSharpCode.TextEditor library! :) So technically, Mono.TextEditor should be similar in API.

In .NET, are you allowed to do conditional library imports? That way, you don't have to fork the code and worry about two platform codes.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 28, 2011, 02:44:22 pm
@albert: Darn :( at least the file accessing thing was fixed lol. All those errors seem to just be with the editor, so I could try to just make a forked release that just uses a modified RichTextBox for Linux.
Or... you can use Mono.Texteditor! :D (A RichTextBox seems.... uncode-y :P)

Mono.TextEditor is from MonoDevelop, which is forked from SharpDevelop... and you guessed it, contains the ICSharpCode.TextEditor library! :) So technically, Mono.TextEditor should be similar in API.

In .NET, are you allowed to do conditional library imports? That way, you don't have to fork the code and worry about two platform codes.
Hmm... I have Mono setup on my desktop, so methinks I'll have to look into that. And I'm not sure about conditional imports, but the way I'm setting up the tabs, I could probably do something different for the editor per tab. Does Mono define some kind of unique pre-processor token? If it does, I could just check against that.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: alberthrocks on December 28, 2011, 07:15:22 pm
Hmm... I have Mono setup on my desktop, so methinks I'll have to look into that. And I'm not sure about conditional imports, but the way I'm setting up the tabs, I could probably do something different for the editor per tab. Does Mono define some kind of unique pre-processor token? If it does, I could just check against that.
After intensive searching, I've found this:
http://stackoverflow.com/questions/5159657/isolate-mono-specific-code

Code: [Select]
#if __MonoCS__
 //mono specific code
#else
 //other code
#endif

woot! :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on December 28, 2011, 07:32:30 pm
Woot indeed! That makes it a lot easier! So after I'm done with 1.2, I'll throw it into Mono, add functionality for its editor, and away we go!
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on January 02, 2012, 07:22:42 pm
I think the sprite editor doesn't quite work for large sprites.
(http://img.removedfromgame.com/imgs/screwup.png)


The sprite is supposed to look like this:
(http://img.removedfromgame.com/imgs/0-enemy.bmp)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 02, 2012, 08:56:16 pm
Hmm... I tried recreating your sprite by hand (in the sprite editor) and this is what I got:

1D38F9FF5F0F0E1E
C0E0FFFFFF7C7CFC
000080C0F0180C6E
1E3E7F7F7F7F7F7F
FC7CBE9F1F43C0D8
6E0E1FFFFEFCD802
3F3F1F0F07030000
D2F3FFFFFFFFFF3F
5EFEFCF8F0E0C000

When I click refresh with that hex nothing changes, either. Can you try breaking up your text into 16 characters per line? I think it might be something wrong with my string parsing method, but I'm not sure.

EDIT: That is, if something is wrong (which if that hex has worked in your game correctly, then something might be wrong). Also, remember, it parses it left to right, top to bottom (with that priority). If it's formatted for top to bottom, left to right then it may not work.

EDIT 2: This is the format that BexIDE wants:

*************
* 1 * 2 * 3 *
*************
* 4 * 5 * 6 *
*************
* 7 * 8 * 9 *
*************
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on January 02, 2012, 09:31:47 pm
It works on calc, but I have know idea what format axe bitmaps use.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 02, 2012, 09:48:53 pm
Hmm... What did you use to get the hex for the bitmap?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on January 02, 2012, 10:09:35 pm
Jacobly hand-converted one for me, and the other bitmaps I made from a program quigibo made. (Ill go find that code)
Edit: Here it is
http://ourl.ca/9165;msg=216937
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 02, 2012, 10:17:12 pm
Alright. In the meantime I thought of something else. BexIDE loads and stores sprites in this format: (I don't know what it's called, maybe tilemap?)

1D38F9FF5F0F0E1E
C0E0FFFFFF7C7CFC
000080C0F0180C6E
1E3E7F7F7F7F7F7F
FC7CBE9F1F43C0D8
6E0E1FFFFEFCD802
3F3F1F0F07030000
D2F3FFFFFFFFFF3F
5EFEFCF8F0E0C000


I actually do not know the format for bitmaps, so I'd imagine that that would be handier to know.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on January 02, 2012, 10:20:07 pm
Posted it. Quigibo also added the 1818 in the beginning in that program to show that it's a 24x24 bitmap.

Edit: the 1818 probably screwed it up. I think I found the problem :p
Its not part of the sprite, so I'll remove that, then it should work.

But still, your hex is different from my hex
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 03, 2012, 05:55:23 pm
Ok, so, the reason why my hex is different from yours is because BexIDE parses the sprites like tilemaps:

*************
* 1 * 2 * 3 *
*************
* 4 * 5 * 6 *
*************
* 7 * 8 * 9 *
*************

Then it throws the hex of each sprite on a new line. However, I should be just be parsing the sprite straight through on a row until I get to the end of said row, and move on to the next one. I'll fix that for 1.2. Thanks for pointing that out! :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 06, 2012, 11:11:25 pm
Ok, nevermind. I can't understand why our hexes are different. I tried putting mine on my calc and it displays your enemy fine.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on January 06, 2012, 11:13:49 pm
Wow... I'll check if there is something wrong with those hexes I had, because it doesnt work in bex. If I can't figure it out, ask jacobly since he converted the pic to hex for me :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Quigibo on January 06, 2012, 11:16:57 pm
Both formats are correct but work with different commands.  If drawn using the Pt-Logic() commands, it needs to be in the "tilemap" format, but if drawn with Bitmap() it needs to be in the bitmap format.  So rather than changing your IDE, you should probably just add a radio button/checkbox to toggle which format the programmer is trying to use.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 06, 2012, 11:18:55 pm
Ahh, okay. The Bitmap format would be just in a single line with the two dimensions first then, right?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Quigibo on January 06, 2012, 11:21:18 pm
Yes, and also the extra space is required to be padded with 0s in the case of widths that are non-multiples of 8.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 06, 2012, 11:23:10 pm
Alrighty; can do. And for the Bitmap format, does width or height come first?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on January 06, 2012, 11:28:11 pm
Yup, 4 hex characters come first.  I forgot if its width then height, or height then width, but it shouldn't matter if you're editor is for square sprites :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 06, 2012, 11:31:16 pm
Well it's not just squares lol. I think I just locked the rows/columns so they HAD to be multiples of 8, so there could be a 16x8 sprite. Oh well, though. I can mess around with Bitmap for a couple of minutes if necessary lol.

Thanks, though, Quigibo. And you too, epic7. You've helped add a feature :D haha

EDIT
Spoiler For the work policy I'm going by for BexIDE right now:
(http://memegenerator.net/cache/instances/400x/12/12652/12956588.jpg)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: epic7 on January 07, 2012, 07:49:39 pm
:D /me visits memegenerator.net
SO I CAN MEME-IFY ALL THE THINGS!
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Wellen on January 08, 2012, 08:26:07 am
Just one problem, imo :
When programming in Axe, the code-folding is a little bit buggy/weird, because the 'Then' token is not needed in the If statements, and so If statements are not detected..
And so something like
Code: ("Axe") [Select]
Repeat getkey(15)
If A=5
A->C
Else
B+42->C
End
End
Is sumed as
Code: ("Axe") [Select]
Repeat getkey(15) [...]
End
instead of
Code: ("Axe") [Select]
Repeat getkey(15)
If A=5 [...]
End

Don't know if you can do anything about that (like detect if there's a header at the beginning or what.. don't know at all how to do that ;D)
But, yeah, just wanted to tell ya.

Anyway, great project, I use it more and more :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 08, 2012, 02:42:15 pm
Ahh, thank you! When opening files the folding is buggy (but that's a problem on the editor's part, not mine). I actually just changed it so that it will recognize whether to fold for Axe or BASIC, so that's fixed for 1.2! :D

Thanks!
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Wellen on January 08, 2012, 04:08:40 pm
Oh and another question, will you implement incrementation indentation, after all the things ya have to do ? :)
Ain't really that essential, but it looks good ^^
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 08, 2012, 04:11:47 pm
Hmm... I'm not quite sure what you mean by "incrementation."
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Wellen on January 08, 2012, 04:19:53 pm
Oh, sorry, I meant
replace
Code: [Select]
Repeat getkey(15)
If A=5
A->C
Else
B+42->C
End
End
with :
Code: [Select]
Repeat getkey(15)
   If A=5
      A->C
   Else
      B+42->C
   End
End

Also what's the word for that ? huhu
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 08, 2012, 04:24:57 pm
Oh, indentation. That wouldn't be hard. Do you mean auto-indentation? Where if you type in Repeat getKey(15) and hit enter it automatically changes it to
Quote

Repeat getKey(15)
  |
End
Where | is the cursor?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Wellen on January 08, 2012, 04:29:58 pm
Yep, that's exactly it :)
Also, when opening a file, which has already been written in another IDE or on-calc, would it be possible to indent the whole code ?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 08, 2012, 04:37:49 pm
Also, when opening a file, which has already been written in another IDE or on-calc.

I knew you were going to say that ;) that'd require me to do some post-opening editing (to indent everything correctly), but I don't think it would be too hard. Would it be better on-calc to have the tabs replaced by zero, one, or more spaces?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Wellen on January 08, 2012, 04:46:11 pm
I knew you were going to say that ;)
:D

Would it be better on-calc to have the tabs replaced by zero, one, or more spaces?
I think replaced by zero, because of the lack of space on the screen :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 08, 2012, 04:50:46 pm
Alrighty then. In Bex, is 2 spaces acceptable for a tab? If you press TAB it will still insert the tab character, but it would only display it as two spaces. Is that enough, or should I go for the standard 4 (or some other number)? (Example attached)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Wellen on January 08, 2012, 04:58:19 pm
Imo, 2 spaces are good..

If you have 4-spaces-indentation, and a lot of loops into each other, you'd have to scroll horizontally, could become boring XD

But I'm not the only one who decides :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Deep Toaster on January 08, 2012, 04:58:40 pm
I think two would be better in this case because you can get pretty deep in nested loops/conditionals in TI-BASIC.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 08, 2012, 04:59:17 pm
Okay, two it is then :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on January 11, 2012, 09:04:52 pm
Okay, so, this is just an update on the progress. I have implemented tabs (along with save all), fixed sprite insertion for tilemaps, modified the SpriteDesigner component (what you'll notice on the user side, though, is you can click and drag now), find/replace scope is now all opened documents (DJ O ;)), sprite insertion can now be tilemap or bitmap format, and there's a program manager to edit all opened programs. The picture editor is in the works (the library is at it's core complete), and I have a fairly good idea on how I'm going to do the tilemap editor.
EDIT: Oh, and the editors automatically detect code folding for Axe or BASIC.

Auto-indentation, however, might be saved for version 1.3 (sorry Wellen :/). If I or others can't think of any other features for next versions (1.2 is pretty much set in stone at the moment), then I'll see about adding auto-indent and maybe auto-complete to 1.2.

EDIT 2: I'll be working on my own, but does someone want to try to make an icon no larger than 32x32? ;)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Wellen on January 21, 2012, 07:32:58 am
Lol take your time, I'm not that hurried ;)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on February 01, 2012, 03:17:58 pm
Good to hear about the updates. Good luck with the project. :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on February 07, 2012, 09:06:11 pm
So I've attached what the tilemap editor looks like right now. Any suggestions, or does it look good so far? The "negative space" to the right is where the editing control is going to go.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 04, 2012, 12:25:02 pm
v1.2A Snapshot
Well, it's not the full 1.2, but it's a snapshot! :D Here's a copy-and-paste from the readme because it pretty much sums up everything that's changed from 1.1 so far: (* denotes a change, + denotes an addition, - denotes a removal)

Quote
   Thanks for this snapshot release
   go out to Quigibo (idea for option to insert code as tilemap or bitmap
   format), DJ_O (modified search/replace scope), and alberthrocks for his
   continually trying to see if BexIDE will run on Mono out-of-the-box (which
   it won't until I find an editor compatible with both Mono and .NET :/).
   * Implemented tabs
   * Fixed sprite insertion
   * Reworked some code for the future (Constants8x.cs)
   * Modified SpriteDesigner component (now MIEditor, short for monochrome
    image editor)
   * Find/replace scope changed to all opened documents
   * Sprite insertion now allows for tilemap or bitmap format
   * Tool forms are newly created whenever opened instead of recycled
   + Added picture editor :D
   + Added program manager. Basically this lets you edit the information for
    all opened programs rather than switching tabs and using the program
    drop-down menu.
   + Added a logger. Logs things that go wrong (at least ones I think would
    possibly go wrong).
   - Can no longer use // comments

As always, if there are any bugs to be found, please let me know! There are some things I need to do before I release the full 1.2A, such as: finish the tilemap editor, implement text drawing for the image editor, auto-indent, and get a new editor for Linux compatibility (I think I might just go back to the editor I used in 1.0A and fix the regex for comments). Oh, and um... "Replace All" is kind of buggy... It causes a stack overflow sometimes <_< but not to worry! My logging tool catches that so the only thing you'll get is a message saying that the full operation could not be completed.



I have a feeling that I've forgotten something... Hmm...
Oh well! Here's the good stuff ;)
Binaries (executable) link (http://www.mediafire.com/download.php?a27cnvdc11id3ip) || Source link (http://www.mediafire.com/download.php?pb3bo22c1sfctop)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 04, 2012, 02:50:14 pm
Can you add a full bitmap editor ? I mean a bitmap that can use even 256*256 pixels. :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Hayleia on March 04, 2012, 02:55:30 pm
Another feature request.
Could you make that when I right click on a prog and say "open with BexIDE", well, it opens the program with BexIDE :P ?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 04, 2012, 03:59:09 pm
Can you add a full bitmap editor ? I mean a bitmap that can use even 256*256 pixels. :)
Well this is an IDE for the TI-84+/SE, which doesn't have colors lol.

Another feature request.
Could you make that when I right click on a prog and say "open with BexIDE", well, it opens the program with BexIDE :P ?
Ahh, yes. I had completely forgotten about that! xD Yeah, I can do that; I'll get it implemented by tomorrow. :)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 05, 2012, 11:46:02 am
Can you add a full bitmap editor ? I mean a bitmap that can use even 256*256 pixels. :)
Well this is an IDE for the TI-84+/SE, which doesn't have colors lol.
bitmap monochrom*
It seems logical to me. O.O

In Axe I can convert a bitmap with X width and Y height both including a number between 0 and 255. You have limited your IDE to 24*24 pixels... :banghead:
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 05, 2012, 03:23:51 pm
No no no, that's the sprite editor, not the image editor. And sorry, I thought you meant colors for some reason lol. But yeah, I know it's only 24x24. I had to hand make the control, and it breaks for anything larger than 24x24. I'll work on fixing that.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 05, 2012, 03:50:47 pm
Thank you, this feature could help me a lot. :o
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 05, 2012, 06:53:23 pm
@Hayleia: I've implemented it! If you set BexIDE as the default program to open .8xp files, they will open in BexIDE as well. If you want to open multiple files from outside of the program, you can select them from Window Explorer and drag them onto the BexIDE executable and they'll open. You can't just hit enter when you have them selected, though. I'm working on fixing that. After I fix the sprite editor to help kindermoumoute, I'll update the snapshot download :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 07, 2012, 09:03:19 pm
Woot! Sprite editing now goes up to 256x256 (though after about 108x108 it gets laggy, I'll see about possibly making a background worker or adding a thread), and if you set BexIDE to the default program for .8XP files, it will open them! :D

New links: executable (http://www.mediafire.com/download.php?a9djba4hlhjjhsp) | source (http://www.mediafire.com/download.php?f6mpdvenm9xnn9f) (links are also updated in my signature)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 08, 2012, 07:15:26 am
though after about 108x108 it gets laggy
2nd crash at 120 176... I'll retry it again. :/

EDIT : a thousand minutes after : 136 176...

EDIT2 : ok I see.. that's because I was in tilemap option... :o

EDIT3 : Is it possible to add a convertor of bitmap monochrome picture (eg. made with paint) to calc's bitmap data... XD
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Jonius7 on March 08, 2012, 07:38:58 am
Wow, I had glanced at this topic title a few times before, but now I come to look at it it is quite similar to TokenIDE. How could I have not come across this before?
Now downloaded it and trying, I am loving the Picture Editor!
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Hayleia on March 08, 2012, 10:42:33 am
@Hayleia: I've implemented it! If you set BexIDE as the default program to open .8xp files, they will open in BexIDE as well. If you want to open multiple files from outside of the program, you can select them from Window Explorer and drag them onto the BexIDE executable and they'll open. You can't just hit enter when you have them selected, though. I'm working on fixing that. After I fix the sprite editor to help kindermoumoute, I'll update the snapshot download :D
???
Drag and drop opens a new file in BexIDE.
Setting BexIDE as default program to open 8xp says "NAME.8xp is not a valid Win32 application" (or something like that) when I try to open NAME.8xp.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 08, 2012, 12:33:51 pm
I don't have the same problem, I can set BexIDE as default program to open 8xp, but when I want to start a file it just launched as a new BexIDE program.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 08, 2012, 05:28:37 pm
@kindermoumoute: Wait, did it really go faster when you had the bitmap option selected? Also, as for actual bitmaps, yes I plan to add support for that. I don't think it would be 4-level grayscale, though. I would have a function to determine if a color was light or dark. If it was light that pixel would be white, and dark would be black. Would that work for what you wanted? (I'd imagine it's for that pixel-mapping program you're working on with Hayleia?) EDIT: Yeah, the problem with opening that you're having is what I noticed too. It works if you have it open already, though.

@Hayleia: I have a lot of school work I have to do tonight, probably tomorrow night, and most likely over the weekend. I'll check it out because I also noticed that it sometimes doesn't work when you double-click just one file. Um... Having an error like "NAME.8xp is not a valid Win32 application" might mean that Windows did something wrong with setting some property. Try re-setting BexIDE to be the default program to open .8xp files.

EDIT: Thanks Jonius! :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on March 08, 2012, 06:23:24 pm
A suggestion I have would be to allow the user to make tabs appear in multiple rows, so for example if he's editing like 40 programs at once, he doesn't need to constantly scroll during minutes through the tabs to find a program. By the way nice progress so far. I kinda fell out of the loop over the past few months due to some circumnstances, so my apologies for not checking until now.

Also another suggestion: The ability to Find/Replace linebreaks. If, for example, I have an old program that has every line of code in one line (to save scrolling time on 2:GOTO) and I want to replace : characters with linebreaks. But again I guess maybe it would be best to just add an option to separate lines of code?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 08, 2012, 08:30:19 pm
Alright, the multi-row thing isn't hard to do. It's literally just a property of the TabControl lol. But thanks!

As for the line breaks, I can do that, but I'd probably do it when I add auto-tabbing because I don't think either of the editors I'm looking at will do it for me when I open files, so I'm going to have to do that myself. When I do, I'll be checking for new lines and whatnot, so it won't be hard to establish if a colon is within a string or not.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on March 08, 2012, 09:08:03 pm
Ah I see. Would there be a way to just have an option that simply permanently converts the : lines of code separators by new lines? It doesn't need to parse : as linebreak in real-time during editing since that might be a bit annoying, but just converting them would be nice. And yeah of course it needs to make sure it's not part of a string.

Another idea I just got: A tool that grabs all the strings available in a project and let you edit them without having to find them. Once you click finish, it replaces the text in the program.

RPG Maker has such third-party tool available and it's used a lot by people who wants to translate games. Otherwise, when translating you always forget a few text because it's all spread accross the program most of the time.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 08, 2012, 09:12:53 pm
Well, technically I could do it by using a string split, but that would parse literally every colon, whether it was in a string or not. But I wouldn't do it in real-time, just when opening files (if the user wants).

As for the string manipulation, I suppose I could do that. It doesn't seem too hard while I'm thinking about it, seeing as quotes are used solely for strings.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 09, 2012, 10:14:03 am
Wait, did it really go faster when you had the bitmap option selected?
Yes, it goes really faster. Actually I can't up to 256*256 with sprite option selected.

If it was light that pixel would be white, and dark would be black. Would that work for what you wanted?
I don't ask anymore, none software do that for the moment.

(I'd imagine it's for that pixel-mapping program you're working on with Hayleia?)
yes, actually we're working on editor on-calc.

I though you could integrate bitmap editor with the same way than Pictures editor, because 256*256 is really big with sprite editor. *.*
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Hayleia on March 09, 2012, 10:29:28 am
@Hayleia: I have a lot of school work I have to do tonight, probably tomorrow night, and most likely over the weekend. I'll check it out because I also noticed that it sometimes doesn't work when you double-click just one file. Um... Having an error like "NAME.8xp is not a valid Win32 application" might mean that Windows did something wrong with setting some property. Try re-setting BexIDE to be the default program to open .8xp files.
Yes, I gues that Windows failed a lot. When I first try to use it here is what first happens:
I clicked "open with", "choose in list", "browse", selected BexIDE, it appeared in the list, "always use this program", "ok", then nothing happened ???
I clicked "open with", "choose in list", "browse", selected BexIDE, it didn't even appear in the list ??? ???
Then, I smartly thought (:P) "why not setting a shortcut as program to launch .8xp" and it said "NAME.8xp is not a valid Win32 application". Now, the shortcut doesn't appear in the list either D:

/me creates a new shortcut
 :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 09, 2012, 12:45:29 pm
I tested Ctrl+F : "Find word" don't work and "replace word" make me crashed. D:
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Yeong on March 09, 2012, 09:10:04 pm
feature request: ability to modify greyscale sprites?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 10, 2012, 09:11:15 am
I though you could integrate bitmap editor with the same way than Pictures editor, because 256*256 is really big with sprite editor. *.*

I can't really integrate them together, but I can use a picture-box as the base like I did for the picture editor so it won't be so buggy/laggy (which I'm probably going to end up doing when I get time).

@Hayleia: I have a lot of school work I have to do tonight, probably tomorrow night, and most likely over the weekend. I'll check it out because I also noticed that it sometimes doesn't work when you double-click just one file. Um... Having an error like "NAME.8xp is not a valid Win32 application" might mean that Windows did something wrong with setting some property. Try re-setting BexIDE to be the default program to open .8xp files.
Yes, I gues that Windows failed a lot. When I first try to use it here is what first happens:
I clicked "open with", "choose in list", "browse", selected BexIDE, it appeared in the list, "always use this program", "ok", then nothing happened ???
I clicked "open with", "choose in list", "browse", selected BexIDE, it didn't even appear in the list ??? ???
Then, I smartly thought (:P) "why not setting a shortcut as program to launch .8xp" and it said "NAME.8xp is not a valid Win32 application". Now, the shortcut doesn't appear in the list either D:

/me creates a new shortcut
 :P

I've been working on this and it's quite tricky the way that .NET makes you do it (at least the "easiest" way, which I don't think is compatible with Mono, unless it has support for the Microsoft.VisualBasic.ApplicationServices namespace...) /me calls on alberthrocks
 It worked at first from a way that somebody showed me on MSDN, but now it doesn't...

feature request: ability to modify greyscale sprites?

I shall see what I can do! I might just throw that in there when I make the new sprite editor.

I tested Ctrl+F : "Find word" don't work and "replace word" make me crashed. D:

Can you copy and paste what the error message said? The details part?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 10, 2012, 10:55:49 am
"Find world" don't scroll to show the word, and I don't know why it crashed to replace words... it was just displaying "not responding". :/
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 10, 2012, 11:08:14 am
Oh yeah. I know it doesn't scroll. That's more of a problem on the editor's side. I'm not exactly worried about that part though because I'm more than likely going to be changing the editor I'm using. But for the replacing I'm not sure... I used the replace method from the ICSharpCode forums that one of the people working on the project posted. Oh well though. If I used the editor I used for 1.0, then there won't be a problem (but we might lose the ability to search across tabs).
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 13, 2012, 02:16:52 pm
How to use modulo 256 in axe : ^256. It converts ²56... :/
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 13, 2012, 03:36:57 pm
Is this a problem with BexIDE, or just an Axe problem?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on March 13, 2012, 05:07:46 pm
It comes from BexIDE, when I save my program, it convert ²56 (3 tokens) instad of ^256 (4 tokens).
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on March 13, 2012, 05:27:30 pm
Ooohhh, okay. What you can do to fix that is edit the tokens file. Near the beginning of the file you'll find a token entry that has text="^2". That's the ² token. You can change it to something like text="^^2" to fix it. Just note, though, that if you ever want the ² token you'll need to do ^^2 instead of ^2.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on April 14, 2012, 05:56:32 pm
Up. No update ?

If you don't know what you can change : in Axe, "words->Pic1Ptr is converted as a string "words->Pic1Ptr". In fact it should convert "words"→Pic1Ptr.

Another problem : "Pic1"->Ptr When the program is converted, the token Pic1 is converted as a string of 4 letters..

Is it possible to use a token syntaxe as used for |v| or |u| ?

I thought it could solve much problems |^2|, |Pic1|, |Str1|...
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on April 14, 2012, 02:49:42 pm
Well there's no update because I haven't been working on this lol. As for the words thing, I just basically "brute force parse" the text. If you add delimiters to some token text values in the token file (like what you said, "|^2|," "|Pic1|," etc.) it should work. I suppose parsing would be more elegant and accurate if I used regular expressions...

What do you mean by "Pic1Ptr?" Do you mean doing something like "Pic114?"
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on April 14, 2012, 04:43:44 pm
In Axe Pic1Ptr is a static pointer, like Pic114 or Str1.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on May 18, 2012, 08:03:24 pm
After taking a break from my major projects, and now that summer is almost here, I have decided that BexIDE will be my main priority alongside Hadean.

I have also decided that instead of building off of what currently exists of the source for BexIDE and modifying it, I am going to completely revamp it and start from scratch. Here are some of my plans off the top of my head: (I may add to this list)
Any other requests are welcome.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: kindermoumoute on May 19, 2012, 05:35:18 am
Request : Each tokens should be colorized, and with auto-completion it could suggest token or letter.

I can't wait to see those feature. ;)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on May 19, 2012, 09:45:37 am
Request : Each tokens should be colorized, and with auto-completion it could suggest token or letter.

Alright, can do. I'm going to change the token file format to make it easier to read and create other tokens (it is still going to be XML), and I was going to have an optional color property for each token (default would be black). I was thinking something like this for each entry:

<token color="Blue" style="Italic|Bold"> <!-- color can be named or #HEX, and using | for style will allow for multiple styles -->
  <text>abs(</text>
  <bytes>$B2</bytes>
  <group>Math</group> <!-- will allow for custom groups -->
  <syntax>abs(#number)</syntax>
  <desc>Returns the absolute value of the given number.</desc>
</token>


Now, I was planning to not release this (or any snapshots) until it was completely done, but I am going to need at least one person to help test it along the way. This version (I'm going to say it is 1.3 alpha because I pretty much scrapped 1.2, though I still have the source) is going to be the final alpha version for BexIDE once there are no bugs. Then we move on to beta and .NET application conversion :D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on July 23, 2012, 09:43:29 pm
I am stopping all development of BexIDE by me. I am no longer interested in such a project, and I have no time to work on it along with my other projects which are receiving my full attention. I am including what I had as of the last time I worked on BexIDE as an attachment under the GPLv3 license (included in the ZIP file). The attached version includes a theme-supported ToolStripRenderer, very easy .8x* loading / saving (though not thoroughly tested), and an updated and more customizable token format. There may be more, but I cannot think of everything I have done with it.

For the very small number of you actually interested in the project, I am sorry.

For everyone else, feel free to look at the source and do whatever you want with it, as long as those actions are license-permitted. All other versions, including the one attached, are able to be downloaded from here (http://www.mediafire.com/bexide). In all honesty, I cannot say that I was ever very proud of BexIDE as I always opted for the easier, lazy ways of performing certain tasks, and I felt like I cheated myself in some way in doing so, even with this most recent "version."

As a recap: I will no longer be working on BexIDE, and the most recent work I have done for the project is attached (along with its license).
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on July 26, 2012, 07:09:59 pm
Sorry to hear. Is this release functional to be used in a project? I might give it a try at one point to see how it looks like, although I no longer do any calc dev (which is the reason why I stopped replying for a long while).

Maybe Merthsoft could re-use some of your BexIDE ideas for Token? He is still maintaining it if I remember.

Will you still frequent Omni and post about some of your project, though? It would suck to see you go D:
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on July 26, 2012, 09:32:28 pm
No, this release is far from functional in its current state. It technically could be at least used to open, edit, and save programs if a textbox were to be added. For AppVars I planned to use a hex-editor (which is in the bin/Debug folder), and for pictures I was going to salvage my old image editor, but those abilities are not available as-shipped.

Merthsoft can use whatever he feels he can from BexIDE, but again, the license must be adhered to. I don't think it is too limiting if he decided to use anything, though I'm sure what he has now is better than what I had.

I will still visit Omnimaga because I'm following Antelope (OPIA), and I'll post about my current projects (an unnamed game and a compiler for a game-oriented programming language which is still in planning) as I get some actual news to post about, but I no longer do any kind of development for the calculator either, so anything I post about would not be calc-related.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on July 26, 2012, 09:37:39 pm
Ah ok I see. One issue there was in recent years actually is that there were three offline BASIC/Axe editors being developed at the same time, so the minute one led, it pretty much caused the others, especially Cooliojazz's, to barely receive any attention, which probably explains why you didn't get much reply. It was still quite promising, though, especially the batch modify/replace stuff. As for the license I guess it's ok unless the software is like 800 MB large and that Merth is required to provide a copy with his Token software. :P

I hope you still continue coding, though. Also I don't mind if people post Android projects since it got more popular lately and a lot of us got an android device and might be interested. As for being active I'm glad you'll stick around. I myself stopped calc stuff over 2 years ago but still stayed around (in fact my most active months were at the beginning of that period lol). I'm not as much active since May or so, though, although now that it's vacations, there are days where I post a lot due to having extra free time.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on July 26, 2012, 09:54:13 pm
Well the zip is only 442 KB, so I don't think Merth would have much to look through lol. But yeah, I understand. His was released far before mine, and I only released mine on here and Cemetech (not TI-Calc), so it didn't get much exposure, but either way I'm fine with that. All-in-all, the project helped me a lot with understanding file structures and bits / bytes.

My game is written in C# with OpenGL targeting .NET 2, so it should run on pretty much any Windows computer, and any Linux/Mac with Mono installed. I have yet to decide if it will be open source or not, but I am a large proponent of open source software (as evidenced by BexIDE), so it more than likely will be. As with the language, like I said it is still in planning, but I plan to have it rely heavily on OpenGL / OpenAL with my own wrappers and target the .NET framework, with possible compilation to Java as well to allow for easy multi-platform support, including Android. (I would have to look into Apple devices, but I am not entirely sure about them.)
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: cooliojazz on July 27, 2012, 01:06:35 am
It's too bad about this, I know how you feel, with TFE and all.  This was coming along pretty well too =(  Hope your game comes out awesome now that you're fully devoted to it though ;D
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: BlakPilar on July 27, 2012, 12:10:00 pm
TFE? But thank you for the support. It was pretty fun working on it, especially the GDI+ bits, but like I said, I am no longer interested in developing this type of IDE.

And thanks ;) I hope that my game comes out great, too.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Vijfhoek on October 30, 2012, 04:27:41 pm
I decided to continue working on Bex, seeing that I really liked it. I've already upgraded the sprite editor to Axe's 4-gray sprites.
I still have to brainstorm for more features, any ideas are welcome.

(http://i.imgur.com/lN0CT.png)

I hope you don't mind me BUMP'ing this topic like crazy.

--EDIT-- Also, BlakPilar, whenever you read this, would you mind if I put this up on something like Github?
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Hayleia on October 31, 2012, 02:28:38 am
I decided to continue working on Bex, seeing that I really liked it. I've already upgraded the sprite editor to Axe's 4-gray sprites.
O.O Awesome :D
And great idea to pick this project back up :D

I hope you don't mind me BUMP'ing this topic like crazy.
I personally don't mind since you are making updates :P
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: DJ Omnimaga on October 31, 2012, 05:02:39 am
Glad this was revived. It seemed quite promising :D.
Title: Re: BexIDE -- An Axe/(Extended) BASIC Mini-IDE
Post by: Vijfhoek on October 31, 2012, 10:29:39 am
I might someday port this to C++, enabling Linux and Mac users to enjoy this too, without having to run Mono or something similar.