It's about time I man up and rewrite this monstrosity in the new and improved ICE Compiler. I'll be doing more than just a solid refactoring job, though. I've gotten lots of helpful feedback from you guys about what else you'd like to see in a new ICE Sprite Creator, and I've kind of storyboarded the layout for the new program. Here is what I have in mind:
    ►The Draw button will be moved from [Y=] to [2ND] and [ENTER] like most programs.
    ►The Draw button on [Y=] will be replaced with an Undo button which reverts to a buffer containing the sprite before the last edit
    ►"Del to export/exit" will be replaced with "[DEL] to manage sprites"
    ►Pressing [DEL] will load an entirely new screen. On this screen will be the ten OS sprite names (Str1-Str0) next to 8x8 thumbnails downsampled versions of the sprites, and a number expressing the string length. Sprite dimensions will be stored in an Appvar. If a string is found but does not have a corresponding dimension in the Appvar, a thumbnail will not be shown, and dimensions will have to be specified upon loading the sprite.
    ►In the menu, up and down arrow keys will navigate between the ten sprites and show a full size version (up to 128x128 or something, after that it will be downsampled) on the right side of the screen.
    ►The function keys will now read as New, Import, Export, and Quit. New will return to the sprite edit screen after prompting that the progress on the currently opened sprite will be lost this means that the progress in the editor will be lost, not that any OS string will be overwritten. Import will prompt the user to copy the OS string next to the cursor to the editor. Export will prompt the user to copy the sprite within the editor to OS string next to the cursor. Quit will prompt the user to exit the program after warning that the sprite in the editor will be lost unless it has been saved into an OS string.
    ►Instead of asking for dimensions, the program will automatically render with a blank 8x8 sprite upon starting it.
    ►Idiotproofing will be robust. No ludicrous sprite dimensions (over 100 width or height), No loading a sprite without a valid string length, asking for dimension confirmation if the dimension Appvar does not match the sprite data.
    ►Near instant exporting and importing, all within one program instead of two
    ►Near instant Fill function using floodFill and getPixel
Please let me know if you'd like any other features, or you have suggestions. I'd love to include rudimentary drawing tools as well, such as a line drawer, dragging sections of sprite, or loading a sprite into a larger sprite. I'll be rewriting it whenever I have the time.

Special thanks to PT_ for decompiling the original code into plaintext after I lost the source
I love the new planned features!

Can you add an icon drawing mode? It would be very cool to have it because the other icon creators are in Basic, which is quite slow. It uses the OS colors, but that shouldn't be that much of a problem.
jcgter777 wrote:
I love the new planned features!

Can you add an icon drawing mode? It would be very cool to have it because the other icon creators are in Basic, which is quite slow. It uses the OS colors, but that shouldn't be that much of a problem.

I could be wrong, but I believe that both ICE sprites and Cesium icons use the same formatting (two character of hex data per pixel) just that Cesium icons are required to be 8 by 8. Either way, I can add a preset to the editor that will load in a template Cesium icon.
Cesium icons use the color palette or whatever of the OS. (What's in the prgm->color menu).
I think they're 16x16
Cesium program icons are 16x16 and encoded in OS colors for BASIC programs. The ASM, C, ICE, etc icons are encoded in xlibc format.
ASM, C, and ICE icons use the same palette. And basic. Just different ways of defining them. No xlibc?
jcgter777 wrote:
Cesium icons use the color palette or whatever of the OS. (What's in the prgm->color menu).
I think they're 16x16
Ah, then I shall allow you to export 16x16 sprites in that format. Just to clarify, if I were to open a Cesium icon in a string, would it look something like "REDBLUEMEDGRAYBLACKBLACK... etc."? I'll need to do a little bit of math to put those chars into a string from an ICE program but it's nothing I can't do.

Edit: LAX18 has confirmed that Cesium icons are formatted identically as ICE sprites, but are constricted to 16x16 or 8x8. OS colors are converted to hex anyway, so there's no need to even worry about that.
  
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 1 of 1
» All times are UTC - 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

 

Advertisement