Mac beta 4: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(→‎German Oni: wording tweaks, and a little more info on the app and how this isn't the only release with dev files in it)
m (adding supporting link for beta leak, though I see evidence that undocumented betas were leaked for Win/Mac as early as October: https://groups.google.com/g/alt.games.tombraider/c/YTX7E3Y-fQI/m/_qxQnw37pvoJ)
Line 6: Line 6:
[[Image:Mac beta 4 Oni Get Info window.png|thumb|The application's version number is 1.0, as opposed to [[:Image:Classic Mac Oni Get Info window.jpg|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.]]
[[Image:Mac beta 4 Oni Get Info window.png|thumb|The application's version number is 1.0, as opposed to [[:Image:Classic Mac Oni Get Info window.jpg|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 [[History of Oni modding#Engine patching|engine patching]]; beta 4 is the only version of Oni observed to have Dev Mode freely accessible.
During Oni's beta testing period, specifically in November 2000, a copy of the entire Mac version of the game [http://carnage.bungie.org/oniforum/oni.forum.pl?read=6634 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 [[History of Oni modding#Engine patching|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 [[AE:OMNI|here]]. Today, the [[AE:FERAL|Intel build]] from Feral has restored virtually all the BSL functionality that is present in Windows Oni.
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 [[AE:OMNI|here]]. Today, the [[AE:FERAL|Intel build]] from Feral has restored virtually all the BSL functionality that is present in Windows Oni.

Revision as of 15:35, 20 December 2020

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 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 the "Big Blue Box beta" or the "BBB beta" because the discovery was made in a collection of four games called The Big Blue Box which included Oni. However, not only do all German copies of Oni seem to have these files, but other localizations may have them as well; for instance, the U.S. PS2 release of Oni has the cut level scripts, but not the tool files.

The app's creation date is 3/13/01, well after Oni's U.S. release, which indicates that the app was produced after localization had occurred, and contains changes necessary to make it work with the extended set of characters in the German alphabet. The game app itself has the same functionality, however, as other retail releases do; 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.

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 Oni's game data 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, as in other Mac releases. However, this does not explain why there are files from earlier in Oni's development bundled with the game.

Firstly, 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, Oni will explicitly state in its startup log that it is skipping the "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.