コード例 #1
0
ファイル: snd_ogg.c プロジェクト: ZwS/qudos
/*
==========
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;
	}
}
コード例 #2
0
ファイル: ogg.c プロジェクト: tomgreen66/yquake2
/*
 * 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;
	}
}