entropia / tip-toi-reveng Goto Github PK
View Code? Open in Web Editor NEWTrying to understand the file format of Tip Toi
Home Page: http://tttool.entropia.de/
License: MIT License
Trying to understand the file format of Tip Toi
Home Page: http://tttool.entropia.de/
License: MIT License
The first "one" is missing.
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?
Just happened to me with tttoll export myfile.gme
My hand-crafted inputfile myfile.yaml is gone now...
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?
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?
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 type
BC.ByteString'
In the first argument of Br.fromLazyByteString', namely
bs'
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 type
BC.ByteString'
In the return type of a call of B.replicate' In the first argument of
Br.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 type
bytestring-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 type
BC.ByteString'
In the return type of a call of BC.drop' In the second argument of
G.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 type
bytestring-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 type
BC.ByteString'
In the second argument of G.runGet', namely
bytes'
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 type
BC.ByteString'
In the first argument of Br.fromLazyByteString', namely
bytes'
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
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.
See src/PrettyPrint.hs lines 147 and 160
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?
I think a name like tttool would be more appropriate since the program does much more than only decode something.
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]
Output on Win 10 x64: out of memory
Output on Debian Wheezy (VM): killed
Affected GME-file:
Das versunkene Logikland
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.
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.
serialize a game to xml
to edit manually
and then rebuild it from xml
or another textformat
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?
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
Bitte den Jumpbefehl in das Tttool integrieren
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.
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.
Registers in YAMl file should be named, and then mapped to numerical registers by tttool.
Local registers should be available.
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 ...
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
Hello,
i have some Problems in installing the program on my pc !
Pls help me
I really want to play a little bit around with my tiptoi by using your code?
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.
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
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.
The latter could be done by multiplying the product id with (sqrt(5)-1)/2 (Goldener Schnitt) to avoid collisions as far as possible.
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
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 play
dann auf die nächste OID.
The GME file format may specify a language. This is not yet supported in tttool. It should:
tttool info
.tttool export
tttool assemble
according to http://www.mikrocontroller.net/topic/214479#3945772 600dpi codes might be useful, so I should add an option to tttool generate-oid
that selects that resolution.
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.
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
Message:
tttool: Enum.succ{Word16}: tried to take `succ' of maxBound
Affected files:
Der hungrige Zahlenroboter.gme
Der interaktive Globus.gme
Globus puzzleball.gme
this should create a transcript file that already contains all information except the strings
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:
Is it possible to extract the description of existing oids in a yaml file?
For example 10306: # Europlocephalus
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?
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?
Hi!
Gibt es eine Möglichkeit TOCs (table of content), als Inhaltsverzeichnisse in die wiki-Seiten einzubinden? Kenne mich leider zu wenig mit markdown aus, aber das scheint von der Sprache selbst nicht unterstützt zu werden.
IMHO werden Seiten wie diese https://github.com/entropia/tip-toi-reveng/wiki/Hardware schnell unübersichtlich.
We now have 5 play commands;
FFE0
(written P()
: play one random sample of the media listFFE1
(written P()
: play all samples of the media listFFE8
(written P(m)
): Play audio referenced by the m
th 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).
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?
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?
Some playlists are really large. Instead of
[1,2,3,4,5,6,7,8,9,10]
[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]
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
and report it in the output of "tttool".
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!
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:
-> you'll find cool.wav which you can listen to with play.
For conversion to .ogg I found dir2ogg:
For the okto1 example yaml file (see below) you can this:
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
product-id: 42
comment: test
init: $mode:=0
welcome: hallo
scripts:
8066:
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.