Giter Site home page Giter Site logo

entropia / tip-toi-reveng Goto Github PK

View Code? Open in Web Editor NEW
638.0 638.0 122.0 16.74 MB

Trying to understand the file format of Tip Toi

Home Page: http://tttool.entropia.de/

License: MIT License

Shell 1.97% Makefile 0.19% Haskell 68.39% C 10.21% HTML 5.01% Perl 8.80% CSS 0.64% JavaScript 0.25% Python 1.42% Batchfile 0.16% Nix 2.97%

tip-toi-reveng's People

Contributors

b-g-t avatar centic9 avatar chbw avatar colinba avatar ernie76 avatar exmackina avatar golpe82 avatar horstfrank avatar hunfeld avatar kontrafuss avatar larsweiler avatar m42e avatar m7thon avatar mercutiodesign avatar mrteutone avatar muelli avatar nchiapol avatar nimvek avatar nomeata avatar pronwan avatar ravotd avatar schaffstein avatar sengels avatar susonicth avatar tbleher avatar tronje-the-falconer avatar tsager avatar uli42 avatar waltner avatar wkraft-fablabka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tip-toi-reveng's Issues

Nummern der Sounds ändern sich nach Export -> Assemble

Das TTTool ist echt super weiter so.

Ich hab gerade angefangen mich mit der "WWW Bauernhof.gme" zu spielen.
Dabei ist mir aufgefallen das wenn ich die Datei mit Export in eine Yaml Konvertiere und ohne etwas zu ändern wieder mit Assemble eine Gme Datei erstelle ändern sich die Nummern der Sounds.
Überprüft hab ich das mit dem Kommando Play.

Das liegt vermutlich daran das bei den Sounds in der Gme Datei keine Namen oder Nummern mit abgespeichert werden und die einfach nur den Array Index bekommen.
Ist es möglich die Sounds wider in der alten Reihenfolge zu speichern?

Außerdem ist mir aufgefallen das sich die Anzahl der Media Dateien geändert hat. Zuerst waren es 620 jetzt nur mehr 428.
Hab ich da was falsch gemacht?

Moving all shell, or other "tools" to a new folder?

Hallo Joachim,
immer mehr Skripte (gerne auch das von Daniela) kommen hinzu. Manche sind im "main"-Folder
vom Git, andere haben einen eigenen "Sub-folder".
Was hälst Du von einer "Restrukturierung" dieser Skripte?

Non-exhaustive patterns

I got a "tttool: tttool.hs:(782,1)-(786,54): Non-exhaustive patterns in function ppCondOp" using tttool on the "Das Tal der Tempel.gme". Anything I can do?

Fehler beim Kompilieren tttools.hs

Hallo,

wie auf mikrocontroller.net besprochen, wende ich mich mit meinem Problem hier.

Wenn ich die Datei tttools.hs kompilieren will, bekomme ich folgende Fehlermeldungen:

ghc -O -with-rtsopts=-K100M tttool.hs

tttool.hs:1:42:
Warning: -XRecursiveDo is deprecated: use -XDoRec or pragma {-# LANGUAGE DoRec #-} instead
[1 of 1] Compiling Main ( tttool.hs, tttool.o )

tttool.hs:144:47:
Couldn't match expected type bytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString' with actual typeBC.ByteString'
In the first argument of Br.fromLazyByteString', namelybs'
In the first argument of tell', namely (Br.fromLazyByteString bs)'
In the first argument of (>>)', namely tell (Br.fromLazyByteString bs)'

tttool.hs:182:5:
No instance for (MonadWriter Br.Builder m0)
arising from a use of tell' Possible fix: add an instance declaration for (MonadWriter Br.Builder m0) In the expression: tell In a stmt of a 'do' block: tell $ (Br.fromLazyByteString (B.replicate (fromIntegral (to - now)) 0)) In the second argument of($)', namely
`do { now <- get;
when (now > to)
$ do { fail
$ printf "Cannot seek to 0x%08X, already at 0x%08X" to now };
tell
$ (Br.fromLazyByteString
(B.replicate (fromIntegral (to - now)) 0));
modify (+ (to - now)) }'

tttool.hs:182:36:
Couldn't match expected type bytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString' with actual typeBC.ByteString'
In the return type of a call of B.replicate' In the first argument ofBr.fromLazyByteString', namely
(B.replicate (fromIntegral (to - now)) 0)' In the second argument of($)', namely
`(Br.fromLazyByteString (B.replicate (fromIntegral (to - now)) 0))'

tttool.hs:194:23:
Couldn't match expected type BC.ByteString' with actual typebytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString'
In the expression:
Br.toLazyByteString $ execWriter (evalStateT act 0)
In an equation for `runSPut':
runSPut (SPutM act)
= Br.toLazyByteString $ execWriter (evalStateT act 0)

tttool.hs:333:40:
Couldn't match expected type bytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString' with actual typeBC.ByteString'
In the return type of a call of BC.drop' In the second argument ofG.runGetState', namely
`(BC.drop (fromIntegral offset) bytes)'
In the expression:
G.runGetState act (BC.drop (fromIntegral offset) bytes) 0

tttool.hs:405:13:
Couldn't match expected type BC.ByteString' with actual typebytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString'
Expected type: SGet BC.ByteString
Actual type: SGet
bytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString
In the expression: liftGet $ G.getLazyByteString (fromIntegral n)
In an equation for `getBS':
getBS n = liftGet $ G.getLazyByteString (fromIntegral n)

tttool.hs:1059:80:
Couldn't match expected type bytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString' with actual typeBC.ByteString'
In the second argument of G.runGet', namelybytes'
In the first argument of (==)', namely G.runGet (G.skip (fromIntegral o) >> G.getWord16le) bytes'
In the second argument of (&&)', namely G.runGet (G.skip (fromIntegral o) >> G.getWord16le) bytes == 0'

tttool.hs:1148:31:
Couldn't match expected type bytestring-0.9.2.1:Data.ByteString.Lazy.Internal.ByteString' with actual typeBC.ByteString'
In the first argument of Br.fromLazyByteString', namelybytes'
In the first argument of Br.append', namely Br.fromLazyByteString bytes'
In the second argument of ($)', namely Br.fromLazyByteString bytes Br.append Br.putWord32le checksum'
make: *** [tttool] Fehler 1

Ich verwende folgende Versionen:
ghc -> Version 7.4.1
bytestring->0.9.2.1
text -> 0.11.2.0
ghc-prim-> 0.2.0.0
integer-gmp -> 0.4.0.0
base ->4.5.0.0
template-haskell -> 2.7.0.0

Gruß,

Michael

Number games and subgames in "tttool explain", "tttol games" and "tttool export" from 1 to n

The games are internally numbered from 1 to n.
See gid-lists for gametype 8 e.g. in Bauernhof: gids: [9,10,11]
"tttool explain", "tttool games" lists the games from 0 to n-1.
The YAML-files generated by "tttool export" show G(0) to G(n-1).
It would be helpful, to have the output of the above functions in the same way as the internal games.

The subgames in "tttool explain" are numbered from 0 to n-1, but are internally numbered from 1 to n
See"playlistlist" which is a "subgamelistlist" for gametype 7 e.g in Bauernhof: playlistlist: [[1,2],[3..6],[7,8]]
"tttool games" doesn't even attach numbers to the subgames. Please add them for subgames counting from 1 to n (and add A and B for gametype 6).

Changing the numbers won't mess anything up, because import of games isn't possible by now.

openBinaryFile: resource exhausted (Too many open files)

Hallo,

zuerst einmal danke für dieses klasse Tool!

Ich habe ein Original-gme-Datei zerlegt (yaml extrahiert und media extrahiert). Wenn ich sie nun versuche, wieder zu assemblen, bekomme ich o.g. Fehlermeldung. Mache ich etwas falsch?

rename decode

I think a name like tttool would be more appropriate since the program does much more than only decode something.

Feature-Request: add more information to the output of "tttool games"

This is all I want for christmas... ;-)

At the moment "tttool games" prints only the known cough or rather implemented cough parts of a game.
Looking at the same file with "tttool explain" may show some "-- unknown --" blocks related to the game.
For analyzing of the game functionality it would be great to have a little indicator to see if there are unknown parts left. E.g. "unknown code detected" at the end of the game. Details would still be in the "tttool explain" output.
This could also help for future use if more game types are added.

The definitely known parts should be listed with a useful description:
u1 = rounds, the repeat-oid and bonus-game rounds of u2, u3 = the points needed for a rank in the main or bonus game, etc.

For the already discovered, but still unknown parts (e.g. u2 [or what is left] for games and u for subgames) it would help, to have the - as we assume - 16 bit values as single lines and number them from u1 to un. As some unknown variables are only available in gametype 6, the numbering may have holes for games of any other types. When the games have n unknown variables, the subgames should start with u(n+1), to have unique identifiers for every unknown element.
This will blow up the output but makes it a lot easier to search a specific element in multiple files.
Also numbering the playlists would help me a lot to have a quick overview.
u3 should be renamed (maybe game-rank) and maybe could be grouped:
for gametype 6: [[9,0][1,0,0,0,0,0,0,0]] or in two lines with different descriptions (main-rank, bonus-rank or whatever)
for other gametypes: [9,8,7,6,5,4,3,2,1,0]

Product IDs

Hi,

could you please provide a short introduction on how to write/create your own TipToi books/games. The movie published is awesome but a more detailed information on how to create non-conflicting product IDs etc. It would be greate to have a short written document that guids you through the process.

Offset after end of file

uli@traube:~/work/tiptoi/uli42/tip-toi-reveng-games$ ./decode info Reise\ durch\ die\ Jahreszeiten.gme
decode: Trying to read from offset 0x007E007D, which is after the end of the file!

007E007d looks like 2 16bit offsets, not one 32bit offset

Happens fpr alle three language versions of this product.

.\media\WWW_Bauernhof_orig_invalid_index_1.wav

I created by "tttool export" a yaml file from the original WWW_Bauernhof_orig.gme and exported all media by "tttool media".

As a first test for assembling an own gme, I then used "tttool assemble".
Tttool then comes up immediately with the error message:

Could not find any of these files:
.\media\WWW_Bauernhof_orig_invalid_index_1.wav
.\media\WWW_Bauernhof_orig_invalid_index_1.ogg
.\media\WWW_Bauernhof_orig_invalid_index_1.flac

This looks to me not like that the file "WWW_Bauernhof_orig_1.ogg" could not be found but like an index related issue.

Do you have any idea?

game disassebmly

Well this is less an issue but a place to discuss (hopefully, this is ok for you).

I discovered in the file of Erste Buchstaben only one game is recognized but there are several games (21 I think).

But there are holes (11, one is about 120kB).

Does tttool offer a way of hex dump the unknown parts or also known parts? Would be a nice feature, wouldn't it?

I try to dig a bit deeper into the Erste Buchstaben file and report if I find something interesting.

Bye,
Matthias

include von yaml-Dateien

Für größere Aufgaben und Projekte,
kann es (wie in meinem Fall) gut sein, wenn
man die Scripte in verschiedenen Dateien ablegen kann,
die dann beim tttool play und beim tttool assemble zusammengebunden werden.

scripts:
# includings:
- include: "Pfad-zur-Include-Datei"

Ist diese nicht vorhanden, wird mit einem Text
Fehler:nn line:xx - Konnte include Datei: "Angabe" nicht finden.
abgebrochen.

create-debug is broken

I have several issues with tttool crete-debug:

uli@traube:~/work/tiptoi/tip-toi-reveng$ ./tttool create-debug debug42.gme 42Stack space overflow: current size 8388608 bytes.
Use `+RTS -Ksize -RTS' to increase it.

OK, so I tried that:
uli@traube:~/work/tiptoi/tip-toi-reveng$ ./tttool +RTS -K10000 -RTS create-debug debug42.gme 42
tttool: Most RTS options are disabled. Link with -rtsopts to enable them.

Ok, I have added -rtsopts to tttool.cabal. I'll make a pull request for this.

  1. I'd like to generate the yaml-file for the debug file. Due to the issue above I am not sure if this is created. If not, there should be a way to only generate the yaml file.
  2. I'd like to create a text-to-speech debug version in German. Seems like this is not possible currently. Maybe a better way was to create a yaml file the user may adjust to his liking and in a second step use that yaml file to create the debug gme.

Register names

Registers in YAMl file should be named, and then mapped to numerical registers by tttool.

Local registers should be available.

creating OID within tttool

For better understanding and generating the OID's for Printing, can you make a matching table,
perhaps as yaml-file for generating the OID-Output?

Is there perhaps the possability to get some geometric foms for printing like:
square 10 (10mm) oder circle 10 (10mm diameter)? where the forms and measurements are
fixed in the code ...

"deprecated" warning on compile

uli@traube:~/work/tiptoi/uli42/tip-toi-reveng-games$ make
ghc -O -with-rtsopts=-K100M decode.hs

decode.hs:1:42:
Warning: -XRecursiveDo is deprecated: use -XDoRec or pragma {-# LANGUAGE DoRec #-} instead

Installation

Hello,
i have some Problems in installing the program on my pc !

  1. Install Haskell platform on my System (download and install) easy and done
  2. Install the dependencies. CMD cabal update and cabal install easy and done
  3. Now you can build the program using "make" ????? how ? where? what?
  4. At this point, tttool should be ready to go. If you run ./tttool you should see the list of commands shown above. ?
    I can start tttool.hs and it says "Ok, modules loaded: Main. "
    and the next line is *Main> but it isn't accepting any commands

Pls help me
I really want to play a little bit around with my tiptoi by using your code?

assemble meldet alle fehlenden audiofiles in einer Liste

beim 'assemble' wird eine fehlende Audiodatei nach der anderen als fehlend
ausgeworfen:
'Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

F:\tip-toi-reveng\myProjects\rechenzwerg>"....\tttool (2).exe" assemble rechenkobold.yaml
Could not find any of these files:
../sounds/n42.wav
../sounds/n42.ogg
../sounds/n42.flac
../sounds/n42.mp3

F:\tip-toi-reveng\myProjects\rechenzwerg>"....\tttool (2).exe" assemble rechenkobold.yaml
Could not find any of these files:
../sounds/n48.wav
../sounds/n48.ogg
../sounds/n48.flac
../sounds/n48.mp3

F:\tip-toi-reveng\myProjects\rechenzwerg>"....\tttool (2).exe" assemble rechenkobold.yaml
Could not find any of these files:
../sounds/n49.wav
../sounds/n49.ogg
../sounds/n49.flac
../sounds/n49.mp3

F:\tip-toi-reveng\myProjects\rechenzwerg>"....\tttool (2).exe" assemble rechenkobold.yaml
Could not find any of these files:
../sounds/n54.wav
../sounds/n54.ogg
../sounds/n54.flac
../sounds/n54.mp3'

Kann das nicht als Eine Liste der Dateien kommen?
Und ohne Endung, damit es übersichtlicher ist, könnte
die Liste auch in 4 Spalten aus gegeben werden.

Bug in tttool play command

Hello,
my compiled gme file doesn't work in the tttool player. I got this output:

State now: $0=2 $1=1 $2=1 $3=101 $4=4 $5=2 $6=1 $8=4 $16=4
Next OID touched? 1425
Executing: $3>=100? $4:=1 J(9001)
Executing: $3==101? $2==$4? $16:=$4 J(9020)
Executing: $16==1? $1+=1 $0-=1 P(5) J(9021)
Playing audio sample 5
None of these lines matched!
$0> 0? $3:=101 J(9013)
$0==0? $3:=100 P(15)
State now: $0=1 $1=2 $2=1 $3=101 $4=1 $5=2 $6=1 $8=4 $16=1
Next OID touched?

The variable $0 is 1 but the line $0>0 does not match. Why? If I copy the gme file to the tiptoi pen it jumps to 9013. I'm using the tttool version 1.4

Make firstObjectCode unique for product id.

In order to make the object codes unique for different projects (and different from existing Ravensburger products, as far as possible) it would be nice if the firstObjectCode could be changed. Two modes would be useful.

  1. Manually set the firstObjectCode, or
  2. by default the firstObjectCode could be derived somehow from the product id.

The latter could be done by multiplying the product id with (sqrt(5)-1)/2 (Goldener Schnitt) to avoid collisions as far as possible.

whats about the .rav files ?? gibt es schon Versuche eigene .rav Files zu erzeugen??

we produce some litle audio stuff together with our kids. It would be wonderful to play it on the tiptoy pen ..

Wir Produzieren kleine Hörspiele mit unseren Kindern und es wäre grandios wenn man die auf den TipToy Stift übertragen könnte ..

has anybody looked at the .rav file format??
Hat sich das .rav Format schon mal jemand angeschaut??

Grüße

play modus mit "OID-Liste"?

Im Moment teste ich mein 1x1-Spiel. Dabei durchlaufe ich viele Aufgaben/Lösungen-OID's. Gut wäre es, wenn man den Play-Modus mit einer Liste in der Form:
tttool play *.yaml "OID1,OID2,OID3....OIDn,OIDn+1 als Startwerte angeben kann.
Nach dem Ablauf der Liste wartet das tttool playdann auf die nächste OID.

Support GME language field

The GME file format may specify a language. This is not yet supported in tttool. It should:

  • Print the language in tttool info.
  • Extract it upon tttool export
  • Write it to the GME in tttool assemble

Save OID PNG files with correct DPI

Currently the generated OID PNG files are saved with 72 DPI. Saving them with the actually intended DPI (600 or 1200) would help when printing them from certain programs.

(It may be that they are currently saved without any DPI information and that my applocations (Mac OS X Preview and Gimp) just display the monitor default of 72 DPI.)

This is a minor issue.

comment Tag has maximum length tttool should care of

While trying to create own project discovered the Fact that the Comment Line has a maximum of 49 characters. (including spaces, without leading Space after >comment:<

At the moment the following willl happen (tttool-win32-1.3)
if a comment exceeds this limit the gme file will be created but the resulting file will not be recocnized by the tiptoi-pen-

request 1:
tttool should at least warn about this problem and ask to abort or maybe shorten the text to apropriate maxsize

additional suggestions:
the example yaml files should mention Limits in Tags
the examples should contain tags like the speak funktions or the language Tag

Neuer "Simulate"-Modus ?

Um die gme-Datei testen zu können, muss diese
immer wieder mit assemble gebaut und nach dem Assemble immer wieder
auf den Stift kopiert werden. Dies finde ich sehr hinderlich. Ich habe einen alten Stift,
der dann immer abgeklemmt und gestartet werden muss.

Schöner wäre, den richtigen Sound direkt zu hören, nach dem man den
OID-Gewählt hat (simulate) wäre dann ein Modus, so dass die yaml-Datei erst gar nicht
in das gme-Format "komprimiert" werden müsste?

Dabei kam die Frage auf:
Könnte das tttool auch mit https://www.libsdl.org zusammenarbeiten?

Ein workaround ist für Windows:

  1. Download der Daten für die ogg-decodierung notwendig:
    DirectShow Plugin: http://xiph.org/dshow/
  2. Media-Player aus yaml-Datei aufrufen über: "FQ-Pfad zum WMP" "AudioDatei"
    Mittels https://msdn.microsoft.com/en-us/library/windows/desktop/dd562731(v=vs.85).aspx
    kann geprüft werden, ob der Windows-Media-Player (WMP) installiert ist.

Export & Import of games

  1. MP3s
    As the Tiptoi pen can play the very popular MP3s format, it would be great if tttool could use them for assembling of gme files, too.
    Can you modify tttool accordingly or is it too much effort?

  2. Export & import of games
    Exporting & modifying existing GMEs and then assembling them into new GMEs is maybe the most interesting practical application of tttool.
    I understand that currently games are lost by this procedure because their format is not yet 100% understood.
    I haven't followed all the discussion about this topic so let me ask a silly question: Would it be possible to export games and re-import them during assembling without any modification? Or do they contain for example pointers which are not yet fully understand and hence would break the game?

Rewrite play commands in tttool

We now have 5 play commands;

  • FFE0 (written P(): play one random sample of the media list
  • FFE1 (written P(): play all samples of the media list
  • FFE8 (written P(m)): Play audio referenced by the mth entry in the indices list.
  • FB00 (written P(b-a)): Play all samples from that inclusive range. a := lowbyte(m), b := highbyte(m)
  • FC00 (written P(b-a)): Play one random sample from that inclusive range. a := lowbyte(m), b := highbyte(m)

First implement the missing ones, then change code to make them distinguishable in the yaml file. Maybe implement some generic play command that resolves to the one of the known commands that fits best (as the current implementation does).

Simplified installation under OSX with Homebrew tap

I'm running OSX and wanted to try out tttool. I did not want to install manually, so I wrote a formula for Homebrew, the de facto package manager for OSX that I'm using anyway.

When you have Homebrew installed, you can simply install tttool like this:

brew tap awendt/tap
brew install tttool

Dependencies like haskell and Cabal are resolved by Homebrew using the formula, and the installation is cleanly sandboxed.

I'm not sure it's a good idea to sanction my repo as the "official tap" (you'd want things like that under your control) but I'd like to see a tap available nonetheless.

Thoughts on this? Would you be willing to create a formulae repo for entropia?

tttool does not recognize 'C' in script

I exported a gme file that contains a C in the script, which means cancel, and should be also recognized by the parser (I'm not familiar with haskel at the moment). But I get an error:

unexpected ' '
expecting end of input, Register action, Play action, Cancel or Start Game)

Any ideas?

Feature request for decode: compress playlists

Some playlists are really large. Instead of

[1,2,3,4,5,6,7,8,9,10]

print

[1-10] or [1..10]

This would save a lot of space, e.g. in this game output of "Dein Koerper und du":

playlistlists: (10)
[[317,318,319,320,321,322,323,324,325,326],[327,328,329,330,331,332,333,334,335,336],[337,338,339,340,341,342,343,344,345,346],[347,348,349,350,351,352,353,354,355,356],[357,358,359,360,361,362,363,364,365,366],[367,368,369,370,371,372,373,374,375,376],[377,378,379,380,381,382,383,384,385,386],[387,388,389,390,391,392,393,394,395,396],[397,398,399,400,401,402,403,404,405,406],[407,408,409,410,411,412,413,414,415,416],[417,418,419,420,421,422,423,424,425,426],[427,428,429,430,431,432,433,434,435,436],[437,438,439,440,441,442,443,444,445,446],[447,448,449,450,451,452,453,454,455,456],[457,458,459,460,461,462,463,464,465,466],[467,468,469,470,471,472,473,474,475,476],[477,478,479,480,481,482,483,484,485,486],[487,488,489,490,491,492,493,494,495,496],[497,498,499,500,501,502,503,504,505,506],[507,508,509,510,511,512,513,514,515,516],[517,518,519,520,521,522,523,524,525,526],[527,528,529,530,531,532,533,534,535,536],[537,538,539,540,541,542,543,544,545,546],[547,548,549,550,551,552,553,554,555,556],[557,558,559,560,561,562,563,564,565,566],[567,568,569,570,571,572,573,574,575,576],[577,578,579,580,581,582,583,584,585,586],[587,588,589,590,591,592,593,594,595,596],[597,598,599,600,601,602,603,604,605,606],[607,608,609,610,611,612,613,614,615,616],[617,618,619,620,621,622,623,624,625,626],[627,628,629,630,631,632,633,634,635,636],[637,638,639,640,641,642,643,644,645,646],[647,648,649,650,651,652,653,654,655,656],[657,658,659,660,661,662,663,664,665,666],[667,668,669,670,671,672,673,674,675,676],[677,678,679,680,681,682,683,684,685,686],[687,688,689,690,691,692,693,694,695,696],[697,698,699,700,701,702,703,704,705,706],[707,708,709,710,711,712,713,714,715,716],[717,718,719,720,721,722,723,724,725,726],[727,728,729,730,731,732,733,734,735,736],[737,738,739,740,741,742,743,744,745,746],[747,748,749,750,751,752,753,754,755,756],[757,758,759,760,761,762,763,764,765,766],[767,768,769,770,771,772,773,774,775,776],[777,778,779,780,781,782,783,784,785,786],[787,788,789,790,791,792,793,794,795,796],[797,798,799,800,801,802,803,804,805,806],[807,808,809,810,811,812,813,814,815,816]]
[[817,818,819,820,821,822,823,824,825,826],[827,828,829,830,831,832,833,834,835,836],[837,838,839,840,841,842,843,844,845,846],[847,848,849,850,851,852,853,854,855,856],[857,858,859,860,861,862,863,864,865,866],[867,868,869,870,871,872,873,874,875,876],[877,878,879,880,881,882,883,884,885,886],[887,888,889,890,891,892,893,894,895,896],[897,898,899,900,901,902,903,904,905,906],[907,908,909,910,911,912,913,914,915,916],[917,918,919,920,921,922,923,924,925,926],[927,928,929,930,931,932,933,934,935,936],[937,938,939,940,941,942,943,944,945,946],[947,948,949,950,951,952,953,954,955,956],[957,958,959,960,961,962,963,964,965,966],[967,968,969,970,971,972,973,974,975,976],[977,978,979,980,981,982,983,984,985,986],[987,988,989,990,991,992,993,994,995,996],[997,998,999,1000,1001,1002,1003,1004,1005,1006],[1007,1008,1009,1010,1011,1012,1013,1014,1015,1016],[1017,1018,1019,1020,1021,1022,1023,1024,1025,1026],[1027,1028,1029,1030,1031,1032,1033,1034,1035,1036],[1037,1038,1039,1040,1041,1042,1043,1044,1045,1046],[1047,1048,1049,1050,1051,1052,1053,1054,1055,1056],[1057,1058,1059,1060,1061,1062,1063,1064,1065,1066],[1067,1068,1069,1070,1071,1072,1073,1074,1075,1076],[1077,1078,1079,1080,1081,1082,1083,1084,1085,1086],[1087,1088,1089,1090,1091,1092,1093,1094,1095,1096],[1097,1098,1099,1100,1101,1102,1103,1104,1105,1106],[1107,1108,1109,1110,1111,1112,1113,1114,1115,1116],[1117,1118,1119,1120,1121,1122,1123,1124,1125,1126],[1127,1128,1129,1130,1131,1132,1133,1134,1135,1136],[1137,1138,1139,1140,1141,1142,1143,1144,1145,1146],[1147,1148,1149,1150,1151,1152,1153,1154,1155,1156],[1157,1158,1159,1160,1161,1162,1163,1164,1165,1166],[1167,1168,1169,1170,1171,1172,1173,1174,1175,1176],[1177,1178,1179,1180,1181,1182,1183,1184,1185,1186],[1187,1188,1189,1190,1191,1192,1193,1194,1195,1196],[1197,1198,1199,1200,1201,1202,1203,1204,1205,1206],[1207,1208,1209,1210,1211,1212,1213,1214,1215,1216],[1217,1218,1219,1220,1221,1222,1223,1224,1225,1226],[1227,1228,1229,1230,1231,1232,1233,1234,1235,1236],[1237,1238,1239,1240,1241,1242,1243,1244,1245,1246],[1247,1248,1249,1250,1251,1252,1253,1254,1255,1256],[1257,1258,1259,1260,1261,1262,1263,1264,1265,1266],[1267,1268,1269,1270,1271,1272,1273,1274,1275,1276],[1277,1278,1279,1280,1281,1282,1283,1284,1285,1286],[1287,1288,1289,1290,1291,1292,1293,1294,1295,1296],[1297,1298,1299,1300,1301,1302,1303,1304,1305,1306],[1307,1308,1309,1310,1311,1312,1313,1314,1315,1316]]
[[1317,1318,1319,1320,1321,1322,1323,1324,1325,1326],[1327,1328,1329,1330,1331,1332,1333,1334,1335,1336],[1337,1338,1339,1340,1341,1342,1343,1344,1345,1346],[1347,1348,1349,1350,1351,1352,1353,1354,1355,1356],[1357,1358,1359,1360,1361,1362,1363,1364,1365,1366],[1367,1368,1369,1370,1371,1372,1373,1374,1375,1376],[1377,1378,1379,1380,1381,1382,1383,1384,1385,1386],[1387,1388,1389,1390,1391,1392,1393,1394,1395,1396],[1397,1398,1399,1400,1401,1402,1403,1404,1405,1406],[1407,1408,1409,1410,1411,1412,1413,1414,1415,1416],[1417,1418,1419,1420,1421,1422,1423,1424,1425,1426],[1427,1428,1429,1430,1431,1432,1433,1434,1435,1436],[1437,1438,1439,1440,1441,1442,1443,1444,1445,1446]

decode lint "Dein Koerper und du.gme" finds wrong overlaps

All media segments seem to overlap themselves (same offset, same size)

...
Offset 02185B66 Size 8902 (Header/Media/1441) overlaps Offset 02185B66 Size 8902 (Header/Media/2889) by 8902
Offset 02187E2C Size 9440 (Header/Media/1442) overlaps Offset 02187E2C Size 9440 (Header/Media/2890) by 9440
Offset 0218A30C Size 10103 (Header/Media/1443) overlaps Offset 0218A30C Size 10103 (Header/Media/2891) by 10103
Offset 0218CA83 Size 14821 (Header/Media/1444) overlaps Offset 0218CA83 Size 14821 (Header/Media/2892) by 14821
Offset 02190468 Size 13311 (Header/Media/1445) overlaps Offset 02190468 Size 13311 (Header/Media/2893) by 13311
Offset 02193867 Size 14175 (Header/Media/1446) overlaps Offset 02193867 Size 14175 (Header/Media/2894) by 14175
Offset 02196FC6 Size 7935 (Header/Media/1447) overlaps Offset 02196FC6 Size 7935 (Header/Media/2895) by 7935

Debugger

Hi,

I have tried: tttool create-debug debug.gme 20
but when i use it on the tiptoi it is not working.

I have tried it with Product-ID 20 (Bilderlexikon Tiere) which are the current books you get a McDonalds as far as i know. I am missing something?

Thanks!

Generate wavs using text-to-speech software

Add a switch for the assemble command that generates wav files on the fly. This way you could hold all your text in the yaml file without maintaining any wav/mp3/oggs. Perfect during
testing/development. After you are satisfied with your yaml you cold
still create better sound files.

Here's the content of the mail I wrote that describes what needs to be done:

To make experimenting a bit easier and save some time I played around
with text-to-speech software. This is a little example how to use
text-to-speech software to generate your wavs using Ubuntu:

  1. sudo apt-get install libttspico-utils
  2. pico2wave -l en-GB -w cool.wav "tiptoi is cool"

-> you'll find cool.wav which you can listen to with play.

For conversion to .ogg I found dir2ogg:

  1. dir2ogg *.wav
  2. rm *.wav (tttool will complain if it finds both)

For the okto1 example yaml file (see below) you can this:


!/bin/bash

for i in homer marge lisa bart grandpa; do
pico2wave -l en-US -w $i.wav $i
done

pico2wave -l de-DE -w hallo.wav hallo
pico2wave -l de-DE -w Richtig.wav richtig
pico2wave -l de-DE -w falsch.wav falsch

pico2wave -l de-DE -w WoBarnius.wav "Wo ist Barnius"

$ cat okto1.yaml

product-id: 42
comment: test
init: $mode:=0

welcome: hallo

scripts:
8066:

  • $mode==0? $mode:=1 P(WoBarnius)
  • $mode==1? $mode:=0 P(grandpa)
    8067:
  • $mode==0? P(homer)
  • $mode==1? P(Falsch)
    8068:
  • $mode==0? P(marge)
  • $mode==1? P(Richtig)
    8069:
  • $mode==0? P(bart)
  • $mode==1? P(Falsch)
    8070:
  • $mode==0? P(lisa)

- $mode==1? P(Falsch)

Combine YAML files

Given two yaml files (e.g. the original one and the debug file) and a special sequence, combine them so that one can switch between these two.

Slightly less general: Add a command that takes a yaml file and adds a debug mode to it.

Windows: `tttool media -d` bringt `usage`, wenn man ein Verzeichnis mit Leerzeichen angibt

Das tttool bringt, trotz Anführungsstrichen unter Windows die usage aus anstatt in das entsprechende
Verzeichnis die Meida-Dateien zu exportieren.

tttool.exe media -d "F:\ischniertshauer\OOPortable\Documents\KowHow\tipToi\tip-toi-reveng\media\008\00512 - Das Geheimnis der Zahleninsel\20100901\" Geheimnis_der_Zahleninsel.gme
bringt
Usage: tttool.exe [options] command ....

Erst ein ersetzen der Leerzeichen, macht den Export der medien:
F:\ischniertshauer\OOPortable\Documents\KowHow\tipToi\tip-toi-reveng>tttool.exe media -d F:\ischniertshauer\OOPortable\Documents\KowHow\tipToi\tip-toi-reveng\media\008\00512-Das_Geheimnis_der_Zahleninsel\20100901 Geheimnis_der_Zahleninsel.gme Audio Table entries: 965 Dumped sample 0 as F:\ischniertshauer\OOPortable\Documents\KowHow\tipToi\tip-toi-reveng\media\008\00512-Das_Geheimnis_der_Zahleninsel\20100901/Geheimnis_der_Zahleninsel_0.ogg

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.