Ren’Py RPA

From XentaxWiki
Jump to: navigation, search

Back to index | Edit this page

RPA

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signatures : RPA-1.0 / RPA-2.0 / RPA-3.0 / RPA-4.0


Format Specifications

// header
7 bytes (char) - signature // e.g. "RPA-3.0"
1 byte (char) - separator  // 0x20
16 bytes (char) - file index offset  // e.g. "00000000005096c9"  which is offset 5281481
1 byte (char) - separator  // 0x20
8 bytes (char) - file index encryption key  // e.g. "42424242" which is key 1111638594


// file data
num_of_files *
{
   17 bytes (char) - engine string  // "Made with Ren'Py."
   x bytes - data
}


// file index (compressed with ZLIB)
// index is serialized with Python "Pickle" module (protocol version 2 or newer)
// more info here https://docs.python.org/3/library/pickle.html
// and here https://peps.python.org/pep-3154/
// and here http://fileformats.archiveteam.org/wiki/Pickle
// index is also encrypted with simple XOR (offset and size are XORed with the index key)
{
   2 bytes (uint16) - protocol signature  // 0x80 0x02
   num_of_frames *
   {
      1 byte (uint8) - frame opcode
      4 bytes (uint32) - unknown
      4 bytes (uint32) - frame key length
      x bytes (char) - frame key (file name)
      x bytes - frame data  // encrypted
   }
}

MultiEx BMS Script

Not written yet.

Notes and Comments

  • This file format occurs in games made on Ren’Py Engine.
  • This file format uses ZLIB compression and XOR encryption.

Games

List of games using this file format:

  • Arcade Spirits (*.RPA) (PC)
  • Cardinal Cross (*.RPA) (PC)
  • Changeling (*.RPA) (PC)
  • Doki Doki Literature Club! (*.RPA) (PC)
  • DUFE: Masquerade (*.RPA) (PC)
  • Highway Blossoms: Remastered (*.RPA) (PC)
  • I'm a love interest in my childhood friend's reverse harem!!! (*.RPA) (PC)
  • little boats of farewell (*.RPA) (PC)
  • Our Life: Beginnings & Always (*.RPA) (PC)
  • Pale Cachexia (*.RPA) (PC)
  • Therapy with Dr. Albert Krueger (*.RPA) (PC)
  • many more...

Compatible Programs