void Java_org_yabause_android_YabauseRunnable_deinit( JNIEnv* env ) { int slot = GetSaveSlot(); if (slot != -1) { const char * dirpath = GetSavesPath(); SetOSDToggle(0); DisableAutoFrameSkip(); g_swapped = 0; while(! g_swapped) YabauseExec(); YabSaveStateSlot(dirpath, slot); } YabauseDeInit(); }
jint Java_org_yabause_android_YabauseRunnable_init( JNIEnv* env, jobject obj, jobject yab ) { yabauseinit_struct yinit; int res; void * padbits; if( initEGLFunc() == -1 ) return -1; yabause = (*env)->NewGlobalRef(env, yab); memset(&yinit, 0, sizeof(yabauseinit_struct)); yinit.m68kcoretype = M68KCORE_MUSASHI; yinit.percoretype = PERCORE_DUMMY; #ifdef SH2_DYNAREC yinit.sh2coretype = 2; #else yinit.sh2coretype = SH2CORE_DEFAULT; #endif yinit.vidcoretype = VIDCORE_SOFT; #ifdef HAVE_OPENSL yinit.sndcoretype = SNDCORE_OPENSL; #else yinit.sndcoretype = SNDCORE_AUDIOTRACK; #endif yinit.cdcoretype = CDCORE_ISO; yinit.carttype = GetCartridgeType(); yinit.regionid = 0; yinit.biospath = GetBiosPath(); yinit.cdpath = GetGamePath(); yinit.buppath = GetMemoryPath(); yinit.mpegpath = mpegpath; yinit.cartpath = GetCartridgePath(); yinit.videoformattype = VIDEOFORMATTYPE_NTSC; yinit.frameskip = 0; yinit.skip_load = 0; res = YabauseInit(&yinit); { int slot = GetSaveSlot(); if (slot != -1) { const char * dirpath = GetSavesPath(); YabLoadStateSlot(dirpath, slot); } } OSDChangeCore(OSDCORE_SOFT); PerPortReset(); padbits = PerPadAdd(&PORTDATA1); PerSetKey(PERPAD_UP, PERPAD_UP, padbits); PerSetKey(PERPAD_RIGHT, PERPAD_RIGHT, padbits); PerSetKey(PERPAD_DOWN, PERPAD_DOWN, padbits); PerSetKey(PERPAD_LEFT, PERPAD_LEFT, padbits); PerSetKey(PERPAD_START, PERPAD_START, padbits); PerSetKey(PERPAD_A, PERPAD_A, padbits); PerSetKey(PERPAD_B, PERPAD_B, padbits); PerSetKey(PERPAD_C, PERPAD_C, padbits); PerSetKey(PERPAD_X, PERPAD_X, padbits); PerSetKey(PERPAD_Y, PERPAD_Y, padbits); PerSetKey(PERPAD_Z, PERPAD_Z, padbits); return res; }
static VP_ContextSlot GetSaveSlot_m (VP_cl *self ) { return VP$GetSaveSlot(self); }