Пример #1
0
void CUCode_AX::DoState(PointerWrap& p)
{
	std::lock_guard<std::mutex> lk(m_processing);

	DoStateShared(p);
	DoAXState(p);
}
Пример #2
0
void ROMUCode::DoState(PointerWrap &p)
{
	p.Do(m_current_ucode);
	p.Do(m_boot_task_num_steps);
	p.Do(m_next_parameter);

	DoStateShared(p);
}
Пример #3
0
void CWII_IPC_HLE_Device_FileIO::DoState(PointerWrap &p)
{
	DoStateShared(p);

	p.Do(m_Mode);
	p.Do(m_SeekPos);

	m_filepath = HLE_IPC_BuildFilename(m_Name, 64);
}
void CWII_IPC_HLE_Device_sdio_slot0::DoState(PointerWrap& p)
{
	DoStateShared(p);
	if (p.GetMode() == PointerWrap::MODE_READ)
	{
		OpenInternal();
	}
	p.Do(m_Status);
	p.Do(m_BlockLength);
	p.Do(m_BusWidth);
	p.Do(m_Registers);
}
Пример #5
0
void CWII_IPC_HLE_Device_FileIO::DoState(PointerWrap& p)
{
  DoStateShared(p);

  p.Do(m_Mode);
  p.Do(m_SeekPos);

  m_filepath = HLE_IPC_BuildFilename(m_Name);

  // The file was closed during state (and might now be pointing at another file)
  // Open it again
  OpenFile();
}
void CWII_IPC_HLE_Device_FileIO::DoState(PointerWrap &p)
{
	DoStateShared(p);

	p.Do(m_Mode);
	p.Do(m_SeekPos);

	m_filepath = HLE_IPC_BuildFilename(m_Name);

	if (p.GetMode() == PointerWrap::MODE_READ)
	{
		OpenFile();
	}
}
Пример #7
0
void AXWiiUCode::DoState(PointerWrap &p)
{
	DoStateShared(p);
	DoAXState(p);

	p.Do(m_samples_auxC_left);
	p.Do(m_samples_auxC_right);
	p.Do(m_samples_auxC_surround);

	p.Do(m_samples_wm0);
	p.Do(m_samples_wm1);
	p.Do(m_samples_wm2);
	p.Do(m_samples_wm3);

	p.Do(m_samples_aux0);
	p.Do(m_samples_aux1);
	p.Do(m_samples_aux2);
	p.Do(m_samples_aux3);

	p.Do(m_last_main_volume);
	p.Do(m_last_aux_volumes);
}
Пример #8
0
void CUCode_AXWii::DoState(PointerWrap &p)
{
	std::lock_guard<std::mutex> lk(m_processing);

	DoStateShared(p);
	DoAXState(p);

	p.Do(m_samples_auxC_left);
	p.Do(m_samples_auxC_right);
	p.Do(m_samples_auxC_surround);

	p.Do(m_samples_wm0);
	p.Do(m_samples_wm1);
	p.Do(m_samples_wm2);
	p.Do(m_samples_wm3);

	p.Do(m_samples_aux0);
	p.Do(m_samples_aux1);
	p.Do(m_samples_aux2);
	p.Do(m_samples_aux3);

	p.Do(m_last_main_volume);
	p.Do(m_last_aux_volumes);
}
Пример #9
0
void CWII_IPC_HLE_Device_fs::DoState(PointerWrap& p)
{
	DoStateShared(p);

	// handle /tmp

	std::string Path = File::GetUserPath(D_WIIUSER_IDX) + "tmp";
	if (p.GetMode() == PointerWrap::MODE_READ)
	{
		File::DeleteDirRecursively(Path);
		File::CreateDir(Path.c_str());

		//now restore from the stream
		while(1) {
			char type = 0;
			p.Do(type);
			if (!type)
				break;
			std::string filename;
			p.Do(filename);
			std::string name = Path + DIR_SEP + filename;
			switch(type)
			{
			case 'd':
			{
				File::CreateDir(name.c_str());
				break;
			}
			case 'f':
			{
				u32 size = 0;
				p.Do(size);

				File::IOFile handle(name, "wb");
				char buf[65536];
				u32 count = size;
				while(count > 65536) {
					p.DoArray(&buf[0], 65536);
					handle.WriteArray(&buf[0], 65536);
					count -= 65536;
				}
				p.DoArray(&buf[0], count);
				handle.WriteArray(&buf[0], count);
				break;
			}
			}
		}
	}
	else
	{
		//recurse through tmp and save dirs and files

		File::FSTEntry parentEntry;
		File::ScanDirectoryTree(Path, parentEntry);
		std::deque<File::FSTEntry> todo;
		todo.insert(todo.end(), parentEntry.children.begin(),
			    parentEntry.children.end());

		while(!todo.empty())
		{
			File::FSTEntry &entry = todo.front();
			std::string name = entry.physicalName;
			name.erase(0,Path.length()+1);
			char type = entry.isDirectory?'d':'f';
			p.Do(type);
			p.Do(name);
			if (entry.isDirectory)
			{
				todo.insert(todo.end(), entry.children.begin(),
					    entry.children.end());
			}
			else
			{
				u32 size = (u32)entry.size;
				p.Do(size);

				File::IOFile handle(entry.physicalName, "rb");
				char buf[65536];
				u32 count = size;
				while(count > 65536) {
					handle.ReadArray(&buf[0], 65536);
					p.DoArray(&buf[0], 65536);
					count -= 65536;
				}
				handle.ReadArray(&buf[0], count);
				p.DoArray(&buf[0], count);
			}
			todo.pop_front();
		}

		char type = 0;
		p.Do(type);
	}
}
Пример #10
0
void CWII_IPC_HLE_Device_di::DoState(PointerWrap& p)
{
    DoStateShared(p);
    p.Do(m_commands_to_execute);
}
Пример #11
0
void AXUCode::DoState(PointerWrap& p)
{
  DoStateShared(p);
  DoAXState(p);
}