Jump to content
IGNORED

My Sprite Editor - Try it out - Updated layering


unhuman

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...

post-1530-127535095276_thumb.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: GraphiCV-1.0.zip

 

OLD CODE:
GraphiCV2.zip
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
  • Like 3
Link to comment
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.

Link to comment
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.

 

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.

Link to comment
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.

Link to comment
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

 

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.

Link to comment
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

 

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

Edited by unhuman
Link to comment
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!

Link to comment
Share on other sites

Well, for an assembly language export, just having the pattern data like this:

      DATA >0123,>4567,>89AB,>CDEF

Maybe a label or comment to identify the 4 DATA statements with a sprite:

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

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:

* sprite 1
0123456789ABCDEF
0000000000000000
1010101010101010
5500550055005500
* sprite 2
6C6C6C6C6C7FB267

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

Link to comment
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

 

Well, for an assembly language export, just having the pattern data like this:

DATA >0123,>4567,>89AB,>CDEF

Maybe a label or comment to identify the 4 DATA statements with a sprite:

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

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:

* sprite 1
0123456789ABCDEF
0000000000000000
1010101010101010
5500550055005500
* sprite 2
6C6C6C6C6C7FB267

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

Edited by unhuman
Link to comment
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

Link to comment
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.

 

 

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

Edited by unhuman
Link to comment
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

post-24952-127549566792_thumb.jpg

post-24952-127549568007_thumb.jpg

post-24952-127549569054_thumb.jpg

post-24952-12754957143_thumb.jpg

Link to comment
Share on other sites

Thanks! I have duplicated.

 

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

Link to comment
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....

Link to comment
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!

Link to comment
Share on other sites

Comments inlined :)

 

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.

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.

 

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

Done - was... In the edit area? I'll see if I can do that.

 

3. Perhaps the levels could be selected using radio buttons instead of pulldown,

would allow quicker selection.

Done (Click previews, not radio) Good idea. What I really want is the ability to click on the previews. That'd be better, still.

 

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

Yep, on the list for sure. I want to be able to animate them.

 

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

Done. Good idea. Not sure how I can implement easily... Thinking right click on a preview window?

 

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

 

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

Edited by unhuman
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...