Use default PRNG and retrieve better seed

Signed-off-by: AnErrupTion <anerruption@disroot.org>
This commit is contained in:
AnErrupTion 2024-07-26 21:39:27 +02:00
parent 49b8697546
commit b84e6c9eed
No known key found for this signature in database
GPG Key ID: 3E85EB44F610AD7F
2 changed files with 11 additions and 6 deletions

View File

@ -162,7 +162,14 @@ pub fn main() !void {
// Initialize terminal buffer
const labels_max_length = @max(lang.login.len, lang.password.len);
var buffer = TerminalBuffer.init(config, labels_max_length);
// Get a random seed for the PRNG (used by animations)
var seed: u64 = undefined;
try std.posix.getrandom(std.mem.asBytes(&seed));
var prng = std.Random.DefaultPrng.init(seed);
const random = prng.random();
var buffer = TerminalBuffer.init(config, labels_max_length, random);
// Initialize components
var desktop = try Desktop.init(allocator, &buffer, config.max_desktop_len, lang);

View File

@ -4,7 +4,7 @@ const interop = @import("../interop.zig");
const utils = @import("utils.zig");
const Config = @import("../config/Config.zig");
const Random = std.rand.Random;
const Random = std.Random;
const termbox = interop.termbox;
@ -35,11 +35,9 @@ box_height: u64,
margin_box_v: u8,
margin_box_h: u8,
pub fn init(config: Config, labels_max_length: u64) TerminalBuffer {
var prng = std.rand.Isaac64.init(@intCast(std.time.timestamp()));
pub fn init(config: Config, labels_max_length: u64, random: Random) TerminalBuffer {
return .{
.random = prng.random(),
.random = random,
.width = @intCast(termbox.tb_width()),
.height = @intCast(termbox.tb_height()),
.buffer = termbox.tb_cell_buffer(),