Have you a release date for next release Victor?
I'm expecting pubstats to be updated with the exciting new features like:
* Online PB Split times, timestamp, etc.
* Hotlap options bits (there has changes since 0.5Y) like handicups usage, clutch, no helps (GC, GB...).
* Host bits, like for cruise option and so on... Or car usage bits for new car FBM (I guessed it, and it works). For car classes (S-S and ALL has new car). ;-)
* Racer profile data (Country, realname, birthdate, etc.)
* Team official ID (I currently using a md5 of the team name to index it on my DB).
Some samples of our usage of pubstats at our team website:
http://mktt.info/lfsw/team
http://mktt.info/lfsw/racer
http://mktt.info/lfsw/team/Michael%2BKnight%2BTribute%2BTeam
http://mktt.info/lfsw/racer/kanutron
BTW, I using this PHP arrays. Some one can confirm that are correct?
<?php
$lfsw_cache_cars = array(
'XFG' => array('name'=>'XF GTI' ,'bit'=>1 ,'short_name'=>'XFG'),
'XRG' => array('name'=>'XR GT' ,'bit'=>2 ,'short_name'=>'XRG'),
'XRT' => array('name'=>'XR GT Turbo' ,'bit'=>4 ,'short_name'=>'XRT'),
'RB4' => array('name'=>'RB4 GT' ,'bit'=>8 ,'short_name'=>'RB4'),
'FXO' => array('name'=>'FXO Turbo' ,'bit'=>16 ,'short_name'=>'FXO'),
'LX4' => array('name'=>'LX4' ,'bit'=>32 ,'short_name'=>'LX4'),
'LX6' => array('name'=>'LX6' ,'bit'=>64 ,'short_name'=>'LX6'),
'MRT' => array('name'=>'MTR5' ,'bit'=>128 ,'short_name'=>'MRT'),
'UF1' => array('name'=>'UF 1000' ,'bit'=>256 ,'short_name'=>'UF1'),
'RAC' => array('name'=>'RaceAbout' ,'bit'=>512 ,'short_name'=>'RAC'),
'FZ5' => array('name'=>'FZ50' ,'bit'=>1024 ,'short_name'=>'FZ5'),
'FOX' => array('name'=>'Formula XR' ,'bit'=>2048 ,'short_name'=>'FOX'),
'XFR' => array('name'=>'XF GTR' ,'bit'=>4096 ,'short_name'=>'XFR'),
'UFR' => array('name'=>'UF GTR' ,'bit'=>8192 ,'short_name'=>'UFR'),
'FO8' => array('name'=>'Formula V8' ,'bit'=>16384 ,'short_name'=>'FO8'),
'FXR' => array('name'=>'FXO GTR' ,'bit'=>32768 ,'short_name'=>'FXR'),
'XRR' => array('name'=>'XR GTR' ,'bit'=>65536 ,'short_name'=>'XRR'),
'FZR' => array('name'=>'FZ50 GTR' ,'bit'=>131072 ,'short_name'=>'FZR'),
'BF1' => array('name'=>'BMW Sauber' ,'bit'=>262144 ,'short_name'=>'BF1'),
'FBM' => array('name'=>'Formula BMW' ,'bit'=>524288 ,'short_name'=>'FBM'),
);
$lfsw_cache_cars_classes = array(
'ALL' => array('name'=>'All Cars Allowed' ,'bit'=>1048575 ,'short_name'=>'ALL'),
'STD' => array('name'=>'STD: UF1,XFG,XRG' ,'bit'=>259 ,'short_name'=>'STD'),
'TBO' => array('name'=>'TBO: RB4,FXO,XRT' ,'bit'=>28 ,'short_name'=>'TBO'),
'LRF' => array('name'=>'LRF: LX6,RAC,FZ5' ,'bit'=>1600 ,'short_name'=>'LRF'),
'FWD' => array('name'=>'FWD: UF1,XFG,FXO,UFR,XFR' ,'bit'=>12561 ,'short_name'=>'FWD'),
'GTR' => array('name'=>'GTR: FXR,XRR,FZR' ,'bit'=>229376 ,'short_name'=>'GTR'),
'S-S' => array('name'=>'S-S: MRT,FBM,FOX,FO8,BF1' ,'bit'=>804992 ,'short_name'=>'S-S'),
);
$lfsw_cache_tracks = array(
'BL1' => array('name'=>'Blackwood', 'config'=>'GP Track', 'direction'=>'Standard', 'kms'=>3.3, 'lfsw_code'=>'000', 'short_name'=>'BL1'),
'BL1R'=> array('name'=>'Blackwood', 'config'=>'GP Track', 'direction'=>'Reversed', 'kms'=>3.3, 'lfsw_code'=>'001', 'short_name'=>'BL1R'),
'BL2' => array('name'=>'Blackwood', 'config'=>'Rally Cross', 'direction'=>'Standard', 'kms'=>1.8, 'lfsw_code'=>'010', 'short_name'=>'BL2'),
'BL2R'=> array('name'=>'Blackwood', 'config'=>'Rally Cross', 'direction'=>'Reversed', 'kms'=>1.8, 'lfsw_code'=>'011', 'short_name'=>'BL2R'),
'BL3' => array('name'=>'Blackwood', 'config'=>'Car Park', 'direction'=>'Arena', 'kms'=>0.3, 'lfsw_code'=>'020', 'short_name'=>'BL3'),
'SO1' => array('name'=>'South City', 'config'=>'Classic', 'direction'=>'Standard', 'kms'=>2.0, 'lfsw_code'=>'100', 'short_name'=>'SO1'),
'SO1R'=> array('name'=>'South City', 'config'=>'Classic', 'direction'=>'Reversed', 'kms'=>2.0, 'lfsw_code'=>'101', 'short_name'=>'SO1R'),
'SO2' => array('name'=>'South City', 'config'=>'Sprint Track 1', 'direction'=>'Standard', 'kms'=>2.0, 'lfsw_code'=>'110', 'short_name'=>'SO2'),
'SO2R'=> array('name'=>'South City', 'config'=>'Sprint Track 1', 'direction'=>'Reversed', 'kms'=>2.0, 'lfsw_code'=>'111', 'short_name'=>'SO2R'),
'SO3' => array('name'=>'South City', 'config'=>'Sprint Track 2', 'direction'=>'Standard', 'kms'=>1.3, 'lfsw_code'=>'120', 'short_name'=>'SO3'),
'SO3R'=> array('name'=>'South City', 'config'=>'Sprint Track 2', 'direction'=>'Reversed', 'kms'=>1.3, 'lfsw_code'=>'121', 'short_name'=>'SO3R'),
'SO4' => array('name'=>'South City', 'config'=>'Long', 'direction'=>'Standard', 'kms'=>4.0, 'lfsw_code'=>'130', 'short_name'=>'SO4'),
'SO4R'=> array('name'=>'South City', 'config'=>'Long', 'direction'=>'Reversed', 'kms'=>4.0, 'lfsw_code'=>'131', 'short_name'=>'SO4R'),
'SO5' => array('name'=>'South City', 'config'=>'Town Course', 'direction'=>'Standard', 'kms'=>3.1, 'lfsw_code'=>'140', 'short_name'=>'SO5'),
'SO5R'=> array('name'=>'South City', 'config'=>'Town Course', 'direction'=>'Reversed', 'kms'=>3.1, 'lfsw_code'=>'141', 'short_name'=>'SO5R'),
'SO6' => array('name'=>'South City', 'config'=>'Chicane Route', 'direction'=>'Standard', 'kms'=>2.9, 'lfsw_code'=>'150', 'short_name'=>'SO6'),
'SO6R'=> array('name'=>'South City', 'config'=>'Chicane Route', 'direction'=>'Reversed', 'kms'=>2.9, 'lfsw_code'=>'151', 'short_name'=>'SO6R'),
'FE1' => array('name'=>'Fern Bay', 'config'=>'Club', 'direction'=>'Standard', 'kms'=>1.6, 'lfsw_code'=>'200', 'short_name'=>'FE1'),
'FE1R'=> array('name'=>'Fern Bay', 'config'=>'Club', 'direction'=>'Reversed', 'kms'=>1.6, 'lfsw_code'=>'201', 'short_name'=>'FE1R'),
'FE2' => array('name'=>'Fern Bay', 'config'=>'Green Track', 'direction'=>'Standard', 'kms'=>3.1, 'lfsw_code'=>'210', 'short_name'=>'FE2'),
'FE2R'=> array('name'=>'Fern Bay', 'config'=>'Green Track', 'direction'=>'Reversed', 'kms'=>3.1, 'lfsw_code'=>'211', 'short_name'=>'FE2R'),
'FE3' => array('name'=>'Fern Bay', 'config'=>'Gold Track', 'direction'=>'Standard', 'kms'=>3.5, 'lfsw_code'=>'220', 'short_name'=>'FE3'),
'FE3R'=> array('name'=>'Fern Bay', 'config'=>'Gold Track', 'direction'=>'Reversed', 'kms'=>3.5, 'lfsw_code'=>'221', 'short_name'=>'FE3R'),
'FE4' => array('name'=>'Fern Bay', 'config'=>'Black Track', 'direction'=>'Standard', 'kms'=>6.6, 'lfsw_code'=>'230', 'short_name'=>'FE4'),
'FE4R'=> array('name'=>'Fern Bay', 'config'=>'Black Track', 'direction'=>'Reversed', 'kms'=>6.6, 'lfsw_code'=>'231', 'short_name'=>'FE4R'),
'FE5' => array('name'=>'Fern Bay', 'config'=>'Rally Cross', 'direction'=>'Standard', 'kms'=>2.0, 'lfsw_code'=>'240', 'short_name'=>'FE5'),
'FE5R'=> array('name'=>'Fern Bay', 'config'=>'Rally Cross', 'direction'=>'Reversed', 'kms'=>2.0, 'lfsw_code'=>'241', 'short_name'=>'FE5R'),
'FE6' => array('name'=>'Fern Bay', 'config'=>'RallyX Green', 'direction'=>'Standard', 'kms'=>0.7, 'lfsw_code'=>'250', 'short_name'=>'FE6'),
'FE6R'=> array('name'=>'Fern Bay', 'config'=>'RallyX Green', 'direction'=>'Reversed', 'kms'=>0.7, 'lfsw_code'=>'251', 'short_name'=>'FE6R'),
'AU1' => array('name'=>'Autocross', 'config'=>'Autocross', 'direction'=>'Arena', 'kms'=>0.3, 'lfsw_code'=>'300', 'short_name'=>'AU1'),
'AU2' => array('name'=>'Autocross', 'config'=>'Slod Pad', 'direction'=>'Arena', 'kms'=>0.1, 'lfsw_code'=>'310', 'short_name'=>'AU2'),
'AU3' => array('name'=>'Autocross', 'config'=>'Drag Strip', 'direction'=>'Single Stage', 'kms'=>0.7, 'lfsw_code'=>'320', 'short_name'=>'AU3'),
'AU4' => array('name'=>'Autocross', 'config'=>'8 Lane Drag', 'direction'=>'Single Stage', 'kms'=>0.7, 'lfsw_code'=>'330', 'short_name'=>'AU4'),
'KY1' => array('name'=>'Kyoto Ring', 'config'=>'Oval', 'direction'=>'Standard', 'kms'=>3.0, 'lfsw_code'=>'400', 'short_name'=>'KY1'),
'KY1R'=> array('name'=>'Kyoto Ring', 'config'=>'Oval', 'direction'=>'Reversed', 'kms'=>3.0, 'lfsw_code'=>'401', 'short_name'=>'KY1R'),
'KY2' => array('name'=>'Kyoto Ring', 'config'=>'National', 'direction'=>'Standard', 'kms'=>5.1, 'lfsw_code'=>'410', 'short_name'=>'KY2'),
'KY2R'=> array('name'=>'Kyoto Ring', 'config'=>'National', 'direction'=>'Reversed', 'kms'=>5.1, 'lfsw_code'=>'411', 'short_name'=>'KY2R'),
'KY3' => array('name'=>'Kyoto Ring', 'config'=>'GP Long', 'direction'=>'Standard', 'kms'=>7.4, 'lfsw_code'=>'420', 'short_name'=>'KY3'),
'KY3R'=> array('name'=>'Kyoto Ring', 'config'=>'GP Long', 'direction'=>'Reversed', 'kms'=>7.4, 'lfsw_code'=>'421', 'short_name'=>'KY3R'),
'WE1' => array('name'=>'Westhill', 'config'=>'International', 'direction'=>'Standard', 'kms'=>5.2, 'lfsw_code'=>'500', 'short_name'=>'WE1'),
'WE1R'=> array('name'=>'Westhill', 'config'=>'International', 'direction'=>'Reversed', 'kms'=>5.2, 'lfsw_code'=>'501', 'short_name'=>'WE1R'),
'AS1' => array('name'=>'Aston', 'config'=>'Cadet', 'direction'=>'Standard', 'kms'=>1.9, 'lfsw_code'=>'600', 'short_name'=>'AS1'),
'AS1R'=> array('name'=>'Aston', 'config'=>'Cadet', 'direction'=>'Reversed', 'kms'=>1.9, 'lfsw_code'=>'601', 'short_name'=>'AS1R'),
'AS2' => array('name'=>'Aston', 'config'=>'Club', 'direction'=>'Standard', 'kms'=>3.1, 'lfsw_code'=>'610', 'short_name'=>'AS2'),
'AS2R'=> array('name'=>'Aston', 'config'=>'Club', 'direction'=>'Reversed', 'kms'=>3.1, 'lfsw_code'=>'611', 'short_name'=>'AS2R'),
'AS3' => array('name'=>'Aston', 'config'=>'National', 'direction'=>'Standard', 'kms'=>5.6, 'lfsw_code'=>'620', 'short_name'=>'AS3'),
'AS3R'=> array('name'=>'Aston', 'config'=>'National', 'direction'=>'Reversed', 'kms'=>5.6, 'lfsw_code'=>'621', 'short_name'=>'AS3R'),
'AS4' => array('name'=>'Aston', 'config'=>'Historic', 'direction'=>'Standard', 'kms'=>8.1, 'lfsw_code'=>'630', 'short_name'=>'AS4'),
'AS4R'=> array('name'=>'Aston', 'config'=>'Historic', 'direction'=>'Reversed', 'kms'=>8.1, 'lfsw_code'=>'631', 'short_name'=>'AS4R'),
'AS5' => array('name'=>'Aston', 'config'=>'Grand Prix', 'direction'=>'Standard', 'kms'=>8.8, 'lfsw_code'=>'640', 'short_name'=>'AS5'),
'AS5R'=> array('name'=>'Aston', 'config'=>'Grand Prix', 'direction'=>'Reversed', 'kms'=>8.8, 'lfsw_code'=>'641', 'short_name'=>'AS5R'),
'AS6' => array('name'=>'Aston', 'config'=>'Grand Touring', 'direction'=>'Standard', 'kms'=>8.0, 'lfsw_code'=>'650', 'short_name'=>'AS6'),
'AS6R'=> array('name'=>'Aston', 'config'=>'Grand Touring', 'direction'=>'Reversed', 'kms'=>8.0, 'lfsw_code'=>'651', 'short_name'=>'AS6R'),
'AS7' => array('name'=>'Aston', 'config'=>'North', 'direction'=>'Standard', 'kms'=>5.2, 'lfsw_code'=>'660', 'short_name'=>'AS7'),
'AS7R'=> array('name'=>'Aston', 'config'=>'North', 'direction'=>'Reversed', 'kms'=>5.2, 'lfsw_code'=>'661', 'short_name'=>'AS7R'),
);
$lfsw_cache_tracks['000'] = &$lfsw_cache_tracks['BL1'];
$lfsw_cache_tracks['001'] = &$lfsw_cache_tracks['BL1R'];
$lfsw_cache_tracks['010'] = &$lfsw_cache_tracks['BL2'];
$lfsw_cache_tracks['011'] = &$lfsw_cache_tracks['BL2R'];
$lfsw_cache_tracks['020'] = &$lfsw_cache_tracks['BL3'];
$lfsw_cache_tracks['100'] = &$lfsw_cache_tracks['SO1'];
$lfsw_cache_tracks['101'] = &$lfsw_cache_tracks['SO1R'];
$lfsw_cache_tracks['110'] = &$lfsw_cache_tracks['SO2'];
$lfsw_cache_tracks['111'] = &$lfsw_cache_tracks['SO2R'];
$lfsw_cache_tracks['120'] = &$lfsw_cache_tracks['SO3'];
$lfsw_cache_tracks['121'] = &$lfsw_cache_tracks['SO3R'];
$lfsw_cache_tracks['130'] = &$lfsw_cache_tracks['SO4'];
$lfsw_cache_tracks['131'] = &$lfsw_cache_tracks['SO4R'];
$lfsw_cache_tracks['140'] = &$lfsw_cache_tracks['SO5'];
$lfsw_cache_tracks['141'] = &$lfsw_cache_tracks['SO5R'];
$lfsw_cache_tracks['150'] = &$lfsw_cache_tracks['SO6'];
$lfsw_cache_tracks['151'] = &$lfsw_cache_tracks['SO6R'];
$lfsw_cache_tracks['200'] = &$lfsw_cache_tracks['FE1'];
$lfsw_cache_tracks['201'] = &$lfsw_cache_tracks['FE1R'];
$lfsw_cache_tracks['210'] = &$lfsw_cache_tracks['FE2'];
$lfsw_cache_tracks['211'] = &$lfsw_cache_tracks['FE2R'];
$lfsw_cache_tracks['220'] = &$lfsw_cache_tracks['FE3'];
$lfsw_cache_tracks['221'] = &$lfsw_cache_tracks['FE3R'];
$lfsw_cache_tracks['230'] = &$lfsw_cache_tracks['FE4'];
$lfsw_cache_tracks['231'] = &$lfsw_cache_tracks['FE4R'];
$lfsw_cache_tracks['240'] = &$lfsw_cache_tracks['FE5'];
$lfsw_cache_tracks['241'] = &$lfsw_cache_tracks['FE5R'];
$lfsw_cache_tracks['250'] = &$lfsw_cache_tracks['FE6'];
$lfsw_cache_tracks['251'] = &$lfsw_cache_tracks['FE6R'];
$lfsw_cache_tracks['300'] = &$lfsw_cache_tracks['AU1'];
$lfsw_cache_tracks['310'] = &$lfsw_cache_tracks['AU2'];
$lfsw_cache_tracks['320'] = &$lfsw_cache_tracks['AU3'];
$lfsw_cache_tracks['330'] = &$lfsw_cache_tracks['AU4'];
$lfsw_cache_tracks['400'] = &$lfsw_cache_tracks['KY1'];
$lfsw_cache_tracks['401'] = &$lfsw_cache_tracks['KY1R'];
$lfsw_cache_tracks['410'] = &$lfsw_cache_tracks['KY2'];
$lfsw_cache_tracks['411'] = &$lfsw_cache_tracks['KY2R'];
$lfsw_cache_tracks['420'] = &$lfsw_cache_tracks['KY3'];
$lfsw_cache_tracks['421'] = &$lfsw_cache_tracks['KY3R'];
$lfsw_cache_tracks['500'] = &$lfsw_cache_tracks['WE1'];
$lfsw_cache_tracks['501'] = &$lfsw_cache_tracks['WE1R'];
$lfsw_cache_tracks['600'] = &$lfsw_cache_tracks['AS1'];
$lfsw_cache_tracks['601'] = &$lfsw_cache_tracks['AS1R'];
$lfsw_cache_tracks['610'] = &$lfsw_cache_tracks['AS2'];
$lfsw_cache_tracks['611'] = &$lfsw_cache_tracks['AS2R'];
$lfsw_cache_tracks['620'] = &$lfsw_cache_tracks['AS3'];
$lfsw_cache_tracks['621'] = &$lfsw_cache_tracks['AS3R'];
$lfsw_cache_tracks['630'] = &$lfsw_cache_tracks['AS4'];
$lfsw_cache_tracks['631'] = &$lfsw_cache_tracks['AS4R'];
$lfsw_cache_tracks['640'] = &$lfsw_cache_tracks['AS5'];
$lfsw_cache_tracks['641'] = &$lfsw_cache_tracks['AS5R'];
$lfsw_cache_tracks['650'] = &$lfsw_cache_tracks['AS6'];
$lfsw_cache_tracks['651'] = &$lfsw_cache_tracks['AS6R'];
$lfsw_cache_tracks['660'] = &$lfsw_cache_tracks['AS7'];
$lfsw_cache_tracks['661'] = &$lfsw_cache_tracks['AS7R'];
?>