From 59ce7e5fac17ca08e3a45a5f2ed4e9cbc751a2ba Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sat, 16 Apr 2022 18:21:24 +0900 Subject: [PATCH] movie format changes --- assets/disk0/decodemov.js | 2 ++ assets/disk0/encodemov.js | 12 +++++++----- terranmon.txt | 22 +++++++++++++++++++--- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/assets/disk0/decodemov.js b/assets/disk0/decodemov.js index 1a1ae7d..1682922 100644 --- a/assets/disk0/decodemov.js +++ b/assets/disk0/decodemov.js @@ -130,6 +130,8 @@ let height = readShort() let fps = readShort(); if (fps == 0) fps = 9999 let frameTime = 1.0 / fps let frameCount = readInt() % 16777216 +let type = readShort() +sys.free(readBytes(12)) // skip 12 bytes let akku = frameTime let framesRendered = 0 //serial.println(readCount) // must say 18 diff --git a/assets/disk0/encodemov.js b/assets/disk0/encodemov.js index 207c6f5..c9473d8 100644 --- a/assets/disk0/encodemov.js +++ b/assets/disk0/encodemov.js @@ -21,11 +21,13 @@ function appendToOutfilePtr(ptr, len) { // write header to the file let headerBytes = [ - 0x1F, 0x54, 0x53, 0x56, 0x4D, 0x4D, 0x4F, 0x56, - 0x30, 0x02, - 0xC0, 0x01, - 0x1E, 0x00, - 0x34, 0x00, 0x00, 0x7C + 0x1F, 0x54, 0x53, 0x56, 0x4D, 0x4D, 0x4F, 0x56, // magic + 0x30, 0x02, // width (560) + 0xC0, 0x01, // height (448) + 0x1E, 0x00, // FPS (30) + 0x34, 0x00, 0x00, 0x00, // frame count (52) + 0x00, 0x00, // type 0 frames + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // reserved ] filesystem.open("A", outfilename, "W") diff --git a/terranmon.txt b/terranmon.txt index 0ae3aed..c2da77a 100644 --- a/terranmon.txt +++ b/terranmon.txt @@ -292,10 +292,26 @@ METADATA - uint16 WIDTH uint16 HEIGHT uint16 FPS (0: play as fast as can) - uint24 NUMBER OF FRAMES - \x7C + uint32 NUMBER OF FRAMES + uint16 TYPE + byte[12] RESERVED -FRAME - +Type: + 0: 256-Colour frame + 1: 256-Colour frame with palette data + 2: 4096-Colour frame (stored as two byte-planes) + +TYPE 0 FRAME - uint32 SIZE OF FRAMEDATA * FRAMEDATA COMPRESSED IN GZIP +TYPE 1 FRAME - + byte[512] Palette Data + uint32 SIZE OF FRAMEDATA + * FRAMEDATA COMPRESSED IN GZIP + +TYPE 2 FRAME - + uint32 SIZE OF FRAMEDATA BYTE-PLANE 1 + * FRAMEDATA COMPRESSED IN GZIP + uint32 SIZE OF FRAMEDATA BYTE-PLANE 2 + * FRAMEDATA COMPRESSED IN GZIP \ No newline at end of file