Path: blob/master/RSDKv5/RSDK/User/Dummy/DummyStats.cpp
1168 views
#if RETRO_REV021#define VOID_TO_INT(x) (int32)(size_t)(x)2#define voidToFloat(x) *(float *)&(x)34void DummyStats::TryTrackStat(StatInfo *stat)5{6if (enabled) {7std::string str = __FILE__;8str += ": TrackStat() # TrackStat ";9str += stat->name;10str += " \r\n";11PrintLog(PRINT_NORMAL, str.c_str());1213switch (stat->statID) {14case 0: {15char *zoneName = (char *)stat->data[0];16char *actName = (char *)stat->data[1];17char *playerName = (char *)stat->data[2];18// int32 unused = VOID_TO_INT(stat->data[3]);19int32 time = VOID_TO_INT(stat->data[4]);20int32 rings = VOID_TO_INT(stat->data[5]);21int32 score = VOID_TO_INT(stat->data[6]);22PrintLog(PRINT_NORMAL, "DUMMY TrackActClear(%s, %s, %s, %d, %d, %d)", zoneName, actName, playerName, score, rings, time);23break;24}2526case 1: {27char *zoneName = (char *)stat->data[0];28char *actName = (char *)stat->data[1];29char *playerName = (char *)stat->data[2];30char *mode = (char *)stat->data[3];31int32 time = VOID_TO_INT(stat->data[4]);32PrintLog(PRINT_NORMAL, "DUMMY TrackTAClear(%s, %s, %s, %s, %d)", zoneName, actName, playerName, mode, time);33break;34}3536case 2: {37char *zoneName = (char *)stat->data[0];38char *actName = (char *)stat->data[1];39char *playerName = (char *)stat->data[2];40bool32 encore = VOID_TO_INT(stat->data[3]);41int32 enemyX = VOID_TO_INT(stat->data[4]);42int32 enemyY = VOID_TO_INT(stat->data[5]);43PrintLog(PRINT_NORMAL, "DUMMY TrackEnemyDefeat(%s, %s, %s, %s, %d, %d)", zoneName, actName, playerName, encore ? "true" : "false",44enemyX, enemyY);45break;46}47case 3: PrintLog(PRINT_NORMAL, "DUMMY TrackGameProgress() -> %f percent complete", voidToFloat(stat->data[0]) * 100); break;48}49}50else {51std::string str = __FILE__;52str += ": TryTrackStat() # Track stat SKIPPED. Stats are disabled. \r\n";53PrintLog(PRINT_NORMAL, str.c_str());54}55}56#endif575859