CONTROLS
Ctrl+O Open a ttyrec from filesystem
Ctrl+G Open ttyrec download window
Ctrl+C Open Configuration window
Ctrl+F Open ttyrec event search window
Escape Close ttyrec and return here
Alt+Enter Toggle fullscreen
A / S Switch Tile to console / Full Console Mode
PLAYBACK CONTROLS
ZXC Play backwards at x100, x10, or x1 speed
V, SPACE Play / Pause"
BNM Play forwards at 1x, x10, or x100 speed
M can stack repeatedly to go forward in time
F / G Adjust speed by +/- 1
D / H Adjust speed by +/- 0.2
, (Comma) Frame Step Back
. (Dot) Frame Step Back
Left Arrow Time Step Backward 5 Seconds
Right Arrow Time Step Forward 5 Seconds
I Used VS 2019 Enterprise, should work for older versions as well
If your distro is Debian-based (Ubuntu, etc.) install dependencies with:
(For non-Debian-based distros, do whatever the equivalent is on your distro.)
Open the DCSSReplay solution in monodevelop. A couple of the projects (SlimPutty and PuttyDLL) will fail to open, but don't worry.
Nuget packages fail to restore for the WASM version of DCSSReplay, so unload it.
You must build the 64-bit version because one of the NuGet dependencies (SkiaSharp native Linux assets) only comes in 64-bit flavour:
Now, you are ready to build:
To run:
PuttyDLL is a native C project which is takes the inner workings of the PUTTY.DSP project from the official PuTTY source code.
Key differences:
PuttySharp is a C# library which wraps the methods exposed by PuttyDLL for easier consumption in C#
It is currently small enough that it ended up well commented and designed. This probably won't last very long.
Parses Ttyrec files, prepares for feeding the data to Putty
TtyRecMonkey is the main C# program which is the point of this project. It is not well written.
It currently handles:
Contains a Model that is used for frame Generation.
Parser fills the Model with data before every frame from the terminal Character array that is passed to it.
The Big One - Takes all the custom rules along with the Model for each frame and tries to make an image that resembles what the screen would look like on a real DCSS game in that moment.
Looks similar quite often.
Is just a bit of a mess in general.