Omnimaga
Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: LincolnB on August 20, 2011, 07:04:35 pm
-
I'm starting a project, in Axe, for the TI-83/84+SE series of calcs. It's going to be a paint editor similar to/based off of mspaint (the regular paint program that comes with windows), bundled with a text editor.
The Paint program will most likely have the following graphics functions:
Lines
Squares/Rectangles
Custom Polygons
Different size brushes
Circles
Ovals
Flood Fill
Up to 4-level grayscale
and also other things, such as rectangular and free-form selection with copy/paste, invert, resize, rotate, etc.; some form an eraser / mass erase function; different levels of zoom; in-program sprite editing and inserting, and other features I can think. It will probably end up as a single-page app, that exports one or two 768 byte appvars that can be used as buffers in programs.
The Text Editor will have copy/paste, custom input as fast as I can make it (within reason), text selection, deletion, and insertion, a find/replace function (maybe) and as many lines as I can fit in the meager memory I have access to :P (compression help appreciated). It will also export to an appvar that will possibly also be computer-readable (help here will also be appreciated - might it work with Croquette?)
What do you think? This project is still only in concept phase, so I'm definitely taking feature requests into consideration.
-
COLORS
The most important function: UNDO
Anyway, great project :thumbsup:
-
The most important function: UNDO
Got it :)
-
Awesome! Yes, undo and redo would be amazing. Also, an easy way of changing the brush size would be nice :)
-
I'm thinking of having it so when you press Y=, a menu screen slides in from the left with a list of all the functions and stuff like that.
-
That'd be cool, but if you had to do that to change the brush size, imho it would get kind of annoying/tedious if you needed to change it often :/
-
I'm thinking of having it so when you press Y=, a menu screen slides in from the left with a list of all the functions and stuff like that.
With keyboard shortcuts, of course :)
-
If I knew Axe I would try to make this :P
-
make sure you add sparypaint XD
(Yeong loves spraypaint)
-
This is a great idea, lemme know if I can help out at all. Do you think it'd be possible to save to a computer image format?
-
have you thought about making it to where you export it to computer and you can just rename the file to txt and actually see what you wrote?
-
Darn. I was going to make this as well, but you beat me to posting about it. If you want any help with stuff, I'm really good at menus (I think I can do a slide-down menu pretty easily), and I can write custom Axioms. Just ask.
-
COLORS
YES MAKE SURE IT HAZ TEH BLUESCALEThe most important function: UNDO
Seconded. Good luck!
-
have you thought about making it to where you export it to computer and you can just rename the file to txt and actually see what you wrote?
Yeah, that was actually my original inspiration for the text editor. I'll eventually write a c++ program that converts the appvars into computer readable txt files.
Darn. I was going to make this as well, but you beat me to posting about it. If you want any help with stuff, I'm really good at menus (I think I can do a slide-down menu pretty easily), and I can write custom Axioms. Just ask.
I'll be sure to ask. Thanks!
-
Darn. I was going to make this as well, but you beat me to posting about it. If you want any help with stuff, I'm really good at menus (I think I can do a slide-down menu pretty easily), and I can write custom Axioms. Just ask.
I'll be sure to ask. Thanks!
You're welcome. About a converter, do you want me to make that? I was thinking about modifying the xml file that Tokens uses, and write the program to reverse the process. (Tokens = methersoft's Tokens IDE).
-
I was thinking about just using the fstream C++ library to output to files. The program would load up a .8xv file and output a .txt file.
-
yeah, bu then you have to rewrite ALL the byte conversions.
-
yeah, bu then you have to rewrite ALL the byte conversions.
eh, that's not so many. This way I have more control, plus, I have no idea what you said earlier, so yeah.
-
I'm just about finished with the Paint portion of the program (minus the menu, everything right now is based off of keyboard shortcuts), I'll upload screenies later today probably.
-
I'm experiencing some unexpected delays. Just know that it's coming along nicely and I'll get screenies/source up as soon as I feel like I'm ready.
Made all the text sprites today! Gosh, monospace fonts, what a pain...it's the best way, tho.
-
Okay, I've got text editing working. 80 inputtable characters right now. Saving/Loading was working fine until I started compiling this as an app...hopefully that will be resolved soon. Paint editing is not quite as done as text editing, but the only hard part of paint editing is going to be finding a good flood fill algorithm (or coming up with one). I haven't gone the flood fill algorithm much thought, yet, but if anyone has any ideas about it, that'd be great!
-
As for problems with Apps, are you using any variables that you made with something like this:
[0000]->GDB1Var
...
X->{GDB1Var}^r
Also, http://en.wikipedia.org/wiki/Flood_fill
I think the first one is what you would want. However, the best method I can think of would make heavy use of the stack, so an overflow error would be possible.
-
I found out the app issues, it was a dumb mistake I made. Also, thanks, I'll check out the link. Text editing is now complete! Now to work on paint editing, which is about half done.
-
Make sure to keep automatic backups of code! ;)
Speaking of backups, can it be possible to exit any time and still be able to continue working on a drawing without any saving? (This is NOT auto-saving, this is auto backup, like in MS Word where if you crash, all your work is saved.)
Also, will there be an option to export to TI-BASIC and Axe? (In particular, "optimized export" - drawing the image with as few commands as possible.)
-
Optimized export would be hard, but I think it would be possible. I would take a stab at it, but I'm really busy this year w/ school, so I can't.
-
UPDATE ish
So, this is basically done...all I need to do is a (pretty massive :P) code reorganization so it's easier for me to add the last coupla features to the Paint portion of the program.
It's a really simple program, and if I get around to making a PaintPad 2, it will have the advanced features that were originally intended, like copy/paste, brush size, undo/redo, stuff like that.
The features in the text editor are:
Inputting text (duh)
99 lines of text
20 characters (I think - it's around there) per line
Saving/Loading
about seventy inputtable characters - A-Z, a-z, 0-9, and a bunch of symbols
The GUI for the text editor is actually pretty good. It looks nice and simple and should be fairly conducive to a productive environment.
The paint program features:
Drawing pixels
Mass Erase (erasing large portions of the screen, but can also erase individual pixels)
Lines
Rectangles
Circles
3-lvl gray
EDIT: Inverting screen colors, on both gray and black
There it is. The text editor is intended for people to be able to read and write on-calc readme files for their programs, and the Paint editor is intended to make it easy to make menus and possibly cutscenes for programs/games.
Oh, and the readme for PaintPad is all On-Calc :D you open up the README text file through PaintPad. (with a screenshot showing how to open files, and probably a really small computer readme file dictating how)
-
is there an option for invert?
-
Oh yeah, I forgot to include that. Yes, there is.
-
idk if it's too much to ask, but can you add the sprite support; like saving some sprites in paintpad itself you can recall it or something
-
Hmm...that wouldn't be too hard. Probably only multiples of 8*8 size sprites would be supported though. After the code reorg, I'll see what I can do :)
-
:D
[offtopic] omg buttsfredkin, you're about to have 666 posts with 66 ratings O.o[/offtopic]
-
oh wow, I didn't notice that...
-
AH BUTTS YOU ARE NOW EVIL!!!!!! >:D
-
not anymore :P
-
Have you made any recent progress?
-
Yeah, I need to do a fairly massive code reorganization before I can use the Save/Load routines I wrote for the text editor portion in the paint editor portion. Should be relatively easy, I'll finish it as soon as I finish Futility, which I need to get out of the way for the contest, and I'm about half way done with the code reorg.
-
Does this program save as regular pictures (.8xi) that can be used in programs, or does it use its own format?
-
It exports a 768 byte appvar that can be copied to the screen with the simple axe command Copy:
Copy(POINTER_TO_APPV,L6,768)
Dispgraph
something like that^^ I don't know if this will be usable for BASIC programs.