Capture RCO image data (PNG) for the renderer

RCO IMG entries hold PNG images (magic 89 50 4E 47), decodable directly
by ImageIO/JavaFX. RcoFile now reads pImgData and stores raw image
bytes in ImageObject; the CLI reports the first image's magic.
This commit is contained in:
2026-09-15 22:56:13 -04:00
parent b18e8447dc
commit fd41390642
2 changed files with 29 additions and 5 deletions
@@ -409,6 +409,14 @@ public final class Main {
System.out.printf("%s: valid=%b compression=%d objects=%d images=%d%n",
rcoPath, rco.isValid(), rco.compression(), rco.objects().size(), rco.images().size());
for (Map.Entry<Integer, dev.quoije.umd.rco.object.ImageObject> img : rco.images().entrySet()) {
byte[] imgData = img.getValue().getData();
System.out.printf(" image 0x%X: %d bytes, magic=%s%n",
img.getKey(), imgData == null ? 0 : imgData.length,
imgData == null ? "null" : hexPrefix(imgData, 8));
break;
}
System.out.printf("events (%d):%n", rco.events().size());
for (Map.Entry<Integer, String> event : rco.events().entrySet()) {
System.out.printf(" [%3d] %s%n", event.getKey(), event.getValue());