extern int Fichero_cd_in2(char Dinamicos_Estaticos); ///////////////////////////// FICHEROS A INCLUIR ///////////////////////////// #include #include #include #include #include // Para getch(); #include // Para outtextxy(...); y cleardevice(...); #include "cd_icons.h" // #include "List_col.h" #include "cd_error.h" #include "d:\program\src_dos\libs\make_bot\make_bot.h" // Fuciones de MAKE_BOTON ////////////////////////////////// VARIABLES ///////////////////////////////// void Mete(FILE *P_R, int Color); FILE *handle; char dac[256*3]; extern unsigned char *P_Raton1, *P_Raton2, *P_Raton3, *P_Raton4; unsigned char far *Icono; // 18 void Coloca_Iconos_Dos_Windows(void); void Coloca_Iconos(int Start_Icon); //////////////////////// DECLARACIONES DE FUNCIONES ////////////////////////// extern "C" void ENCIENDE_PANTALLA(char *); ///////////////////////////////// PROGRAMA /////////////////////////////////// void Inicializa_Iconos(void) { int ancho; int Posicion[18] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int alto; int esq_x1, esq_y1, esq_x2, esq_y2; unsigned char byte, contador; int n = (20*20); int PR1, PR2, PR3, PR4; PR1 = PR2 = PR3 = PR4 = -1; if( (Icono = (unsigned char far *)farcalloc( /*(39762)*/40000L, sizeof(unsigned char) ) ) == NULL ){ Fichero_cd_in2(SIN_CVN); // Imprime_Estaticos( SIN_CVN, "cd_in.img"); Espera_Tecla_o_Raton(); closegraph(); printf("No se encontrЂ memoria suficiente"); exit(1); } /* if( ((P_Raton1 = (unsigned char *)malloc( n ))==NULL) || ((P_Raton2 = (unsigned char *)malloc( n ))==NULL) || ((P_Raton3 = (unsigned char *)malloc( n ))==NULL) || ((P_Raton4 = (unsigned char *)malloc( n ))==NULL) ) { Imprime_Estaticos( SIN_CVN, "cd_in.img"); Espera_Tecla_o_Raton(); closegraph(); cprintf("\n\rImposible encontrar memoria para el cursor del Raton"); exit(2); } */ ///ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ///ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл /* FILE *P_R1, *P_R2, *P_R3, *P_R4; int PR1_C=0, PR2_C=0, PR3_C=0, PR4_C=0; P_R1 = fopen("P_Raton1.cpp", "w"); P_R2 = fopen("P_Raton2.cpp", "w"); P_R3 = fopen("P_Raton3.cpp", "w"); P_R4 = fopen("P_Raton4.cpp", "w"); */ ///ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ///ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл if((handle=fopen("CD_in2.IMG", "rb"))==NULL) { Fichero_cd_in2(E_O); // Imprime_Estaticos( E_O, "cd_in.img"); Espera_Tecla_o_Raton(); restorecrtmode(); printf("No se encontrЂ el archivo de iconos"); exit(1); } if(10!=getc(handle)) { Fichero_cd_in2(E_PCX); // Imprime_Estaticos( E_PCX, "cd_in.img"); Espera_Tecla_o_Raton(); restorecrtmode(); printf("El archivo de iconos, esta daЄado"); exit(1); } getw(handle); getc(handle); esq_x1=getw(handle); esq_y1=getw(handle); esq_x2=getw(handle); esq_y2=getw(handle); ancho=esq_x2-esq_x1+1; alto =esq_y2-esq_y1+1; fseek(handle, 128, 0); for(alto=(esq_y2-esq_y1+1); alto>0; alto--) { for(ancho=(esq_x2-esq_x1+1); ancho>0; ) { byte=getc(handle); if(byte<=0xC0) { if( ancho>=272 && ancho <=318 && alto >=152 && alto <= 198 ) { Posicion[0] ++; Icono[ Posicion[0] ] = byte; } else if( ancho>=224 && ancho <=270 && alto >=152 && alto <= 198 ) { Posicion[1] ++; Icono[ Posicion[1]+2209*1 ] = byte; } else if( ancho>=176 && ancho <=222 && alto >=152 && alto <= 198 ) { Posicion[2] ++; Icono[ Posicion[2]+2209*2 ] = byte; } else if( ancho>=128 && ancho <=174 && alto >=152 && alto <= 198 ) { Posicion[3] ++; Icono[ Posicion[3]+2209*3 ] = byte; } else if( ancho>=80 && ancho <=126 && alto >=152 && alto <= 198 ) { Posicion[4] ++; Icono[ Posicion[4]+2209*4 ] = byte; } else if( ancho>=32 && ancho <=78 && alto >=152 && alto <= 198 ) { Posicion[5] ++; Icono[ Posicion[5]+2209*5 ] = byte; } else //////////////////////////////////////////////////////////////////////////////////// if( ancho>=272 && ancho <=318 && alto >=104 && alto <= 150 ) { Posicion[6] ++; Icono[ Posicion[6]+2209*6 ] = byte; } else if( ancho>=224 && ancho <=270 && alto >=104 && alto <= 150 ) { Posicion[7] ++; Icono[ Posicion[7]+2209*7 ] = byte; } else if( ancho>=176 && ancho <=222 && alto >=104 && alto <= 150 ) { Posicion[8] ++; Icono[ Posicion[8]+2209*8 ] = byte; } else if( ancho>=128 && ancho <=174 && alto >=104 && alto <= 150 ) { Posicion[9] ++; Icono[ Posicion[9]+2209*9 ] = byte; } else if( ancho>=80 && ancho <=126 && alto >=104 && alto <= 150 ) { Posicion[10] ++; Icono[ Posicion[10]+2209*10 ] = byte; } else if( ancho>=32 && ancho <=78 && alto >=104 && alto <= 150 ) { Posicion[11] ++; Icono[ Posicion[11]+2209*11] = byte; } else //////////////////////////////////////////////////////////////////////////////////// if( ancho>=272 && ancho <=318 && alto >=56 && alto <= 102 ) { Posicion[12] ++; Icono[ Posicion[12]+2209*12 ] = byte; } else if( ancho>=224 && ancho <=270 && alto >=56 && alto <= 102 ) { Posicion[13] ++; Icono[ Posicion[13]+2209*13 ] = byte; } else if( ancho>=176 && ancho <=222 && alto >=56 && alto <= 102 ) { Posicion[14] ++; Icono[ Posicion[14]+2209*14 ] = byte; } else if( ancho>=128 && ancho <=174 && alto >=56 && alto <= 102 ) { Posicion[15] ++; Icono[ Posicion[15]+2209*15 ] = byte; } else if( ancho>=80 && ancho <=126 && alto >=56 && alto <= 102 ) { Posicion[16] ++; Icono[ Posicion[16]+2209*16 ] = byte; } else if( ancho>=32 && ancho <=78 && alto >=56 && alto <= 102 ) { Posicion[17] ++; Icono[ Posicion[17]+2209*17] = byte; } else //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// if( ancho>=274/*279*/ && ancho <=/*318*/316 && alto >= /*8*/11 && alto <= 29 ) { // Flecha Izquierda // putpixel( 385 +43+ (279-ancho), 30 + 24 + (11-alto), byte); putpixel( ancho + 120, alto + 24, byte ); } else if( ancho>=/*272*/276 && ancho <=318/*313*/ && alto >= /*32*/35 && alto <= 52 ) { // Flecha Derecha // putpixel( 385 +48+ (276-ancho), 57 + 26 + (35-alto), byte); putpixel( ancho + 120, alto + 32, byte ); } //// } else // if( ancho>=251 && ancho <=270 && alto >= 14 && alto <= 54 ) { // // Flecha Arriba // putpixel( 235 + (248-ancho), 420 + (8-alto), byte); // putpixel( 385 + (248-ancho), 360 + (8-alto), byte); // } else // if( ancho>=/*224*/227 && ancho <= 245 && alto >= /*8*/12 && alto <= /*54*/49 ) { // // Flecha Abajo // putpixel( 235 - 1 + (224-ancho), 470 + (8-alto), byte); // putpixel( 385 - 1 + (224-ancho), 415 -2 + (8-alto), byte); // } else /* if( ancho>=180 && ancho <= 220 && alto >= 12 && alto <= 52 ) { // Punteros del Raton... putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); } */ if( ancho>=180 && ancho <= 199 && alto >= 12 && alto <= 31 ) { //// // Punteros del Raton... PR1++; P_Raton1[/*(199-ancho) + 20*(31-alto)*/PR1] = byte; ////// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R1, byte); ////PR1_C ++ ; if ( PR1_C == 6 ) { PR1_C=0; fprintf(P_R1, "\n"); } ////*/ } else if( ancho>=201 && ancho <= 220 && alto >= 12 && alto <= 31 ) { //// // Punteros del Raton... PR2++; P_Raton2[/*(220-ancho) + 20*(31-alto)*/PR2] = byte; ///// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R2, byte); ////PR2_C ++ ; if ( PR2_C == 11 ) { PR2_C=0; fprintf(P_R2, "\n"); } ////*/ } else if( ancho>=180 && ancho <= 199 && alto >= 33 && alto <= 52 ) { //// // Punteros del Raton... PR3++; P_Raton3[/*(199-ancho) + 20*(52-alto)*/PR3] = byte; ////// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R3, byte); ////PR3_C ++ ; if ( PR3_C == 6 ) { PR3_C=0; fprintf(P_R3, "\n"); } ////*/ } else if( ancho>=201 && ancho <= 220 && alto >= 33 && alto <= 52 ) { //// // Punteros del Raton... PR4++; P_Raton4[/*(220-ancho) + 20*(52-alto)*/PR4] = byte; ////// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R4, byte); ////PR4_C ++ ; if ( PR4_C == 6 ) { PR4_C=0; fprintf(P_R4, "\n"); } ////*/ } //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// ///////////////// // putpixel( (10+ancho), (10+alto), byte); ///////////////// ancho--; } else { contador=byte&0x3F; byte=getc(handle); for(; contador>0; contador--) { // *dir_vga++=byte; if( ancho>=272 && ancho <=318 && alto >=152 && alto <= 198 ) { Posicion[0] ++; Icono[ Posicion[0] ] = byte; } else if( ancho>=224 && ancho <=270 && alto >=152 && alto <= 198 ) { Posicion[1] ++; Icono[ Posicion[1]+2209*1 ] = byte; } else if( ancho>=176 && ancho <=222 && alto >=152 && alto <= 198 ) { Posicion[2] ++; Icono[ Posicion[2]+2209*2 ] = byte; } else if( ancho>=128 && ancho <=174 && alto >=152 && alto <= 198 ) { Posicion[3] ++; Icono[ Posicion[3]+2209*3 ] = byte; } else if( ancho>=80 && ancho <=126 && alto >=152 && alto <= 198 ) { Posicion[4] ++; Icono[ Posicion[4]+2209*4 ] = byte; } else if( ancho>=32 && ancho <=78 && alto >=152 && alto <= 198 ) { Posicion[5] ++; Icono[ Posicion[5]+2209*5 ] = byte; } else //////////////////////////////////////////////////////////////////////////////////// if( ancho>=272 && ancho <=318 && alto >=104 && alto <= 150 ) { Posicion[6] ++; Icono[ Posicion[6]+2209*6 ] = byte; } else if( ancho>=224 && ancho <=270 && alto >=104 && alto <= 150 ) { Posicion[7] ++; Icono[ Posicion[7]+2209*7 ] = byte; } else if( ancho>=176 && ancho <=222 && alto >=104 && alto <= 150 ) { Posicion[8] ++; Icono[ Posicion[8]+2209*8 ] = byte; } else if( ancho>=128 && ancho <=174 && alto >=104 && alto <= 150 ) { Posicion[9] ++; Icono[ Posicion[9]+2209*9 ] = byte; } else if( ancho>=80 && ancho <=126 && alto >=104 && alto <= 150 ) { Posicion[10] ++; Icono[ Posicion[10]+2209*10 ] = byte; } else if( ancho>=32 && ancho <=78 && alto >=104 && alto <= 150 ) { Posicion[11] ++; Icono[ Posicion[11]+2209*11] = byte; } else //////////////////////////////////////////////////////////////////////////////////// if( ancho>=272 && ancho <=318 && alto >=56 && alto <= 102 ) { Posicion[12] ++; Icono[ Posicion[12]+2209*12 ] = byte; } else if( ancho>=224 && ancho <=270 && alto >=56 && alto <= 102 ) { Posicion[13] ++; Icono[ Posicion[13]+2209*13 ] = byte; } else if( ancho>=176 && ancho <=222 && alto >=56 && alto <= 102 ) { Posicion[14] ++; Icono[ Posicion[14]+2209*14 ] = byte; } else if( ancho>=128 && ancho <=174 && alto >=56 && alto <= 102 ) { Posicion[15] ++; Icono[ Posicion[15]+2209*15 ] = byte; } else if( ancho>=80 && ancho <=126 && alto >=56 && alto <= 102 ) { Posicion[16] ++; Icono[ Posicion[16]+2209*16 ] = byte; } else if( ancho>=32 && ancho <=78 && alto >=56 && alto <= 102 ) { Posicion[17] ++; Icono[ Posicion[17]+2209*17] = byte; } else //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// if( ancho>=274/*279*/ && ancho <=/*318*/316 && alto >= /*8*/11 && alto <= 29 ) { // Flecha Izquierda // putpixel( 385 + 43 + (279-ancho), 30 + 24 + (11-alto), byte); putpixel( ancho + 120, alto + 24, byte ); } else if( ancho>=/*272*/276 && ancho <=318/*313*/ && alto >= /*32*/35 && alto <= 52 ) { // Flecha Derecha // putpixel( 385 + 48 + (276-ancho), 57 + 26 + (35-alto), byte); putpixel( ancho + 120, alto + 32, byte ); } else // if( ancho>=251 && ancho <=270 && alto >= 14 && alto <= 54 ) { // // Flecha Arriba // putpixel( 235 + (248-ancho), 420 + (8-alto), byte); // putpixel( 385 + (248-ancho), 360 + (8-alto), byte); // } else // if( ancho>=/*224*/227 && ancho <= 245 && alto >= /*8*/12 && alto <= /*54*/49 ) { // // Flecha Abajo // putpixel( 235 - 1 + (224-ancho), 470 + (8-alto), byte); // putpixel( 385 - 1 + (224-ancho), 415 -2 + (8-alto), byte); // } else /* if( ancho>=180 && ancho <= 220 && alto >= 12 && alto <= 52 ) { // Punteros del Raton... putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); } */ if( ancho>=180 && ancho <= 199 && alto >= 12 && alto <= 31 ) { //// // Punteros del Raton... PR1++; P_Raton1[/*(199-ancho) + 20*(31-alto)*/PR1] = byte; ////// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R1, byte); ////PR1_C ++ ; if ( PR1_C == 6 ) { PR1_C=0; fprintf(P_R1, "\n"); } ////*/ } else if( ancho>=201 && ancho <= 220 && alto >= 12 && alto <= 31 ) { //// // Punteros del Raton... PR2++; P_Raton2[/*(220-ancho) + 20*(31-alto)*/PR2] = byte; ////// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R2, byte); ////PR2_C ++ ; if ( PR2_C == 6 ) { PR2_C=0; fprintf(P_R2, "\n"); } ////*/ } else if( ancho>=180 && ancho <= 199 && alto >= 33 && alto <= 52 ) { //// // Punteros del Raton... PR3++; P_Raton3[/*(199-ancho) + 20*(52-alto)*/PR3] = byte; ///// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R3, byte); ////PR3_C ++ ; if ( PR3_C == 6 ) { PR3_C=0; fprintf(P_R3, "\n"); } ////*/ } else if( ancho>=201 && ancho <= 220 && alto >= 33 && alto <= 52 ) { //// // Punteros del Raton... PR4++; P_Raton4[/*(220-ancho) + 20*(52-alto)*/PR4] = byte; ///// putpixel( 400 + 46 + (176-ancho), 150 + (49-alto), byte); /////* ////Mete(P_R4, byte); ////PR4_C ++ ; if ( PR4_C == 6 ) { PR4_C=0; fprintf(P_R4, "\n"); } ////*/ } //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// ///////////////// // putpixel( (10+ancho), (10+alto), byte); ///////////////// ancho--; } } } } getc(handle); // for(n=0; n<256*3; n++) dac[n]=getc(handle) >> 2; for(n=0; n<256*3; n++) if( n >= (256-16)*3 ) dac[n]=getc(handle) >> 2; else getc(handle); fclose(handle); /* fclose(P_R1); fclose(P_R2); fclose(P_R3); fclose(P_R4); */ } void Coloca_Iconos_Dos_Windows(void){ int x, y, i; for( y = 0; y <= (46-1); y++ ) for( x = 1; x <= 46; x++ ) { putpixel( 523 + x, 37+y, Icono[ x + (47*y) + (2209*11) ] ); putpixel( 583 + x, 37+y, Icono[ x + (47*y) + (2209*17) ] ); } } void Coloca_Iconos(int Start_Icon){ int x, y, i; char Icon_inx[] = { Juegos, Texto, Musica, Dibujo, Util, Base, Hoja, Red, TC, Scanner, News, Zip, Peli, Varios, CD, Ayuda }; Start_Icon--; for( y = 0; y <= (46-1); y++ ) for( x = 1; x <= 46; x++ ) { putpixel( 453 + x, 37+y, Icono[ x + (47*y) + (2209*Icon_inx[Start_Icon]) ] ); } } void Mete(FILE *P_R, int Color) { char Buffer[80]; switch( Color ) { case 255: sprintf( Buffer, "*P_Ratonx++ = BLANCO"); break; case 240: sprintf( Buffer, "*P_Ratonx++ = NEGRO"); break; case 253: sprintf( Buffer, "*P_Ratonx++ = GRIS_CLARO"); break; case 249: sprintf( Buffer, "*P_Ratonx++ = UNKNOW"); break; case 250: sprintf( Buffer, "*P_Ratonx++ = AZUL"); break; default: sprintf( Buffer, "*P_Ratonx++ = %d", Color); } fprintf( P_R, "%-24s; ", Buffer ); }