Improve iterator usage.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5528 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
0d75190af9
commit
ceabf90bda
|
@ -15,6 +15,8 @@
|
||||||
// Official SVN repository and contact information can be found at
|
// Official SVN repository and contact information can be found at
|
||||||
// http://code.google.com/p/dolphin-emu/
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#include "LogManager.h"
|
#include "LogManager.h"
|
||||||
#include "ConsoleListener.h"
|
#include "ConsoleListener.h"
|
||||||
#include "Timer.h"
|
#include "Timer.h"
|
||||||
|
@ -160,28 +162,19 @@ void LogContainer::addListener(LogListener *listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogContainer::removeListener(LogListener *listener) {
|
void LogContainer::removeListener(LogListener *listener) {
|
||||||
std::vector<LogListener *>::iterator i;
|
std::vector<LogListener *>::iterator i = std::find(listeners.begin(), listeners.end(), listener);
|
||||||
for(i = listeners.begin(); i != listeners.end(); i++) {
|
if (listeners.end() != i)
|
||||||
if ((*i) == listener) {
|
listeners.erase(i);
|
||||||
listeners.erase(i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LogContainer::isListener(LogListener *listener) const {
|
bool LogContainer::isListener(LogListener *listener) const {
|
||||||
std::vector<LogListener *>::const_iterator i;
|
std::vector<LogListener *>::const_iterator i = std::find(listeners.begin(), listeners.end(), listener);
|
||||||
for (i = listeners.begin(); i != listeners.end(); i++) {
|
return listeners.end() != i;
|
||||||
if ((*i) == listener) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogContainer::trigger(LogTypes::LOG_LEVELS level, const char *msg) {
|
void LogContainer::trigger(LogTypes::LOG_LEVELS level, const char *msg) {
|
||||||
std::vector<LogListener *>::const_iterator i;
|
std::vector<LogListener *>::const_iterator i;
|
||||||
for (i = listeners.begin(); i != listeners.end(); i++) {
|
for (i = listeners.begin(); i != listeners.end(); ++i) {
|
||||||
(*i)->Log(level, msg);
|
(*i)->Log(level, msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
void SymbolDB::List()
|
void SymbolDB::List()
|
||||||
{
|
{
|
||||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
|
||||||
{
|
{
|
||||||
DEBUG_LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls", iter->second.name.c_str(), iter->second.address, iter->second.size, iter->second.hash,iter->second.numCalls);
|
DEBUG_LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls", iter->second.name.c_str(), iter->second.address, iter->second.size, iter->second.hash,iter->second.numCalls);
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ void SymbolDB::Clear(const char *prefix)
|
||||||
void SymbolDB::Index()
|
void SymbolDB::Index()
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
|
||||||
{
|
{
|
||||||
iter->second.index = i++;
|
iter->second.index = i++;
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ void SymbolDB::Index()
|
||||||
|
|
||||||
Symbol *SymbolDB::GetSymbolFromName(const char *name)
|
Symbol *SymbolDB::GetSymbolFromName(const char *name)
|
||||||
{
|
{
|
||||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
|
||||||
{
|
{
|
||||||
if (!strcmp(iter->second.name.c_str(), name))
|
if (!strcmp(iter->second.name.c_str(), name))
|
||||||
return &iter->second;
|
return &iter->second;
|
||||||
|
|
|
@ -587,10 +587,10 @@ void FindFunctionsAfterBLR(PPCSymbolDB *func_db)
|
||||||
{
|
{
|
||||||
vector<u32> funcAddrs;
|
vector<u32> funcAddrs;
|
||||||
|
|
||||||
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); iter++)
|
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); ++iter)
|
||||||
funcAddrs.push_back(iter->second.address + iter->second.size);
|
funcAddrs.push_back(iter->second.address + iter->second.size);
|
||||||
|
|
||||||
for (vector<u32>::iterator iter = funcAddrs.begin(); iter != funcAddrs.end(); iter++)
|
for (vector<u32>::iterator iter = funcAddrs.begin(); iter != funcAddrs.end(); ++iter)
|
||||||
{
|
{
|
||||||
u32 location = *iter;
|
u32 location = *iter;
|
||||||
while (true)
|
while (true)
|
||||||
|
@ -622,7 +622,7 @@ void FindFunctions(u32 startAddr, u32 endAddr, PPCSymbolDB *func_db)
|
||||||
int numLeafs = 0, numNice = 0, numUnNice = 0;
|
int numLeafs = 0, numNice = 0, numUnNice = 0;
|
||||||
int numTimer = 0, numRFI = 0, numStraightLeaf = 0;
|
int numTimer = 0, numRFI = 0, numStraightLeaf = 0;
|
||||||
int leafSize = 0, niceSize = 0, unniceSize = 0;
|
int leafSize = 0, niceSize = 0, unniceSize = 0;
|
||||||
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); iter++)
|
for (PPCSymbolDB::XFuncMap::iterator iter = func_db->GetIterator(); iter != func_db->End(); ++iter)
|
||||||
{
|
{
|
||||||
if (iter->second.address == 4)
|
if (iter->second.address == 4)
|
||||||
{
|
{
|
||||||
|
|
|
@ -103,7 +103,7 @@ Symbol *PPCSymbolDB::GetSymbolFromAddr(u32 addr)
|
||||||
return &it->second;
|
return &it->second;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
|
||||||
{
|
{
|
||||||
if (addr >= iter->second.address && addr < iter->second.address + iter->second.size)
|
if (addr >= iter->second.address && addr < iter->second.address + iter->second.size)
|
||||||
return &iter->second;
|
return &iter->second;
|
||||||
|
@ -123,12 +123,12 @@ const char *PPCSymbolDB::GetDescription(u32 addr)
|
||||||
|
|
||||||
void PPCSymbolDB::FillInCallers()
|
void PPCSymbolDB::FillInCallers()
|
||||||
{
|
{
|
||||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
|
||||||
{
|
{
|
||||||
iter->second.callers.clear();
|
iter->second.callers.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
|
||||||
{
|
{
|
||||||
Symbol &f = iter->second;
|
Symbol &f = iter->second;
|
||||||
for (size_t i = 0; i < f.calls.size(); i++)
|
for (size_t i = 0; i < f.calls.size(); i++)
|
||||||
|
@ -158,7 +158,7 @@ void PPCSymbolDB::PrintCalls(u32 funcAddr) const
|
||||||
{
|
{
|
||||||
const Symbol &f = iter->second;
|
const Symbol &f = iter->second;
|
||||||
INFO_LOG(HLE, "The function %s at %08x calls:", f.name.c_str(), f.address);
|
INFO_LOG(HLE, "The function %s at %08x calls:", f.name.c_str(), f.address);
|
||||||
for (std::vector<SCall>::const_iterator fiter = f.calls.begin(); fiter!=f.calls.end(); fiter++)
|
for (std::vector<SCall>::const_iterator fiter = f.calls.begin(); fiter!=f.calls.end(); ++fiter)
|
||||||
{
|
{
|
||||||
XFuncMap::const_iterator n = functions.find(fiter->function);
|
XFuncMap::const_iterator n = functions.find(fiter->function);
|
||||||
if (n != functions.end())
|
if (n != functions.end())
|
||||||
|
@ -180,7 +180,7 @@ void PPCSymbolDB::PrintCallers(u32 funcAddr) const
|
||||||
{
|
{
|
||||||
const Symbol &f = iter->second;
|
const Symbol &f = iter->second;
|
||||||
INFO_LOG(CONSOLE,"The function %s at %08x is called by:",f.name.c_str(),f.address);
|
INFO_LOG(CONSOLE,"The function %s at %08x is called by:",f.name.c_str(),f.address);
|
||||||
for (std::vector<SCall>::const_iterator fiter = f.callers.begin(); fiter != f.callers.end(); fiter++)
|
for (std::vector<SCall>::const_iterator fiter = f.callers.begin(); fiter != f.callers.end(); ++fiter)
|
||||||
{
|
{
|
||||||
XFuncMap::const_iterator n = functions.find(fiter->function);
|
XFuncMap::const_iterator n = functions.find(fiter->function);
|
||||||
if (n != functions.end())
|
if (n != functions.end())
|
||||||
|
@ -306,7 +306,7 @@ bool PPCSymbolDB::SaveMap(const char *filename, bool WithCodes) const
|
||||||
{
|
{
|
||||||
fprintf(f,"%08x %08x %08x %i %s\n", rSymbol.address, rSymbol.size, rSymbol.address,
|
fprintf(f,"%08x %08x %08x %i %s\n", rSymbol.address, rSymbol.size, rSymbol.address,
|
||||||
0, rSymbol.name.c_str());
|
0, rSymbol.name.c_str());
|
||||||
itr++;
|
++itr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save a code file
|
// Save a code file
|
||||||
|
@ -315,7 +315,7 @@ bool PPCSymbolDB::SaveMap(const char *filename, bool WithCodes) const
|
||||||
// Get the current and next address
|
// Get the current and next address
|
||||||
LastAddress = rSymbol.address;
|
LastAddress = rSymbol.address;
|
||||||
LastSymbolName = rSymbol.name;
|
LastSymbolName = rSymbol.name;
|
||||||
itr++;
|
++itr;
|
||||||
|
|
||||||
/* To make nice straight lines we fill out the name with spaces, we also cut off
|
/* To make nice straight lines we fill out the name with spaces, we also cut off
|
||||||
all names longer than 25 letters */
|
all names longer than 25 letters */
|
||||||
|
|
|
@ -68,7 +68,7 @@ bool SignatureDB::Save(const char *filename)
|
||||||
}
|
}
|
||||||
int fcount = (int)database.size();
|
int fcount = (int)database.size();
|
||||||
fwrite(&fcount, 4, 1, f);
|
fwrite(&fcount, 4, 1, f);
|
||||||
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); iter++)
|
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); ++iter)
|
||||||
{
|
{
|
||||||
FuncDesc temp;
|
FuncDesc temp;
|
||||||
memset(&temp, 0, sizeof(temp));
|
memset(&temp, 0, sizeof(temp));
|
||||||
|
@ -99,7 +99,7 @@ u32 SignatureDB::Add(u32 startAddr, u32 size, const char *name)
|
||||||
|
|
||||||
void SignatureDB::List()
|
void SignatureDB::List()
|
||||||
{
|
{
|
||||||
for (FuncDB::iterator iter = database.begin(); iter != database.end(); iter++)
|
for (FuncDB::iterator iter = database.begin(); iter != database.end(); ++iter)
|
||||||
{
|
{
|
||||||
INFO_LOG(HLE,"%s : %i bytes, hash = %08x",iter->second.name.c_str(), iter->second.size, iter->first);
|
INFO_LOG(HLE,"%s : %i bytes, hash = %08x",iter->second.name.c_str(), iter->second.size, iter->first);
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ void SignatureDB::Clear()
|
||||||
|
|
||||||
void SignatureDB::Apply(PPCSymbolDB *symbol_db)
|
void SignatureDB::Apply(PPCSymbolDB *symbol_db)
|
||||||
{
|
{
|
||||||
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); iter++)
|
for (FuncDB::const_iterator iter = database.begin(); iter != database.end(); ++iter)
|
||||||
{
|
{
|
||||||
u32 hash = iter->first;
|
u32 hash = iter->first;
|
||||||
Symbol *function = symbol_db->GetSymbolFromHash(hash);
|
Symbol *function = symbol_db->GetSymbolFromHash(hash);
|
||||||
|
@ -138,7 +138,7 @@ void SignatureDB::Apply(PPCSymbolDB *symbol_db)
|
||||||
void SignatureDB::Initialize(PPCSymbolDB *symbol_db, const char *prefix)
|
void SignatureDB::Initialize(PPCSymbolDB *symbol_db, const char *prefix)
|
||||||
{
|
{
|
||||||
std::string prefix_str(prefix);
|
std::string prefix_str(prefix);
|
||||||
for (PPCSymbolDB::XFuncMap::const_iterator iter = symbol_db->GetConstIterator(); iter != symbol_db->End(); iter++)
|
for (PPCSymbolDB::XFuncMap::const_iterator iter = symbol_db->GetConstIterator(); iter != symbol_db->End(); ++iter)
|
||||||
{
|
{
|
||||||
if ((iter->second.name.substr(0, prefix_str.size()) == prefix_str) || prefix_str.empty())
|
if ((iter->second.name.substr(0, prefix_str.size()) == prefix_str) || prefix_str.empty())
|
||||||
{
|
{
|
||||||
|
|
|
@ -383,7 +383,7 @@ void CCodeWindow::NotifyMapLoaded()
|
||||||
//symbols->Show(false); // hide it for faster filling
|
//symbols->Show(false); // hide it for faster filling
|
||||||
symbols->Freeze(); // HyperIris: wx style fast filling
|
symbols->Freeze(); // HyperIris: wx style fast filling
|
||||||
symbols->Clear();
|
symbols->Clear();
|
||||||
for (PPCSymbolDB::XFuncMap::iterator iter = g_symbolDB.GetIterator(); iter != g_symbolDB.End(); iter++)
|
for (PPCSymbolDB::XFuncMap::iterator iter = g_symbolDB.GetIterator(); iter != g_symbolDB.End(); ++iter)
|
||||||
{
|
{
|
||||||
int idx = symbols->Append(wxString::FromAscii(iter->second.name.c_str()));
|
int idx = symbols->Append(wxString::FromAscii(iter->second.name.c_str()));
|
||||||
symbols->SetClientData(idx, (void*)&iter->second);
|
symbols->SetClientData(idx, (void*)&iter->second);
|
||||||
|
|
|
@ -357,7 +357,7 @@ CNANDContentManager::~CNANDContentManager()
|
||||||
while (itr != m_Map.end())
|
while (itr != m_Map.end())
|
||||||
{
|
{
|
||||||
delete itr->second;
|
delete itr->second;
|
||||||
itr++;
|
++itr;
|
||||||
}
|
}
|
||||||
m_Map.clear();
|
m_Map.clear();
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,7 +155,7 @@ void CPatchAddEdit::AddRemoveEntry(wxCommandEvent& event)
|
||||||
SaveEntryData(itCurEntry);
|
SaveEntryData(itCurEntry);
|
||||||
|
|
||||||
PatchEngine::PatchEntry peEmptyEntry(PatchEngine::PATCH_8BIT, 0x00000000, 0x00000000);
|
PatchEngine::PatchEntry peEmptyEntry(PatchEngine::PATCH_8BIT, 0x00000000, 0x00000000);
|
||||||
itCurEntry++;
|
++itCurEntry;
|
||||||
currentItem++;
|
currentItem++;
|
||||||
itCurEntry = tempEntries.insert(itCurEntry, peEmptyEntry);
|
itCurEntry = tempEntries.insert(itCurEntry, peEmptyEntry);
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ void CPatchAddEdit::AddRemoveEntry(wxCommandEvent& event)
|
||||||
|
|
||||||
if (itCurEntry != tempEntries.begin())
|
if (itCurEntry != tempEntries.begin())
|
||||||
{
|
{
|
||||||
itCurEntry--;
|
--itCurEntry;
|
||||||
currentItem--;
|
currentItem--;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -142,12 +142,6 @@ struct TargetRectangle : public MathUtil::Rectangle<int>
|
||||||
|
|
||||||
#define LOG_VTX()
|
#define LOG_VTX()
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#define ERASE_THROUGH_ITERATOR(container, iterator) iterator = container.erase(iterator)
|
|
||||||
#else
|
|
||||||
#define ERASE_THROUGH_ITERATOR(container, iterator) container.erase(iterator++)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool IsD3D();
|
bool IsD3D();
|
||||||
|
|
||||||
#endif // _VIDEOCOMMON_H
|
#endif // _VIDEOCOMMON_H
|
||||||
|
|
|
@ -75,7 +75,7 @@ Symbol *DSPSymbolDB::GetSymbolFromAddr(u32 addr)
|
||||||
return &it->second;
|
return &it->second;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); ++iter)
|
||||||
{
|
{
|
||||||
if (addr >= iter->second.address && addr < iter->second.address + iter->second.size)
|
if (addr >= iter->second.address && addr < iter->second.address + iter->second.size)
|
||||||
return &iter->second;
|
return &iter->second;
|
||||||
|
|
|
@ -207,7 +207,7 @@ void DSPDebuggerLLE::UpdateSymbolMap()
|
||||||
m_SymbolList->Freeze(); // HyperIris: wx style fast filling
|
m_SymbolList->Freeze(); // HyperIris: wx style fast filling
|
||||||
m_SymbolList->Clear();
|
m_SymbolList->Clear();
|
||||||
for (SymbolDB::XFuncMap::iterator iter = DSPSymbols::g_dsp_symbol_db.GetIterator();
|
for (SymbolDB::XFuncMap::iterator iter = DSPSymbols::g_dsp_symbol_db.GetIterator();
|
||||||
iter != DSPSymbols::g_dsp_symbol_db.End(); iter++)
|
iter != DSPSymbols::g_dsp_symbol_db.End(); ++iter)
|
||||||
{
|
{
|
||||||
int idx = m_SymbolList->Append(wxString::FromAscii(iter->second.name.c_str()));
|
int idx = m_SymbolList->Append(wxString::FromAscii(iter->second.name.c_str()));
|
||||||
m_SymbolList->SetClientData(idx, (void*)&iter->second);
|
m_SymbolList->SetClientData(idx, (void*)&iter->second);
|
||||||
|
|
|
@ -261,7 +261,7 @@ void FramebufferManager::replaceVirtualXFB()
|
||||||
s32 srcUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
s32 srcUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
||||||
s32 lineSize = 2 * it->xfbWidth;
|
s32 lineSize = 2 * it->xfbWidth;
|
||||||
|
|
||||||
it++;
|
++it;
|
||||||
|
|
||||||
while (it != m_virtualXFBList.end())
|
while (it != m_virtualXFBList.end())
|
||||||
{
|
{
|
||||||
|
@ -291,7 +291,7 @@ void FramebufferManager::replaceVirtualXFB()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
it++;
|
++it;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -319,7 +319,7 @@ void FramebufferManager::copyToVirtualXFB(u32 xfbAddr, u32 fbWidth, u32 fbHeight
|
||||||
if (it == m_virtualXFBList.end() && (int)m_virtualXFBList.size() >= MAX_VIRTUAL_XFB)
|
if (it == m_virtualXFBList.end() && (int)m_virtualXFBList.size() >= MAX_VIRTUAL_XFB)
|
||||||
{
|
{
|
||||||
// replace the last virtual XFB
|
// replace the last virtual XFB
|
||||||
it--;
|
--it;
|
||||||
}
|
}
|
||||||
|
|
||||||
float SuperSampleCompensation = 1.0f;
|
float SuperSampleCompensation = 1.0f;
|
||||||
|
@ -505,11 +505,9 @@ const XFBSource** FramebufferManager::getVirtualXFBSource(u32 xfbAddr, u32 fbWid
|
||||||
u32 srcLower = xfbAddr;
|
u32 srcLower = xfbAddr;
|
||||||
u32 srcUpper = xfbAddr + 2 * fbWidth * fbHeight;
|
u32 srcUpper = xfbAddr + 2 * fbWidth * fbHeight;
|
||||||
|
|
||||||
VirtualXFBListType::iterator it;
|
VirtualXFBListType::reverse_iterator it;
|
||||||
for (it = m_virtualXFBList.end(); it != m_virtualXFBList.begin();)
|
for (it = m_virtualXFBList.rbegin(); it != m_virtualXFBList.rend(); ++it)
|
||||||
{
|
{
|
||||||
--it;
|
|
||||||
|
|
||||||
u32 dstLower = it->xfbAddr;
|
u32 dstLower = it->xfbAddr;
|
||||||
u32 dstUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
u32 dstUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
||||||
|
|
||||||
|
|
|
@ -314,7 +314,7 @@ void PixelShaderCache::Init()
|
||||||
void PixelShaderCache::Clear()
|
void PixelShaderCache::Clear()
|
||||||
{
|
{
|
||||||
PSCache::iterator iter = PixelShaders.begin();
|
PSCache::iterator iter = PixelShaders.begin();
|
||||||
for (; iter != PixelShaders.end(); iter++)
|
for (; iter != PixelShaders.end(); ++iter)
|
||||||
iter->second.Destroy();
|
iter->second.Destroy();
|
||||||
PixelShaders.clear();
|
PixelShaders.clear();
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ void TextureCache::Init()
|
||||||
|
|
||||||
void TextureCache::Invalidate(bool shutdown)
|
void TextureCache::Invalidate(bool shutdown)
|
||||||
{
|
{
|
||||||
for (TexCache::iterator iter = textures.begin(); iter != textures.end(); iter++)
|
for (TexCache::iterator iter = textures.begin(); iter != textures.end(); ++iter)
|
||||||
iter->second.Destroy(shutdown);
|
iter->second.Destroy(shutdown);
|
||||||
textures.clear();
|
textures.clear();
|
||||||
HiresTextures::Shutdown();
|
HiresTextures::Shutdown();
|
||||||
|
@ -86,7 +86,7 @@ void TextureCache::InvalidateRange(u32 start_address, u32 size)
|
||||||
if (iter->second.IntersectsMemoryRange(start_address, size))
|
if (iter->second.IntersectsMemoryRange(start_address, size))
|
||||||
{
|
{
|
||||||
iter->second.Destroy(false);
|
iter->second.Destroy(false);
|
||||||
ERASE_THROUGH_ITERATOR(textures, iter);
|
textures.erase(iter++);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
++iter;
|
++iter;
|
||||||
|
@ -131,7 +131,7 @@ void TextureCache::Cleanup()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
iter++;
|
++iter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ void DialogManager::AddDlg(HWND hDialog)
|
||||||
bool DialogManager::IsDialogMessage(LPMSG message)
|
bool DialogManager::IsDialogMessage(LPMSG message)
|
||||||
{
|
{
|
||||||
WindowList::iterator iter;
|
WindowList::iterator iter;
|
||||||
for (iter=dialogs.begin(); iter!=dialogs.end(); iter++)
|
for (iter=dialogs.begin(); iter!=dialogs.end(); ++iter)
|
||||||
{
|
{
|
||||||
if (::IsDialogMessage(*iter,message))
|
if (::IsDialogMessage(*iter,message))
|
||||||
return true;
|
return true;
|
||||||
|
@ -24,6 +24,6 @@ bool DialogManager::IsDialogMessage(LPMSG message)
|
||||||
void DialogManager::EnableAll(BOOL enable)
|
void DialogManager::EnableAll(BOOL enable)
|
||||||
{
|
{
|
||||||
WindowList::iterator iter;
|
WindowList::iterator iter;
|
||||||
for (iter=dialogs.begin(); iter!=dialogs.end(); iter++)
|
for (iter=dialogs.begin(); iter!=dialogs.end(); ++iter)
|
||||||
EnableWindow(*iter,enable);
|
EnableWindow(*iter,enable);
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,7 @@ namespace W32Util
|
||||||
page.hInstance = hInstance;
|
page.hInstance = hInstance;
|
||||||
|
|
||||||
int i=0;
|
int i=0;
|
||||||
for (DlgList::iterator iter = list.begin(); iter != list.end(); iter++, i++)
|
for (DlgList::iterator iter = list.begin(); iter != list.end(); ++iter, ++i)
|
||||||
{
|
{
|
||||||
if (wizard)
|
if (wizard)
|
||||||
{
|
{
|
||||||
|
@ -146,7 +146,7 @@ namespace W32Util
|
||||||
PropertySheet(&sheet);
|
PropertySheet(&sheet);
|
||||||
if (!floating)
|
if (!floating)
|
||||||
{
|
{
|
||||||
for (DlgList::iterator iter = list.begin(); iter != list.end(); iter++)
|
for (DlgList::iterator iter = list.begin(); iter != list.end(); ++iter)
|
||||||
{
|
{
|
||||||
delete iter->tab;
|
delete iter->tab;
|
||||||
}
|
}
|
||||||
|
|
|
@ -471,14 +471,10 @@ void ProgressiveCleanup()
|
||||||
int limit = iter->second.uncachable ? 1200 : 400;
|
int limit = iter->second.uncachable ? 1200 : 400;
|
||||||
if (entry.frame_count < frameCount - limit) {
|
if (entry.frame_count < frameCount - limit) {
|
||||||
// entry.Destroy();
|
// entry.Destroy();
|
||||||
#ifdef _WIN32
|
|
||||||
iter = dl_map.erase(iter);
|
|
||||||
#else
|
|
||||||
dl_map.erase(iter++); // (this is gcc standard!)
|
dl_map.erase(iter++); // (this is gcc standard!)
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
iter++;
|
++iter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -302,7 +302,7 @@ void FramebufferManager::replaceVirtualXFB()
|
||||||
s32 srcUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
s32 srcUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
||||||
s32 lineSize = 2 * it->xfbWidth;
|
s32 lineSize = 2 * it->xfbWidth;
|
||||||
|
|
||||||
it++;
|
++it;
|
||||||
|
|
||||||
while (it != m_virtualXFBList.end())
|
while (it != m_virtualXFBList.end())
|
||||||
{
|
{
|
||||||
|
@ -332,7 +332,7 @@ void FramebufferManager::replaceVirtualXFB()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
it++;
|
++it;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -357,7 +357,7 @@ void FramebufferManager::copyToVirtualXFB(u32 xfbAddr, u32 fbWidth, u32 fbHeight
|
||||||
if (it == m_virtualXFBList.end() && (int)m_virtualXFBList.size() >= MAX_VIRTUAL_XFB)
|
if (it == m_virtualXFBList.end() && (int)m_virtualXFBList.size() >= MAX_VIRTUAL_XFB)
|
||||||
{
|
{
|
||||||
// replace the last virtual XFB
|
// replace the last virtual XFB
|
||||||
it--;
|
--it;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (it != m_virtualXFBList.end())
|
if (it != m_virtualXFBList.end())
|
||||||
|
@ -524,11 +524,9 @@ const XFBSource** FramebufferManager::getVirtualXFBSource(u32 xfbAddr, u32 fbWid
|
||||||
u32 srcLower = xfbAddr;
|
u32 srcLower = xfbAddr;
|
||||||
u32 srcUpper = xfbAddr + 2 * fbWidth * fbHeight;
|
u32 srcUpper = xfbAddr + 2 * fbWidth * fbHeight;
|
||||||
|
|
||||||
VirtualXFBListType::iterator it;
|
VirtualXFBListType::reverse_iterator it;
|
||||||
for (it = m_virtualXFBList.end(); it != m_virtualXFBList.begin();)
|
for (it = m_virtualXFBList.rbegin(); it != m_virtualXFBList.rend(); ++it)
|
||||||
{
|
{
|
||||||
--it;
|
|
||||||
|
|
||||||
u32 dstLower = it->xfbAddr;
|
u32 dstLower = it->xfbAddr;
|
||||||
u32 dstUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
u32 dstUpper = it->xfbAddr + 2 * it->xfbWidth * it->xfbHeight;
|
||||||
|
|
||||||
|
|
|
@ -160,7 +160,7 @@ void PixelShaderCache::Shutdown()
|
||||||
glDeleteProgramsARB(1, &s_DepthMatrixProgram);
|
glDeleteProgramsARB(1, &s_DepthMatrixProgram);
|
||||||
s_DepthMatrixProgram = 0;
|
s_DepthMatrixProgram = 0;
|
||||||
PSCache::iterator iter = pshaders.begin();
|
PSCache::iterator iter = pshaders.begin();
|
||||||
for (; iter != pshaders.end(); iter++)
|
for (; iter != pshaders.end(); ++iter)
|
||||||
iter->second.Destroy();
|
iter->second.Destroy();
|
||||||
pshaders.clear();
|
pshaders.clear();
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,15 +199,15 @@ void TextureMngr::ProgressiveCleanup()
|
||||||
{
|
{
|
||||||
if (!iter->second.isRenderTarget) {
|
if (!iter->second.isRenderTarget) {
|
||||||
iter->second.Destroy(false);
|
iter->second.Destroy(false);
|
||||||
ERASE_THROUGH_ITERATOR(textures, iter);
|
textures.erase(iter++);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
iter->second.Destroy(false);
|
iter->second.Destroy(false);
|
||||||
ERASE_THROUGH_ITERATOR(textures, iter);
|
textures.erase(iter++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
iter++;
|
++iter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@ void TextureMngr::InvalidateRange(u32 start_address, u32 size)
|
||||||
if (iter->second.IntersectsMemoryRange(start_address, size))
|
if (iter->second.IntersectsMemoryRange(start_address, size))
|
||||||
{
|
{
|
||||||
iter->second.Destroy(false);
|
iter->second.Destroy(false);
|
||||||
ERASE_THROUGH_ITERATOR(textures, iter);
|
textures.erase(iter++);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
++iter;
|
++iter;
|
||||||
|
@ -820,6 +820,6 @@ void TextureMngr::DisableStage(int stage)
|
||||||
|
|
||||||
void TextureMngr::ClearRenderTargets()
|
void TextureMngr::ClearRenderTargets()
|
||||||
{
|
{
|
||||||
for (TexCache::iterator iter = textures.begin(); iter != textures.end(); iter++)
|
for (TexCache::iterator iter = textures.begin(); iter != textures.end(); ++iter)
|
||||||
iter->second.isRenderTarget = false;
|
iter->second.isRenderTarget = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ void VertexShaderCache::Init()
|
||||||
|
|
||||||
void VertexShaderCache::Shutdown()
|
void VertexShaderCache::Shutdown()
|
||||||
{
|
{
|
||||||
for (VSCache::iterator iter = vshaders.begin(); iter != vshaders.end(); iter++)
|
for (VSCache::iterator iter = vshaders.begin(); iter != vshaders.end(); ++iter)
|
||||||
iter->second.Destroy();
|
iter->second.Destroy();
|
||||||
vshaders.clear();
|
vshaders.clear();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue