Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
d4d774d
(Database) Add some missing metaclass descriptions
iMrShadow Jun 4, 2026
968f60c
Add missing enums and other miscellaneous types
iMrShadow Jun 4, 2026
ec1c7d2
Add ArgNum property in MetaClassType to support SArrays
iMrShadow Jun 6, 2026
cb9faff
Make section APIs return bool and fix stream handling
iMrShadow Jun 7, 2026
9a1c664
Use LRU cache in ContainerStream by default
iMrShadow Jun 7, 2026
aa82c1e
Improve serialization support for various files, update MetaClassType…
iMrShadow Jun 7, 2026
ee5d55e
(Database) Adjust types and member names
iMrShadow Jun 7, 2026
7205ef5
Correct size for SArray registration
iMrShadow Jun 7, 2026
6708927
Resize arrays and update mesh flags/arrays
iMrShadow Jun 7, 2026
f062268
Fix ParticleProperties and ChoreResource serializers, add support for…
iMrShadow Jun 7, 2026
1226175
(Database) Implement missing descriptions
iMrShadow Jun 7, 2026
2e52581
Move Symbol serialization to SymbolSerializer only, add Symbol suppor…
iMrShadow Jun 8, 2026
e10907a
Remove new() constraint from GetSerializer<T>
iMrShadow Jun 8, 2026
a170818
Improve and add support for various types
iMrShadow Jun 8, 2026
670577a
Remove redundant Serialize(ref Symbol) from MetaStream
iMrShadow Jun 8, 2026
c922e2b
Fix MBIN and MTRE streams support, add string length guard
iMrShadow Jun 8, 2026
1cd12e9
Add DefaultSectionDepth and improve logging
iMrShadow Jun 8, 2026
ce7e7fe
Make blowfishKey optional, require only if encrypted
iMrShadow Jun 8, 2026
1070291
Improve zlib header detection
iMrShadow Jun 8, 2026
9e95d13
Clean up some unsupported-types.csv files
iMrShadow Jun 8, 2026
de87378
(Database) Update some class descriptions
iMrShadow Jun 8, 2026
0513cc2
(Database) Fix Blowfish key for 'The Walking Dead: Season 2'
iMrShadow Jun 16, 2026
9512a30
Add missing imports
iMrShadow Jun 25, 2026
4c6d20f
Add initial support for Tales of Monkey Island
iMrShadow Jun 25, 2026
10928f5
(Database) Add initial support for Tales of Monkey Island
iMrShadow Jun 25, 2026
524a209
Fix legacy encryption positioning
iMrShadow Jun 25, 2026
18a86e8
(Database) Add support for 'Back to the Future: The Game'
iMrShadow Jun 26, 2026
e72737b
(Database) Add support for 'Jurassic Park: The Game'
iMrShadow Jun 26, 2026
b96679d
(Database) Add support for 'Law & Order - Legacies'
iMrShadow Jun 26, 2026
1c6eb12
(Database) Add support for 'Poker Night 2'
iMrShadow Jun 26, 2026
31e1a5b
(Database) Add support for 'Puzzle Agent 2'
iMrShadow Jun 26, 2026
021ca6b
Add a missing type and fix another
iMrShadow Jun 26, 2026
351801e
Add more D3DMesh-related members
iMrShadow Jun 26, 2026
fb529ad
Add support for compressed D3DMesh files
iMrShadow Jun 26, 2026
044f2c6
Add graceful handling for unregistered animation types
iMrShadow Jun 26, 2026
553e874
Add some comments and update logging
iMrShadow Jun 27, 2026
bbc9a56
Fix imports due to an IDE bug
iMrShadow Jun 27, 2026
d013248
Update changelogs
iMrShadow Jun 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 26 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Helper version crc calculator method for `MetaClass`.
- Better `TTArchive` compression detection.
- A dedicated `Compression` class.
- Support for many new types, including SArrays.
- Missing enums.
- Added missing members to support some older games.
- Support for .ambience files.
- SectionDepth in MetaStream.
- API related to MetaStream to improve serialization support and parity.
- Logging in MetaClassSerializer<T>.
- Many serializers to handle support for old games and improve existing ones.
- Logging when there's no profilesPath found.

### Changed
- Rename the following MetaStream implementations: `MetaStreamReader`/`MetaStreamWriter` to `BinaryMetaStreamReader`/`BinaryMetaStreamWriter`.
Expand All @@ -33,18 +42,32 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- `Serialize` from `MetaStream` now automatically preserializes.
- Namespaces organization. (#24)
- Various class names. (#24)
- Symbols now use their own serializers instead of the ones.
- Use LRU caching by default for Containers.
- Removed constraint for GetSerializer<T> - it should support all types.
- Make Blowfish key optional in Containers.
- Animation serializer to return rather than throw when there's an unregistered type.

### Fixed
- A regression that did not allow files being copied to the output folder.
- Blowfish encryption not working correctly.

- Many serializers.
- Zlib detection for TTArchive.
- MBIN and MTRE stream support.
- TTArchive2 creation.

### Removed
- A csproj folder.
- Redundant `MetaStreamVersion` from `GameProfile`.
- `AreSymbolsHashed` from `GameProfile` as symbols are always hashed.
- `PreSerialize` from `MetaStream`.
- Redundant `Version` from `MetaStreamParams`.
- Unused `ISymbolResolver` interface.
- Symbol serializing from MetaStream. This does not affect anything except if you use `stream.Serialize(obj)` of type Symbol.

## [0.2.1] - 2026-05-28
### Fixed
- Data files not being copied to output directory.

## [0.2.0] - 2026-05-28

Expand Down Expand Up @@ -116,7 +139,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Initial support for the following file formats: `.aam`, `.amap`, `.anm`, `.aud`, `.chore`, `.d3dmesh`, `.d3dtx`, `.dlg`, `.dlog`, `.dss`, `.font`, `.imap`, `.landb`, `.lanreg`, `.lang`, `.langdb`, `.langres`, `.ldb`, `.locreg`, `.look`, `.note`, `.overlay`, `.ptable`, `.prop`, `.rules`, `.save`, `.scene`, `.skl`, `.style`, `.tmap`, `.vox`, `.wbox`. Currently most serializers are **unfinished and unreliable, especially in writing mode**. Over time, they will get polished and refined.
- Registration system for types, metaclasses, type serializers and game descriptors (game configurations).

[unreleased]: https://github.com/iMrShadow/TelltaleToolKit/compare/0.2.0...HEAD
[unreleased]: https://github.com/iMrShadow/TelltaleToolKit/compare/0.2.1...HEAD
[0.2.1]: https://github.com/iMrShadow/TelltaleToolKit/releases/tag/0.2.1
[0.2.0]: https://github.com/iMrShadow/TelltaleToolKit/releases/tag/0.2.0
[0.1.0]: https://github.com/iMrShadow/TelltaleToolKit/releases/tag/0.1.0

19 changes: 19 additions & 0 deletions data/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
## Database Changelog

### 26th of June, 2026

#### Game Profiles
- Added initial game profiles for the following games:
- Tales of Monkey Island (2010) (PC) (All 5 Episodes)
- Back To The Future: The Game (2011) (All 5 Episodes)
- Jurassic Park: The Game (2011)
- Puzzle Agent 2 (2011)
- Lad & Order - Legacies (2012)
- Poker Night 2 (2013)
- Fixed an encryption key for The Walking Dead: Season 2.

#### Version Database
- Added initial version databases for aforementoned games.
- Updated the global database with the new meta class descriptions.
- Implemented meta class descriptions for animations.
- Added a missing member in DlgChild for The Wolf Among Us and The Walking Dead: Season 2.
- Removed some files that weren't used.

### 1st of June, 2026

#### Game Profiles
Expand Down
1 change: 1 addition & 0 deletions data/game_profiles/back-to-the-future-101-2010.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"back-to-the-future-101-2010","description":"","blowfishKey":"Bttf101","isTtarch2":false,"ttarchVersion":8,"luaVersion":"5.0.2","streamVersion":3,"enableOodleCompression":false}
1 change: 1 addition & 0 deletions data/game_profiles/back-to-the-future-102-2011.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"back-to-the-future-102-2011","description":"","blowfishKey":"Bttf102","isTtarch2":false,"ttarchVersion":8,"luaVersion":"5.0.2","streamVersion":3,"enableOodleCompression":false}
1 change: 1 addition & 0 deletions data/game_profiles/back-to-the-future-103-2011.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"back-to-the-future-103-2011","description":"","blowfishKey":"Bttf103","isTtarch2":false,"ttarchVersion":8,"luaVersion":"5.0.2","streamVersion":3,"enableOodleCompression":false}
1 change: 1 addition & 0 deletions data/game_profiles/back-to-the-future-104-2011.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"back-to-the-future-104-2011","description":"","blowfishKey":"Bttf104","isTtarch2":false,"ttarchVersion":8,"luaVersion":"5.0.2","streamVersion":3,"enableOodleCompression":false}
10 changes: 10 additions & 0 deletions data/game_profiles/back-to-the-future-105-2011.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "back-to-the-future-105-2011",
"description": "",
"blowfishKey": "Bttf105",
"isTtarch2": false,
"ttarchVersion": 8,
"luaVersion": "5.0.2",
"streamVersion": 3,
"enableOodleCompression": false
}
10 changes: 10 additions & 0 deletions data/game_profiles/jurassic-park-the-game-2011.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "jurassic-park-the-game-2011",
"description": "",
"blowfishKey": "JurassicPark",
"isTtarch2": false,
"ttarchVersion": 9,
"luaVersion": "5.0.2",
"streamVersion": 3,
"enableOodleCompression": false
}
10 changes: 10 additions & 0 deletions data/game_profiles/law-and-order-legacies-2012.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "law-and-order-legacies-2011",
"description": "",
"blowfishKey": "LawAndOrder",
"isTtarch2": false,
"ttarchVersion": 9,
"luaVersion": "5.1.2",
"streamVersion": 3,
"enableOodleCompression": false
}
12 changes: 6 additions & 6 deletions data/game_profiles/poker-night-2-2013.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "Poker Night 2",
"name": "poker-night-2-2011",
"description": "",
"blowfishKey": "Batman",
"blowfishKey": "CelebrityPoker2",
"isTtarch2": false,
"ttarchVersion": 9,
"luaVersion": "5.2.3",
"streamVersion": 6,
"enableOodleCompression": true
"ttarchVersion": 7,
"luaVersion": "5.1.2",
"streamVersion": 3,
"enableOodleCompression": false
}
10 changes: 10 additions & 0 deletions data/game_profiles/puzzle-agent-2-2011.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "puzzle-agent-2-2011",
"description": "",
"blowfishKey": "Grickle201",
"isTtarch2": false,
"ttarchVersion": 9,
"luaVersion": "5.1.2",
"streamVersion": 3,
"enableOodleCompression": false
}
10 changes: 10 additions & 0 deletions data/game_profiles/tales-of-monkey-island-1-pc-2010.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "Tales of Monkey Island 1 (GOG, PC)",
"description": "",
"blowfishKey": "MonkeyIsland101",
"isTtarch2": false,
"ttarchVersion": 0,
"luaVersion": "5.1.2",
"streamVersion": 3,
"enableOodleCompression": false
}
10 changes: 10 additions & 0 deletions data/game_profiles/tales-of-monkey-island-2-pc-2010.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "tales-of-monkey-island-2-pc-2010",
"description": "",
"blowfishKey": "MonkeyIsland102",
"isTtarch2": false,
"ttarchVersion": 8,
"luaVersion": "5.1.2",
"streamVersion": 3,
"enableOodleCompression": false
}
1 change: 1 addition & 0 deletions data/game_profiles/tales-of-monkey-island-3-pc-2010.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"tales-of-monkey-island-3-pc-2010","description":"","blowfishKey":"MonkeyIsland103","isTtarch2":false,"ttarchVersion":8,"luaVersion":"5.1.2","streamVersion":3,"enableOodleCompression":false}
1 change: 1 addition & 0 deletions data/game_profiles/tales-of-monkey-island-4-pc-2010.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"tales-of-monkey-island-4-pc-2010","description":"","blowfishKey":"MonkeyIsland103","isTtarch2":false,"ttarchVersion":8,"luaVersion":"5.1.2","streamVersion":3,"enableOodleCompression":false}
1 change: 1 addition & 0 deletions data/game_profiles/tales-of-monkey-island-5-pc-2010.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"tales-of-monkey-island-5-pc-2010","description":"","blowfishKey":"MonkeyIsland105","isTtarch2":false,"ttarchVersion":8,"luaVersion":"5.1.2","streamVersion":3,"enableOodleCompression":false}
2 changes: 1 addition & 1 deletion data/game_profiles/the-walking-dead-season-2-2013.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "The Walking Dead: Season 2",
"description": "",
"blowfishKey": "Twd2",
"blowfishKey": "Twds2",
"isTtarch2": true,
"ttarchVersion": 3,
"luaVersion": "5.1.2",
Expand Down
177 changes: 177 additions & 0 deletions data/versiondb/back-to-the-future-101-2010.vdb.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
{
"ActingOverridablePropOwner": 1247536035,
"ActingPaletteClass": 3888173555,
"ActingPaletteGroup": 400284731,
"ActorAgentBinding": 2537407172,
"ActorAgentMapper": 1707351511,
"AnimatedValueInterface<AnimOrChore>": 809410798,
"AnimatedValueInterface<bool>": 809410798,
"AnimatedValueInterface<Color>": 809410798,
"AnimatedValueInterface<float>": 809410798,
"AnimatedValueInterface<Handle<D3DMesh>>": 809410798,
"AnimatedValueInterface<Handle<PhonemeTable>>": 809410798,
"AnimatedValueInterface<Handle<SoundData>>": 809410798,
"AnimatedValueInterface<int>": 809410798,
"AnimatedValueInterface<PhonemeKey>": 809410798,
"AnimatedValueInterface<String>": 809410798,
"AnimatedValueInterface<Transform>": 809410798,
"AnimatedValueInterface<Vector3>": 809410798,
"Animation": 3070283042,
"AnimationValueInterfaceBase": 167571457,
"AnimOrChore": 3173546333,
"AudioData": 1260322854,
"BoneContraints": 2635847010,
"BoundingBox": 3356780285,
"CameraFacingTypes": 2105390671,
"Chore": 2369125329,
"ChoreAgent": 3067985291,
"ChoreAgent::Attachment": 4168831863,
"ChoreResource": 2882625115,
"ChoreResource::Block": 2992439463,
"Color": 3181456933,
"D3DMesh": 852356450,
"D3DMesh::PaletteEntry": 4032760546,
"D3DMesh::TriangleSet": 3028216762,
"Dlg": 3298743500,
"DlgChainHead": 3487486240,
"DlgChild": 2811348868,
"DlgChildSetChoice": 2639247216,
"DlgChildSetChoicesChildPost": 2639247216,
"DlgChildSetChoicesChildPre": 2639247216,
"DlgChildSetConditionalCase": 2639247216,
"DlgChoice": 3664376747,
"DlgChoicesChildPost": 1680549273,
"DlgChoicesChildPre": 1680549273,
"DlgCondition": 619267492,
"DlgConditionalCase": 1680549273,
"DlgConditionInput": 2023478537,
"DlgConditionRule": 1248438046,
"DlgConditionTime": 1743653956,
"DlgDownstreamVisibilityConditions": 4082379323,
"DlgFolder": 206904488,
"DlgFolderChild": 1680549273,
"DlgLine": 3959344638,
"DlgLineCollection": 1525136524,
"DlgNode": 2296730722,
"DlgNodeChoices": 464744749,
"DlgNodeChore": 1170518059,
"DlgNodeConditional": 1318950729,
"DlgNodeCriteria": 2678565609,
"DlgNodeCriteria::EnumDefaultResultT": 790155486,
"DlgNodeCriteria::EnumTestT": 790155486,
"DlgNodeCriteria::EnumThresholdT": 790155486,
"DlgNodeExchange": 4170423743,
"DlgNodeExchange::Entry": 4141181016,
"DlgNodeExit": 3421566820,
"DlgNodeIdle": 3665610895,
"DlgNodeJump": 549434172,
"DlgNodeLink": 953662834,
"DlgNodeLogic": 1241111810,
"DlgNodeNotes": 2134526444,
"DlgNodeParallel": 2666835773,
"DlgNodeParallel::DlgChildSetElement": 2639247216,
"DlgNodeParallel::PElement": 1680549273,
"DlgNodeScript": 3420450939,
"DlgNodeSequence": 3618221232,
"DlgNodeSequence::DlgChildSetElement": 2639247216,
"DlgNodeSequence::Element": 233990688,
"DlgNodeStart": 3421566820,
"DlgNodeText": 4048018891,
"DlgNodeWait": 1738487983,
"DlgObjectProps": 1335389649,
"DlgObjectPropsMap::GroupDefinition": 1024524312,
"DlgObjectPropsOwner": 2762227517,
"DlgObjID": 3825594436,
"DlgObjIDOwner": 2920636846,
"DlgSystemSettings": 3969313169,
"DlgVisibilityConditions": 3588417090,
"DlgVisibilityConditionsOwner": 3220609248,
"Flags": 491445159,
"Font": 1007893783,
"Font::GlyphInfo": 2247348633,
"IdleSlotDefaults": 4097377196,
"IdleTransitionSettings": 625089554,
"InputMapper": 1262583002,
"InputMapper::EventMapping": 879931039,
"KeyframedValue<AnimOrChore>": 53278688,
"KeyframedValue<AnimOrChore>::Sample": 3376979309,
"KeyframedValue<bool>": 888184802,
"KeyframedValue<bool>::Sample": 132413475,
"KeyframedValue<Color>": 2277102891,
"KeyframedValue<Color>::Sample": 3832614441,
"KeyframedValue<float>": 888184802,
"KeyframedValue<float>::Sample": 132413475,
"KeyframedValue<Handle<D3DMesh>>": 978371239,
"KeyframedValue<Handle<D3DMesh>>::Sample": 3626080576,
"KeyframedValue<Handle<PhonemeTable>>": 978371239,
"KeyframedValue<Handle<PhonemeTable>>::Sample": 3626080576,
"KeyframedValue<Handle<SoundData>>": 978371239,
"KeyframedValue<Handle<SoundData>>::Sample": 3626080576,
"KeyframedValue<int>": 888184802,
"KeyframedValue<int>::Sample": 132413475,
"KeyframedValue<PhonemeKey>": 2130068831,
"KeyframedValue<PhonemeKey>::Sample": 2278772877,
"KeyframedValue<String>": 1378658527,
"KeyframedValue<String>::Sample": 2637781173,
"KeyframedValue<Transform>": 297571138,
"KeyframedValue<Transform>::Sample": 170530164,
"KeyframedValue<Vector3>": 1734735409,
"KeyframedValue<Vector3>::Sample": 1474554471,
"LanguageDB": 1582821095,
"LanguageLookupMap": 1811276022,
"LanguageLookupMap::DlgIDSet": 2953674980,
"LanguageRes": 2142211714,
"LanguageResLocal": 898578839,
"LanguageResProxy": 3571218306,
"LightType": 4136548079,
"LocalizationRegistry": 3013538613,
"LocalizeInfo": 1335389649,
"LogicGroup": 1961524803,
"LogicGroup::LogicItem": 1999535025,
"NavCam::EnumMode": 790155486,
"PhonemeKey": 2792191566,
"PhonemeTable": 3349763605,
"PhonemeTable::PhonemeEntry": 2886334476,
"Polar": 246693104,
"Procedural_LookAt::Constraint": 2437348522,
"PropertySet": 1244318167,
"Rect": 3414866692,
"ResourceGroups": 1549834930,
"Rule": 2583983409,
"Scene": 1189796209,
"Scene::AgentInfo": 1120877395,
"Skeleton": 1477567099,
"Skeleton::Entry": 2975528115,
"SoundReverbPreset": 1450767649,
"Sphere": 1068977611,
"StyleGuide": 229073418,
"Symbol": 2222126035,
"T3EffectBinary": 3738733756,
"T3EffectBinaryData": 1269525704,
"T3EffectBinaryDataCg": 968864093,
"T3EffectBinaryDataCg::ParameterLocation": 2738068572,
"T3EffectBinaryDataCg::Pass": 3175451858,
"T3EffectBinaryDataCg::Technique": 3740734772,
"T3EffectBinaryDataHlsl_D3D": 501925299,
"T3IndexBuffer": 336093341,
"T3RenderStateBlock": 949953411,
"T3SamplerStateBlock": 2722235157,
"T3Texture": 2671165217,
"T3VertexBuffer": 2267347732,
"T3VertexDeclaration": 2485238651,
"TaskOwner": 4118068257,
"TextAlignmentType": 3309356540,
"TRange<float>": 207664949,
"TRange<unsignedlong>": 207664949,
"Transform": 1161344320,
"TRect<float>": 3414866692,
"UID::Generator": 3051248175,
"UID::Owner": 3717390811,
"Vector2": 1845259340,
"VoiceData": 2665129651,
"WalkBoxes": 990917534,
"WalkBoxes::Edge": 4079736747,
"WalkBoxes::Tri": 2847941802,
"WalkBoxes::Vert": 1441281540,
"ZTestFunction": 4022877148
}
Loading
Loading