quoije 298de29e5f Fix menu reveal: MoveToAnim is absolute; register unlabeled anim children
- MoveToAnim x/y/z are absolute target positions, not offsets: objects are
  authored in their hidden state and tweened to the visible position
  (e.g. the LANGUAGES title -500 -> 20). JPCSP's offset treatment is wrong.
- Register unlabeled child entries (animation records) under the 'children'
  property with a synthetic zero-padded name, so BaseAnim.play can reach
  them. Previously anim containers had zero children and played nothing.
2026-09-17 00:48:00 -04:00

useless-umd-player

grrr

AI Generated

a standalone player for PSP UMD Video ISO images: open a disc, render its real menu, and play the movie (H.264 video + ATRAC3+ audio) with mouse and keyboard/media-key controls.

Status: playable. Opens a UMD Video ISO, plays the real RCO menu (rendered from the disc), and plays the movie (H.264 video + ATRAC3+ audio).

Build

Requires JDK 21 (Gradle auto-provisions it).

./gradlew build

Run the player

./gradlew ui:run --args="/path/to/disc.iso"

Controls:

  • ↑ ↓ ← → — navigate the menu
  • Enter — select
  • M — back to the menu
  • S — skip the current intro/track
  • Space / P — pause
  • F11 — fullscreen

CLI

The cli module has inspection/debug commands:

./gradlew cli:run --args="dump /path/to/disc.iso"          # metadata + playlist
./gradlew cli:run --args="rco <iso> UMD_VIDEO/RESOURCE/EN100000.RCO"  # menu data
./gradlew cli:run --args="play <iso> <streamName>"         # headless A/V sync test

License

GPL-3.0-or-later — see LICENSE.

S
Description
umd video player to enjoy limited dvd menus in 720x480 pixels
Readme GPL-3.0
875 KiB
Languages
Java 100%