Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/retired64/sm64coopdx_launcher/llms.txt

Use this file to discover all available pages before exploring further.

The SM64 Coop DX Launcher is a full graphical application built on SDL2. Its user interface relies on a set of external asset files — fonts, images, sound effects, background music, and a mod database — that must be present on disk before the launcher starts. These files are intentionally shipped separately from the binary so they can be updated or replaced without recompiling the launcher. All assets are loaded from a single directory under your XDG data home.

Asset directory

~/.local/share/sm64coopdx/assets/
This path is derived at runtime from the XDG data_dir (typically ~/.local/share) and is the only location the launcher searches. The directory must exist and be populated before the first run.

Installing assets

Copy the assets/ directory that ships alongside the launcher binary into the expected location:
mkdir -p ~/.local/share/sm64coopdx/assets
cp -r assets/* ~/.local/share/sm64coopdx/assets/
Run this once after extracting the launcher archive. If you update the launcher to a new version, re-run the copy to pick up any new or changed asset files.
The source assets/ directory referenced above is the one bundled with the launcher release — it lives next to the sm64coopdx-launcher binary in the downloaded archive.

Required asset files

The table below lists every file the launcher loads from ~/.local/share/sm64coopdx/assets/. All paths are relative to that base directory.
Asset pathTypePurpose
fonts/SuperMario256.ttfTrueType fontAll in-launcher text rendering
splash.pngPNG imageFull-screen splash graphic shown on startup
vinyl_disc.pngPNG imageAnimated spinning vinyl disc in the music player
sm64coopdx/logo.pngPNG imageSM64 Coop DX logo displayed on the main screen
sm64coopdx/icon.pngPNG imageWindow icon (shown in taskbar / title bar)
background.pngPNG imageMain background wallpaper
sounds/navigation_sound.wavWAV audioSound effect played when navigating menus
sounds/splash_sound.wavWAV audioSound effect played during the splash screen
ogg-sounds/DirectoryBackground music tracks (.ogg files)
database_sm64coopdx.jsonJSONMod download database (~1,100+ community mods)
If any required asset file is missing, the launcher will fail to load and log an error to stderr. The most common cause is forgetting to run the cp -r assets/* step after a fresh install or update.

Asset details

The launcher uses a single font file, fonts/SuperMario256.ttf, for all rendered text. It is loaded at three sizes defined in the launcher configuration:
ConstantSizeUse
FONT_SIZE_DEFAULT42 pxMain headings and menu items
FONT_SIZE_MEDIUM28 pxSub-headings and descriptions
FONT_SIZE_SMALL18 pxStatus text and small labels
The font file must be present before the SDL2 TTF subsystem initialises; a missing font prevents the launcher from rendering any text at all.

Directory layout reference

After a correct installation the asset tree should look like this:
~/.local/share/sm64coopdx/assets/
├── fonts/
│   └── SuperMario256.ttf
├── sm64coopdx/
│   ├── icon.png
│   └── logo.png
├── sounds/
│   ├── navigation_sound.wav
│   └── splash_sound.wav
├── ogg-sounds/
│   ├── track1.ogg
│   └── track2.ogg          ← any number of .ogg files
├── background.png
├── database_sm64coopdx.json
├── splash.png
└── vinyl_disc.png

Troubleshooting missing assets

1

Check the error message

Run the launcher from a terminal to see stderr output:
./sm64coopdx-launcher
Asset load errors are printed to stderr with the full path that was expected. This tells you exactly which file is missing.
2

Verify the assets directory exists

ls -la ~/.local/share/sm64coopdx/assets/
If the directory does not exist, re-run the install step:
mkdir -p ~/.local/share/sm64coopdx/assets
cp -r assets/* ~/.local/share/sm64coopdx/assets/
3

Check individual files

Cross-reference the directory listing against the required files table above. Pay attention to subdirectories — fonts/, sounds/, sm64coopdx/, and ogg-sounds/ must all be present.
find ~/.local/share/sm64coopdx/assets/ -type f | sort
4

Re-copy from a clean archive

If files appear corrupted or incomplete, extract a fresh copy of the launcher archive and re-run:
cp -r assets/* ~/.local/share/sm64coopdx/assets/
The copy is non-destructive for files not present in the source — existing files will be overwritten with the shipped versions.

Build docs developers (and LLMs) love