Skip to content

Instantly share code, notes, and snippets.

View leiradel's full-sized avatar

Andre Leiradella leiradel

View GitHub Profile
@leiradel
leiradel / README.md
Created July 22, 2018 01:36
rcheevos readme

rcheevos

rcheevos is a set of C code, or a library if you will, that tries to make it easier for emulators to interface with the RetroAchievements website services and provide achievements and leaderboards for their players.

rcheevos is not a complete solution in that it doesn't provide HTTP network connections or JSON parsing. The emulator has to implement that by itself, and pass the results down to rcheevos for processing.

Not all structures defined by rcheevos can be created via the public API, but are exposed to allow iteractions beyond just cretion, destruction, and testing, such as the ones required by UI code that helps creating them.

Finally, rcheevos does not allocate any memory or manage memory by itself. All structures that can be returned by it have a function that will determine the number of bytes needed to hold the structure, and another that will actually build the structure and that takes a caller-provided buffer to bake the structure. However, calls to **rc

@leiradel
leiradel / gist:9b22e1bc9484b56add8dd5563ad8f1fa
Last active July 1, 2018 22:08
(Sort of) BNF of the Retro Achievements memaddr field
memaddr = achievement | leaderboard .
memory_size = ( 'm' | 'M' ) // bit 0
| ( 'n' | 'N' ) // bit 1
| ( 'o' | 'O' ) // bit 2
| ( 'p' | 'P' ) // bit 3
| ( 'q' | 'Q' ) // bit 4
| ( 'r' | 'R' ) // bit 5
| ( 's' | 'S' ) // bit 6
| ( 't' | 'T' ) // bit 7
@leiradel
leiradel / retromods.md
Last active June 29, 2023 05:20
Retromods spec brain dump. *Highly volatile!*

Retromods

What is a mod?

A mod is a set of code and assets that changes or augments the way a game is run. Examples of mods are:

  • Music and sound packs that replace the original game music and sound.
  • Graphics packs that replace the original game graphics.
  • Level packs that change or replace the original game levels.
  • Achievements that are awarded to the players when they complete tasks in the game.