413 lines
19 KiB
C++
413 lines
19 KiB
C++
///////////////////////////// FICHEROS A INCLUIR /////////////////////////////
|
||
#include <dos.h>
|
||
#include <conio.h>
|
||
#include <alloc.h>
|
||
#include <stdio.h>
|
||
#include <string.h>
|
||
#include <stdlib.h>
|
||
#include <graphics.h>
|
||
|
||
#include "CD_SND.H"
|
||
|
||
//extern unsigned _stklen = 16000U;
|
||
|
||
#include "XmsSupp.h"
|
||
|
||
#include "cd_icons.h"
|
||
#include "cd_error.h"
|
||
#include "c:\program\src_dos\libs\make_bot\make_bot.h"
|
||
#include "c:\program\src_dos\libs\wavplav\wavplay.h"
|
||
|
||
extern int /*far _cdecl*/ Fichero_cd_img(char Dinamicos_Estaticos);
|
||
|
||
extern int far _Cdecl Svga256_fdriver[];
|
||
|
||
int huge DetectVGA256(){ return 2; }
|
||
|
||
int Load_Snd(void);
|
||
|
||
extern void Menu_de_Edicion(void);
|
||
extern void Inicializa_Iconos(void);
|
||
extern Abre_Ficha_CD_CFG(int R_W);
|
||
extern void Coloca_Iconos(int Start_Icon);
|
||
extern void Coloca_Iconos_Dos_Windows(void);
|
||
extern void Inicializa_Dibujo(int L_Imagen, char *N_Imagen2);
|
||
|
||
extern char far *Icono;
|
||
|
||
void InicializaSVGA(void);
|
||
extern char dac[256*3];
|
||
extern "C" void APAGA_PANTALLA(char *);
|
||
extern "C" void ENCIENDE_PANTALLA(char *);
|
||
extern char far *dir_vga;
|
||
extern "C" void CHANGE_BANK(int);
|
||
|
||
char _XMS = 1;
|
||
|
||
|
||
// int Raton_o_Tecla(void);
|
||
void Sonido( char Sonido );
|
||
|
||
typedef struct {
|
||
|
||
unsigned int Exit_after_EXE : 1;
|
||
unsigned int With_Out_Sound : 1;
|
||
unsigned int Auto_Install : 1;
|
||
unsigned int Check_Free_Size : 1;
|
||
unsigned int Format_Always : 1;
|
||
unsigned int Without_Backgr : 1;
|
||
unsigned int Futura_Ampliac : 4;
|
||
|
||
} Cd_CFG;
|
||
|
||
extern Cd_CFG CD_CFG1;
|
||
char _VerImagen = 1;
|
||
|
||
XmsSupp Xms_Image_Bank1,
|
||
Xms_Image_Bank2,
|
||
Xms_Image_Bank3,
|
||
Xms_Image_Bank4,
|
||
Xms_Image_Bank5;
|
||
|
||
typedef struct
|
||
{
|
||
char Nombre_del_Programa[70];
|
||
char Comentario_Inicial[70];
|
||
|
||
char VerHi, VerLow;
|
||
char Register;
|
||
|
||
long Records;
|
||
} CABECERA;
|
||
|
||
typedef struct
|
||
{
|
||
char Wave_Name[13]; // Nombre del Wave
|
||
char ID_code; // Codigo ID_ del Wave
|
||
unsigned long Pos; // Posici¢n de comienzo dentro del archivo destino
|
||
unsigned long Len; // Longitud
|
||
} CD_SND;
|
||
|
||
CD_SND CD_Snd[19];
|
||
|
||
int main(int argc, char *argv[]){
|
||
|
||
|
||
// /*Û*/ if( Fichero_cd_img(0) /*Û*/
|
||
// /*Û*/ == SIN_MEMORIA ) { // "botones.p1" /*Û*/
|
||
// /*Û*/ closegraph(); /*Û*/
|
||
// /*Û*/ cprintf("\n\rError en la CARGA DE BOTONES"); /*Û*/
|
||
// /*Û*/ exit(112); /*Û*/
|
||
// /*Û*/ } /*Û*/
|
||
// despliega_datos();
|
||
// getch();
|
||
// return 21;
|
||
|
||
int L_Imagen = -1;
|
||
char *N_Imagen2;
|
||
|
||
// ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||
// Û Carga de los argumentos Û
|
||
//ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ//
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ for(int i=1; i<=argc; i++) /*Û*/
|
||
/*Û*/ { /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-0") == 0 ) L_Imagen=0; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-1") == 0 ) L_Imagen=1; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-2") == 0 ) L_Imagen=2; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-3") == 0 ) L_Imagen=3; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-4") == 0 ) L_Imagen=4; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-5") == 0 ) L_Imagen=5; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-6") == 0 ) L_Imagen=6; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-7") == 0 ) L_Imagen=7; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-8") == 0 ) L_Imagen=8; else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-9") == 0 ) L_Imagen=9; else /*Û*/
|
||
/*Û*/ if( strncmpi( argv[i], "-N:", 3) == 0 ) { L_Imagen=-2; /*Û*/
|
||
/*Û*/ N_Imagen2 = argv[i]; /*Û*/
|
||
/*Û*/ N_Imagen2 += 3; /*Û*/
|
||
/*Û*/ } else /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-NO_XMS") == 0 ) _VerImagen = 0; /*Û*/
|
||
/*Û*/ if( strcmp( argv[i], "-NO_SND") == 0 ) CD_CFG1.With_Out_Sound=1;/*Û*/
|
||
/*Û*/ } /*Û*/
|
||
/*Û*/ /*Û*/
|
||
//ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ//
|
||
|
||
// ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||
// Û Carga la Configuraci¢n Û
|
||
//ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ//
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ clrscr(); /*Û*/
|
||
/*Û*/ cprintf("JD & CD_OUT\r\n\r\n"); /*Û*/
|
||
/*Û*/ cprintf("Cargando fichero de Configuraci¢n. "); /*Û*/
|
||
/*Û*/ Abre_Ficha_CD_CFG(0); /*Û*/
|
||
/*Û*/ cprintf(" --> Ok!\n\r"); /*Û*/
|
||
/*Û*/ /*Û*/
|
||
//ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ//
|
||
|
||
// ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||
// Û Inicializaci¢n Sonidos Û
|
||
//ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ//
|
||
/*Û*/ if ( !CD_CFG1.With_Out_Sound ) /*Û*/
|
||
/*Û*/ { /*Û*/
|
||
/*Û*/cprintf("Inicializando sonidos. "); /*Û*/
|
||
/*Û*/ switch ( InitSB() ) { /*Û*/
|
||
/*Û*/ case 0: /*Û*/
|
||
/*Û*/ cprintf(" --> Speaker Ok!\n\r"); /*Û*/
|
||
/*Û*/ break; /*Û*/
|
||
/*Û*/ case 1: /*Û*/
|
||
/*Û*/ cprintf(" --> Sound Blaster Ok!\n\r"); /*Û*/
|
||
/*Û*/ break; /*Û*/
|
||
/*Û*/ case 2: /*Û*/
|
||
/*Û*/ cprintf(" --> Dac Casero Ok!\n\r"); /*Û*/
|
||
/*Û*/ break; /*Û*/
|
||
/*Û*/ } /*Û*/
|
||
/*Û*/ } else cprintf(" --> Sin Sonidos Ok!\n\r"); /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/cprintf("Cargando estructura de sonidos. "); /*Û*/
|
||
/*Û*/if( !Load_Snd() ) /*Û*/
|
||
/*Û*/{ /*Û*/
|
||
/*Û*/ CD_CFG1.With_Out_Sound = 0; /*Û*/
|
||
/*Û*/ cprintf(" --> ERROR EN LA CARGA DE SONIDOS!\n\r"); /*Û*/
|
||
/*Û*/} else { /*Û*/
|
||
/*Û*/ cprintf(" --> Ok!\n\r"); /*Û*/
|
||
/*Û*/} /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ /*Û*/
|
||
//ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ//
|
||
|
||
// ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||
// Û Inicializaci¢n de la XMS Û
|
||
//ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ//
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ cprintf("Inicializando XMS... \n\r"); /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ // Errores en Inicializacion XMS. /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ Xms_Image_Bank1.lError=0; /*Û*/
|
||
/*Û*/ Xms_Image_Bank2.lError=0; /*Û*/
|
||
/*Û*/ Xms_Image_Bank3.lError=0; /*Û*/
|
||
/*Û*/ Xms_Image_Bank4.lError=0; /*Û*/
|
||
/*Û*/ Xms_Image_Bank5.lError=0; /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ InitXms(&Xms_Image_Bank1); /*Û*/
|
||
/*Û*/ InitXms(&Xms_Image_Bank2); /*Û*/
|
||
/*Û*/ InitXms(&Xms_Image_Bank3); /*Û*/
|
||
/*Û*/ InitXms(&Xms_Image_Bank4); /*Û*/
|
||
/*Û*/ InitXms(&Xms_Image_Bank5); /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ GetInfo(&Xms_Image_Bank1); // Informe de estado. /*Û*/
|
||
/*Û*/ if(Xms_Image_Bank1.lError || Xms_Image_Bank2.lError || /*Û*/
|
||
/*Û*/ Xms_Image_Bank3.lError || Xms_Image_Bank4.lError || /*Û*/
|
||
/*Û*/ Xms_Image_Bank5.lError )/*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ { /*Û*/
|
||
/*Û*/ printf("Bank1 %s\n",Xms_Image_Bank1.cError); /*Û*/
|
||
/*Û*/ printf("Bank2 %s\n",Xms_Image_Bank2.cError); /*Û*/
|
||
/*Û*/ printf("Bank3 %s\n",Xms_Image_Bank3.cError); /*Û*/
|
||
/*Û*/ printf("Bank4 %s\n",Xms_Image_Bank4.cError); /*Û*/
|
||
/*Û*/ printf("Bank5 %s\n",Xms_Image_Bank5.cError); /*Û*/
|
||
/*Û*/ _XMS = 0; /*Û*/
|
||
/*Û*/ } /*Û*/
|
||
/*Û*/ // Reservamos 64K * 5 bancos. Si hay Error lo Visualizamos. /*Û*/
|
||
/*Û*/ AllocXms( 64, &Xms_Image_Bank1); /*Û*/
|
||
/*Û*/ AllocXms( 64, &Xms_Image_Bank2); /*Û*/
|
||
/*Û*/ AllocXms( 64, &Xms_Image_Bank3); /*Û*/
|
||
/*Û*/ AllocXms( 64, &Xms_Image_Bank4); /*Û*/
|
||
/*Û*/ AllocXms( 64, &Xms_Image_Bank5); /*Û*/
|
||
/*Û*/ if(Xms_Image_Bank1.lError || Xms_Image_Bank2.lError || /*Û*/
|
||
/*Û*/ Xms_Image_Bank3.lError || Xms_Image_Bank4.lError || /*Û*/
|
||
/*Û*/ Xms_Image_Bank5.lError )/*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ { /*Û*/
|
||
/*Û*/ printf("Bank1 %s\n",Xms_Image_Bank1.cError); /*Û*/
|
||
/*Û*/ printf("Bank2 %s\n",Xms_Image_Bank2.cError); /*Û*/
|
||
/*Û*/ printf("Bank3 %s\n",Xms_Image_Bank3.cError); /*Û*/
|
||
/*Û*/ printf("Bank4 %s\n",Xms_Image_Bank4.cError); /*Û*/
|
||
/*Û*/ printf("Bank5 %s\n",Xms_Image_Bank5.cError); /*Û*/
|
||
/*Û*/ _XMS = 0; /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ } /*Û*/
|
||
//ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ//
|
||
|
||
// ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||
// Û Inicializaci¢n Pantalla Û
|
||
//ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ//
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ InicializaSVGA(); /*Û*/
|
||
///*Û*/ APAGA_PANTALLA(dac); /*Û*/
|
||
/*Û*/ memset( dac, 0, 256*3 ); /*Û*/
|
||
unsigned Segt = FP_SEG(dac), Off = FP_OFF(dac);
|
||
/*Û*/ asm mov ax, 0x1012 ; /*Û*/
|
||
/*Û*/ asm mov bx, 0 ; /*Û*/
|
||
/*Û*/ asm mov cx, 256 ; /*Û*/
|
||
/*Û*/ asm mov es, Segt ; /*Û*/
|
||
/*Û*/ asm mov dx, Off ; /*Û*/
|
||
/*Û*/ asm int 0x10 ; /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ if( CD_CFG1.Without_Backgr != 1 ) /*Û*/
|
||
/*Û*/ Inicializa_Dibujo( L_Imagen, N_Imagen2 ); /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*///if( carga_botones("cd_out.img") // Carga botones del fichero/*Û*/
|
||
/*Û*/ if( Fichero_cd_img(0) /*Û*/
|
||
/*Û*/ != 1 ) { // "botones.p1" /*Û*/
|
||
/*Û*/ closegraph(); /*Û*/
|
||
/*Û*/ cprintf("\n\rError en la CARGA DE BOTONES"); /*Û*/
|
||
/*Û*/ exit(112); /*Û*/
|
||
/*Û*/ } /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*///Imprime_Estaticos( 1, "cd_out.img"); // Imprime botones estaticos/*Û*/
|
||
/*Û*/ Fichero_cd_img(1); /*Û*/
|
||
/*Û*/ // 'Seccion 1' /*Û*/
|
||
/*Û*/ Imprime_Secuencia(1); // Imprime secuencia 1. /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*///Imprime_Estaticos( 2, "cd_out.img"); // Imprime botones estaticos/*Û*/
|
||
/*Û*/ Fichero_cd_img(2); /*Û*/
|
||
/*Û*/ // 'Seccion 2' para los textosÛ*/
|
||
/*Û*/ PunteroRaton = 100; /*Û*/
|
||
/*Û*/ inicializa_raton_grafico( 0, 0, 618, 460); /*Û*/
|
||
/*Û*/ if ( PunteroRaton != 100 ) { /*Û*/
|
||
/*Û*/ closegraph(); /*Û*/
|
||
/*Û*/ cprintf("Memoria_Insuficiente para el RATON\n\r");/*Û*/
|
||
/*Û*/ exit(1); /*Û*/
|
||
/*Û*/ } /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ Inicializa_Iconos(); /*Û*/
|
||
/*Û*/ Coloca_Iconos_Dos_Windows(); /*Û*/
|
||
/*Û*/ Coloca_Iconos(1); /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ ENCIENDE_PANTALLA(dac); /*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ True_Push = ON; // Activa el TRUE PUSH ( PRESION REAL )/*Û*/
|
||
/*Û*/ /*Û*/
|
||
//ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ//
|
||
|
||
|
||
// Sonido("CD_OUT00.WAV");
|
||
Sonido( Start_Program );
|
||
|
||
Menu_de_Edicion();
|
||
|
||
// ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||
// ± Liberacion miscelanea ±
|
||
//±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß±//
|
||
/*±*/ Libera_Raton_Animado(); /*±*/
|
||
/*±*/ /*±*/
|
||
/*±*/ APAGA_PANTALLA(dac); /*±*/
|
||
/*±*/ closegraph(); /*±*/
|
||
/*±*/ farfree(Icono); /*±*/
|
||
/*±*/ /*±*/
|
||
/*±*/// Sonido("CD_OUTFF.WAV"); /*±*/
|
||
/*±*/ Sonido( End_Program ); /*±*/
|
||
/*±*/ DeInitSB(); /*±*/
|
||
//±ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ//
|
||
// ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||
// ± Liberacion de la XMS ±
|
||
//±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß±//
|
||
/*±*/ // Liberamos XMS si hay ERROR lo Visualizamos. /*±*/
|
||
/*±*/ FreeXms(&Xms_Image_Bank1); /*±*/
|
||
/*±*/ FreeXms(&Xms_Image_Bank2); /*±*/
|
||
/*±*/ FreeXms(&Xms_Image_Bank3); /*±*/
|
||
/*±*/ FreeXms(&Xms_Image_Bank4); /*±*/
|
||
/*±*/ FreeXms(&Xms_Image_Bank5); /*±*/
|
||
/*Û*/ if(Xms_Image_Bank1.lError || Xms_Image_Bank2.lError ||
|
||
Xms_Image_Bank3.lError || Xms_Image_Bank4.lError ||
|
||
Xms_Image_Bank5.lError )/*Û*/
|
||
/*Û*/ /*Û*/
|
||
/*Û*/ { /*Û*/
|
||
/*Û*/ printf("Bank1 %s\n",Xms_Image_Bank1.cError); /*Û*/
|
||
/*Û*/ printf("Bank2 %s\n",Xms_Image_Bank2.cError); /*Û*/
|
||
/*Û*/ printf("Bank3 %s\n",Xms_Image_Bank3.cError); /*Û*/
|
||
/*Û*/ printf("Bank4 %s\n",Xms_Image_Bank4.cError); /*Û*/
|
||
/*Û*/ printf("Bank5 %s\n",Xms_Image_Bank5.cError); /*Û*/
|
||
/*Û*/ _XMS = 0; /*Û*/
|
||
/*Û*/ } /*Û*/
|
||
/*±*/ /*±*/
|
||
//±ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ//
|
||
|
||
cprintf("Programa registrado a: [ SEGUEL ], n§ reg. 034-002\n\r");
|
||
cprintf("\n\r");
|
||
cprintf("Gracias por utilizar mi Software\n\r");
|
||
cprintf(" Jos‚ David Guill‚n\n\r");
|
||
cprintf(" (versi¢n gratuita en: http:\\\\www.arrakis.es\\~infomundo\\JD\n\r");
|
||
cprintf("\n\r");
|
||
cprintf(" El autor de este programa no se hace responsable de la utilizaci¢n\n\r");
|
||
cprintf(" del mismo, para la catalogaci¢n de CD's con contenido pirata. !!!\n\r");
|
||
cprintf("\n\r");
|
||
|
||
return 0;
|
||
}
|
||
|
||
|
||
void InicializaSVGA(void) {
|
||
|
||
int Gd = DETECT, Gm;
|
||
int Drv, errorcode;
|
||
|
||
installuserdriver("Svga256",DetectVGA256);
|
||
/* If driver is linked with file, remove comments */
|
||
registerfarbgidriver(Svga256_fdriver);
|
||
|
||
errorcode = registerfarbgifont(small_font_far);
|
||
|
||
/* report any registration errors */
|
||
if (errorcode < 0)
|
||
{
|
||
printf("Graphics error: %s\n", grapherrormsg(errorcode));
|
||
printf("Press any key to halt:");
|
||
getch();
|
||
exit(1); /* terminate with an error code */
|
||
}
|
||
|
||
|
||
initgraph(&Gd,&Gm,"");
|
||
|
||
/* read result of initialization */
|
||
errorcode = graphresult();
|
||
|
||
if (errorcode != grOk) /* an error occurred */
|
||
{
|
||
printf("Graphics error: %s\n", grapherrormsg(errorcode));
|
||
printf("Presione una tecla para finalizar:");
|
||
getch();
|
||
exit(1); /* return with error code */
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
void Sonido(char Sonido){
|
||
|
||
|
||
if ( !CD_CFG1.With_Out_Sound && Sonido != -1 && Sonido < 19 )
|
||
{
|
||
while( kbhit() ) getch();
|
||
|
||
if ( PlayWav((char far *)"CD_OUT.SND", CD_Snd[Sonido].Pos, CD_Snd[Sonido].Len ) == -1 )
|
||
PlayLongWav((char far *)"CD_OUT.SND", CD_Snd[Sonido].Pos, CD_Snd[Sonido].Len );
|
||
|
||
while( kbhit() ) getch();
|
||
}
|
||
}
|
||
|
||
|
||
int Load_Snd(void)
|
||
{
|
||
CABECERA Cabecera;
|
||
FILE *DESTINO;
|
||
|
||
if ( ( DESTINO = fopen( "CD_OUT.SND", "rb") ) == NULL )
|
||
{
|
||
return 0;
|
||
}
|
||
|
||
fread( &Cabecera, sizeof( Cabecera ), 1, DESTINO );
|
||
|
||
fread( CD_Snd, sizeof( CD_SND ), 19, DESTINO );
|
||
|
||
fclose(DESTINO);
|
||
return 1;
|
||
}
|