Path: blob/master/RSDKv5/RSDK/User/Dummy/DummyCore.cpp
1168 views
#if RETRO_REV021DummyCore *dummyCore = NULL;23uint32 GetAPIValueID(const char *identifier, int32 charIndex)4{5if (identifier[charIndex])6return (33 * GetAPIValueID(identifier, charIndex + 1)) ^ identifier[charIndex];7else8return 5381;9}1011int32 GetAPIValue(uint32 id)12{13switch (id) {14default: break;1516case 0x3D6BD740: // SYSTEM_PLATFORM1718// Platform Overrides19#if RETRO_PLATFORM == RETRO_PS420return PLATFORM_PS4;21#elif RETRO_PLATFORM == RETRO_XB122return PLATFORM_XB1;23#elif RETRO_PLATFORM == RETRO_SWITCH || RETRO_PLATFORM == RETRO_ANDROID24return PLATFORM_SWITCH;25#endif2627// default to PC (or dev if dev stuff is enabled)28return engine.devMenu ? PLATFORM_DEV : PLATFORM_PC;2930case 0xD9F55367: return REGION_US; // SYSTEM_REGION3132case 0x0CC0762D: return LANGUAGE_EN; // SYSTEM_LANGUAGE3334case 0xA2ACEF21: return engine.confirmFlip; // SYSTEM_CONFIRM_FLIP3536case 0x4205582D: return 120; // SYSTEM_LEADERBOARD_LOAD_TIME3738case 0xDEF3F8B5: return STATUS_OK; // SYSTEM_LEADERBOARD_STATUS3940case 0x5AD68EAB: return STATUS_OK; // SYSTEM_USERSTORAGE_AUTH_STATUS4142case 0x884E705A: return STATUS_OK; // SYSTEM_USERSTORAGE_STORAGE_STATUS4344case 0xBDF4E94A: return 30; // SYSTEM_USERSTORAGE_AUTH_TIME4546case 0xD77E98BE: return 30; // SYSTEM_USERSTORAGE_STORAGE_INIT_TIME4748case 0x5AF715C2: return 30; // SYSTEM_USERSTORAGE_STORAGE_LOAD_TIME4950case 0x54378EC5: return 30; // SYSTEM_USERSTORAGE_STORAGE_SAVE_TIME5152case 0xCD44607D: return 30; // SYSTEM_USERSTORAGE_STORAGE_DELETE_TIME53}5455return 0;56}5758DummyCore *InitDummyCore()59{60// Initalize API subsystems61DummyCore *core = new DummyCore;6263if (achievements)64delete achievements;65achievements = new DummyAchievements;6667if (leaderboards)68delete leaderboards;69leaderboards = new DummyLeaderboards;7071if (richPresence)72delete richPresence;73richPresence = new DummyRichPresence;7475if (stats)76delete stats;77stats = new DummyStats;7879if (userStorage)80delete userStorage;81userStorage = new DummyUserStorage;8283return core;84}8586#endif8788#if RETRO_REV0289const char *userValueNames[8] = { "Ext <PLUS>" };90void DummyCore::StageLoad()91{92UserCore::StageLoad();9394#if !RSDK_AUTOBUILD95for (int32 v = 0; v < valueCount; ++v) AddViewableVariable(userValueNames[v], &values[v], VIEWVAR_BOOL, false, true);96#else97// disable plus on autobuilds98for (int32 v = 0; v < valueCount; ++v) values[v] = false;99#endif100}101102bool32 DummyCore::CheckFocusLost() { return focusState != 0; }103104int32 DummyCore::GetUserLanguage() { return GetAPIValue(GetAPIValueID("SYSTEM_LANGUAGE", 0)); }105int32 DummyCore::GetUserRegion() { return GetAPIValue(GetAPIValueID("SYSTEM_REGION", 0)); }106int32 DummyCore::GetUserPlatform() { return GetAPIValue(GetAPIValueID("SYSTEM_PLATFORM", 0)); }107bool32 DummyCore::GetConfirmButtonFlip() { return GetAPIValue(GetAPIValueID("SYSTEM_CONFIRM_FLIP", 0)); }108109void DummyCore::LaunchManual()110{111// LaunchManual() just opens the mania manual URL, thats it112#if (RETRO_RENDERDEVICE_SDL2 || RETRO_AUDIODEVICE_SDL2 || RETRO_INPUTDEVICE_SDL2)113114#if (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(2, 0, 14))115SDL_OpenURL("http://www.sonicthehedgehog.com/mania/manual");116#else117PrintLog(PRINT_NORMAL, "EMPTY LaunchManual()");118#endif119120#else121PrintLog(PRINT_NORMAL, "EMPTY LaunchManual()");122#endif123}124void DummyCore::ExitGame() { RenderDevice::isRunning = false; }125126int32 DummyCore::GetDefaultGamepadType()127{128#if RETRO_REV02129int32 platform = curSKU.platform;130#else131int32 platform = gameVerInfo.platform;132#endif133134switch (platform) {135case PLATFORM_SWITCH:136#if RETRO_INPUTDEVICE_NX137return currentNXControllerType;138#else139return (DEVICE_API_NONE << 16) | (DEVICE_TYPE_CONTROLLER << 8) | (DEVICE_SWITCH_HANDHELD << 0);140#endif141142default:143case PLATFORM_PS4:144case PLATFORM_XB1:145case PLATFORM_PC:146case PLATFORM_DEV: return (DEVICE_API_NONE << 16) | (DEVICE_TYPE_CONTROLLER << 8) | (0 << 0); break;147}148}149#endif150151