Sprite editor/animation studio...PP256 for FB...RGB modes??
Sprite editor/animation studio...PP256 for FB...RGB modes??
Anyone remember PP256 for QB? Has it been ported to FB or are there any comparable sprite design programs available for FB? If not, I intend to design my own.
-Zom
-Zom
Yes, I think I saw PIXELPerfect Professional or something like that somewhere, just a minute and I'll look...
Okay, I found it. PixelPlus eXtended. It's on SourceForge. However... there are no downloads. The project admin is "i_am_drv"... we don't have anyone like that around here, do we? :D
I would suggest Microsoft Paint. I hear you can import bitmaps with FB. I've been using paint for drawing pixel graphics(though not for programs) for a long time.
Okay, I found it. PixelPlus eXtended. It's on SourceForge. However... there are no downloads. The project admin is "i_am_drv"... we don't have anyone like that around here, do we? :D
I would suggest Microsoft Paint. I hear you can import bitmaps with FB. I've been using paint for drawing pixel graphics(though not for programs) for a long time.
-
- Posts: 56
- Joined: Jul 28, 2005 17:22
- Location: Piracicaba, SP - Brazil
I recommend Tile Studio, it's free and reminds me a lot of Pixel Plus. In fact, I use it all the time to design my sprites, it's worth a look!
Link: http://tilestudio.sourceforge.net/
Link: http://tilestudio.sourceforge.net/
Wow CutterSlade, this looks absolutely fantastic! Even the ability to have it export files for your own language etc. and level editor capability. Thanks so much for the link!CutterSlade wrote:I recommend Tile Studio, it's free and reminds me a lot of Pixel Plus. In fact, I use it all the time to design my sprites, it's worth a look!
Link: http://tilestudio.sourceforge.net/
-
- Posts: 2338
- Joined: May 31, 2005 9:59
- Location: Croatia
- Contact:
I can highly recommend GraphicsGale, the English version of which can be found here: http://www.humanbalance.net/gale/us/index.html.
It's free and fully functional unless you need to load/save Windows icon and cursor files or animated GIFs, in which case you'll need the Shareware version which comes in at less than £9 anyway.
It works with pretty much any image depth, has layers, animation/frames, onion-skinning and plenty of other nice things to play with, and I've really grown rather fond of it.
I'd always been a big fan of DPaint, and bought Cosmigo's excellent ProMotion ($29 for the Lite version) for all my 8bpp drawing needs mainly because I was used to the keyboard shortcuts, which made it "feel" just right.
However, I needed to draw a few quick things at a friend's place recently, so I downloaded GraphicsGale and discovered that you can set up your own shortcuts, so aside from one or two minor things which I had to get used to (and now much prefer anyway) I've found it just as good if not better.
It's free and fully functional unless you need to load/save Windows icon and cursor files or animated GIFs, in which case you'll need the Shareware version which comes in at less than £9 anyway.
It works with pretty much any image depth, has layers, animation/frames, onion-skinning and plenty of other nice things to play with, and I've really grown rather fond of it.
I'd always been a big fan of DPaint, and bought Cosmigo's excellent ProMotion ($29 for the Lite version) for all my 8bpp drawing needs mainly because I was used to the keyboard shortcuts, which made it "feel" just right.
However, I needed to draw a few quick things at a friend's place recently, so I downloaded GraphicsGale and discovered that you can set up your own shortcuts, so aside from one or two minor things which I had to get used to (and now much prefer anyway) I've found it just as good if not better.
PP256 to Freebasic all colour modes.
The posted code below will load PP256 images in all colour modes..
Feel free to modify to your needs.
Excuse the sloppy code!!
PS: the bank variable is so you can load multiple palletes at one time.
Feel free to modify to your needs.
Excuse the sloppy code!!
PS: the bank variable is so you can load multiple palletes at one time.
Code: Select all
'This code will load pp256 in all colour modes
'simple sprite engine
#include once "fbgfx.bi"
declare FUNCTION Colour_256 (col as ubyte,bank as byte) as longint
type img
xe as integer
ye as integer
pic as any ptr
used as byte
id as byte
end type
type imageslott
id as byte
image(255) as img
max as integer
end type
type col_256
R as ubyte
G as ubyte
B as ubyte
end type
dim shared pal_256(255,64) as col_256,index(256) as integer
'#include "fbgfx.bi"
dim shared imageslot(64) as imageslott
SUB LoadPal_256 (FileName as string,bank as integer)
dim as integer colour,r,g,b,n,fileno
'Size array to hold all 256 colours.
DIM PaletteArray(0 TO 255) as integer
IF FileName <> "" THEN
'*** Read palette data from file ***
FileNo = FREEFILE
OPEN FileName FOR BINARY AS #FileNo
FOR n = 0 TO 255
GET #FileNo, , colour
b = colour\ 65536: colour = colour - b * 65536
g = colour \ 256: colour = colour - g * 256
r = colour
pal_256(n,bank).r=r*4';+50
pal_256(n,bank).g=g*4'+50
pal_256(n,bank).b=b*4'+50
NEXT n
CLOSE #FileNo
end if
end sub
SUB LoadPP_256 (FileName as string,bank as byte)
IF FileName <> "" THEN
'***** Read image data from file *****
'thanks to pp256 format
dim as integer X,ints,fileno,im,xp,yp,a,yy
dim as string * 1 st
im=1
FileNo = FREEFILE
OPEN FileName FOR BINARY AS #FileNo
Ints = (LOF(FileNo) - 7) \ 2
CLOSE #FileNo
DIM imagearray(1 to Ints) as short
BLOAD FileName,@imagearray(1)
'put (0,0),imagearray(1),trans
DIM temp(1 TO 1000) as integer
dim as integer pptr,lastint,indexno,n,lastimage,tt,xxx,yyy,re
pptr = 1: indexNo = 1:
OPEN FileName FOR BINARY AS #FileNo
'Ints = (LOF(FileNo) - 7) \ 2
DO
temp(indexNo) = pptr
xp= (imagearray(pptr) \ 8)
yp= (imagearray(pptr+1)) + 4
re=((pptr+7)*2)-4
if re<lof(fileno) then seek #fileno,re'*indexno
'view screen (0,0)-(xp,yp)
imageslot(bank).image(indexno).xe=xp
imageslot(bank).image(indexno).ye=yp
imageslot(bank).image(indexno).pic=imagecreate(xp-1,yp)
for yyy=0 to yp
for xxx=0 to xp -1
get #fileno,,St
if xxx<xp-4 and yyy<yp-4 and asc(st)>0 then pset imageslot(bank).image(indexno).pic,(1+xxx,1+yyy),colour_256(asc(st),bank)
next:next
'view
x = (imagearray(pptr) \ 8) * (imagearray(pptr+1)) + 4
IF x MOD 2 THEN x = x + 1
pptr = pptr + (x \ 2)
indexNo = indexNo + 1
'sleep
' cls
LOOP WHILE pptr < ints
CLOSE #FileNo
LastImage = indexNo - 1
imageslot(bank).max=lastimage
' var
exit sub
end if
END SUB
FUNCTION Colour_256 (col as ubyte,bank as byte) as longint
dim as integer w,h,depth
SCREENINFO , , depth,,,,
bank=1
select case depth
case is <15
return col
case else
return rgb(pal_256(col,bank).r,pal_256(col,bank).g,pal_256(col,bank).b)
end select
END FUNCTION
'sub put256
screenres 320,200,16,,1
var path = "C:\PP256\"
LoadPal_256 (path + "palettes\default.pal",1)
'line (0,0)-(320,200),colour_256(15,1),bf
LoadPP_256 (path + "images\tilesa.put",1)
put (50,50),imageslot(1).image(11).pic,trans
sleep