| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Converting to sprites
Ok, so i have run into a problem.. hehe
I have 52 bmp pics, which are each the size of 2x2 C64 sprites.
So there's room for them all in 1 VIC bank..
Now problem is to convert them..
I tried Gang-Ed, but it only imports bmp as hires/mcol bitmap/char, and blows up the small image to fullscreen!
So i saved all the frames as a koala pr pic.. hahaha
Now i am stuck with 52 koala pics, that need to be transformed into 4 sprites each, bwahaha..
This is really silly..
What i really need is:
1) convert the 48x48 pixel bmp to 4 colors
2) convert this to 4 sprites
Is there an editor, where i can load bmp/gif into a sprite editor ? they have correct size, just need to be fixed to 4 cols.. which i can do with a batchconvert in thumbs plus (reduce nr of colors)
??
Thanks for any help! |
|
... 56 posts hidden. Click here to view all posts.... |
| |
WVL
Registered: Mar 2002 Posts: 902 |
Quote: If you are using Kick Assembler it's rather easy to code a converter directly in the assembler source. Here is a little macro that converts a gif to a sprite. you can easily extend it to do 2x2 sprites or whatever format you like. I don't think it gets any simpler than this..
.pc = $3000 "Sprite Data"
spriteData:
:LoadSpriteFromPicture("sprite1.gif")
:LoadSpriteFromPicture("sprite2.gif")
:LoadSpriteFromPicture("sprite3.gif")
// etc
.macro LoadSpriteFromPicture(filename) {
.var picture = LoadPicture(filename, List().add($000000, $ffffff,$6c6c6c,$959595))
.for (var y=0; y<21; y++)
.for (var x=0; x<3; x++)
.byte picture.getMulticolorByte(x,y)
.byte 0
}
wat.
I never realized Kickass was *that* powerful.. /me drools |
| |
Mace
Registered: May 2002 Posts: 1799 |
Holy crap.
What WVL says! |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: Holy crap.
What WVL says!
what mace said |
| |
Magnar
Registered: Aug 2009 Posts: 61 |
Quote: Was also about to suggest kickass as kickassembler you can script so you are able to convert images to sprites, bitmaps, charsets and thats soooo cool :)
I dont get it, how can you extend this code to work for say 2x3 spritebank setup per GIF picture?
I got a list of 13x GIF pictures in format 24x63 pixels each which fits the 2x3 sprite setup, but I have no clue how to modify that code in order to export the GIFs into that kind of template.
Anyone care to modify the code so it would work for my needs, and possible also better explain how to do that trick for more users here on csdb? |
| |
Burglar
Registered: Dec 2004 Posts: 1101 |
this might work
.macro LoadSpritesFromPicture( filename,
xsize, ysize,
bgcolor, color0, color1, color2 ) {
.var picture = LoadPicture( filename, List().add(bgcolor, color0, color1, color2) )
.for (var ysprite = 0; ysprite < ysize; ysprite++) {
.for (var xsprite = 0; xsprite < xsize; xsprite++) {
.for (var i = 0; i < [3 * 21]; i++) {
.byte picture.getMulticolorByte(
[[xsprite * 3] + mod(i,21)],
[[ysprite * 21] + floor(i / 3)]
)
}
.byte 0
}
}
} |
| |
enthusi
Registered: May 2004 Posts: 677 |
http://www.codebase64.org/doku.php?id=base:sprite_converter
Personally I prefer the assembler doing the assembling and tools acting as tool ;-) |
| |
Magnar
Registered: Aug 2009 Posts: 61 |
@Burglar, it almost worked. One error only;
parsing
flex pass 1
.for (var ysprite = 0; ysprite < ysize; ysprite++) {
.for (var xsprite = 0; xsprite < xsize; xsprite++) {
.for (var i = 0; i < [3 * 21]; i++) {
.byte picture.getMulticolorByte(
^
Error: byte x coordinate out of range : 3
Maybe you see what to correct? |
| |
Burglar
Registered: Dec 2004 Posts: 1101 |
your image.gif is too small in width, u need to double it.
multicolor pixels are 2 pixels wide, so 2x3 sprites should be:
2 * 3 * 8 pixels wide = 48
3 * 21 pixels high = 63 |
| |
Burglar
Registered: Dec 2004 Posts: 1101 |
Quote: http://www.codebase64.org/doku.php?id=base:sprite_converter
Personally I prefer the assembler doing the assembling and tools acting as tool ;-)
so, where's your multicolor tool? ;) |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Shouldn't it be mod(i,3)?
|
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 - Next |