Oni (folder)/persist.dat

< Oni (folder)
Revision as of 02:33, 4 December 2025 by Iritscen (talk | contribs) (moved OBD-type documentation to new article OBD:Persist.dat as geyser originally suggested when he wrote this article; tweaked remaining material accordingly)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
See OBD:Persist.dat for technical documentation of this file's format.

persist.dat, found next to the game application, is the save-game and preference file for Oni. It can be edited most easily with GUI tools such as OSGE for Windows and OniLib for Mac.

Progress saving

As players of Oni are well aware, the game does not allow arbitrary saving ("save anywhere"), but relies on the use of fixed save points activated by reaching certain places in each level, at which point the level scripting uses the BSL function save_game to mark your progress. This means that by deciding on a maximum number of levels and save points, Bungie West could store the total state of the player's progress in a fixed-size file – 206,496 bytes, to be exact.

Many aspects of the game world are not saved in persist.dat: essentially, anything not pertaining to Konoko herself, such as the position of AIs and the presence of power-ups on the ground. What is stored is Konoko's position, health and inventory. Everything else is determined by the level scripting and the game data, and will always be in the same place when that save point is loaded.

Game preferences

In addition to save point data, persist.dat stores Oni's preferences as chosen on the Options screen (note that this omits key bindings, which are stored in key_config.txt). It also records whether the cheats are enabled, i.e. whether you have beaten the game (however, cheats are unlocked at all times when playing with the Anniversary Edition or Daodan DLL installed or when using the Intel Mac build). The final "setting" tracked by persist.dat is whether you killed Griffin in CHAPTER 13 . PHOENIX RISING.

Mac-Windows compatibility

The Windows version of persist.dat stores its numbers in little-endian format. But Bungie's original Mac game application and The Omni Group's Mac OS X port were built for PowerPC, a big-endian processor, thus numbers were written in the opposite order to the Mac's persist.dat. This meant that the save-game files were not compatible between Windows and Mac versions of Oni. However, when Macs moved to Intel and players began using the Intel-native Mac build of Oni, the file changed to being written in little-endian format and thus became interchangeable between Windows and Mac Oni.