Okay, here's the code to the new controller hack. I used "horizontal" instead of "horizont" but that can be easily changed.
The code in the attachment should be added to config.c.
Before the beginning of the new code, the code reads:
case FILE_TYPE_CONTROLLER:
{
const char *srcfile = strrchr(Machine->gamedrv->source_file, '/');
if (!srcfile) srcfile = strrchr(Machine->gamedrv->source_file, '\\');
if (!srcfile) srcfile = strrchr(Machine->gamedrv->source_file, ':');
if (!srcfile) srcfile = Machine->gamedrv->source_file;
else srcfile++;
curfile.data.ignore_game =
(strcmp(attributes[attr + 1], "default") != 0 &&
strcmp(attributes[attr + 1], Machine->gamedrv->name) != 0 &&
strcmp(attributes[attr + 1], srcfile) != 0 &&
(Machine->gamedrv->clone_of == NULL || strcmp(attributes[attr + 1], Machine->gamedrv->clone_of->name) != 0) &&
(Machine->gamedrv->clone_of == NULL || Machine->gamedrv->clone_of->clone_of == NULL || strcmp(attributes[attr + 1], Machine->gamedrv->clone_of->clone_of->name) != 0));
After the end of the new code, the code should read:
if (DEBUG_CONFIG && !curfile.data.ignore_game)
printf("Entry: %s -- processing\n", attributes[attr + 1]);
break;
}
The code in this attachment includes both these edge pieces, so some cut and paste is necessary.
I'm sure it will not be difficult to construct a patch.
Regards,
Buddabing