Example #1
0
extern "C" JNIEXPORT void JNICALL Java_com_virtualapplications_play_NativeInterop_loadState(JNIEnv* env, jobject obj, jint slot)
{
	assert(g_virtualMachine != nullptr);
	if(g_virtualMachine == nullptr) return;
	auto stateFilePath = GenerateStatePath(slot);
	if(g_virtualMachine->LoadState(stateFilePath.string().c_str()) != 0)
	{
		jclass exceptionClass = env->FindClass("java/lang/Exception");
		env->ThrowNew(exceptionClass, "LoadState failed.");
		return;
	}
}
Example #2
0
extern "C" JNIEXPORT void JNICALL Java_com_virtualapplications_play_NativeInterop_saveState(JNIEnv* env, jobject obj, jint slot)
{
	assert(g_virtualMachine != nullptr);
	if(g_virtualMachine == nullptr) return;
	Framework::PathUtils::EnsurePathExists(GetStateDirectoryPath());
	auto stateFilePath = GenerateStatePath(slot);
	if(g_virtualMachine->SaveState(stateFilePath.string().c_str()) != 0)
	{
		jclass exceptionClass = env->FindClass("java/lang/Exception");
		env->ThrowNew(exceptionClass, "SaveState failed.");
		return;
	}
}
Example #3
0
void CMainWindow::LoadState()
{
	if(m_virtualMachine.m_os->GetELF() == nullptr) return;

	if(m_virtualMachine.LoadState(GenerateStatePath().string().c_str()) == 0)
	{
		PrintStatusTextA("Loaded state from slot %i.", m_stateSlot);
	}
	else
	{
		PrintStatusTextA("Error loading state from slot %i.", m_stateSlot);
	}
}
Example #4
0
void CMainWindow::SaveState()
{
	if(m_virtualMachine.m_os->GetELF() == nullptr) return;

	Framework::PathUtils::EnsurePathExists(GetStateDirectoryPath());
	if(m_virtualMachine.SaveState(GenerateStatePath().string().c_str()) == 0)
	{
		PrintStatusTextA("Saved state to slot %i.", m_stateSlot);
	}
	else
	{
		PrintStatusTextA("Error saving state to slot %i.", m_stateSlot);
	}
}