Skip to content

Commit 930bd04

Browse files
authored
move memory functions from EmulatorContext to ra::context::IEmulatorMemoryContext (#1277)
1 parent b717128 commit 930bd04

117 files changed

Lines changed: 3015 additions & 2402 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/Exports.cpp

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "context\IConsoleContext.hh"
1212
#include "context\IRcClient.hh"
1313
#include "context\impl\ConsoleContext.hh"
14+
#include "context\impl\EmulatorMemoryContext.hh"
1415

1516
#include "data\context\EmulatorContext.hh"
1617
#include "data\context\GameContext.hh"
@@ -428,20 +429,30 @@ API void CCONV _RA_SetUserAgentDetail(const char* sDetail)
428429

429430
API void CCONV _RA_InstallMemoryBank(int nBankID, void* pReader, void* pWriter, int nBankSize)
430431
{
431-
ra::services::ServiceLocator::GetMutable<ra::data::context::EmulatorContext>().AddMemoryBlock(nBankID, nBankSize,
432-
static_cast<ra::data::context::EmulatorContext::MemoryReadFunction*>(pReader),
433-
static_cast<ra::data::context::EmulatorContext::MemoryWriteFunction*>(pWriter));
432+
auto* pEmulatorMemoryContext = dynamic_cast<ra::context::impl::EmulatorMemoryContext*>(&ra::services::ServiceLocator::GetMutable<ra::context::IEmulatorMemoryContext>());
433+
if (pEmulatorMemoryContext)
434+
{
435+
pEmulatorMemoryContext->AddMemoryBlock(nBankID, nBankSize,
436+
static_cast<ra::context::impl::EmulatorMemoryContext::MemoryReadFunction*>(pReader),
437+
static_cast<ra::context::impl::EmulatorMemoryContext::MemoryWriteFunction*>(pWriter));
438+
}
434439
}
435440

436441
API void CCONV _RA_InstallMemoryBankBlockReader(int nBankID, void* pReader)
437442
{
438-
ra::services::ServiceLocator::GetMutable<ra::data::context::EmulatorContext>().AddMemoryBlockReader(
439-
nBankID, static_cast<ra::data::context::EmulatorContext::MemoryReadBlockFunction*>(pReader));
443+
auto* pEmulatorMemoryContext = dynamic_cast<ra::context::impl::EmulatorMemoryContext*>(&ra::services::ServiceLocator::GetMutable<ra::context::IEmulatorMemoryContext>());
444+
if (pEmulatorMemoryContext)
445+
{
446+
pEmulatorMemoryContext->AddMemoryBlockReader(
447+
nBankID, static_cast<ra::context::impl::EmulatorMemoryContext::MemoryReadBlockFunction*>(pReader));
448+
}
440449
}
441450

442451
API void CCONV _RA_ClearMemoryBanks()
443452
{
444-
ra::services::ServiceLocator::GetMutable<ra::data::context::EmulatorContext>().ClearMemoryBlocks();
453+
auto* pEmulatorMemoryContext = dynamic_cast<ra::context::impl::EmulatorMemoryContext*>(&ra::services::ServiceLocator::GetMutable<ra::context::IEmulatorMemoryContext>());
454+
if (pEmulatorMemoryContext)
455+
pEmulatorMemoryContext->ClearMemoryBlocks();;
445456
}
446457

447458
API unsigned int CCONV _RA_IdentifyRom(const BYTE* pROM, unsigned int nROMSize)

src/RA_Defs.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#include "RA_Defs.h"
22

3-
#include "util\Strings.hh"
4-
#include "services\ServiceLocator.hh"
3+
#include "context/IEmulatorMemoryContext.hh"
54

6-
#include "data\context\EmulatorContext.hh"
5+
#include "services/ServiceLocator.hh"
6+
7+
#include "util/Strings.hh"
78

89
#include <rcheevos/src/rcheevos/rc_internal.h>
910

@@ -13,8 +14,8 @@ _Use_decl_annotations_
1314
std::string ByteAddressToString(ra::data::ByteAddress nAddr)
1415
{
1516
#ifndef RA_UTEST
16-
const auto& pEmulatorContext = ra::services::ServiceLocator::Get<ra::data::context::EmulatorContext>();
17-
return pEmulatorContext.FormatAddress(nAddr);
17+
const auto& pEmulatorMemoryContext = ra::services::ServiceLocator::Get<ra::context::IEmulatorMemoryContext>();
18+
return pEmulatorMemoryContext.FormatAddress(nAddr);
1819
#else
1920
return ra::StringPrintf("0x%04x", nAddr);
2021
#endif

src/RA_Integration.vcxproj

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@
9292
<ClCompile Include="data\models\MemoryRegionsModel.cpp" />
9393
<ClCompile Include="data\models\RichPresenceModel.cpp" />
9494
<ClCompile Include="data\models\TriggerValidation.cpp" />
95-
<ClCompile Include="data\search\MemBlock.cpp" />
9695
<ClCompile Include="pch.cpp">
9796
<PrecompiledHeader>Create</PrecompiledHeader>
9897
</ClCompile>
@@ -111,6 +110,7 @@
111110
<ClCompile Include="services\impl\JsonFileConfiguration.cpp" />
112111
<ClCompile Include="services\impl\OfflineRcClient.cpp" />
113112
<ClCompile Include="services\impl\ThreadPool.cpp" />
113+
<ClCompile Include="services\impl\WindowsDebuggerDetector.cpp" />
114114
<ClCompile Include="services\impl\WindowsFileSystem.cpp" />
115115
<ClCompile Include="services\impl\WindowsHttpRequester.cpp" />
116116
<ClCompile Include="services\Initialization.cpp" />
@@ -234,7 +234,6 @@
234234
<ClInclude Include="data\models\MemoryRegionsModel.hh" />
235235
<ClInclude Include="data\models\RichPresenceModel.hh" />
236236
<ClInclude Include="data\models\TriggerValidation.hh" />
237-
<ClInclude Include="data\search\MemBlock.hh" />
238237
<ClInclude Include="data\Types.hh" />
239238
<ClInclude Include="Exports.hh" />
240239
<ClInclude Include="pch.h" />
@@ -255,7 +254,6 @@
255254
<ClInclude Include="services\GameIdentifier.hh" />
256255
<ClInclude Include="services\IAudioSystem.hh" />
257256
<ClInclude Include="services\IClipboard.hh" />
258-
<ClInclude Include="services\IClock.hh" />
259257
<ClInclude Include="services\IConfiguration.hh" />
260258
<ClInclude Include="services\ILocalStorage.hh" />
261259
<ClInclude Include="services\ILogger.hh" />
@@ -264,9 +262,9 @@
264262
<ClInclude Include="services\impl\JsonFileConfiguration.hh" />
265263
<ClInclude Include="services\impl\OfflineRcClient.hh" />
266264
<ClInclude Include="services\impl\ThreadPool.hh" />
267-
<ClInclude Include="services\impl\Clock.hh" />
268265
<ClInclude Include="services\impl\WindowsAudioSystem.hh" />
269266
<ClInclude Include="services\impl\WindowsClipboard.hh" />
267+
<ClInclude Include="services\impl\WindowsDebuggerDetector.hh" />
270268
<ClInclude Include="services\impl\WindowsDebuggerFileLogger.hh" />
271269
<ClInclude Include="services\impl\WindowsFileSystem.hh" />
272270
<ClInclude Include="services\impl\WindowsHttpRequester.hh" />

src/RA_Integration.vcxproj.filters

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@
5252
<Filter Include="Services\Search">
5353
<UniqueIdentifier>{e978c08c-fedb-4ead-af63-0420b26291bb}</UniqueIdentifier>
5454
</Filter>
55-
<Filter Include="Data\Search">
56-
<UniqueIdentifier>{94064815-198f-4ee6-bdea-3a44f8b79d2d}</UniqueIdentifier>
57-
</Filter>
5855
</ItemGroup>
5956
<ItemGroup>
6057
<ClCompile Include="RA_md5factory.cpp">
@@ -399,9 +396,6 @@
399396
<ClCompile Include="services\search\SearchImpl.cpp">
400397
<Filter>Services\Search</Filter>
401398
</ClCompile>
402-
<ClCompile Include="data\search\MemBlock.cpp">
403-
<Filter>Data\Search</Filter>
404-
</ClCompile>
405399
<ClCompile Include="ui\viewmodels\MemoryWatchViewModel.cpp">
406400
<Filter>UI\ViewModels</Filter>
407401
</ClCompile>
@@ -420,6 +414,9 @@
420414
<ClCompile Include="services\impl\OfflineRcClient.cpp">
421415
<Filter>Services\Impl</Filter>
422416
</ClCompile>
417+
<ClCompile Include="services\impl\WindowsDebuggerDetector.cpp">
418+
<Filter>Services\Impl</Filter>
419+
</ClCompile>
423420
</ItemGroup>
424421
<ItemGroup>
425422
<ClInclude Include="RA_Resource.h">
@@ -476,12 +473,6 @@
476473
<ClInclude Include="services\impl\FileLogger.hh">
477474
<Filter>Services\Impl</Filter>
478475
</ClInclude>
479-
<ClInclude Include="services\IClock.hh">
480-
<Filter>Services</Filter>
481-
</ClInclude>
482-
<ClInclude Include="services\impl\Clock.hh">
483-
<Filter>Services\Impl</Filter>
484-
</ClInclude>
485476
<ClInclude Include="services\impl\WindowsDebuggerFileLogger.hh">
486477
<Filter>Services\Impl</Filter>
487478
</ClInclude>
@@ -1010,9 +1001,6 @@
10101001
<ClInclude Include="services\Search\SearchImpl_double32_be_aligned.hh">
10111002
<Filter>Services\Search</Filter>
10121003
</ClInclude>
1013-
<ClInclude Include="data\search\MemBlock.hh">
1014-
<Filter>Data\Search</Filter>
1015-
</ClInclude>
10161004
<ClInclude Include="ui\viewmodels\MemoryWatchViewModel.hh">
10171005
<Filter>UI\ViewModels</Filter>
10181006
</ClInclude>
@@ -1034,6 +1022,9 @@
10341022
<ClInclude Include="services\impl\OfflineRcClient.hh">
10351023
<Filter>Services\Impl</Filter>
10361024
</ClInclude>
1025+
<ClInclude Include="services\impl\WindowsDebuggerDetector.hh">
1026+
<Filter>Services\Impl</Filter>
1027+
</ClInclude>
10371028
</ItemGroup>
10381029
<ItemGroup>
10391030
<ResourceCompile Include="RA_Shared.rc">

0 commit comments

Comments
 (0)