This commit is contained in:
Benjamin Przybocki 2014-12-21 12:06:08 -06:00 committed by Buddybenj
parent e7f2a04699
commit 4f324ad742
14 changed files with 23 additions and 38 deletions

View File

@ -3,7 +3,7 @@
!define BASE_DIR "..\Binary\${DOLPHIN_ARCH}" !define BASE_DIR "..\Binary\${DOLPHIN_ARCH}"
; HM NIS Edit Wizard helper defines ; HM NIS Edit Wizard helper defines
!define PRODUCT_PUBLISHER "Dolphin Development Team" !define PRODUCT_PUBLISHER "Dolphin Team"
!define PRODUCT_WEB_SITE "https://dolphin-emu.org/" !define PRODUCT_WEB_SITE "https://dolphin-emu.org/"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"

View File

@ -51,27 +51,27 @@ unsigned int CMixer::MixerFifo::Mix(short* samples, unsigned int numSamples, boo
aid_sample_rate = aid_sample_rate * (framelimit - 1) * 5 / VideoInterface::TargetRefreshRate; aid_sample_rate = aid_sample_rate * (framelimit - 1) * 5 / VideoInterface::TargetRefreshRate;
} }
const u32 ratio = (u32)( 65536.0f * aid_sample_rate / (float)m_mixer->m_sampleRate ); const u32 ratio = (u32)(65536.0f * aid_sample_rate / (float)m_mixer->m_sampleRate);
s32 lvolume = m_LVolume; s32 lvolume = m_LVolume;
s32 rvolume = m_RVolume; s32 rvolume = m_RVolume;
// TODO: consider a higher-quality resampling algorithm. // TODO: consider a higher-quality resampling algorithm.
for (; currentSample < numSamples*2 && ((indexW-indexR) & INDEX_MASK) > 2; currentSample+=2) for (; currentSample < numSamples * 2 && ((indexW-indexR) & INDEX_MASK) > 2; currentSample += 2)
{ {
u32 indexR2 = indexR + 2; //next sample u32 indexR2 = indexR + 2; //next sample
s16 l1 = Common::swap16(m_buffer[indexR & INDEX_MASK]); //current s16 l1 = Common::swap16(m_buffer[indexR & INDEX_MASK]); //current
s16 l2 = Common::swap16(m_buffer[indexR2 & INDEX_MASK]); //next s16 l2 = Common::swap16(m_buffer[indexR2 & INDEX_MASK]); //next
int sampleL = ((l1 << 16) + (l2 - l1) * (u16)m_frac) >> 16; int sampleL = ((l1 << 16) + (l2 - l1) * (u16)m_frac) >> 16;
sampleL = (sampleL * lvolume) >> 8; sampleL = (sampleL * lvolume) >> 8;
sampleL += samples[currentSample + 1]; sampleL += samples[currentSample + 1];
MathUtil::Clamp(&sampleL, -32767, 32767); MathUtil::Clamp(&sampleL, -32767, 32767);
samples[currentSample+1] = sampleL; samples[currentSample + 1] = sampleL;
s16 r1 = Common::swap16(m_buffer[(indexR + 1) & INDEX_MASK]); //current s16 r1 = Common::swap16(m_buffer[(indexR + 1) & INDEX_MASK]); //current
s16 r2 = Common::swap16(m_buffer[(indexR2 + 1) & INDEX_MASK]); //next s16 r2 = Common::swap16(m_buffer[(indexR2 + 1) & INDEX_MASK]); //next
int sampleR = ((r1 << 16) + (r2 - r1) * (u16)m_frac) >> 16; int sampleR = ((r1 << 16) + (r2 - r1) * (u16)m_frac) >> 16;
sampleR = (sampleR * rvolume) >> 8; sampleR = (sampleR * rvolume) >> 8;
sampleR += samples[currentSample]; sampleR += samples[currentSample];
MathUtil::Clamp(&sampleR, -32767, 32767); MathUtil::Clamp(&sampleR, -32767, 32767);

View File

@ -10,11 +10,7 @@
DSPEmulator *CreateDSPEmulator(bool HLE) DSPEmulator *CreateDSPEmulator(bool HLE)
{ {
if (HLE) if (HLE)
{
return new DSPHLE(); return new DSPHLE();
}
else else
{
return new DSPLLE(); return new DSPLLE();
}
} }

View File

@ -42,7 +42,6 @@ void CCPU::Run()
while (true) while (true)
{ {
reswitch:
switch (PowerPC::GetState()) switch (PowerPC::GetState())
{ {
case PowerPC::CPU_RUNNING: case PowerPC::CPU_RUNNING:
@ -60,7 +59,7 @@ reswitch:
if (PowerPC::GetState() == PowerPC::CPU_POWERDOWN) if (PowerPC::GetState() == PowerPC::CPU_POWERDOWN)
return; return;
if (PowerPC::GetState() != PowerPC::CPU_STEPPING) if (PowerPC::GetState() != PowerPC::CPU_STEPPING)
goto reswitch; continue;
//3: do a step //3: do a step
PowerPC::SingleStep(); PowerPC::SingleStep();

View File

@ -136,7 +136,7 @@ static void ExceptionThread(mach_port_t port)
mach_msg_header_t *send_msg = nullptr; mach_msg_header_t *send_msg = nullptr;
mach_msg_size_t send_size = 0; mach_msg_size_t send_size = 0;
mach_msg_option_t option = MACH_RCV_MSG; mach_msg_option_t option = MACH_RCV_MSG;
while (1) while (true)
{ {
// If this isn't the first run, send the reply message. Then, receive // If this isn't the first run, send the reply message. Then, receive
// a message: either a mach_exception_raise_state RPC due to // a message: either a mach_exception_raise_state RPC due to

View File

@ -32,7 +32,7 @@ typedef std::vector<u8> NetWiimote;
#define NETPLAY_VERSION "Dolphin NetPlay 2014-01-08" #define NETPLAY_VERSION "Dolphin NetPlay 2014-01-08"
const int NETPLAY_INITIAL_GCTIME = 1272737767; static const int NETPLAY_INITIAL_GCTIME = 1272737767;
// messages // messages

View File

@ -313,7 +313,7 @@ static void FindFunctionsAfterBLR(PPCSymbolDB *func_db)
{ {
while (true) while (true)
{ {
// skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns) // skip zeroes that sometimes pad function to 16 byte boundary (e.g. Donkey Kong Country Returns)
while (Memory::Read_Instruction(location) == 0 && ((location & 0xf) != 0)) while (Memory::Read_Instruction(location) == 0 && ((location & 0xf) != 0))
location += 4; location += 4;
if (PPCTables::IsValidInstruction(Memory::Read_Instruction(location))) if (PPCTables::IsValidInstruction(Memory::Read_Instruction(location)))

View File

@ -176,7 +176,8 @@ static int GetEmptySlot(std::map<double, int> m)
break; break;
} }
} }
if (!found) return i; if (!found)
return i;
} }
return -1; return -1;
} }

View File

@ -40,10 +40,8 @@ WbfsFileReader::WbfsFileReader(const std::string& filename)
WbfsFileReader::~WbfsFileReader() WbfsFileReader::~WbfsFileReader()
{ {
for (u32 i = 0; i != m_files.size(); ++ i) for (file_entry* entry : m_files)
{ delete entry;
delete m_files[i];
}
delete[] m_wlba_table; delete[] m_wlba_table;
} }
@ -58,7 +56,7 @@ bool WbfsFileReader::OpenFiles(const std::string& filename)
// Replace last character with index (e.g. wbfs = wbf1) // Replace last character with index (e.g. wbfs = wbf1)
std::string path = filename; std::string path = filename;
if (0 != m_total_files) if (m_total_files != 0)
{ {
path[path.length() - 1] = '0' + m_total_files; path[path.length() - 1] = '0' + m_total_files;
} }
@ -73,7 +71,7 @@ bool WbfsFileReader::OpenFiles(const std::string& filename)
new_entry->size = new_entry->file.GetSize(); new_entry->size = new_entry->file.GetSize();
m_size += new_entry->size; m_size += new_entry->size;
m_total_files ++; m_total_files++;
m_files.push_back(new_entry); m_files.push_back(new_entry);
} }
} }
@ -90,10 +88,7 @@ bool WbfsFileReader::ReadHeader()
m_hd_sector_size = 1ull << m_hd_sector_shift; m_hd_sector_size = 1ull << m_hd_sector_shift;
if (m_size != (m_hd_sector_count * m_hd_sector_size)) if (m_size != (m_hd_sector_count * m_hd_sector_size))
{
//printf("File size doesn't match expected size\n");
return false; return false;
}
// Read wbfs cluster info // Read wbfs cluster info
m_files[0]->file.ReadBytes(&m_wbfs_sector_shift, 1); m_files[0]->file.ReadBytes(&m_wbfs_sector_shift, 1);
@ -101,10 +96,7 @@ bool WbfsFileReader::ReadHeader()
m_wbfs_sector_count = m_size / m_wbfs_sector_size; m_wbfs_sector_count = m_size / m_wbfs_sector_size;
if (m_wbfs_sector_size < WII_SECTOR_SIZE) if (m_wbfs_sector_size < WII_SECTOR_SIZE)
{
//Setting this too low would case a very large memory allocation
return false; return false;
}
m_blocks_per_disc = (WII_SECTOR_COUNT * WII_SECTOR_SIZE) / m_wbfs_sector_size; m_blocks_per_disc = (WII_SECTOR_COUNT * WII_SECTOR_SIZE) / m_wbfs_sector_size;
m_disc_info_size = align(WII_DISC_HEADER_SIZE + m_blocks_per_disc * 2, m_hd_sector_size); m_disc_info_size = align(WII_DISC_HEADER_SIZE + m_blocks_per_disc * 2, m_hd_sector_size);
@ -113,11 +105,8 @@ bool WbfsFileReader::ReadHeader()
m_files[0]->file.Seek(2, SEEK_CUR); m_files[0]->file.Seek(2, SEEK_CUR);
m_files[0]->file.ReadBytes(m_disc_table, 500); m_files[0]->file.ReadBytes(m_disc_table, 500);
if (0 == m_disc_table[0]) if (m_disc_table[0] == 0)
{
//printf("Game must be in 'slot 0'\n");
return false; return false;
}
return true; return true;
} }
@ -153,7 +142,7 @@ File::IOFile& WbfsFileReader::SeekToCluster(u64 offset, u64* available)
u64 cluster_offset = offset & (m_wbfs_sector_size - 1); u64 cluster_offset = offset & (m_wbfs_sector_size - 1);
u64 final_address = cluster_address + cluster_offset; u64 final_address = cluster_address + cluster_offset;
for (u32 i = 0; i != m_total_files; i ++) for (u32 i = 0; i != m_total_files; i++)
{ {
if (final_address < (m_files[i]->base_address + m_files[i]->size)) if (final_address < (m_files[i]->base_address + m_files[i]->size))
{ {

View File

@ -284,7 +284,7 @@ void DMainWindow::OnOpenDocs()
void DMainWindow::OnOpenGitHub() void DMainWindow::OnOpenGitHub()
{ {
QDesktopServices::openUrl(QUrl(SL("https://github.com/dolphin-emu/dolphin/"))); QDesktopServices::openUrl(QUrl(SL("https://github.com/dolphin-emu/dolphin")));
} }
void DMainWindow::OnOpenSystemInfo() void DMainWindow::OnOpenSystemInfo()

View File

@ -41,7 +41,7 @@ AboutDolphin::AboutDolphin(wxWindow *parent, wxWindowID id,
"Today Dolphin is an open source project with many\n" "Today Dolphin is an open source project with many\n"
"contributors, too many to list.\n" "contributors, too many to list.\n"
"If interested, just go check out the project page at\n" "If interested, just go check out the project page at\n"
"https://github.com/dolphin-emu/dolphin/ .\n" "https://github.com/dolphin-emu/dolphin .\n"
"\n" "\n"
"Special thanks to Bushing, Costis, CrowTRobo,\n" "Special thanks to Bushing, Costis, CrowTRobo,\n"
"Marcan, Segher, Titanik, or9 and Hotquik for their\n" "Marcan, Segher, Titanik, or9 and Hotquik for their\n"

View File

@ -1376,7 +1376,7 @@ void CFrame::OnHelp(wxCommandEvent& event)
WxUtils::Launch("https://dolphin-emu.org/docs/guides/"); WxUtils::Launch("https://dolphin-emu.org/docs/guides/");
break; break;
case IDM_HELP_GITHUB: case IDM_HELP_GITHUB:
WxUtils::Launch("https://github.com/dolphin-emu/dolphin/"); WxUtils::Launch("https://github.com/dolphin-emu/dolphin");
break; break;
} }
} }

View File

@ -136,7 +136,7 @@ void Television::Submit(u32 xfbAddr, u32 stride, u32 width, u32 height)
// Load data from GameCube RAM to YUYV texture // Load data from GameCube RAM to YUYV texture
u8* yuyvSrc = Memory::GetPointer(xfbAddr); u8* yuyvSrc = Memory::GetPointer(xfbAddr);
D3D11_BOX box = CD3D11_BOX(0, 0, 0, stride, height, 1); D3D11_BOX box = CD3D11_BOX(0, 0, 0, stride, height, 1);
D3D::context->UpdateSubresource(m_yuyvTexture, 0, &box, yuyvSrc, 2*stride, 2*stride*height); D3D::context->UpdateSubresource(m_yuyvTexture, 0, &box, yuyvSrc, 2 * stride, 2 * stride * height);
} }
void Television::Render() void Television::Render()

View File

@ -29,7 +29,7 @@ NEWBIES OR WANNABES. Sorry.
*************** If you are an experienced, known (by me or gscentral *************** If you are an experienced, known (by me or gscentral
admins) code hacker, and you don't admins) code hacker, and you don't
understand this document, you may try to ask help using the understand this document, you may try to ask help using the
www.gscentral.com forums gscentral.com forums
(or PM me there). (or PM me there).