Added some missed translations in source code.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@755 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									284eda4ffe
								
							
						
					
					
						commit
						1eeed5aca4
					
				
							
								
								
									
										46
									
								
								buttons.c
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								buttons.c
									
									
									
									
									
								
							@ -443,7 +443,7 @@ byte Button_Quit_local_function(void)
 | 
			
		||||
  {
 | 
			
		||||
    case 1 : return 0; // Rester
 | 
			
		||||
    case 2 : // Sauver et enregistrer
 | 
			
		||||
             filename_complet(filename,0);
 | 
			
		||||
             Get_full_filename(filename,0);
 | 
			
		||||
             if ( (!File_exists(filename)) || Confirmation_box("Erase old file ?") )
 | 
			
		||||
             {
 | 
			
		||||
               Hide_cursor();
 | 
			
		||||
@ -709,7 +709,7 @@ void Settings_display_config(T_Config * conf)
 | 
			
		||||
 | 
			
		||||
  Print_in_window(223, 84,(conf->Safety_colors)?YES:NO,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(223, 99,(conf->Adjust_brush_pick)?YES:NO,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(223,114,(conf->Couleurs_separees)?YES:NO,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(223,114,(conf->Separate_colors)?YES:NO,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(223,129,(conf->Auto_set_res)?YES:NO,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(183,144,(conf->Coords_rel)?"Relative":"Absolute",MC_Black,MC_Light);
 | 
			
		||||
 | 
			
		||||
@ -900,7 +900,7 @@ void Button_Settings(void)
 | 
			
		||||
        Config_choisie.Adjust_brush_pick=!Config_choisie.Adjust_brush_pick;
 | 
			
		||||
        break;
 | 
			
		||||
      case 12 : // Separate colors
 | 
			
		||||
        Config_choisie.Couleurs_separees=!Config_choisie.Couleurs_separees;
 | 
			
		||||
        Config_choisie.Separate_colors=!Config_choisie.Separate_colors;
 | 
			
		||||
        break;
 | 
			
		||||
      case 13 : // Auto-set resolution
 | 
			
		||||
        Config_choisie.Auto_set_res=!Config_choisie.Auto_set_res;
 | 
			
		||||
@ -1689,7 +1689,7 @@ void Button_Safety_resolution(void)
 | 
			
		||||
void Button_Draw(void)
 | 
			
		||||
{
 | 
			
		||||
  Hide_cursor();
 | 
			
		||||
  Start_operation_stack(Selected_operation);
 | 
			
		||||
  Start_operation_stack(Selected_freehand_mode);
 | 
			
		||||
  Display_cursor();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1697,13 +1697,13 @@ void Button_Draw(void)
 | 
			
		||||
void Button_Draw_switch_mode(void)
 | 
			
		||||
{
 | 
			
		||||
/* ANCIEN CODE SANS POPUPS */
 | 
			
		||||
  Selected_operation++;
 | 
			
		||||
  if (Selected_operation>OPERATION_FILLED_CONTOUR)
 | 
			
		||||
    Selected_operation=OPERATION_CONTINUOUS_DRAW;
 | 
			
		||||
  Selected_freehand_mode++;
 | 
			
		||||
  if (Selected_freehand_mode>OPERATION_FILLED_CONTOUR)
 | 
			
		||||
    Selected_freehand_mode=OPERATION_CONTINUOUS_DRAW;
 | 
			
		||||
 | 
			
		||||
  Hide_cursor();
 | 
			
		||||
  Display_sprite_in_menu(BUTTON_DRAW,Selected_operation);
 | 
			
		||||
  Start_operation_stack(Selected_operation);
 | 
			
		||||
  Display_sprite_in_menu(BUTTON_DRAW,Selected_freehand_mode);
 | 
			
		||||
  Start_operation_stack(Selected_freehand_mode);
 | 
			
		||||
  Display_cursor();
 | 
			
		||||
/* NOUVEAU CODE AVEC POPUP (EN COURS DE TEST) ***
 | 
			
		||||
    short clicked_button;
 | 
			
		||||
@ -1721,17 +1721,17 @@ void Button_Draw_switch_mode(void)
 | 
			
		||||
        switch(clicked_button)
 | 
			
		||||
        {
 | 
			
		||||
            case 1:
 | 
			
		||||
                Selected_operation++;
 | 
			
		||||
                if (Selected_operation>OPERATION_FILLED_CONTOUR)
 | 
			
		||||
                    Selected_operation=OPERATION_CONTINUOUS_DRAW;
 | 
			
		||||
                Selected_freehand_mode++;
 | 
			
		||||
                if (Selected_freehand_mode>OPERATION_FILLED_CONTOUR)
 | 
			
		||||
                    Selected_freehand_mode=OPERATION_CONTINUOUS_DRAW;
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    while (Mouse_K);
 | 
			
		||||
 | 
			
		||||
    Close_popup();
 | 
			
		||||
    Display_sprite_in_menu(BUTTON_DRAW,Selected_operation);
 | 
			
		||||
    Start_operation_stack(Selected_operation);
 | 
			
		||||
    Display_sprite_in_menu(BUTTON_DRAW,Selected_freehand_mode);
 | 
			
		||||
    Start_operation_stack(Selected_freehand_mode);
 | 
			
		||||
    Display_cursor();
 | 
			
		||||
*/
 | 
			
		||||
}
 | 
			
		||||
@ -2646,7 +2646,7 @@ void Backup_existing_file(void)
 | 
			
		||||
  char filename[MAX_PATH_CHARACTERS]; // Nom complet du fichier
 | 
			
		||||
  char new_filename[MAX_PATH_CHARACTERS]; // Nom complet du fichier backup
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  // Calcul du nom complet du fichier backup
 | 
			
		||||
  Backup_filename(filename,new_filename);
 | 
			
		||||
 | 
			
		||||
@ -2761,7 +2761,7 @@ void Button_Autosave(void)
 | 
			
		||||
  byte file_already_exists;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  file_already_exists=File_exists(filename);
 | 
			
		||||
 | 
			
		||||
  if ( (!file_already_exists) || Confirmation_box("Erase old file ?") )
 | 
			
		||||
@ -3583,8 +3583,8 @@ void Compute_colorize_table(void)
 | 
			
		||||
 | 
			
		||||
  for (index=0;index<256;index++)
 | 
			
		||||
  {
 | 
			
		||||
    Facteur_A_table[index]=index*factor_a;
 | 
			
		||||
    Facteur_B_table[index]=index*factor_b;
 | 
			
		||||
    Factors_table[index]=index*factor_a;
 | 
			
		||||
    Factors_inv_table[index]=index*factor_b;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -4206,7 +4206,7 @@ void Button_Airbrush_menu(void)
 | 
			
		||||
 | 
			
		||||
// -- Mode Sieve (Sieve) ----------------------------------------------------
 | 
			
		||||
 | 
			
		||||
void Button_Trame_mode(void)
 | 
			
		||||
void Button_Sieve_mode(void)
 | 
			
		||||
{
 | 
			
		||||
  Sieve_mode=!Sieve_mode;
 | 
			
		||||
}
 | 
			
		||||
@ -4306,7 +4306,7 @@ void Update_sieve_area(short x, short y)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void Button_Trame_menu(void)
 | 
			
		||||
void Button_Sieve_menu(void)
 | 
			
		||||
{
 | 
			
		||||
  short clicked_button;
 | 
			
		||||
  short index;
 | 
			
		||||
@ -4653,7 +4653,7 @@ void Button_Trame_menu(void)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if ( (clicked_button==3) && (!Sieve_mode) ) // OK
 | 
			
		||||
    Button_Trame_mode();
 | 
			
		||||
    Button_Sieve_mode();
 | 
			
		||||
 | 
			
		||||
  Display_cursor();
 | 
			
		||||
}
 | 
			
		||||
@ -4947,7 +4947,7 @@ void Button_Effects(void)
 | 
			
		||||
      case 8 : // Sieve
 | 
			
		||||
        if (Window_attribute1==LEFT_SIDE)
 | 
			
		||||
        {
 | 
			
		||||
          Button_Trame_mode();
 | 
			
		||||
          Button_Sieve_mode();
 | 
			
		||||
          Hide_cursor();
 | 
			
		||||
          Display_effect_state(176,62,"Sieve",Sieve_mode);
 | 
			
		||||
          Display_cursor();
 | 
			
		||||
@ -4956,7 +4956,7 @@ void Button_Effects(void)
 | 
			
		||||
        {
 | 
			
		||||
          Close_window();
 | 
			
		||||
          Display_cursor();
 | 
			
		||||
          Button_Trame_menu();
 | 
			
		||||
          Button_Sieve_menu();
 | 
			
		||||
          clicked_button=11;
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
@ -378,13 +378,13 @@ void Invert_trame(void);
 | 
			
		||||
    Callback for the Sieve button (in the FX window) left click.
 | 
			
		||||
    Toogle sieve mode.
 | 
			
		||||
*/
 | 
			
		||||
void Button_Trame_mode(void);
 | 
			
		||||
void Button_Sieve_mode(void);
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
    Callback for the Sieve button (in the FX window) right click.
 | 
			
		||||
    Displays the sieve setup menu.
 | 
			
		||||
*/
 | 
			
		||||
void Button_Trame_menu(void);
 | 
			
		||||
void Button_Sieve_menu(void);
 | 
			
		||||
 | 
			
		||||
// Mode Smooth
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								const.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								const.h
									
									
									
									
									
								
							@ -182,7 +182,7 @@ enum CURSOR_SHAPES
 | 
			
		||||
  CURSOR_SHAPE_TARGET,           ///< This one uses the paintbrush
 | 
			
		||||
  CURSOR_SHAPE_COLORPICKER,      ///< This one uses the paintbrush
 | 
			
		||||
  CURSOR_SHAPE_HOURGLASS,
 | 
			
		||||
  CURSOR_SHAPE_MULTIDIRECTIONNAL,
 | 
			
		||||
  CURSOR_SHAPE_MULTIDIRECTIONAL,
 | 
			
		||||
  CURSOR_SHAPE_HORIZONTAL,
 | 
			
		||||
  CURSOR_SHAPE_THIN_TARGET,      ///< This one uses the paintbrush
 | 
			
		||||
  CURSOR_SHAPE_THIN_COLORPICKER, ///< This one uses the paintbrush
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								engine.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								engine.c
									
									
									
									
									
								
							@ -341,7 +341,7 @@ void Unselect_bouton(int btn_number)
 | 
			
		||||
    // On considère que le bouton est relâché
 | 
			
		||||
    Buttons_Pool[btn_number].Pressed=BUTTON_RELEASED;
 | 
			
		||||
    // On appelle le désenclenchement particulier au bouton:
 | 
			
		||||
    Buttons_Pool[btn_number].Desenclencher();
 | 
			
		||||
    Buttons_Pool[btn_number].Unselect_action();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -374,7 +374,7 @@ void Unselect_button(int btn_number,byte click)
 | 
			
		||||
    Display_sprite_in_menu(btn_number,icon+(click==RIGHT_SIDE));
 | 
			
		||||
 | 
			
		||||
  // On note déjà la famille du bouton (La "Famiglia" c'est sacré)
 | 
			
		||||
  family=Buttons_Pool[btn_number].Famille;
 | 
			
		||||
  family=Buttons_Pool[btn_number].Family;
 | 
			
		||||
 | 
			
		||||
  switch (family)
 | 
			
		||||
  {
 | 
			
		||||
@ -388,7 +388,7 @@ void Unselect_button(int btn_number,byte click)
 | 
			
		||||
        // S'il est de la même famille
 | 
			
		||||
        if (
 | 
			
		||||
             (b!=btn_number) &&
 | 
			
		||||
             (Buttons_Pool[b].Famille==FAMILY_INTERRUPTION) &&
 | 
			
		||||
             (Buttons_Pool[b].Family==FAMILY_INTERRUPTION) &&
 | 
			
		||||
             (  (b!=BUTTON_MAGNIFIER) ||
 | 
			
		||||
               ((b==BUTTON_MAGNIFIER) && (!Main_magnifier_mode)) )
 | 
			
		||||
           )
 | 
			
		||||
@ -402,7 +402,7 @@ void Unselect_button(int btn_number,byte click)
 | 
			
		||||
      for (b=0; b<NB_BUTTONS; b++)
 | 
			
		||||
        // S'il est de la famille interruption
 | 
			
		||||
        if ( (b!=btn_number)
 | 
			
		||||
          && (Buttons_Pool[b].Famille==FAMILY_INTERRUPTION)
 | 
			
		||||
          && (Buttons_Pool[b].Family==FAMILY_INTERRUPTION)
 | 
			
		||||
          // Et que ce n'est pas la loupe, ou alors qu'on n'est pas en mode loupe
 | 
			
		||||
          && (!(Main_magnifier_mode && (b==BUTTON_MAGNIFIER))) )
 | 
			
		||||
          // Alors on désenclenche le bouton
 | 
			
		||||
@ -411,7 +411,7 @@ void Unselect_button(int btn_number,byte click)
 | 
			
		||||
      for (b=0; b<NB_BUTTONS; b++)
 | 
			
		||||
        // S'il est de la même famille
 | 
			
		||||
        if ( (b!=btn_number)
 | 
			
		||||
          && (Buttons_Pool[b].Famille==family) )
 | 
			
		||||
          && (Buttons_Pool[b].Family==family) )
 | 
			
		||||
          // Alors on désenclenche le bouton
 | 
			
		||||
          Unselect_bouton(b);
 | 
			
		||||
  }
 | 
			
		||||
@ -429,9 +429,9 @@ void Unselect_button(int btn_number,byte click)
 | 
			
		||||
 | 
			
		||||
  // Puis on se contente d'appeler l'action correspondant au bouton:
 | 
			
		||||
  if (click==1)
 | 
			
		||||
    Buttons_Pool[btn_number].Gauche();
 | 
			
		||||
    Buttons_Pool[btn_number].Left_action();
 | 
			
		||||
  else
 | 
			
		||||
    Buttons_Pool[btn_number].Droite();
 | 
			
		||||
    Buttons_Pool[btn_number].Right_action();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -867,11 +867,11 @@ void Main_handler(void)
 | 
			
		||||
          Key=0;
 | 
			
		||||
          break;
 | 
			
		||||
        case SPECIAL_SIEVE_MODE :
 | 
			
		||||
          Button_Trame_mode();
 | 
			
		||||
          Button_Sieve_mode();
 | 
			
		||||
          Key=0;
 | 
			
		||||
          break;
 | 
			
		||||
        case SPECIAL_SIEVE_MENU :
 | 
			
		||||
          Button_Trame_menu();
 | 
			
		||||
          Button_Sieve_menu();
 | 
			
		||||
          Key=0;
 | 
			
		||||
          break;
 | 
			
		||||
        case SPECIAL_COLORIZE_MODE :
 | 
			
		||||
@ -1990,7 +1990,7 @@ void Move_window(short dx, short dy)
 | 
			
		||||
  Vertical_XOR_line(new_x+width-1,new_y+1,height-2);
 | 
			
		||||
  Horizontal_XOR_line(new_x,new_y+height-1,width);
 | 
			
		||||
  Update_rect(new_x,new_y,width,height);
 | 
			
		||||
  Cursor_shape=CURSOR_SHAPE_MULTIDIRECTIONNAL;
 | 
			
		||||
  Cursor_shape=CURSOR_SHAPE_MULTIDIRECTIONAL;
 | 
			
		||||
  Display_cursor();
 | 
			
		||||
 | 
			
		||||
  while (Mouse_K)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								global.h
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								global.h
									
									
									
									
									
								
							@ -575,14 +575,14 @@ GFX2_GLOBAL struct
 | 
			
		||||
  byte            Shape;            ///< Shape, listed in enum ::BUTTON_SHAPES
 | 
			
		||||
 | 
			
		||||
  // Triggers on mouse/keyboard
 | 
			
		||||
  Func_action     Gauche;           ///< Action triggered by a left mouseclick on the button
 | 
			
		||||
  Func_action     Droite;           ///< Action triggered by a right mouseclick on the button
 | 
			
		||||
  Func_action     Left_action;      ///< Action triggered by a left mouseclick on the button
 | 
			
		||||
  Func_action     Right_action;     ///< Action triggered by a right mouseclick on the button
 | 
			
		||||
  word            Left_shortcut[2]; ///< Keyboard shortcut for a left mouseclick
 | 
			
		||||
  word            Right_shortcut[2];///< Keyboard shortcut for a right mouseclick
 | 
			
		||||
 | 
			
		||||
  // Data used when the button is unselected
 | 
			
		||||
  Func_action     Desenclencher;    ///< Action triggered by unselecting the button
 | 
			
		||||
  byte            Famille;          ///< enum ::FAMILY_OF_BUTTONS.
 | 
			
		||||
  Func_action     Unselect_action;  ///< Action triggered by unselecting the button
 | 
			
		||||
  byte            Family;           ///< enum ::FAMILY_OF_BUTTONS.
 | 
			
		||||
 | 
			
		||||
} Buttons_Pool[NB_BUTTONS];
 | 
			
		||||
 | 
			
		||||
@ -691,12 +691,12 @@ GFX2_GLOBAL byte Colorize_current_mode;
 | 
			
		||||
/// Table of precomputed factors used by Colorize mode. It hold 0 to 255 when
 | 
			
		||||
/// opacity is 100%, 0 to 128 when opacity is 50%, etc.
 | 
			
		||||
// FIXME: This only caches a multiplication and a division. Maybe we should scrap it
 | 
			
		||||
GFX2_GLOBAL word Facteur_A_table[256];
 | 
			
		||||
GFX2_GLOBAL word Factors_table[256];
 | 
			
		||||
///
 | 
			
		||||
/// Table of precomputed factors used by Colorize mode. It hold 255 to 0 when
 | 
			
		||||
/// opacity is 100%, 128 to 0 when opacity is 50%, etc.
 | 
			
		||||
// FIXME: This only caches a multiplication, a division, a substraction. Maybe we should scrap it
 | 
			
		||||
GFX2_GLOBAL word Facteur_B_table[256];
 | 
			
		||||
GFX2_GLOBAL word Factors_inv_table[256];
 | 
			
		||||
 | 
			
		||||
// -- Smooth mode
 | 
			
		||||
 | 
			
		||||
@ -794,7 +794,7 @@ GFX2_GLOBAL byte Quitting;
 | 
			
		||||
/// Name of the directory that was current when the program was run.
 | 
			
		||||
GFX2_GLOBAL char Initial_directory[256];
 | 
			
		||||
/// Name of the directory that holds the program's (read-only) data: skins, icon, etc.
 | 
			
		||||
GFX2_GLOBAL char Repertoire_des_donnees[256];
 | 
			
		||||
GFX2_GLOBAL char Data_directory[256];
 | 
			
		||||
/// Name of the directory where grafx2 reads and writes configuration (gfx2.ini, gfx2.cfg)
 | 
			
		||||
GFX2_GLOBAL char Config_directory[256];
 | 
			
		||||
/// Current foreground color for drawing.
 | 
			
		||||
@ -802,7 +802,7 @@ GFX2_GLOBAL byte Fore_color;
 | 
			
		||||
/// Current background color for drawing.
 | 
			
		||||
GFX2_GLOBAL byte Back_color;
 | 
			
		||||
/// For the "Freehand draw" tool, this determines which variant is selected, from ::OPERATION_CONTINUOUS_DRAW to ::OPERATION_FILLED_CONTOUR
 | 
			
		||||
GFX2_GLOBAL byte Selected_operation;
 | 
			
		||||
GFX2_GLOBAL byte Selected_freehand_mode;
 | 
			
		||||
/// For the Curve tool, this determines which variant is selected, either ::OPERATION_3_POINTS_CURVE or ::OPERATION_4_POINTS_CURVE
 | 
			
		||||
GFX2_GLOBAL byte Selected_curve_mode;
 | 
			
		||||
/// For the Line tool, this determines which variant is selected, either ::OPERATION_LINE, ::OPERATION_K_LIGNE or ::OPERATION_CENTERED_LINES
 | 
			
		||||
@ -907,7 +907,7 @@ GFX2_GLOBAL short Colorpicker_Y;
 | 
			
		||||
    CURSOR_SHAPE_TARGET            , // Polyform
 | 
			
		||||
    CURSOR_SHAPE_TARGET            , // Filled polygon
 | 
			
		||||
    CURSOR_SHAPE_TARGET            , // Filled polyform
 | 
			
		||||
    CURSOR_SHAPE_MULTIDIRECTIONNAL , // Scroll (pan)
 | 
			
		||||
    CURSOR_SHAPE_MULTIDIRECTIONAL  , // Scroll (pan)
 | 
			
		||||
    CURSOR_SHAPE_TARGET            , // Gradient-filled circle
 | 
			
		||||
    CURSOR_SHAPE_TARGET            , // Gradient-filled ellipse
 | 
			
		||||
    CURSOR_SHAPE_XOR_ROTATION      , // Rotate brush
 | 
			
		||||
@ -958,7 +958,7 @@ GFX2_GLOBAL Func_pixel Pixel_load_function;
 | 
			
		||||
///
 | 
			
		||||
/// Pointer to a pixel-reading function. This is used by the generic saving
 | 
			
		||||
/// function to save a brush or an image.
 | 
			
		||||
GFX2_GLOBAL Func_read   Read_pixel_old;
 | 
			
		||||
GFX2_GLOBAL Func_read   Read_pixel_function;
 | 
			
		||||
 | 
			
		||||
// -- Specific to SDL
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								help.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								help.c
									
									
									
									
									
								
							@ -154,9 +154,9 @@ void Window_set_shortcut(int action_id)
 | 
			
		||||
 | 
			
		||||
  // Zone de description
 | 
			
		||||
  Window_display_frame_in(5,68,292,37);
 | 
			
		||||
  Print_in_window(9,70,ConfigKey[config_index].Explic1,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(9,78,ConfigKey[config_index].Explic2,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(9,86,ConfigKey[config_index].Explic3,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(9,70,ConfigKey[config_index].Explanation1,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(9,78,ConfigKey[config_index].Explanation2,MC_Black,MC_Light);
 | 
			
		||||
  Print_in_window(9,86,ConfigKey[config_index].Explanation3,MC_Black,MC_Light);
 | 
			
		||||
 | 
			
		||||
  // Shortcut 0
 | 
			
		||||
  Window_set_normal_button(27,30,177,14,"",0,1,KEY_NONE); // 4
 | 
			
		||||
 | 
			
		||||
@ -35,9 +35,9 @@ typedef struct
 | 
			
		||||
{
 | 
			
		||||
    word Number;           ///< Identifier for shortcut. This is a number starting from 0, which matches ::T_Config_shortcut_info.Number
 | 
			
		||||
    char Label[36];        ///< Text to show in the screen where you can edit the shortcut.
 | 
			
		||||
    char Explic1[37]; ///< Explanation text (1/3) to show in the screen where you can edit the shortcut.
 | 
			
		||||
    char Explic2[37]; ///< Explanation text (2/3) to show in the screen where you can edit the shortcut.
 | 
			
		||||
    char Explic3[37]; ///< Explanation text (3/3) to show in the screen where you can edit the shortcut.
 | 
			
		||||
    char Explanation1[37]; ///< Explanation text (1/3) to show in the screen where you can edit the shortcut.
 | 
			
		||||
    char Explanation2[37]; ///< Explanation text (2/3) to show in the screen where you can edit the shortcut.
 | 
			
		||||
    char Explanation3[37]; ///< Explanation text (3/3) to show in the screen where you can edit the shortcut.
 | 
			
		||||
    bool Suppr;            ///< Boolean, true if the shortcut can be removed.
 | 
			
		||||
    word Key;              ///< Primary shortcut. Value is a keycode, see keyboard.h
 | 
			
		||||
    word Key2;             ///< Secondary shortcut. Value is a keycode, see keyboard.h
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								init.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								init.c
									
									
									
									
									
								
							@ -253,7 +253,7 @@ void Load_graphics(const char * skin_file)
 | 
			
		||||
  byte mouse_cursor_area[29][29];
 | 
			
		||||
  
 | 
			
		||||
  // Lecture du fichier "skin"
 | 
			
		||||
  strcpy(filename,Repertoire_des_donnees);
 | 
			
		||||
  strcpy(filename,Data_directory);
 | 
			
		||||
  strcat(filename,skin_file);
 | 
			
		||||
  
 | 
			
		||||
  gui=IMG_Load(filename);
 | 
			
		||||
@ -773,8 +773,9 @@ void Init_button(byte   btn_number,
 | 
			
		||||
                        word   x_offset      , word   y_offset,
 | 
			
		||||
                        word   width         , word   height,
 | 
			
		||||
                        byte   shape,
 | 
			
		||||
                        Func_action Gauche , Func_action Droite,
 | 
			
		||||
                        Func_action Desenclencher,
 | 
			
		||||
                        Func_action left_action,
 | 
			
		||||
                        Func_action right_action,
 | 
			
		||||
                        Func_action unselect_action,
 | 
			
		||||
                        byte   family)
 | 
			
		||||
{
 | 
			
		||||
  Buttons_Pool[btn_number].X_offset        =x_offset;
 | 
			
		||||
@ -783,10 +784,10 @@ void Init_button(byte   btn_number,
 | 
			
		||||
  Buttons_Pool[btn_number].Height          =height-1;
 | 
			
		||||
  Buttons_Pool[btn_number].Pressed         =0;
 | 
			
		||||
  Buttons_Pool[btn_number].Shape           =shape;
 | 
			
		||||
  Buttons_Pool[btn_number].Gauche          =Gauche;
 | 
			
		||||
  Buttons_Pool[btn_number].Droite          =Droite;
 | 
			
		||||
  Buttons_Pool[btn_number].Desenclencher   =Desenclencher;
 | 
			
		||||
  Buttons_Pool[btn_number].Famille         =family;
 | 
			
		||||
  Buttons_Pool[btn_number].Left_action     =left_action;
 | 
			
		||||
  Buttons_Pool[btn_number].Right_action    =right_action;
 | 
			
		||||
  Buttons_Pool[btn_number].Unselect_action =unselect_action;
 | 
			
		||||
  Buttons_Pool[btn_number].Family          =family;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								io.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								io.c
									
									
									
									
									
								
							@ -264,21 +264,21 @@ void For_each_file(const char * directory_name, void Callback(const char *))
 | 
			
		||||
  // Pour scan de répertoire
 | 
			
		||||
  DIR*  Repertoire_Courant; //Répertoire courant
 | 
			
		||||
  struct dirent* entry; // Structure de lecture des éléments
 | 
			
		||||
  char filename_complet[MAX_PATH_CHARACTERS];
 | 
			
		||||
  char full_filename[MAX_PATH_CHARACTERS];
 | 
			
		||||
  int filename_position;
 | 
			
		||||
  strcpy(filename_complet, directory_name);
 | 
			
		||||
  strcpy(full_filename, directory_name);
 | 
			
		||||
  Repertoire_Courant=opendir(directory_name);
 | 
			
		||||
  if(Repertoire_Courant == NULL) return;        // Répertoire invalide ...
 | 
			
		||||
  strcat(filename_complet, PATH_SEPARATOR);
 | 
			
		||||
  filename_position = strlen(filename_complet);
 | 
			
		||||
  strcat(full_filename, PATH_SEPARATOR);
 | 
			
		||||
  filename_position = strlen(full_filename);
 | 
			
		||||
  while ((entry=readdir(Repertoire_Courant)))
 | 
			
		||||
  {
 | 
			
		||||
    struct stat Infos_enreg;
 | 
			
		||||
    strcpy(&filename_complet[filename_position], entry->d_name);
 | 
			
		||||
    stat(filename_complet,&Infos_enreg);
 | 
			
		||||
    strcpy(&full_filename[filename_position], entry->d_name);
 | 
			
		||||
    stat(full_filename,&Infos_enreg);
 | 
			
		||||
    if (S_ISREG(Infos_enreg.st_mode))
 | 
			
		||||
    {
 | 
			
		||||
      Callback(filename_complet);
 | 
			
		||||
      Callback(full_filename);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  closedir(Repertoire_Courant);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										124
									
								
								loadsave.c
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								loadsave.c
									
									
									
									
									
								
							@ -466,7 +466,7 @@ void Draw_palette_preview(void)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Calcul du nom complet du fichier
 | 
			
		||||
void filename_complet(char * filename, byte is_colorix_format)
 | 
			
		||||
void Get_full_filename(char * filename, byte is_colorix_format)
 | 
			
		||||
{
 | 
			
		||||
    byte last_char;
 | 
			
		||||
 | 
			
		||||
@ -699,7 +699,7 @@ void Save_image(byte image)
 | 
			
		||||
  // sauver le format du fichier: (Est-ce vraiment utile??? Je ne crois pas!)
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
  Read_pixel_old=(image)?Read_pixel_from_current_screen:Read_pixel_from_brush;
 | 
			
		||||
  Read_pixel_function=(image)?Read_pixel_from_current_screen:Read_pixel_from_brush;
 | 
			
		||||
 | 
			
		||||
  File_formats[Main_fileformat-1].Save();
 | 
			
		||||
 | 
			
		||||
@ -726,7 +726,7 @@ void Test_PAL(void)
 | 
			
		||||
  char filename[MAX_PATH_CHARACTERS]; // Nom complet du fichier
 | 
			
		||||
  long file_size;   // Taille du fichier
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
@ -751,7 +751,7 @@ void Load_PAL(void)
 | 
			
		||||
  //long  file_size;   // Taille du fichier
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
@ -790,7 +790,7 @@ void Save_PAL(void)
 | 
			
		||||
  char filename[MAX_PATH_CHARACTERS]; // Nom complet du fichier
 | 
			
		||||
  //long file_size;   // Taille du fichier
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -846,7 +846,7 @@ void Test_IMG(void)
 | 
			
		||||
  byte signature[6]={0x01,0x00,0x47,0x12,0x6D,0xB0};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
@ -877,7 +877,7 @@ void Load_IMG(void)
 | 
			
		||||
  long file_size;
 | 
			
		||||
  T_IMG_Header IMG_header;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
@ -937,7 +937,7 @@ void Save_IMG(void)
 | 
			
		||||
  T_IMG_Header IMG_header;
 | 
			
		||||
  byte signature[6]={0x01,0x00,0x47,0x12,0x6D,0xB0};
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -968,7 +968,7 @@ void Save_IMG(void)
 | 
			
		||||
 | 
			
		||||
      for (y_pos=0; ((y_pos<Main_image_height) && (!File_error)); y_pos++)
 | 
			
		||||
        for (x_pos=0; x_pos<Main_image_width; x_pos++)
 | 
			
		||||
          Write_one_byte(file,Read_pixel_old(x_pos,y_pos));
 | 
			
		||||
          Write_one_byte(file,Read_pixel_function(x_pos,y_pos));
 | 
			
		||||
 | 
			
		||||
      End_write(file);
 | 
			
		||||
      fclose(file);
 | 
			
		||||
@ -1020,7 +1020,7 @@ void Test_PKM(void)
 | 
			
		||||
  T_PKM_Header header;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
@ -1057,7 +1057,7 @@ void Load_PKM(void)
 | 
			
		||||
  dword Taille_pack;
 | 
			
		||||
  long  file_size;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  
 | 
			
		||||
@ -1308,7 +1308,7 @@ void Save_PKM(void)
 | 
			
		||||
    header.Jump+=comment_size+2;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -1351,7 +1351,7 @@ void Save_PKM(void)
 | 
			
		||||
      // Routine de compression PKM de l'image
 | 
			
		||||
      image_size=(dword)(Main_image_width*Main_image_height);
 | 
			
		||||
      Compteur_de_pixels=0;
 | 
			
		||||
      pixel_value=Read_pixel_old(0,0);
 | 
			
		||||
      pixel_value=Read_pixel_function(0,0);
 | 
			
		||||
 | 
			
		||||
      while ( (Compteur_de_pixels<image_size) && (!File_error) )
 | 
			
		||||
      {
 | 
			
		||||
@ -1360,7 +1360,7 @@ void Save_PKM(void)
 | 
			
		||||
        last_color=pixel_value;
 | 
			
		||||
        if(Compteur_de_pixels<image_size)
 | 
			
		||||
        {
 | 
			
		||||
          pixel_value=Read_pixel_old(Compteur_de_pixels % Main_image_width,Compteur_de_pixels / Main_image_width);
 | 
			
		||||
          pixel_value=Read_pixel_function(Compteur_de_pixels % Main_image_width,Compteur_de_pixels / Main_image_width);
 | 
			
		||||
        }
 | 
			
		||||
        while ( (pixel_value==last_color)
 | 
			
		||||
             && (Compteur_de_pixels<image_size)
 | 
			
		||||
@ -1369,7 +1369,7 @@ void Save_PKM(void)
 | 
			
		||||
          Compteur_de_pixels++;
 | 
			
		||||
          repetitions++;
 | 
			
		||||
          if(Compteur_de_pixels>=image_size) break;
 | 
			
		||||
          pixel_value=Read_pixel_old(Compteur_de_pixels % Main_image_width,Compteur_de_pixels / Main_image_width);
 | 
			
		||||
          pixel_value=Read_pixel_function(Compteur_de_pixels % Main_image_width,Compteur_de_pixels / Main_image_width);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if ( (last_color!=header.recog1) && (last_color!=header.recog2) )
 | 
			
		||||
@ -1468,7 +1468,7 @@ void Test_LBM(void)
 | 
			
		||||
  char  section[4];
 | 
			
		||||
  dword dummy;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -1750,7 +1750,7 @@ void Load_LBM(void)
 | 
			
		||||
  long  file_size;
 | 
			
		||||
  dword dummy;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -2087,7 +2087,7 @@ void Save_LBM(void)
 | 
			
		||||
  int file_size;
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  if ((LBM_file=fopen(filename,"wb")))
 | 
			
		||||
@ -2145,7 +2145,7 @@ void Save_LBM(void)
 | 
			
		||||
    for (y_pos=0; ((y_pos<Main_image_height) && (!File_error)); y_pos++)
 | 
			
		||||
    {
 | 
			
		||||
      for (x_pos=0; ((x_pos<real_width) && (!File_error)); x_pos++)
 | 
			
		||||
        New_color(Read_pixel_old(x_pos,y_pos));
 | 
			
		||||
        New_color(Read_pixel_function(x_pos,y_pos));
 | 
			
		||||
 | 
			
		||||
      if (!File_error)
 | 
			
		||||
        Transfer_colors();
 | 
			
		||||
@ -2235,7 +2235,7 @@ void Test_BMP(void)
 | 
			
		||||
  T_BMP_Header header;
 | 
			
		||||
 | 
			
		||||
  File_error=1;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
  {
 | 
			
		||||
@ -2327,7 +2327,7 @@ void Load_BMP(void)
 | 
			
		||||
  byte  a,b,c=0;
 | 
			
		||||
  long  file_size;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -2669,7 +2669,7 @@ void Save_BMP(void)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  if ((file=fopen(filename,"wb")))
 | 
			
		||||
@ -2737,7 +2737,7 @@ void Save_BMP(void)
 | 
			
		||||
        // parce que faut pas pousser."
 | 
			
		||||
        for (y_pos=Main_image_height-1; ((y_pos>=0) && (!File_error)); y_pos--)
 | 
			
		||||
          for (x_pos=0; x_pos<line_size; x_pos++)
 | 
			
		||||
                Write_one_byte(file,Read_pixel_old(x_pos,y_pos));
 | 
			
		||||
                Write_one_byte(file,Read_pixel_function(x_pos,y_pos));
 | 
			
		||||
 | 
			
		||||
        End_write(file);
 | 
			
		||||
        fclose(file);
 | 
			
		||||
@ -2802,7 +2802,7 @@ void Test_GIF(void)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  File_error=1;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
  {
 | 
			
		||||
@ -2952,7 +2952,7 @@ void Load_GIF(void)
 | 
			
		||||
  GIF_remainder_byte=0;
 | 
			
		||||
  number_LID=0;
 | 
			
		||||
  
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  if ((GIF_file=fopen(filename, "rb")))
 | 
			
		||||
  {
 | 
			
		||||
@ -3289,7 +3289,7 @@ void Load_GIF(void)
 | 
			
		||||
  {
 | 
			
		||||
    byte temp;
 | 
			
		||||
 | 
			
		||||
    temp=Read_pixel_old(GIF_pos_X,GIF_pos_Y);
 | 
			
		||||
    temp=Read_pixel_function(GIF_pos_X,GIF_pos_Y);
 | 
			
		||||
 | 
			
		||||
    if (++GIF_pos_X>=Main_image_width)
 | 
			
		||||
    {
 | 
			
		||||
@ -3335,7 +3335,7 @@ void Save_GIF(void)
 | 
			
		||||
  GIF_remainder_bits=0;
 | 
			
		||||
  GIF_remainder_byte=0;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  if ((GIF_file=fopen(filename,"wb")))
 | 
			
		||||
  {
 | 
			
		||||
@ -3638,7 +3638,7 @@ void Test_PCX(void)
 | 
			
		||||
  FILE *file;
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
  {
 | 
			
		||||
@ -3721,7 +3721,7 @@ void Load_PCX(void)
 | 
			
		||||
  long  image_size;
 | 
			
		||||
  byte * buffer;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -4039,7 +4039,7 @@ void Save_PCX(void)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -4090,20 +4090,20 @@ void Save_PCX(void)
 | 
			
		||||
     
 | 
			
		||||
      for (y_pos=0; ((y_pos<Main_image_height) && (!File_error)); y_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        pixel_read=Read_pixel_old(0,y_pos);
 | 
			
		||||
        pixel_read=Read_pixel_function(0,y_pos);
 | 
			
		||||
     
 | 
			
		||||
        // Compression et écriture de la ligne
 | 
			
		||||
        for (x_pos=0; ((x_pos<line_size) && (!File_error)); )
 | 
			
		||||
        {
 | 
			
		||||
          x_pos++;
 | 
			
		||||
          last_pixel=pixel_read;
 | 
			
		||||
          pixel_read=Read_pixel_old(x_pos,y_pos);
 | 
			
		||||
          pixel_read=Read_pixel_function(x_pos,y_pos);
 | 
			
		||||
          counter=1;
 | 
			
		||||
          while ( (counter<63) && (x_pos<line_size) && (pixel_read==last_pixel) )
 | 
			
		||||
          {
 | 
			
		||||
            counter++;
 | 
			
		||||
            x_pos++;
 | 
			
		||||
            pixel_read=Read_pixel_old(x_pos,y_pos);
 | 
			
		||||
            pixel_read=Read_pixel_function(x_pos,y_pos);
 | 
			
		||||
          }
 | 
			
		||||
      
 | 
			
		||||
          if ( (counter>1) || (last_pixel>=0xC0) )
 | 
			
		||||
@ -4176,7 +4176,7 @@ void Test_CEL(void)
 | 
			
		||||
  int file_size;
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  file_size=File_length(filename);
 | 
			
		||||
  if (file_size==0)
 | 
			
		||||
  {
 | 
			
		||||
@ -4243,7 +4243,7 @@ void Load_CEL(void)
 | 
			
		||||
  long  file_size;
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
  {
 | 
			
		||||
    if (Read_bytes(file,&header1,sizeof(T_CEL_Header1)))
 | 
			
		||||
@ -4365,7 +4365,7 @@ void Save_CEL(void)
 | 
			
		||||
  Count_used_colors(Utilisation);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  if ((file=fopen(filename,"wb")))
 | 
			
		||||
  {
 | 
			
		||||
    // On regarde si des couleurs >16 sont utilisées dans l'image
 | 
			
		||||
@ -4386,10 +4386,10 @@ void Save_CEL(void)
 | 
			
		||||
        {
 | 
			
		||||
          for (x_pos=0;((x_pos<Main_image_width) && (!File_error));x_pos++)
 | 
			
		||||
            if ((x_pos & 1)==0)
 | 
			
		||||
              last_byte=(Read_pixel_old(x_pos,y_pos) << 4);
 | 
			
		||||
              last_byte=(Read_pixel_function(x_pos,y_pos) << 4);
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
              last_byte=last_byte | (Read_pixel_old(x_pos,y_pos) & 15);
 | 
			
		||||
              last_byte=last_byte | (Read_pixel_function(x_pos,y_pos) & 15);
 | 
			
		||||
              Write_one_byte(file,last_byte);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -4410,18 +4410,18 @@ void Save_CEL(void)
 | 
			
		||||
      for (y_pos=0;y_pos<Main_image_height;y_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        for (x_pos=0;x_pos<Main_image_width;x_pos++)
 | 
			
		||||
          if (Read_pixel_old(x_pos,y_pos)!=0)
 | 
			
		||||
          if (Read_pixel_function(x_pos,y_pos)!=0)
 | 
			
		||||
            break;
 | 
			
		||||
        if (Read_pixel_old(x_pos,y_pos)!=0)
 | 
			
		||||
        if (Read_pixel_function(x_pos,y_pos)!=0)
 | 
			
		||||
          break;
 | 
			
		||||
      }
 | 
			
		||||
      header2.Y_offset=y_pos;
 | 
			
		||||
      for (x_pos=0;x_pos<Main_image_width;x_pos++)
 | 
			
		||||
      {
 | 
			
		||||
        for (y_pos=0;y_pos<Main_image_height;y_pos++)
 | 
			
		||||
          if (Read_pixel_old(x_pos,y_pos)!=0)
 | 
			
		||||
          if (Read_pixel_function(x_pos,y_pos)!=0)
 | 
			
		||||
            break;
 | 
			
		||||
        if (Read_pixel_old(x_pos,y_pos)!=0)
 | 
			
		||||
        if (Read_pixel_function(x_pos,y_pos)!=0)
 | 
			
		||||
          break;
 | 
			
		||||
      }
 | 
			
		||||
      header2.X_offset=x_pos;
 | 
			
		||||
@ -4441,7 +4441,7 @@ void Save_CEL(void)
 | 
			
		||||
        Init_write_buffer();
 | 
			
		||||
        for (y_pos=0;((y_pos<header2.Height) && (!File_error));y_pos++)
 | 
			
		||||
          for (x_pos=0;((x_pos<header2.Width) && (!File_error));x_pos++)
 | 
			
		||||
            Write_one_byte(file,Read_pixel_old(x_pos+header2.X_offset,y_pos+header2.Y_offset));
 | 
			
		||||
            Write_one_byte(file,Read_pixel_function(x_pos+header2.X_offset,y_pos+header2.Y_offset));
 | 
			
		||||
        End_write(file);
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
@ -4486,7 +4486,7 @@ void Test_KCF(void)
 | 
			
		||||
  int color_index;
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
  {
 | 
			
		||||
    if (File_length_file(file)==sizeof(T_KCF_Header))
 | 
			
		||||
@ -4536,7 +4536,7 @@ void Load_KCF(void)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
  {
 | 
			
		||||
    file_size=File_length_file(file);
 | 
			
		||||
@ -4652,7 +4652,7 @@ void Save_KCF(void)
 | 
			
		||||
  Count_used_colors(Utilisation);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  if ((file=fopen(filename,"wb")))
 | 
			
		||||
  {
 | 
			
		||||
    // Sauvegarde de la palette
 | 
			
		||||
@ -4739,7 +4739,7 @@ void Test_SCx(void)
 | 
			
		||||
  T_SCx_Header SCx_header;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
@ -4770,7 +4770,7 @@ void Load_SCx(void)
 | 
			
		||||
  T_SCx_Header SCx_header;
 | 
			
		||||
  T_Palette SCx_Palette;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -4853,7 +4853,7 @@ void Save_SCx(void)
 | 
			
		||||
  short x_pos,y_pos;
 | 
			
		||||
  T_SCx_Header SCx_header;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,1);
 | 
			
		||||
  Get_full_filename(filename,1);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
 | 
			
		||||
@ -4877,7 +4877,7 @@ void Save_SCx(void)
 | 
			
		||||
 | 
			
		||||
      for (y_pos=0; ((y_pos<Main_image_height) && (!File_error)); y_pos++)
 | 
			
		||||
        for (x_pos=0; x_pos<Main_image_width; x_pos++)
 | 
			
		||||
          Write_one_byte(file,Read_pixel_old(x_pos,y_pos));
 | 
			
		||||
          Write_one_byte(file,Read_pixel_function(x_pos,y_pos));
 | 
			
		||||
 | 
			
		||||
      End_write(file);
 | 
			
		||||
      fclose(file);
 | 
			
		||||
@ -5031,7 +5031,7 @@ void Test_PI1(void)
 | 
			
		||||
  word resolution;                 // Résolution de l'image
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
@ -5065,7 +5065,7 @@ void Load_PI1(void)
 | 
			
		||||
  byte * ptr;
 | 
			
		||||
  byte pixels[320];
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
@ -5128,7 +5128,7 @@ void Save_PI1(void)
 | 
			
		||||
  byte * ptr;
 | 
			
		||||
  byte pixels[320];
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
@ -5150,7 +5150,7 @@ void Save_PI1(void)
 | 
			
		||||
      if (y_pos<Main_image_height)
 | 
			
		||||
      {
 | 
			
		||||
        for (x_pos=0;(x_pos<320) && (x_pos<Main_image_width);x_pos++)
 | 
			
		||||
          pixels[x_pos]=Read_pixel_old(x_pos,y_pos);
 | 
			
		||||
          pixels[x_pos]=Read_pixel_function(x_pos,y_pos);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      for (x_pos=0;x_pos<(320>>4);x_pos++)
 | 
			
		||||
@ -5361,7 +5361,7 @@ void Test_PC1(void)
 | 
			
		||||
  word resolution;                 // Résolution de l'image
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
@ -5397,7 +5397,7 @@ void Load_PC1(void)
 | 
			
		||||
  byte * ptr;
 | 
			
		||||
  byte pixels[320];
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  if ((file=fopen(filename, "rb")))
 | 
			
		||||
@ -5471,7 +5471,7 @@ void Save_PC1(void)
 | 
			
		||||
  byte * ptr;
 | 
			
		||||
  byte pixels[320];
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
@ -5494,7 +5494,7 @@ void Save_PC1(void)
 | 
			
		||||
      if (y_pos<Main_image_height)
 | 
			
		||||
      {
 | 
			
		||||
        for (x_pos=0;(x_pos<320) && (x_pos<Main_image_width);x_pos++)
 | 
			
		||||
          pixels[x_pos]=Read_pixel_old(x_pos,y_pos);
 | 
			
		||||
          pixels[x_pos]=Read_pixel_function(x_pos,y_pos);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // Encodage de la scanline
 | 
			
		||||
@ -5649,7 +5649,7 @@ void Test_PNG(void)
 | 
			
		||||
  char filename[MAX_PATH_CHARACTERS]; // Nom complet du fichier
 | 
			
		||||
  byte png_header[8];
 | 
			
		||||
  
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  
 | 
			
		||||
  File_error=1;
 | 
			
		||||
 | 
			
		||||
@ -5678,7 +5678,7 @@ void Load_PNG(void)
 | 
			
		||||
  png_structp png_ptr;
 | 
			
		||||
  png_infop info_ptr;
 | 
			
		||||
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  
 | 
			
		||||
@ -5851,7 +5851,7 @@ void Save_PNG(void)
 | 
			
		||||
  png_structp png_ptr;
 | 
			
		||||
  png_infop info_ptr;
 | 
			
		||||
  
 | 
			
		||||
  filename_complet(filename,0);
 | 
			
		||||
  Get_full_filename(filename,0);
 | 
			
		||||
  File_error=0;
 | 
			
		||||
  Row_pointers = NULL;
 | 
			
		||||
  
 | 
			
		||||
@ -5906,7 +5906,7 @@ void Save_PNG(void)
 | 
			
		||||
 | 
			
		||||
          /* ecriture des pixels de l'image */
 | 
			
		||||
          Row_pointers = (png_bytep*) malloc(sizeof(png_bytep) * Main_image_height);
 | 
			
		||||
          pixel_ptr = (Read_pixel_old==Read_pixel_from_current_screen)?Main_screen:Brush;
 | 
			
		||||
          pixel_ptr = (Read_pixel_function==Read_pixel_from_current_screen)?Main_screen:Brush;
 | 
			
		||||
          for (y=0; y<Main_image_height; y++)
 | 
			
		||||
            Row_pointers[y] = (png_byte*)(pixel_ptr+y*Main_image_width);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,7 @@ void Pixel_load_in_current_screen(word x_pos,word y_pos,byte color);
 | 
			
		||||
void Pixel_load_in_preview      (word x_pos,word y_pos,byte color);
 | 
			
		||||
void Pixel_load_in_brush       (word x_pos,word y_pos,byte color);
 | 
			
		||||
 | 
			
		||||
void filename_complet(char * filename, byte is_colorix_format);
 | 
			
		||||
void Get_full_filename(char * filename, byte is_colorix_format);
 | 
			
		||||
 | 
			
		||||
///
 | 
			
		||||
/// High-level picture loading function.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								main.c
									
									
									
									
									
								
							@ -307,7 +307,7 @@ int Init_program(int argc,char * argv[])
 | 
			
		||||
  // Determine the executable directory
 | 
			
		||||
  Set_program_directory(argv[0],program_directory);
 | 
			
		||||
  // Choose directory for data (read only)
 | 
			
		||||
  Set_data_directory(program_directory,Repertoire_des_donnees);
 | 
			
		||||
  Set_data_directory(program_directory,Data_directory);
 | 
			
		||||
  // Choose directory for settings (read/write)
 | 
			
		||||
  Set_config_directory(program_directory,Config_directory);
 | 
			
		||||
 | 
			
		||||
@ -394,7 +394,7 @@ int Init_program(int argc,char * argv[])
 | 
			
		||||
    // Routine pour définir l'icone.
 | 
			
		||||
    char icon_path[MAX_PATH_CHARACTERS];
 | 
			
		||||
    SDL_Surface * icon;
 | 
			
		||||
    sprintf(icon_path, "%s%s", Repertoire_des_donnees, "gfx2.gif");
 | 
			
		||||
    sprintf(icon_path, "%s%s", Data_directory, "gfx2.gif");
 | 
			
		||||
    icon = IMG_Load(icon_path);
 | 
			
		||||
    if (icon)
 | 
			
		||||
    {
 | 
			
		||||
@ -439,7 +439,7 @@ int Init_program(int argc,char * argv[])
 | 
			
		||||
 | 
			
		||||
  // On initialise tout ce qui concerne les opérations et les effets
 | 
			
		||||
  Operation_stack_size=0;
 | 
			
		||||
  Selected_operation=OPERATION_CONTINUOUS_DRAW;
 | 
			
		||||
  Selected_freehand_mode=OPERATION_CONTINUOUS_DRAW;
 | 
			
		||||
  Selected_line_mode         =OPERATION_LINE;
 | 
			
		||||
  Selected_curve_mode        =OPERATION_3_POINTS_CURVE;
 | 
			
		||||
  Effect_function=No_effect;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								misc.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								misc.c
									
									
									
									
									
								
							@ -441,12 +441,12 @@ byte Effect_interpolated_colorize  (word x,word y,byte color)
 | 
			
		||||
  // On récupère les 3 composantes RVB
 | 
			
		||||
 | 
			
		||||
  // blue
 | 
			
		||||
  blue = (Facteur_B_table[blue]
 | 
			
		||||
    + Facteur_A_table[blue_under]) / 256;
 | 
			
		||||
  green = (Facteur_B_table[green]
 | 
			
		||||
    + Facteur_A_table[green_under]) / 256;
 | 
			
		||||
  red = (Facteur_B_table[red]
 | 
			
		||||
    + Facteur_A_table[red_under]) / 256;
 | 
			
		||||
  blue = (Factors_inv_table[blue]
 | 
			
		||||
    + Factors_table[blue_under]) / 256;
 | 
			
		||||
  green = (Factors_inv_table[green]
 | 
			
		||||
    + Factors_table[green_under]) / 256;
 | 
			
		||||
  red = (Factors_inv_table[red]
 | 
			
		||||
    + Factors_table[red_under]) / 256;
 | 
			
		||||
  return Best_color(red,green,blue);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -422,7 +422,7 @@ int Load_INI(T_Config * conf)
 | 
			
		||||
  if (file==0)
 | 
			
		||||
  {
 | 
			
		||||
    // Si le fichier ini est absent on le relit depuis gfx2def.ini
 | 
			
		||||
    strcpy(filename,Repertoire_des_donnees);
 | 
			
		||||
    strcpy(filename,Data_directory);
 | 
			
		||||
    strcat(filename,"gfx2def.ini");
 | 
			
		||||
    file=fopen(filename,"rb");
 | 
			
		||||
    if (file == 0)
 | 
			
		||||
@ -642,7 +642,7 @@ int Load_INI(T_Config * conf)
 | 
			
		||||
    goto Erreur_Retour;
 | 
			
		||||
  if ((values[0]<0) || (values[0]>1))
 | 
			
		||||
    goto Erreur_ERREUR_INI_CORROMPU;
 | 
			
		||||
  conf->Couleurs_separees=values[0];
 | 
			
		||||
  conf->Separate_colors=values[0];
 | 
			
		||||
 | 
			
		||||
  if ((return_code=Load_INI_get_values (file,buffer,"FX_feedback",1,values)))
 | 
			
		||||
    goto Erreur_Retour;
 | 
			
		||||
 | 
			
		||||
@ -421,7 +421,7 @@ int Save_INI(T_Config * conf)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  // On récupère un fichier INI "propre" à partir de gfx2def.ini
 | 
			
		||||
  strcpy(ref_ini_file,Repertoire_des_donnees);
 | 
			
		||||
  strcpy(ref_ini_file,Data_directory);
 | 
			
		||||
  strcat(ref_ini_file,"gfx2def.ini");
 | 
			
		||||
  Ancien_fichier=fopen(ref_ini_file,"rb");
 | 
			
		||||
  if (Ancien_fichier==0)
 | 
			
		||||
@ -569,7 +569,7 @@ int Save_INI(T_Config * conf)
 | 
			
		||||
  if ((return_code=Save_INI_set_values (Ancien_fichier,Nouveau_fichier,buffer,"Fast_zoom",1,values,1)))
 | 
			
		||||
    goto Erreur_Retour;
 | 
			
		||||
 | 
			
		||||
  values[0]=conf->Couleurs_separees;
 | 
			
		||||
  values[0]=conf->Separate_colors;
 | 
			
		||||
  if ((return_code=Save_INI_set_values (Ancien_fichier,Nouveau_fichier,buffer,"Separate_colors",1,values,1)))
 | 
			
		||||
    goto Erreur_Retour;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								struct.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								struct.h
									
									
									
									
									
								
							@ -255,7 +255,7 @@ typedef struct
 | 
			
		||||
  byte Ratio;                            ///< Determines the scaling of menu and windows: 0 no scaling, 1 scaling, 2 slight scaling.
 | 
			
		||||
  byte Fast_zoom;                        ///< Boolean, true if the magnifier shortcut should automatically view the mouse area.
 | 
			
		||||
  byte Find_file_fast;                   ///< In fileselectors, this determines which entries should be sought when typing letters: 0 all, 1 files only, 2 directories only.
 | 
			
		||||
  byte Couleurs_separees;                ///< Boolean, true if the menu palette should separate color cells with a black outline.
 | 
			
		||||
  byte Separate_colors;                  ///< Boolean, true if the menu palette should separate color cells with a black outline.
 | 
			
		||||
  word Palette_cells_X;                  ///< Number of colors to show in a row of the menu palette.
 | 
			
		||||
  word Palette_cells_Y;                  ///< Number of colors to show in a column of the menu palette.
 | 
			
		||||
  byte Palette_vertical;                 ///< Boolean, true if the menu palette should go top to bottom instead of left to right
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								text.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								text.c
									
									
									
									
									
								
							@ -281,7 +281,7 @@ void Init_text(void)
 | 
			
		||||
  font_list_start = NULL;
 | 
			
		||||
  Nb_fonts=0;
 | 
			
		||||
  // Parcours du répertoire "fonts"
 | 
			
		||||
  strcpy(directory_name, Repertoire_des_donnees);
 | 
			
		||||
  strcpy(directory_name, Data_directory);
 | 
			
		||||
  strcat(directory_name, "fonts");
 | 
			
		||||
  For_each_file(directory_name, Add_font);
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								windows.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								windows.c
									
									
									
									
									
								
							@ -199,7 +199,7 @@ void Frame_menu_color(byte color)
 | 
			
		||||
 | 
			
		||||
  if ((Fore_color>=First_color_in_palette) && (Fore_color<First_color_in_palette+Menu_cells_X*Menu_cells_Y) && (Menu_is_visible))
 | 
			
		||||
  {
 | 
			
		||||
    if (Config.Couleurs_separees)
 | 
			
		||||
    if (Config.Separate_colors)
 | 
			
		||||
    {
 | 
			
		||||
      start_x=Palette_cell_X(Fore_color)-1*Menu_factor_X;
 | 
			
		||||
      start_y=Palette_cell_Y(Fore_color)-1*Menu_factor_Y;
 | 
			
		||||
@ -271,7 +271,7 @@ void Display_menu_palette(void)
 | 
			
		||||
  {
 | 
			
		||||
    Block(MENU_WIDTH*Menu_factor_X,Menu_Y,Screen_width-(MENU_WIDTH*Menu_factor_X),(MENU_HEIGHT-9)*Menu_factor_Y,MC_Black);
 | 
			
		||||
 | 
			
		||||
    if (Config.Couleurs_separees)
 | 
			
		||||
    if (Config.Separate_colors)
 | 
			
		||||
      for (color=First_color_in_palette;color<256&&(color-First_color_in_palette)<Menu_cells_X*Menu_cells_Y;color++)
 | 
			
		||||
        Block(Palette_cell_X(color),
 | 
			
		||||
              Palette_cell_Y(color),
 | 
			
		||||
@ -1060,7 +1060,7 @@ void Display_menu_palette_avoiding_window(byte * table)
 | 
			
		||||
  word corner_y=Window_pos_Y+Window_height*Menu_factor_Y; // |  de la fenêtre +1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  if (Config.Couleurs_separees)
 | 
			
		||||
  if (Config.Separate_colors)
 | 
			
		||||
  {
 | 
			
		||||
    width=(Menu_palette_cell_width-1)*Menu_factor_X;
 | 
			
		||||
    height=Menu_factor_Y*(32/Menu_cells_Y-1);
 | 
			
		||||
@ -1656,7 +1656,7 @@ void Display_cursor(void)
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    case CURSOR_SHAPE_MULTIDIRECTIONNAL :
 | 
			
		||||
    case CURSOR_SHAPE_MULTIDIRECTIONAL :
 | 
			
		||||
    case CURSOR_SHAPE_HORIZONTAL :
 | 
			
		||||
      if (Cursor_hidden)
 | 
			
		||||
        break;
 | 
			
		||||
@ -1953,7 +1953,7 @@ void Hide_cursor(void)
 | 
			
		||||
        Hide_paintbrush(Paintbrush_X,Paintbrush_Y);
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    case CURSOR_SHAPE_MULTIDIRECTIONNAL :
 | 
			
		||||
    case CURSOR_SHAPE_MULTIDIRECTIONAL :
 | 
			
		||||
    case CURSOR_SHAPE_HORIZONTAL :
 | 
			
		||||
      if (Cursor_hidden)
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user