Commit Graph
3 Commits
Author SHA1 Message Date
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