Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Ah, I see! Being able to edit and see the xlib pictures would be an amazing feature! Can't wait to see that progress Smile
Check it out:

That's an xLIB image file with an xLIB palette.
Looks fantastic and works really well Smile
The UI is changed a bit, too:

This is with the Celtic palette. There's a drop down to pick a palette, and I've removed the "Insert" button. There will instead be options in the "File" menu to insert and copy to clipboard. There are still lots of bugs, so it's not really ready for consumption, I just wanted to show progress Smile
I tested it on my surface and it's surprisingly slow Sad. I'll have to work on speeding it up.
I worked on it on the plane, and it's a bit faster now. There are still a couple things I want to do to speed it up, but it's pretty okay now. I think the slowest thing is drawing to the actual bitmap as you draw shapes and stuff, so I just need to figure out the fastest way to do that and it should be fine.
Sounds good Smile Can't wait for the newer version!
I made some more progress last night:
    * The performance is now significantly better, though it still has a tough time with really big images. Luckily, it doesn't need to edit much more than the screen size, which it does pretty well with.
    * I've added the ability to edit and save xLib background pictures.
    * You can now insert the hex or copy it to the clipboard, but only if the palette is black and white or celtic. I'm not sure it'd be meaningful to do it with the xLib palette.
    * You can save in a raw binary format. Don't know why you would want to, but you can.

Expect a release Saturday.
Wow that is cool. Will this allow you to import existing sprite sheets (BMP, GIF, PNG, etc) too?
Yup. It can already do that, actually. And it'll convert it to the palette you have selected to the best of its abilities. All I really need to add is the ability to open/save pics and image files, which shouldn't be too hard, really.
Eager for the ability to generate the pic vars. Got a quick and easy project port, but it's such a pain to draw on the CSE :<
Okay, release time:
Some screenshots:
You can now open a PNG or other image file into the xLib palette:

Here are some images I loaded:


Space bee! (Thanks benryves <3):

Sneak peak of a future project?!

It's up to the programmer to make sure they're the right height--I don't want to limit anyone in case new functionality is added.

You can open image files and save them as images. You can also load 8xv files for xLib tile definitions and xLib BG images. You can save as those two, as well.

If you're on the celtic or black and white palettes, you can copy the hex to the clipboard or insert it at the current cursor location within the program. Use the "Use 'G' Optimization" checkbox to use the Celtic "G" optimization.

If you have the hex highlighted, you'll be prompted for the width to enter, height is calculated. Auto-size-detection has been lost in this version but will be added back in later (sorry Neutral).

Grid now uses a dotted line so it's not so in-your-face:

Still need to add picture/image loading. Don't worry, I'll get there.
Played around with it for a bit, seems to work well Smile

Now I have to learn xlibc so I can put it to good use!
I found a bug if you want to change the save directory it says unhanded exception occurred.
Can you paste the whole to exception?
************** Exception Text **************
System.Globalization.CultureNotFoundException: Culture is not supported.
Parameter name: name
neutral is an invalid culture identifier.
at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
at System.Reflection.RuntimeAssembly.GetReferencedAssemblies(RuntimeAssembly assembly)
at FolderSelect.Reflector..ctor(String an, String ns)
at FolderSelect.FolderSelectDialog.ShowDialog(IntPtr hWndOwner)
at Merthsoft.TokenIDE.Tokens.changeSaveDirectoryToolStripMenuItem_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
Assembly Version:
Win32 Version:
CodeBase: file:///C:/Users/Roxas/TokenIDE/TokenIDE.exe
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
Assembly Version:
Win32 Version: 4.0.30319.18014 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
Assembly Version:
Win32 Version: 4.0.30319.17929
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
Assembly Version:
Win32 Version: 4.0.30319.17929
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
Anonymously Hosted DynamicMethods Assembly
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
Assembly Version:
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging

For example:

<system.windows.forms jitDebugging="true" />

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Crap, missed that one when I fixed the other one. I'll work on fixing it.
Big list of stuff incoming!

Bugs/feature requests, in descending order of my guessed ratio of importance to feasibility of implementation:

    There's no redo capability.
    ▪ It would be nice if undo and redo were visible in the Edit menu.
    Commented lines contribute a byte to the live update byte counter.
    Multiple preprocessor definitions cannot have the same value. An error message complains that "An item with the same key has already been added," even though they certainly have different keys but the same value, which should be fine.
    ▪ A generalization of the "prettify code as you type" feature: when a group of characters is detected as a token, replace them with the token's primary representation.
    ▪ When opening program files, automatic injection of escape characters into sequences of tokens that would be (erroneously) re-tokenized as a single, larger token.
    ▪ An overhaul of the build method. Instead of having to select which target to build to with every build, have a single Build option and let the target be specified by some metadata somewhere. My initial suggestion would be to allow token xml files to specify a default target for files using that token file, but with a new directive allowed in files to override the target. This would then allow you to fix the fact that...
    ▪ The send to emulator features send the exact files being edited to the emulator. This works fine for files in an already-built format, such as a file like PROGRAM.8xp. But this tries to directly send source files like PROGRAM.8xp.txt as well. If the above feature is implemented, build target metadata would be available for any source .txt files, which could be automatically built and then sent to the emulator.
    ▪ Replace might help to fill out the Edit menu.

I'm also going to quote my old posts in this thread so I don't forget about (and you don't forget about!) those feature requests. Green means already implemented.

Runer112 wrote:
Some feature requests:

    ▪ A shortcut to escape the last multi-character token parsed. Perhaps Shift+Backspace or Alt+Backspace.
    ▪ A way to customize the escape character. Probably either via the settings file or the tokens XML file.
    ▪ An option to cause the escape character to be skipped over when moving the cursor, lumped with the next character when backspacing/deleting, etc. This would primarily be useful if the two features above are implemented and a zero-width space is used as the escape character, in which case the textual representation of escapes could be entirely hidden (I like pretty code). One could determine if a group of characters is a token by the presence of syntax highlighting or the grouping underline.
    ▪ A way to toggle representation of a group of characters as a token or individual characters. This would also primarily be useful if the features above are implemented and a zero-width space is used as the escape character, as this would allow one to escape/unescape a group of characters without having to directly interact with the escape character. This could possibly be implemented as a key shortcut, like Ctrl+T or Alt+T, that affects the characters around the cursor, or perhaps even by providing the capability in a context menu when right-clicking over the target group of characters?

Runer112 wrote:
It took a fair amount of time, but here's my hopefully complete and correct AxeTokens.xml:


And here's a list of every bug report/feature request I compiled while making it:
    The second expr( token at 5DF5 should not be included in the xml files
    ▪Tokens could have multiple groups
    ▪Closing parentheses, braces, and brackets could match the style of their matched opener
    ▪Auto-indenting as an option, and some way to make statements like Else indent properly
    Alt strings do not work if the token has a child token, and giving the child token an alt string throws an ambiguity error
    Do not open assembly programs (they start with BB 6D)
    Put site tag hyperlinks in the group/token information pane
And I almost forgot:
    ▪Prettifying of code as you type!
Wow glad there is a release! I'll wait for the fixed version and download it ASAP.
On the plane I fixed three things:
1. Exception when changing save directory
2. Exception when two preprocessor defines have the same value
3. Ctrl+Y is now redo

Will post an update when I get the chance.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 9 of 12
» All times are GMT - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum