[Feature] Add support for .dur file format and animations (closes #719) (#833)

Adds support for durdraw's .dur file format. Supports ascii, animations, and 16/256 color display.

Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/833
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: hynak <hynak@noreply.codeberg.org>
Co-committed-by: hynak <hynak@noreply.codeberg.org>
This commit is contained in:
hynak
2025-12-05 19:46:42 +01:00
committed by AnErrupTion
parent 3bfdc75a70
commit 7e18d906c4
6 changed files with 453 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ const Doom = @import("animations/Doom.zig");
const Dummy = @import("animations/Dummy.zig");
const Matrix = @import("animations/Matrix.zig");
const GameOfLife = @import("animations/GameOfLife.zig");
const DurFile = @import("animations/DurFile.zig");
const Animation = @import("tui/Animation.zig");
const TerminalBuffer = @import("tui/TerminalBuffer.zig");
const Session = @import("tui/components/Session.zig");
@@ -572,6 +573,10 @@ pub fn main() !void {
var game_of_life = try GameOfLife.init(allocator, &buffer, config.gameoflife_fg, config.gameoflife_entropy_interval, config.gameoflife_frame_delay, config.gameoflife_initial_density);
animation = game_of_life.animation();
},
.dur_file => {
var dur = try DurFile.init(allocator, &buffer, log_writer, config.dur_file_path, config.dur_x_offset, config.dur_y_offset, config.full_color);
animation = dur.animation();
},
}
defer animation.deinit();