aboutsummaryrefslogtreecommitdiff
path: root/internal/game/room_write.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/room_write.go')
-rw-r--r--internal/game/room_write.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/game/room_write.go b/internal/game/room_write.go
new file mode 100644
index 0000000..5ba24c1
--- /dev/null
+++ b/internal/game/room_write.go
@@ -0,0 +1,13 @@
+package game
+
+import (
+ "thehouseoficarus/internal/persistence"
+)
+
+// writeRoomFile durably writes an authored world/content file: temp file +
+// rename + directory fsync. The in-game admin room commands previously used a
+// bare os.WriteFile, which can truncate world data if the process dies
+// mid-write.
+func writeRoomFile(path string, data []byte) error {
+ return persistence.WriteFile(path, data, 0644)
+}