dmnt-cheat: output value on EnableFrozenAddress

This commit is contained in:
Michael Scire 2019-03-04 22:17:18 -08:00
parent e734a5412a
commit eddbd7c072
4 changed files with 6 additions and 5 deletions

View file

@ -531,7 +531,7 @@ Result DmntCheatManager::GetFrozenAddress(FrozenAddressEntry *frz_addr, u64 add
return 0; return 0;
} }
Result DmntCheatManager::EnableFrozenAddress(u64 address, u64 width) { Result DmntCheatManager::EnableFrozenAddress(u64 *out_value, u64 address, u64 width) {
std::scoped_lock<HosMutex> lk(g_cheat_lock); std::scoped_lock<HosMutex> lk(g_cheat_lock);
if (!HasActiveCheatProcess()) { if (!HasActiveCheatProcess()) {
@ -555,6 +555,7 @@ Result DmntCheatManager::EnableFrozenAddress(u64 address, u64 width) {
} }
g_frozen_addresses_map[address] = value; g_frozen_addresses_map[address] = value;
*out_value = value.value;
return 0; return 0;
} }

View file

@ -67,7 +67,7 @@ class DmntCheatManager {
static Result GetFrozenAddressCount(u64 *out_count); static Result GetFrozenAddressCount(u64 *out_count);
static Result GetFrozenAddresses(FrozenAddressEntry *frz_addrs, size_t max_count, u64 *out_count, u64 offset); static Result GetFrozenAddresses(FrozenAddressEntry *frz_addrs, size_t max_count, u64 *out_count, u64 offset);
static Result GetFrozenAddress(FrozenAddressEntry *frz_addr, u64 address); static Result GetFrozenAddress(FrozenAddressEntry *frz_addr, u64 address);
static Result EnableFrozenAddress(u64 address, u64 width); static Result EnableFrozenAddress(u64 *out_value, u64 address, u64 width);
static Result DisableFrozenAddress(u64 address); static Result DisableFrozenAddress(u64 address);
static void InitializeCheatManager(); static void InitializeCheatManager();

View file

@ -158,7 +158,7 @@ Result DmntCheatService::GetFrozenAddress(Out<FrozenAddressEntry> entry, u64 add
return DmntCheatManager::GetFrozenAddress(entry.GetPointer(), address); return DmntCheatManager::GetFrozenAddress(entry.GetPointer(), address);
} }
Result DmntCheatService::EnableFrozenAddress(u64 address, u64 width) { Result DmntCheatService::EnableFrozenAddress(Out<u64> out_value, u64 address, u64 width) {
switch (width) { switch (width) {
case 1: case 1:
case 2: case 2:
@ -169,7 +169,7 @@ Result DmntCheatService::EnableFrozenAddress(u64 address, u64 width) {
return ResultDmntCheatInvalidFreezeWidth; return ResultDmntCheatInvalidFreezeWidth;
} }
return DmntCheatManager::EnableFrozenAddress(address, width); return DmntCheatManager::EnableFrozenAddress(out_value.GetPointer(), address, width);
} }
Result DmntCheatService::DisableFrozenAddress(u64 address) { Result DmntCheatService::DisableFrozenAddress(u64 address) {

View file

@ -73,7 +73,7 @@ class DmntCheatService final : public IServiceObject {
Result GetFrozenAddressCount(Out<u64> out_count); Result GetFrozenAddressCount(Out<u64> out_count);
Result GetFrozenAddresses(OutBuffer<FrozenAddressEntry> addresses, Out<u64> out_count, u64 offset); Result GetFrozenAddresses(OutBuffer<FrozenAddressEntry> addresses, Out<u64> out_count, u64 offset);
Result GetFrozenAddress(Out<FrozenAddressEntry> entry, u64 address); Result GetFrozenAddress(Out<FrozenAddressEntry> entry, u64 address);
Result EnableFrozenAddress(u64 address, u64 width); Result EnableFrozenAddress(Out<u64> out_value, u64 address, u64 width);
Result DisableFrozenAddress(u64 address); Result DisableFrozenAddress(u64 address);
public: public: