--- np2/x11/ini.c 2003/11/23 12:45:43 1.2 +++ np2/x11/ini.c 2004/05/22 16:35:08 1.11 @@ -7,6 +7,7 @@ #include "profile.h" #include "strres.h" +#include "commng.h" #include "kbdmng.h" #include "soundmng.h" @@ -315,7 +316,7 @@ iwss_extend: static BOOL read_iniread_flag(const INITBL *p); void -ini_write(const char *path, const char *title, const INITBL *tbl, UINT count) +ini_write(const char *path, const char *title, const INITBL *tbl, UINT count, BOOL create) { char work[512]; const INITBL *p; @@ -323,9 +324,17 @@ ini_write(const char *path, const char * FILEH fh; BOOL set; - fh = file_create(path); - if (fh == FILEH_INVALID) - return; + fh = FILEH_INVALID; + if (!create) { + fh = file_open(path); + if (fh != FILEH_INVALID) + file_seek(fh, 0L, FSEEK_END); + } + if (fh == FILEH_INVALID) { + fh = file_create(path); + if (fh == FILEH_INVALID) + return; + } milstr_ncpy(work, "[", sizeof(work)); milstr_ncat(work, title, sizeof(work)); @@ -421,6 +430,7 @@ static const char ini_title[] = "NekoPro enum { INIRO_STR = INIFLAG_RO | INITYPE_STR, INIRO_BOOL = INIFLAG_RO | INITYPE_BOOL, + INIRO_UINT8 = INIFLAG_RO | INITYPE_UINT8, INIMAX_UINT8 = INIFLAG_MAX | INITYPE_UINT8, INIAND_UINT8 = INIFLAG_AND | INITYPE_UINT8, INIROMAX_SINT32 = INIFLAG_RO | INIFLAG_MAX | INITYPE_SINT32, @@ -439,6 +449,9 @@ static const INITBL iniitem[] = { {"HDfolder", INITYPE_STR, hddfolder, MAX_PATH}, {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, {"fontfile", INITYPE_STR, np2cfg.fontfile, MAX_PATH}, + {"biospath", INITYPE_STR, np2cfg.biospath, MAX_PATH}, + {"hdrvroot", INIRO_STR, np2cfg.hdrvroot, MAX_PATH}, + {"hdrv_acc", INIRO_UINT8, &np2cfg.hdrvacc, 0}, {"pc_model", INITYPE_STR, &np2cfg.model, sizeof(np2cfg.model)}, @@ -450,8 +463,8 @@ static const INITBL iniitem[] = { {"ExMemory", INIMAX_UINT8, &np2cfg.EXTMEM, 13}, {"ITF_WORK", INIRO_BOOL, &np2cfg.ITF_WORK, 0}, - {"HDD1FILE", INITYPE_STR, np2cfg.hddfile[0], MAX_PATH}, - {"HDD2FILE", INITYPE_STR, np2cfg.hddfile[1], MAX_PATH}, + {"HDD1FILE", INITYPE_STR, np2cfg.sasihdd[0], MAX_PATH}, + {"HDD2FILE", INITYPE_STR, np2cfg.sasihdd[1], MAX_PATH}, {"SampleHz", INITYPE_UINT16, &np2cfg.samplingrate, 0}, {"Latencys", INITYPE_UINT16, &np2cfg.delayms, 0}, @@ -507,7 +520,7 @@ static const INITBL iniitem[] = { {"USE144FD", INITYPE_BOOL, &np2cfg.usefd144, 0}, {"keyboard", INIRO_KB, &np2oscfg.KEYBOARD, 0}, - {"F12_COPY", INITYPE_UINT8, &np2oscfg.F12COPY, 0}, + {"F12_COPY", INITYPE_UINT8, &np2oscfg.F12KEY, 0}, {"Joystick", INITYPE_BOOL, &np2oscfg.JOYPAD1, 0}, {"Joy1_btn", INITYPE_ARGH8, np2oscfg.JOY1BTN, 4}, @@ -518,13 +531,35 @@ static const INITBL iniitem[] = { {"mpu98mdl", INITYPE_STR, np2oscfg.mpu.mdl, 64}, {"mpu98def", INITYPE_STR, np2oscfg.mpu.def, MAX_PATH}, + {"com1port", INIMAX_UINT8, &np2oscfg.com[0].port, COMPORT_MIDI}, + {"com1para", INITYPE_UINT8, &np2oscfg.com[0].param, 0}, + {"com1_bps", INITYPE_UINT32, &np2oscfg.com[0].speed, 0}, + {"com1mmap", INITYPE_STR, np2oscfg.com[0].mout, MAX_PATH}, + {"com1mmdl", INITYPE_STR, np2oscfg.com[0].mdl, 64}, + {"com1mdef", INITYPE_STR, np2oscfg.com[0].def, MAX_PATH}, + + {"com2port", INIMAX_UINT8, &np2oscfg.com[1].port, COMPORT_MIDI}, + {"com2para", INITYPE_UINT8, &np2oscfg.com[1].param, 0}, + {"com2_bps", INITYPE_UINT32, &np2oscfg.com[1].speed, 0}, + {"com2mmap", INITYPE_STR, np2oscfg.com[1].mout, MAX_PATH}, + {"com2mmdl", INITYPE_STR, np2oscfg.com[1].mdl, 64}, + {"com2mdef", INITYPE_STR, np2oscfg.com[1].def, MAX_PATH}, + + {"com3port", INIMAX_UINT8, &np2oscfg.com[2].port, COMPORT_MIDI}, + {"com3para", INITYPE_UINT8, &np2oscfg.com[2].param, 0}, + {"com3_bps", INITYPE_UINT32, &np2oscfg.com[2].speed, 0}, + {"com3mmap", INITYPE_STR, np2oscfg.com[2].mout, MAX_PATH}, + {"com3mmdl", INITYPE_STR, np2oscfg.com[2].mdl, 64}, + {"com3mdef", INITYPE_STR, np2oscfg.com[2].def, MAX_PATH}, + {"e_resume", INITYPE_BOOL, &np2oscfg.resume, 0}, {"STATSAVE", INIRO_BOOL, &np2oscfg.statsave, 0}, -#if defined(__GNUC__) && (defined(i386) || defined(__i386__)) +#if defined(GCC_CPU_ARCH_IA32) {"nousemmx", INITYPE_BOOL, &np2oscfg.disablemmx, 0}, #endif {"toolwind", INITYPE_BOOL, &np2oscfg.toolwin, 0}, {"keydispl", INITYPE_BOOL, &np2oscfg.keydisp, 0}, + {"jast_snd", INITYPE_BOOL, &np2oscfg.jastsnd, 0}, {"sounddrv", INITYPE_SNDDRV, &np2oscfg.snddrv, 0}, {"audiodev", INITYPE_STR, &np2oscfg.audiodev, MAX_PATH}, @@ -532,6 +567,8 @@ static const INITBL iniitem[] = { {"MIDIIN_d", INITYPE_STR, &np2oscfg.MIDIDEV[1], MAX_PATH}, {"MIDIWAIT", INITYPE_UINT32, &np2oscfg.MIDIWAIT, 0}, + {"sharepix", INIRO_BOOL, &np2oscfg.shared_pixmap,0}, + {"toolkit_", INIRO_STR, &np2oscfg.toolkit, sizeof(np2oscfg.toolkit)}, {"I286SAVE", INIRO_BOOL, &np2oscfg.I286SAVE, 0} @@ -597,5 +634,5 @@ initsave(void) char path[MAX_PATH]; milstr_ncpy(path, modulefile, sizeof(path)); - ini_write(path, ini_title, iniitem, INIITEMS); + ini_write(path, ini_title, iniitem, INIITEMS, TRUE); }