static void rmChgRaceScreen(void *vprc) { void *prevScr = rmScrHdle; tRaceCall *prc = (tRaceCall*)vprc; rmRaceResults(prc->prevHdle, prc->info, prc->start); GfuiScreenRelease(prevScr); }
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; } }
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