Commit Graph
5 Commits
Author SHA1 Message Date
quoije d749d6753e Use PSP native 480x272 dimensions
Window, menu canvas and video surface are now 480x272 (the PSP screen
size). Video is stretched to fill the screen like the PSP player, rather
than aspect-preserving letterboxing.
2026-09-15 23:23:51 -04:00
quoije d4d3378b31 Fix white screen, center video, and advance after playback
- Rejoin whitespace-split program args so ISO paths with spaces work
  (Gradle --args splits on spaces, which caused a silent load failure
  and a blank white window).
- Black scene background and black video canvas fill; scale video to
  fit and center it instead of drawing top-left at native size.
- Playback completion now invokes MoviePlayer.onPlayListEnd so the menu
  advances past the anti-piracy warning instead of freezing.
2026-09-15 23:21:46 -04:00
quoije a4f0d5992b Add JavaFX menu renderer and player window
- RcoRenderer implements Display: draws the live RCO object tree onto a
  Canvas, decodes PNG textures, handles focus and resource changes
  (thread-safe via Platform.runLater).
- PageObject now implements root/children semantics and open/close/display
  so opening a page adds its objects to the renderer.
- Object getImage() returns the ImageObject so the UI can decode PNGs.
- PlayerApp wires menu + video: loads the RCO, runs the VSMX script,
  executes onAutoPlay, plays video via PlaybackEngine with YUV->ARGB
  blitting and PTS pacing, and routes arrow/Enter keys to the controller.
- Runs end-to-end on Batman Begins (window, menu load, playback).
2026-09-15 23:14:18 -04:00
quoije b1896cd71b Fix playListNumber to stream-name mapping; add JavaFX ui module
- Playlist.streamForPlayListNumber maps the 1-based playListNumber to the
  actual stream entry; stream names are not sequential across discs
  (The Dark Knight: 00001/00003/00004; The Day After Tomorrow has
  duplicate 00002 names).
- CLI menu playback now resolves the correct .MPS file for every region.
- ui module: JavaFX via org.openjfx.javafxplugin + PlayerApp smoke test
  (window verified on this display).
- Validated menus + playback on 4 discs: Batman Begins (USA), Jackass
  (Australia), The Dark Knight (Europe), The Day After Tomorrow (Japan).
2026-09-15 23:04:24 -04:00
quoije 797b0507bd Scaffold Java 21 multi-module project with UMD ISO + SFO parsing
- Gradle Kotlin DSL multi-module (core, ui, cli) with JPMS modules
- UMD ISO 9660 reader (UmdIsoReader/UmdIsoFile + sector devices)
- SFO (param.sfo) parser
- 'dump' CLI command: metadata + recursive file listing
- JUnit 5 + AssertJ tests (SFO and ISO reader)
- Switch license from MIT to GPL-3.0-or-later
2026-09-15 21:00:22 -04:00