/* ========== OGG_ParseCmd Parse play controls. ========== */ void OGG_ParseCmd(char *arg) { int n; switch (arg[0]) { case '#': n = atoi(arg+1) - 1; OGG_Open(ABS, n); break; case '?': OGG_Open(ABS, rand() % ogg_numfiles); break; case '>': if (strlen(arg) > 1) OGG_Open(REL, atoi(arg+1)); else OGG_Open(REL, 1); break; case '<': if (strlen(arg) > 1) OGG_Open(REL, -atoi(arg+1)); else OGG_Open(REL, -1); break; default: OGG_OpenName(arg); break; } }
/* * Parse play controls. */ void OGG_ParseCmd(char *arg) { int n; cvar_t *ogg_enable; ogg_enable = Cvar_Get("ogg_enable", "1", CVAR_ARCHIVE); switch (arg[0]) { case '#': n = (int)strtol(arg + 1, (char **)NULL, 10) - 1; OGG_Open(ABS, n); break; case '?': OGG_Open(ABS, randk() % ogg_numfiles); break; case '>': if (strlen(arg) > 1) { OGG_Open(REL, (int)strtol(arg + 1, (char **)NULL, 10)); } else { OGG_Open(REL, 1); } break; case '<': if (strlen(arg) > 1) { OGG_Open(REL, -(int)strtol(arg + 1, (char **)NULL, 10)); } else { OGG_Open(REL, -1); } break; default: if (ogg_enable->value != 0) { OGG_OpenName(arg); } break; } }