tttool 1.6.1.2 → 1.6.1.3
raw patch · 4 files changed
+48/−38 lines, 4 filesdep ~optparse-applicative
Dependency ranges changed: optparse-applicative
Files
- README.md +4/−2
- src/Commands.hs +1/−1
- src/tttool.hs +41/−33
- tttool.cabal +2/−2
README.md view
@@ -43,7 +43,7 @@ segment prints the decoded scripts for a specific OID explain print a hexdump of a GME file with descriptions holes lists all unknown parts of the file.- rewrite parses the file and reads it again (for debugging)+ rewrite parses the file and writes it again (for debugging) GME extraction commands: media dumps all audio samples@@ -174,7 +174,9 @@ ---------------------------------- * [`oid-decoder.html`](http://htmlpreview.github.io/?https://github.com/entropia/tip-toi-reveng/blob/master/oid-decoder.html) allows you to manually decode an OID image.- * `scripts/updates.sh` downloads all gme files from the Ravensburger server.+ * `scripts/update.sh` downloads all gme files from the Ravensburger server (requires perl and the [XML::Simple](http://search.cpan.org/~grantm/XML-Simple/) module). ++ Instead of downloading all of them, you can conveniently browse them at <http://tiptoi.vakat.de/>, a service provided by Falko Oldenburg <tiptoi@vakat.de>. * `gameanalyse.c` and `libtiptoi.c` is an alternative tool to investigate gme files. It can also [replace audio files in gme files](Audio/README.md); compile and run it for diagnostic output.
src/Commands.hs view
@@ -118,7 +118,7 @@ (length ttBinaries3) (length ttBinaries4) for_ ttSpecialOIDs $ \(oid1, oid2) ->- printf "Speical OIDs: %d, %d\n" oid1 oid2+ printf "Special OIDs: %d, %d\n" oid1 oid2 printf "Checksum found 0x%08X, calculated 0x%08X\n" ttChecksum ttChecksumCalc lint :: FilePath -> IO ()
src/tttool.hs view
@@ -5,6 +5,7 @@ import Data.List (intercalate) import Options.Applicative.Help.Chunk import Data.Monoid+import Data.Foldable (asum) import Types import RangeParser@@ -75,38 +76,45 @@ _ -> Left $ "Cannot parse dimensions " ++ input _ -> Left $ "Cannot parse dimensions " ++ input - cmd = hsubparser $ mconcat- [ cmdSep "GME creation commands:"- , assembleCmd- , cmdSep ""-- , cmdSep "OID code creation commands:"- , oidTableCmd- , oidCodesCmd- , oidCodeCmd- , cmdSep ""-- , cmdSep "GME analysis commands:"- , infoCmd- , exportCmd- , scriptsCmd- , scriptCmd- , gamesCmd- , lintCmd- , segmentsCmd- , segmentCmd- , explainCmd- , holesCmd- , rewriteCmd- , cmdSep ""-- , cmdSep "GME extraction commands:"- , mediaCmd- , binariesCmd- , cmdSep ""-- , cmdSep "Simulation commands:"- , playCmd+ cmd :: Parser (Conf -> IO ())+ cmd = asum+ [ hsubparser $ mconcat+ [ commandGroup "GME creation commands:"+ , assembleCmd+ , hidden+ ]+ , hsubparser $ mconcat+ [ commandGroup "OID code creation commands:"+ , oidTableCmd+ , oidCodesCmd+ , oidCodeCmd+ , hidden+ ]+ , hsubparser $ mconcat+ [ commandGroup "GME analysis commands:"+ , infoCmd+ , exportCmd+ , scriptsCmd+ , scriptCmd+ , gamesCmd+ , lintCmd+ , segmentsCmd+ , segmentCmd+ , explainCmd+ , holesCmd+ , rewriteCmd+ , hidden+ ]+ , hsubparser $ mconcat+ [ commandGroup "GME extraction commands:"+ , mediaCmd+ , binariesCmd+ , hidden+ ]+ , hsubparser $ mconcat+ [ commandGroup "Simulation commands:"+ , playCmd+ ] ] only :: (Eq a, Show a) => [a] -> ReadM a -> ReadM a@@ -289,7 +297,7 @@ rewriteCmd = command "rewrite" $ info parser $- progDesc "parses the file and reads it again (for debugging)"+ progDesc "parses the file and writes it again (for debugging)" where parser = const <$> (rewrite <$> gmeFileParser <*> outFileParser)
tttool.cabal view
@@ -1,5 +1,5 @@ name: tttool-version: 1.6.1.2+version: 1.6.1.3 synopsis: Working with files for the Tiptoi® pen description: The Ravensburger Tiptoi® pen is programmed via special files. Their file format has been reverse engineered; this@@ -71,7 +71,7 @@ yaml == 0.8.*, HPDF >= 1.4.10 && < 1.5, split == 0.2.*,- optparse-applicative == 0.12.*,+ optparse-applicative == 0.13.*, spool == 0.1.*, zlib >= 0.5 && < 0.7, natural-sort >= 0.1 && < 0.2