Coverflow & PSBBN Flow
Coverflow is RiptOPL's optional built-in centered carousel view — centered cover art with an alpha-faded
reflection, animated scrolling between titles, and aspect-correct cover frames in both 4:3
and widescreen. It is a view of the built-in <OPL> theme: no theme files to copy. Pick it under Settings → Interface → Theme View, or hold L3 for half a second on the main page; fresh settings use the List view.
For the Collection-style perspective fan, see PSBBN Flow below.
<OPL> theme. Pick one under Settings → Interface → Theme View, apply and save, or hold L3 for half a second on the main page to step to the next one. The theme list shows <OPL> and any custom THM/ themes; a disk theme offers the views its author declared. A configuration that saved the former <Coverflow> or <PSBBN Flow> theme loads <OPL> with that view. The Coverflow Settings button in Interface tunes Coverflow elements; PSBBN Flow has its own fixed presentation. Fresh configurations start with <OPL> in the List view, a 4:3 menu and Auto video mode. Widescreen is a separate choice; Coverflow also works in 4:3. Existing saved settings take precedence. Views arrived in #1092; NOT TESTED on hardware.
How Coverflow works
When the Coverflow view 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.
PSBBN Flow
<OPL> and <Coverflow> as built-ins. Since #1092 it is a view of <OPL>, picked under Theme View, not a separate theme.Select Settings → Interface → Theme View → PSBBN Flow (theme <OPL>), apply and save, or hold L3 for half a second on the main page until it appears.
The view adapts dnunezx / darkladark's LUNA Collection display from
#733, which #977 supersedes:
a large focal cover on the right, a diminishing tail of up to six neighbors on the left,
an outgoing foreground cover, a blue frame/footer and a 25-frame cubic glide.
It uses the same native sources, selected rows, folders, Favorites, per-game settings and launch actions as Coverflow. Left/Right browse covers; Up/Down change sources; R3 toggles Favorite. Choose the display through the Theme picker. There is no R3 display switch or separate Collection screen.
Artwork comes through the normal ART/<startup>_COV loaders and shared asynchronous
cache, including the existing archive and per-kind fallback handling. No ART/PSBBN
folder is needed. Portrait and square covers retain their proportions; missing covers use native
placeholders. See artwork naming for PS2, PS1 and app keys.
Theme and widescreen choices are independent, and the selection persists by name when disk themes are discovered or removed. The built-in shares editable palette and audio settings with the other built-ins. Coverflow's count, scale, duration and dimming settings tune the centered carousel; PSBBN Flow retains its fixed perspective, distance shading and 25-frame animation.
Theme authors can use type=PSBBNFlow alongside a native ItemsList.
See PSBBNFlow authoring for sizing, overlay and family rules.
Coverflow Settings
Open Interface and press the Coverflow Settings button. These options affect Coverflow elements,
including those in custom themes. PSBBN Flow uses its fixed layout and animation. 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. This is now picked as the Coverflow (3) or Coverflow (5) entry of Theme View (or with a held L3); it is no longer a row of Coverflow Settings. Open-PS2-Loader #1167. |
| 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.
Cover art
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 and PSBBN Flow) 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/ folder layout, artwork you already
have for stock OPL, uOPL, or wOPL works with both RiptOPL flow themes without any changes.
Authoring a Coverflow theme
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.
Config key reference
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 view 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.