-
Notifications
You must be signed in to change notification settings - Fork 2
Coverflow
RiptOPL's default theme — a centered cover-art carousel with an alpha-faded reflection, animated scrolling between titles, and aspect-correct cover frames in both 4:3 and widescreen. It is a built-in theme: no files to copy, active out of the box.
ℹ Built-in, not a THM folder theme
<Coverflow> is compiled into RiptOPL and appears in the theme list alongside
any custom THM/ themes you add. You can switch to a different theme in
Interface → Theme and switch back at any time. The Coverflow Settings
button only appears in Interface while a Coverflow-based theme is active.
When the <Coverflow> theme is active, the game list view shows a row of
cover-art images centred on the screen. The currently selected title sits at the centre; side
covers fan out to the left and right. Below each cover a mirrored, alpha-faded reflection is
drawn automatically. Scrolling left or right slides the entire carousel with a smooth animation;
the selection lands on the new title when the animation completes.
Covers are drawn inside a two-layer frame: a plastic-case layer (case)
sits over the raw cover art, and a second overlay layer (case_overlay) sits over
that, keeping the frame visually aligned regardless of cover art dimensions. The engine
keeps the frame aspect-correct automatically in both 4:3 and widescreen — it does
not apply an extra widescreen scale on top of what the PS2 already does, so covers
never warp when widescreen is toggled.
The element type driving the carousel is type=Coverflow. The built-in theme
defines three variants of this element:
| Block | Used for | Box size | Default cover |
|---|---|---|---|
main2 |
PS2 games | 184 × 256 px (portrait) | cover |
appsMain2 |
Apps | 184 × 184 px (square) | coverapp |
vcdMain2 |
PS1 / VCD games | 184 × 184 px (square) | cover |
Apps and PS1 covers use a square box so the frame matches their square art; PS2 games use the taller portrait box that matches a standard PS2 case.
On a mixed carousel — the Favorites All in One shelf, or a device page under PS2/PS1 Game Display = Mixed — more than one of these blocks is live at once, and each cover is drawn from the block for its own media kind rather than one shape being stretched onto all three. The cover width stays uniform so carousel spacing does not move; only the height follows each row's aspect, and every cover stands on a common bottom edge, so portrait and square covers share one baseline and their reflections start together. See Block families for the full resolution rules.
Open Interface and press the Coverflow Settings button (it appears only when a Coverflow theme is active). Four options are available:
| Setting | Options | What it does |
|---|---|---|
| Cover Count | 3 / 5 | Number of covers shown simultaneously. 3 = one centre + one each side; 5 = one centre + two each side. |
| Center Scale | None / Small / Medium / Large | How much the centre cover grows relative to the side covers. None = all covers the same size. |
| Animation Speed | Off / Fast / Normal / Slow | Duration of the slide animation when the selection changes. Off = instant snap (0 ms); Fast = 100 ms; Normal = 200 ms; Slow = 400 ms. |
| Dim Side Covers | On / Off | When on, non-centre covers are drawn darker to focus attention on the selected title. |
These settings are saved to settings_riptopl.cfg under the keys
coverflow_count, coverflow_scale, coverflow_anim, and
coverflow_dim. They apply to any theme that uses a
type=Coverflow element — not just the built-in one.
The carousel pulls cover art from the ART/ folder on the active storage device
(same folder used by all OPL themes). Name your art files by Game ID:
ART/
SLUS_012.34_COV.png ← cover art (used by Coverflow)
SLUS_012.34_SCR.png ← screenshot 1 (shown on the info page)
SLUS_012.34_SCR2.png ← screenshot 2
If no matching cover is found the carousel shows the built-in cover placeholder
instead. Art is loaded into a shared texture cache. The cache is pre-sized internally (the
built-in carousel uses a fixed slot count) and is not user-configurable.
ℹ Art is shared across OPL builds
Because all OPL-family builds use the same ART/ folder layout, artwork you already
have for stock OPL, uOPL, or wOPL works with RiptOPL's Coverflow carousel without any changes.
You can create your own theme that uses the type=Coverflow element — custom
background, fonts, colors, and overlay art, with the same live settings above. See
Theme Engine for the full authoring reference, including:
- The
type=Coverflowelement properties (default,overlay,overlay2,reflection,width/height, overlay corners) - The global
coverflow_cover_offsetkey for horizontal nudging of the whole carousel - Block family prefixes (
appsMain*,vcdMain*,favsMain*, and the opt-infavsVcdMain*/favsAppsMain*for PS1 and app favorites) for per-view overrides - The two-layer overlay system (
overlay+overlay2) used by the built-in case frame
The built-in theme's source, misc/theme_coverflow.cfg in the repository, is a
complete working reference you can copy and modify.
The Coverflow Settings are stored in settings_riptopl.cfg. For completeness,
the underlying keys and their value ranges:
| Config key | Type | Values | Notes |
|---|---|---|---|
coverflow_count |
int | 3 or 5 | Visible covers in the carousel |
coverflow_scale |
int | 0 / 15 / 30 / 45 | Centre-cover grow amount (0 = None, 15 = Small, 30 = Medium, 45 = Large) |
coverflow_anim |
int (ms) | 0 / 100 / 200 / 400 | Slide duration (0 = Off, 100 = Fast, 200 = Normal, 400 = Slow) |
coverflow_dim |
bool | 0 / 1 | Dim non-centre covers |
Where does the per-theme horizontal nudge live?
The coverflow_cover_offset key is a theme-level global property — it lives
inside the theme's conf_theme.cfg, not in settings_riptopl.cfg. It shifts
the entire carousel left or right (range −1024 to 1024, default 0). The built-in
<Coverflow> theme sets it to 0. If you author a custom theme and
need to reposition the carousel horizontally, set this in your conf_theme.cfg — it does
not appear in the Coverflow Settings menu.
Source: coverflow.html @ fc2e13154e51. Read on the documentation website.
Start here
Storage and networking
- USB, MX4SIO and iLink
- MMCE
- Internal HDD: APA and exFAT
- SMB shares
- Network boot: UDPFS and UDPBD
- HTTP
- NBD server
Games and features
- Neutrino core
- PS1: POPStarter and Ember
- Per-game settings
- Virtual memory cards
- GSM video modes
- In-game reset
- Cheats
- PADEMU
- RetroAchievements
- Apps
Interface and customization
Help and reference
- Troubleshooting
- ZSO format
- Backward-compatible PS3
- Credits and sources
- Features in other forks
- Project overview
Detailed references
- Complete repository guide
- Rolling release reference
- APA hard disk safety and code 402
- Autolaunch and global settings
- Controls reference
- GSM reference
- HTTP reference
- In-game reset reference
- Folders, parental lock and audio
- Language maintenance
- MX4SIO launch reference
- Neutrino reference
- PADEMU reference
- RetroAchievements reference
- Theme engine: full authoring reference
- PS1/VCD reference
- HTTP server conformance tools
- APA recovery tool