Jump to content
Sign in to follow this  
jum

Tiny Sprite Editor for Lynx

Recommended Posts

I have modified the online "Tiny Sprite Editor" ( http://tmtg.net/tinyspriteeditor/) made by Boris van Schooten, so that you can use it to create sprites for Atari Lynx.

 

Double-click the .html file in the attached zip to run it.

 

Currently you can export the sprite data as C code or ASM code (literal sprites only for now, can add RLE compressed sprites later).

 

Usage:

1. Run the .html file in Chrome (may work in other browsers too).

2. Set the "Palette" drop down to "Atari Lynx" BEFORE you draw anything.

3. Draw a pretty picture (background must be pen 0 (black))

4. In the "Text Format" dropdown, select "Lynx C code (literal)"

5. Click the "Export" button.

6. The C code will appear in the textbox at the bottom of the page.

 

Note: you cannot import C code at this stage. If you want to "Save" your sprites to work on later, then export as "Data URL".

 

Let me know how it works for you. I am sure many improvements can be made.

 

The main purpose is to make it easier to create Lynx sprites for your projects, without having to hassle with Gimp and PCX and sprpck/sp65 and bin2c...

 

Have fun!

 

Also have added to github as a fork of the original: https://github.com/j...inyspriteeditor

tinyspriteeditor_lynx_V1.1.zip

Edited by jum
  • Like 1

Share this post


Link to post
Share on other sites

Such a nice editor. The literal sprites are ok for most purposes.

 

It works in Firefox too.

Edited by karri
  • Like 1

Share this post


Link to post
Share on other sites

Such a nice editor. The literal sprites are ok for most purposes.

 

It works in Firefox too.

Thanks for testing Karri. Has some impressive features for a "Tiny" editor (Copy/Paste/Sprite sheets/Animation preview).

Share this post


Link to post
Share on other sites

Looks pretty cool but I haven't figure out how to modify the palette yet... or is it even possible? (having black for pen 0 is not optimal since pen 0 is also the transparent color).

Share this post


Link to post
Share on other sites

Looks pretty cool but I haven't figure out how to modify the palette yet... or is it even possible? (having black for pen 0 is not optimal since pen 0 is also the transparent color).

You can modify the palette in the HTML source code, or add your own palette. You can change pen 0 to pink if you prefer.

 

Probably would be nice to be able to import a Lynx palette, either from C file data or from .gpl palette file. Let me know what format(s) would be most useful.

 

Also have added to github as a fork of the original: https://github.com/james7780/tinyspriteeditor

Edited by jum

Share this post


Link to post
Share on other sites

Classical noob question: How do I implement a C-Struct array in a Lynx programm? I read the tutorial on the sprite with .o objects, any idea how to implement a TinySprite?

Share this post


Link to post
Share on other sites

The tiny sprite exports the bitmap as bytes.

 

unsigned char sprite_0_0[] = {
0x7,   0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x7,   0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 
0x7,   0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 
0x7,   0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 
0x7,   0x0, 0xff, 0xff, 0xf0, 0x0, 0x0, 
0x7,   0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 
0x7,   0x0, 0xf0, 0xff, 0xff, 0x0, 0x0, 
0x7,   0x0, 0xf, 0xff, 0xff, 0x0, 0x0, 
0x7,   0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 
0x7,   0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 
0x7,   0x0, 0x0, 0xf, 0xf, 0xf, 0xf0, 
0x7,   0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x00
}
In the cc65 library _suzy.h you have different type of sprite structs like:
typedef struct SCB_REHVST_PAL {             // SCB with all attributes
  unsigned char sprctl0;
  unsigned char sprctl1;
  unsigned char sprcoll;
  char *next;
  unsigned char *data;
  signed int hpos;
  signed int vpos;
  unsigned int hsize;
  unsigned int vsize;
  unsigned int stretch;
  unsigned int tilt;
  unsigned char penpal[8];
} SCB_REHVST_PAL;
static SCB_REHVST_PAL Sastonmartin = {
    BPP_4 | TYPE_NORMAL,REHVST|LITERAL,NO_COLLIDE,
    0,
    sprite_0_0,
    80, 100,
    0x100, 0x100,
    0x000, 0x000,
    {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef}
};
Then you can paint this on screen with:
tgi_sprite(&Sastonmartin);
tgi_updatedisplay()

Share this post


Link to post
Share on other sites

Hi All,

 

Currently I use the tiny sprite editor PNG export, and then imagemagick (see below) to convert to BMP so it can be processed by sprpck.

 

convert image.png -colors 16 -type palette image.bmp

The problem, of course, is that the palette gets scrambled by the conversion but at least it generates an image that can be used by sprpck.

 

I cannot get any of the export to text to generate anything visible (including Karri's above example.) How do you use the exported text to work properly?

Share this post


Link to post
Share on other sites

I just checked the latest version of tinysprite-lynx and it seems to be broken. I was not able to get any sprites out of it.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...