JNIEXPORT void JNICALL Java_net_asantee_gs2d_GS2DJNI_start( JNIEnv* env, jobject thiz, jstring apkPath, jstring externalPath, jstring globalPath, jint width, jint height) { g_splashShown = false; jboolean isCopy; const char* strApk = env->GetStringUTFChars(apkPath, &isCopy); const char* strExt = env->GetStringUTFChars(externalPath, &isCopy); const char* strGlo = env->GetStringUTFChars(globalPath, &isCopy); zip = boost::shared_ptr<Platform::ZipFileManager>(new Platform::ZipFileManager(strApk)); Platform::FileIOHubPtr fileIOHub(new Platform::AndroidFileIOHub(zip, strExt, strGlo, ETHDirectories::GetBitmapFontDirectory())); video = CreateVideo(width, height, fileIOHub); input = CreateInput(&g_inputStr, true); audio = CreateAudio(0); video->ResetVideoMode(width, height, Texture::PF_DEFAULT, false); audio->SetGlobalVolume(g_globalVolume); splashSprite = video->CreateSprite(GS_L("assets/data/splash.bmp")); // if the application is already initialized, let's reset the device if (application) { application->Start(video, input, audio); } }
SpritePtr ETHGraphicResourceManager::AddFile(VideoPtr video, const str_type::string &path, const bool cutOutBlackPixels) { str_type::string fileName = ETHGlobal::GetFileName(path); { SpritePtr sprite = FindSprite(path, fileName); if (sprite) return sprite; } SpritePtr pBitmap; str_type::string fixedName(path); Platform::FixSlashes(fixedName); ETHSpriteDensityManager::DENSITY_LEVEL densityLevel; const str_type::string finalFileName(m_densityManager.ChooseSpriteVersion(fixedName, video, densityLevel)); if (!(pBitmap = video->CreateSprite(finalFileName, (cutOutBlackPixels)? 0xFF000000 : 0xFFFF00FF))) { pBitmap.reset(); ETH_STREAM_DECL(ss) << GS_L("(Not loaded) ") << path; ETHResourceProvider::Log(ss.str(), Platform::Logger::ERROR); return SpritePtr(); } m_densityManager.SetSpriteDensity(pBitmap, densityLevel); //#ifdef _DEBUG ETH_STREAM_DECL(ss) << GS_L("(Loaded) ") << fileName; ETHResourceProvider::Log(ss.str(), Platform::Logger::INFO); //#endif m_resource.insert(std::pair<str_type::string, SpriteResource>(fileName, SpriteResource(fixedName, pBitmap))); return pBitmap; }