Skip to content

YanWittmann/rw-collection-index

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rain World Collection Index Hero

The Rain World Collection Index is a comprehensive interactive archive created to help players explore and keep track of Rain World's lore. It provides a centralized place to browse all Pearls, Broadcasts, Dialogue and Projections from the Vanilla base game, Downpour DLC, The Watcher DLC and popular community mods.

🔗 Hosted at: https://yanwittmann.github.io/rw-collection-index

Collection Index Content

The dataset spans the entire known history of the Ancients and Iterators.

Expansion / Source Content Details

Base Game
  • All transcriptions for Colored, White, and Five Pebbles pearls.
  • Dialogue trees for Looks to the Moon and Five Pebbles.
  • Dialogue for all Echoes.
  • All item descriptions.

 '  


Downpour
  • All transcriptions for Colored, White, and Five Pebbles pearls.
  • All intercepted logs and transmissions from Spearmaster's campaign.
  • Campaign-specific iterator interactions.
  • Full developer commentary.

 '  


The Watcher
  • Animated Pearl Reader Projections.
  • Pearl Reader Audio Files.
  • Pearl Reader Readings.
  • Spinning Top dialogue.
  • Rot Prince dialogue.
  • Void Weaver dialogue.


Community Mods
  • Lore and pearls found in popular region mods.
  • Custom Iterator dialogue from community projects.

 '  

Looking for a missing mod? Let me know, or contribute it yourself!

Features

Spoiler Protection

Designed for first-time players. Toggle Unlock Mode to hide all text behind "?". Reveal hints progressively or verify your in-game findings manually without spoiling the rest of the collection.

Search and Filter

Full-text search across the entire database. Filter results by Region, Speaker, Type or Tag. Hover over speaker names (e.g. LttM, NSH) to reveal their full canonical names and text color.

Interactive Map Links

Most entries are linked directly to the Rain World Interactive Map and related maps. Click the pin icon to see exactly where a Pearl or Broadcast is located in the game world.

Sharing and Exporting

Share specific lore entries easily. The URL updates as you browse, storing the selected item and the specific transcriber. Export specific transcriptions as high-resolution PNG files to share quotes.

Source Data View

Toggle "Source View" to see the original game file identifiers, internal IDs, raw text strings and source code on selected entries alongside the formatted transcription.

All Transcriptions

Switch between different Iterator readings and interpretations for the same pearl (e.g. Moon Pre-Collapse vs. Post-Collapse).

UI Example of a selected Pearl

Installation and Setup

# clone the repository / install dependencies
git clone https://github.com/YanWittmann/rw-collection-index
cd rw-collection-index/site
npm install

# dev server
npm run start

# build application bundles
npm run build

Contributing

Contributions are welcome! Please open an Issue or Pull Request to discuss changes.

Dialogue Contribution Guide

A complete walkthrough for adding missing vanilla lore or support for new mods. Learn how to create .txt transcription files, format metadata, and register new entries in the application.

Report Bugs & Suggestions

Found a typo, incorrect map location, or missing content? Open an issue to report bugs, suggest changes, or discuss new feature ideas.

Do you want your modded dialogue to be added to the modded version of the collection? Please let me know, or follow the guide above to add it by yourself!

Look at these epic people that supported this project:

User Contributions
Space Dwarf "Colored Pearls + Broadcasts" category rename.
DLC Tag for DLC content.
Fixed incorrect map locations.
bug leaving room Info that certain text color only exists in DP
Show Pearl's internal identifiers.
Use up-to-date interactive map links
Hmoorkin Broadcast icons are too similar in color.
yukithedestroyer If there are multiple identical transcribers on an entry, they do not unlock correctly in spoiler mode.
candlesign.4539 Keyboard navigation.
scir Created new Icon set.
ShockMicro Some DP items were not marked as such.
candlesign.4539 Buttons get stuck in the hovered state.
capwolfbane & SUNFISH Incorrectly "vanilla" tagged elements.
capwolfbane Merge "FP" and "Five Pebbles" filter entries.
erickckk Correct TEXT_KITESDAY map location link.
artustan #6 remove BroadcastMisc entry from Spearmasterpearl.
Idea  ○   Issue  ○   Contribution
Feel like you should be on this list? Let me know!

Game Text extraction

If you feel like replicating the dataset yourself, well, here you go. To populate the application with the latest text, you need to extract the strings from the game files.

The scripts are found in site/build-scripts.

Method 1: Mod Extraction

  1. Install and run the Text Extractor Mod from the Steam Workshop. The mod will write the extracted files into the following directory: Rain World/RainWorld_Data/StreamingAssets/decrypt
  2. In the decrypt directory, rename the language folders from [lang] to text_[lang] (e.g. Eng becomes text_eng).
  3. Certain hard-coded strings have been extracted from Rain World/RainWorld_Data/Managed/Assembly-CSharp.dll using dnSpy. Selected files are already included in this repository at dialogue/source/dll. Copy desired dll-File extractions into your decrypt folder alongside the text_... folders.
  4. Run the main decryption script inside your .../StreamingAssets/decrypt folder: python path/to/repo/site/build-scripts/decrypt-rw-text.py.
    This will process all text files and the dll sources into a single JSON file.
  5. Move the resulting decrypted.json file to the dialogue/source directory in this repository.
Method 2: Old Python Script (Deprecated)

⚠️ This method does not work on broadcasts and is therefore deprecated.

We need to extract the strings from Rain World to use them in the application. Copy the following python program decrypt-rw-text.py into your SteamLibrary\steamapps\common\Rain World folder and run it. This will create a folder decrypted with all the source files in them and a decrypted.json file with all the english variants of the strings.

Copy the decrypted.json file into the source folder.

There is also a custom script available for decoding entire directories of files, with special case handling in case the file was renamed and the salt for the hash differs from the expected one: decrypt-entry.py. It sometimes fails, however; its success rate is roughly 98%, so for the rest we have to fallback on the decryption mod.


Code on GitHub  ○  Created by Yan Wittmann  ○  Rain World is property of Videocult  ○  Privacy Policy