OniUnPacker

From OniGalore
Jump to navigation Jump to search

OniUnPacker (OUP), written by Alloc, provides a file manager GUI allowing one to explore, view and edit (in binary) all data within Oni's .dat/.raw files. It is able to import and export all data while allowing one to preview some of them. Additionally, OUP is able to determine dependencies among Oni's data and can perform conversion between level-database and .dat/.raw/.sep files.

Download

The current version is 0.34b and you can look here for past releases. Sources of specific releases can be found [http:s//websvn.illy.bz/listing.php?repname=Oni2&path=%2Foup%2Freleases%2F#_oup_releases_ here] and for the source I'm working on currently, here. More info on the source code can be found here (Delphi 2006, should be working with Delphi 2005 too).

If you want to use the "Binary .dat-Editor"-tool you should also get all files from here. Read the section "Structure Definitions" a few lines below ;)

Structure Definitions

Since v0.29a OUP supports so called "Structure Definition Files". These files are simple text files which add easy to view and edit masks in the "Binary .dat-Editor"-tool for each supported filetype. To use those files just get the .txt-files from here and put them in a subdirectory called "StructDefs" where the OniUnPacker.exe resides.

Features in 0.34a

  • Create level-database based on a .dat/.raw/.sep (adds even more functions later, like adding, deleting files)
  • Create a .dat/.raw/.sep structure based on a level-database
  • View, edit, import and export the data of the files in the .dat and .raw (with little helpers as a ValueViewer and the StructureViewer) easily
  • Extract ONI's data
  • Preview TXMPs (textures), TXANs (texture animations), TXMBs (big image maps (as far as I know they are only used for the intro/outro splashscreens and the backgrounds in the menus)) & PSpcs
  • Replace TXMPs with image-files
  • Associate OUP with .dat-files and/or .oldb-files (OUP LevelDataBase) and/or .opf-files (OUP PatchFiles)

Primary goals

  • Complete rebuilding of level-archives out of a database file so you can change just anything
  • Easy creation of patches for level-archives
  • Frontend for easily editing any filetype or extracting/reimporting it in case of 3D data
  • (Adding completely new levels for the unused levelnumbers (5, 7, 15, 16, 17, 20-127) ?)

Version History

See OniUnPacker/History.


Developers

Alloc
Contributions:

  • Main resource knowledge: ssg
  • Cheerleading, nagging, and oh, maybe 2 or 3 actually useful contributions : geyser
  • SNDD Export-converter: Kumo
  • New knowledge about some filetypes, other Oni-internal info: SFeLi



Thanks to

SSG

I would never have started the OUP-project if he had not created this great website with info about all filetypes in .dat-files and the structure of .dats in general. And he's always answering me new questions and requesting new stuff for OUP or reporting bugs ... BIG THANK YOU =)

Geyser

Well, he is probably the second most important reason why I started OUP. And he is always begging me for weird new stuff too ... And finding out what the BodyAnimationPart of TRAMs are telling us was a really great job ... Hope you will *not* stop working with me on that project and the other projects you are involved in.

Kumo

Even if he was not involved in OUPs developing progress directly (besides the SNDD to WAV decoder, thanks for that too) he was the only german one I could regularly talk to directly. Had many nice chats with you, thanks man.

SFeLi

Yeah, good thing you were not around OCF earlier. I do not think that would have had any work for myself otherwise ;) But on the other side you also do a really great job so it would not have been too bad if you had found us earlier. And thanks for the discussions about Oni and its binary stuff.

My parents

I am really grateful that they never found out what I am spending my time on instead of spending it on my schoolwork. Otherwise OUP would not be what it is today ;)



A few screenshots

Example of replaced texture files

Replaced all of the fire*-textures in level4/airport assault with an test-bitmap and set transparency to 1
Oup edited fire.jpg