Jump to content
unhuman

My Sprite Editor - Try it out - Updated layering

Recommended Posts

Got the layering working. I *think* I should make it such that you can actually edit the layers in the edit panel... That'd be a crapload more work b/c of architectural changes, but... I guess I should see if people use this before devoting that kind of time. Let me know what you think...

[attachment=163239:GraphiCV-SS.jpg]

Please note I've uploaded the source to GitHub: https://github.com/unhuman/GraphiCV
That would be the ideal way for others to branch / contribute to the code.

 

Latest jar: [attachment=439551:GraphiCV-1.0.zip]

 

OLD CODE:
[attachment=163516:GraphiCV2.zip]
[attachment=216454:GraphicCVsrc.zip]

-Howie

Updates:

1. separate out TI-99 ASM from XB. Rough. Combined output may be incorrect.
2. Fix display when in Asm and ColecoVision mode. Add inverse pixels.
3. Nicer display with delineation of individual chars.
4. Can click preview windows (or labels) to switch layers.
5. Copy / Swap layers by right clicking on previews.
6. Reset now lets you reset just layer or all

7. Colors display on Mac 2016-03-03

Edited by unhuman

Share this post


Link to post
Share on other sites
Took me a little while to work out how to change the sprite colours but that is A-W-E-S-O-M-E! Bloody fantastic work.

Are you taking suggestions at this stage or just gathering general interst? Either way this is a great multi-layered sprite editor.

Share this post


Link to post
Share on other sites
Both. If people want it, I'll try to do it. Unfortunately, I sorta screwed myself with the original architecture (single image) but did manage to finagle in layering pretty easily. The only thing I think it needs right now is ability to see what you're editing over / under... Aka - I think the edit pane should actually match the preview page... Otherwise, the only way you know where you are going, relatively, is to watch the preview window, and I find that awkward.

So - right now - the only 2 things I can think of are:
1. better layer-related editing (described above)
2. ability to copy / save / whatever so one could relatively easily develop animations.

And, whatever you've got.

[quote name='Bones-69' date='Mon May 31, 2010 8:38 PM' timestamp='1275352710' post='2023402']
Took me a little while to work out how to change the sprite colours but that is A-W-E-S-O-M-E! Bloody fantastic work.

Are you taking suggestions at this stage or just gathering general interst? Either way this is a great multi-layered sprite editor.
[/quote]

Share this post


Link to post
Share on other sites
To be honest I didn't find the edit pan distracting. I was quite comfortable with it.

I think what the world of TI sprite editors needs is a good function for creating multi-level (so multi coloured) - 64x64 sprite animations. Something where you can swap characters and mess around with timing would just plain rock.

Share this post


Link to post
Share on other sites
When you say 64x64, you do mean 16x16, correct?

What I was thinking for animations - and timing - was basically the ability to save off the combined views... And copy the entire combined view to another view... Hard to explain and hard for me right now to think about how I'd do it, but that's what I want to do.

Obviously, not making sense, but well intentioned, I assure you.

-H

[quote name='Bones-69' date='Mon May 31, 2010 9:16 PM' timestamp='1275354999' post='2023422']
To be honest I didn't find the edit pan distracting. I was quite comfortable with it.

I think what the world of TI sprite editors needs is a good function for creating multi-level (so multi coloured) - 64x64 sprite animations. Something where you can swap characters and mess around with timing would just plain rock.
[/quote]

Share this post


Link to post
Share on other sites
[quote name='unhuman' date='Tue Jun 1, 2010 11:41 AM' timestamp='1275356478' post='2023433']
When you say 64x64, you do mean 16x16, correct?[/quote]
Correct...! Didn't fully engage brain before keyboard.

Share this post


Link to post
Share on other sites
Awesome little app! Works great, no real complaints. Two wish-list items if you are going to keep working on it:

* Save / Load
* Export assembly language DATA statements

Thanks for a nice tool!

Matthew

Share this post


Link to post
Share on other sites
Tell me the format and I'll add 'em. Also - dunno how ASM works with colors... The coloring I do currently is for CV and not really XB, since each row can be 2 diff colors, but in XB it's by char. I need to do that too, perhaps... Tell me and I'll add if you'll use.

Note, you can paste char data into the text fields and it'll absorb those values. Not quite sure what to save otherwise...

BTW - I should publish updated source too.

-H

[quote name='matthew180' date='Tue Jun 1, 2010 12:04 PM' timestamp='1275408270' post='2023686']
Awesome little app! Works great, no real complaints. Two wish-list items if you are going to keep working on it:

* Save / Load
* Export assembly language DATA statements

Thanks for a nice tool!

Matthew
[/quote] Edited by unhuman

Share this post


Link to post
Share on other sites
This is slick man!! If you can get it to export to assembly, that would be super slick. You'll have to get the specs on that from Matthew or someone similar. I can't even get my freakin SPRITEs to appear in assembly right now!!! :) Im just used to XB and I'm trying to get into the assembly state of mind, so to speak. I'll definitely be using this thing for sure. Thanks, and I look forward to updates!

Share this post


Link to post
Share on other sites
Well, for an assembly language export, just having the pattern data like this:
[code]
DATA >0123,>4567,>89AB,>CDEF
[/code]
Maybe a label or comment to identify the 4 DATA statements with a sprite:
[code]
SP1 DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
SP2 DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
[/code]
Anything like that would be fine, I'm not real picky. :-) Right now it is no big deal since you provide the pattern hex data in a text control, it is just a lot of copy and paste into my code.

For sprite color it would just be the single color, so just let the programmer deal with that manually. For tile colors, it sounds like the CV uses the Graphics 2 mode, which the TI can do too, i.e. 2-colors per 1x8 pixel row, however that mode is not supported by XB.

As for saving, I guess what ever it easy. ASCII hex patterns, 1 tile per line, start with sprite 1 and fill them up. Something like this maybe:
[code]
* sprite 1
0123456789ABCDEF
0000000000000000
1010101010101010
5500550055005500
* sprite 2
6C6C6C6C6C7FB267
[/code]
In this case sprite 1 and the 1st tile of sprite 2 would be loaded, the rest could be set to all 0 or left as is. Also, if your load functions also absorbs the > and , characters, and possibly the word DATA, then assembly pattern statements could be used directly as a load file. :-) Does this make sense or am I talking in circles?

Ah, very nice how you can paste an assembly style string into those pattern fields! Nice touch.

If you want to publish the source, that would be cool, but it is totally up to you.

Matthew

Share this post


Link to post
Share on other sites
Pretty trivial... As far as sucking in chars - right now it's not regular expression based, but seems to be functional enough. I'd prefer to do that work with a regex, but - for now it works. I think DATA will screw it up, though, so... I'll have to do it rightly.

Exporting assembly format. obviously trivial - first rev I'll probably exclude the symbol and DATA, but... it'll be less bad.though.

As far as the open source... it's already open - or at least older revs are. On the CV group at Yahoo. This, however, is a bit "less nice" since adding the multiple views for layering was a hack.

Let me know what the color format is for Mode 2... I'll get that in there as well.

-H

[quote name='matthew180' date='Tue Jun 1, 2010 12:59 PM' timestamp='1275411543' post='2023724']
Well, for an assembly language export, just having the pattern data like this:
[code]
DATA >0123,>4567,>89AB,>CDEF
[/code]
Maybe a label or comment to identify the 4 DATA statements with a sprite:
[code]
SP1 DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
SP2 DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
DATA >0123,>4567,>89AB,>CDEF
[/code]
Anything like that would be fine, I'm not real picky. :-) Right now it is no big deal since you provide the pattern hex data in a text control, it is just a lot of copy and paste into my code.

For sprite color it would just be the single color, so just let the programmer deal with that manually. For tile colors, it sounds like the CV uses the Graphics 2 mode, which the TI can do too, i.e. 2-colors per 1x8 pixel row, however that mode is not supported by XB.

As for saving, I guess what ever it easy. ASCII hex patterns, 1 tile per line, start with sprite 1 and fill them up. Something like this maybe:
[code]
* sprite 1
0123456789ABCDEF
0000000000000000
1010101010101010
5500550055005500
* sprite 2
6C6C6C6C6C7FB267
[/code]
In this case sprite 1 and the 1st tile of sprite 2 would be loaded, the rest could be set to all 0 or left as is. Also, if your load functions also absorbs the > and , characters, and possibly the word DATA, then assembly pattern statements could be used directly as a load file. :-) Does this make sense or am I talking in circles?

Ah, very nice how you can paste an assembly style string into those pattern fields! Nice touch.

If you want to publish the source, that would be cool, but it is totally up to you.

Matthew
[/quote] Edited by unhuman

Share this post


Link to post
Share on other sites
Hey, something is really buggy with this latest version. At first there were multiple color selections, but changing the color shifted already set pixels to the left. Then I selected each sprite in turn, after which the multiple color selections (two colors per line) were gone. Now when I switch between sprites, the pattern does not change, it always shows the background, and the composite shows pixels that are not set.

Just a lot of weirdness.

Matthew

Share this post


Link to post
Share on other sites
Bizarre. I didn't test carefully, but I didn't change anything. :(

EDIT: Any chance I can get you to document the steps? I just tried it and cannot see anything similar.


[quote name='matthew180' date='Tue Jun 1, 2010 11:59 PM' timestamp='1275451146' post='2024087']
Hey, something is really buggy with this latest version. At first there were multiple color selections, but changing the color shifted already set pixels to the left. Then I selected each sprite in turn, after which the multiple color selections (two colors per line) were gone. Now when I switch between sprites, the pattern does not change, it always shows the background, and the composite shows pixels that are not set.

Just a lot of weirdness.

Matthew
[/quote] Edited by unhuman

Share this post


Link to post
Share on other sites
1. Run program, everything looks fine. Multi-color selection for the background, cool.

2. Add a black square for reference. Seems to work. Switch the Asm patterns.

3. Changed the preview background color, then switch to sprite 1, pick green and draw. Switch back to background, now everything is messed up. The square is moved, there are extra pixels.

4. Changed to sprite 3, picked purple but drawing is green.

Also, I just retried the tests without changing to Asm pattern data and it seems to work fine.

Matthew

Share this post


Link to post
Share on other sites
Thanks! I have duplicated.

[quote name='matthew180' date='Wed Jun 2, 2010 12:21 PM' timestamp='1275495719' post='2024359']
1. Run program, everything looks fine. Multi-color selection for the background, cool.

2. Add a black square for reference. Seems to work. Switch the Asm patterns.

3. Changed the preview background color, then switch to sprite 1, pick green and draw. Switch back to background, now everything is messed up. The square is moved, there are extra pixels.

4. Changed to sprite 3, picked purple but drawing is green.

Also, I just retried the tests without changing to Asm pattern data and it seems to work fine.

Matthew
[/quote]

Share this post


Link to post
Share on other sites
Ok it's fixed. I also added "Inverse Pixels".

Explanation. I actually broke CV mode too... Or, really, it never worked. Only XB worked as that got added before the layering - and the underlying implementation of layering isn't actual pixel states, but the ASCII for the pixels - and XB is "clean" while the others contain "garbage" chars. Now, the pixels are stored in a clean way, but additionally, the parsing pixels is (slightly) improved. Pasting was broken too, as the code actually was reused.

Sorry....

Share this post


Link to post
Share on other sites
Played with GraphicCV, that's great stuff!

Here are some more ideas:

1. Possibility to save graphic definitions so that you can continue work later on.

2. Add grid boundary on 8x8 pattern boundaries so that you know what
is for first 8x8 pattern, second 8x8 pattern, ...

3. Perhaps the levels could be selected using radio buttons instead of pulldown,
would allow quicker selection.

4. Possibility to work with multiple sets of sprites and copy/paste between them.

5. Swap sprite orders, e.g. sprite 1<->3. That can be important if you have overlapping pixels.


Nice seeing that many new graphic tools for the TI-99/4A in development!

Share this post


Link to post
Share on other sites
Comments inlined :)

[quote name='retroclouds' date='Thu Jun 3, 2010 6:05 AM' timestamp='1275559531' post='2024835']
Played with GraphicCV, that's great stuff!

Here are some more ideas:

1. Possibility to save graphic definitions so that you can continue work later on.
[/quote]
You can paste your sprite data right into the text boxes - so... You can edit it right from your game. I'll keep this on the list, but note the workaround.

[quote name='retroclouds' date='Thu Jun 3, 2010 6:05 AM' timestamp='1275559531' post='2024835']
2. Add grid boundary on 8x8 pattern boundaries so that you know what is for first 8x8 pattern, second 8x8 pattern, ...
[/quote]
Done - was... In the edit area? I'll see if I can do that.

[quote name='retroclouds' date='Thu Jun 3, 2010 6:05 AM' timestamp='1275559531' post='2024835']
3. Perhaps the levels could be selected using radio buttons instead of pulldown,
would allow quicker selection.
[/quote]
Done (Click previews, not radio) Good idea. What I really want is the ability to click on the previews. That'd be better, still.

[quote name='retroclouds' date='Thu Jun 3, 2010 6:05 AM' timestamp='1275559531' post='2024835']
4. Possibility to work with multiple sets of sprites and copy/paste between them.
[/quote]
Yep, on the list for sure. I want to be able to animate them.

[quote name='retroclouds' date='Thu Jun 3, 2010 6:05 AM' timestamp='1275559531' post='2024835']
5. Swap sprite orders, e.g. sprite 1<->3. That can be important if you have overlapping pixels.
[/quote]
Done. Good idea. Not sure how I can implement easily... Thinking right click on a preview window?

[quote name='retroclouds' date='Thu Jun 3, 2010 6:05 AM' timestamp='1275559531' post='2024835']
Nice seeing that many new graphic tools for the TI-99/4A in development!
[/quote]

Yay! Glad to be contributing. Don't think Asm is in my future. Edited by unhuman

Share this post


Link to post
Share on other sites
Nicer display of chars (so you can tell where 8x8 is) - was pretty challenging since I was using gridbag. Had to rewrite some stuff.

Share this post


Link to post
Share on other sites
Couldn't sleep, so implemented copy / swap layers. Right click on the previews to do so.

edit... And, reset now lets you reset just the layer or all. Edited by unhuman

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...