Windows Oni vs. Mac Oni: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (marking, in light of upcoming Feral build)
(reorganization and update for Mac Oni 1.2)
Line 1: Line 1:
{{update}}
There are no major gameplay or content differences between the Windows and Mac versions. However, there <u>are</u> major differences in file format and minor differences in scripting functionality that modders should be aware of.
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.
{{TOCfloat|limit=2}}
==Game data files==
The most visible difference between the files in Mac and Windows Oni is the presence of .sep files in the [[GameDataFolder]] of Mac Oni and the Windows Oni demo. 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 [[History of Mac Oni|was finished after]] Windows retail Oni but before the Windows demo was made, some changes made for Mac Oni carried over to the Windows demo. To illustrate what sort of level data files you'll find in the GameDataFolder:
 
{|class="wikitable" style="margin-left:auto; margin-right:auto;"
!Windows retail
!Mac demo, Mac retail<br />and Windows demo
|-
|<center>*.dat, *.raw</center>
|<center>*.dat, *.raw, *.sep</center>
|}
 
To learn more, read the articles on [[OBD]] about instance, raw, and separate files.
<br clear="all" />
 
==Level logic==
The contents of the [[IGMD|IGMD]] folders are exactly the same on Windows and the Mac, except for tctf_ii ({{C13}}); these changes were made in the logic of the boss battle and cutscenes:
*[http://wiki.oni2.net/Special:ComparePages?page1=BSL%3ATutorial%2Ftctf2.bsl&rev1=&page2=BSL%3ATutorial%2Ftctf2.bsl_%28Mac%29&rev2=&action=&diffonly=&unhide= Differences in tctf2.bsl]
*[http://wiki.oni2.net/Special:ComparePages?page1=BSL%3ATutorial%2Ftctf_ii_cutscene.bsl&rev1=&page2=BSL%3ATutorial%2Ftctf_ii_cutscene.bsl_%28Mac%29&rev2=&action=&diffonly=&unhide= Differences in tctf_ii_cutscene.bsl]


==Windows exclusives==
==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|Developer Mode controls]]. Also, sounds are generally 44KHz, but only 22KHz in Mac Oni.
There are no major features only available in Windows Oni, but one significant difference in the game content is:
*Sounds are generally 44KHz, but are limited to 22KHz in Mac Oni.
 
===BSL===
*Windows Oni can turn the BSL boolean '''li_center_cursor''' on/off, whereas this behavior is hardcoded to be on all the time on Macs.
*The BSL boolean '''ai2_debug_localmove_lines'''.
 
===Daodan DLL===
It's probably safe to say that all players these days use the [[Daodan DLL]] when they play Windows Oni. The Daodan confers these exclusives:
*Support for multibyte languages such as Chinese.
*The name of a newly-acquired weapon is printed at your feet when you pick it up.
*The BSL commands for math, game characters, and output listed [[Daodan_DLL#Added_BSL_functions|HERE]].
*Level files not ending in "_Final" will be loaded by Oni.


==Mac exclusives==
==Mac exclusives==
===A newer (stabler?) build===
===A newer, stabler build===
The current build of Oni for Intel Macs (see [[AE:FERAL|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.
The current build of Oni for Intel Macs (see [[AE:FERAL|HERE]] for link) is based on code that has been touched up by Bungie, The Omni Group, and Feral Interactive since Oni was gold mastered for Windows in 2000 (see [[History of Mac Oni]] for details), so they have fixed a few issues over the years, including the following that have not been reproduced by the Daodan DLL:
*Forgetful AIs.
*Lens flares shining through objects.
*Crashes from missing textures, missing level files, and excessive particle classes.


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.
See [[AE:FERAL#Bug_fixes|HERE]] for a full list of fixes which is compared to the current state of Windows Oni as patched by the Daodan DLL.


===Bigger textures===
===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 ^_^
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===
===BSL===
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 "[[IGMD/global|global]]" folder in IGMD, which the Mac also supports as of the Intel build.
Any BSL commands left in a text file with the name '''bsl_config.txt'''' alongside the Oni app will be run upon level load. This is equivalent to using the "[[IGMD/global|global]]" folder in IGMD, which the Mac also supports.
 
*Macs can have the mouse speed set with '''mouse_acceleration''' (0.1-1.0).
===New BSL commands===
*The function '''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.
Modders may find it helpful to set the following new variables to true: '''am_show_texturename''', '''chr_show_weaponid'''.
*Macs can show attack extents by passing an animation name to the '''chr_showextent''' command (with the '''chr_showextent_globals''' variable set to 1).
*Macs can show attack extents with the '''chr_showextent_globals''' variable set to 1 by watching characters attack (or by passing an animation name to the '''chr_showextent''' command).
*Macs can display the name of a weapon when it is equipped if '''chr_show_weaponid''' is set to 1.
*Macs can display the name of a texture if they set '''am_show_texturename''' to 1 and point to a texture with a weapon that has an active laser sight.
*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'''.


===Modified BSL commands===
===Launch arguments===
*'''chr_location''' in Windows takes a character index number as the first parameter; on Mac, you can pass it either the index number <u>or</u> the AI name as a string.
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 the name '''launch_args.txt''' next to the Oni app, separated by spaces, e.g. "-fsaa2x -noswitch".


===launch_args.txt===
On top of this, a launch panel appears if launching Oni with Command held down. Most of the launch arguments can be chosen using the GUI, and if not, they can be typed in manually in the Advanced tab.
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===
===Graphical niceties===
You can supply the launch arguments '''-fsaa2x''' or '''-fsaa4x''' to get full-screen anti-aliasing.
You can supply the launch arguments '''-fsaa2x''' or '''-fsaa4x''' to get full-screen anti-aliasing, and '''-af2x''' or '''-af4x''' to get anisotropic filtering.
 
===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|IGMD]] folders are exactly the same on Windows and the Mac, except for tctf_ii ({{C13}}); these changes were made in the logic of the boss battle and cutscenes:
*[http://wiki.oni2.net/Special:ComparePages?page1=BSL%3ATutorial%2Ftctf2.bsl&rev1=&page2=BSL%3ATutorial%2Ftctf2.bsl_%28Mac%29&rev2=&action=&diffonly=&unhide= Differences in tctf2.bsl]
*[http://wiki.oni2.net/Special:ComparePages?page1=BSL%3ATutorial%2Ftctf_ii_cutscene.bsl&rev1=&page2=BSL%3ATutorial%2Ftctf_ii_cutscene.bsl_%28Mac%29&rev2=&action=&diffonly=&unhide= Differences in tctf_ii_cutscene.bsl]


===File formats===
===Gameplay===
The most visible difference between the files in Mac and Windows Oni is the presence of .sep files in the [[GameDataFolder]] of Mac Oni and the Windows Oni demo. 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 [[History of Mac Oni|was finished after]] Windows Oni, some changes made for Mac Oni carried over to the Windows demo. To illustrate what sort of level data files you'll find in the GameDataFolder:
The launch argument '''-wsafety''' prevents your weapon from firing when you click, so you can punch and kick with a loaded weapon. The launch argument '''-parkour''' allows the AI to jump over obstacles in pursuit of the player.


{|class="wikitable" style="margin-left:auto; margin-right:auto;"
==Developer Mode==
!Windows retail
The difference in the hardcoded controls for the Dev Mode camera are illustrated [[Developer Mode#Camera_controls|HERE]].
!Mac demo, Mac retail<br />and Windows demo
|-
|<center>*.dat, *.raw</center>
|<center>*.dat, *.raw, *.sep</center>
|}


To learn more, read the articles on [[OBD]] about instance, raw, and separate files.
==Cheats==
The Daodan DLL adds the same cheats to Windows Oni that were added to Mac Oni in code, however "shinobi" differs as follows:
*Windows: Player always has 1 HP, but is immune to weapons and the enemy AI cannot hear the player.
*Mac: The enemy AI cannot hear the player, and their vision range is reduced to 25% of normal distance.


[[Category:Modding information]]
[[Category:Modding information]][[Category:Oni Support]]

Revision as of 00:39, 30 March 2015

There are no major 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.

Game data files

The most visible difference between the files in Mac and Windows Oni is the presence of .sep files in the GameDataFolder of Mac Oni and the Windows Oni demo. 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 retail Oni but before the Windows demo was made, some changes made for Mac Oni carried over to the Windows demo. To illustrate what sort of level data files you'll find in the GameDataFolder:

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

To learn more, read the articles on OBD about instance, raw, and separate files.

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:

Windows exclusives

There are no major features only available in Windows Oni, but one significant difference in the game content is:

  • Sounds are generally 44KHz, but are limited to 22KHz in Mac Oni.

BSL

  • Windows Oni can turn the BSL boolean li_center_cursor on/off, whereas this behavior is hardcoded to be on all the time on Macs.
  • The BSL boolean ai2_debug_localmove_lines.

Daodan DLL

It's probably safe to say that all players these days use the Daodan DLL when they play Windows Oni. The Daodan confers these exclusives:

  • Support for multibyte languages such as Chinese.
  • The name of a newly-acquired weapon is printed at your feet when you pick it up.
  • The BSL commands for math, game characters, and output listed HERE.
  • Level files not ending in "_Final" will be loaded by 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, The Omni Group, and Feral Interactive since Oni was gold mastered for Windows in 2000 (see History of Mac Oni for details), so they have fixed a few issues over the years, including the following that have not been reproduced by the Daodan DLL:

  • Forgetful AIs.
  • Lens flares shining through objects.
  • Crashes from missing textures, missing level files, and excessive particle classes.

See HERE for a full list of fixes which is compared to the current state of Windows Oni as patched by the 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

Any BSL commands left in a text file with the name bsl_config.txt' 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.

  • Macs can have the mouse speed set with mouse_acceleration (0.1-1.0).
  • The function 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 1).
  • Macs can show attack extents with the chr_showextent_globals variable set to 1 by watching characters attack (or by passing an animation name to the chr_showextent command).
  • Macs can display the name of a weapon when it is equipped if chr_show_weaponid is set to 1.
  • Macs can display the name of a texture if they set am_show_texturename to 1 and point to a texture with a weapon that has an active laser sight.
  • 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.

Launch arguments

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 the name launch_args.txt next to the Oni app, separated by spaces, e.g. "-fsaa2x -noswitch".

On top of this, a launch panel appears if launching Oni with Command held down. Most of the launch arguments can be chosen using the GUI, and if not, they can be typed in manually in the Advanced tab.

Graphical niceties

You can supply the launch arguments -fsaa2x or -fsaa4x to get full-screen anti-aliasing, and -af2x or -af4x to get anisotropic filtering.

Gameplay

The launch argument -wsafety prevents your weapon from firing when you click, so you can punch and kick with a loaded weapon. The launch argument -parkour allows the AI to jump over obstacles in pursuit of the player.

Developer Mode

The difference in the hardcoded controls for the Dev Mode camera are illustrated HERE.

Cheats

The Daodan DLL adds the same cheats to Windows Oni that were added to Mac Oni in code, however "shinobi" differs as follows:

  • Windows: Player always has 1 HP, but is immune to weapons and the enemy AI cannot hear the player.
  • Mac: The enemy AI cannot hear the player, and their vision range is reduced to 25% of normal distance.