2025-11-22 11:08:28 +01:00
|
|
|
#pragma once
|
|
|
|
|
#include "sections.h"
|
2026-01-02 15:18:45 +01:00
|
|
|
#include "PatchCode.h"
|
|
|
|
|
#include "ISectorRemapPatchCode.h"
|
2025-11-22 11:08:28 +01:00
|
|
|
#include "fileInfo.h"
|
|
|
|
|
|
|
|
|
|
DEFINE_SECTION_SYMBOLS(saveoffsettosdsector);
|
|
|
|
|
|
|
|
|
|
extern "C" u32 save_offset_to_sd_sector_asm(u32 saveOffset);
|
|
|
|
|
|
|
|
|
|
extern u32 saveoffsettosdsector_fatDataPtr;
|
|
|
|
|
|
2026-01-02 15:18:45 +01:00
|
|
|
class SaveOffsetToSdSectorPatchCode : public PatchCode, public ISectorRemapPatchCode
|
2025-11-22 11:08:28 +01:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
SaveOffsetToSdSectorPatchCode(PatchHeap& patchHeap, const save_file_info_t* fatDataPtr)
|
2026-01-02 15:18:45 +01:00
|
|
|
: PatchCode(SECTION_START(saveoffsettosdsector), SECTION_SIZE(saveoffsettosdsector), patchHeap)
|
2025-11-22 11:08:28 +01:00
|
|
|
{
|
|
|
|
|
saveoffsettosdsector_fatDataPtr = (u32)fatDataPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const void* GetRemapFunction() const override
|
|
|
|
|
{
|
|
|
|
|
return GetAddressAtTarget((void*)save_offset_to_sd_sector_asm);
|
|
|
|
|
}
|
|
|
|
|
};
|