Fix bug with >16 paintbrushes
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1482 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
@@ -1278,6 +1278,8 @@ void Display_paintbrush_in_window(word x,word y,int number)
|
||||
int y_size;
|
||||
word origin_x;
|
||||
word origin_y;
|
||||
word width;
|
||||
word height;
|
||||
|
||||
x_size=Menu_factor_X/Pixel_height;
|
||||
if (x_size<1)
|
||||
@@ -1286,11 +1288,14 @@ void Display_paintbrush_in_window(word x,word y,int number)
|
||||
if (y_size<1)
|
||||
y_size=1;
|
||||
|
||||
origin_x = (x + 8)*Menu_factor_X - (Paintbrush[number].Offset_X)*x_size+Window_pos_X;
|
||||
origin_y = (y + 8)*Menu_factor_Y - (Paintbrush[number].Offset_Y)*y_size+Window_pos_Y;
|
||||
width=Min(Paintbrush[number].Width,PAINTBRUSH_WIDTH);
|
||||
height=Min(Paintbrush[number].Height,PAINTBRUSH_WIDTH);
|
||||
|
||||
origin_x = (x + 8)*Menu_factor_X - (width/2)*x_size+Window_pos_X;
|
||||
origin_y = (y + 8)*Menu_factor_Y - (height/2)*y_size+Window_pos_Y;
|
||||
|
||||
for (window_y_pos=0,y_pos=0; y_pos<Paintbrush[number].Height; window_y_pos++,y_pos++)
|
||||
for (window_x_pos=0,x_pos=0; x_pos<Paintbrush[number].Width; window_x_pos++,x_pos++)
|
||||
for (window_y_pos=0,y_pos=0; y_pos<height; window_y_pos++,y_pos++)
|
||||
for (window_x_pos=0,x_pos=0; x_pos<width; window_x_pos++,x_pos++)
|
||||
if (Paintbrush[number].Sprite[y_pos][x_pos])
|
||||
Block(origin_x+window_x_pos*x_size,origin_y+window_y_pos*y_size,x_size,y_size,MC_Black);
|
||||
// On n'utilise pas Pixel_in_window() car on ne dessine pas
|
||||
|
||||
Reference in New Issue
Block a user