Files
pico-loader/arm9/source/patches/arm7/VerifySaveAsm.h
2025-12-20 15:46:41 +01:00

32 lines
1.0 KiB
C++

#pragma once
#include "sections.h"
#include "../PatchCode.h"
#include "../SectorRemapPatchCode.h"
#include "../platform/SdReadPatchCode.h"
DEFINE_SECTION_SYMBOLS(verifysave);
extern "C" void verifysave_asm(u32, u32 saveSrc, void* memoryDst, u32 byteLength);
extern u32 verifysave_tmpBufferPtr;
extern u32 verifysave_save_offset_to_sd_sector_asm_address;
extern u32 verifysave_sdread_asm_address;
class VerifySavePatchCode : public PatchCode
{
public:
VerifySavePatchCode(PatchHeap& patchHeap, const SectorRemapPatchCode* sectorRemapPatchCode,
const SdReadPatchCode* sdReadPatchCode, void* tmpBuffer)
: PatchCode(SECTION_START(verifysave), SECTION_SIZE(verifysave), patchHeap)
{
verifysave_save_offset_to_sd_sector_asm_address = (u32)sectorRemapPatchCode->GetRemapFunction();
verifysave_sdread_asm_address = (u32)sdReadPatchCode->GetSdReadFunction();
verifysave_tmpBufferPtr = (u32)tmpBuffer;
}
const void* GetVerifySaveFunction() const
{
return GetAddressAtTarget((void*)verifysave_asm);
}
};