This is a collection of tools and scripts that were used (and still are being used) for creating the videos uploaded to the Old School Tibia Youtube channel.
See LICENSE.
TibiaReplay is a tool to play TibiaReplay (.trp) files using the real Tibia client. It has additional features to automate the process of recording the client using a screen recorder such as Open Broadcaster Software (OBS). Note that currently OBS Classic is required. It currently supports Tibia version 7.00 - 7.92.
To build the tool under Windows you'll need Visual Studio 2022 with Visual C++. The tool is built as a DLL which are injected to the Tibia client using a DLL injector (which can be built as well).
Collection of Python scripts to convert, dump and verify TibiCAM (.rec) and TibiaReplay (.trp) files.
convert.py converts one or multiple TibiCAM files to TibiaReplay files. It can also correct damaged files. This script does support encrypted TibiCAM files (thanks to many hours in IDA Pro, sorry how2doit and haktivex). How the encryption (and decryption) of TibiCAM files work is probably what most of you reading this wants to know, so go ahead and read the file tools/libs/recording.py (line 183 - 241).
dump.py (decrypts) and dumps a TibiCAM or TibiaReplay file. The output is similar to hexdump -C
but with additional information for each packet. Example output:
$ ./dump.py -f Beholder.trp | tail
'Beholder.trp': Packet: 611 Time: 258687 Length: 42
28 00 AA 0B 00 53 75 6D 6D 65 72 63 6C 75 62 62 |(....Summerclubb|
01 02 80 07 7D 0A 12 00 49 20 68 6F 70 65 20 79 |....}...I hope y|
6F 75 20 65 6E 6A 6F 79 65 64 |ou enjoyed |
'Beholder.trp': Packet: 612 Time: 258875 Length: 12
0A 00 6B 09 80 09 7D 0A 01 AA 05 02 |..k...}..... |
'Beholder.trp': Packet: 613 Time: 259093 Length: 39
25 00 AA 04 00 5A 6F 6E 71 01 FC 7F 03 7D 0A 16 |%....Zonq....}..|
00 67 6F 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C |.go<<<<<<<<<<<<<|
3C 3C 3C 3C 3C 3C 3C |<<<<<<< |
tstrings.py works similar to the POSIX strings
utility, but for TibiCAM or TibiaReplay files. It simply outputs all strings found in the given TibiCAM or TibiaReplay file.