Files
pico-loader/arm9/source/patches/arm7/sdk2to4/CardiTaskThreadPatch.h

35 lines
751 B
C++

#pragma once
#include "patches/Patch.h"
class FunctionSignature;
/// @brief Arm7 patch for redirecting save reads and writes on SDK 2-4.
class CardiTaskThreadPatch : public Patch
{
public:
enum class PatchVariant : u16
{
None,
ArmA,
ArmB,
ArmC,
ArmD,
ArmE,
ArmF,
ThumbA,
ThumbB,
ThumbC,
ThumbD,
ThumbE,
ThumbF
};
bool FindPatchTarget(PatchContext& patchContext) override;
void ApplyPatch(PatchContext& patchContext) override;
private:
u32* _cardiTaskThread = nullptr;
PatchVariant _patchVariant = PatchVariant::None;
bool CheckSignature(const PatchContext& patchContext, const FunctionSignature& signature);
};