|
|
| version 1.17, 2007/01/12 19:09:58 | version 1.26, 2012/01/23 04:20:24 |
|---|---|
| Line 15 | Line 15 |
| typedef struct { | typedef struct { |
| const char *title; | const char *title; |
| const INITBL *tbl; | INITBL *tbl; |
| const INITBL *tblterm; | INITBL *tblterm; |
| UINT count; | UINT count; |
| } _INIARG, *INIARG; | } _INIARG, *INIARG; |
| Line 43 inisetbmp(BYTE *ptr, UINT pos, BOOL set) | Line 43 inisetbmp(BYTE *ptr, UINT pos, BOOL set) |
| } | } |
| static void | static void |
| inirdargs16(const char *src, const INITBL *ini) | inirdargs16(const char *src, INITBL *ini) |
| { | { |
| SINT16 *dst; | SINT16 *dst; |
| int dsize; | int dsize; |
| Line 71 inirdargs16(const char *src, const INITB | Line 71 inirdargs16(const char *src, const INITB |
| } | } |
| static void | static void |
| inirdargh8(const char *src, const INITBL *ini) | inirdargh8(const char *src, INITBL *ini) |
| { | { |
| BYTE *dst; | BYTE *dst; |
| int dsize; | int dsize; |
| Line 117 inirdargh8(const char *src, const INITBL | Line 117 inirdargh8(const char *src, const INITBL |
| } | } |
| static void | static void |
| iniwrsetargh8(char *work, int size, const INITBL *ini) | iniwrsetargh8(char *work, int size, INITBL *ini) |
| { | { |
| char tmp[8]; | char tmp[8]; |
| const BYTE *ptr; | const BYTE *ptr; |
| Line 127 iniwrsetargh8(char *work, int size, cons | Line 127 iniwrsetargh8(char *work, int size, cons |
| ptr = (BYTE *)(ini->value); | ptr = (BYTE *)(ini->value); |
| arg = ini->arg; | arg = ini->arg; |
| if (arg > 0) { | if (arg > 0) { |
| SPRINTF(tmp, "%.2x ", ptr[0]); | g_snprintf(tmp, sizeof(tmp), "%.2x ", ptr[0]); |
| milstr_ncpy(work, tmp, size); | milstr_ncpy(work, tmp, size); |
| } | } |
| for (i = 1; i < arg; i++) { | for (i = 1; i < arg; i++) { |
| SPRINTF(tmp, "%.2x ", ptr[i]); | g_snprintf(tmp, sizeof(tmp), "%.2x ", ptr[i]); |
| milstr_ncat(work, tmp, size); | milstr_ncat(work, tmp, size); |
| } | } |
| } | } |
| Line 139 iniwrsetargh8(char *work, int size, cons | Line 139 iniwrsetargh8(char *work, int size, cons |
| /* ----- user */ | /* ----- user */ |
| static void | static void |
| inirdbyte3(const char *src, const INITBL *ini) | inirdbyte3(const char *src, INITBL *ini) |
| { | { |
| UINT i; | UINT i; |
| Line 155 inirdbyte3(const char *src, const INITBL | Line 155 inirdbyte3(const char *src, const INITBL |
| } | } |
| static void | static void |
| inirdkb(const char *src, const INITBL *ini) | inirdkb(const char *src, INITBL *ini) |
| { | { |
| if ((!milstr_extendcmp(src, "DOS")) | if ((!milstr_extendcmp(src, "DOS")) |
| Line 175 inirdkb(const char *src, const INITBL *i | Line 175 inirdkb(const char *src, const INITBL *i |
| } | } |
| static void | static void |
| inirdsnddrv(const char *src, const INITBL *ini) | inirdsnddrv(const char *src, INITBL *ini) |
| { | { |
| *(UINT8 *)ini->value = snddrv_drv2num(src); | *(UINT8 *)ini->value = snddrv_drv2num(src); |
| } | } |
| static void | static void |
| inirdinterp(const char *src, const INITBL *ini) | inirdinterp(const char *src, INITBL *ini) |
| { | { |
| if (!milstr_cmp(src, "NEAREST")) { | if (!milstr_cmp(src, "NEAREST")) { |
| Line 202 static BOOL | Line 202 static BOOL |
| inireadcb(void *arg, const char *para, const char *key, const char *data) | inireadcb(void *arg, const char *para, const char *key, const char *data) |
| { | { |
| char work[512]; | char work[512]; |
| const INITBL *p; | INITBL *p; |
| BOOL rv; | BOOL rv; |
| if (arg == NULL) { | if (arg == NULL) { |
| Line 299 inireadcb(void *arg, const char *para, c | Line 299 inireadcb(void *arg, const char *para, c |
| } | } |
| void | void |
| ini_read(const char *path, const char *title, const INITBL *tbl, UINT count) | ini_read(const char *path, const char *title, INITBL *tbl, UINT count) |
| { | { |
| _INIARG iniarg; | _INIARG iniarg; |
| Line 376 iniwrinterp(UINT8 interp) | Line 376 iniwrinterp(UINT8 interp) |
| static BOOL read_iniread_flag(const INITBL *p); | static BOOL read_iniread_flag(const INITBL *p); |
| void | void |
| ini_write(const char *path, const char *title, const INITBL *tbl, UINT count, BOOL create) | ini_write(const char *path, const char *title, INITBL *tbl, UINT count, BOOL create) |
| { | { |
| char work[512]; | char work[512]; |
| const INITBL *p; | INITBL *p; |
| const INITBL *pterm; | INITBL *pterm; |
| FILEH fh; | FILEH fh; |
| BOOL set; | BOOL set; |
| fh = FILEH_INVALID; | fh = FILEH_INVALID; |
| if (!create) { | if (!create) { |
| Line 425 ini_write(const char *path, const char * | Line 425 ini_write(const char *path, const char * |
| break; | break; |
| case INITYPE_SINT8: | case INITYPE_SINT8: |
| SPRINTF(work, "%d", *((char *)p->value)); | g_snprintf(work, sizeof(work), "%d", *((char *)p->value)); |
| break; | break; |
| case INITYPE_SINT16: | case INITYPE_SINT16: |
| SPRINTF(work, "%d", *((SINT16 *)p->value)); | g_snprintf(work, sizeof(work), "%d", *((SINT16 *)p->value)); |
| break; | break; |
| case INITYPE_SINT32: | case INITYPE_SINT32: |
| SPRINTF(work, "%d", *((SINT32 *)p->value)); | g_snprintf(work, sizeof(work), "%d", *((SINT32 *)p->value)); |
| break; | break; |
| case INITYPE_UINT8: | case INITYPE_UINT8: |
| SPRINTF(work, "%u", *((BYTE *)p->value)); | g_snprintf(work, sizeof(work), "%u", *((BYTE *)p->value)); |
| break; | break; |
| case INITYPE_UINT16: | case INITYPE_UINT16: |
| SPRINTF(work, "%u", *((UINT16 *)p->value)); | g_snprintf(work, sizeof(work), "%u", *((UINT16 *)p->value)); |
| break; | break; |
| case INITYPE_UINT32: | case INITYPE_UINT32: |
| SPRINTF(work, "%u", *((UINT32 *)p->value)); | g_snprintf(work, sizeof(work), "%u", *((UINT32 *)p->value)); |
| break; | break; |
| case INITYPE_HEX8: | case INITYPE_HEX8: |
| SPRINTF(work, "%x", *((BYTE *)p->value)); | g_snprintf(work, sizeof(work), "%x", *((BYTE *)p->value)); |
| break; | break; |
| case INITYPE_HEX16: | case INITYPE_HEX16: |
| SPRINTF(work, "%x", *((UINT16 *)p->value)); | g_snprintf(work, sizeof(work), "%x", *((UINT16 *)p->value)); |
| break; | break; |
| case INITYPE_HEX32: | case INITYPE_HEX32: |
| SPRINTF(work, "%x", *((UINT32 *)p->value)); | g_snprintf(work, sizeof(work), "%x", *((UINT32 *)p->value)); |
| break; | break; |
| case INITYPE_KB: | case INITYPE_KB: |
| Line 468 ini_write(const char *path, const char * | Line 468 ini_write(const char *path, const char * |
| break; | break; |
| case INITYPE_SNDDRV: | case INITYPE_SNDDRV: |
| SPRINTF(work, "%s", snddrv_num2drv(*(UINT8 *)p->value)); | g_snprintf(work, sizeof(work), "%s", snddrv_num2drv(*(UINT8 *)p->value)); |
| break; | break; |
| case INITYPE_INTERP: | case INITYPE_INTERP: |
| SPRINTF(work, "%s", iniwrinterp(*(UINT8 *)p->value)); | g_snprintf(work, sizeof(work), "%s", iniwrinterp(*(UINT8 *)p->value)); |
| break; | break; |
| default: | default: |
| Line 491 ini_write(const char *path, const char * | Line 491 ini_write(const char *path, const char * |
| file_close(fh); | file_close(fh); |
| } | } |
| extern char modulefile[]; | static const char ini_title[] = |
| #if !defined(CPUCORE_IA32) | |
| static const char ini_title[] = "NekoProjectII"; | "NekoProjectII"; |
| #else | |
| "NekoProjectII_IA32"; | |
| #endif | |
| enum { | enum { |
| INIRO_STR = INIFLAG_RO | INITYPE_STR, | INIRO_STR = INIFLAG_RO | INITYPE_STR, |
| Line 509 enum { | Line 512 enum { |
| INIRO_KB = INIFLAG_RO | INITYPE_KB | INIRO_KB = INIFLAG_RO | INITYPE_KB |
| }; | }; |
| static const INITBL iniitem[] = { | static INITBL iniitem[] = { |
| {"np2title", INIRO_STR, np2oscfg.titles, sizeof(np2oscfg.titles)}, | {"np2title", INIRO_STR, np2oscfg.titles, sizeof(np2oscfg.titles)}, |
| {"paddingx", INIROMAX_SINT32, &np2oscfg.paddingx, 32}, | {"paddingx", INIROMAX_SINT32, &np2oscfg.paddingx, 32}, |
| {"paddingy", INIROMAX_SINT32, &np2oscfg.paddingy, 32}, | {"paddingy", INIROMAX_SINT32, &np2oscfg.paddingy, 32}, |
| Line 518 static const INITBL iniitem[] = { | Line 521 static const INITBL iniitem[] = { |
| {"HDfolder", INITYPE_STR, hddfolder, MAX_PATH}, | {"HDfolder", INITYPE_STR, hddfolder, MAX_PATH}, |
| {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, | {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, |
| {"fontfile", INITYPE_STR, np2cfg.fontfile, MAX_PATH}, | {"fontfile", INITYPE_STR, np2cfg.fontfile, MAX_PATH}, |
| {"biospath", INITYPE_STR, np2cfg.biospath, MAX_PATH}, | {"biospath", INIRO_STR, np2cfg.biospath, MAX_PATH}, |
| {"hdrvroot", INIRO_STR, np2cfg.hdrvroot, MAX_PATH}, | {"hdrvroot", INIRO_STR, np2cfg.hdrvroot, MAX_PATH}, |
| {"hdrv_acc", INIRO_UINT8, &np2cfg.hdrvacc, 0}, | {"hdrv_acc", INIRO_UINT8, &np2cfg.hdrvacc, 0}, |
| Line 628 static const INITBL iniitem[] = { | Line 631 static const INITBL iniitem[] = { |
| {"com3mmdl", INITYPE_STR, np2oscfg.com[2].mdl, 64}, | {"com3mmdl", INITYPE_STR, np2oscfg.com[2].mdl, 64}, |
| {"com3mdef", INITYPE_STR, np2oscfg.com[2].def, MAX_PATH}, | {"com3mdef", INITYPE_STR, np2oscfg.com[2].def, MAX_PATH}, |
| #if defined(SUPPORT_RESUME) | |
| {"e_resume", INITYPE_BOOL, &np2oscfg.resume, 0}, | {"e_resume", INITYPE_BOOL, &np2oscfg.resume, 0}, |
| #endif | |
| #if defined(SUPPORT_STATSAVE) | |
| {"STATSAVE", INIRO_BOOL, &np2oscfg.statsave, 0}, | {"STATSAVE", INIRO_BOOL, &np2oscfg.statsave, 0}, |
| #endif | |
| #if defined(GCC_CPU_ARCH_IA32) | #if defined(GCC_CPU_ARCH_IA32) |
| {"nousemmx", INITYPE_BOOL, &np2oscfg.disablemmx, 0}, | {"nousemmx", INITYPE_BOOL, &np2oscfg.disablemmx, 0}, |
| #endif | #endif |
| Line 639 static const INITBL iniitem[] = { | Line 646 static const INITBL iniitem[] = { |
| {"jast_snd", INITYPE_BOOL, &np2oscfg.jastsnd, 0}, | {"jast_snd", INITYPE_BOOL, &np2oscfg.jastsnd, 0}, |
| {"sounddrv", INITYPE_SNDDRV, &np2oscfg.snddrv, 0}, | {"sounddrv", INITYPE_SNDDRV, &np2oscfg.snddrv, 0}, |
| {"audiodev", INITYPE_STR, &np2oscfg.audiodev, MAX_PATH}, | |
| {"MIDIOUTd", INITYPE_STR, &np2oscfg.MIDIDEV[0], MAX_PATH}, | {"MIDIOUTd", INITYPE_STR, &np2oscfg.MIDIDEV[0], MAX_PATH}, |
| {"MIDIIN_d", INITYPE_STR, &np2oscfg.MIDIDEV[1], MAX_PATH}, | {"MIDIIN_d", INITYPE_STR, &np2oscfg.MIDIDEV[1], MAX_PATH}, |
| {"MIDIWAIT", INITYPE_UINT32, &np2oscfg.MIDIWAIT, 0}, | {"MIDIWAIT", INITYPE_UINT32, &np2oscfg.MIDIWAIT, 0}, |
| {"dinterp_", INITYPE_INTERP, &np2oscfg.drawinterp, 0}, | {"dinterp_", INITYPE_INTERP, &np2oscfg.drawinterp, 0}, |
| {"fullscrn", INITYPE_UINT32, &ignore_fullscreen_mode,0}, | |
| {"F11_KEY_", INITYPE_UINT8, &np2oscfg.F11KEY, 0}, | {"F11_KEY_", INITYPE_UINT8, &np2oscfg.F11KEY, 0}, |
| {"READONLY", INIRO_BOOL, &np2oscfg.cfgreadonly, 0}, | |
| {"I286SAVE", INIRO_BOOL, &np2oscfg.I286SAVE, 0}, | {"I286SAVE", INIRO_BOOL, &np2oscfg.I286SAVE, 0}, |
| }; | }; |
| Line 661 calc_index(const INITBL *p) | Line 669 calc_index(const INITBL *p) |
| UINT idx; | UINT idx; |
| if (p) { | if (p) { |
| offset = (char *)p - (char *)iniitem; | offset = (const char *)p - (const char *)iniitem; |
| if ((offset % sizeof(iniitem[0])) == 0) { | if ((offset % sizeof(iniitem[0])) == 0) { |
| idx = offset / sizeof(iniitem[0]); | idx = offset / sizeof(iniitem[0]); |
| if (idx < INIITEMS) { | if (idx < INIITEMS) { |