Mail Archives: djgpp/1999/03/03/10:21:07
From: | Matteo Sasso <icemaze AT tin DOT it>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | select_palette: why it doesn't work?
|
Date: | Wed, 03 Mar 1999 15:32:42 +0100
|
Organization: | TIN
|
Lines: | 52
|
Message-ID: | <36DD480A.381FCA8E@tin.it>
|
NNTP-Posting-Host: | a-mi36-2.tin.it
|
Mime-Version: | 1.0
|
X-Mailer: | Mozilla 4.5 [en] (Win98; I)
|
X-Accept-Language: | en
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
I'm writing a map editor which loads 8 bits bitmaps and displays them in
32 bit mode.
The problem is that even if I loaded the palette from a datafile and
selected it using the select_palette functions, bitmaps' colours aren't
right!
I used
select_palette(*(PALETTE *)tilefile[bks].dat);
select_palette((RGB *)tilefile[bks].dat);
select_palette(tilefile[bks].dat);
but NONE of these worked! (is any of them correct? which is the most
"fair"?)
(tilefile is a datafile and bks is the position of the palette,
obviously!)
Here are some pieces of source (I omitted some working parts using
"[...]"):
--- SOURCE ---
[...] (definitions and procedures that WORK)
void main()
{
allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT,800,600,0,0);
[...]
tilefile = load_datafile("BKG.DAT");
if (tilefile == NULL)
{
[...]
}
[...]
select_palette(*(PALETTE *)tilefile[bks].dat); // Selects the palette
// I'm sure that bks is set correctly!
[...]
for (i = 0; i < bks; i++)
blit(tilefile[i].dat,screen,0,0,100 + (i * 40),100,32,32); //
Displays the bitmaps
getch();
[...]
set_gfx_mode(GFX_TEXT,80,25,0,0);
}
--- END OF SOURCE ---
Thanks a lot to whoever will help me!!
+ I C E M A Z E +
icemaze AT tin DOT it
- Raw text -