libretro / libretro/libretro-database

Convert native cheat codes to the RetroArch format

Open
#1,360 11 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.4k
Forks
877
Avg merge
3d 1h
Merged PRs (30d)
24

Description

There are a lot of cores currently that only support cheats in the RetroArch format, while this repo only provides codes in Native format (e.g. GameShark):

This creates confusion among users, who assume cheat support is missing in these cores, while it is not the case actually: https://github.com/libretro/beetle-pce-fast-libretro/issues/93 https://github.com/libretro/beetle-saturn-libretro/issues/5

So i've made this quick and dirty script to convert the cheat tables format:
https://github.com/eadmaster/dotfiles/blob/main/bin/chtnative2retroarch.py

It's still missing support for encrypted/conditional/increment/activator codes, but i've found it's already working well in most cases.

Possibly it can be merged into the scraper script, to have the cheat tables converted automatically after download.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading scripts/scraper.py and comparing its current cheat-table download flow with the referenced chtnative2retroarch.py script. Review the linked RetroArch format documentation and the listed core limitations. Done means the scraper can automatically convert the downloaded native cheat tables where supported, while the remaining encrypted, conditional, increment, and activator codes are understood as limitations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.