From c0255208cccb559b9298a62607264686e375b04b Mon Sep 17 00:00:00 2001 From: O1L Date: Tue, 27 Oct 2015 01:09:31 +0400 Subject: [PATCH] Old ini-manager only partially used in VFS. Global configuration used as defualt. --- Utilities/AutoPause.cpp | 6 +- Utilities/Thread.cpp | 6 +- rpcs3/Emu/ARMv7/ARMv7Thread.cpp | 1 - rpcs3/Emu/Audio/AL/OpenALThread.cpp | 6 +- rpcs3/Emu/Audio/AudioManager.cpp | 3 +- rpcs3/Emu/Audio/XAudio2/XAudio2Thread.cpp | 6 +- rpcs3/Emu/Cell/PPULLVMRecompiler.cpp | 8 +- rpcs3/Emu/Cell/PPUThread.cpp | 1 - rpcs3/Emu/Cell/SPUThread.cpp | 27 ++-- rpcs3/Emu/FS/VFS.cpp | 14 +- rpcs3/Emu/Io/Windows/WindowsPadHandler.h | 43 ++--- rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp | 16 +- rpcs3/Emu/RSX/D3D12/D3D12GSRender.h | 1 - rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp | 3 +- rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp | 2 +- rpcs3/Emu/RSX/GL/GLGSRender.cpp | 3 +- rpcs3/Emu/RSX/GSManager.cpp | 5 +- rpcs3/Emu/RSX/RSXThread.cpp | 18 +-- rpcs3/Emu/SysCalls/LogBase.cpp | 2 +- rpcs3/Emu/SysCalls/Modules.cpp | 12 +- rpcs3/Emu/SysCalls/Modules/cellAudio.cpp | 6 +- rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp | 4 +- rpcs3/Emu/SysCalls/Modules/cellCamera.cpp | 28 ++-- rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp | 35 ++--- rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp | 4 +- .../Emu/SysCalls/Modules/cellSysutilAvc2.cpp | 4 +- rpcs3/Emu/SysCalls/Modules/cellVideoOut.cpp | 4 +- rpcs3/Emu/SysCalls/Modules/sceNp.cpp | 2 +- rpcs3/Emu/SysCalls/Modules/sceNpTrophy.cpp | 8 +- rpcs3/Emu/SysCalls/SysCalls.cpp | 6 +- rpcs3/Emu/System.cpp | 25 ++- rpcs3/Gui/ConLogFrame.cpp | 4 +- rpcs3/Gui/FrameBase.h | 20 +-- rpcs3/Gui/GSFrame.cpp | 3 +- rpcs3/Gui/GameViewer.cpp | 3 +- rpcs3/Gui/GameViewer.h | 3 +- rpcs3/Gui/LLEModulesManager.cpp | 12 +- rpcs3/Gui/MainFrame.cpp | 13 +- rpcs3/Gui/MemoryStringSearcher.cpp | 1 - rpcs3/Gui/PADManager.cpp | 147 +++++++++--------- rpcs3/Gui/RSXDebugger.cpp | 4 +- rpcs3/Gui/SettingsDialog.cpp | 122 ++------------- rpcs3/Gui/VHDDManager.cpp | 10 +- rpcs3/Loader/ELF32.cpp | 10 +- rpcs3/Loader/ELF64.cpp | 12 +- rpcs3/config.h | 54 +++++-- rpcs3/rpcs3.cpp | 4 +- 47 files changed, 328 insertions(+), 403 deletions(-) diff --git a/Utilities/AutoPause.cpp b/Utilities/AutoPause.cpp index 4f7cadcabb..f5766dd556 100644 --- a/Utilities/AutoPause.cpp +++ b/Utilities/AutoPause.cpp @@ -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; } diff --git a/Utilities/Thread.cpp b/Utilities/Thread.cpp index 95906075f8..ab0c1ed7fb 100644 --- a/Utilities/Thread.cpp +++ b/Utilities/Thread.cpp @@ -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 name, std::function= 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; } diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index b84437359f..7f4b758459 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -1,5 +1,4 @@ #include "stdafx.h" -#include "rpcs3/Ini.h" #include "Utilities/Log.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index d57782a88b..7722052293 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -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()"); } diff --git a/rpcs3/Emu/FS/VFS.cpp b/rpcs3/Emu/FS/VFS.cpp index a2358122b9..034d267c80 100644 --- a/rpcs3/Emu/FS/VFS.cpp +++ b/rpcs3/Emu/FS/VFS.cpp @@ -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 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& 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)) diff --git a/rpcs3/Emu/Io/Windows/WindowsPadHandler.h b/rpcs3/Emu/Io/Windows/WindowsPadHandler.h index 47bdefa98b..99e06d3099 100644 --- a/rpcs3/Emu/Io/Windows/WindowsPadHandler.h +++ b/rpcs3/Emu/Io/Windows/WindowsPadHandler.h @@ -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()); } -}; \ No newline at end of file +}; diff --git a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp index d2f3116c70..43512c1003 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp @@ -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 debugInterface; wrapD3D12GetDebugInterface(IID_PPV_ARGS(&debugInterface)); @@ -152,7 +152,7 @@ D3D12GSRender::D3D12GSRender() ThrowIfFailed(CreateDXGIFactory(IID_PPV_ARGS(&dxgiFactory))); // Create adapter ComPtr 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(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(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 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(); diff --git a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h index a6d7957e49..b6dad40eb7 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h +++ b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h @@ -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" diff --git a/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp b/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp index e86881c3ac..e833baa2a2 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp @@ -3,6 +3,7 @@ #include #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 errorBlob; UINT compileFlags; - if (Ini.GSDebugOutputEnable.GetValue()) + if (rpcs3::config.rsx.d3d12.debug_output.value()) compileFlags = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION; else compileFlags = 0; diff --git a/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp b/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp index 4e08a3166c..44a97ef872 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp @@ -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" diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index cf04540504..5cd1ce6809 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -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 diff --git a/rpcs3/Emu/RSX/GSManager.cpp b/rpcs3/Emu/RSX/GSManager.cpp index 7dbae299b0..c0523ae6c0 100644 --- a/rpcs3/Emu/RSX/GSManager.cpp +++ b/rpcs3/Emu/RSX/GSManager.cpp @@ -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; diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index 24a726fa8a..e6f765d9d5 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -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); } diff --git a/rpcs3/Emu/SysCalls/LogBase.cpp b/rpcs3/Emu/SysCalls/LogBase.cpp index e7b9347ad0..4f868a77ce 100644 --- a/rpcs3/Emu/SysCalls/LogBase.cpp +++ b/rpcs3/Emu/SysCalls/LogBase.cpp @@ -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 diff --git a/rpcs3/Emu/SysCalls/Modules.cpp b/rpcs3/Emu/SysCalls/Modules.cpp index 9a541c8fc6..acb238a050 100644 --- a/rpcs3/Emu/SysCalls/Modules.cpp +++ b/rpcs3/Emu/SysCalls/Modules.cpp @@ -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]); } diff --git a/rpcs3/Emu/SysCalls/Modules/cellAudio.cpp b/rpcs3/Emu/SysCalls/Modules/cellAudio.cpp index d569f92780..0eeb42cd53 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellAudio.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellAudio.cpp @@ -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 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(); diff --git a/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp b/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp index b4ff9a2d66..300ca396f4 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp @@ -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 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; diff --git a/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp b/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp index e745a4e990..e874818cbf 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp @@ -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 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; } diff --git a/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp b/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp index 0fc1313127..ec9b8de301 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp @@ -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 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 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 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 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 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 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 info) continue; } - if (n < Ini.NETInterface.GetValue()) + if (n < rpcs3::config.misc.net._interface.value()) { continue; } diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp b/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp index c09e020472..d99d2a9545 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp @@ -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 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: diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutilAvc2.cpp b/rpcs3/Emu/SysCalls/Modules/cellSysutilAvc2.cpp index f1df9939e1..2e65a7f75d 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSysutilAvc2.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSysutilAvc2.cpp @@ -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 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; } diff --git a/rpcs3/Emu/SysCalls/Modules/cellVideoOut.cpp b/rpcs3/Emu/SysCalls/Modules/cellVideoOut.cpp index decb36196b..990e8f356a 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellVideoOut.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellVideoOut.cpp @@ -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; diff --git a/rpcs3/Emu/SysCalls/Modules/sceNp.cpp b/rpcs3/Emu/SysCalls/Modules/sceNp.cpp index 5accb8e0d6..c7c514e83f 100644 --- a/rpcs3/Emu/SysCalls/Modules/sceNp.cpp +++ b/rpcs3/Emu/SysCalls/Modules/sceNp.cpp @@ -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" diff --git a/rpcs3/Emu/SysCalls/Modules/sceNpTrophy.cpp b/rpcs3/Emu/SysCalls/Modules/sceNpTrophy.cpp index 976d578b2b..9e2d66c37e 100644 --- a/rpcs3/Emu/SysCalls/Modules/sceNpTrophy.cpp +++ b/rpcs3/Emu/SysCalls/Modules/sceNpTrophy.cpp @@ -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); } diff --git a/rpcs3/Emu/SysCalls/SysCalls.cpp b/rpcs3/Emu/SysCalls/SysCalls.cpp index 24b1b4e1db..eda95867c7 100644 --- a/rpcs3/Emu/SysCalls/SysCalls.cpp +++ b/rpcs3/Emu/SysCalls/SysCalls.cpp @@ -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]); } diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index 9734a2c864..5ee24d6782 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -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; } diff --git a/rpcs3/Gui/ConLogFrame.cpp b/rpcs3/Gui/ConLogFrame.cpp index ed2bbb41cc..28553c9011 100644 --- a/rpcs3/Gui/ConLogFrame.cpp +++ b/rpcs3/Gui/ConLogFrame.cpp @@ -4,7 +4,7 @@ #include #include -#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(msg.mServerity)) diff --git a/rpcs3/Gui/FrameBase.h b/rpcs3/Gui/FrameBase.h index 7ae79c4435..b4fac8fe16 100644 --- a/rpcs3/Gui/FrameBase.h +++ b/rpcs3/Gui/FrameBase.h @@ -1,11 +1,10 @@ #pragma once #include "rpcs3/Ini.h" +#include "Emu/state.h" class FrameBase : public wxFrame { protected: - IniEntry 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(defsize.GetWidth(), defsize.GetHeight()), std::pair(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(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(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(); } }; diff --git a/rpcs3/Gui/GSFrame.cpp b/rpcs3/Gui/GSFrame.cpp index 00f5908740..6353821ddc 100644 --- a/rpcs3/Gui/GSFrame.cpp +++ b/rpcs3/Gui/GSFrame.cpp @@ -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); diff --git a/rpcs3/Gui/GameViewer.cpp b/rpcs3/Gui/GameViewer.cpp index 988ad0a6b3..4a5fb23177 100644 --- a/rpcs3/Gui/GameViewer.cpp +++ b/rpcs3/Gui/GameViewer.cpp @@ -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(); } diff --git a/rpcs3/Gui/GameViewer.h b/rpcs3/Gui/GameViewer.h index 078dc00032..98d859067e 100644 --- a/rpcs3/Gui/GameViewer.h +++ b/rpcs3/Gui/GameViewer.h @@ -2,9 +2,10 @@ #include #include #include -#include "rpcs3/Ini.h" #include "Emu/GameInfo.h" +#include "Emu/state.h" #include "Utilities/Log.h" +#include "Ini.h" struct Column { diff --git a/rpcs3/Gui/LLEModulesManager.cpp b/rpcs3/Gui/LLEModulesManager.cpp index dbf274098d..3657f81215 100644 --- a/rpcs3/Gui/LLEModulesManager.cpp +++ b/rpcs3/Gui/LLEModulesManager.cpp @@ -81,13 +81,13 @@ void LLEModulesManagerFrame::Refresh() m_funcs.push_back(name); - IniEntry load_lib; - load_lib.Init(name, "LLE"); + //IniEntry 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 load_lib; - load_lib.Init(m_funcs[index], "LLE"); - load_lib.SaveValue(m_check_list->IsChecked(index)); + //IniEntry 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) diff --git a/rpcs3/Gui/MainFrame.cpp b/rpcs3/Gui/MainFrame.cpp index e7ffab2305..46158a53df 100644 --- a/rpcs3/Gui/MainFrame.cpp +++ b/rpcs3/Gui/MainFrame.cpp @@ -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 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(); } } diff --git a/rpcs3/Gui/MemoryStringSearcher.cpp b/rpcs3/Gui/MemoryStringSearcher.cpp index c30f02091d..479a884807 100644 --- a/rpcs3/Gui/MemoryStringSearcher.cpp +++ b/rpcs3/Gui/MemoryStringSearcher.cpp @@ -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" diff --git a/rpcs3/Gui/PADManager.cpp b/rpcs3/Gui/PADManager.cpp index 9187975240..573e39edf1 100644 --- a/rpcs3/Gui/PADManager.cpp +++ b/rpcs3/Gui/PADManager.cpp @@ -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('W')); - Ini.PadHandlerDown.SetValue(static_cast('S')); - Ini.PadHandlerLeft.SetValue(static_cast('A')); - Ini.PadHandlerRight.SetValue(static_cast('D')); + rpcs3::config.io.pad.up = static_cast('W'); + rpcs3::config.io.pad.down = static_cast('S'); + rpcs3::config.io.pad.left = static_cast('A'); + rpcs3::config.io.pad.right = static_cast('D'); - Ini.PadHandlerL1.SetValue(static_cast('1')); - Ini.PadHandlerL2.SetValue(static_cast('Q')); - Ini.PadHandlerL3.SetValue(static_cast('Z')); + rpcs3::config.io.pad.l1 = static_cast('1'); + rpcs3::config.io.pad.l2 = static_cast('Q'); + rpcs3::config.io.pad.l3 = static_cast('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('3')); - Ini.PadHandlerR2.SetValue(static_cast('E')); - Ini.PadHandlerR3.SetValue(static_cast('C')); + rpcs3::config.io.pad.r1 = static_cast('3'); + rpcs3::config.io.pad.r2 = static_cast('E'); + rpcs3::config.io.pad.r3 = static_cast('C'); - Ini.PadHandlerSquare.SetValue(static_cast('J')); - Ini.PadHandlerCross.SetValue(static_cast('K')); - Ini.PadHandlerCircle.SetValue(static_cast('L')); - Ini.PadHandlerTriangle.SetValue(static_cast('I')); + rpcs3::config.io.pad.square = static_cast('J'); + rpcs3::config.io.pad.cross = static_cast('K'); + rpcs3::config.io.pad.circle = static_cast('L'); + rpcs3::config.io.pad.triangle = static_cast('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) diff --git a/rpcs3/Gui/RSXDebugger.cpp b/rpcs3/Gui/RSXDebugger.cpp index e7fc32a196..eca281215d 100644 --- a/rpcs3/Gui/RSXDebugger.cpp +++ b/rpcs3/Gui/RSXDebugger.cpp @@ -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; diff --git a/rpcs3/Gui/SettingsDialog.cpp b/rpcs3/Gui/SettingsDialog.cpp index f41f49b57e..1b944ff05e 100644 --- a/rpcs3/Gui/SettingsDialog.cpp +++ b/rpcs3/Gui/SettingsDialog.cpp @@ -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(); diff --git a/rpcs3/Gui/VHDDManager.cpp b/rpcs3/Gui/VHDDManager.cpp index 306744a15e..a72e79160c 100644 --- a/rpcs3/Gui/VHDDManager.cpp +++ b/rpcs3/Gui/VHDDManager.cpp @@ -2,7 +2,7 @@ #include "Utilities/Log.h" #include "VHDDManager.h" #include "TextInputDialog.h" -#include "Ini.h" +#include "Emu/state.h" #include VHDDListDropTarget::VHDDListDropTarget(wxListView* parent) : m_parent(parent) @@ -527,7 +527,7 @@ void VHDDManagerDialog::OnOk(wxCommandEvent& event) void VHDDManagerDialog::LoadPaths() { - IniEntry path_count; + /*IniEntry 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 path_entry; path_entry.Init(fmt::format("path[%d]", i), "HDDManager"); m_paths.emplace_back(path_entry.LoadValue("")); - } + }*/ } void VHDDManagerDialog::SavePaths() { - IniEntry path_count; + /*IniEntry path_count; path_count.Init("path_count", "HDDManager"); path_count.SaveValue(m_paths.size()); @@ -551,5 +551,5 @@ void VHDDManagerDialog::SavePaths() IniEntry path_entry; path_entry.Init(fmt::format("path[%d]", i), "HDDManager"); path_entry.SaveValue(m_paths[i]); - } + }*/ } diff --git a/rpcs3/Loader/ELF32.cpp b/rpcs3/Loader/ELF32.cpp index ace07a54a7..68903e471b 100644 --- a/rpcs3/Loader/ELF32.cpp +++ b/rpcs3/Loader/ELF32.cpp @@ -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"); } diff --git a/rpcs3/Loader/ELF64.cpp b/rpcs3/Loader/ELF64.cpp index 0981510bca..f071cc642b 100644 --- a/rpcs3/Loader/ELF64.cpp +++ b/rpcs3/Loader/ELF64.cpp @@ -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 load_lib; + /*IniEntry 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(phdr.p_vaddr), phdr.p_filesz / 4); } diff --git a/rpcs3/config.h b/rpcs3/config.h index 89a29db63e..9879d01fff 100644 --- a/rpcs3/config.h +++ b/rpcs3/config.h @@ -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 width{ this, "width", 900 }; + entry hight{ this, "hight", 600 }; + } size{ this }; + + struct position_group : protected group + { + position_group(group *grp) : group{ grp, "position" } {} + + entry x{ this, "horizontal", -1 }; + entry y{ this, "vertical", -1 }; + } position{ this }; + + entry 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 adaptater { this, "D3D Adaptater", 1 }; - entry debug_output { this, "Debug Output", true }; - entry overlay { this, "Debug overlay", true }; + entry debug_output { this, "Debug Output", false }; + entry overlay { this, "Debug overlay", false }; } d3d12{ this }; rsx_group(config_context_t *cfg) : group{ cfg, "rsx" } {} @@ -707,7 +729,7 @@ namespace rpcs3 entry exit_on_stop { this, "Exit RPCS3 when process finishes", false }; entry always_start { this, "Always start after boot", true }; - entry use_default_ini { this, "Use default configuration", false }; + entry use_default_ini { this, "Use default configuration", true }; } misc{ this }; struct system_group : protected group diff --git a/rpcs3/rpcs3.cpp b/rpcs3/rpcs3.cpp index 3120f8cd2c..5354ea5920 100644 --- a/rpcs3/rpcs3.cpp +++ b/rpcs3/rpcs3.cpp @@ -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();