| 783 | } |
| 784 | |
| 785 | void FCEUI_CheatSearchEnd(int type, uint8 v1, uint8 v2) |
| 786 | { |
| 787 | uint32 x; |
| 788 | |
| 789 | if(!CheatComp) |
| 790 | { |
| 791 | if(!InitCheatComp()) |
| 792 | { |
| 793 | CheatMemErr(); |
| 794 | return; |
| 795 | } |
| 796 | } |
| 797 | |
| 798 | switch (type) |
| 799 | { |
| 800 | default: |
| 801 | case FCEU_SEARCH_SPECIFIC_CHANGE: // Change to a specific value |
| 802 | for (x = 0; x < 0x10000; ++x) |
| 803 | if (!(CheatComp[x] & CHEATC_NOSHOW) && (CheatComp[x] != v1 || CheatRPtrs[x >> 10][x] != v2)) |
| 804 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 805 | break; |
| 806 | case FCEU_SEARCH_RELATIVE_CHANGE: // Search for relative change (between values). |
| 807 | for (x = 0; x < 0x10000; x++) |
| 808 | if (!(CheatComp[x] & CHEATC_NOSHOW) && (CheatComp[x] != v1 || CAbs(CheatComp[x] - CheatRPtrs[x >> 10][x]) != v2)) |
| 809 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 810 | break; |
| 811 | case FCEU_SEARCH_PUERLY_RELATIVE_CHANGE: // Purely relative change. |
| 812 | for (x = 0x000; x<0x10000; x++) |
| 813 | if (!(CheatComp[x] & CHEATC_NOSHOW) && CAbs(CheatComp[x] - CheatRPtrs[x >> 10][x]) != v2) |
| 814 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 815 | break; |
| 816 | case FCEU_SEARCH_ANY_CHANGE: // Any change. |
| 817 | for (x = 0x000; x < 0x10000; x++) |
| 818 | if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatComp[x] == CheatRPtrs[x >> 10][x]) |
| 819 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 820 | break; |
| 821 | case FCEU_SEARCH_NEWVAL_KNOWN: // new value = known |
| 822 | for (x = 0x000; x < 0x10000; x++) |
| 823 | if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatRPtrs[x >> 10][x] != v1) |
| 824 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 825 | break; |
| 826 | case FCEU_SEARCH_NEWVAL_GT: // new value greater than |
| 827 | for (x = 0x000; x < 0x10000; x++) |
| 828 | if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatComp[x] >= CheatRPtrs[x >> 10][x]) |
| 829 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 830 | break; |
| 831 | case FCEU_SEARCH_NEWVAL_LT: // new value less than |
| 832 | for (x = 0x000; x < 0x10000; x++) |
| 833 | if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatComp[x] <= CheatRPtrs[x >> 10][x]) |
| 834 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 835 | break; |
| 836 | case FCEU_SEARCH_NEWVAL_GT_KNOWN: // new value greater than by known value |
| 837 | for (x = 0x000; x < 0x10000; x++) |
| 838 | if (!(CheatComp[x] & CHEATC_NOSHOW) && CheatRPtrs[x >> 10][x] - CheatComp[x] != v2) |
| 839 | CheatComp[x] |= CHEATC_EXCLUDED; |
| 840 | break; |
| 841 | case FCEU_SEARCH_NEWVAL_LT_KNOWN: // new value less than by known value |
| 842 | for (x = 0x000; x < 0x10000; x++) |
no test coverage detected