Seperated configuration into global and per-machine config files.
This commit is contained in:
parent
4b176b8789
commit
3356e7fdf0
10 changed files with 211 additions and 191 deletions
67
src/config.c
67
src/config.c
|
|
@ -13,7 +13,8 @@ typedef struct list_t
|
||||||
struct list_t *next;
|
struct list_t *next;
|
||||||
} list_t;
|
} list_t;
|
||||||
|
|
||||||
static list_t config_head;
|
static list_t global_config_head;
|
||||||
|
static list_t machine_config_head;
|
||||||
|
|
||||||
typedef struct section_t
|
typedef struct section_t
|
||||||
{
|
{
|
||||||
|
|
@ -43,13 +44,14 @@ typedef struct entry_t
|
||||||
(new)->next = NULL; \
|
(new)->next = NULL; \
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_dump()
|
void config_dump(int is_global)
|
||||||
{
|
{
|
||||||
section_t *current_section;
|
section_t *current_section;
|
||||||
|
list_t *head = is_global ? &global_config_head : &machine_config_head;
|
||||||
|
|
||||||
pclog("Config data :\n");
|
pclog("Config data :\n");
|
||||||
|
|
||||||
current_section = (section_t *)config_head.next;
|
current_section = (section_t *)head->next;
|
||||||
|
|
||||||
while (current_section)
|
while (current_section)
|
||||||
{
|
{
|
||||||
|
|
@ -70,10 +72,11 @@ void config_dump()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_free()
|
void config_free(int is_global)
|
||||||
{
|
{
|
||||||
section_t *current_section;
|
section_t *current_section;
|
||||||
current_section = (section_t *)config_head.next;
|
list_t *head = is_global ? &global_config_head : &machine_config_head;
|
||||||
|
current_section = (section_t *)head->next;
|
||||||
|
|
||||||
while (current_section)
|
while (current_section)
|
||||||
{
|
{
|
||||||
|
|
@ -95,16 +98,17 @@ void config_free()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_load(char *fn)
|
void config_load(int is_global, char *fn)
|
||||||
{
|
{
|
||||||
FILE *f = fopen(fn, "rt");
|
FILE *f = fopen(fn, "rt");
|
||||||
section_t *current_section;
|
section_t *current_section;
|
||||||
|
list_t *head = is_global ? &global_config_head : &machine_config_head;
|
||||||
|
|
||||||
memset(&config_head, 0, sizeof(list_t));
|
memset(head, 0, sizeof(list_t));
|
||||||
|
|
||||||
current_section = malloc(sizeof(section_t));
|
current_section = malloc(sizeof(section_t));
|
||||||
memset(current_section, 0, sizeof(section_t));
|
memset(current_section, 0, sizeof(section_t));
|
||||||
list_add(¤t_section->list, &config_head);
|
list_add(¤t_section->list, head);
|
||||||
|
|
||||||
if (!f)
|
if (!f)
|
||||||
return;
|
return;
|
||||||
|
|
@ -144,7 +148,7 @@ void config_load(char *fn)
|
||||||
new_section = malloc(sizeof(section_t));
|
new_section = malloc(sizeof(section_t));
|
||||||
memset(new_section, 0, sizeof(section_t));
|
memset(new_section, 0, sizeof(section_t));
|
||||||
strncpy(new_section->name, name, 256);
|
strncpy(new_section->name, name, 256);
|
||||||
list_add(&new_section->list, &config_head);
|
list_add(&new_section->list, head);
|
||||||
|
|
||||||
current_section = new_section;
|
current_section = new_section;
|
||||||
|
|
||||||
|
|
@ -187,7 +191,7 @@ void config_load(char *fn)
|
||||||
|
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
config_dump();
|
config_dump(is_global);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -198,12 +202,13 @@ void config_new()
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
static section_t *find_section(char *name)
|
static section_t *find_section(char *name, int is_global)
|
||||||
{
|
{
|
||||||
section_t *current_section;
|
section_t *current_section;
|
||||||
char blank[] = "";
|
char blank[] = "";
|
||||||
|
list_t *head = is_global ? &global_config_head : &machine_config_head;
|
||||||
current_section = (section_t *)config_head.next;
|
|
||||||
|
current_section = (section_t *)head->next;
|
||||||
if (!name)
|
if (!name)
|
||||||
name = blank;
|
name = blank;
|
||||||
|
|
||||||
|
|
@ -233,13 +238,14 @@ static entry_t *find_entry(section_t *section, char *name)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static section_t *create_section(char *name)
|
static section_t *create_section(char *name, int is_global)
|
||||||
{
|
{
|
||||||
section_t *new_section = malloc(sizeof(section_t));
|
section_t *new_section = malloc(sizeof(section_t));
|
||||||
|
list_t *head = is_global ? &global_config_head : &machine_config_head;
|
||||||
|
|
||||||
memset(new_section, 0, sizeof(section_t));
|
memset(new_section, 0, sizeof(section_t));
|
||||||
strncpy(new_section->name, name, 256);
|
strncpy(new_section->name, name, 256);
|
||||||
list_add(&new_section->list, &config_head);
|
list_add(&new_section->list, head);
|
||||||
|
|
||||||
return new_section;
|
return new_section;
|
||||||
}
|
}
|
||||||
|
|
@ -254,13 +260,13 @@ static entry_t *create_entry(section_t *section, char *name)
|
||||||
return new_entry;
|
return new_entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
int config_get_int(char *head, char *name, int def)
|
int config_get_int(int is_global, char *head, char *name, int def)
|
||||||
{
|
{
|
||||||
section_t *section;
|
section_t *section;
|
||||||
entry_t *entry;
|
entry_t *entry;
|
||||||
int value;
|
int value;
|
||||||
|
|
||||||
section = find_section(head);
|
section = find_section(head, is_global);
|
||||||
|
|
||||||
if (!section)
|
if (!section)
|
||||||
return def;
|
return def;
|
||||||
|
|
@ -275,12 +281,12 @@ int config_get_int(char *head, char *name, int def)
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *config_get_string(char *head, char *name, char *def)
|
char *config_get_string(int is_global, char *head, char *name, char *def)
|
||||||
{
|
{
|
||||||
section_t *section;
|
section_t *section;
|
||||||
entry_t *entry;
|
entry_t *entry;
|
||||||
|
|
||||||
section = find_section(head);
|
section = find_section(head, is_global);
|
||||||
|
|
||||||
if (!section)
|
if (!section)
|
||||||
return def;
|
return def;
|
||||||
|
|
@ -293,15 +299,15 @@ char *config_get_string(char *head, char *name, char *def)
|
||||||
return entry->data;
|
return entry->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_set_int(char *head, char *name, int val)
|
void config_set_int(int is_global, char *head, char *name, int val)
|
||||||
{
|
{
|
||||||
section_t *section;
|
section_t *section;
|
||||||
entry_t *entry;
|
entry_t *entry;
|
||||||
|
|
||||||
section = find_section(head);
|
section = find_section(head, is_global);
|
||||||
|
|
||||||
if (!section)
|
if (!section)
|
||||||
section = create_section(head);
|
section = create_section(head, is_global);
|
||||||
|
|
||||||
entry = find_entry(section, name);
|
entry = find_entry(section, name);
|
||||||
|
|
||||||
|
|
@ -311,15 +317,15 @@ void config_set_int(char *head, char *name, int val)
|
||||||
sprintf(entry->data, "%i", val);
|
sprintf(entry->data, "%i", val);
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_set_string(char *head, char *name, char *val)
|
void config_set_string(int is_global, char *head, char *name, char *val)
|
||||||
{
|
{
|
||||||
section_t *section;
|
section_t *section;
|
||||||
entry_t *entry;
|
entry_t *entry;
|
||||||
|
|
||||||
section = find_section(head);
|
section = find_section(head, is_global);
|
||||||
|
|
||||||
if (!section)
|
if (!section)
|
||||||
section = create_section(head);
|
section = create_section(head, is_global);
|
||||||
|
|
||||||
entry = find_entry(section, name);
|
entry = find_entry(section, name);
|
||||||
|
|
||||||
|
|
@ -370,12 +376,13 @@ char *get_extension(char *s)
|
||||||
return &s[c+1];
|
return &s[c+1];
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_save(char *fn)
|
void config_save(int is_global, char *fn)
|
||||||
{
|
{
|
||||||
FILE *f = fopen(fn, "wt");
|
FILE *f = fopen(fn, "wt");
|
||||||
section_t *current_section;
|
section_t *current_section;
|
||||||
|
list_t *head = is_global ? &global_config_head : &machine_config_head;
|
||||||
current_section = (section_t *)config_head.next;
|
|
||||||
|
current_section = (section_t *)head->next;
|
||||||
|
|
||||||
while (current_section)
|
while (current_section)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
19
src/config.h
19
src/config.h
|
|
@ -1,16 +1,19 @@
|
||||||
int config_get_int(char *head, char *name, int def);
|
int config_get_int(int is_global, char *head, char *name, int def);
|
||||||
char *config_get_string(char *head, char *name, char *def);
|
char *config_get_string(int is_global, char *head, char *name, char *def);
|
||||||
void config_set_int(char *head, char *name, int val);
|
void config_set_int(int is_global, char *head, char *name, int val);
|
||||||
void config_set_string(char *head, char *name, char *val);
|
void config_set_string(int is_global, char *head, char *name, char *val);
|
||||||
|
|
||||||
char *get_filename(char *s);
|
char *get_filename(char *s);
|
||||||
void append_filename(char *dest, char *s1, char *s2, int size);
|
void append_filename(char *dest, char *s1, char *s2, int size);
|
||||||
void put_backslash(char *s);
|
void put_backslash(char *s);
|
||||||
char *get_extension(char *s);
|
char *get_extension(char *s);
|
||||||
|
|
||||||
void config_load(char *fn);
|
void config_load(int is_global, char *fn);
|
||||||
void config_save(char *fn);
|
void config_save(int is_global, char *fn);
|
||||||
void config_dump();
|
void config_dump(int is_global);
|
||||||
void config_free();
|
void config_free(int is_global);
|
||||||
|
|
||||||
extern char config_file_default[256];
|
extern char config_file_default[256];
|
||||||
|
|
||||||
|
#define CFG_MACHINE 0
|
||||||
|
#define CFG_GLOBAL 1
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ int device_get_config_int(char *s)
|
||||||
while (config->type != -1)
|
while (config->type != -1)
|
||||||
{
|
{
|
||||||
if (!strcmp(s, config->name))
|
if (!strcmp(s, config->name))
|
||||||
return config_get_int(current_device->name, s, config->default_int);
|
return config_get_int(CFG_MACHINE, current_device->name, s, config->default_int);
|
||||||
|
|
||||||
config++;
|
config++;
|
||||||
}
|
}
|
||||||
|
|
@ -135,7 +135,7 @@ char *device_get_config_string(char *s)
|
||||||
while (config->type != -1)
|
while (config->type != -1)
|
||||||
{
|
{
|
||||||
if (!strcmp(s, config->name))
|
if (!strcmp(s, config->name))
|
||||||
return config_get_string(current_device->name, s, config->default_string);
|
return config_get_string(CFG_MACHINE, current_device->name, s, config->default_string);
|
||||||
|
|
||||||
config++;
|
config++;
|
||||||
}
|
}
|
||||||
|
|
@ -155,7 +155,7 @@ int model_get_config_int(char *s)
|
||||||
while (config->type != -1)
|
while (config->type != -1)
|
||||||
{
|
{
|
||||||
if (!strcmp(s, config->name))
|
if (!strcmp(s, config->name))
|
||||||
return config_get_int(device->name, s, config->default_int);
|
return config_get_int(CFG_MACHINE, device->name, s, config->default_int);
|
||||||
|
|
||||||
config++;
|
config++;
|
||||||
}
|
}
|
||||||
|
|
@ -175,7 +175,7 @@ char *model_get_config_string(char *s)
|
||||||
while (config->type != -1)
|
while (config->type != -1)
|
||||||
{
|
{
|
||||||
if (!strcmp(s, config->name))
|
if (!strcmp(s, config->name))
|
||||||
return config_get_string(device->name, s, config->default_string);
|
return config_get_string(CFG_MACHINE, device->name, s, config->default_string);
|
||||||
|
|
||||||
config++;
|
config++;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
265
src/pc.c
265
src/pc.c
|
|
@ -579,19 +579,37 @@ void loadconfig(char *fn)
|
||||||
{
|
{
|
||||||
int c, d;
|
int c, d;
|
||||||
char s[512];
|
char s[512];
|
||||||
|
char global_config_file[512];
|
||||||
char *p;
|
char *p;
|
||||||
|
|
||||||
|
append_filename(global_config_file, pcempath, "pcem.cfg", 511);
|
||||||
|
|
||||||
|
config_load(CFG_GLOBAL, global_config_file);
|
||||||
|
|
||||||
if (!fn)
|
if (!fn)
|
||||||
config_load(config_file_default);
|
config_load(CFG_MACHINE, config_file_default);
|
||||||
else
|
else
|
||||||
config_load(fn);
|
config_load(CFG_MACHINE, fn);
|
||||||
|
|
||||||
|
vid_resize = config_get_int(CFG_GLOBAL, NULL, "vid_resize", 0);
|
||||||
|
video_force_aspect_ration = config_get_int(CFG_GLOBAL, NULL, "vid_force_aspect_ratio", 0);
|
||||||
|
vid_disc_indicator = config_get_int(CFG_GLOBAL, NULL, "vid_disc_indicator", 1);
|
||||||
|
vid_api = config_get_int(CFG_GLOBAL, NULL, "vid_api", 0);
|
||||||
|
video_fullscreen_scale = config_get_int(CFG_GLOBAL, NULL, "video_fullscreen_scale", 0);
|
||||||
|
video_fullscreen_first = config_get_int(CFG_GLOBAL, NULL, "video_fullscreen_first", 1);
|
||||||
|
|
||||||
|
window_w = config_get_int(CFG_GLOBAL, NULL, "window_w", 0);
|
||||||
|
window_h = config_get_int(CFG_GLOBAL, NULL, "window_h", 0);
|
||||||
|
window_x = config_get_int(CFG_GLOBAL, NULL, "window_x", 0);
|
||||||
|
window_y = config_get_int(CFG_GLOBAL, NULL, "window_y", 0);
|
||||||
|
window_remember = config_get_int(CFG_GLOBAL, NULL, "window_remember", 0);
|
||||||
|
|
||||||
GAMEBLASTER = config_get_int(NULL, "gameblaster", 0);
|
GAMEBLASTER = config_get_int(CFG_MACHINE, NULL, "gameblaster", 0);
|
||||||
GUS = config_get_int(NULL, "gus", 0);
|
GUS = config_get_int(CFG_MACHINE, NULL, "gus", 0);
|
||||||
SSI2001 = config_get_int(NULL, "ssi2001", 0);
|
SSI2001 = config_get_int(CFG_MACHINE, NULL, "ssi2001", 0);
|
||||||
voodoo_enabled = config_get_int(NULL, "voodoo", 0);
|
voodoo_enabled = config_get_int(CFG_MACHINE, NULL, "voodoo", 0);
|
||||||
|
|
||||||
p = (char *)config_get_string(NULL, "model", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "model", "");
|
||||||
if (p)
|
if (p)
|
||||||
model = model_get_model_from_internal_name(p);
|
model = model_get_model_from_internal_name(p);
|
||||||
else
|
else
|
||||||
|
|
@ -601,224 +619,217 @@ void loadconfig(char *fn)
|
||||||
model = model_count() - 1;
|
model = model_count() - 1;
|
||||||
|
|
||||||
romset = model_getromset();
|
romset = model_getromset();
|
||||||
cpu_manufacturer = config_get_int(NULL, "cpu_manufacturer", 0);
|
cpu_manufacturer = config_get_int(CFG_MACHINE, NULL, "cpu_manufacturer", 0);
|
||||||
cpu = config_get_int(NULL, "cpu", 0);
|
cpu = config_get_int(CFG_MACHINE, NULL, "cpu", 0);
|
||||||
cpu_use_dynarec = config_get_int(NULL, "cpu_use_dynarec", 0);
|
cpu_use_dynarec = config_get_int(CFG_MACHINE, NULL, "cpu_use_dynarec", 0);
|
||||||
cpu_waitstates = config_get_int(NULL, "cpu_waitstates", 0);
|
cpu_waitstates = config_get_int(CFG_MACHINE, NULL, "cpu_waitstates", 0);
|
||||||
|
|
||||||
p = (char *)config_get_string(NULL, "gfxcard", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "gfxcard", "");
|
||||||
if (p)
|
if (p)
|
||||||
gfxcard = video_get_video_from_internal_name(p);
|
gfxcard = video_get_video_from_internal_name(p);
|
||||||
else
|
else
|
||||||
gfxcard = 0;
|
gfxcard = 0;
|
||||||
video_speed = config_get_int(NULL, "video_speed", 3);
|
video_speed = config_get_int(CFG_MACHINE, NULL, "video_speed", 3);
|
||||||
p = (char *)config_get_string(NULL, "sndcard", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "sndcard", "");
|
||||||
if (p)
|
if (p)
|
||||||
sound_card_current = sound_card_get_from_internal_name(p);
|
sound_card_current = sound_card_get_from_internal_name(p);
|
||||||
else
|
else
|
||||||
sound_card_current = 0;
|
sound_card_current = 0;
|
||||||
|
|
||||||
p = (char *)config_get_string(NULL, "disc_a", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "disc_a", "");
|
||||||
if (p) strcpy(discfns[0], p);
|
if (p) strcpy(discfns[0], p);
|
||||||
else strcpy(discfns[0], "");
|
else strcpy(discfns[0], "");
|
||||||
|
|
||||||
p = (char *)config_get_string(NULL, "disc_b", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "disc_b", "");
|
||||||
if (p) strcpy(discfns[1], p);
|
if (p) strcpy(discfns[1], p);
|
||||||
else strcpy(discfns[1], "");
|
else strcpy(discfns[1], "");
|
||||||
|
|
||||||
p = (char *)config_get_string(NULL, "hdd_controller", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "hdd_controller", "");
|
||||||
if (p)
|
if (p)
|
||||||
strncpy(hdd_controller_name, p, sizeof(hdd_controller_name)-1);
|
strncpy(hdd_controller_name, p, sizeof(hdd_controller_name)-1);
|
||||||
else
|
else
|
||||||
strncpy(hdd_controller_name, "none", sizeof(hdd_controller_name)-1);
|
strncpy(hdd_controller_name, "none", sizeof(hdd_controller_name)-1);
|
||||||
|
|
||||||
mem_size = config_get_int(NULL, "mem_size", 4096);
|
mem_size = config_get_int(CFG_MACHINE, NULL, "mem_size", 4096);
|
||||||
if (mem_size < ((models[model].flags & MODEL_AT) ? models[model].min_ram*1024 : models[model].min_ram))
|
if (mem_size < ((models[model].flags & MODEL_AT) ? models[model].min_ram*1024 : models[model].min_ram))
|
||||||
mem_size = ((models[model].flags & MODEL_AT) ? models[model].min_ram*1024 : models[model].min_ram);
|
mem_size = ((models[model].flags & MODEL_AT) ? models[model].min_ram*1024 : models[model].min_ram);
|
||||||
|
|
||||||
cdrom_drive = config_get_int(NULL, "cdrom_drive", 0);
|
cdrom_drive = config_get_int(CFG_MACHINE, NULL, "cdrom_drive", 0);
|
||||||
cdrom_enabled = config_get_int(NULL, "cdrom_enabled", 0);
|
cdrom_enabled = config_get_int(CFG_MACHINE, NULL, "cdrom_enabled", 0);
|
||||||
cdrom_channel = config_get_int(NULL, "cdrom_channel", 2);
|
cdrom_channel = config_get_int(CFG_MACHINE, NULL, "cdrom_channel", 2);
|
||||||
|
|
||||||
p = (char *)config_get_string(NULL, "cdrom_path", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "cdrom_path", "");
|
||||||
if (p) strcpy(iso_path, p);
|
if (p) strcpy(iso_path, p);
|
||||||
else strcpy(iso_path, "");
|
else strcpy(iso_path, "");
|
||||||
|
|
||||||
vid_resize = config_get_int(NULL, "vid_resize", 0);
|
hdc[0].spt = config_get_int(CFG_MACHINE, NULL, "hdc_sectors", 0);
|
||||||
video_force_aspect_ration = config_get_int(NULL, "vid_force_aspect_ratio", 0);
|
hdc[0].hpc = config_get_int(CFG_MACHINE, NULL, "hdc_heads", 0);
|
||||||
vid_disc_indicator = config_get_int(NULL, "vid_disc_indicator", 1);
|
hdc[0].tracks = config_get_int(CFG_MACHINE, NULL, "hdc_cylinders", 0);
|
||||||
vid_api = config_get_int(NULL, "vid_api", 0);
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "hdc_fn", "");
|
||||||
video_fullscreen_scale = config_get_int(NULL, "video_fullscreen_scale", 0);
|
|
||||||
video_fullscreen_first = config_get_int(NULL, "video_fullscreen_first", 1);
|
|
||||||
|
|
||||||
hdc[0].spt = config_get_int(NULL, "hdc_sectors", 0);
|
|
||||||
hdc[0].hpc = config_get_int(NULL, "hdc_heads", 0);
|
|
||||||
hdc[0].tracks = config_get_int(NULL, "hdc_cylinders", 0);
|
|
||||||
p = (char *)config_get_string(NULL, "hdc_fn", "");
|
|
||||||
if (p) strcpy(ide_fn[0], p);
|
if (p) strcpy(ide_fn[0], p);
|
||||||
else strcpy(ide_fn[0], "");
|
else strcpy(ide_fn[0], "");
|
||||||
hdc[1].spt = config_get_int(NULL, "hdd_sectors", 0);
|
hdc[1].spt = config_get_int(CFG_MACHINE, NULL, "hdd_sectors", 0);
|
||||||
hdc[1].hpc = config_get_int(NULL, "hdd_heads", 0);
|
hdc[1].hpc = config_get_int(CFG_MACHINE, NULL, "hdd_heads", 0);
|
||||||
hdc[1].tracks = config_get_int(NULL, "hdd_cylinders", 0);
|
hdc[1].tracks = config_get_int(CFG_MACHINE, NULL, "hdd_cylinders", 0);
|
||||||
p = (char *)config_get_string(NULL, "hdd_fn", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "hdd_fn", "");
|
||||||
if (p) strcpy(ide_fn[1], p);
|
if (p) strcpy(ide_fn[1], p);
|
||||||
else strcpy(ide_fn[1], "");
|
else strcpy(ide_fn[1], "");
|
||||||
hdc[2].spt = config_get_int(NULL, "hde_sectors", 0);
|
hdc[2].spt = config_get_int(CFG_MACHINE, NULL, "hde_sectors", 0);
|
||||||
hdc[2].hpc = config_get_int(NULL, "hde_heads", 0);
|
hdc[2].hpc = config_get_int(CFG_MACHINE, NULL, "hde_heads", 0);
|
||||||
hdc[2].tracks = config_get_int(NULL, "hde_cylinders", 0);
|
hdc[2].tracks = config_get_int(CFG_MACHINE, NULL, "hde_cylinders", 0);
|
||||||
p = (char *)config_get_string(NULL, "hde_fn", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "hde_fn", "");
|
||||||
if (p) strcpy(ide_fn[2], p);
|
if (p) strcpy(ide_fn[2], p);
|
||||||
else strcpy(ide_fn[2], "");
|
else strcpy(ide_fn[2], "");
|
||||||
hdc[3].spt = config_get_int(NULL, "hdf_sectors", 0);
|
hdc[3].spt = config_get_int(CFG_MACHINE, NULL, "hdf_sectors", 0);
|
||||||
hdc[3].hpc = config_get_int(NULL, "hdf_heads", 0);
|
hdc[3].hpc = config_get_int(CFG_MACHINE, NULL, "hdf_heads", 0);
|
||||||
hdc[3].tracks = config_get_int(NULL, "hdf_cylinders", 0);
|
hdc[3].tracks = config_get_int(CFG_MACHINE, NULL, "hdf_cylinders", 0);
|
||||||
p = (char *)config_get_string(NULL, "hdf_fn", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "hdf_fn", "");
|
||||||
if (p) strcpy(ide_fn[3], p);
|
if (p) strcpy(ide_fn[3], p);
|
||||||
else strcpy(ide_fn[3], "");
|
else strcpy(ide_fn[3], "");
|
||||||
|
|
||||||
fdd_set_type(0, config_get_int(NULL, "drive_a_type", 7));
|
fdd_set_type(0, config_get_int(CFG_MACHINE, NULL, "drive_a_type", 7));
|
||||||
fdd_set_type(1, config_get_int(NULL, "drive_b_type", 7));
|
fdd_set_type(1, config_get_int(CFG_MACHINE, NULL, "drive_b_type", 7));
|
||||||
bpb_disable = config_get_int(NULL, "bpb_disable", 0);
|
bpb_disable = config_get_int(CFG_MACHINE, NULL, "bpb_disable", 0);
|
||||||
|
|
||||||
window_w = config_get_int(NULL, "window_w", 0);
|
joystick_type = config_get_int(CFG_MACHINE, NULL, "joystick_type", 0);
|
||||||
window_h = config_get_int(NULL, "window_h", 0);
|
mouse_type = config_get_int(CFG_MACHINE, NULL, "mouse_type", 0);
|
||||||
window_x = config_get_int(NULL, "window_x", 0);
|
|
||||||
window_y = config_get_int(NULL, "window_y", 0);
|
|
||||||
window_remember = config_get_int(NULL, "window_remember", 0);
|
|
||||||
|
|
||||||
joystick_type = config_get_int(NULL, "joystick_type", 0);
|
|
||||||
mouse_type = config_get_int(NULL, "mouse_type", 0);
|
|
||||||
|
|
||||||
for (c = 0; c < joystick_get_max_joysticks(joystick_type); c++)
|
for (c = 0; c < joystick_get_max_joysticks(joystick_type); c++)
|
||||||
{
|
{
|
||||||
sprintf(s, "joystick_%i_nr", c);
|
sprintf(s, "joystick_%i_nr", c);
|
||||||
joystick_state[c].plat_joystick_nr = config_get_int("Joysticks", s, 0);
|
joystick_state[c].plat_joystick_nr = config_get_int(CFG_MACHINE, "Joysticks", s, 0);
|
||||||
|
|
||||||
if (joystick_state[c].plat_joystick_nr)
|
if (joystick_state[c].plat_joystick_nr)
|
||||||
{
|
{
|
||||||
for (d = 0; d < joystick_get_axis_count(joystick_type); d++)
|
for (d = 0; d < joystick_get_axis_count(joystick_type); d++)
|
||||||
{
|
{
|
||||||
sprintf(s, "joystick_%i_axis_%i", c, d);
|
sprintf(s, "joystick_%i_axis_%i", c, d);
|
||||||
joystick_state[c].axis_mapping[d] = config_get_int("Joysticks", s, d);
|
joystick_state[c].axis_mapping[d] = config_get_int(CFG_MACHINE, "Joysticks", s, d);
|
||||||
}
|
}
|
||||||
for (d = 0; d < joystick_get_button_count(joystick_type); d++)
|
for (d = 0; d < joystick_get_button_count(joystick_type); d++)
|
||||||
{
|
{
|
||||||
sprintf(s, "joystick_%i_button_%i", c, d);
|
sprintf(s, "joystick_%i_button_%i", c, d);
|
||||||
joystick_state[c].button_mapping[d] = config_get_int("Joysticks", s, d);
|
joystick_state[c].button_mapping[d] = config_get_int(CFG_MACHINE, "Joysticks", s, d);
|
||||||
}
|
}
|
||||||
for (d = 0; d < joystick_get_pov_count(joystick_type); d++)
|
for (d = 0; d < joystick_get_pov_count(joystick_type); d++)
|
||||||
{
|
{
|
||||||
sprintf(s, "joystick_%i_pov_%i_x", c, d);
|
sprintf(s, "joystick_%i_pov_%i_x", c, d);
|
||||||
joystick_state[c].pov_mapping[d][0] = config_get_int("Joysticks", s, d);
|
joystick_state[c].pov_mapping[d][0] = config_get_int(CFG_MACHINE, "Joysticks", s, d);
|
||||||
sprintf(s, "joystick_%i_pov_%i_y", c, d);
|
sprintf(s, "joystick_%i_pov_%i_y", c, d);
|
||||||
joystick_state[c].pov_mapping[d][1] = config_get_int("Joysticks", s, d);
|
joystick_state[c].pov_mapping[d][1] = config_get_int(CFG_MACHINE, "Joysticks", s, d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enable_sync = config_get_int(NULL, "enable_sync", 1);
|
enable_sync = config_get_int(CFG_MACHINE, NULL, "enable_sync", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void saveconfig(char *fn)
|
void saveconfig(char *fn)
|
||||||
{
|
{
|
||||||
int c, d;
|
int c, d;
|
||||||
|
char global_config_file[512];
|
||||||
config_set_int(NULL, "gameblaster", GAMEBLASTER);
|
|
||||||
config_set_int(NULL, "gus", GUS);
|
|
||||||
config_set_int(NULL, "ssi2001", SSI2001);
|
|
||||||
config_set_int(NULL, "voodoo", voodoo_enabled);
|
|
||||||
|
|
||||||
config_set_string(NULL, "model", model_get_internal_name());
|
|
||||||
config_set_int(NULL, "cpu_manufacturer", cpu_manufacturer);
|
|
||||||
config_set_int(NULL, "cpu", cpu);
|
|
||||||
config_set_int(NULL, "cpu_use_dynarec", cpu_use_dynarec);
|
|
||||||
config_set_int(NULL, "cpu_waitstates", cpu_waitstates);
|
|
||||||
|
|
||||||
config_set_string(NULL, "gfxcard", video_get_internal_name(video_old_to_new(gfxcard)));
|
|
||||||
config_set_int(NULL, "video_speed", video_speed);
|
|
||||||
config_set_string(NULL, "sndcard", sound_card_get_internal_name(sound_card_current));
|
|
||||||
config_set_int(NULL, "cpu_speed", cpuspeed);
|
|
||||||
config_set_int(NULL, "has_fpu", hasfpu);
|
|
||||||
config_set_string(NULL, "disc_a", discfns[0]);
|
|
||||||
config_set_string(NULL, "disc_b", discfns[1]);
|
|
||||||
config_set_string(NULL, "hdd_controller", hdd_controller_name);
|
|
||||||
|
|
||||||
config_set_int(NULL, "mem_size", mem_size);
|
append_filename(global_config_file, pcempath, "pcem.cfg", 511);
|
||||||
config_set_int(NULL, "cdrom_drive", cdrom_drive);
|
|
||||||
config_set_int(NULL, "cdrom_enabled", cdrom_enabled);
|
config_set_int(CFG_GLOBAL, NULL, "vid_resize", vid_resize);
|
||||||
config_set_int(NULL, "cdrom_channel", cdrom_channel);
|
config_set_int(CFG_GLOBAL, NULL, "vid_force_aspect_ratio", video_force_aspect_ration);
|
||||||
config_set_string(NULL, "cdrom_path", iso_path);
|
config_set_int(CFG_GLOBAL, NULL, "vid_disc_indicator", vid_disc_indicator);
|
||||||
config_set_int(NULL, "vid_resize", vid_resize);
|
config_set_int(CFG_GLOBAL, NULL, "vid_api", vid_api);
|
||||||
config_set_int(NULL, "vid_force_aspect_ratio", video_force_aspect_ration);
|
config_set_int(CFG_GLOBAL, NULL, "video_fullscreen_scale", video_fullscreen_scale);
|
||||||
config_set_int(NULL, "vid_disc_indicator", vid_disc_indicator);
|
config_set_int(CFG_GLOBAL, NULL, "video_fullscreen_first", video_fullscreen_first);
|
||||||
config_set_int(NULL, "vid_api", vid_api);
|
|
||||||
config_set_int(NULL, "video_fullscreen_scale", video_fullscreen_scale);
|
config_set_int(CFG_GLOBAL, NULL, "window_w", window_w);
|
||||||
config_set_int(NULL, "video_fullscreen_first", video_fullscreen_first);
|
config_set_int(CFG_GLOBAL, NULL, "window_h", window_h);
|
||||||
|
config_set_int(CFG_GLOBAL, NULL, "window_x", window_x);
|
||||||
|
config_set_int(CFG_GLOBAL, NULL, "window_y", window_y);
|
||||||
|
config_set_int(CFG_GLOBAL, NULL, "window_remember", window_remember);
|
||||||
|
|
||||||
config_set_int(NULL, "hdc_sectors", hdc[0].spt);
|
config_set_int(CFG_MACHINE, NULL, "gameblaster", GAMEBLASTER);
|
||||||
config_set_int(NULL, "hdc_heads", hdc[0].hpc);
|
config_set_int(CFG_MACHINE, NULL, "gus", GUS);
|
||||||
config_set_int(NULL, "hdc_cylinders", hdc[0].tracks);
|
config_set_int(CFG_MACHINE, NULL, "ssi2001", SSI2001);
|
||||||
config_set_string(NULL, "hdc_fn", ide_fn[0]);
|
config_set_int(CFG_MACHINE, NULL, "voodoo", voodoo_enabled);
|
||||||
config_set_int(NULL, "hdd_sectors", hdc[1].spt);
|
|
||||||
config_set_int(NULL, "hdd_heads", hdc[1].hpc);
|
config_set_string(CFG_MACHINE, NULL, "model", model_get_internal_name());
|
||||||
config_set_int(NULL, "hdd_cylinders", hdc[1].tracks);
|
config_set_int(CFG_MACHINE, NULL, "cpu_manufacturer", cpu_manufacturer);
|
||||||
config_set_string(NULL, "hdd_fn", ide_fn[1]);
|
config_set_int(CFG_MACHINE, NULL, "cpu", cpu);
|
||||||
config_set_int(NULL, "hde_sectors", hdc[2].spt);
|
config_set_int(CFG_MACHINE, NULL, "cpu_use_dynarec", cpu_use_dynarec);
|
||||||
config_set_int(NULL, "hde_heads", hdc[2].hpc);
|
config_set_int(CFG_MACHINE, NULL, "cpu_waitstates", cpu_waitstates);
|
||||||
config_set_int(NULL, "hde_cylinders", hdc[2].tracks);
|
|
||||||
config_set_string(NULL, "hde_fn", ide_fn[2]);
|
config_set_string(CFG_MACHINE, NULL, "gfxcard", video_get_internal_name(video_old_to_new(gfxcard)));
|
||||||
config_set_int(NULL, "hdf_sectors", hdc[3].spt);
|
config_set_int(CFG_MACHINE, NULL, "video_speed", video_speed);
|
||||||
config_set_int(NULL, "hdf_heads", hdc[3].hpc);
|
config_set_string(CFG_MACHINE, NULL, "sndcard", sound_card_get_internal_name(sound_card_current));
|
||||||
config_set_int(NULL, "hdf_cylinders", hdc[3].tracks);
|
config_set_int(CFG_MACHINE, NULL, "cpu_speed", cpuspeed);
|
||||||
config_set_string(NULL, "hdf_fn", ide_fn[3]);
|
config_set_int(CFG_MACHINE, NULL, "has_fpu", hasfpu);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "disc_a", discfns[0]);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "disc_b", discfns[1]);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "hdd_controller", hdd_controller_name);
|
||||||
|
|
||||||
config_set_int(NULL, "drive_a_type", fdd_get_type(0));
|
config_set_int(CFG_MACHINE, NULL, "mem_size", mem_size);
|
||||||
config_set_int(NULL, "drive_b_type", fdd_get_type(1));
|
config_set_int(CFG_MACHINE, NULL, "cdrom_drive", cdrom_drive);
|
||||||
config_set_int(NULL, "bpb_disable", bpb_disable);
|
config_set_int(CFG_MACHINE, NULL, "cdrom_enabled", cdrom_enabled);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "cdrom_channel", cdrom_channel);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "cdrom_path", iso_path);
|
||||||
|
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdc_sectors", hdc[0].spt);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdc_heads", hdc[0].hpc);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdc_cylinders", hdc[0].tracks);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "hdc_fn", ide_fn[0]);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdd_sectors", hdc[1].spt);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdd_heads", hdc[1].hpc);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdd_cylinders", hdc[1].tracks);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "hdd_fn", ide_fn[1]);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hde_sectors", hdc[2].spt);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hde_heads", hdc[2].hpc);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hde_cylinders", hdc[2].tracks);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "hde_fn", ide_fn[2]);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdf_sectors", hdc[3].spt);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdf_heads", hdc[3].hpc);
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "hdf_cylinders", hdc[3].tracks);
|
||||||
|
config_set_string(CFG_MACHINE, NULL, "hdf_fn", ide_fn[3]);
|
||||||
|
|
||||||
config_set_int(NULL, "window_w", window_w);
|
config_set_int(CFG_MACHINE, NULL, "drive_a_type", fdd_get_type(0));
|
||||||
config_set_int(NULL, "window_h", window_h);
|
config_set_int(CFG_MACHINE, NULL, "drive_b_type", fdd_get_type(1));
|
||||||
config_set_int(NULL, "window_x", window_x);
|
config_set_int(CFG_MACHINE, NULL, "bpb_disable", bpb_disable);
|
||||||
config_set_int(NULL, "window_y", window_y);
|
|
||||||
config_set_int(NULL, "window_remember", window_remember);
|
|
||||||
|
|
||||||
config_set_int(NULL, "joystick_type", joystick_type);
|
config_set_int(CFG_MACHINE, NULL, "joystick_type", joystick_type);
|
||||||
config_set_int(NULL, "mouse_type", mouse_type);
|
config_set_int(CFG_MACHINE, NULL, "mouse_type", mouse_type);
|
||||||
|
|
||||||
for (c = 0; c < joystick_get_max_joysticks(joystick_type); c++)
|
for (c = 0; c < joystick_get_max_joysticks(joystick_type); c++)
|
||||||
{
|
{
|
||||||
char s[80];
|
char s[80];
|
||||||
|
|
||||||
sprintf(s, "joystick_%i_nr", c);
|
sprintf(s, "joystick_%i_nr", c);
|
||||||
config_set_int("Joysticks", s, joystick_state[c].plat_joystick_nr);
|
config_set_int(CFG_MACHINE, "Joysticks", s, joystick_state[c].plat_joystick_nr);
|
||||||
|
|
||||||
if (joystick_state[c].plat_joystick_nr)
|
if (joystick_state[c].plat_joystick_nr)
|
||||||
{
|
{
|
||||||
for (d = 0; d < joystick_get_axis_count(joystick_type); d++)
|
for (d = 0; d < joystick_get_axis_count(joystick_type); d++)
|
||||||
{
|
{
|
||||||
sprintf(s, "joystick_%i_axis_%i", c, d);
|
sprintf(s, "joystick_%i_axis_%i", c, d);
|
||||||
config_set_int("Joysticks", s, joystick_state[c].axis_mapping[d]);
|
config_set_int(CFG_MACHINE, "Joysticks", s, joystick_state[c].axis_mapping[d]);
|
||||||
}
|
}
|
||||||
for (d = 0; d < joystick_get_button_count(joystick_type); d++)
|
for (d = 0; d < joystick_get_button_count(joystick_type); d++)
|
||||||
{
|
{
|
||||||
sprintf(s, "joystick_%i_button_%i", c, d);
|
sprintf(s, "joystick_%i_button_%i", c, d);
|
||||||
config_set_int("Joysticks", s, joystick_state[c].button_mapping[d]);
|
config_set_int(CFG_MACHINE, "Joysticks", s, joystick_state[c].button_mapping[d]);
|
||||||
}
|
}
|
||||||
for (d = 0; d < joystick_get_pov_count(joystick_type); d++)
|
for (d = 0; d < joystick_get_pov_count(joystick_type); d++)
|
||||||
{
|
{
|
||||||
sprintf(s, "joystick_%i_pov_%i_x", c, d);
|
sprintf(s, "joystick_%i_pov_%i_x", c, d);
|
||||||
config_set_int("Joysticks", s, joystick_state[c].pov_mapping[d][0]);
|
config_set_int(CFG_MACHINE, "Joysticks", s, joystick_state[c].pov_mapping[d][0]);
|
||||||
sprintf(s, "joystick_%i_pov_%i_y", c, d);
|
sprintf(s, "joystick_%i_pov_%i_y", c, d);
|
||||||
config_set_int("Joysticks", s, joystick_state[c].pov_mapping[d][1]);
|
config_set_int(CFG_MACHINE, "Joysticks", s, joystick_state[c].pov_mapping[d][1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
config_set_int(NULL, "enable_sync", enable_sync);
|
config_set_int(CFG_MACHINE, NULL, "enable_sync", enable_sync);
|
||||||
|
|
||||||
pclog("config_save(%s)\n", config_file_default);
|
pclog("config_save(%s)\n", config_file_default);
|
||||||
if (fn)
|
if (fn)
|
||||||
config_save(fn);
|
config_save(CFG_MACHINE, fn);
|
||||||
else
|
else
|
||||||
config_save(config_file_default);
|
config_save(CFG_MACHINE, config_file_default);
|
||||||
|
|
||||||
|
config_save(CFG_GLOBAL, global_config_file);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ static int settings_sound_to_list[20], settings_list_to_sound[20];
|
||||||
static int settings_mouse_to_list[20], settings_list_to_mouse[20];
|
static int settings_mouse_to_list[20], settings_list_to_mouse[20];
|
||||||
static char *hdd_names[16];
|
static char *hdd_names[16];
|
||||||
|
|
||||||
static int has_been_inited = 0;
|
int has_been_inited = 0;
|
||||||
|
|
||||||
static int mouse_valid(int type, int model)
|
static int mouse_valid(int type, int model)
|
||||||
{
|
{
|
||||||
|
|
@ -815,9 +815,7 @@ static BOOL CALLBACK config_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_open(HWND hwnd, int inited)
|
void config_open(HWND hwnd)
|
||||||
{
|
{
|
||||||
has_been_inited = inited;
|
|
||||||
|
|
||||||
DialogBox(hinstance, TEXT("ConfigureDlg"), hwnd, (DLGPROC)config_dlgproc);
|
DialogBox(hinstance, TEXT("ConfigureDlg"), hwnd, (DLGPROC)config_dlgproc);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,6 @@
|
||||||
#include "resources.h"
|
#include "resources.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
|
|
||||||
static int has_been_inited = 0;
|
|
||||||
|
|
||||||
static void config_list_update(HWND hdlg)
|
static void config_list_update(HWND hdlg)
|
||||||
{
|
{
|
||||||
char s[512];
|
char s[512];
|
||||||
|
|
@ -106,7 +104,7 @@ static BOOL CALLBACK config_selection_dlgproc(HWND hdlg, UINT message, WPARAM wP
|
||||||
|
|
||||||
if (!getsfile(hdlg, "Configuration (*.CFG)\0*.CFG\0All files (*.*)\0*.*\0", "", s))
|
if (!getsfile(hdlg, "Configuration (*.CFG)\0*.CFG\0All files (*.*)\0*.*\0", "", s))
|
||||||
{
|
{
|
||||||
config_open(hdlg, has_been_inited);
|
config_open(hdlg);
|
||||||
|
|
||||||
saveconfig(openfilestring);
|
saveconfig(openfilestring);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
switch (config->type)
|
switch (config->type)
|
||||||
{
|
{
|
||||||
case CONFIG_BINARY:
|
case CONFIG_BINARY:
|
||||||
val_int = config_get_int(config_device->name, config->name, config->default_int);
|
val_int = config_get_int(CFG_MACHINE, config_device->name, config->name, config->default_int);
|
||||||
|
|
||||||
SendMessage(h, BM_SETCHECK, val_int, 0);
|
SendMessage(h, BM_SETCHECK, val_int, 0);
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CONFIG_SELECTION:
|
case CONFIG_SELECTION:
|
||||||
val_int = config_get_int(config_device->name, config->name, config->default_int);
|
val_int = config_get_int(CFG_MACHINE, config_device->name, config->name, config->default_int);
|
||||||
|
|
||||||
c = 0;
|
c = 0;
|
||||||
while (selection->description[0])
|
while (selection->description[0])
|
||||||
|
|
@ -57,7 +57,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CONFIG_MIDI:
|
case CONFIG_MIDI:
|
||||||
val_int = config_get_int(NULL, config->name, config->default_int);
|
val_int = config_get_int(CFG_MACHINE, NULL, config->name, config->default_int);
|
||||||
|
|
||||||
num = midi_get_num_devs();
|
num = midi_get_num_devs();
|
||||||
for (c = 0; c < num; c++)
|
for (c = 0; c < num; c++)
|
||||||
|
|
@ -95,7 +95,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
switch (config->type)
|
switch (config->type)
|
||||||
{
|
{
|
||||||
case CONFIG_BINARY:
|
case CONFIG_BINARY:
|
||||||
val_int = config_get_int(config_device->name, config->name, config->default_int);
|
val_int = config_get_int(CFG_MACHINE, config_device->name, config->name, config->default_int);
|
||||||
|
|
||||||
if (val_int != SendMessage(h, BM_GETCHECK, 0, 0))
|
if (val_int != SendMessage(h, BM_GETCHECK, 0, 0))
|
||||||
changed = 1;
|
changed = 1;
|
||||||
|
|
@ -104,7 +104,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CONFIG_SELECTION:
|
case CONFIG_SELECTION:
|
||||||
val_int = config_get_int(config_device->name, config->name, config->default_int);
|
val_int = config_get_int(CFG_MACHINE, config_device->name, config->name, config->default_int);
|
||||||
|
|
||||||
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
||||||
|
|
||||||
|
|
@ -118,7 +118,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CONFIG_MIDI:
|
case CONFIG_MIDI:
|
||||||
val_int = config_get_int(NULL, config->name, config->default_int);
|
val_int = config_get_int(CFG_MACHINE, NULL, config->name, config->default_int);
|
||||||
|
|
||||||
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
||||||
|
|
||||||
|
|
@ -137,7 +137,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MessageBox(NULL, "This will reset PCem!\nOkay to continue?", "PCem", MB_OKCANCEL) != IDOK)
|
if (has_been_inited && MessageBox(NULL, "This will reset PCem!\nOkay to continue?", "PCem", MB_OKCANCEL) != IDOK)
|
||||||
{
|
{
|
||||||
EndDialog(hdlg, 0);
|
EndDialog(hdlg, 0);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
@ -154,7 +154,7 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
switch (config->type)
|
switch (config->type)
|
||||||
{
|
{
|
||||||
case CONFIG_BINARY:
|
case CONFIG_BINARY:
|
||||||
config_set_int(config_device->name, config->name, SendMessage(h, BM_GETCHECK, 0, 0));
|
config_set_int(CFG_MACHINE, config_device->name, config->name, SendMessage(h, BM_GETCHECK, 0, 0));
|
||||||
|
|
||||||
id++;
|
id++;
|
||||||
break;
|
break;
|
||||||
|
|
@ -163,14 +163,14 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
||||||
for (; c > 0; c--)
|
for (; c > 0; c--)
|
||||||
selection++;
|
selection++;
|
||||||
config_set_int(config_device->name, config->name, selection->value);
|
config_set_int(CFG_MACHINE, config_device->name, config->name, selection->value);
|
||||||
|
|
||||||
id += 2;
|
id += 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CONFIG_MIDI:
|
case CONFIG_MIDI:
|
||||||
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
c = SendMessage(h, CB_GETCURSEL, 0, 0);
|
||||||
config_set_int(NULL, config->name, c);
|
config_set_int(CFG_MACHINE, NULL, config->name, c);
|
||||||
|
|
||||||
id += 2;
|
id += 2;
|
||||||
break;
|
break;
|
||||||
|
|
@ -180,7 +180,8 @@ static BOOL CALLBACK deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam
|
||||||
|
|
||||||
saveconfig(NULL);
|
saveconfig(NULL);
|
||||||
|
|
||||||
resetpchard();
|
if (has_been_inited)
|
||||||
|
resetpchard();
|
||||||
|
|
||||||
EndDialog(hdlg, 0);
|
EndDialog(hdlg, 0);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ void midi_init()
|
||||||
{
|
{
|
||||||
MMRESULT hr;
|
MMRESULT hr;
|
||||||
|
|
||||||
midi_id = config_get_int(NULL, "midi", 0);
|
midi_id = config_get_int(CFG_MACHINE, NULL, "midi", 0);
|
||||||
|
|
||||||
hr = midiOutOpen(&midi_out_device, midi_id, 0,
|
hr = midiOutOpen(&midi_out_device, midi_id, 0,
|
||||||
0, CALLBACK_NULL);
|
0, CALLBACK_NULL);
|
||||||
|
|
|
||||||
|
|
@ -969,7 +969,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
||||||
hdconf_open(hwnd);
|
hdconf_open(hwnd);
|
||||||
break;
|
break;
|
||||||
case IDM_CONFIG:
|
case IDM_CONFIG:
|
||||||
config_open(hwnd, 1);
|
config_open(hwnd);
|
||||||
break;
|
break;
|
||||||
case IDM_STATUS:
|
case IDM_STATUS:
|
||||||
status_open(hwnd);
|
status_open(hwnd);
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ extern int status_is_open;
|
||||||
|
|
||||||
void hdconf_open(HWND hwnd);
|
void hdconf_open(HWND hwnd);
|
||||||
|
|
||||||
void config_open(HWND hwnd, int inited);
|
void config_open(HWND hwnd);
|
||||||
|
|
||||||
int config_selection_open(HWND hwnd, int inited);
|
int config_selection_open(HWND hwnd, int inited);
|
||||||
|
|
||||||
|
|
@ -37,3 +37,5 @@ int getfile(HWND hwnd, char *f, char *fn);
|
||||||
int getsfile(HWND hwnd, char *f, char *fn, char *dir);
|
int getsfile(HWND hwnd, char *f, char *fn, char *dir);
|
||||||
|
|
||||||
extern int pause;
|
extern int pause;
|
||||||
|
|
||||||
|
extern int has_been_inited;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue