Mac betas

From OniGalore
(Redirected from Level0 Tools)
Jump to: navigation, search
See History of Mac Oni for the story of the officially released builds of Oni for Mac.

Although no Windows Oni betas are known to have been leaked, there are two alternate Mac versions that have shed some light on the development of Oni. One is a leaked beta, and has been called "beta 4" since its leak. It is unknown whether there were later beta versions or if this was the last one before Oni's release. The second is the German localization, known informally as the "Big Blue Box beta", or "beta 5", which is not technically a beta.

Beta 4

The application's version number is 1.0, as opposed to retail Mac Oni's v1.1, and its creation date is 11/14/00, which corresponds to the period of time that Oni was in beta testing.

During Oni's beta testing period, specifically in late November 2000, a copy of the entire Mac version of the game was leaked, identified as "beta 4". Also leaked was a list of cheats. After Oni was released, fans were intrigued by the "Developer Mode" cheat "thedayismine", but found it did not work in their retail versions of Oni. Dev Mode did exist in beta 4, however it was assumed that the code for Dev Mode had been removed before the retail build was made. Later on, it would be discovered that the retail Mac (and Windows) Oni still had a partially-functional Dev Mode, but the cheat that enabled it would need to be unlocked by engine patching; beta 4 is the only version of Oni observed to have Dev Mode freely accessible.

Additionally, this beta still had all the BSL functionality of the Windows version; it had previously been thought that about 40 functions and about 160 variables were stripped from the code used to build Oni for the Mac, since the Mac version was finalized a bit later than the Windows version. Having seen from beta 4 that these functions and variables were once present in the Mac binary, the community set about searching for them in the current Mac app at the time, Omni Group's port for Mac OS X (now "macOS"), and found them. Through hex editing, pointers to active BSL variables and functions that were not of much use were diverted to point to some of the hidden and more useful ones. Those changes effectively brought the Omni app to near-parity with the retail Windows version; those patches were documented here. Today, the Intel build from Feral has restored virtually all the BSL functionality that is present in Windows Oni.

German Oni

The German localization of Oni for the Mac accidentally shipped with development-related files. This version was originally called "beta 5" by the community because it was thought to come after the leaked beta 4; but in fact the extra files it contains would likely have come from Oni's pre-beta period. It was also called "Big Blue Box beta" or the "BBB beta" because the discovery was made in a collection of four games that included Oni, which was called The Big Blue Box; however, all German copies of Oni seem to have these files, not just the Big Blue Box version.

The game app itself is unremarkable; its version number is 1.1, just like the English Mac build of Oni, and access to Developer Mode and many BSL functions have been removed as in the English Mac builds of Oni. In fact, the app's creation date is 3/13/01, well after Oni's American release, which indicates that the app was produced after localization had occurred.

However, the game data had two very unusual features: the level0_Tools files, and some scripts for levels that were never released. It also uses the Windows versions of the familiar level scripts (the Mac scripts have a few small differences). This might mean that the Oni files were made available to the localization team between the Windows gold master in November 2000 and the Mac gold master in December 2000; at least the code for the game app was supplied after the Windows gold master, since separate files are present. However, this does not explain why there are files from earlier in Oni's development bundled with the game.

The level0_Tools files (found in GameDataFolder in the usual .dat/.raw/.sep formats) contain resources used during development. The Oni application will not actually load these files (in fact, the startup log explicitly shows that Oni skips "tool files"), but the function of the files was determined from examining their resources. If you're curious, you can download level0_Tools here. OniSplit can be used to extract the data into individual resources. level0_Tools contains:

  • Distinct furniture models (OFGAs). These are now "baked into" the environment of Oni's levels as generic AKEV quads that are merely flagged as furniture.
  • WMDDs that were used by the in-game visual editor, AKA Tool mode. This mode is not available in retail builds of Oni, but Bungie West used it to edit OBJCs and other BINA resources while in-game. The German localizers seem to have translated some of the Tool mode GUI into German along with everything else, not understanding that the files were superfluous.
  • Textures that were used for debugging, or for other obsolete purposes. The most notable texture is this mask-less rendition of the Hapémask cat who appears in Chapter 2. Logically called "Hapékat", he is now our wiki's mascot.

The WMDDs were visually reconstructed, and these images have been placed on the OBD pages of any resource types that had editor window(s) devoted to them. A complete collection of the images in one place is found here. The labels on the elements in these windows were helpful in reverse-engineering the BINA formats.

Secondly, German Mac Oni contains a number of extra level scripts within the IGMD folder which are not present in retail Oni, either because (a) they provided the logic for test levels used by the developers, (b) they represent content that was later merged into another level, or (c) they represent actual cut content. In total there are 10 folders not present in a retail Oni installation: Airport_II, BGI, aop, cap, CZ, CZ_II, global (empty), pit, ats, and SR. The missing levels that 9 of these folders refer to, and what the scripts reveal about them, are discussed on the Pre-beta content page.