From 39ff4cd92c0bbf408a17b99e5815dff69a8fc2e0 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 20 May 2024 00:55:37 +0900 Subject: [PATCH] Deterministic randomiser because Timsort was complaining --- src/net/torvald/terrarumsansbitmap/MovableType.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/net/torvald/terrarumsansbitmap/MovableType.kt b/src/net/torvald/terrarumsansbitmap/MovableType.kt index 6b93f8a..6088f7a 100644 --- a/src/net/torvald/terrarumsansbitmap/MovableType.kt +++ b/src/net/torvald/terrarumsansbitmap/MovableType.kt @@ -528,6 +528,7 @@ class MovableType( val operations = HashMap() // key: index, value: number of hits var operationsSize = 0 + var shuffleCnt = 0 while (operationsSize < moveAmount) { val li = gluesInfo.sortedBy { (block, index, thisWordEnd) -> val priority = if (thisWordEnd == null) @@ -541,7 +542,9 @@ class MovableType( else 255 - (Math.random() * 65535).toInt().or(priority.shl(16)) + shuffleCnt = (shuffleCnt + (Math.random() * 65536)).toInt() and 0xFFFF + + (block.block.text.getHash() + shuffleCnt).toInt().or(priority.shl(16)) } var c = 0 while (operationsSize < moveAmount && c < li.size) {