예제 #1
0
static void
rmChgQualifScreen(void *vprc)
{
    void		*prevScr = rmScrHdle;
    tRaceCall 	*prc = (tRaceCall*)vprc;

    rmQualifResults(prc->prevHdle, prc->info, prc->title, prc->start);
    GfuiScreenRelease(prevScr);
}
예제 #2
0
void
RmShowResults(void *prevHdle, tRmInfo *info)
{
    switch (info->s->_raceType)
	{
		case RM_TYPE_PRACTICE:
		{
			char buffer[128];
			snprintf(buffer, sizeof(buffer), "%s/%s", info->track->name, RE_SECT_DRIVERS);
			int nCars = GfParmGetEltNb(info->results, buffer);
			bool bQualif = (nCars != 1);

			// Career special case : Practice results show multiple cars,
			// but only 1 driver, so no 'rank' section.
			// TODO: Rather fix the Career code ?
			if (bQualif)
			{
				snprintf(buffer, sizeof(buffer), "%s/%s/%s/%s", info->track->name, RE_SECT_RESULTS, info->_reRaceName, RE_SECT_RANK);
				nCars = (int)GfParmGetEltNb(info->results, buffer);
				GfLogDebug("RmShowResults: %d elements in %s\n", nCars, buffer);
				bQualif = bQualif && (nCars != 0);
			}
			
			if (bQualif)
				rmQualifResults(prevHdle, info, "Practice", 0);
			else
				rmPracticeResults(prevHdle, info, 0);
			break;
		}

		case RM_TYPE_RACE:
			rmRaceResults(prevHdle, info, 0);
			break;
			
		case RM_TYPE_QUALIF:
			rmQualifResults(prevHdle, info, "Qualification", 0);
			break;
    }//switch raceType
}//RmShowResults
예제 #3
0
파일: results.cpp 프로젝트: COHRINT/cuTORCS
void
RmShowResults(void *prevHdle, tRmInfo *info)
{
	switch (info->s->_raceType) {
		case RM_TYPE_PRACTICE:
			rmPracticeResults(prevHdle, info, 0);
			return;

		case RM_TYPE_RACE:
			rmRaceResults(prevHdle, info, 0);
			return;

		case RM_TYPE_QUALIF:
			rmQualifResults(prevHdle, info, 0);
			return;
	}
}