/* Copyright 2007 Theo Berkau This file is part of Yabause. Yabause is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Yabause is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Yabause; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef CHEAT_H #define CHEAT_H #include "core.h" enum { CHEATTYPE_NONE=0, CHEATTYPE_ENABLE, CHEATTYPE_BYTEWRITE, CHEATTYPE_WORDWRITE, CHEATTYPE_LONGWRITE }; typedef struct { int type; u32 addr; u32 val; char *desc; int enable; } cheatlist_struct; int CheatInit(void); void CheatDeInit(void); int CheatAddCode(int type, u32 addr, u32 val); int CheatAddARCode(const char *code); int CheatChangeDescription(int type, u32 addr, u32 val, char *desc); int CheatChangeDescriptionByIndex(int i, char *desc); int CheatRemoveCode(int type, u32 addr, u32 val); int CheatRemoveCodeByIndex(int i); int CheatRemoveARCode(const char *code); void CheatClearCodes(void); void CheatEnableCode(int index); void CheatDisableCode(int index); void CheatDoPatches(void); cheatlist_struct *CheatGetList(int *cheatnum); int CheatSave(const char *filename); int CheatLoad(const char *filename); #endif