MCPcopy Create free account
hub / github.com/EasyRPG/Player / FileFinder_RTP

Method FileFinder_RTP

src/filefinder_rtp.cpp:34–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32#endif
33
34FileFinder_RTP::FileFinder_RTP(bool no_rtp, bool no_rtp_warnings, std::string rtp_path) {
35#ifdef EMSCRIPTEN
36 // No RTP support for emscripten at the moment.
37 disable_rtp = true;
38#else
39 disable_rtp = no_rtp;
40#endif
41 game_has_full_package_flag = no_rtp_warnings;
42
43 if (disable_rtp) {
44 Output::Debug("RTP support is disabled.");
45 return;
46 }
47
48 std::string const version_str = Player::GetEngineVersion();
49 assert(!version_str.empty());
50
51#ifdef __wii__
52 AddPath("sd:/data/rtp/" + version_str);
53 AddPath("usb:/data/rtp/" + version_str);
54#elif defined(__WIIU__)
55 AddPath("fs:/vol/content/rtp/" + version_str); // shipped
56 AddPath("rtp/" + version_str);
57 AddPath("fs:/vol/external01/wiiu/data/easyrpg-player/rtp/" + version_str);
58#elif defined(__SWITCH__)
59 AddPath("./rtp/" + version_str);
60 AddPath("/switch/easyrpg-player/rtp/" + version_str);
61#elif defined(__3DS__)
62 AddPath("romfs:/data/rtp/" + version_str);
63 AddPath("sdmc:/data/rtp/" + version_str);
64#elif defined(__vita__)
65 AddPath("ux0:/data/easyrpg-player/rtp/" + version_str);
66#elif defined(__MORPHOS__)
67 AddPath("PROGDIR:rtp/" + version_str);
68#elif defined(USE_LIBRETRO)
69 const char* dir = nullptr;
70 if (LibretroUi::environ_cb(RETRO_ENVIRONMENT_GET_CORE_ASSETS_DIRECTORY, &dir) && dir) {
71 AddPath(std::string(dir) + "/rtp/" + version_str);
72 }
73 if (LibretroUi::environ_cb(RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, &dir) && dir) {
74 AddPath(std::string(dir) + "/rtp/" + version_str);
75 }
76#elif defined(__ANDROID__)
77 // Invoke "String getRtpPath()" in EasyRPG Activity via JNI
78 JNIEnv* env = (JNIEnv*)SDL_AndroidGetJNIEnv();
79 jobject sdl_activity = (jobject)SDL_AndroidGetActivity();
80 jclass cls = env->GetObjectClass(sdl_activity);
81 jmethodID jni_getRtpPath = env->GetMethodID(cls , "getRtpPath", "()Ljava/lang/String;");
82 jstring return_string = (jstring)env->CallObjectMethod(sdl_activity, jni_getRtpPath);
83
84 const char *js = env->GetStringUTFChars(return_string, NULL);
85 std::string cs(js);
86
87 env->ReleaseStringUTFChars(return_string, js);
88 env->DeleteLocalRef(sdl_activity);
89 env->DeleteLocalRef(cls);
90 AddPath(cs + "/" + version_str);
91#elif defined(USE_WINE_REGISTRY) || defined(_WIN32)

Callers

nothing calls this directly

Calls 4

emptyMethod · 0.45
endMethod · 0.45
beginMethod · 0.45
ExistsMethod · 0.45

Tested by

no test coverage detected