Old ini-manager only partially used in VFS. Global configuration used as defualt.

This commit is contained in:
O1L 2015-10-27 01:09:31 +04:00
parent e8ebb005fd
commit c0255208cc
47 changed files with 328 additions and 403 deletions

View File

@ -1,9 +1,9 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "AutoPause.h"
#include "Utilities/Log.h"
#include "Utilities/File.h"
#include "Emu/System.h"
#include "Emu/state.h"
using namespace Debug;
@ -77,8 +77,8 @@ void AutoPause::Reload(void)
}
}
m_pause_syscall_enable = Ini.DBGAutoPauseSystemCall.GetValue();
m_pause_function_enable = Ini.DBGAutoPauseFunctionCall.GetValue();
m_pause_syscall_enable = rpcs3::config.misc.debug.auto_pause_syscall.value();
m_pause_function_enable = rpcs3::config.misc.debug.auto_pause_func_call.value();
initialized = true;
}

View File

@ -1,7 +1,7 @@
#include "stdafx.h"
#include "Log.h"
#include "rpcs3/Ini.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/CPU/CPUThreadManager.h"
#include "Emu/CPU/CPUThread.h"
#include "Emu/Cell/RawSPUThread.h"
@ -1273,14 +1273,14 @@ void named_thread_t::start(std::function<std::string()> name, std::function<void
{
g_thread_count++;
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(GENERAL, "Thread started");
}
func();
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(GENERAL, "Thread ended");
}

View File

@ -1,5 +1,4 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"

View File

@ -1,7 +1,7 @@
#include "stdafx.h"
#include "Utilities/Log.h"
#include "Emu/System.h"
#include "rpcs3/Ini.h"
#include "Emu/state.h"
#include "OpenALThread.h"
@ -104,7 +104,7 @@ void OpenALThread::Open(const void* src, int size)
for (uint i = 0; i<g_al_buffers_count; ++i)
{
alBufferData(m_buffers[i], Ini.AudioConvertToU16.GetValue() ? AL_FORMAT_71CHN16 : AL_FORMAT_71CHN32, src, m_buffer_size, 48000);
alBufferData(m_buffers[i], rpcs3::config.audio.convert_to_u16.value() ? AL_FORMAT_71CHN16 : AL_FORMAT_71CHN32, src, m_buffer_size, 48000);
checkForAlError("alBufferData");
}
@ -139,7 +139,7 @@ void OpenALThread::AddData(const void* src, int size)
int bsize = size < m_buffer_size ? size : m_buffer_size;
alBufferData(buffer, Ini.AudioConvertToU16.GetValue() ? AL_FORMAT_71CHN16 : AL_FORMAT_71CHN32, bsrc, bsize, 48000);
alBufferData(buffer, rpcs3::config.audio.convert_to_u16.value() ? AL_FORMAT_71CHN16 : AL_FORMAT_71CHN32, bsrc, bsize, 48000);
checkForAlError("alBufferData");
alSourceQueueBuffers(m_source, 1, &buffer);

View File

@ -1,8 +1,7 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "AudioManager.h"
#include "Emu/state.h"
#include "AL/OpenALThread.h"
#include "Emu/state.h"
#include "Null/NullAudioThread.h"
#include "XAudio2/XAudio2Thread.h"

View File

@ -1,6 +1,8 @@
#include "stdafx.h"
#include "Utilities/Log.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "rpcs3/Ini.h"
#if defined (_WIN32)
@ -102,11 +104,11 @@ void XAudio2Thread::Open(const void* src, int size)
{
HRESULT hr;
WORD sample_size = Ini.AudioConvertToU16.GetValue() ? sizeof(u16) : sizeof(float);
WORD sample_size = rpcs3::config.audio.convert_to_u16.value() ? sizeof(u16) : sizeof(float);
WORD channels = 8;
WAVEFORMATEX waveformatex;
waveformatex.wFormatTag = Ini.AudioConvertToU16.GetValue() ? WAVE_FORMAT_PCM : WAVE_FORMAT_IEEE_FLOAT;
waveformatex.wFormatTag = rpcs3::config.audio.convert_to_u16.value() ? WAVE_FORMAT_PCM : WAVE_FORMAT_IEEE_FLOAT;
waveformatex.nChannels = channels;
waveformatex.nSamplesPerSec = 48000;
waveformatex.nAvgBytesPerSec = 48000 * (DWORD)channels * (DWORD)sample_size;

View File

@ -1,8 +1,8 @@
#include "stdafx.h"
#ifdef LLVM_AVAILABLE
#include "rpcs3/Ini.h"
#include "Utilities/Log.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/Cell/PPUDisAsm.h"
#include "Emu/Cell/PPULLVMRecompiler.h"
#include "Emu/Memory/Memory.h"
@ -292,8 +292,8 @@ const Executable RecompilationEngine::GetCompiledExecutableIfAvailable(u32 addre
if (!isAddressCommited(address / 4))
return nullptr;
u32 id = FunctionCache[address / 4].second;
if (Ini.LLVMExclusionRange.GetValue() &&
(id >= Ini.LLVMMinId.GetValue() && id <= Ini.LLVMMaxId.GetValue()))
if (rpcs3::state.config.core.llvm.exclusion_range.value() &&
(id >= rpcs3::state.config.core.llvm.min_id.value() && id <= rpcs3::state.config.core.llvm.max_id.value()))
return nullptr;
return FunctionCache[address / 4].first;
}
@ -377,7 +377,7 @@ bool RecompilationEngine::IncreaseHitCounterAndBuild(u32 address) {
BlockEntry &block = It->second;
if (!block.is_compiled) {
block.num_hits++;
if (block.num_hits >= Ini.LLVMThreshold.GetValue()) {
if (block.num_hits >= rpcs3::state.config.core.llvm.threshold.value()) {
CompileBlock(block);
return true;
}

View File

@ -1,5 +1,4 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"

View File

@ -1,5 +1,4 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
@ -381,7 +380,7 @@ void SPUThread::do_dma_list_cmd(u32 cmd, spu_mfc_arg_t args)
void SPUThread::process_mfc_cmd(u32 cmd)
{
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "DMA %s: cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x", get_mfc_cmd_name(cmd), cmd, ch_mfc_args.lsa, ch_mfc_args.ea, ch_mfc_args.tag, ch_mfc_args.size);
}
@ -573,7 +572,7 @@ void SPUThread::set_interrupt_status(bool enable)
u32 SPUThread::get_ch_count(u32 ch)
{
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "get_ch_count(ch=%d [%s])", ch, ch < 128 ? spu_ch_name[ch] : "???");
}
@ -600,7 +599,7 @@ u32 SPUThread::get_ch_count(u32 ch)
u32 SPUThread::get_ch_value(u32 ch)
{
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "get_ch_value(ch=%d [%s])", ch, ch < 128 ? spu_ch_name[ch] : "???");
}
@ -764,7 +763,7 @@ u32 SPUThread::get_ch_value(u32 ch)
void SPUThread::set_ch_value(u32 ch, u32 value)
{
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "set_ch_value(ch=%d [%s], value=0x%x)", ch, ch < 128 ? spu_ch_name[ch] : "???", value);
}
@ -823,7 +822,7 @@ void SPUThread::set_ch_value(u32 ch, u32 value)
ch_out_mbox.set_value(data, 0);
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "sys_spu_thread_send_event(spup=%d, data0=0x%x, data1=0x%x)", spup, value & 0x00ffffff, data);
}
@ -862,7 +861,7 @@ void SPUThread::set_ch_value(u32 ch, u32 value)
ch_out_mbox.set_value(data, 0);
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_WARNING(SPU, "sys_spu_thread_throw_event(spup=%d, data0=0x%x, data1=0x%x)", spup, value & 0x00ffffff, data);
}
@ -912,7 +911,7 @@ void SPUThread::set_ch_value(u32 ch, u32 value)
throw EXCEPTION("sys_event_flag_set_bit(id=%d, value=0x%x (flag=%d)): Invalid flag", data, value, flag);
}
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_WARNING(SPU, "sys_event_flag_set_bit(id=%d, value=0x%x (flag=%d))", data, value, flag);
}
@ -956,7 +955,7 @@ void SPUThread::set_ch_value(u32 ch, u32 value)
throw EXCEPTION("sys_event_flag_set_bit_impatient(id=%d, value=0x%x (flag=%d)): Invalid flag", data, value, flag);
}
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_WARNING(SPU, "sys_event_flag_set_bit_impatient(id=%d, value=0x%x (flag=%d))", data, value, flag);
}
@ -1155,7 +1154,7 @@ void SPUThread::set_ch_value(u32 ch, u32 value)
void SPUThread::stop_and_signal(u32 code)
{
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "stop_and_signal(code=0x%x)", code);
}
@ -1226,7 +1225,7 @@ void SPUThread::stop_and_signal(u32 code)
ch_out_mbox.set_value(spuq, 0);
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "sys_spu_thread_receive_event(spuq=0x%x)", spuq);
}
@ -1352,7 +1351,7 @@ void SPUThread::stop_and_signal(u32 code)
ch_out_mbox.set_value(value, 0);
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "sys_spu_thread_group_exit(status=0x%x)", value);
}
@ -1391,7 +1390,7 @@ void SPUThread::stop_and_signal(u32 code)
throw EXCEPTION("sys_spu_thread_exit(): Out_MBox is empty");
}
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "sys_spu_thread_exit(status=0x%x)", ch_out_mbox.get_value());
}
@ -1422,7 +1421,7 @@ void SPUThread::stop_and_signal(u32 code)
void SPUThread::halt()
{
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(SPU, "halt()");
}

View File

@ -5,10 +5,12 @@
#include "vfsDirBase.h"
#include "Emu/HDD/HDD.h"
#include "vfsDeviceLocalFile.h"
#include "Ini.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Utilities/Log.h"
#include "Ini.h"
std::vector<std::string> simplify_path_blocks(const std::string& path)
{
// fmt::tolower() removed
@ -480,9 +482,9 @@ void VFS::Init(const std::string& path)
std::string mpath = entry.path;
// TODO: This shouldn't use current dir
// If no value assigned to SysEmulationDirPath in INI, use the path that with executable.
if (Ini.SysEmulationDirPathEnable.GetValue())
if (rpcs3::config.system.emulation_dir_path_enable.value())
{
fmt::Replace(mpath, "$(EmulatorDir)", Ini.SysEmulationDirPath.GetValue());
fmt::Replace(mpath, "$(EmulatorDir)", rpcs3::config.system.emulation_dir_path.value());
}
else
{
@ -526,13 +528,13 @@ void VFS::SaveLoadDevices(std::vector<VFSManagerEntry>& res, bool is_load)
}
// Custom EmulationDir
if (Ini.SysEmulationDirPathEnable.GetValue())
if (rpcs3::config.system.emulation_dir_path_enable.value())
{
std::string dir = Ini.SysEmulationDirPath.GetValue();
std::string dir = rpcs3::config.system.emulation_dir_path.value();
if (dir.empty())
{
Ini.SysEmulationDirPath.SetValue(Emu.GetEmulatorPath());
rpcs3::config.system.emulation_dir_path = Emu.GetEmulatorPath();
}
if (!fs::is_dir(dir))

View File

@ -1,5 +1,6 @@
#pragma once
#include "Emu/Io/PadHandler.h"
#include "Emu/state.h"
class WindowsPadHandler final
: public wxWindow
@ -38,27 +39,27 @@ public:
CELL_PAD_CAPABILITY_PS3_CONFORMITY | CELL_PAD_CAPABILITY_PRESS_MODE,
CELL_PAD_DEV_TYPE_STANDARD);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerLeft.GetValue(), CELL_PAD_CTRL_LEFT);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerDown.GetValue(), CELL_PAD_CTRL_DOWN);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerRight.GetValue(), CELL_PAD_CTRL_RIGHT);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerUp.GetValue(), CELL_PAD_CTRL_UP);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerStart.GetValue(), CELL_PAD_CTRL_START);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerR3.GetValue(), CELL_PAD_CTRL_R3);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerL3.GetValue(), CELL_PAD_CTRL_L3);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, Ini.PadHandlerSelect.GetValue(), CELL_PAD_CTRL_SELECT);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.left.value(), CELL_PAD_CTRL_LEFT);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.down.value(), CELL_PAD_CTRL_DOWN);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.right.value(), CELL_PAD_CTRL_RIGHT);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.up.value(), CELL_PAD_CTRL_UP);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.start.value(), CELL_PAD_CTRL_START);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.r3.value(), CELL_PAD_CTRL_R3);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.l3.value(), CELL_PAD_CTRL_L3);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL1, rpcs3::config.io.pad.select.value(), CELL_PAD_CTRL_SELECT);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerSquare.GetValue(), CELL_PAD_CTRL_SQUARE);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerCross.GetValue(), CELL_PAD_CTRL_CROSS);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerCircle.GetValue(), CELL_PAD_CTRL_CIRCLE);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerTriangle.GetValue(), CELL_PAD_CTRL_TRIANGLE);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerR1.GetValue(), CELL_PAD_CTRL_R1);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerL1.GetValue(), CELL_PAD_CTRL_L1);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerR2.GetValue(), CELL_PAD_CTRL_R2);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, Ini.PadHandlerL2.GetValue(), CELL_PAD_CTRL_L2);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.square.value(), CELL_PAD_CTRL_SQUARE);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.cross.value(), CELL_PAD_CTRL_CROSS);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.circle.value(), CELL_PAD_CTRL_CIRCLE);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.triangle.value(), CELL_PAD_CTRL_TRIANGLE);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.r1.value(), CELL_PAD_CTRL_R1);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.l1.value(), CELL_PAD_CTRL_L1);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.r2.value(), CELL_PAD_CTRL_R2);
m_pads[0].m_buttons.emplace_back(CELL_PAD_BTN_OFFSET_DIGITAL2, rpcs3::config.io.pad.l2.value(), CELL_PAD_CTRL_L2);
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_LEFT_X, Ini.PadHandlerLStickLeft.GetValue(), Ini.PadHandlerLStickRight.GetValue());
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_LEFT_Y, Ini.PadHandlerLStickUp.GetValue(), Ini.PadHandlerLStickDown.GetValue());
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_X, Ini.PadHandlerRStickLeft.GetValue(), Ini.PadHandlerRStickRight.GetValue());
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_Y, Ini.PadHandlerRStickUp.GetValue(), Ini.PadHandlerRStickDown.GetValue());
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_LEFT_X, rpcs3::config.io.pad.left_stick_left.value(), rpcs3::config.io.pad.left_stick_right.value());
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_LEFT_Y, rpcs3::config.io.pad.left_stick_up.value(), rpcs3::config.io.pad.left_stick_down.value());
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_X, rpcs3::config.io.pad.right_stick_left.value(), rpcs3::config.io.pad.right_stick_right.value());
m_pads[0].m_sticks.emplace_back(CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_Y, rpcs3::config.io.pad.right_stick_up.value(), rpcs3::config.io.pad.right_stick_down.value());
}
};
};

View File

@ -141,7 +141,7 @@ D3D12GSRender::D3D12GSRender()
LOG_WARNING(RSX, "Reporting Cell writing to %x", addr);
return result;
};
if (Ini.GSDebugOutputEnable.GetValue())
if (rpcs3::config.rsx.d3d12.debug_output.value())
{
Microsoft::WRL::ComPtr<ID3D12Debug> debugInterface;
wrapD3D12GetDebugInterface(IID_PPV_ARGS(&debugInterface));
@ -152,7 +152,7 @@ D3D12GSRender::D3D12GSRender()
ThrowIfFailed(CreateDXGIFactory(IID_PPV_ARGS(&dxgiFactory)));
// Create adapter
ComPtr<IDXGIAdapter> adaptater = nullptr;
ThrowIfFailed(dxgiFactory->EnumAdapters(Ini.GSD3DAdaptater.GetValue(), adaptater.GetAddressOf()));
ThrowIfFailed(dxgiFactory->EnumAdapters(rpcs3::state.config.rsx.d3d12.adaptater.value(), adaptater.GetAddressOf()));
ThrowIfFailed(wrapD3D12CreateDevice(adaptater.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device)));
// Queues
@ -247,7 +247,7 @@ D3D12GSRender::D3D12GSRender()
m_vertexIndexData.Init(m_device.Get(), 1024 * 1024 * 256, D3D12_HEAP_TYPE_UPLOAD, D3D12_HEAP_FLAG_NONE);
m_textureUploadData.Init(m_device.Get(), 1024 * 1024 * 512, D3D12_HEAP_TYPE_UPLOAD, D3D12_HEAP_FLAG_NONE);
if (Ini.GSOverlay.GetValue())
if (rpcs3::config.rsx.d3d12.overlay.value())
InitD2DStructures();
}
@ -392,7 +392,7 @@ void D3D12GSRender::clear_surface(u32 arg)
m_timers.m_drawCallDuration += std::chrono::duration_cast<std::chrono::microseconds>(endDuration - startDuration).count();
m_timers.m_drawCallCount++;
if (Ini.GSDebugOutputEnable.GetValue())
if (rpcs3::config.rsx.d3d12.debug_output.value())
{
ThrowIfFailed(getCurrentResourceStorage().m_commandList->Close());
m_commandQueueGraphic->ExecuteCommandLists(1, (ID3D12CommandList**)getCurrentResourceStorage().m_commandList.GetAddressOf());
@ -604,7 +604,7 @@ void D3D12GSRender::end()
m_timers.m_drawCallDuration += std::chrono::duration_cast<std::chrono::microseconds>(endDuration - startDuration).count();
m_timers.m_drawCallCount++;
if (Ini.GSDebugOutputEnable.GetValue())
if (rpcs3::config.rsx.d3d12.debug_output.value())
{
ThrowIfFailed(getCurrentResourceStorage().m_commandList->Close());
m_commandQueueGraphic->ExecuteCommandLists(1, (ID3D12CommandList**)getCurrentResourceStorage().m_commandList.GetAddressOf());
@ -758,21 +758,21 @@ void D3D12GSRender::flip(int buffer)
if (m_rtts.m_currentlyBoundRenderTargets[0] != nullptr)
getCurrentResourceStorage().m_commandList->DrawInstanced(4, 1, 0, 0);
if (!Ini.GSOverlay.GetValue())
if (!rpcs3::config.rsx.d3d12.overlay.value())
getCurrentResourceStorage().m_commandList->ResourceBarrier(1, &CD3DX12_RESOURCE_BARRIER::Transition(m_backBuffer[m_swapChain->GetCurrentBackBufferIndex()].Get(), D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_PRESENT));
if (isFlipSurfaceInLocalMemory(rsx::method_registers[NV4097_SET_SURFACE_COLOR_TARGET]) && m_rtts.m_currentlyBoundRenderTargets[0] != nullptr)
getCurrentResourceStorage().m_commandList->ResourceBarrier(1, &CD3DX12_RESOURCE_BARRIER::Transition(m_rtts.m_currentlyBoundRenderTargets[0], D3D12_RESOURCE_STATE_GENERIC_READ, D3D12_RESOURCE_STATE_RENDER_TARGET));
ThrowIfFailed(getCurrentResourceStorage().m_commandList->Close());
m_commandQueueGraphic->ExecuteCommandLists(1, (ID3D12CommandList**)getCurrentResourceStorage().m_commandList.GetAddressOf());
if(Ini.GSOverlay.GetValue())
if(rpcs3::config.rsx.d3d12.overlay.value())
renderOverlay();
ResetTimer();
std::chrono::time_point<std::chrono::system_clock> flipStart = std::chrono::system_clock::now();
ThrowIfFailed(m_swapChain->Present(Ini.GSVSyncEnable.GetValue() ? 1 : 0, 0));
ThrowIfFailed(m_swapChain->Present(rpcs3::state.config.rsx.vsync.value() ? 1 : 0, 0));
// Add an event signaling queue completion
ResourceStorage &storage = getNonCurrentResourceStorage();

View File

@ -1,7 +1,6 @@
#pragma once
#include "D3D12.h"
#include "rpcs3/Ini.h"
#include "Utilities/rPlatform.h" // only for rImage
#include "Utilities/File.h"
#include "Utilities/Log.h"

View File

@ -3,6 +3,7 @@
#include <d3dcompiler.h>
#include "D3D12PipelineState.h"
#include "D3D12GSRender.h"
#include "Emu/state.h"
#pragma comment (lib, "d3dcompiler.lib")
@ -13,7 +14,7 @@ void Shader::Compile(const std::string &code, SHADER_TYPE st)
HRESULT hr;
ComPtr<ID3DBlob> errorBlob;
UINT compileFlags;
if (Ini.GSDebugOutputEnable.GetValue())
if (rpcs3::config.rsx.d3d12.debug_output.value())
compileFlags = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION;
else
compileFlags = 0;

View File

@ -1,12 +1,12 @@
#include "stdafx_d3d12.h"
#ifdef _WIN32
#include "D3D12RenderTargetSets.h"
#include "rpcs3/Ini.h"
#include "Utilities/rPlatform.h" // only for rImage
#include "Utilities/File.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/RSX/GSRender.h"
#include "D3D12.h"

View File

@ -1,12 +1,11 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "Utilities/rPlatform.h" // only for rImage
#include "Utilities/File.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "GLGSRender.h"
#include "Emu/state.h"
#include "GLGSRender.h"
#define DUMP_VERTEX_DATA 0

View File

@ -1,5 +1,4 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/SysCalls/Modules/cellVideoOut.h"
@ -14,10 +13,10 @@
void GSInfo::Init()
{
mode.resolutionId = Ini.GSResolution.GetValue();
mode.resolutionId = (u8)rpcs3::state.config.rsx.resolution.value();
mode.scanMode = CELL_VIDEO_OUT_SCAN_MODE_INTERLACE;
mode.conversion = CELL_VIDEO_OUT_DISPLAY_CONVERSION_NONE;
mode.aspect = Ini.GSAspectRatio.GetValue();
mode.aspect = (u8)rpcs3::state.config.rsx.aspect_ratio.value();
mode.refreshRates = CELL_VIDEO_OUT_REFRESH_RATE_50HZ;
mode.format = CELL_VIDEO_OUT_BUFFER_COLOR_FORMAT_X8R8G8B8;
mode.pitch = 4;

View File

@ -1,8 +1,8 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/RSX/GSManager.h"
#include "RSXThread.h"
@ -571,15 +571,15 @@ namespace rsx
//sync
double limit;
switch (Ini.GSFrameLimit.GetValue())
switch (rpcs3::state.config.rsx.frame_limit.value())
{
case 1: limit = 50.; break;
case 2: limit = 59.94; break;
case 3: limit = 30.; break;
case 4: limit = 60.; break;
case 5: limit = rsx->fps_limit; break; //TODO
case rsx_frame_limit::_50: limit = 50.; break;
case rsx_frame_limit::_59_94: limit = 59.94; break;
case rsx_frame_limit::_30: limit = 30.; break;
case rsx_frame_limit::_60: limit = 60.; break;
case rsx_frame_limit::Auto: limit = rsx->fps_limit; break; //TODO
case 0:
case rsx_frame_limit::Off:
default:
return;
}
@ -999,7 +999,7 @@ namespace rsx
u32 reg = first_cmd + (i * inc);
u32 value = args[i];
if (Ini.RSXLogging.GetValue())
if (rpcs3::config.misc.log.rsx_logging.value())
{
LOG_NOTICE(Log::RSX, "%s(0x%x) = 0x%x", get_method_name(reg).c_str(), reg, value);
}

View File

@ -7,7 +7,7 @@
bool LogBase::CheckLogging() const
{
return Ini.HLELogging.GetValue() || m_logging;
return rpcs3::config.misc.log.hle_logging.value() || m_logging;
}
void LogBase::LogOutput(LogType type, std::string text) const

View File

@ -1,8 +1,8 @@
#include "stdafx.h"
#include "Ini.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules.h"
#include "Emu/SysCalls/SysCalls.h"
#include "Crypto/sha1.h"
@ -145,7 +145,7 @@ void execute_ppu_func_by_index(PPUThread& ppu, u32 index)
throw EXCEPTION("Forced HLE enabled: %s (0x%llx)", get_ps3_function_name(func->id), func->id);
}
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(HLE, "Branch to LLE function: %s (0x%llx)", get_ps3_function_name(func->id), func->id);
}
@ -174,28 +174,28 @@ void execute_ppu_func_by_index(PPUThread& ppu, u32 index)
const u32 pc = data[0];
const u32 rtoc = data[1];
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(HLE, "LLE function called: %s", get_ps3_function_name(func->id));
}
ppu.fast_call(pc, rtoc);
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(HLE, "LLE function finished: %s -> 0x%llx", get_ps3_function_name(func->id), ppu.GPR[3]);
}
}
else if (func->func)
{
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(HLE, "HLE function called: %s", get_ps3_function_name(func->id));
}
func->func(ppu);
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(HLE, "HLE function finished: %s -> 0x%llx", get_ps3_function_name(func->id), ppu.GPR[3]);
}

View File

@ -1,11 +1,11 @@
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/IdManager.h"
#include "Emu/SysCalls/Modules.h"
#include "Emu/SysCalls/Callback.h"
#include "rpcs3/Ini.h"
#include "Emu/SysCalls/lv2/sys_sync.h"
#include "Emu/SysCalls/lv2/sys_event.h"
#include "Emu/Event.h"
@ -59,7 +59,7 @@ s32 cellAudioInit()
{
std::unique_lock<std::mutex> lock(g_audio.thread.mutex);
const bool do_dump = Ini.AudioDumpToFile.GetValue();
const bool do_dump = rpcs3::config.audio.dump_to_file.value();
AudioDumper m_dump;
if (do_dump && !m_dump.Init(2)) // Init AudioDumper for 2 channels
@ -83,7 +83,7 @@ s32 cellAudioInit()
autojoin_thread_t iat(WRAP_EXPR("Internal Audio Thread"), [&out_queue]()
{
const bool use_u16 = Ini.AudioConvertToU16.GetValue();
const bool use_u16 = rpcs3::config.audio.convert_to_u16.value();;
Emu.GetAudioManager().GetAudioOut().Init();

View File

@ -1,8 +1,8 @@
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/SysCalls/Modules.h"
#include "Emu/state.h"
#include "Ini.h"
#include "cellAudioIn.h"
#include "cellAudioOut.h"
#include "cellVideoOut.h"
@ -127,7 +127,7 @@ s32 cellVideoOutGetScreenSize(u32 videoOut, vm::ptr<float> screenSize)
// float diagonal = roundf(sqrtf((powf(wxGetDisplaySizeMM().GetWidth(), 2) + powf(wxGetDisplaySizeMM().GetHeight(), 2))) * 0.0393f);
#endif
if (Ini.GS3DTV.GetValue())
if (rpcs3::config.rsx._3dtv.value())
{
*screenSize = 24.0f;
return CELL_OK;

View File

@ -1,8 +1,8 @@
#include "stdafx.h"
#include "Ini.h"
#include "Emu/Memory/Memory.h"
#include "Emu/IdManager.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules.h"
#include "cellCamera.h"
@ -82,7 +82,7 @@ s32 cellCameraInit()
{
cellCamera.Warning("cellCameraInit()");
if (Ini.Camera.GetValue() == 0)
if (rpcs3::config.io.camera.value() == io_camera_state::null)
{
return CELL_CAMERA_ERROR_DEVICE_NOT_FOUND;
}
@ -94,7 +94,9 @@ s32 cellCameraInit()
return CELL_CAMERA_ERROR_ALREADY_INIT;
}
if (Ini.CameraType.GetValue() == 1)
switch (rpcs3::config.io.camera_type.value())
{
case io_camera_type::eye_toy:
{
camera->attr[CELL_CAMERA_SATURATION] = { 164 };
camera->attr[CELL_CAMERA_BRIGHTNESS] = { 96 };
@ -111,7 +113,9 @@ s32 cellCameraInit()
camera->attr[CELL_CAMERA_422FLAG] = { 1 };
camera->attr[CELL_CAMERA_USBLOAD] = { 4 };
}
else if (Ini.CameraType.GetValue() == 2)
break;
case io_camera_type::play_station_eye:
{
camera->attr[CELL_CAMERA_SATURATION] = { 64 };
camera->attr[CELL_CAMERA_BRIGHTNESS] = { 8 };
@ -129,6 +133,12 @@ s32 cellCameraInit()
camera->attr[CELL_CAMERA_AGCLOW] = { 48 };
camera->attr[CELL_CAMERA_AGCHIGH] = { 64 };
}
break;
default: break;
}
// TODO: Some other default attributes? Need to check the actual behaviour on a real PS3.
return CELL_OK;
@ -181,11 +191,11 @@ s32 cellCameraGetType(s32 dev_num, vm::ptr<s32> type)
return CELL_CAMERA_ERROR_NOT_INIT;
}
switch (Ini.CameraType.GetValue())
switch (rpcs3::config.io.camera_type.value())
{
case 1: *type = CELL_CAMERA_EYETOY; break;
case 2: *type = CELL_CAMERA_EYETOY2; break;
case 3: *type = CELL_CAMERA_USBVIDEOCLASS; break;
case io_camera_type::eye_toy: *type = CELL_CAMERA_EYETOY; break;
case io_camera_type::play_station_eye: *type = CELL_CAMERA_EYETOY2; break;
case io_camera_type::usb_video_class_1_1: *type = CELL_CAMERA_USBVIDEOCLASS; break;
default: *type = CELL_CAMERA_TYPE_UNKNOWN; break;
}
@ -202,7 +212,7 @@ s32 cellCameraIsAttached(s32 dev_num)
{
cellCamera.Warning("cellCameraIsAttached(dev_num=%d)", dev_num);
if (Ini.Camera.GetValue() == 1)
if (rpcs3::config.io.camera.value() == io_camera_state::connected)
{
return 1;
}

View File

@ -1,10 +1,10 @@
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules.h"
#include "Utilities/Log.h"
#include "rpcs3/Ini.h"
#include "cellSysutil.h"
#include "cellNetCtl.h"
@ -48,21 +48,14 @@ s32 cellNetCtlGetState(vm::ptr<u32> state)
{
cellNetCtl.Log("cellNetCtlGetState(state=*0x%x)", state);
if (Ini.NETStatus.GetValue() == 0)
switch (rpcs3::config.misc.net.status.value())
{
*state = CELL_NET_CTL_STATE_IPObtained;
}
else if (Ini.NETStatus.GetValue() == 1)
{
*state = CELL_NET_CTL_STATE_IPObtaining;
}
else if (Ini.NETStatus.GetValue() == 2)
{
*state = CELL_NET_CTL_STATE_Connecting;
}
else
{
*state = CELL_NET_CTL_STATE_Disconnected;
case misc_net_status::ip_obtained: *state = CELL_NET_CTL_STATE_IPObtained; break;
case misc_net_status::obtaining_ip: *state = CELL_NET_CTL_STATE_IPObtaining; break;
case misc_net_status::connecting: *state = CELL_NET_CTL_STATE_Connecting; break;
case misc_net_status::disconnected: *state = CELL_NET_CTL_STATE_Disconnected; break;
default: *state = CELL_NET_CTL_STATE_Disconnected; break;
}
return CELL_OK;
@ -114,7 +107,7 @@ s32 cellNetCtlGetInfo(s32 code, vm::ptr<CellNetCtlInfo> info)
{
PIP_ADAPTER_ADDRESSES pCurrAddresses = pAddresses;
for (int c = 0; c < Ini.NETInterface.GetValue(); c++)
for (int c = 0; c < rpcs3::config.misc.net._interface.value(); c++)
{
pCurrAddresses = pCurrAddresses->Next;
}
@ -144,7 +137,7 @@ s32 cellNetCtlGetInfo(s32 code, vm::ptr<CellNetCtlInfo> info)
continue;
}
if (n < Ini.NETInterface.GetValue())
if (n < rpcs3::config.misc.net._interface.value())
{
continue;
}
@ -202,7 +195,7 @@ s32 cellNetCtlGetInfo(s32 code, vm::ptr<CellNetCtlInfo> info)
{
PIP_ADAPTER_INFO pAdapter = pAdapterInfo;
for (int c = 0; c < Ini.NETInterface.GetValue(); c++)
for (int c = 0; c < rpcs3::config.misc.net._interface.value(); c++)
{
pAdapter = pAdapter->Next;
}
@ -233,7 +226,7 @@ s32 cellNetCtlGetInfo(s32 code, vm::ptr<CellNetCtlInfo> info)
continue;
}
if (n < Ini.NETInterface.GetValue())
if (n < rpcs3::config.misc.net._interface.value())
{
continue;
}
@ -277,7 +270,7 @@ s32 cellNetCtlGetInfo(s32 code, vm::ptr<CellNetCtlInfo> info)
{
PIP_ADAPTER_INFO pAdapter = pAdapterInfo;
for (int c = 0; c < Ini.NETInterface.GetValue(); c++)
for (int c = 0; c < rpcs3::config.misc.net._interface.value(); c++)
{
pAdapter = pAdapter->Next;
}
@ -314,7 +307,7 @@ s32 cellNetCtlGetInfo(s32 code, vm::ptr<CellNetCtlInfo> info)
continue;
}
if (n < Ini.NETInterface.GetValue())
if (n < rpcs3::config.misc.net._interface.value())
{
continue;
}

View File

@ -2,10 +2,10 @@
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules.h"
#include "Emu/SysCalls/Callback.h"
#include "Ini.h"
#include "Emu/FS/VFS.h"
#include "cellSysutil.h"
@ -45,7 +45,7 @@ s32 cellSysutilGetSystemParamInt(s32 id, vm::ptr<s32> value)
switch(id)
{
case CELL_SYSUTIL_SYSTEMPARAM_ID_LANG:
*value = Ini.SysLanguage.GetValue();
*value = rpcs3::config.system.language.value();
break;
case CELL_SYSUTIL_SYSTEMPARAM_ID_ENTER_BUTTON_ASSIGN:

View File

@ -1,7 +1,7 @@
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/SysCalls/Modules.h"
#include "rpcs3/Ini.h"
#include "Emu/state.h"
#include "sceNp.h"
#include "sceNp2.h"
@ -133,7 +133,7 @@ s32 cellSysutilAvc2IsCameraAttached(vm::ptr<u8> status)
{
cellSysutilAvc2.Todo("cellSysutilAvc2IsCameraAttached()");
if (Ini.Camera.GetValue() == 0)
if (rpcs3::config.io.camera.value() == io_camera_state::null)
{
*status = CELL_AVC2_CAMERA_STATUS_DETACHED;
}

View File

@ -1,9 +1,9 @@
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules.h"
#include "Ini.h"
#include "Emu/RSX/GSManager.h"
#include "cellVideoOut.h"
@ -155,7 +155,7 @@ s32 cellVideoOutGetResolutionAvailability(u32 videoOut, u32 resolutionId, u32 as
{
cellSysutil.Warning("cellVideoOutGetResolutionAvailability(videoOut=%d, resolutionId=0x%x, aspect=%d, option=%d)", videoOut, resolutionId, aspect, option);
if (!Ini.GS3DTV.GetValue() && (resolutionId == CELL_VIDEO_OUT_RESOLUTION_720_3D_FRAME_PACKING || resolutionId == CELL_VIDEO_OUT_RESOLUTION_1024x720_3D_FRAME_PACKING ||
if (!rpcs3::config.rsx._3dtv.value() && (resolutionId == CELL_VIDEO_OUT_RESOLUTION_720_3D_FRAME_PACKING || resolutionId == CELL_VIDEO_OUT_RESOLUTION_1024x720_3D_FRAME_PACKING ||
resolutionId == CELL_VIDEO_OUT_RESOLUTION_960x720_3D_FRAME_PACKING || resolutionId == CELL_VIDEO_OUT_RESOLUTION_800x720_3D_FRAME_PACKING ||
resolutionId == CELL_VIDEO_OUT_RESOLUTION_640x720_3D_FRAME_PACKING))
return 0;

View File

@ -1,9 +1,9 @@
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules.h"
#include "Emu/SysCalls/lv2/sys_process.h"
#include "rpcs3/Ini.h"
#include "Emu/FS/VFS.h"
#include "Utilities/File.h"

View File

@ -1,10 +1,10 @@
#include "stdafx.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules.h"
#include "rpcs3/Ini.h"
#include "Utilities/rXml.h"
#include "Loader/TRP.h"
#include "Loader/TROPUSR.h"
@ -169,7 +169,7 @@ s32 sceNpTrophyRegisterContext(PPUThread& CPU, u32 context, u32 handle, vm::ptr<
const size_t kTargetBufferLength = 31;
char target[kTargetBufferLength + 1];
target[kTargetBufferLength] = 0;
strcpy_trunc(target, fmt::format("TROP_%02d.SFM", Ini.SysLanguage.GetValue()));
strcpy_trunc(target, fmt::format("TROP_%02d.SFM", rpcs3::config.system.language.value()));
if (trp.ContainsEntry(target))
{
@ -191,7 +191,7 @@ s32 sceNpTrophyRegisterContext(PPUThread& CPU, u32 context, u32 handle, vm::ptr<
for (s32 i = 0; i <= 18; i++)
{
strcpy_trunc(target, fmt::format("TROP_%02d.SFM", i));
if (i != Ini.SysLanguage.GetValue())
if (i != rpcs3::config.system.language.value())
{
trp.RemoveEntry(target);
}

View File

@ -1,9 +1,9 @@
#include "stdafx.h"
#include "rpcs3/Ini.h"
#include "Utilities/Log.h"
#include "Utilities/AutoPause.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Modules.h"
#include "lv2/sys_lwmutex.h"
@ -901,14 +901,14 @@ void execute_syscall_by_index(PPUThread& ppu, u64 code)
auto last_code = ppu.hle_code;
ppu.hle_code = ~code;
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(PPU, "Syscall %lld called: %s", code, get_ps3_function_name(~code));
}
g_sc_table[code](ppu);
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(PPU, "Syscall %lld finished: %s -> 0x%llx", code, get_ps3_function_name(~code), ppu.GPR[3]);
}

View File

@ -6,7 +6,6 @@
#include "Utilities/Log.h"
#include "Utilities/File.h"
#include "rpcs3/Ini.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
@ -67,6 +66,7 @@ Emulator::Emulator()
void Emulator::Init()
{
rpcs3::config.load();
rpcs3::config.save();
rpcs3::oninit();
}
@ -225,9 +225,9 @@ void Emulator::Load()
LOG_NOTICE(LOADER, "");
LOG_NOTICE(LOADER, "Settings:");
//LOG_NOTICE(LOADER, "CPU: %s", Ini.CPUIdToString(Ini.CPUDecoderMode.GetValue()));
//LOG_NOTICE(LOADER, "SPU: %s", Ini.SPUIdToString(Ini.SPUDecoderMode.GetValue()));
/*LOG_NOTICE(LOADER, "Settings:");
LOG_NOTICE(LOADER, "CPU: %s", Ini.CPUIdToString(Ini.CPUDecoderMode.GetValue()));
LOG_NOTICE(LOADER, "SPU: %s", Ini.SPUIdToString(Ini.SPUDecoderMode.GetValue()));
LOG_NOTICE(LOADER, "Renderer: %s", Ini.RendererIdToString(Ini.GSRenderMode.GetValue()));
if (Ini.GSRenderMode.GetValue() == 2)
@ -236,13 +236,13 @@ void Emulator::Load()
}
LOG_NOTICE(LOADER, "Resolution: %s", Ini.ResolutionIdToString(Ini.GSResolution.GetValue()));
/*LOG_NOTICE(LOADER, "Write Depth Buffer: %s", Ini.GSDumpDepthBuffer.GetValue() ? "Yes" : "No");
LOG_NOTICE(LOADER, "Write Depth Buffer: %s", Ini.GSDumpDepthBuffer.GetValue() ? "Yes" : "No");
LOG_NOTICE(LOADER, "Write Color Buffers: %s", Ini.GSDumpColorBuffers.GetValue() ? "Yes" : "No");
LOG_NOTICE(LOADER, "Read Color Buffers: %s", Ini.GSReadColorBuffers.GetValue() ? "Yes" : "No");
LOG_NOTICE(LOADER, "Read Depth Buffer: %s", Ini.GSReadDepthBuffer.GetValue() ? "Yes" : "No");*/
LOG_NOTICE(LOADER, "Read Depth Buffer: %s", Ini.GSReadDepthBuffer.GetValue() ? "Yes" : "No");
LOG_NOTICE(LOADER, "Audio Out: %s", Ini.AudioOutIdToString(Ini.AudioOutMode.GetValue()));
LOG_NOTICE(LOADER, "Log Everything: %s", Ini.HLELogging.GetValue() ? "Yes" : "No");
LOG_NOTICE(LOADER, "RSX Logging: %s", Ini.RSXLogging.GetValue() ? "Yes" : "No");
LOG_NOTICE(LOADER, "RSX Logging: %s", Ini.RSXLogging.GetValue() ? "Yes" : "No");*/
LOG_NOTICE(LOADER, "");
f.Open("/app_home/../PARAM.SFO");
@ -258,14 +258,13 @@ void Emulator::Load()
rpcs3::state.config = rpcs3::config;
// load custom config
if (!Ini.UseDefaultIni.GetValue())
if (!rpcs3::config.misc.use_default_ini.value())
{
std::string& name = title_id;
if (name.size())
if (title_id.size())
{
name = name.substr(0, 4) + "-" + name.substr(4, 5);
CreateConfig(name);
rpcs3::config_t custom_config { "data/" + name + "/settings.ini" };
title_id = title_id.substr(0, 4) + "-" + title_id.substr(4, 5);
CreateConfig(title_id);
rpcs3::config_t custom_config { "data/" + title_id + "/settings.ini" };
custom_config.load();
rpcs3::state.config = custom_config;
}

View File

@ -4,7 +4,7 @@
#include <wx/clipbrd.h>
#include <fstream>
#include "Ini.h"
#include "Emu/state.h"
#include "Utilities/Log.h"
#include "Gui/ConLogFrame.h"
@ -104,7 +104,7 @@ struct wxWriter : Log::LogListener
//put message into the log buffer
void log(const Log::LogMessage &msg) override
{
u8 logLevel = Ini.HLELogLvl.GetValue();
u8 logLevel = (u8)rpcs3::config.misc.log.level.value();
if (msg.mType != Log::TTY && logLevel != 0)
{
if (logLevel > static_cast<u32>(msg.mServerity))

View File

@ -1,11 +1,10 @@
#pragma once
#include "rpcs3/Ini.h"
#include "Emu/state.h"
class FrameBase : public wxFrame
{
protected:
IniEntry<WindowInfo> m_ini;
WindowInfo m_default_info;
bool m_is_skip_resize;
FrameBase(
@ -18,10 +17,8 @@ protected:
long style = wxDEFAULT_FRAME_STYLE,
bool is_skip_resize = false)
: wxFrame(parent, id, framename, defposition, defsize, style)
, m_default_info(std::pair<int, int>(defsize.GetWidth(), defsize.GetHeight()), std::pair<int, int>(defposition.x, defposition.y))
, m_is_skip_resize(is_skip_resize)
{
m_ini.Init(ininame.empty() ? fmt::ToUTF8(framename) : ininame, "GuiSettings");
LoadInfo();
Bind(wxEVT_CLOSE_WINDOW, &FrameBase::OnClose, this);
@ -41,26 +38,29 @@ protected:
void LoadInfo()
{
const WindowInfo& info = m_ini.LoadValue(m_default_info);
SetSize(wxSize(info.size.first, info.size.second));
SetPosition(wxPoint(info.position.first, info.position.second));
SetSize(wxSize(rpcs3::config.gui.size.width.value(), rpcs3::config.gui.size.hight.value()));
SetPosition(wxPoint(rpcs3::config.gui.position.x.value(), rpcs3::config.gui.position.y.value()));
}
void OnMove(wxMoveEvent& event)
{
m_ini.SetValue(WindowInfo(m_ini.GetValue().size, std::pair<int, int>(GetPosition().x, GetPosition().y)));
rpcs3::config.gui.position.x = GetPosition().x;
rpcs3::config.gui.position.y = GetPosition().y;
event.Skip();
}
void OnResize(wxSizeEvent& event)
{
m_ini.SetValue(WindowInfo(std::pair<int, int>(GetSize().GetWidth(), GetSize().GetHeight()), m_ini.GetValue().position));
rpcs3::config.gui.size.width = GetSize().GetWidth();
rpcs3::config.gui.size.hight = GetSize().GetHeight();
rpcs3::config.gui.position.x = GetPosition().x;
rpcs3::config.gui.position.y = GetPosition().y;
if(m_is_skip_resize) event.Skip();
}
void OnClose(wxCloseEvent& event)
{
m_ini.Save();
rpcs3::config.save();
event.Skip();
}
};

View File

@ -1,6 +1,7 @@
#include "stdafx_gui.h"
#include "GSFrame.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules/cellVideoOut.h"
#include "rpcs3.h"
#include "Utilities/Timer.h"
@ -18,7 +19,7 @@ GSFrame::GSFrame(const wxString& title) : wxFrame(nullptr, wxID_ANY, "GSFrame["
{
SetIcon(wxICON(frame_icon));
CellVideoOutResolution res = ResolutionTable[ResolutionIdToNum(Ini.GSResolution.GetValue())];
CellVideoOutResolution res = ResolutionTable[ResolutionIdToNum((u32)rpcs3::state.config.rsx.resolution.value())];
SetClientSize(res.width, res.height);
wxGetApp().Bind(wxEVT_KEY_DOWN, &GSFrame::OnKeyDown, this);
Bind(wxEVT_CLOSE_WINDOW, &GSFrame::OnClose, this);

View File

@ -7,7 +7,6 @@
#include "Emu/FS/VFS.h"
#include "Emu/FS/vfsDir.h"
#include "Emu/FS/vfsFile.h"
#include "Emu/state.h"
#include "GameViewer.h"
#include "Loader/PSF.h"
#include "SettingsDialog.h"
@ -245,7 +244,7 @@ void GameViewer::DClick(wxListEvent& event)
return;
}
if (Ini.HLEAlwaysStart.GetValue() && Emu.IsReady())
if (rpcs3::config.misc.always_start.value() && Emu.IsReady())
{
Emu.Run();
}

View File

@ -2,9 +2,10 @@
#include <wx/listctrl.h>
#include <wx/imaglist.h>
#include <wx/log.h>
#include "rpcs3/Ini.h"
#include "Emu/GameInfo.h"
#include "Emu/state.h"
#include "Utilities/Log.h"
#include "Ini.h"
struct Column
{

View File

@ -81,13 +81,13 @@ void LLEModulesManagerFrame::Refresh()
m_funcs.push_back(name);
IniEntry<bool> load_lib;
load_lib.Init(name, "LLE");
//IniEntry<bool> load_lib;
//load_lib.Init(name, "LLE");
m_check_list->Check(m_check_list->Append(name +
" v" + std::to_string((int)sprx_loader.m_sprx_module_info.version[0]) +
"." + std::to_string((int)sprx_loader.m_sprx_module_info.version[1])),
load_lib.LoadValue(false));
false);
}
}
@ -99,9 +99,9 @@ void LLEModulesManagerFrame::UpdateSelection(int index)
if (index < 0)
return;
IniEntry<bool> load_lib;
load_lib.Init(m_funcs[index], "LLE");
load_lib.SaveValue(m_check_list->IsChecked(index));
//IniEntry<bool> load_lib;
//load_lib.Init(m_funcs[index], "LLE");
//load_lib.SaveValue(m_check_list->IsChecked(index));
}
void LLEModulesManagerFrame::OnSelectAll(wxCommandEvent& WXUNUSED(event), bool is_checked)

View File

@ -1,6 +1,7 @@
#include "stdafx_gui.h"
#include "Ini.h"
#include "rpcs3.h"
#include "config.h"
#include "MainFrame.h"
#include "git-version.h"
@ -182,16 +183,18 @@ void MainFrame::AddPane(wxWindow* wind, const wxString& caption, int flags)
void MainFrame::DoSettings(bool load)
{
IniEntry<std::string> ini;
ini.Init("Settings", "MainFrameAui");
if(load)
{
m_aui_mgr.LoadPerspective(fmt::FromUTF8(ini.LoadValue(fmt::ToUTF8(m_aui_mgr.SavePerspective()))));
// replace all '=' with '~' for ini-manager
if(!rpcs3::config.gui.aui_mgr_perspective.value().size())
rpcs3::config.gui.aui_mgr_perspective = fmt::replace_all(fmt::ToUTF8(m_aui_mgr.SavePerspective()), "=", "~");
m_aui_mgr.LoadPerspective(fmt::FromUTF8(fmt::replace_all(rpcs3::config.gui.aui_mgr_perspective.value(), "~", "=")));
}
else
{
ini.SaveValue(fmt::ToUTF8(m_aui_mgr.SavePerspective()));
rpcs3::config.gui.aui_mgr_perspective = fmt::replace_all(fmt::ToUTF8(m_aui_mgr.SavePerspective()), "=", "~");
rpcs3::config.save();
}
}

View File

@ -1,5 +1,4 @@
#include "stdafx_gui.h"
#include "rpcs3/Ini.h"
#include "Utilities/rPlatform.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"

View File

@ -2,6 +2,7 @@
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "rpcs3.h"
#include "PADManager.h"
@ -257,36 +258,36 @@ void PADManager::OnKeyDown(wxKeyEvent &keyEvent)
switch (m_button_id)
{
case id_pad_lstick_left: Ini.PadHandlerLStickLeft.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_lstick_down: Ini.PadHandlerLStickDown.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_lstick_right: Ini.PadHandlerLStickRight.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_lstick_up: Ini.PadHandlerLStickUp.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_lstick_left: rpcs3::config.io.pad.left_stick_left = keyEvent.GetKeyCode(); break;
case id_pad_lstick_down: rpcs3::config.io.pad.left_stick_down = keyEvent.GetKeyCode(); break;
case id_pad_lstick_right: rpcs3::config.io.pad.left_stick_right = keyEvent.GetKeyCode(); break;
case id_pad_lstick_up: rpcs3::config.io.pad.left_stick_up = keyEvent.GetKeyCode(); break;
case id_pad_left: Ini.PadHandlerLeft.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_down: Ini.PadHandlerDown.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_right: Ini.PadHandlerRight.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_up: Ini.PadHandlerUp.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_left: rpcs3::config.io.pad.left = keyEvent.GetKeyCode(); break;
case id_pad_down: rpcs3::config.io.pad.down = keyEvent.GetKeyCode(); break;
case id_pad_right: rpcs3::config.io.pad.right = keyEvent.GetKeyCode(); break;
case id_pad_up: rpcs3::config.io.pad.up = keyEvent.GetKeyCode(); break;
case id_pad_l1: Ini.PadHandlerL1.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_l2: Ini.PadHandlerL2.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_l3: Ini.PadHandlerL3.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_l1: rpcs3::config.io.pad.l1 = keyEvent.GetKeyCode(); break;
case id_pad_l2: rpcs3::config.io.pad.l2 = keyEvent.GetKeyCode(); break;
case id_pad_l3: rpcs3::config.io.pad.l3 = keyEvent.GetKeyCode(); break;
case id_pad_start: Ini.PadHandlerStart.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_select: Ini.PadHandlerSelect.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_start: rpcs3::config.io.pad.start = keyEvent.GetKeyCode(); break;
case id_pad_select: rpcs3::config.io.pad.select = keyEvent.GetKeyCode(); break;
case id_pad_r1: Ini.PadHandlerR1.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_r2: Ini.PadHandlerR2.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_r3: Ini.PadHandlerR3.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_r1: rpcs3::config.io.pad.r1 = keyEvent.GetKeyCode(); break;
case id_pad_r2: rpcs3::config.io.pad.r2 = keyEvent.GetKeyCode(); break;
case id_pad_r3: rpcs3::config.io.pad.r3 = keyEvent.GetKeyCode(); break;
case id_pad_square: Ini.PadHandlerSquare.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_cross: Ini.PadHandlerCross.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_circle: Ini.PadHandlerCircle.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_triangle: Ini.PadHandlerTriangle.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_square: rpcs3::config.io.pad.square = keyEvent.GetKeyCode(); break;
case id_pad_cross: rpcs3::config.io.pad.cross = keyEvent.GetKeyCode(); break;
case id_pad_circle: rpcs3::config.io.pad.circle = keyEvent.GetKeyCode(); break;
case id_pad_triangle: rpcs3::config.io.pad.triangle = keyEvent.GetKeyCode(); break;
case id_pad_rstick_left: Ini.PadHandlerRStickLeft.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_rstick_down: Ini.PadHandlerRStickDown.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_rstick_right: Ini.PadHandlerRStickRight.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_rstick_up: Ini.PadHandlerRStickUp.SetValue(keyEvent.GetKeyCode()); break;
case id_pad_rstick_left: rpcs3::config.io.pad.right_stick_left = keyEvent.GetKeyCode(); break;
case id_pad_rstick_down: rpcs3::config.io.pad.right_stick_down = keyEvent.GetKeyCode(); break;
case id_pad_rstick_right: rpcs3::config.io.pad.right_stick_right = keyEvent.GetKeyCode(); break;
case id_pad_rstick_up: rpcs3::config.io.pad.right_stick_up = keyEvent.GetKeyCode(); break;
case 0: break;
default: LOG_ERROR(HLE, "Unknown button ID: %d", m_button_id); break;
@ -320,7 +321,7 @@ void PADManager::OnButtonClicked(wxCommandEvent &event)
switch (event.GetId())
{
case id_reset_parameters: ResetParameters(); UpdateLabel(); break;
case wxID_OK: Ini.Save(); break;
case wxID_OK: rpcs3::config.save(); break;
case wxID_CANCEL: break;
default: LOG_ERROR(HLE, "Unknown button ID: %d", event.GetId()); break;
@ -408,70 +409,70 @@ const wxString PADManager::GetKeyName(const u32 keyCode)
void PADManager::UpdateLabel()
{
// Get button labels from .ini
b_up_lstick->SetLabel(GetKeyName(Ini.PadHandlerLStickUp.GetValue()));
b_down_lstick->SetLabel(GetKeyName(Ini.PadHandlerLStickDown.GetValue()));
b_left_lstick->SetLabel(GetKeyName(Ini.PadHandlerLStickLeft.GetValue()));
b_right_lstick->SetLabel(GetKeyName(Ini.PadHandlerLStickRight.GetValue()));
b_up_lstick->SetLabel(GetKeyName(rpcs3::config.io.pad.left_stick_up.value()));
b_down_lstick->SetLabel(GetKeyName(rpcs3::config.io.pad.left_stick_down.value()));
b_left_lstick->SetLabel(GetKeyName(rpcs3::config.io.pad.left_stick_left.value()));
b_right_lstick->SetLabel(GetKeyName(rpcs3::config.io.pad.left_stick_right.value()));
b_up->SetLabel(GetKeyName(Ini.PadHandlerUp.GetValue()));
b_down->SetLabel(GetKeyName(Ini.PadHandlerDown.GetValue()));
b_left->SetLabel(GetKeyName(Ini.PadHandlerLeft.GetValue()));
b_right->SetLabel(GetKeyName(Ini.PadHandlerRight.GetValue()));
b_up->SetLabel(GetKeyName(rpcs3::config.io.pad.up.value()));
b_down->SetLabel(GetKeyName(rpcs3::config.io.pad.down.value()));
b_left->SetLabel(GetKeyName(rpcs3::config.io.pad.left.value()));
b_right->SetLabel(GetKeyName(rpcs3::config.io.pad.right.value()));
b_shift_l1->SetLabel(GetKeyName(Ini.PadHandlerL1.GetValue()));
b_shift_l2->SetLabel(GetKeyName(Ini.PadHandlerL2.GetValue()));
b_shift_l3->SetLabel(GetKeyName(Ini.PadHandlerL3.GetValue()));
b_shift_l1->SetLabel(GetKeyName(rpcs3::config.io.pad.l1.value()));
b_shift_l2->SetLabel(GetKeyName(rpcs3::config.io.pad.l2.value()));
b_shift_l3->SetLabel(GetKeyName(rpcs3::config.io.pad.l3.value()));
b_start->SetLabel(GetKeyName(Ini.PadHandlerStart.GetValue()));
b_select->SetLabel(GetKeyName(Ini.PadHandlerSelect.GetValue()));
b_start->SetLabel(GetKeyName(rpcs3::config.io.pad.start.value()));
b_select->SetLabel(GetKeyName(rpcs3::config.io.pad.select.value()));
b_shift_r1->SetLabel(GetKeyName(Ini.PadHandlerR1.GetValue()));
b_shift_r2->SetLabel(GetKeyName(Ini.PadHandlerR2.GetValue()));
b_shift_r3->SetLabel(GetKeyName(Ini.PadHandlerR3.GetValue()));
b_shift_r1->SetLabel(GetKeyName(rpcs3::config.io.pad.r1.value()));
b_shift_r2->SetLabel(GetKeyName(rpcs3::config.io.pad.r2.value()));
b_shift_r3->SetLabel(GetKeyName(rpcs3::config.io.pad.r3.value()));
b_square->SetLabel(GetKeyName(Ini.PadHandlerSquare.GetValue()));
b_cross->SetLabel(GetKeyName(Ini.PadHandlerCross.GetValue()));
b_circle->SetLabel(GetKeyName(Ini.PadHandlerCircle.GetValue()));
b_triangle->SetLabel(GetKeyName(Ini.PadHandlerTriangle.GetValue()));
b_square->SetLabel(GetKeyName(rpcs3::config.io.pad.square.value()));
b_cross->SetLabel(GetKeyName(rpcs3::config.io.pad.cross.value()));
b_circle->SetLabel(GetKeyName(rpcs3::config.io.pad.circle.value()));
b_triangle->SetLabel(GetKeyName(rpcs3::config.io.pad.triangle.value()));
b_up_rstick->SetLabel(GetKeyName(Ini.PadHandlerRStickUp.GetValue()));
b_down_rstick->SetLabel(GetKeyName(Ini.PadHandlerRStickDown.GetValue()));
b_left_rstick->SetLabel(GetKeyName(Ini.PadHandlerRStickLeft.GetValue()));
b_right_rstick->SetLabel(GetKeyName(Ini.PadHandlerRStickRight.GetValue()));
b_up_rstick->SetLabel(GetKeyName(rpcs3::config.io.pad.right_stick_up.value()));
b_down_rstick->SetLabel(GetKeyName(rpcs3::config.io.pad.right_stick_down.value()));
b_left_rstick->SetLabel(GetKeyName(rpcs3::config.io.pad.right_stick_left.value()));
b_right_rstick->SetLabel(GetKeyName(rpcs3::config.io.pad.right_stick_right.value()));
}
void PADManager::ResetParameters()
{
Ini.PadHandlerLStickUp.SetValue(315);
Ini.PadHandlerLStickDown.SetValue(317);
Ini.PadHandlerLStickLeft.SetValue(314);
Ini.PadHandlerLStickRight.SetValue(316);
rpcs3::config.io.pad.left_stick_up = 315;
rpcs3::config.io.pad.left_stick_down = 317;
rpcs3::config.io.pad.left_stick_left = 314;
rpcs3::config.io.pad.left_stick_right = 316;
Ini.PadHandlerUp.SetValue(static_cast<int>('W'));
Ini.PadHandlerDown.SetValue(static_cast<int>('S'));
Ini.PadHandlerLeft.SetValue(static_cast<int>('A'));
Ini.PadHandlerRight.SetValue(static_cast<int>('D'));
rpcs3::config.io.pad.up = static_cast<int>('W');
rpcs3::config.io.pad.down = static_cast<int>('S');
rpcs3::config.io.pad.left = static_cast<int>('A');
rpcs3::config.io.pad.right = static_cast<int>('D');
Ini.PadHandlerL1.SetValue(static_cast<int>('1'));
Ini.PadHandlerL2.SetValue(static_cast<int>('Q'));
Ini.PadHandlerL3.SetValue(static_cast<int>('Z'));
rpcs3::config.io.pad.l1 = static_cast<int>('1');
rpcs3::config.io.pad.l2 = static_cast<int>('Q');
rpcs3::config.io.pad.l3 = static_cast<int>('Z');
Ini.PadHandlerStart.SetValue(13);
Ini.PadHandlerSelect.SetValue(32);
rpcs3::config.io.pad.start = 13;
rpcs3::config.io.pad.select = 32;
Ini.PadHandlerR1.SetValue(static_cast<int>('3'));
Ini.PadHandlerR2.SetValue(static_cast<int>('E'));
Ini.PadHandlerR3.SetValue(static_cast<int>('C'));
rpcs3::config.io.pad.r1 = static_cast<int>('3');
rpcs3::config.io.pad.r2 = static_cast<int>('E');
rpcs3::config.io.pad.r3 = static_cast<int>('C');
Ini.PadHandlerSquare.SetValue(static_cast<int>('J'));
Ini.PadHandlerCross.SetValue(static_cast<int>('K'));
Ini.PadHandlerCircle.SetValue(static_cast<int>('L'));
Ini.PadHandlerTriangle.SetValue(static_cast<int>('I'));
rpcs3::config.io.pad.square = static_cast<int>('J');
rpcs3::config.io.pad.cross = static_cast<int>('K');
rpcs3::config.io.pad.circle = static_cast<int>('L');
rpcs3::config.io.pad.triangle = static_cast<int>('I');
Ini.PadHandlerRStickUp.SetValue(366);
Ini.PadHandlerRStickDown.SetValue(367);
Ini.PadHandlerRStickLeft.SetValue(313);
Ini.PadHandlerRStickRight.SetValue(312);
rpcs3::config.io.pad.right_stick_up = 366;
rpcs3::config.io.pad.right_stick_down = 367;
rpcs3::config.io.pad.right_stick_left = 313;
rpcs3::config.io.pad.right_stick_right = 312;
}
void PADManager::UpdateTimerLabel(const u32 id)

View File

@ -2,11 +2,11 @@
#include "RSXDebugger.h"
#include "rpcs3/Ini.h"
#include "Utilities/rPlatform.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules/cellVideoOut.h"
#include "Emu/RSX/GSManager.h"
@ -164,7 +164,7 @@ RSXDebugger::RSXDebugger(wxWindow* parent)
wxStaticBoxSizer* s_buffers_text = new wxStaticBoxSizer(wxHORIZONTAL, this, "Texture");
//Buffers and textures
CellVideoOutResolution res = ResolutionTable[ResolutionIdToNum(Ini.GSResolution.GetValue())];
CellVideoOutResolution res = ResolutionTable[ResolutionIdToNum((u32)rpcs3::state.config.rsx.resolution.value())];
m_panel_width = (res.width*108)/res.height;
m_panel_height = 108;
m_text_width = 108;

View File

@ -1,6 +1,5 @@
#include "stdafx_gui.h"
#include "Ini.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/Modules/cellVideoOut.h"
@ -320,59 +319,7 @@ SettingsDialog::SettingsDialog(wxWindow *parent, rpcs3::config_t* cfg)
for (const auto& lang : s_langs)
cbox_sys_lang->Append(lang);
// Get values from .ini
chbox_core_llvm_exclud->SetValue(Ini.LLVMExclusionRange.GetValue());
chbox_gs_log_prog->SetValue(Ini.GSLogPrograms.GetValue());
chbox_gs_dump_depth->SetValue((bool)cfg->rsx.opengl.write_depth_buffer);
chbox_gs_dump_color->SetValue((bool)cfg->rsx.opengl.write_color_buffers);
chbox_gs_read_color->SetValue((bool)cfg->rsx.opengl.read_color_buffers);
chbox_gs_read_depth->SetValue((bool)cfg->rsx.opengl.read_depth_buffer);
chbox_gs_vsync->SetValue(Ini.GSVSyncEnable.GetValue());
chbox_gs_debug_output->SetValue(Ini.GSDebugOutputEnable.GetValue());
chbox_gs_3dmonitor->SetValue(Ini.GS3DTV.GetValue());
chbox_gs_overlay->SetValue(Ini.GSOverlay.GetValue());
chbox_audio_dump->SetValue(Ini.AudioDumpToFile.GetValue());
chbox_audio_conv->SetValue(Ini.AudioConvertToU16.GetValue());
chbox_hle_logging->SetValue(Ini.HLELogging.GetValue());
chbox_rsx_logging->SetValue(Ini.RSXLogging.GetValue());
chbox_hle_savetty->SetValue(Ini.HLESaveTTY.GetValue());
chbox_hle_exitonstop->SetValue(Ini.HLEExitOnStop.GetValue());
chbox_hle_always_start->SetValue(Ini.HLEAlwaysStart.GetValue());
chbox_hle_use_default_ini->SetValue(Ini.UseDefaultIni.GetValue());
chbox_core_hook_stfunc->SetValue(Ini.HookStFunc.GetValue());
chbox_core_load_liblv2->SetValue(Ini.LoadLibLv2.GetValue());
//Auto Pause related
chbox_dbg_ap_systemcall->SetValue(Ini.DBGAutoPauseSystemCall.GetValue());
chbox_dbg_ap_functioncall->SetValue(Ini.DBGAutoPauseFunctionCall.GetValue());
//Custom EmulationDir
chbox_emulationdir_enable->SetValue(Ini.SysEmulationDirPathEnable.GetValue());
txt_emulationdir_path->SetValue(Ini.SysEmulationDirPath.GetValue());
rbox_ppu_decoder->SetSelection((int)cfg->core.ppu_decoder.value());
txt_dbg_range_min->SetValue(std::to_string(Ini.LLVMMinId.GetValue()));
txt_dbg_range_max->SetValue(std::to_string(Ini.LLVMMaxId.GetValue()));
txt_llvm_threshold->SetValue(std::to_string(Ini.LLVMThreshold.GetValue()));
rbox_spu_decoder->SetSelection((int)cfg->core.spu_decoder.value());
cbox_gs_render->SetSelection((int)cfg->rsx.renderer.value());
cbox_gs_d3d_adaptater->SetSelection(Ini.GSD3DAdaptater.GetValue());
cbox_gs_resolution->SetSelection(ResolutionIdToNum(Ini.GSResolution.GetValue()) - 1);
cbox_gs_aspect->SetSelection(Ini.GSAspectRatio.GetValue() - 1);
cbox_gs_frame_limit->SetSelection(Ini.GSFrameLimit.GetValue());
cbox_pad_handler->SetSelection((int)cfg->io.pad_handler_mode.value());
cbox_keyboard_handler->SetSelection((int)cfg->io.keyboard_handler_mode.value());
cbox_mouse_handler->SetSelection((int)cfg->io.mouse_handler_mode.value());
cbox_audio_out->SetSelection((int)cfg->audio.out.value());
cbox_camera->SetSelection(Ini.Camera.GetValue());
cbox_camera_type->SetSelection(Ini.CameraType.GetValue());
cbox_hle_loglvl->SetSelection(Ini.HLELogLvl.GetValue());
cbox_net_status->SetSelection(Ini.NETStatus.GetValue());
cbox_net_interface->SetSelection(Ini.NETInterface.GetValue());
cbox_sys_lang->SetSelection(Ini.SysLanguage.GetValue());
// TODO: use later
/*chbox_core_llvm_exclud->SetValue(cfg->core.llvm.exclusion_range.value());
chbox_core_llvm_exclud->SetValue(cfg->core.llvm.exclusion_range.value());
chbox_gs_log_prog->SetValue(rpcs3::config.rsx.log_programs.value());
chbox_gs_dump_depth->SetValue(cfg->rsx.opengl.write_depth_buffer.value());
chbox_gs_dump_color->SetValue(cfg->rsx.opengl.write_color_buffers.value());
@ -408,8 +355,8 @@ SettingsDialog::SettingsDialog(wxWindow *parent, rpcs3::config_t* cfg)
rbox_spu_decoder->SetSelection((int)cfg->core.spu_decoder.value());
cbox_gs_render->SetSelection((int)cfg->rsx.renderer.value());
cbox_gs_d3d_adaptater->SetSelection(cfg->rsx.d3d12.adaptater.value());
cbox_gs_resolution->SetSelection(ResolutionIdToNum((int)cfg->rsx.resolution.value() - 1));
cbox_gs_aspect->SetSelection((int)cfg->rsx.aspect_ratio.value());
cbox_gs_resolution->SetSelection(ResolutionIdToNum((int)cfg->rsx.resolution.value()) - 1);
cbox_gs_aspect->SetSelection((int)cfg->rsx.aspect_ratio.value() - 1);
cbox_gs_frame_limit->SetSelection((int)cfg->rsx.frame_limit.value());
cbox_pad_handler->SetSelection((int)cfg->io.pad_handler_mode.value());
cbox_keyboard_handler->SetSelection((int)cfg->io.keyboard_handler_mode.value());
@ -420,7 +367,7 @@ SettingsDialog::SettingsDialog(wxWindow *parent, rpcs3::config_t* cfg)
cbox_hle_loglvl->SetSelection((int)rpcs3::config.misc.log.level.value());
cbox_net_status->SetSelection((int)rpcs3::config.misc.net.status.value());
cbox_net_interface->SetSelection((int)rpcs3::config.misc.net._interface.value());
cbox_sys_lang->SetSelection((int)rpcs3::config.system.language.value());*/
cbox_sys_lang->SetSelection((int)rpcs3::config.system.language.value());
// Core
s_round_llvm->Add(chbox_core_llvm_exclud, wxSizerFlags().Border(wxALL, 5).Expand());
@ -546,58 +493,8 @@ SettingsDialog::SettingsDialog(wxWindow *parent, rpcs3::config_t* cfg)
txt_dbg_range_max->GetValue().ToLong(&maxllvmid);
txt_llvm_threshold->GetValue().ToLong(&llvmthreshold);
Ini.LLVMExclusionRange.SetValue(chbox_core_llvm_exclud->GetValue());
Ini.LLVMMinId.SetValue((u32)minllvmid);
Ini.LLVMMaxId.SetValue((u32)maxllvmid);
Ini.LLVMThreshold.SetValue((u32)llvmthreshold);
cfg->core.spu_decoder = (spu_decoder_type)rbox_spu_decoder->GetSelection();
Ini.HookStFunc.SetValue(chbox_core_hook_stfunc->GetValue());
Ini.LoadLibLv2.SetValue(chbox_core_load_liblv2->GetValue());
cfg->rsx.renderer = cbox_gs_render->GetSelection();
Ini.GSD3DAdaptater.SetValue(cbox_gs_d3d_adaptater->GetSelection());
Ini.GSResolution.SetValue(ResolutionNumToId(cbox_gs_resolution->GetSelection() + 1));
Ini.GSAspectRatio.SetValue(cbox_gs_aspect->GetSelection() + 1);
Ini.GSFrameLimit.SetValue(cbox_gs_frame_limit->GetSelection());
Ini.GSLogPrograms.SetValue(chbox_gs_log_prog->GetValue());
cfg->rsx.opengl.write_depth_buffer = chbox_gs_dump_depth->GetValue();
cfg->rsx.opengl.write_color_buffers = chbox_gs_dump_color->GetValue();
cfg->rsx.opengl.read_color_buffers = chbox_gs_read_color->GetValue();
cfg->rsx.opengl.read_depth_buffer = chbox_gs_read_depth->GetValue();
Ini.GSVSyncEnable.SetValue(chbox_gs_vsync->GetValue());
Ini.GSDebugOutputEnable.SetValue(chbox_gs_debug_output->GetValue());
Ini.GS3DTV.SetValue(chbox_gs_3dmonitor->GetValue());
Ini.GSOverlay.SetValue(chbox_gs_overlay->GetValue());
cfg->io.pad_handler_mode = cbox_pad_handler->GetSelection();
cfg->io.keyboard_handler_mode = cbox_keyboard_handler->GetSelection();
cfg->io.mouse_handler_mode = cbox_mouse_handler->GetSelection();
cfg->audio.out = cbox_audio_out->GetSelection();
Ini.AudioDumpToFile.SetValue(chbox_audio_dump->GetValue());
Ini.AudioConvertToU16.SetValue(chbox_audio_conv->GetValue());
Ini.Camera.SetValue(cbox_camera->GetSelection());
Ini.CameraType.SetValue(cbox_camera_type->GetSelection());
Ini.HLELogging.SetValue(chbox_hle_logging->GetValue());
Ini.RSXLogging.SetValue(chbox_rsx_logging->GetValue());
Ini.HLESaveTTY.SetValue(chbox_hle_savetty->GetValue());
Ini.HLEExitOnStop.SetValue(chbox_hle_exitonstop->GetValue());
Ini.HLELogLvl.SetValue(cbox_hle_loglvl->GetSelection());
Ini.NETStatus.SetValue(cbox_net_status->GetSelection());
Ini.NETInterface.SetValue(cbox_net_interface->GetSelection());
Ini.SysLanguage.SetValue(cbox_sys_lang->GetSelection());
Ini.HLEAlwaysStart.SetValue(chbox_hle_always_start->GetValue());
Ini.UseDefaultIni.SetValue(chbox_hle_use_default_ini->GetValue());
//Auto Pause
Ini.DBGAutoPauseFunctionCall.SetValue(chbox_dbg_ap_functioncall->GetValue());
Ini.DBGAutoPauseSystemCall.SetValue(chbox_dbg_ap_systemcall->GetValue());
//Custom EmulationDir
Ini.SysEmulationDirPathEnable.SetValue(chbox_emulationdir_enable->GetValue());
Ini.SysEmulationDirPath.SetValue(txt_emulationdir_path->GetValue().ToStdString());
// TODO: use later
// individual settings
/*cfg->core.ppu_decoder = rbox_ppu_decoder->GetSelection();
cfg->core.ppu_decoder = rbox_ppu_decoder->GetSelection();
cfg->core.llvm.exclusion_range = chbox_core_llvm_exclud->GetValue();
cfg->core.llvm.min_id = minllvmid;
cfg->core.llvm.max_id = maxllvmid;
@ -615,8 +512,6 @@ SettingsDialog::SettingsDialog(wxWindow *parent, rpcs3::config_t* cfg)
cfg->rsx.opengl.write_color_buffers = chbox_gs_dump_color->GetValue();
cfg->rsx.opengl.read_color_buffers = chbox_gs_read_color->GetValue();
cfg->rsx.opengl.read_depth_buffer = chbox_gs_read_depth->GetValue();
cfg->rsx.d3d12.debug_output = chbox_gs_debug_output->GetValue();
cfg->rsx.d3d12.overlay = chbox_gs_overlay->GetValue();
cfg->audio.out = cbox_audio_out->GetSelection();
@ -631,6 +526,8 @@ SettingsDialog::SettingsDialog(wxWindow *parent, rpcs3::config_t* cfg)
rpcs3::config.rsx.log_programs = chbox_gs_log_prog->GetValue();
rpcs3::config.rsx.vsync = chbox_gs_vsync->GetValue();
rpcs3::config.rsx._3dtv = chbox_gs_3dmonitor->GetValue();
rpcs3::config.rsx.d3d12.debug_output = chbox_gs_debug_output->GetValue();
rpcs3::config.rsx.d3d12.overlay = chbox_gs_overlay->GetValue();
rpcs3::config.audio.dump_to_file = chbox_audio_dump->GetValue();
rpcs3::config.audio.convert_to_u16 = chbox_audio_conv->GetValue();
rpcs3::config.misc.log.level = cbox_hle_loglvl->GetSelection();
@ -646,11 +543,10 @@ SettingsDialog::SettingsDialog(wxWindow *parent, rpcs3::config_t* cfg)
rpcs3::config.misc.use_default_ini = chbox_hle_use_default_ini->GetValue();
rpcs3::config.system.language = cbox_sys_lang->GetSelection();
rpcs3::config.system.emulation_dir_path_enable = chbox_emulationdir_enable->GetValue();
rpcs3::config.system.emulation_dir_path = txt_emulationdir_path->GetValue().ToStdString();*/
//rpcs3::config.save();
rpcs3::config.system.emulation_dir_path = txt_emulationdir_path->GetValue().ToStdString();
rpcs3::config.save();
cfg->save();
Ini.Save();
}
if (was_running) Emu.Resume();

View File

@ -2,7 +2,7 @@
#include "Utilities/Log.h"
#include "VHDDManager.h"
#include "TextInputDialog.h"
#include "Ini.h"
#include "Emu/state.h"
#include <wx/busyinfo.h>
VHDDListDropTarget::VHDDListDropTarget(wxListView* parent) : m_parent(parent)
@ -527,7 +527,7 @@ void VHDDManagerDialog::OnOk(wxCommandEvent& event)
void VHDDManagerDialog::LoadPaths()
{
IniEntry<int> path_count;
/*IniEntry<int> path_count;
path_count.Init("path_count", "HDDManager");
size_t count = 0;
count = path_count.LoadValue(count);
@ -537,12 +537,12 @@ void VHDDManagerDialog::LoadPaths()
IniEntry<std::string> path_entry;
path_entry.Init(fmt::format("path[%d]", i), "HDDManager");
m_paths.emplace_back(path_entry.LoadValue(""));
}
}*/
}
void VHDDManagerDialog::SavePaths()
{
IniEntry<int> path_count;
/*IniEntry<int> path_count;
path_count.Init("path_count", "HDDManager");
path_count.SaveValue(m_paths.size());
@ -551,5 +551,5 @@ void VHDDManagerDialog::SavePaths()
IniEntry<std::string> path_entry;
path_entry.Init(fmt::format("path[%d]", i), "HDDManager");
path_entry.SaveValue(m_paths[i]);
}
}*/
}

View File

@ -1,14 +1,14 @@
#include "stdafx.h"
#include "Ini.h"
#include "ELF32.h"
#include "Utilities/Log.h"
#include "Emu/FS/vfsStream.h"
#include "Emu/Memory/Memory.h"
#include "ELF32.h"
#include "Emu/Cell/SPUThread.h"
#include "Emu/ARMv7/ARMv7Thread.h"
#include "Emu/ARMv7/ARMv7Decoder.h"
#include "Emu/ARMv7/PSVFuncList.h"
#include "Emu/System.h"
#include "Emu/state.h"
extern void armv7_init_tls();
@ -323,7 +323,7 @@ namespace loader
{
LOG_ERROR(LOADER, ".sceRefs: movw writing failed (ref_addr=0x%x, addr=0x%x)", code, code[1]);
}
else //if (Ini.HLELogging.GetValue())
else //if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(LOADER, ".sceRefs: movw written at 0x%x (ref_addr=0x%x, data=0x%x)", code[1], code, data);
}
@ -339,7 +339,7 @@ namespace loader
{
LOG_ERROR(LOADER, ".sceRefs: movt writing failed (ref_addr=0x%x, addr=0x%x)", code, code[1]);
}
else //if (Ini.HLELogging.GetValue())
else //if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(LOADER, ".sceRefs: movt written at 0x%x (ref_addr=0x%x, data=0x%x)", code[1], code, data);
}
@ -353,7 +353,7 @@ namespace loader
{
data = 0;
if (Ini.HLELogging.GetValue())
if (rpcs3::config.misc.log.hle_logging.value())
{
LOG_NOTICE(LOADER, ".sceRefs: zero code found");
}

View File

@ -6,13 +6,13 @@
#include "Emu/Memory/Memory.h"
#include "Emu/IdManager.h"
#include "Emu/System.h"
#include "Emu/state.h"
#include "Emu/SysCalls/SysCalls.h"
#include "Emu/SysCalls/Modules.h"
#include "Emu/SysCalls/ModuleManager.h"
#include "Emu/SysCalls/lv2/sys_prx.h"
#include "Emu/Cell/PPUInstrTable.h"
#include "ELF64.h"
#include "Ini.h"
using namespace PPU_instr;
@ -331,7 +331,7 @@ namespace loader
continue;
}
if (Ini.LoadLibLv2.GetValue())
if (rpcs3::state.config.core.load_liblv2.value())
{
if (module->name != "liblv2.sprx")
{
@ -349,15 +349,15 @@ namespace loader
if (sprx_handler.is_sprx())
{
if (!Ini.LoadLibLv2.GetValue())
if (!rpcs3::state.config.core.load_liblv2.value())
{
IniEntry<bool> load_lib;
/*IniEntry<bool> load_lib;
load_lib.Init(sprx_handler.sprx_get_module_name(), "LLE");
if (!load_lib.LoadValue(false))
{
continue;
}
}*/
}
LOG_WARNING(LOADER, "Loading LLE library '%s'", sprx_handler.sprx_get_module_name().c_str());
@ -617,7 +617,7 @@ namespace loader
m_stream->Seek(handler::get_stream_offset() + phdr.p_offset);
m_stream->Read(phdr.p_vaddr.get_ptr(), phdr.p_filesz);
if (Ini.HookStFunc.GetValue())
if (rpcs3::state.config.core.hook_st_func.value())
{
hook_ppu_funcs(vm::static_ptr_cast<u32>(phdr.p_vaddr), phdr.p_filesz / 4);
}

View File

@ -55,8 +55,8 @@ enum class rsx_renderer_type
enum class rsx_aspect_ratio
{
_16x9 = 1,
_4x3
_4x3 = 1,
_16x9
};
enum class rsx_frame_limit
@ -71,14 +71,14 @@ enum class rsx_frame_limit
enum class rsx_resolution
{
_1920x1080,
_1280x720,
_720x480,
_720x576,
_1600x1080,
_1440x1080,
_1280x1080,
_960x1080
_1920x1080 = 1,
_1280x720 = 2,
_720x480 = 4,
_720x576 = 5,
_1600x1080 = 10,
_1440x1080 = 11,
_1280x1080 = 12,
_960x1080 = 13
};
namespace convert
@ -284,7 +284,7 @@ namespace convert
if (value == "interpreter2")
return ppu_decoder_type::interpreter2;
if (value == "DX12")
if (value == "recompiler_llvm")
return ppu_decoder_type::recompiler_llvm;
return ppu_decoder_type::interpreter;
@ -561,8 +561,6 @@ namespace convert
}
namespace rpcs3
{
class config_t : public config_context_t
@ -570,6 +568,30 @@ namespace rpcs3
std::string m_path;
public:
struct gui_group : protected group
{
gui_group(config_context_t *cfg) : group{ cfg, "gui" } {}
struct size_group : protected group
{
size_group(group *grp) : group{ grp, "size" } {}
entry<int> width{ this, "width", 900 };
entry<int> hight{ this, "hight", 600 };
} size{ this };
struct position_group : protected group
{
position_group(group *grp) : group{ grp, "position" } {}
entry<int> x{ this, "horizontal", -1 };
entry<int> y{ this, "vertical", -1 };
} position{ this };
entry<std::string> aui_mgr_perspective{ this, "MainFrameAui", "" };
} gui{ this };
struct core_group : protected group
{
core_group(config_context_t *cfg) : group{ cfg, "core" } {}
@ -608,8 +630,8 @@ namespace rpcs3
d3d12_group(group *grp) : group{ grp, "d3d12" } {}
entry<u32> adaptater { this, "D3D Adaptater", 1 };
entry<bool> debug_output { this, "Debug Output", true };
entry<bool> overlay { this, "Debug overlay", true };
entry<bool> debug_output { this, "Debug Output", false };
entry<bool> overlay { this, "Debug overlay", false };
} d3d12{ this };
rsx_group(config_context_t *cfg) : group{ cfg, "rsx" } {}
@ -707,7 +729,7 @@ namespace rpcs3
entry<bool> exit_on_stop { this, "Exit RPCS3 when process finishes", false };
entry<bool> always_start { this, "Always start after boot", true };
entry<bool> use_default_ini { this, "Use default configuration", false };
entry<bool> use_default_ini { this, "Use default configuration", true };
} misc{ this };
struct system_group : protected group

View File

@ -3,11 +3,12 @@
#include "Emu/System.h"
#include "Emu/state.h"
#include "rpcs3.h"
#include "Ini.h"
#include "Utilities/Log.h"
#include "Gui/ConLogFrame.h"
#include "Emu/GameInfo.h"
#include "Ini.h"
#include "Emu/Io/Keyboard.h"
#include "Emu/Io/Null/NullKeyboardHandler.h"
#include "Emu/Io/Windows/WindowsKeyboardHandler.h"
@ -199,6 +200,7 @@ void Rpcs3App::Exit()
}
Emu.Stop();
rpcs3::config.save();
Ini.Save();
wxApp::Exit();