GUi skin elements are allocated on the heap
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@871 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									62738a1526
								
							
						
					
					
						commit
						1b2fa69f6a
					
				
							
								
								
									
										29
									
								
								buttons.c
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								buttons.c
									
									
									
									
									
								
							@ -23,6 +23,7 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <SDL.h>
 | 
			
		||||
 | 
			
		||||
#include "const.h"
 | 
			
		||||
@ -137,7 +138,7 @@ void Button_Message_initial(void)
 | 
			
		||||
        Menu_factor_X*237,Menu_factor_Y*60,MC_Black);
 | 
			
		||||
  for (y=23,offs_y=0; y<79; offs_y+=231,y++)
 | 
			
		||||
    for (x=14,x_pos=0; x_pos<231; x_pos++,x++)
 | 
			
		||||
      Pixel_in_window(x,y,GFX_logo_grafx2[offs_y+x_pos]);
 | 
			
		||||
      Pixel_in_window(x,y,Gfx->Logo_grafx2[offs_y+x_pos]);
 | 
			
		||||
 | 
			
		||||
  Print_in_window(130-4*26,88,"Copyright (c) 2007-2009 by",MC_Dark,MC_Light);
 | 
			
		||||
  Print_in_window(130-4*23,96,"the Grafx2 project team",MC_Black,MC_Light);
 | 
			
		||||
@ -958,9 +959,9 @@ void Button_Settings(void)
 | 
			
		||||
 | 
			
		||||
  // Font selection
 | 
			
		||||
  if (Config.Font)
 | 
			
		||||
    Menu_font=GFX_fun_font;
 | 
			
		||||
    Menu_font=Gfx->Fun_font;
 | 
			
		||||
  else
 | 
			
		||||
    Menu_font=GFX_system_font;
 | 
			
		||||
    Menu_font=Gfx->System_font;
 | 
			
		||||
 | 
			
		||||
  if (config_is_reloaded)
 | 
			
		||||
    Compute_optimal_menu_colors(Main_palette);
 | 
			
		||||
@ -1257,7 +1258,7 @@ void Button_Skins(void)
 | 
			
		||||
 | 
			
		||||
  strcpy(skinsdir,"skins/");
 | 
			
		||||
  Get_selected_item(Main_fileselector_position,Main_fileselector_offset,skinsdir+6,NULL);
 | 
			
		||||
  Load_graphics(skinsdir);
 | 
			
		||||
  Load_graphics(Gfx, skinsdir);
 | 
			
		||||
 | 
			
		||||
  Close_window();
 | 
			
		||||
  Unselect_button(BUTTON_SETTINGS);
 | 
			
		||||
@ -2519,15 +2520,15 @@ void Button_Paintbrush_menu(void)
 | 
			
		||||
  if (clicked_button!=1) // pas Cancel
 | 
			
		||||
  {
 | 
			
		||||
    index=clicked_button-2;
 | 
			
		||||
    Paintbrush_shape=Paintbrush_type[index];
 | 
			
		||||
    Paintbrush_width=Preset_paintbrush_width[index];
 | 
			
		||||
    Paintbrush_height=Preset_paintbrush_height[index];
 | 
			
		||||
    Paintbrush_offset_X=Preset_paintbrush_offset_X[index];
 | 
			
		||||
    Paintbrush_offset_Y=Preset_paintbrush_offset_Y[index];
 | 
			
		||||
    Paintbrush_shape=Gfx->Paintbrush_type[index];
 | 
			
		||||
    Paintbrush_width=Gfx->Preset_paintbrush_width[index];
 | 
			
		||||
    Paintbrush_height=Gfx->Preset_paintbrush_height[index];
 | 
			
		||||
    Paintbrush_offset_X=Gfx->Preset_paintbrush_offset_X[index];
 | 
			
		||||
    Paintbrush_offset_Y=Gfx->Preset_paintbrush_offset_Y[index];
 | 
			
		||||
    for (y_pos=0; y_pos<Paintbrush_height; y_pos++)
 | 
			
		||||
      for (x_pos=0; x_pos<Paintbrush_width; x_pos++)
 | 
			
		||||
        Paintbrush_sprite[(y_pos*MAX_PAINTBRUSH_SIZE)+x_pos]=GFX_paintbrush_sprite[index][y_pos][x_pos];
 | 
			
		||||
    Change_paintbrush_shape(Paintbrush_type[index]);
 | 
			
		||||
        Paintbrush_sprite[(y_pos*MAX_PAINTBRUSH_SIZE)+x_pos]=Gfx->Paintbrush_sprite[index][y_pos][x_pos];
 | 
			
		||||
    Change_paintbrush_shape(Gfx->Paintbrush_type[index]);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Unselect_button(BUTTON_PAINTBRUSHES);
 | 
			
		||||
@ -4617,7 +4618,7 @@ void Draw_preset_sieve_patterns(void)
 | 
			
		||||
      for (i=0; i<16*Menu_factor_X/Zoom; i++)
 | 
			
		||||
        Block(((index*23+10)*Menu_factor_X)+i*Zoom+Window_pos_X,
 | 
			
		||||
          (22*Menu_factor_Y)+j*Zoom+Window_pos_Y,Zoom,Zoom,
 | 
			
		||||
          ((GFX_sieve_pattern[index][j&0xF]>>(15-(i&0xF)))&1)?MC_White:MC_Black);
 | 
			
		||||
          ((Gfx->Sieve_pattern[index][j&0xF]>>(15-(i&0xF)))&1)?MC_White:MC_Black);
 | 
			
		||||
 | 
			
		||||
  Update_rect(ToWinX(10),ToWinY(22),ToWinL(12*23+16),ToWinH(16));
 | 
			
		||||
}
 | 
			
		||||
@ -4629,7 +4630,7 @@ void Copy_preset_sieve(byte index)
 | 
			
		||||
 | 
			
		||||
  for (j=0; j<16; j++)
 | 
			
		||||
    for (i=0; i<16; i++)
 | 
			
		||||
      Sieve[i][j]=(GFX_sieve_pattern[index][j]>>(15-i))&1;
 | 
			
		||||
      Sieve[i][j]=(Gfx->Sieve_pattern[index][j]>>(15-i))&1;
 | 
			
		||||
  Sieve_width=16;
 | 
			
		||||
  Sieve_height=16;
 | 
			
		||||
}
 | 
			
		||||
@ -5057,7 +5058,7 @@ void Display_effect_sprite(short sprite_number, short start_x, short start_y)
 | 
			
		||||
 | 
			
		||||
  for (y=0,y_pos=start_y;y<MENU_SPRITE_HEIGHT;y++,y_pos++)
 | 
			
		||||
    for (x=0,x_pos=start_x;x<MENU_SPRITE_WIDTH;x++,x_pos++)
 | 
			
		||||
      Pixel_in_window(x_pos,y_pos,GFX_effect_sprite[sprite_number][y][x]);
 | 
			
		||||
      Pixel_in_window(x_pos,y_pos,Gfx->Effect_sprite[sprite_number][y][x]);
 | 
			
		||||
 | 
			
		||||
  Update_rect(ToWinX(start_x),ToWinY(start_y),MENU_SPRITE_WIDTH*Menu_factor_X,MENU_SPRITE_HEIGHT*Menu_factor_Y);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								const.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								const.h
									
									
									
									
									
								
							@ -58,9 +58,9 @@
 | 
			
		||||
#define DEFAULT_ZOOM_FACTOR        4    ///< Initial zoom factor for the magnifier.
 | 
			
		||||
#define MAX_PATH_CHARACTERS      260    ///< Number of characters for a file+complete path. Adapt to your OS...
 | 
			
		||||
#define NB_BOOKMARKS               4    ///< Number of bookmark buttons in Save/Load screen.
 | 
			
		||||
// Character to show a right arrow, used when editing long strings. It's present in ::GFX_system_font 
 | 
			
		||||
// Character to show a right arrow, used when editing long strings. It's present in ::Gfx->System_font 
 | 
			
		||||
#define RIGHT_TRIANGLE_CHARACTER  16
 | 
			
		||||
// Character to show a left arrow, used when editing long strings. It's present in ::GFX_system_font 
 | 
			
		||||
// Character to show a left arrow, used when editing long strings. It's present in ::Gfx->System_font 
 | 
			
		||||
#define LEFT_TRIANGLE_CHARACTER   17
 | 
			
		||||
/// Character to display in menus for an ellipsis.
 | 
			
		||||
#define ELLIPSIS_CHARACTER       '…'
 | 
			
		||||
@ -241,7 +241,7 @@ enum CHUNKS_CFG
 | 
			
		||||
  CHUNK_MAX
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// Identifiers for the 8x8 icons of ::GFX_icon_sprite (these are unused now)
 | 
			
		||||
/// Identifiers for the 8x8 icons of ::Gfx->Icon_sprite (most are unused now)
 | 
			
		||||
enum ICON_TYPES
 | 
			
		||||
{
 | 
			
		||||
  ICON_FLOPPY_3_5=0, ///< 3½" Floppy disk
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										32
									
								
								engine.c
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								engine.c
									
									
									
									
									
								
							@ -210,74 +210,74 @@ void Draw_menu_button_frame(byte btn_number,byte pressed)
 | 
			
		||||
    case BUTTON_SHAPE_RECTANGLE  :
 | 
			
		||||
      // On colorie le point haut droit
 | 
			
		||||
      Pixel_in_menu(end_x,start_y,color_diagonal);
 | 
			
		||||
      GFX_menu_block[start_y][end_x]=color_diagonal;
 | 
			
		||||
      Gfx->Menu_block[start_y][end_x]=color_diagonal;
 | 
			
		||||
      // On colorie le point bas gauche
 | 
			
		||||
      Pixel_in_menu(start_x,end_y,color_diagonal);
 | 
			
		||||
      GFX_menu_block[end_y][start_x]=color_diagonal;
 | 
			
		||||
      Gfx->Menu_block[end_y][start_x]=color_diagonal;
 | 
			
		||||
      // On colorie la partie haute
 | 
			
		||||
      for (x_pos=start_x;x_pos<=end_x-1;x_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        Pixel_in_menu(x_pos,start_y,color_top_left);
 | 
			
		||||
        GFX_menu_block[start_y][x_pos]=color_top_left;
 | 
			
		||||
        Gfx->Menu_block[start_y][x_pos]=color_top_left;
 | 
			
		||||
      }
 | 
			
		||||
      for (y_pos=start_y+1;y_pos<=end_y-1;y_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        // On colorie la partie gauche
 | 
			
		||||
        Pixel_in_menu(start_x,y_pos,color_top_left);
 | 
			
		||||
        GFX_menu_block[y_pos][start_x]=color_top_left;
 | 
			
		||||
        Gfx->Menu_block[y_pos][start_x]=color_top_left;
 | 
			
		||||
        // On colorie la partie droite
 | 
			
		||||
        Pixel_in_menu(end_x,y_pos,color_bottom_right);
 | 
			
		||||
        GFX_menu_block[y_pos][end_x]=color_bottom_right;
 | 
			
		||||
        Gfx->Menu_block[y_pos][end_x]=color_bottom_right;
 | 
			
		||||
      }
 | 
			
		||||
      // On colorie la partie basse
 | 
			
		||||
      for (x_pos=start_x+1;x_pos<=end_x;x_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        Pixel_in_menu(x_pos,end_y,color_bottom_right);
 | 
			
		||||
        GFX_menu_block[end_y][x_pos]=color_bottom_right;
 | 
			
		||||
        Gfx->Menu_block[end_y][x_pos]=color_bottom_right;
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    case BUTTON_SHAPE_TRIANGLE_TOP_LEFT:
 | 
			
		||||
      // On colorie le point haut droit
 | 
			
		||||
      Pixel_in_menu(end_x,start_y,color_diagonal);
 | 
			
		||||
      GFX_menu_block[start_y][end_x]=color_diagonal;
 | 
			
		||||
      Gfx->Menu_block[start_y][end_x]=color_diagonal;
 | 
			
		||||
      // On colorie le point bas gauche
 | 
			
		||||
      Pixel_in_menu(start_x,end_y,color_diagonal);
 | 
			
		||||
      GFX_menu_block[end_y][start_x]=color_diagonal;
 | 
			
		||||
      Gfx->Menu_block[end_y][start_x]=color_diagonal;
 | 
			
		||||
      // On colorie le coin haut gauche
 | 
			
		||||
      for (x_pos=0;x_pos<Buttons_Pool[btn_number].Width;x_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        Pixel_in_menu(start_x+x_pos,start_y,color_top_left);
 | 
			
		||||
        GFX_menu_block[start_y][start_x+x_pos]=color_top_left;
 | 
			
		||||
        Gfx->Menu_block[start_y][start_x+x_pos]=color_top_left;
 | 
			
		||||
        Pixel_in_menu(start_x,start_y+x_pos,color_top_left);
 | 
			
		||||
        GFX_menu_block[start_y+x_pos][start_x]=color_top_left;
 | 
			
		||||
        Gfx->Menu_block[start_y+x_pos][start_x]=color_top_left;
 | 
			
		||||
      }
 | 
			
		||||
      // On colorie la diagonale
 | 
			
		||||
      for (x_pos=1;x_pos<Buttons_Pool[btn_number].Width;x_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        Pixel_in_menu(start_x+x_pos,end_y-x_pos,color_bottom_right);
 | 
			
		||||
        GFX_menu_block[end_y-x_pos][start_x+x_pos]=color_bottom_right;
 | 
			
		||||
        Gfx->Menu_block[end_y-x_pos][start_x+x_pos]=color_bottom_right;
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    case BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT:
 | 
			
		||||
      // On colorie le point haut droit
 | 
			
		||||
      Pixel_in_menu(end_x,start_y,color_diagonal);
 | 
			
		||||
      GFX_menu_block[start_y][end_x]=color_diagonal;
 | 
			
		||||
      Gfx->Menu_block[start_y][end_x]=color_diagonal;
 | 
			
		||||
      // On colorie le point bas gauche
 | 
			
		||||
      Pixel_in_menu(start_x,end_y,color_diagonal);
 | 
			
		||||
      GFX_menu_block[end_y][start_x]=color_diagonal;
 | 
			
		||||
      Gfx->Menu_block[end_y][start_x]=color_diagonal;
 | 
			
		||||
      // On colorie la diagonale
 | 
			
		||||
      for (x_pos=1;x_pos<Buttons_Pool[btn_number].Width;x_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        Pixel_in_menu(start_x+x_pos,end_y-x_pos,color_top_left);
 | 
			
		||||
        GFX_menu_block[end_y-x_pos][start_x+x_pos]=color_top_left;
 | 
			
		||||
        Gfx->Menu_block[end_y-x_pos][start_x+x_pos]=color_top_left;
 | 
			
		||||
      }
 | 
			
		||||
      // On colorie le coin bas droite
 | 
			
		||||
      for (x_pos=0;x_pos<Buttons_Pool[btn_number].Width;x_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        Pixel_in_menu(end_x-x_pos,end_y,color_bottom_right);
 | 
			
		||||
        GFX_menu_block[end_y][end_x-x_pos]=color_bottom_right;
 | 
			
		||||
        Gfx->Menu_block[end_y][end_x-x_pos]=color_bottom_right;
 | 
			
		||||
        Pixel_in_menu(end_x,end_y-x_pos,color_bottom_right);
 | 
			
		||||
        GFX_menu_block[end_y-x_pos][end_x]=color_bottom_right;
 | 
			
		||||
        Gfx->Menu_block[end_y-x_pos][end_x]=color_bottom_right;
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
  if (Menu_is_visible)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								global.h
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								global.h
									
									
									
									
									
								
							@ -63,9 +63,6 @@ GFX2_GLOBAL T_Video_mode Video_mode[MAX_VIDEO_MODES];
 | 
			
		||||
/// Actual number of video modes in ::Video_mode.
 | 
			
		||||
GFX2_GLOBAL int  Nb_video_modes;
 | 
			
		||||
 | 
			
		||||
/// A default 256-color palette.
 | 
			
		||||
GFX2_GLOBAL T_Palette Default_palette;
 | 
			
		||||
 | 
			
		||||
// -- Menu colors
 | 
			
		||||
 | 
			
		||||
GFX2_GLOBAL byte MC_Black; ///< Index of color to use as "black" in the GUI menus.
 | 
			
		||||
@ -139,12 +136,6 @@ GFX2_GLOBAL byte Cursor_hidden;
 | 
			
		||||
GFX2_GLOBAL byte Cursor_in_menu;
 | 
			
		||||
/// Boolean, means the cursor was hovering over a menu GUI element.
 | 
			
		||||
GFX2_GLOBAL byte Cursor_in_menu_previous;
 | 
			
		||||
/// X coordinate of the mouse cursor's "hot spot". It is < ::CURSOR_SPRITE_WIDTH
 | 
			
		||||
GFX2_GLOBAL word Cursor_offset_X[NB_CURSOR_SPRITES];
 | 
			
		||||
/// Y coordinate of the mouse cursor's "hot spot". It is < ::CURSOR_SPRITE_HEIGHT
 | 
			
		||||
GFX2_GLOBAL word Cursor_offset_Y[NB_CURSOR_SPRITES];
 | 
			
		||||
/// Graphic resources for the mouse cursor.
 | 
			
		||||
GFX2_GLOBAL byte GFX_cursor_sprite[NB_CURSOR_SPRITES][CURSOR_SPRITE_HEIGHT][CURSOR_SPRITE_WIDTH];
 | 
			
		||||
/// Storage for the graphics under the mouse cursor. Used by ::Hide_cursor and ::Display_cursor
 | 
			
		||||
GFX2_GLOBAL byte CURSOR_BACKGROUND[CURSOR_SPRITE_HEIGHT][CURSOR_SPRITE_WIDTH];
 | 
			
		||||
 | 
			
		||||
@ -164,18 +155,6 @@ GFX2_GLOBAL byte  Paintbrush_hidden;
 | 
			
		||||
GFX2_GLOBAL short Paintbrush_X;
 | 
			
		||||
/// Cordinate of the preview paintbrush in image space.
 | 
			
		||||
GFX2_GLOBAL short Paintbrush_Y;
 | 
			
		||||
/// Graphic resources for the preset paintbrushes.
 | 
			
		||||
GFX2_GLOBAL byte  GFX_paintbrush_sprite [NB_PAINTBRUSH_SPRITES][PAINTBRUSH_HEIGHT][PAINTBRUSH_WIDTH];
 | 
			
		||||
/// Width of the preset paintbrushes.
 | 
			
		||||
GFX2_GLOBAL word  Preset_paintbrush_width[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
/// Height of the preset paintbrushes.
 | 
			
		||||
GFX2_GLOBAL word  Preset_paintbrush_height[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
/// Type of the preset paintbrush: index in enum PAINTBRUSH_SHAPES
 | 
			
		||||
GFX2_GLOBAL byte  Paintbrush_type[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
/// Brush handle for the preset brushes. Generally ::Preset_paintbrush_width[]/2
 | 
			
		||||
GFX2_GLOBAL word  Preset_paintbrush_offset_X[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
/// Brush handle for the preset brushes. Generally ::Preset_paintbrush_height[]/2
 | 
			
		||||
GFX2_GLOBAL word  Preset_paintbrush_offset_Y[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
/// Pixel data of the current brush
 | 
			
		||||
GFX2_GLOBAL byte * Paintbrush_sprite;
 | 
			
		||||
/// Current paintbrush's width
 | 
			
		||||
@ -675,8 +654,6 @@ GFX2_GLOBAL word Snap_offset_Y;
 | 
			
		||||
GFX2_GLOBAL byte  Sieve_mode;
 | 
			
		||||
/// Sprite of the sieve pattern. It's actually an array of booleans.
 | 
			
		||||
GFX2_GLOBAL byte  Sieve[16][16];
 | 
			
		||||
/// Preset sieve patterns, stored as binary (one word per line)
 | 
			
		||||
GFX2_GLOBAL word  GFX_sieve_pattern[12][16];
 | 
			
		||||
/// Width of the sieve pattern, in Sieve mode.
 | 
			
		||||
GFX2_GLOBAL short Sieve_width;
 | 
			
		||||
/// Height of the sieve pattern, in Sieve mode.
 | 
			
		||||
@ -810,40 +787,14 @@ GFX2_GLOBAL byte File_in_command_line;
 | 
			
		||||
/// Boolean, true if Grafx2 was run with a command-line argument to set a resolution on startup (overrides config)
 | 
			
		||||
GFX2_GLOBAL byte Resolution_in_command_line;
 | 
			
		||||
 | 
			
		||||
// - Graphic skin data
 | 
			
		||||
// - Graphic
 | 
			
		||||
 | 
			
		||||
/// Bitmap data for the menu, a single rectangle.
 | 
			
		||||
GFX2_GLOBAL byte GFX_menu_block[MENU_HEIGHT][MENU_WIDTH];
 | 
			
		||||
/// Bitmap data for the icons that are displayed over the menu.
 | 
			
		||||
GFX2_GLOBAL byte GFX_menu_sprite[NB_MENU_SPRITES][MENU_SPRITE_HEIGHT][MENU_SPRITE_WIDTH];
 | 
			
		||||
/// Bitmap data for the different "effects" icons.
 | 
			
		||||
GFX2_GLOBAL byte GFX_effect_sprite[NB_EFFECTS_SPRITES][MENU_SPRITE_HEIGHT][MENU_SPRITE_WIDTH];
 | 
			
		||||
/// Bitmap data for the Grafx2 logo that appears on splash screen. All 256 colors allowed.
 | 
			
		||||
GFX2_GLOBAL byte * GFX_logo_grafx2;
 | 
			
		||||
/// Bitmap data for the classic 8x8 font used in menus etc.
 | 
			
		||||
GFX2_GLOBAL byte GFX_system_font[256*8*8];
 | 
			
		||||
/// Bitmap data for the "fun" 8x8 font used in menus etc.
 | 
			
		||||
GFX2_GLOBAL byte GFX_fun_font    [256*8*8];
 | 
			
		||||
/// Bitmap data for the 6x8 font used in help screens.
 | 
			
		||||
GFX2_GLOBAL byte GFX_help_font_norm [256][6][8];
 | 
			
		||||
/// Bitmap data for the 6x8 font used in help screens ("bold" verstion).
 | 
			
		||||
GFX2_GLOBAL byte GFX_bold_font [256][6][8];
 | 
			
		||||
// 12
 | 
			
		||||
// 34
 | 
			
		||||
/// Bitmap data for the title font used in help screens. Top-left quarter.
 | 
			
		||||
GFX2_GLOBAL byte GFX_help_font_t1 [64][6][8];
 | 
			
		||||
/// Bitmap data for the title font used in help screens. Top-right quarter.
 | 
			
		||||
GFX2_GLOBAL byte GFX_help_font_t2 [64][6][8];
 | 
			
		||||
/// Bitmap data for the title font used in help screens. Bottom-left quarter.
 | 
			
		||||
GFX2_GLOBAL byte GFX_help_font_t3 [64][6][8];
 | 
			
		||||
/// Bitmap data for the title font used in help screens. Bottom-right quarter.
 | 
			
		||||
GFX2_GLOBAL byte GFX_help_font_t4 [64][6][8];
 | 
			
		||||
/// Bitmap data for the small 8x8 icons.
 | 
			
		||||
GFX2_GLOBAL byte GFX_icon_sprite[NB_ICON_SPRITES][ICON_SPRITE_HEIGHT][ICON_SPRITE_WIDTH];
 | 
			
		||||
 | 
			
		||||
/// Pointer to the font selected for menus. It's either ::GFX_system_font or ::GFX_fun_font
 | 
			
		||||
/// Pointer to the font selected for menus. It's either ::Gfx->System_font or ::Gfx->Fun_font
 | 
			
		||||
GFX2_GLOBAL byte * Menu_font;
 | 
			
		||||
 | 
			
		||||
/// Pointer to the current active skin.
 | 
			
		||||
GFX2_GLOBAL T_Gui_skin * Gfx;
 | 
			
		||||
 | 
			
		||||
// -- Help data
 | 
			
		||||
 | 
			
		||||
/// Index of the ::Help_section shown by the Help screen.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										18
									
								
								help.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								help.c
									
									
									
									
									
								
							@ -323,27 +323,27 @@ void Display_help(void)
 | 
			
		||||
        if (line_type=='T')
 | 
			
		||||
        {
 | 
			
		||||
          if (line[char_index/2]>'_' || line[char_index/2]<' ')
 | 
			
		||||
            char_pixel=&(GFX_help_font_norm['!'][0][0]); // Caractère pas géré
 | 
			
		||||
            char_pixel=&(Gfx->Help_font_norm['!'][0][0]); // Caractère pas géré
 | 
			
		||||
          else if (char_index & 1)
 | 
			
		||||
            char_pixel=&(GFX_help_font_t2[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
            char_pixel=&(Gfx->Help_font_t2[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
          else
 | 
			
		||||
            char_pixel=&(GFX_help_font_t1[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
            char_pixel=&(Gfx->Help_font_t1[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
        }
 | 
			
		||||
        else if (line_type=='-')
 | 
			
		||||
        {
 | 
			
		||||
          if (line[char_index/2]>'_' || line[char_index/2]<' ')
 | 
			
		||||
            char_pixel=&(GFX_help_font_norm['!'][0][0]); // Caractère pas géré
 | 
			
		||||
            char_pixel=&(Gfx->Help_font_norm['!'][0][0]); // Caractère pas géré
 | 
			
		||||
          else if (char_index & 1)
 | 
			
		||||
            char_pixel=&(GFX_help_font_t4[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
            char_pixel=&(Gfx->Help_font_t4[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
          else
 | 
			
		||||
            char_pixel=&(GFX_help_font_t3[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
            char_pixel=&(Gfx->Help_font_t3[(unsigned char)(line[char_index/2])-' '][0][0]);
 | 
			
		||||
        }
 | 
			
		||||
        else if (line_type=='S')
 | 
			
		||||
          char_pixel=&(GFX_bold_font[(unsigned char)(line[char_index])][0][0]);
 | 
			
		||||
          char_pixel=&(Gfx->Bold_font[(unsigned char)(line[char_index])][0][0]);
 | 
			
		||||
        else if (line_type=='N' || line_type=='K')
 | 
			
		||||
          char_pixel=&(GFX_help_font_norm[(unsigned char)(line[char_index])][0][0]);
 | 
			
		||||
          char_pixel=&(Gfx->Help_font_norm[(unsigned char)(line[char_index])][0][0]);
 | 
			
		||||
        else
 | 
			
		||||
          char_pixel=&(GFX_help_font_norm['!'][0][0]); // Un garde-fou en cas de probleme
 | 
			
		||||
          char_pixel=&(Gfx->Help_font_norm['!'][0][0]); // Un garde-fou en cas de probleme
 | 
			
		||||
          
 | 
			
		||||
        for (x=0;x<6;x++)
 | 
			
		||||
          for (repeat_menu_x_factor=0;repeat_menu_x_factor<Menu_factor_X;repeat_menu_x_factor++)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										347
									
								
								init.c
									
									
									
									
									
								
							
							
						
						
									
										347
									
								
								init.c
									
									
									
									
									
								
							@ -189,11 +189,8 @@ void Read_GUI_pattern(SDL_Surface *gui, int start_x, int start_y, word *dest, ch
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Center_GUI_cursor(byte *cursor_buffer, int cursor_number)
 | 
			
		||||
void Center_GUI_cursor(T_Gui_skin *gfx, byte *cursor_buffer, int cursor_number)
 | 
			
		||||
{
 | 
			
		||||
  // GFX_cursor_sprite[i]
 | 
			
		||||
  //Cursor_offset_X[CURSOR_SHAPE_ARROW]=0;
 | 
			
		||||
  //Cursor_offset_Y[CURSOR_SHAPE_ARROW]=0;
 | 
			
		||||
  int x,y;
 | 
			
		||||
  int start_x, start_y;
 | 
			
		||||
  byte found;
 | 
			
		||||
@ -228,15 +225,15 @@ void Center_GUI_cursor(byte *cursor_buffer, int cursor_number)
 | 
			
		||||
    if (found)
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
  Cursor_offset_X[cursor_number]=14-start_x;
 | 
			
		||||
  Cursor_offset_Y[cursor_number]=14-start_y;
 | 
			
		||||
  gfx->Cursor_offset_X[cursor_number]=14-start_x;
 | 
			
		||||
  gfx->Cursor_offset_Y[cursor_number]=14-start_y;
 | 
			
		||||
 | 
			
		||||
  for (y=0;y<CURSOR_SPRITE_HEIGHT;y++)
 | 
			
		||||
    for (x=0;x<CURSOR_SPRITE_WIDTH;x++)
 | 
			
		||||
      GFX_cursor_sprite[cursor_number][y][x]=cursor_buffer[(start_y+y)*29+start_x+x];
 | 
			
		||||
      gfx->Cursor_sprite[cursor_number][y][x]=cursor_buffer[(start_y+y)*29+start_x+x];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Load_graphics(const char * skin_file)
 | 
			
		||||
void Load_graphics(T_Gui_skin *gfx, const char * skin_file)
 | 
			
		||||
{
 | 
			
		||||
  int  index;
 | 
			
		||||
  char filename[MAX_PATH_CHARACTERS];
 | 
			
		||||
@ -275,9 +272,9 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
  // Lecture de la palette par défaut
 | 
			
		||||
  for (i=0; i<256; i++)
 | 
			
		||||
  {
 | 
			
		||||
    Default_palette[i].R=SDLPal->colors[i].r;
 | 
			
		||||
    Default_palette[i].G=SDLPal->colors[i].g;
 | 
			
		||||
    Default_palette[i].B=SDLPal->colors[i].b;
 | 
			
		||||
    gfx->Default_palette[i].R=SDLPal->colors[i].r;
 | 
			
		||||
    gfx->Default_palette[i].G=SDLPal->colors[i].g;
 | 
			
		||||
    gfx->Default_palette[i].B=SDLPal->colors[i].b;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  // Carré "noir"
 | 
			
		||||
@ -353,7 +350,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
  
 | 
			
		||||
  // Menu
 | 
			
		||||
  GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "menu");
 | 
			
		||||
  Read_GUI_block(gui, cursor_x, cursor_y, GFX_menu_block, MENU_WIDTH, MENU_HEIGHT,"menu",0);
 | 
			
		||||
  Read_GUI_block(gui, cursor_x, cursor_y, gfx->Menu_block, MENU_WIDTH, MENU_HEIGHT,"menu",0);
 | 
			
		||||
  cursor_y+=MENU_HEIGHT;
 | 
			
		||||
 | 
			
		||||
  // Effets
 | 
			
		||||
@ -363,7 +360,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
      GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "effect sprite");
 | 
			
		||||
    else
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "effect sprite");
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, GFX_effect_sprite[i], MENU_SPRITE_WIDTH, MENU_SPRITE_HEIGHT, "effect sprite",0);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, gfx->Effect_sprite[i], MENU_SPRITE_WIDTH, MENU_SPRITE_HEIGHT, "effect sprite",0);
 | 
			
		||||
    cursor_x+=MENU_SPRITE_WIDTH;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=MENU_SPRITE_HEIGHT;
 | 
			
		||||
@ -376,7 +373,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
    else
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "mouse cursor");
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, mouse_cursor_area, 29, 29, "mouse cursor",1);
 | 
			
		||||
    Center_GUI_cursor((byte *)mouse_cursor_area,i);
 | 
			
		||||
    Center_GUI_cursor(gfx, (byte *)mouse_cursor_area,i);
 | 
			
		||||
    cursor_x+=29;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=29;
 | 
			
		||||
@ -388,7 +385,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
      GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "menu sprite");
 | 
			
		||||
    else
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "menu sprite");
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, GFX_menu_sprite[i], MENU_SPRITE_WIDTH, MENU_SPRITE_HEIGHT, "menu sprite",1);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, gfx->Menu_sprite[i], MENU_SPRITE_WIDTH, MENU_SPRITE_HEIGHT, "menu sprite",1);
 | 
			
		||||
    cursor_x+=MENU_SPRITE_WIDTH;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=MENU_SPRITE_HEIGHT;
 | 
			
		||||
@ -407,7 +404,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
    {
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "brush icon");
 | 
			
		||||
    }
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, GFX_paintbrush_sprite[i], PAINTBRUSH_WIDTH, PAINTBRUSH_HEIGHT, "brush icon",2);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, gfx->Paintbrush_sprite[i], PAINTBRUSH_WIDTH, PAINTBRUSH_HEIGHT, "brush icon",2);
 | 
			
		||||
    cursor_x+=PAINTBRUSH_WIDTH;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=PAINTBRUSH_HEIGHT;
 | 
			
		||||
@ -419,17 +416,17 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
      GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "sprite drive");
 | 
			
		||||
    else
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "sprite drive");
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, GFX_icon_sprite[i], ICON_SPRITE_WIDTH, ICON_SPRITE_HEIGHT, "sprite drive",1);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, gfx->Icon_sprite[i], ICON_SPRITE_WIDTH, ICON_SPRITE_HEIGHT, "sprite drive",1);
 | 
			
		||||
    cursor_x+=ICON_SPRITE_WIDTH;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=ICON_SPRITE_HEIGHT;
 | 
			
		||||
 | 
			
		||||
  // Logo splash screen
 | 
			
		||||
  if (!(GFX_logo_grafx2=(byte *)malloc(231*56)))
 | 
			
		||||
  if (!(gfx->Logo_grafx2=(byte *)malloc(231*56)))
 | 
			
		||||
    Error(ERROR_MEMORY);
 | 
			
		||||
 | 
			
		||||
  GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "logo menu");
 | 
			
		||||
  Read_GUI_block(gui, cursor_x, cursor_y, GFX_logo_grafx2, 231, 56, "logo menu",3);
 | 
			
		||||
  Read_GUI_block(gui, cursor_x, cursor_y, gfx->Logo_grafx2, 231, 56, "logo menu",3);
 | 
			
		||||
  cursor_y+=56;
 | 
			
		||||
  
 | 
			
		||||
  // Trames
 | 
			
		||||
@ -439,7 +436,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
      GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "sieve pattern");
 | 
			
		||||
    else
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "sieve pattern");
 | 
			
		||||
    Read_GUI_pattern(gui, cursor_x, cursor_y, GFX_sieve_pattern[i],"sieve pattern");
 | 
			
		||||
    Read_GUI_pattern(gui, cursor_x, cursor_y, gfx->Sieve_pattern[i],"sieve pattern");
 | 
			
		||||
    cursor_x+=16;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=16;
 | 
			
		||||
@ -458,11 +455,11 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
    {
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "system font");
 | 
			
		||||
    }
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &GFX_system_font[i*64], 8, 8, "system font",2);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &gfx->System_font[i*64], 8, 8, "system font",2);
 | 
			
		||||
    cursor_x+=8;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=8;
 | 
			
		||||
  Menu_font=GFX_system_font;
 | 
			
		||||
  Menu_font=gfx->System_font;
 | 
			
		||||
 | 
			
		||||
  // Font Fun
 | 
			
		||||
  for (i=0; i<256; i++)
 | 
			
		||||
@ -478,7 +475,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
    {
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "fun font");
 | 
			
		||||
    }
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &GFX_fun_font[i*64], 8, 8, "fun font",2);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &gfx->Fun_font[i*64], 8, 8, "fun font",2);
 | 
			
		||||
    cursor_x+=8;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=8;
 | 
			
		||||
@ -497,7 +494,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
    {
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "help font (norm)");
 | 
			
		||||
    }
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &(GFX_help_font_norm[i][0][0]), 6, 8, "help font (norm)",0);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &(gfx->Help_font_norm[i][0][0]), 6, 8, "help font (norm)",0);
 | 
			
		||||
    cursor_x+=6;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=8;
 | 
			
		||||
@ -516,7 +513,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
    {
 | 
			
		||||
      GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "help font (bold)");
 | 
			
		||||
    }
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &(GFX_bold_font[i][0][0]), 6, 8, "help font (bold)",0);
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, &(gfx->Bold_font[i][0][0]), 6, 8, "help font (bold)",0);
 | 
			
		||||
    cursor_x+=6;
 | 
			
		||||
  }
 | 
			
		||||
  cursor_y+=8;
 | 
			
		||||
@ -539,14 +536,14 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
    
 | 
			
		||||
    if (i&1)
 | 
			
		||||
      if (i&64)
 | 
			
		||||
        dest=&(GFX_help_font_t4[char_4++][0][0]);
 | 
			
		||||
        dest=&(gfx->Help_font_t4[char_4++][0][0]);
 | 
			
		||||
      else
 | 
			
		||||
        dest=&(GFX_help_font_t2[char_2++][0][0]);
 | 
			
		||||
        dest=&(gfx->Help_font_t2[char_2++][0][0]);
 | 
			
		||||
    else
 | 
			
		||||
      if (i&64)
 | 
			
		||||
        dest=&(GFX_help_font_t3[char_3++][0][0]);
 | 
			
		||||
        dest=&(gfx->Help_font_t3[char_3++][0][0]);
 | 
			
		||||
      else
 | 
			
		||||
        dest=&(GFX_help_font_t1[char_1++][0][0]);
 | 
			
		||||
        dest=&(gfx->Help_font_t1[char_1++][0][0]);
 | 
			
		||||
    
 | 
			
		||||
    Read_GUI_block(gui, cursor_x, cursor_y, dest, 6, 8, "help font (title)",0);
 | 
			
		||||
    cursor_x+=6;
 | 
			
		||||
@ -559,202 +556,202 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
  Current_help_section=0;
 | 
			
		||||
  Help_position=0;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 0]= 1;
 | 
			
		||||
  Preset_paintbrush_height[ 0]= 1;
 | 
			
		||||
  Paintbrush_type             [ 0]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 0]= 1;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 0]= 1;
 | 
			
		||||
  gfx->Paintbrush_type         [ 0]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 1]= 2;
 | 
			
		||||
  Preset_paintbrush_height[ 1]= 2;
 | 
			
		||||
  Paintbrush_type             [ 1]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 1]= 2;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 1]= 2;
 | 
			
		||||
  gfx->Paintbrush_type         [ 1]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 2]= 3;
 | 
			
		||||
  Preset_paintbrush_height[ 2]= 3;
 | 
			
		||||
  Paintbrush_type             [ 2]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 2]= 3;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 2]= 3;
 | 
			
		||||
  gfx->Paintbrush_type         [ 2]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 3]= 4;
 | 
			
		||||
  Preset_paintbrush_height[ 3]= 4;
 | 
			
		||||
  Paintbrush_type             [ 3]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 3]= 4;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 3]= 4;
 | 
			
		||||
  gfx->Paintbrush_type         [ 3]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 4]= 5;
 | 
			
		||||
  Preset_paintbrush_height[ 4]= 5;
 | 
			
		||||
  Paintbrush_type             [ 4]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 4]= 5;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 4]= 5;
 | 
			
		||||
  gfx->Paintbrush_type         [ 4]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 5]= 7;
 | 
			
		||||
  Preset_paintbrush_height[ 5]= 7;
 | 
			
		||||
  Paintbrush_type             [ 5]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 5]= 7;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 5]= 7;
 | 
			
		||||
  gfx->Paintbrush_type         [ 5]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 6]= 8;
 | 
			
		||||
  Preset_paintbrush_height[ 6]= 8;
 | 
			
		||||
  Paintbrush_type             [ 6]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 6]= 8;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 6]= 8;
 | 
			
		||||
  gfx->Paintbrush_type         [ 6]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 7]=12;
 | 
			
		||||
  Preset_paintbrush_height[ 7]=12;
 | 
			
		||||
  Paintbrush_type             [ 7]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 7]=12;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 7]=12;
 | 
			
		||||
  gfx->Paintbrush_type         [ 7]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 8]=16;
 | 
			
		||||
  Preset_paintbrush_height[ 8]=16;
 | 
			
		||||
  Paintbrush_type             [ 8]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 8]=16;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 8]=16;
 | 
			
		||||
  gfx->Paintbrush_type         [ 8]=PAINTBRUSH_SHAPE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[ 9]=16;
 | 
			
		||||
  Preset_paintbrush_height[ 9]=16;
 | 
			
		||||
  Paintbrush_type             [ 9]=PAINTBRUSH_SHAPE_SIEVE_SQUARE;
 | 
			
		||||
  gfx->Preset_paintbrush_width [ 9]=16;
 | 
			
		||||
  gfx->Preset_paintbrush_height[ 9]=16;
 | 
			
		||||
  gfx->Paintbrush_type         [ 9]=PAINTBRUSH_SHAPE_SIEVE_SQUARE;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[10]=15;
 | 
			
		||||
  Preset_paintbrush_height[10]=15;
 | 
			
		||||
  Paintbrush_type             [10]=PAINTBRUSH_SHAPE_DIAMOND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [10]=15;
 | 
			
		||||
  gfx->Preset_paintbrush_height[10]=15;
 | 
			
		||||
  gfx->Paintbrush_type         [10]=PAINTBRUSH_SHAPE_DIAMOND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[11]= 5;
 | 
			
		||||
  Preset_paintbrush_height[11]= 5;
 | 
			
		||||
  Paintbrush_type             [11]=PAINTBRUSH_SHAPE_DIAMOND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [11]= 5;
 | 
			
		||||
  gfx->Preset_paintbrush_height[11]= 5;
 | 
			
		||||
  gfx->Paintbrush_type         [11]=PAINTBRUSH_SHAPE_DIAMOND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[12]= 3;
 | 
			
		||||
  Preset_paintbrush_height[12]= 3;
 | 
			
		||||
  Paintbrush_type             [12]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [12]= 3;
 | 
			
		||||
  gfx->Preset_paintbrush_height[12]= 3;
 | 
			
		||||
  gfx->Paintbrush_type         [12]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[13]= 4;
 | 
			
		||||
  Preset_paintbrush_height[13]= 4;
 | 
			
		||||
  Paintbrush_type             [13]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [13]= 4;
 | 
			
		||||
  gfx->Preset_paintbrush_height[13]= 4;
 | 
			
		||||
  gfx->Paintbrush_type         [13]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[14]= 5;
 | 
			
		||||
  Preset_paintbrush_height[14]= 5;
 | 
			
		||||
  Paintbrush_type             [14]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [14]= 5;
 | 
			
		||||
  gfx->Preset_paintbrush_height[14]= 5;
 | 
			
		||||
  gfx->Paintbrush_type         [14]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[15]= 6;
 | 
			
		||||
  Preset_paintbrush_height[15]= 6;
 | 
			
		||||
  Paintbrush_type             [15]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [15]= 6;
 | 
			
		||||
  gfx->Preset_paintbrush_height[15]= 6;
 | 
			
		||||
  gfx->Paintbrush_type         [15]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[16]= 8;
 | 
			
		||||
  Preset_paintbrush_height[16]= 8;
 | 
			
		||||
  Paintbrush_type             [16]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [16]= 8;
 | 
			
		||||
  gfx->Preset_paintbrush_height[16]= 8;
 | 
			
		||||
  gfx->Paintbrush_type         [16]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[17]=10;
 | 
			
		||||
  Preset_paintbrush_height[17]=10;
 | 
			
		||||
  Paintbrush_type             [17]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [17]=10;
 | 
			
		||||
  gfx->Preset_paintbrush_height[17]=10;
 | 
			
		||||
  gfx->Paintbrush_type         [17]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[18]=12;
 | 
			
		||||
  Preset_paintbrush_height[18]=12;
 | 
			
		||||
  Paintbrush_type             [18]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [18]=12;
 | 
			
		||||
  gfx->Preset_paintbrush_height[18]=12;
 | 
			
		||||
  gfx->Paintbrush_type         [18]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[19]=14;
 | 
			
		||||
  Preset_paintbrush_height[19]=14;
 | 
			
		||||
  Paintbrush_type             [19]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [19]=14;
 | 
			
		||||
  gfx->Preset_paintbrush_height[19]=14;
 | 
			
		||||
  gfx->Paintbrush_type         [19]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[20]=16;
 | 
			
		||||
  Preset_paintbrush_height[20]=16;
 | 
			
		||||
  Paintbrush_type             [20]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [20]=16;
 | 
			
		||||
  gfx->Preset_paintbrush_height[20]=16;
 | 
			
		||||
  gfx->Paintbrush_type         [20]=PAINTBRUSH_SHAPE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[21]=15;
 | 
			
		||||
  Preset_paintbrush_height[21]=15;
 | 
			
		||||
  Paintbrush_type             [21]=PAINTBRUSH_SHAPE_SIEVE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [21]=15;
 | 
			
		||||
  gfx->Preset_paintbrush_height[21]=15;
 | 
			
		||||
  gfx->Paintbrush_type         [21]=PAINTBRUSH_SHAPE_SIEVE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[22]=11;
 | 
			
		||||
  Preset_paintbrush_height[22]=11;
 | 
			
		||||
  Paintbrush_type             [22]=PAINTBRUSH_SHAPE_SIEVE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [22]=11;
 | 
			
		||||
  gfx->Preset_paintbrush_height[22]=11;
 | 
			
		||||
  gfx->Paintbrush_type         [22]=PAINTBRUSH_SHAPE_SIEVE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[23]= 5;
 | 
			
		||||
  Preset_paintbrush_height[23]= 5;
 | 
			
		||||
  Paintbrush_type             [23]=PAINTBRUSH_SHAPE_SIEVE_ROUND;
 | 
			
		||||
  gfx->Preset_paintbrush_width [23]= 5;
 | 
			
		||||
  gfx->Preset_paintbrush_height[23]= 5;
 | 
			
		||||
  gfx->Paintbrush_type         [23]=PAINTBRUSH_SHAPE_SIEVE_ROUND;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[24]= 2;
 | 
			
		||||
  Preset_paintbrush_height[24]= 1;
 | 
			
		||||
  Paintbrush_type             [24]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [24]= 2;
 | 
			
		||||
  gfx->Preset_paintbrush_height[24]= 1;
 | 
			
		||||
  gfx->Paintbrush_type         [24]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[25]= 3;
 | 
			
		||||
  Preset_paintbrush_height[25]= 1;
 | 
			
		||||
  Paintbrush_type             [25]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [25]= 3;
 | 
			
		||||
  gfx->Preset_paintbrush_height[25]= 1;
 | 
			
		||||
  gfx->Paintbrush_type         [25]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[26]= 4;
 | 
			
		||||
  Preset_paintbrush_height[26]= 1;
 | 
			
		||||
  Paintbrush_type             [26]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [26]= 4;
 | 
			
		||||
  gfx->Preset_paintbrush_height[26]= 1;
 | 
			
		||||
  gfx->Paintbrush_type         [26]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[27]= 8;
 | 
			
		||||
  Preset_paintbrush_height[27]= 1;
 | 
			
		||||
  Paintbrush_type             [27]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [27]= 8;
 | 
			
		||||
  gfx->Preset_paintbrush_height[27]= 1;
 | 
			
		||||
  gfx->Paintbrush_type         [27]=PAINTBRUSH_SHAPE_HORIZONTAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[28]= 1;
 | 
			
		||||
  Preset_paintbrush_height[28]= 2;
 | 
			
		||||
  Paintbrush_type             [28]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [28]= 1;
 | 
			
		||||
  gfx->Preset_paintbrush_height[28]= 2;
 | 
			
		||||
  gfx->Paintbrush_type         [28]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[29]= 1;
 | 
			
		||||
  Preset_paintbrush_height[29]= 3;
 | 
			
		||||
  Paintbrush_type             [29]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [29]= 1;
 | 
			
		||||
  gfx->Preset_paintbrush_height[29]= 3;
 | 
			
		||||
  gfx->Paintbrush_type         [29]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[30]= 1;
 | 
			
		||||
  Preset_paintbrush_height[30]= 4;
 | 
			
		||||
  Paintbrush_type             [30]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [30]= 1;
 | 
			
		||||
  gfx->Preset_paintbrush_height[30]= 4;
 | 
			
		||||
  gfx->Paintbrush_type         [30]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[31]= 1;
 | 
			
		||||
  Preset_paintbrush_height[31]= 8;
 | 
			
		||||
  Paintbrush_type             [31]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
  gfx->Preset_paintbrush_width [31]= 1;
 | 
			
		||||
  gfx->Preset_paintbrush_height[31]= 8;
 | 
			
		||||
  gfx->Paintbrush_type         [31]=PAINTBRUSH_SHAPE_VERTICAL_BAR;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[32]= 3;
 | 
			
		||||
  Preset_paintbrush_height[32]= 3;
 | 
			
		||||
  Paintbrush_type             [32]=PAINTBRUSH_SHAPE_CROSS;
 | 
			
		||||
  gfx->Preset_paintbrush_width [32]= 3;
 | 
			
		||||
  gfx->Preset_paintbrush_height[32]= 3;
 | 
			
		||||
  gfx->Paintbrush_type         [32]=PAINTBRUSH_SHAPE_CROSS;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[33]= 5;
 | 
			
		||||
  Preset_paintbrush_height[33]= 5;
 | 
			
		||||
  Paintbrush_type             [33]=PAINTBRUSH_SHAPE_CROSS;
 | 
			
		||||
  gfx->Preset_paintbrush_width [33]= 5;
 | 
			
		||||
  gfx->Preset_paintbrush_height[33]= 5;
 | 
			
		||||
  gfx->Paintbrush_type         [33]=PAINTBRUSH_SHAPE_CROSS;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[34]= 5;
 | 
			
		||||
  Preset_paintbrush_height[34]= 5;
 | 
			
		||||
  Paintbrush_type             [34]=PAINTBRUSH_SHAPE_PLUS;
 | 
			
		||||
  gfx->Preset_paintbrush_width [34]= 5;
 | 
			
		||||
  gfx->Preset_paintbrush_height[34]= 5;
 | 
			
		||||
  gfx->Paintbrush_type         [34]=PAINTBRUSH_SHAPE_PLUS;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[35]=15;
 | 
			
		||||
  Preset_paintbrush_height[35]=15;
 | 
			
		||||
  Paintbrush_type             [35]=PAINTBRUSH_SHAPE_PLUS;
 | 
			
		||||
  gfx->Preset_paintbrush_width [35]=15;
 | 
			
		||||
  gfx->Preset_paintbrush_height[35]=15;
 | 
			
		||||
  gfx->Paintbrush_type         [35]=PAINTBRUSH_SHAPE_PLUS;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[36]= 2;
 | 
			
		||||
  Preset_paintbrush_height[36]= 2;
 | 
			
		||||
  Paintbrush_type             [36]=PAINTBRUSH_SHAPE_SLASH;
 | 
			
		||||
  gfx->Preset_paintbrush_width [36]= 2;
 | 
			
		||||
  gfx->Preset_paintbrush_height[36]= 2;
 | 
			
		||||
  gfx->Paintbrush_type         [36]=PAINTBRUSH_SHAPE_SLASH;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[37]= 4;
 | 
			
		||||
  Preset_paintbrush_height[37]= 4;
 | 
			
		||||
  Paintbrush_type             [37]=PAINTBRUSH_SHAPE_SLASH;
 | 
			
		||||
  gfx->Preset_paintbrush_width [37]= 4;
 | 
			
		||||
  gfx->Preset_paintbrush_height[37]= 4;
 | 
			
		||||
  gfx->Paintbrush_type         [37]=PAINTBRUSH_SHAPE_SLASH;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[38]= 8;
 | 
			
		||||
  Preset_paintbrush_height[38]= 8;
 | 
			
		||||
  Paintbrush_type             [38]=PAINTBRUSH_SHAPE_SLASH;
 | 
			
		||||
  gfx->Preset_paintbrush_width [38]= 8;
 | 
			
		||||
  gfx->Preset_paintbrush_height[38]= 8;
 | 
			
		||||
  gfx->Paintbrush_type         [38]=PAINTBRUSH_SHAPE_SLASH;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[39]= 2;
 | 
			
		||||
  Preset_paintbrush_height[39]= 2;
 | 
			
		||||
  Paintbrush_type             [39]=PAINTBRUSH_SHAPE_ANTISLASH;
 | 
			
		||||
  gfx->Preset_paintbrush_width [39]= 2;
 | 
			
		||||
  gfx->Preset_paintbrush_height[39]= 2;
 | 
			
		||||
  gfx->Paintbrush_type         [39]=PAINTBRUSH_SHAPE_ANTISLASH;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[40]= 4;
 | 
			
		||||
  Preset_paintbrush_height[40]= 4;
 | 
			
		||||
  Paintbrush_type             [40]=PAINTBRUSH_SHAPE_ANTISLASH;
 | 
			
		||||
  gfx->Preset_paintbrush_width [40]= 4;
 | 
			
		||||
  gfx->Preset_paintbrush_height[40]= 4;
 | 
			
		||||
  gfx->Paintbrush_type         [40]=PAINTBRUSH_SHAPE_ANTISLASH;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[41]= 8;
 | 
			
		||||
  Preset_paintbrush_height[41]= 8;
 | 
			
		||||
  Paintbrush_type             [41]=PAINTBRUSH_SHAPE_ANTISLASH;
 | 
			
		||||
  gfx->Preset_paintbrush_width [41]= 8;
 | 
			
		||||
  gfx->Preset_paintbrush_height[41]= 8;
 | 
			
		||||
  gfx->Paintbrush_type         [41]=PAINTBRUSH_SHAPE_ANTISLASH;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[42]= 4;
 | 
			
		||||
  Preset_paintbrush_height[42]= 4;
 | 
			
		||||
  Paintbrush_type             [42]=PAINTBRUSH_SHAPE_RANDOM;
 | 
			
		||||
  gfx->Preset_paintbrush_width [42]= 4;
 | 
			
		||||
  gfx->Preset_paintbrush_height[42]= 4;
 | 
			
		||||
  gfx->Paintbrush_type         [42]=PAINTBRUSH_SHAPE_RANDOM;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[43]= 8;
 | 
			
		||||
  Preset_paintbrush_height[43]= 8;
 | 
			
		||||
  Paintbrush_type             [43]=PAINTBRUSH_SHAPE_RANDOM;
 | 
			
		||||
  gfx->Preset_paintbrush_width [43]= 8;
 | 
			
		||||
  gfx->Preset_paintbrush_height[43]= 8;
 | 
			
		||||
  gfx->Paintbrush_type         [43]=PAINTBRUSH_SHAPE_RANDOM;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[44]=13;
 | 
			
		||||
  Preset_paintbrush_height[44]=13;
 | 
			
		||||
  Paintbrush_type             [44]=PAINTBRUSH_SHAPE_RANDOM;
 | 
			
		||||
  gfx->Preset_paintbrush_width [44]=13;
 | 
			
		||||
  gfx->Preset_paintbrush_height[44]=13;
 | 
			
		||||
  gfx->Paintbrush_type         [44]=PAINTBRUSH_SHAPE_RANDOM;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[45]= 3;
 | 
			
		||||
  Preset_paintbrush_height[45]= 3;
 | 
			
		||||
  Paintbrush_type             [45]=PAINTBRUSH_SHAPE_MISC;
 | 
			
		||||
  gfx->Preset_paintbrush_width [45]= 3;
 | 
			
		||||
  gfx->Preset_paintbrush_height[45]= 3;
 | 
			
		||||
  gfx->Paintbrush_type         [45]=PAINTBRUSH_SHAPE_MISC;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[46]= 3;
 | 
			
		||||
  Preset_paintbrush_height[46]= 3;
 | 
			
		||||
  Paintbrush_type             [46]=PAINTBRUSH_SHAPE_MISC;
 | 
			
		||||
  gfx->Preset_paintbrush_width [46]= 3;
 | 
			
		||||
  gfx->Preset_paintbrush_height[46]= 3;
 | 
			
		||||
  gfx->Paintbrush_type         [46]=PAINTBRUSH_SHAPE_MISC;
 | 
			
		||||
 | 
			
		||||
  Preset_paintbrush_width[47]= 7;
 | 
			
		||||
  Preset_paintbrush_height[47]= 7;
 | 
			
		||||
  Paintbrush_type             [47]=PAINTBRUSH_SHAPE_MISC;
 | 
			
		||||
  gfx->Preset_paintbrush_width [47]= 7;
 | 
			
		||||
  gfx->Preset_paintbrush_height[47]= 7;
 | 
			
		||||
  gfx->Paintbrush_type         [47]=PAINTBRUSH_SHAPE_MISC;
 | 
			
		||||
 | 
			
		||||
  for (index=0;index<NB_PAINTBRUSH_SPRITES;index++)
 | 
			
		||||
  {
 | 
			
		||||
    Preset_paintbrush_offset_X[index]=(Preset_paintbrush_width[index]>>1);
 | 
			
		||||
    Preset_paintbrush_offset_Y[index]=(Preset_paintbrush_height[index]>>1);
 | 
			
		||||
    gfx->Preset_paintbrush_offset_X[index]=(gfx->Preset_paintbrush_width [index]>>1);
 | 
			
		||||
    gfx->Preset_paintbrush_offset_Y[index]=(gfx->Preset_paintbrush_height[index]>>1);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								init.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								init.h
									
									
									
									
									
								
							@ -22,7 +22,7 @@
 | 
			
		||||
/// Initialization (and some de-initialization) functions.
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
void Load_graphics(const char * skin_file);
 | 
			
		||||
void Load_graphics(T_Gui_skin *gfx, const char * skin_file);
 | 
			
		||||
void Init_buttons(void);
 | 
			
		||||
void Init_operations(void);
 | 
			
		||||
int  Load_CFG(int reload_all);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										25
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								main.c
									
									
									
									
									
								
							@ -532,8 +532,11 @@ int Init_program(int argc,char * argv[])
 | 
			
		||||
 | 
			
		||||
  Analyze_command_line(argc,argv);
 | 
			
		||||
 | 
			
		||||
  // Charger les sprites et la palette
 | 
			
		||||
  Load_graphics(Gui_skin_file);
 | 
			
		||||
  // Load sprites, palette etc.
 | 
			
		||||
  Gfx = (T_Gui_skin *)malloc(sizeof(T_Gui_skin));
 | 
			
		||||
  if (Gfx == NULL)
 | 
			
		||||
    Error(ERROR_MEMORY);
 | 
			
		||||
  Load_graphics(Gfx, Gui_skin_file);
 | 
			
		||||
 | 
			
		||||
  // Infos sur les trames (Sieve)
 | 
			
		||||
  Sieve_mode=0;
 | 
			
		||||
@ -541,21 +544,21 @@ int Init_program(int argc,char * argv[])
 | 
			
		||||
 | 
			
		||||
  // Transfert des valeurs du .INI qui ne changent pas dans des variables
 | 
			
		||||
  // plus accessibles:
 | 
			
		||||
  Default_palette[MC_Black]=Fav_menu_colors[0]=Config.Fav_menu_colors[0];
 | 
			
		||||
  Default_palette[MC_Dark] =Fav_menu_colors[1]=Config.Fav_menu_colors[1];
 | 
			
		||||
  Default_palette[MC_Light]=Fav_menu_colors[2]=Config.Fav_menu_colors[2];
 | 
			
		||||
  Default_palette[MC_White]=Fav_menu_colors[3]=Config.Fav_menu_colors[3];
 | 
			
		||||
  Compute_optimal_menu_colors(Default_palette);
 | 
			
		||||
  Gfx->Default_palette[MC_Black]=Fav_menu_colors[0]=Config.Fav_menu_colors[0];
 | 
			
		||||
  Gfx->Default_palette[MC_Dark] =Fav_menu_colors[1]=Config.Fav_menu_colors[1];
 | 
			
		||||
  Gfx->Default_palette[MC_Light]=Fav_menu_colors[2]=Config.Fav_menu_colors[2];
 | 
			
		||||
  Gfx->Default_palette[MC_White]=Fav_menu_colors[3]=Config.Fav_menu_colors[3];
 | 
			
		||||
  Compute_optimal_menu_colors(Gfx->Default_palette);
 | 
			
		||||
  Fore_color=MC_White;
 | 
			
		||||
  Back_color=MC_Black;
 | 
			
		||||
 | 
			
		||||
  // Prise en compte de la fonte
 | 
			
		||||
  if (Config.Font)
 | 
			
		||||
    Menu_font=GFX_fun_font;
 | 
			
		||||
    Menu_font=Gfx->Fun_font;
 | 
			
		||||
  else
 | 
			
		||||
    Menu_font=GFX_system_font;
 | 
			
		||||
    Menu_font=Gfx->System_font;
 | 
			
		||||
 | 
			
		||||
  memcpy(Main_palette,Default_palette,sizeof(T_Palette));
 | 
			
		||||
  memcpy(Main_palette, Gfx->Default_palette, sizeof(T_Palette));
 | 
			
		||||
 | 
			
		||||
  // Allocation de mémoire pour la brosse
 | 
			
		||||
  if (!(Brush         =(byte *)malloc(   1*   1))) Error(ERROR_MEMORY);
 | 
			
		||||
@ -755,7 +758,7 @@ int main(int argc,char * argv[])
 | 
			
		||||
  {
 | 
			
		||||
    if (Config.Opening_message && (!File_in_command_line))
 | 
			
		||||
      Button_Message_initial();
 | 
			
		||||
    free(GFX_logo_grafx2); // Pas encore utilisé dans le About
 | 
			
		||||
    free(Gfx->Logo_grafx2); // Not yet used in the About screen
 | 
			
		||||
  
 | 
			
		||||
    if (File_in_command_line)
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
@ -1227,9 +1227,9 @@ void Button_Palette(void)
 | 
			
		||||
 | 
			
		||||
      case 5 : // Default
 | 
			
		||||
        memcpy(backup_palette,working_palette,sizeof(T_Palette));
 | 
			
		||||
        memcpy(working_palette,Default_palette,sizeof(T_Palette));
 | 
			
		||||
        memcpy(temp_palette,Default_palette,sizeof(T_Palette));
 | 
			
		||||
        Set_palette(Default_palette);
 | 
			
		||||
        memcpy(working_palette,Gfx->Default_palette,sizeof(T_Palette));
 | 
			
		||||
        memcpy(temp_palette,Gfx->Default_palette,sizeof(T_Palette));
 | 
			
		||||
        Set_palette(Gfx->Default_palette);
 | 
			
		||||
        Draw_all_palette_sliders(red_slider,green_slider,blue_slider,working_palette,block_start,block_end);
 | 
			
		||||
        // On prépare la "modifiabilité" des nouvelles couleurs
 | 
			
		||||
        memcpy(temp_palette,working_palette,sizeof(T_Palette));
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										71
									
								
								struct.h
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								struct.h
									
									
									
									
									
								
							@ -305,5 +305,76 @@ typedef struct
 | 
			
		||||
} T_List_of_pages;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/// GUI skin data
 | 
			
		||||
typedef struct
 | 
			
		||||
{
 | 
			
		||||
  // Mouse
 | 
			
		||||
  
 | 
			
		||||
  /// X coordinate of the mouse cursor's "hot spot". It is < ::CURSOR_SPRITE_WIDTH
 | 
			
		||||
  word Cursor_offset_X[NB_CURSOR_SPRITES];
 | 
			
		||||
  /// Y coordinate of the mouse cursor's "hot spot". It is < ::CURSOR_SPRITE_HEIGHT
 | 
			
		||||
  word Cursor_offset_Y[NB_CURSOR_SPRITES];
 | 
			
		||||
  /// Graphic resources for the mouse cursor.
 | 
			
		||||
  byte Cursor_sprite[NB_CURSOR_SPRITES][CURSOR_SPRITE_HEIGHT][CURSOR_SPRITE_WIDTH];
 | 
			
		||||
 | 
			
		||||
  // Preset paintbrushes
 | 
			
		||||
  
 | 
			
		||||
  /// Graphic resources for the preset paintbrushes.
 | 
			
		||||
  byte  Paintbrush_sprite [NB_PAINTBRUSH_SPRITES][PAINTBRUSH_HEIGHT][PAINTBRUSH_WIDTH];
 | 
			
		||||
  /// Width of the preset paintbrushes.
 | 
			
		||||
  word  Preset_paintbrush_width[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
  /// Height of the preset paintbrushes.
 | 
			
		||||
  word  Preset_paintbrush_height[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
  /// Type of the preset paintbrush: index in enum PAINTBRUSH_SHAPES
 | 
			
		||||
  byte  Paintbrush_type[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
  /// Brush handle for the preset brushes. Generally ::Preset_paintbrush_width[]/2
 | 
			
		||||
  word  Preset_paintbrush_offset_X[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
  /// Brush handle for the preset brushes. Generally ::Preset_paintbrush_height[]/2
 | 
			
		||||
  word  Preset_paintbrush_offset_Y[NB_PAINTBRUSH_SPRITES];
 | 
			
		||||
 | 
			
		||||
  // Sieve patterns
 | 
			
		||||
  
 | 
			
		||||
  /// Preset sieve patterns, stored as binary (one word per line)
 | 
			
		||||
  word  Sieve_pattern[12][16];
 | 
			
		||||
  
 | 
			
		||||
  // Menu and other graphics
 | 
			
		||||
  
 | 
			
		||||
  /// Bitmap data for the menu, a single rectangle.
 | 
			
		||||
  byte Menu_block[MENU_HEIGHT][MENU_WIDTH];
 | 
			
		||||
  /// Bitmap data for the icons that are displayed over the menu.
 | 
			
		||||
  byte Menu_sprite[NB_MENU_SPRITES][MENU_SPRITE_HEIGHT][MENU_SPRITE_WIDTH];
 | 
			
		||||
  /// Bitmap data for the different "effects" icons.
 | 
			
		||||
  byte Effect_sprite[NB_EFFECTS_SPRITES][MENU_SPRITE_HEIGHT][MENU_SPRITE_WIDTH];
 | 
			
		||||
  /// Bitmap data for the Grafx2 logo that appears on splash screen. All 256 colors allowed.
 | 
			
		||||
  byte * Logo_grafx2;
 | 
			
		||||
  /// Bitmap data for the 6x8 font used in help screens.
 | 
			
		||||
  byte Help_font_norm [256][6][8];
 | 
			
		||||
  /// Bitmap data for the 6x8 font used in help screens ("bold" verstion).
 | 
			
		||||
  byte Bold_font [256][6][8];
 | 
			
		||||
  // 12
 | 
			
		||||
  // 34
 | 
			
		||||
  /// Bitmap data for the title font used in help screens. Top-left quarter.
 | 
			
		||||
  byte Help_font_t1 [64][6][8];
 | 
			
		||||
  /// Bitmap data for the title font used in help screens. Top-right quarter.
 | 
			
		||||
  byte Help_font_t2 [64][6][8];
 | 
			
		||||
  /// Bitmap data for the title font used in help screens. Bottom-left quarter.
 | 
			
		||||
  byte Help_font_t3 [64][6][8];
 | 
			
		||||
  /// Bitmap data for the title font used in help screens. Bottom-right quarter.
 | 
			
		||||
  byte Help_font_t4 [64][6][8];
 | 
			
		||||
  /// Bitmap data for the small 8x8 icons.
 | 
			
		||||
  byte Icon_sprite[NB_ICON_SPRITES][ICON_SPRITE_HEIGHT][ICON_SPRITE_WIDTH];
 | 
			
		||||
 | 
			
		||||
  // 8x8 fonts
 | 
			
		||||
  
 | 
			
		||||
  /// Bitmap data for the classic 8x8 font used in menus etc.
 | 
			
		||||
  byte System_font[256*8*8];
 | 
			
		||||
  /// Bitmap data for the "fun" 8x8 font used in menus etc.
 | 
			
		||||
  byte Fun_font    [256*8*8];
 | 
			
		||||
  
 | 
			
		||||
  /// A default 256-color palette.
 | 
			
		||||
  T_Palette Default_palette;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
} T_Gui_skin;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										82
									
								
								windows.c
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								windows.c
									
									
									
									
									
								
							@ -423,7 +423,7 @@ void Display_menu(void)
 | 
			
		||||
    // Affichage du sprite du menu
 | 
			
		||||
    for (y_pos=0;y_pos<MENU_HEIGHT;y_pos++)
 | 
			
		||||
      for (x_pos=0;x_pos<MENU_WIDTH;x_pos++)
 | 
			
		||||
        Pixel_in_menu(x_pos,y_pos,GFX_menu_block[y_pos][x_pos]);
 | 
			
		||||
        Pixel_in_menu(x_pos,y_pos,Gfx->Menu_block[y_pos][x_pos]);
 | 
			
		||||
    // Affichage de la bande grise sous la palette
 | 
			
		||||
    Block(MENU_WIDTH*Menu_factor_X,Menu_status_Y-Menu_factor_Y,Screen_width-(MENU_WIDTH*Menu_factor_X),9*Menu_factor_Y,MC_Light);
 | 
			
		||||
 | 
			
		||||
@ -883,9 +883,9 @@ void Display_sprite_in_menu(int btn_number,int sprite_number)
 | 
			
		||||
  for (y_pos=0;y_pos<MENU_SPRITE_HEIGHT;y_pos++)
 | 
			
		||||
    for (x_pos=0;x_pos<MENU_SPRITE_WIDTH;x_pos++)
 | 
			
		||||
    {
 | 
			
		||||
      color=GFX_menu_sprite[sprite_number][y_pos][x_pos];
 | 
			
		||||
      color=Gfx->Menu_sprite[sprite_number][y_pos][x_pos];
 | 
			
		||||
      Pixel_in_menu(menu_x_pos+x_pos,menu_y_pos+y_pos,color);
 | 
			
		||||
      GFX_menu_block[menu_y_pos+y_pos][menu_x_pos+x_pos]=color;
 | 
			
		||||
      Gfx->Menu_block[menu_y_pos+y_pos][menu_x_pos+x_pos]=color;
 | 
			
		||||
    }
 | 
			
		||||
  Update_rect(Menu_factor_X*(Buttons_Pool[btn_number].X_offset+1),
 | 
			
		||||
    (Buttons_Pool[btn_number].Y_offset+1)*Menu_factor_Y+Menu_Y,
 | 
			
		||||
@ -909,9 +909,9 @@ void Display_paintbrush_in_menu(void)
 | 
			
		||||
      for (menu_y_pos=2,y_pos=0;y_pos<MENU_SPRITE_HEIGHT;menu_y_pos++,y_pos++)
 | 
			
		||||
        for (menu_x_pos=1,x_pos=0;x_pos<MENU_SPRITE_WIDTH;menu_x_pos++,x_pos++)
 | 
			
		||||
        {
 | 
			
		||||
          color=GFX_menu_sprite[4][y_pos][x_pos];
 | 
			
		||||
          color=Gfx->Menu_sprite[4][y_pos][x_pos];
 | 
			
		||||
          Pixel_in_menu(menu_x_pos,menu_y_pos,color);
 | 
			
		||||
          GFX_menu_block[menu_y_pos][menu_x_pos]=color;
 | 
			
		||||
          Gfx->Menu_block[menu_y_pos][menu_x_pos]=color;
 | 
			
		||||
        }
 | 
			
		||||
      break;
 | 
			
		||||
    default : // Pinceau
 | 
			
		||||
@ -920,7 +920,7 @@ void Display_paintbrush_in_menu(void)
 | 
			
		||||
        for (menu_x_pos=1,x_pos=0;x_pos<MENU_SPRITE_WIDTH;menu_x_pos++,x_pos++)
 | 
			
		||||
        {
 | 
			
		||||
          Pixel_in_menu(menu_x_pos,menu_y_pos,MC_Light);
 | 
			
		||||
          GFX_menu_block[menu_y_pos][menu_x_pos]=MC_Light;
 | 
			
		||||
          Gfx->Menu_block[menu_y_pos][menu_x_pos]=MC_Light;
 | 
			
		||||
        }
 | 
			
		||||
      // On affiche le nouveau
 | 
			
		||||
      menu_start_x=8-Paintbrush_offset_X;
 | 
			
		||||
@ -946,7 +946,7 @@ void Display_paintbrush_in_menu(void)
 | 
			
		||||
        {
 | 
			
		||||
          color=(Paintbrush_sprite[(y_pos*MAX_PAINTBRUSH_SIZE)+x_pos])?MC_Black:MC_Light;
 | 
			
		||||
          Pixel_in_menu(menu_x_pos,menu_y_pos,color);
 | 
			
		||||
          GFX_menu_block[menu_y_pos][menu_x_pos]=color;
 | 
			
		||||
          Gfx->Menu_block[menu_y_pos][menu_x_pos]=color;
 | 
			
		||||
        }
 | 
			
		||||
  }
 | 
			
		||||
  Update_rect(0,Menu_Y,MENU_SPRITE_WIDTH*Menu_factor_X+3,MENU_SPRITE_HEIGHT*Menu_factor_Y+3);
 | 
			
		||||
@ -973,18 +973,18 @@ 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 - (Preset_paintbrush_offset_X[number])*x_size+Window_pos_X;
 | 
			
		||||
  origin_y = (y + 8)*Menu_factor_Y - (Preset_paintbrush_offset_Y[number])*y_size+Window_pos_Y;
 | 
			
		||||
  origin_x = (x + 8)*Menu_factor_X - (Gfx->Preset_paintbrush_offset_X[number])*x_size+Window_pos_X;
 | 
			
		||||
  origin_y = (y + 8)*Menu_factor_Y - (Gfx->Preset_paintbrush_offset_Y[number])*y_size+Window_pos_Y;
 | 
			
		||||
 | 
			
		||||
  for (window_y_pos=0,y_pos=0; y_pos<Preset_paintbrush_height[number]; window_y_pos++,y_pos++)
 | 
			
		||||
    for (window_x_pos=0,x_pos=0; x_pos<Preset_paintbrush_width[number]; window_x_pos++,x_pos++)
 | 
			
		||||
      Block(origin_x+window_x_pos*x_size,origin_y+window_y_pos*y_size,x_size,y_size,(GFX_paintbrush_sprite[number][y_pos][x_pos])?MC_Black:MC_Light);
 | 
			
		||||
  for (window_y_pos=0,y_pos=0; y_pos<Gfx->Preset_paintbrush_height[number]; window_y_pos++,y_pos++)
 | 
			
		||||
    for (window_x_pos=0,x_pos=0; x_pos<Gfx->Preset_paintbrush_width[number]; window_x_pos++,x_pos++)
 | 
			
		||||
      Block(origin_x+window_x_pos*x_size,origin_y+window_y_pos*y_size,x_size,y_size,(Gfx->Paintbrush_sprite[number][y_pos][x_pos])?MC_Black:MC_Light);
 | 
			
		||||
  // On n'utilise pas Pixel_in_window() car on ne dessine pas
 | 
			
		||||
  // forcément avec la même taille de pixel.
 | 
			
		||||
 | 
			
		||||
  Update_rect( ToWinX(origin_x), ToWinY(origin_y),
 | 
			
		||||
        ToWinL(Preset_paintbrush_width[number]),
 | 
			
		||||
        ToWinH(Preset_paintbrush_height[number])
 | 
			
		||||
        ToWinL(Gfx->Preset_paintbrush_width[number]),
 | 
			
		||||
        ToWinH(Gfx->Preset_paintbrush_height[number])
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1041,7 +1041,7 @@ void Window_display_icon_sprite(word x_pos,word y_pos,byte type)
 | 
			
		||||
 | 
			
		||||
  for (j=0; j<ICON_SPRITE_HEIGHT; j++)
 | 
			
		||||
    for (i=0; i<ICON_SPRITE_WIDTH; i++)
 | 
			
		||||
      Pixel_in_window(x_pos+i,y_pos+j,GFX_icon_sprite[type][j][i]);
 | 
			
		||||
      Pixel_in_window(x_pos+i,y_pos+j,Gfx->Icon_sprite[type][j][i]);
 | 
			
		||||
  Update_rect(ToWinX(x_pos),ToWinY(y_pos),ToWinL(ICON_SPRITE_WIDTH),ToWinH(ICON_SPRITE_HEIGHT));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1567,8 +1567,8 @@ void Display_cursor(void)
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
          temp=(Config.Cursor)?CURSOR_SHAPE_THIN_TARGET:CURSOR_SHAPE_TARGET;
 | 
			
		||||
          start_x=Mouse_X-Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Cursor_offset_Y[temp];
 | 
			
		||||
          start_x=Mouse_X-Gfx->Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Gfx->Cursor_offset_Y[temp];
 | 
			
		||||
 | 
			
		||||
          for (x_pos=start_x,counter_x=0;counter_x<15 && x_pos < Screen_width;x_pos++,counter_x++)
 | 
			
		||||
                {
 | 
			
		||||
@ -1576,7 +1576,7 @@ void Display_cursor(void)
 | 
			
		||||
            for (y_pos=start_y,counter_y=0;counter_y<15 && y_pos < Screen_height;y_pos++,counter_y++)
 | 
			
		||||
            {
 | 
			
		||||
                    if( y_pos < 0 || y_pos >= Screen_height) continue;
 | 
			
		||||
              color=GFX_cursor_sprite[temp][counter_y][counter_x];
 | 
			
		||||
              color=Gfx->Cursor_sprite[temp][counter_y][counter_x];
 | 
			
		||||
              CURSOR_BACKGROUND[counter_y][counter_x]=Read_pixel(x_pos,y_pos);
 | 
			
		||||
              if (color!=MC_Trans)
 | 
			
		||||
                Pixel(x_pos,y_pos,color);
 | 
			
		||||
@ -1636,8 +1636,8 @@ void Display_cursor(void)
 | 
			
		||||
        {
 | 
			
		||||
          DEBUG("B",0);
 | 
			
		||||
          temp=(Config.Cursor)?CURSOR_SHAPE_THIN_COLORPICKER:CURSOR_SHAPE_COLORPICKER;
 | 
			
		||||
          start_x=Mouse_X-Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Cursor_offset_Y[temp];
 | 
			
		||||
          start_x=Mouse_X-Gfx->Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Gfx->Cursor_offset_Y[temp];
 | 
			
		||||
 | 
			
		||||
          for (x_pos=start_x,counter_x=0;counter_x<15;x_pos++,counter_x++)
 | 
			
		||||
          {
 | 
			
		||||
@ -1647,7 +1647,7 @@ void Display_cursor(void)
 | 
			
		||||
              {
 | 
			
		||||
                  if(y_pos<0) continue;
 | 
			
		||||
                  if(y_pos>=Screen_height) break;
 | 
			
		||||
                  color=GFX_cursor_sprite[temp][counter_y][counter_x];
 | 
			
		||||
                  color=Gfx->Cursor_sprite[temp][counter_y][counter_x];
 | 
			
		||||
                  // On sauvegarde dans CURSOR_BACKGROUND pour restaurer plus tard
 | 
			
		||||
                  CURSOR_BACKGROUND[counter_y][counter_x]=Read_pixel(x_pos,y_pos);
 | 
			
		||||
                  if (color!=MC_Trans)
 | 
			
		||||
@ -1666,8 +1666,8 @@ void Display_cursor(void)
 | 
			
		||||
 | 
			
		||||
    case CURSOR_SHAPE_ARROW :
 | 
			
		||||
    case CURSOR_SHAPE_HOURGLASS :
 | 
			
		||||
      start_x=Mouse_X-Cursor_offset_X[shape];
 | 
			
		||||
      start_y=Mouse_Y-Cursor_offset_Y[shape];
 | 
			
		||||
      start_x=Mouse_X-Gfx->Cursor_offset_X[shape];
 | 
			
		||||
      start_y=Mouse_Y-Gfx->Cursor_offset_Y[shape];
 | 
			
		||||
      for (x_pos=start_x,counter_x=0;counter_x<15;x_pos++,counter_x++)
 | 
			
		||||
      {
 | 
			
		||||
        if(x_pos<0) continue;
 | 
			
		||||
@ -1676,7 +1676,7 @@ void Display_cursor(void)
 | 
			
		||||
        {
 | 
			
		||||
          if(y_pos<0) continue;
 | 
			
		||||
          if(y_pos>=Screen_height) break;
 | 
			
		||||
          color=GFX_cursor_sprite[shape][counter_y][counter_x];
 | 
			
		||||
          color=Gfx->Cursor_sprite[shape][counter_y][counter_x];
 | 
			
		||||
          // On sauvegarde dans CURSOR_BACKGROUND pour restaurer plus tard
 | 
			
		||||
          CURSOR_BACKGROUND[counter_y][counter_x]=Read_pixel(x_pos,y_pos);
 | 
			
		||||
          if (color!=MC_Trans)
 | 
			
		||||
@ -1873,8 +1873,8 @@ void Hide_cursor(void)
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
          temp=(Config.Cursor)?CURSOR_SHAPE_THIN_TARGET:CURSOR_SHAPE_TARGET;
 | 
			
		||||
          start_x=Mouse_X-Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Cursor_offset_Y[temp];
 | 
			
		||||
          start_x=Mouse_X-Gfx->Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Gfx->Cursor_offset_Y[temp];
 | 
			
		||||
 | 
			
		||||
          for (y_pos=start_y,counter_y=0;counter_y<15;y_pos++,counter_y++)
 | 
			
		||||
          {
 | 
			
		||||
@ -1941,8 +1941,8 @@ void Hide_cursor(void)
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
          temp=(Config.Cursor)?CURSOR_SHAPE_THIN_COLORPICKER:CURSOR_SHAPE_COLORPICKER;
 | 
			
		||||
          start_x=Mouse_X-Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Cursor_offset_Y[temp];
 | 
			
		||||
          start_x=Mouse_X-Gfx->Cursor_offset_X[temp];
 | 
			
		||||
          start_y=Mouse_Y-Gfx->Cursor_offset_Y[temp];
 | 
			
		||||
 | 
			
		||||
          for (x_pos=start_x,counter_x=0;counter_x<15;x_pos++,counter_x++)
 | 
			
		||||
          {
 | 
			
		||||
@ -1969,8 +1969,8 @@ void Hide_cursor(void)
 | 
			
		||||
 | 
			
		||||
    case CURSOR_SHAPE_ARROW :
 | 
			
		||||
    case CURSOR_SHAPE_HOURGLASS :
 | 
			
		||||
      start_x=Mouse_X-Cursor_offset_X[shape];
 | 
			
		||||
      start_y=Mouse_Y-Cursor_offset_Y[shape];
 | 
			
		||||
      start_x=Mouse_X-Gfx->Cursor_offset_X[shape];
 | 
			
		||||
      start_y=Mouse_Y-Gfx->Cursor_offset_Y[shape];
 | 
			
		||||
 | 
			
		||||
      for (x_pos=start_x,counter_x=0;counter_x<15;x_pos++,counter_x++)
 | 
			
		||||
      {
 | 
			
		||||
@ -2492,52 +2492,52 @@ void Compute_optimal_menu_colors(T_Components * palette)
 | 
			
		||||
    for (k=0; k<NB_CURSOR_SPRITES; k++)
 | 
			
		||||
      for (j=0; j<CURSOR_SPRITE_HEIGHT; j++)
 | 
			
		||||
        for (i=0; i<CURSOR_SPRITE_WIDTH; i++)
 | 
			
		||||
          Remap_pixel(&GFX_cursor_sprite[k][j][i]);
 | 
			
		||||
          Remap_pixel(&Gfx->Cursor_sprite[k][j][i]);
 | 
			
		||||
    // Le menu
 | 
			
		||||
    for (j=0; j<MENU_HEIGHT; j++)
 | 
			
		||||
      for (i=0; i<MENU_WIDTH; i++)
 | 
			
		||||
        Remap_pixel(&GFX_menu_block[j][i]);
 | 
			
		||||
        Remap_pixel(&Gfx->Menu_block[j][i]);
 | 
			
		||||
    // Sprites du menu
 | 
			
		||||
    for (k=0; k<NB_MENU_SPRITES; k++)
 | 
			
		||||
      for (j=0; j<MENU_SPRITE_HEIGHT; j++)
 | 
			
		||||
        for (i=0; i<MENU_SPRITE_WIDTH; i++)
 | 
			
		||||
          Remap_pixel(&GFX_menu_sprite[k][j][i]);
 | 
			
		||||
          Remap_pixel(&Gfx->Menu_sprite[k][j][i]);
 | 
			
		||||
    // Sprites d'effets
 | 
			
		||||
    for (k=0; k<NB_EFFECTS_SPRITES; k++)
 | 
			
		||||
      for (j=0; j<MENU_SPRITE_HEIGHT; j++)
 | 
			
		||||
        for (i=0; i<MENU_SPRITE_WIDTH; i++)
 | 
			
		||||
          Remap_pixel(&GFX_effect_sprite[k][j][i]);
 | 
			
		||||
          Remap_pixel(&Gfx->Effect_sprite[k][j][i]);
 | 
			
		||||
    // Fontes de l'aide
 | 
			
		||||
    for (k=0; k<256; k++)
 | 
			
		||||
      for (j=0; j<8; j++)
 | 
			
		||||
        for (i=0; i<6; i++)
 | 
			
		||||
          Remap_pixel(&GFX_help_font_norm[k][i][j]);
 | 
			
		||||
          Remap_pixel(&Gfx->Help_font_norm[k][i][j]);
 | 
			
		||||
    for (k=0; k<256; k++)
 | 
			
		||||
      for (j=0; j<8; j++)
 | 
			
		||||
        for (i=0; i<6; i++)
 | 
			
		||||
          Remap_pixel(&GFX_bold_font[k][i][j]);
 | 
			
		||||
          Remap_pixel(&Gfx->Bold_font[k][i][j]);
 | 
			
		||||
    for (k=0; k<64; k++)
 | 
			
		||||
      for (j=0; j<8; j++)
 | 
			
		||||
        for (i=0; i<6; i++)
 | 
			
		||||
          Remap_pixel(&GFX_help_font_t1[k][i][j]);
 | 
			
		||||
          Remap_pixel(&Gfx->Help_font_t1[k][i][j]);
 | 
			
		||||
    for (k=0; k<64; k++)
 | 
			
		||||
      for (j=0; j<8; j++)
 | 
			
		||||
        for (i=0; i<6; i++)
 | 
			
		||||
          Remap_pixel(&GFX_help_font_t2[k][i][j]);
 | 
			
		||||
          Remap_pixel(&Gfx->Help_font_t2[k][i][j]);
 | 
			
		||||
    for (k=0; k<64; k++)
 | 
			
		||||
      for (j=0; j<8; j++)
 | 
			
		||||
        for (i=0; i<6; i++)
 | 
			
		||||
          Remap_pixel(&GFX_help_font_t3[k][i][j]);
 | 
			
		||||
          Remap_pixel(&Gfx->Help_font_t3[k][i][j]);
 | 
			
		||||
    for (k=0; k<64; k++)
 | 
			
		||||
      for (j=0; j<8; j++)
 | 
			
		||||
        for (i=0; i<6; i++)
 | 
			
		||||
          Remap_pixel(&GFX_help_font_t4[k][i][j]);
 | 
			
		||||
          Remap_pixel(&Gfx->Help_font_t4[k][i][j]);
 | 
			
		||||
        
 | 
			
		||||
    // Sprites de lecteurs (drives)
 | 
			
		||||
    for (k=0; k<NB_ICON_SPRITES; k++)
 | 
			
		||||
      for (j=0; j<ICON_SPRITE_HEIGHT; j++)
 | 
			
		||||
        for (i=0; i<ICON_SPRITE_WIDTH; i++)
 | 
			
		||||
          Remap_pixel(&GFX_icon_sprite[k][j][i]);
 | 
			
		||||
          Remap_pixel(&Gfx->Icon_sprite[k][j][i]);
 | 
			
		||||
  }
 | 
			
		||||
  Clear_border(MC_Black);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user