mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-23 10:50:01 +00:00
fix: post merge build failures
This commit is contained in:
parent
dce90c0567
commit
a07dd24a96
13 changed files with 43 additions and 44 deletions
1
.github/workflows/main.yml
vendored
1
.github/workflows/main.yml
vendored
|
@ -216,6 +216,7 @@ jobs:
|
||||||
libegl1-mesa-dev \
|
libegl1-mesa-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
qt6-base-private-dev \
|
qt6-base-private-dev \
|
||||||
|
libqt6svg6-dev \
|
||||||
libxxf86vm-dev \
|
libxxf86vm-dev \
|
||||||
x11proto-xinerama-dev \
|
x11proto-xinerama-dev \
|
||||||
libfuse2
|
libfuse2
|
||||||
|
|
|
@ -654,6 +654,7 @@ include_directories(Externals/nlohmann)
|
||||||
add_subdirectory(Externals/semver)
|
add_subdirectory(Externals/semver)
|
||||||
include_directories(Externals/semver/include)
|
include_directories(Externals/semver/include)
|
||||||
add_subdirectory(Externals/open-vcdiff)
|
add_subdirectory(Externals/open-vcdiff)
|
||||||
|
include_directories(Externals)
|
||||||
|
|
||||||
if(ENABLE_VULKAN)
|
if(ENABLE_VULKAN)
|
||||||
add_definitions(-DHAS_VULKAN)
|
add_definitions(-DHAS_VULKAN)
|
||||||
|
|
|
@ -348,8 +348,11 @@ void CoreTimingManager::Advance()
|
||||||
m_event_queue.pop_back();
|
m_event_queue.pop_back();
|
||||||
|
|
||||||
Throttle(evt.time);
|
Throttle(evt.time);
|
||||||
|
if (evt.type != nullptr) // slippi change
|
||||||
|
{
|
||||||
evt.type->callback(m_system, evt.userdata, m_globals.global_timer - evt.time);
|
evt.type->callback(m_system, evt.userdata, m_globals.global_timer - evt.time);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m_is_global_timer_sane = false;
|
m_is_global_timer_sane = false;
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include "Common/FileUtil.h"
|
#include "Common/FileUtil.h"
|
||||||
|
|
||||||
#include "Core/Config/MainSettings.h"
|
#include "Core/Config/MainSettings.h"
|
||||||
|
#include "Core/ConfigManager.h"
|
||||||
#include "Core/Core.h"
|
#include "Core/Core.h"
|
||||||
#include "Core/PowerPC/MMU.h"
|
#include "Core/PowerPC/MMU.h"
|
||||||
#include "Core/PowerPC/PowerPC.h"
|
#include "Core/PowerPC/PowerPC.h"
|
||||||
|
@ -196,7 +197,10 @@ static Installation InstallCodeHandlerLocked(const Core::CPUThreadGuard& guard)
|
||||||
|
|
||||||
// Install bootloader gct
|
// Install bootloader gct
|
||||||
for (size_t i = 0; i < bootloaderData.length(); ++i)
|
for (size_t i = 0; i < bootloaderData.length(); ++i)
|
||||||
PowerPC::MMU::HostWrite_U8(guard, bootloaderData[i], static_cast<u32>(codelist_base_address + i));
|
PowerPC::MMU::HostWrite_U8(guard, bootloaderData[i],
|
||||||
|
static_cast<u32>(codelist_base_address + i));
|
||||||
|
|
||||||
|
PowerPC::MMU::HostWrite_U32(guard, 0, HLE_TRAMPOLINE_ADDRESS);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -236,16 +240,6 @@ static Installation InstallCodeHandlerLocked(const Core::CPUThreadGuard& guard)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WARN_LOG_FMT(ACTIONREPLAY, "GeckoCodes: Using {} of {} bytes", next_address - start_address,
|
|
||||||
end_address - start_address);
|
|
||||||
|
|
||||||
// Stop code. Tells the handler that this is the end of the list.
|
|
||||||
PowerPC::MMU::HostWrite_U32(guard, 0xF0000000, next_address);
|
|
||||||
PowerPC::MMU::HostWrite_U32(guard, 0x00000000, next_address + 4);
|
|
||||||
WARN_LOG_FMT(ACTIONREPLAY, "GeckoCodes: Using {} of {} bytes", next_address - start_address,
|
|
||||||
end_address - start_address);
|
|
||||||
}
|
|
||||||
|
|
||||||
WARN_LOG_FMT(ACTIONREPLAY, "GeckoCodes: Using {} of {} bytes", next_address - start_address,
|
WARN_LOG_FMT(ACTIONREPLAY, "GeckoCodes: Using {} of {} bytes", next_address - start_address,
|
||||||
end_address - start_address);
|
end_address - start_address);
|
||||||
|
|
||||||
|
@ -253,6 +247,7 @@ static Installation InstallCodeHandlerLocked(const Core::CPUThreadGuard& guard)
|
||||||
PowerPC::MMU::HostWrite_U32(guard, 0xF0000000, next_address);
|
PowerPC::MMU::HostWrite_U32(guard, 0xF0000000, next_address);
|
||||||
PowerPC::MMU::HostWrite_U32(guard, 0x00000000, next_address + 4);
|
PowerPC::MMU::HostWrite_U32(guard, 0x00000000, next_address + 4);
|
||||||
PowerPC::MMU::HostWrite_U32(guard, 0, HLE_TRAMPOLINE_ADDRESS);
|
PowerPC::MMU::HostWrite_U32(guard, 0, HLE_TRAMPOLINE_ADDRESS);
|
||||||
|
}
|
||||||
|
|
||||||
// Turn on codes
|
// Turn on codes
|
||||||
PowerPC::MMU::HostWrite_U8(guard, 1, INSTALLER_BASE_ADDRESS + 7);
|
PowerPC::MMU::HostWrite_U8(guard, 1, INSTALLER_BASE_ADDRESS + 7);
|
||||||
|
|
|
@ -3084,7 +3084,7 @@ void CEXISlippi::DMAWrite(u32 _uAddr, u32 _uSize)
|
||||||
ASSERT(Core::IsCPUThread());
|
ASSERT(Core::IsCPUThread());
|
||||||
Core::CPUThreadGuard guard(system);
|
Core::CPUThreadGuard guard(system);
|
||||||
NOTICE_LOG_FMT(SLIPPI, "DMA Write was passed an invalid address: {:x}", _uAddr);
|
NOTICE_LOG_FMT(SLIPPI, "DMA Write was passed an invalid address: {:x}", _uAddr);
|
||||||
Dolphin_Debugger::PrintCallstack(system, guard, Common::Log::LogType::SLIPPI,
|
Dolphin_Debugger::PrintCallstack(guard, Common::Log::LogType::SLIPPI,
|
||||||
Common::Log::LogLevel::LNOTICE);
|
Common::Log::LogLevel::LNOTICE);
|
||||||
m_read_queue.clear();
|
m_read_queue.clear();
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -849,7 +849,7 @@ void VideoInterfaceManager::EndField(FieldType field, u64 ticks)
|
||||||
void VideoInterfaceManager::Update(u64 ticks)
|
void VideoInterfaceManager::Update(u64 ticks)
|
||||||
{
|
{
|
||||||
// Try calling SI Poll every time update is called
|
// Try calling SI Poll every time update is called
|
||||||
SerialInterface::UpdateDevices();
|
m_system.GetSerialInterface().UpdateDevices();
|
||||||
Core::UpdateInputGate(!Config::Get(Config::MAIN_INPUT_BACKGROUND_INPUT),
|
Core::UpdateInputGate(!Config::Get(Config::MAIN_INPUT_BACKGROUND_INPUT),
|
||||||
Config::Get(Config::MAIN_LOCK_CURSOR));
|
Config::Get(Config::MAIN_LOCK_CURSOR));
|
||||||
|
|
||||||
|
@ -886,7 +886,7 @@ void VideoInterfaceManager::Update(u64 ticks)
|
||||||
if (m_half_line_count == 0 || m_half_line_count == GetHalfLinesPerEvenField())
|
if (m_half_line_count == 0 || m_half_line_count == GetHalfLinesPerEvenField())
|
||||||
Core::Callback_NewField(m_system);
|
Core::Callback_NewField(m_system);
|
||||||
|
|
||||||
// SLIPPINOTES: this section is disable because we would rather poll every chance we get to reduce
|
// SLIPPINOTES: this section is disabled because we would rather poll every chance we get to reduce
|
||||||
// lag
|
// lag
|
||||||
// // If an SI poll is scheduled to happen on this half-line, do it!
|
// // If an SI poll is scheduled to happen on this half-line, do it!
|
||||||
// if (m_half_line_of_next_si_poll == m_half_line_count)
|
// if (m_half_line_of_next_si_poll == m_half_line_count)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Common/Common.h"
|
#include "Common/Common.h"
|
||||||
#include "Common/ENetUtil.h"
|
#include "Common/ENet.h"
|
||||||
#include "Common/Logging/Log.h"
|
#include "Common/Logging/Log.h"
|
||||||
#include "Common/StringUtil.h"
|
#include "Common/StringUtil.h"
|
||||||
#include "Common/Version.h"
|
#include "Common/Version.h"
|
||||||
|
@ -347,7 +347,7 @@ void SlippiMatchmaking::startMatchmaking()
|
||||||
}
|
}
|
||||||
|
|
||||||
net_event.peer->data = &user_info.display_name;
|
net_event.peer->data = &user_info.display_name;
|
||||||
m_client->intercept = ENetUtil::InterceptCallback;
|
m_client->intercept = Common::ENet::InterceptCallback;
|
||||||
is_mm_connected = true;
|
is_mm_connected = true;
|
||||||
ERROR_LOG_FMT(SLIPPI_ONLINE, "[Matchmaking] Connected to mm server...");
|
ERROR_LOG_FMT(SLIPPI_ONLINE, "[Matchmaking] Connected to mm server...");
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#include "Core/Slippi/SlippiNetplay.h"
|
#include "Core/Slippi/SlippiNetplay.h"
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Common/Config/Config.h"
|
#include "Common/Config/Config.h"
|
||||||
#include "Common/ENetUtil.h"
|
#include "Common/ENet.h"
|
||||||
#include "Common/Logging/Log.h"
|
#include "Common/Logging/Log.h"
|
||||||
#include "Common/MsgHandler.h"
|
#include "Common/MsgHandler.h"
|
||||||
#include "Common/Timer.h"
|
#include "Common/Timer.h"
|
||||||
|
@ -40,9 +40,9 @@ SlippiNetplayClient::~SlippiNetplayClient()
|
||||||
Disconnect();
|
Disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_MainNetHost.get() == m_client)
|
if (Common::g_MainNetHost.get() == m_client)
|
||||||
{
|
{
|
||||||
g_MainNetHost.release();
|
Common::g_MainNetHost.release();
|
||||||
}
|
}
|
||||||
if (m_client)
|
if (m_client)
|
||||||
{
|
{
|
||||||
|
@ -726,7 +726,7 @@ void SlippiNetplayClient::SendAsync(std::unique_ptr<sf::Packet> packet)
|
||||||
std::lock_guard<std::recursive_mutex> lkq(m_crit.async_queue_write);
|
std::lock_guard<std::recursive_mutex> lkq(m_crit.async_queue_write);
|
||||||
m_async_queue.Push(std::move(packet));
|
m_async_queue.Push(std::move(packet));
|
||||||
}
|
}
|
||||||
ENetUtil::WakeupThread(m_client);
|
Common::ENet::WakeupThread(m_client);
|
||||||
}
|
}
|
||||||
|
|
||||||
// called from ---NETPLAY--- thread
|
// called from ---NETPLAY--- thread
|
||||||
|
@ -858,7 +858,7 @@ void SlippiNetplayClient::ThreadFunc()
|
||||||
|
|
||||||
if (all_connected)
|
if (all_connected)
|
||||||
{
|
{
|
||||||
m_client->intercept = ENetUtil::InterceptCallback;
|
m_client->intercept = Common::ENet::InterceptCallback;
|
||||||
INFO_LOG_FMT(SLIPPI_ONLINE, "Slippi online connection successful!");
|
INFO_LOG_FMT(SLIPPI_ONLINE, "Slippi online connection successful!");
|
||||||
slippi_connect_status = SlippiConnectStatus::NET_CONNECT_STATUS_CONNECTED;
|
slippi_connect_status = SlippiConnectStatus::NET_CONNECT_STATUS_CONNECTED;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -113,8 +113,8 @@ void SlippiSavestate::initBackupLocs()
|
||||||
ASSERT(Core::IsCPUThread());
|
ASSERT(Core::IsCPUThread());
|
||||||
Core::CPUThreadGuard guard(Core::System::GetInstance());
|
Core::CPUThreadGuard guard(Core::System::GetInstance());
|
||||||
// Get Main Heap Boundaries
|
// Get Main Heap Boundaries
|
||||||
full_backup_regions[3].start_address = PowerPC::HostRead_U32(guard, 0x804d76b8);
|
full_backup_regions[3].start_address = PowerPC::MMU::HostRead_U32(guard, 0x804d76b8);
|
||||||
full_backup_regions[3].end_address = PowerPC::HostRead_U32(guard, 0x804d76bc);
|
full_backup_regions[3].end_address = PowerPC::MMU::HostRead_U32(guard, 0x804d76bc);
|
||||||
WARN_LOG_FMT(SLIPPI_ONLINE, "Heap start is: {:#x}", full_backup_regions[3].start_address);
|
WARN_LOG_FMT(SLIPPI_ONLINE, "Heap start is: {:#x}", full_backup_regions[3].start_address);
|
||||||
WARN_LOG_FMT(SLIPPI_ONLINE, "Heap end is: {:#x}", full_backup_regions[3].end_address);
|
WARN_LOG_FMT(SLIPPI_ONLINE, "Heap end is: {:#x}", full_backup_regions[3].end_address);
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <curl/curl.h>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
|
@ -91,8 +91,8 @@ void HacksWidget::CreateWidgets()
|
||||||
m_store_xfb_copies =
|
m_store_xfb_copies =
|
||||||
new ConfigBool(tr("Store XFB Copies to Texture Only"), Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM);
|
new ConfigBool(tr("Store XFB Copies to Texture Only"), Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM);
|
||||||
// slippi: don't let people touch this!
|
// slippi: don't let people touch this!
|
||||||
m_immediate_xfb->setEnabled(false);
|
|
||||||
m_immediate_xfb = new ConfigBool(tr("Immediately Present XFB"), Config::GFX_HACK_IMMEDIATE_XFB);
|
m_immediate_xfb = new ConfigBool(tr("Immediately Present XFB"), Config::GFX_HACK_IMMEDIATE_XFB);
|
||||||
|
m_immediate_xfb->setEnabled(false);
|
||||||
m_skip_duplicate_xfbs =
|
m_skip_duplicate_xfbs =
|
||||||
new ConfigBool(tr("Skip Presenting Duplicate Frames"), Config::GFX_HACK_SKIP_DUPLICATE_XFBS);
|
new ConfigBool(tr("Skip Presenting Duplicate Frames"), Config::GFX_HACK_SKIP_DUPLICATE_XFBS);
|
||||||
|
|
||||||
|
|
|
@ -477,8 +477,17 @@ void HotkeyScheduler::Run()
|
||||||
"Speed Limit: Unlimited" :
|
"Speed Limit: Unlimited" :
|
||||||
fmt::format("Speed Limit: {}%", std::lround(emulation_speed * 100.f)));
|
fmt::format("Speed Limit: {}%", std::lround(emulation_speed * 100.f)));
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!IsOnline())
|
if (!IsOnline())
|
||||||
|
{
|
||||||
|
if (IsHotkey(HK_INCREASE_EMULATION_SPEED))
|
||||||
|
{
|
||||||
|
auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) + 0.1;
|
||||||
|
speed = (speed >= 0.95 && speed <= 1.05) ? 1.0 : speed;
|
||||||
|
Config::SetCurrent(Config::MAIN_EMULATION_SPEED, speed);
|
||||||
|
ShowEmulationSpeed();
|
||||||
|
}
|
||||||
|
if (IsHotkey(HK_DECREASE_EMULATION_SPEED))
|
||||||
|
{
|
||||||
{
|
{
|
||||||
auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) - 0.1;
|
auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) - 0.1;
|
||||||
if (speed > 0)
|
if (speed > 0)
|
||||||
|
@ -488,13 +497,7 @@ void HotkeyScheduler::Run()
|
||||||
}
|
}
|
||||||
ShowEmulationSpeed();
|
ShowEmulationSpeed();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (IsHotkey(HK_INCREASE_EMULATION_SPEED))
|
|
||||||
{
|
|
||||||
auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) + 0.1;
|
|
||||||
speed = (speed >= 0.95 && speed <= 1.05) ? 1.0 : speed;
|
|
||||||
Config::SetCurrent(Config::MAIN_EMULATION_SPEED, speed);
|
|
||||||
ShowEmulationSpeed();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// USB Device Emulation
|
// USB Device Emulation
|
||||||
|
|
|
@ -172,12 +172,8 @@ Core::DeviceRemoval PipeDevice::UpdateInput()
|
||||||
// Read any pending characters off the pipe. If we hit a newline,
|
// Read any pending characters off the pipe. If we hit a newline,
|
||||||
// then dequeue a command off the front of m_buf and parse it.
|
// then dequeue a command off the front of m_buf and parse it.
|
||||||
char buf[32];
|
char buf[32];
|
||||||
s32 bytes_read = readFromPipe(m_fd, buf, sizeof buf);
|
std::size_t bytes_read =
|
||||||
if (bytes_read == 0)
|
readFromPipe(m_fd, buf, sizeof buf); // slippi: confirm this still works for libmelee
|
||||||
{
|
|
||||||
// Pipe died, so just quit out
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
while (bytes_read > 0)
|
while (bytes_read > 0)
|
||||||
{
|
{
|
||||||
m_buf.append(buf, bytes_read);
|
m_buf.append(buf, bytes_read);
|
||||||
|
@ -192,6 +188,7 @@ Core::DeviceRemoval PipeDevice::UpdateInput()
|
||||||
newline = m_buf.find("\n");
|
newline = m_buf.find("\n");
|
||||||
}
|
}
|
||||||
} while (!finished && Config::Get(Config::SLIPPI_BLOCKING_PIPES));
|
} while (!finished && Config::Get(Config::SLIPPI_BLOCKING_PIPES));
|
||||||
|
return Core::DeviceRemoval::Keep;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PipeDevice::AddAxis(const std::string& name, double value)
|
void PipeDevice::AddAxis(const std::string& name, double value)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue