Windows Oni vs. Mac Oni

From OniGalore
Revision as of 23:02, 17 July 2014 by Iritscen (talk | contribs) (moved details of level file differences to "OBD:Raw and separate file formats", where technical info belongs)
Jump to navigation Jump to search

There are no significant gameplay or content differences between the Windows and Mac versions. However, there are major differences in file format and 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 Intel 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. 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

To learn more about these files, read the introductory articles on OBD.