Windows Oni vs. Mac Oni

From OniGalore
Revision as of 01:45, 31 March 2014 by Iritscen (talk | contribs) (Iritscen moved page PC vs Mac to Windows Oni vs. Mac Oni: More explicit title, plus "Windows" is preferable to "PC".)
Jump to navigation Jump to search

There are no significant gameplay or content differences between the Windows and Mac versions. However, there are some minor differences in scripting functionality that modders should be aware of.

Windows exclusives

There are no known significant features found only in Windows Oni, but there are a couple differences in BSL functionality (see "Other differences" section below) and in the Developer Mode controls. Also, sounds are generally 44KHz, but only 22KHz in Mac Oni.

Mac exclusives

A newer (stabler?) build

The current build of Oni for Intel Macs (see HERE for link) is based on code that has been touched up by Bungie, Omni Group, and Feral Interactive since Oni was gold mastered for Windows in 2000 (see History of Mac Oni for details), so they may have fixed a few issues with sounds, mouse, rendering, and AI. On the whole, the Mac build of Oni may have fewer crash issues as a result.

Also, many of the patches made by the Daodan DLL to Windows Oni were implemented into the Mac Intel build. Below are whatever new features were added, or changes made, that cause Mac Oni to differ from Windows Oni + Daodan DLL.

Bigger textures

Macs support 1024x1024 textures, whereas the Daodan DLL only allows up to 512x512 in Windows, although in practice this isn't much of an advantage because no one will go out of their way to make such enormous textures just for Mac players when they can keep their mod to 512x512 and make it playable for everyone ^_^

bsl_config.txt

Any BSL commands left in a text file with this name alongside the Oni app will be run upon level load. This is equivalent to using the "global" folder in IGMD, which the Mac also supports as of the Intel build.

New BSL commands

Modders may find it helpful to set the following new variables to true: am_show_texturename, chr_show_weaponid.

Modified BSL commands

  • chr_location in Windows takes a character index number as the first parameter; on Mac, you can pass it either the index number or the AI name as a string.

launch_args.txt

Instead of using the Terminal to pass launch arguments to the Oni binary, which is extra complicated on the Mac, you can list them in a file with this name next to the Oni app, separated by spaces, e.g. "-fsaa2x -noswitch".

Graphical niceties

You can supply the launch arguments -fsaa2x or -fsaa4x to get full-screen anti-aliasing.

Diary pages

The Mac supports 30 weapon pages in the diary, over the Windows limit of 15.

Bindable cheats

Oni's original cheat codes can be bound to keys in key_config.txt.


Other differences

BSL functions

  • Windows Oni can turn li_center_cursor on/off, whereas this behavior is hardcoded to be on all the time on Macs.
  • chr_location can take the AI's name as a string or the AI's index number on Macs, but only the AI's index number on Windows.
  • Macs can show attack extents by passing an animation name to the chr_showextent command (with the chr_showextent_globals variable set to true).

BSL variables

  • Only Windows Oni has the boolean ai2_debug_localmove_lines.
  • Macs can show attack extents with the chr_showextent_globals variable set to true by watching characters attack (or by passing an animation name to the chr_showextent command).
  • Macs can display the weapon name when equipping a weapon if chr_show_weaponid is true.
  • Macs have a few probably-useless variables for graphics left over from the debugging days at Bungie: debug_font_cache, gl_disable_dxt1, gl_disable_packed_pixels, and gl_mipmap_offset.

Level logic

The contents of the IGMD folders are exactly the same on Windows and the Mac, except for tctf_ii (CHAPTER 13 . PHOENIX RISING); these changes were made in the logic of the boss battle and cutscenes:

File formats

The most visible difference between the game data in Mac and Windows Oni is the presence of .sep files on the Mac. This and other changes were made either for general optimization or to meet some limitation on the Mac side. Due to the fact that Mac Oni was finished after Windows Oni and the demos were finished after the code was finalized for both platforms, the changes for Mac Oni carried over to the Windows demo. To learn more about these files, read OBD:Instance file format. But to illustrate, here are the kinds of level data files that you'll find in the GameDataFolder:

Windows retail Mac demo, Mac retail and Windows demo
*.dat, *.raw
*.dat, *.raw, *.sep

.dat files

These files are mostly identical between Mac and Windows, but Mac SNDD resources are 32 bytes long, whereas Windows and Windows demo SNDD resources (wrappers for the actual sound data in the .raw files) are 96 bytes long; this is because of the change in SNDD format noted below under ".raw files".

.raw files

In Windows, these files contain the core data of the AGDB, AKVA, BINA, OSBD, SNDD, SUBT, TRAM and TXMP resources.

On Mac and in the Windows demo, these files only contain the core data of the AKVA, SNDD, SUBT and TRAM resources; the rest have been moved to the .sep files (except for AGDB resources, which were omitted from Macs and the Windows demo because this data is unused by Oni).

In terms of differences in the actual data formats, the most notable change is that Macs use SNDDs in the AIFF format, and Windows (retail and demo) uses WAV sound data.

.sep files

Windows retail Oni lacks these files, all the relevant data being in the .raw files. On Macs and in the Windows demo, .sep files contain the BINA, OSBD and TXMP resources. For TXMPs in particular, only the "wrapper" for the texture data is stored in a Mac's .raw file, with a link to the actual image data where it is found in the level's .sep file.