Jump to content

Windows Oni vs. Mac Oni: Difference between revisions

→‎Mac exclusives: clarity on whether the Omni build had the display picker, thanks to zerg
m (→‎OniX: wording, noting two exclusives in this app (until it comes to Mac))
(→‎Mac exclusives: clarity on whether the Omni build had the display picker, thanks to zerg)
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
{{Hatnote|For a comparison of Win/Mac Oni with PS2 Oni, see [[Oni (PlayStation 2)]].}}
{{Hatnote|For a comparison of Win/Mac Oni with PS2 Oni, see [[Oni (PlayStation 2)]].}}
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 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.
{{TOCfloat|limit=2}}
{{TOClimit|2}}
==Game data files==
==Game data files==
The most visible difference in vanilla retail 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. (This addition of .sep files was also carried into [[OniX]].) To illustrate what sort of level data files you'll find in the GameDataFolder:
The most visible difference in vanilla retail 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. (This addition of .sep files was also carried into [[OniX]].) To illustrate what sort of level data files you'll find in the GameDataFolder:
Line 8: Line 8:
{|class="wikitable" style="margin-left:auto; margin-right:auto;"
{|class="wikitable" style="margin-left:auto; margin-right:auto;"
!Windows retail
!Windows retail
!Mac demo, Mac retail<br />Windows demo, OniX
!Mac demo, Mac retail,<br />Windows demo, OniX
|-
|-
|<center>*.dat, *.raw</center>
|<center>*.dat, *.raw</center>
Line 14: Line 14:
|}
|}


To learn about the differences in how resources are stored in these files, read the articles on [[OBD:Instance_file_format|instance files]] and [[OBD:Raw_and_separate_file_formats|raw and separate files]], especially the "Mac vs. Windows" section in the latter.
To learn about the differences in how resources are stored in these files, read the articles on [[OBD:Instance file format|instance files]] and [[OBD:Raw and separate file formats|raw and separate files]], especially the "Mac vs. Windows" section in the latter.


==Level logic==
==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:
The contents of the [[IGMD]] folders are exactly the same on Windows and the Mac, except for tctf_ii ({{C13}}). When the Mac version of Oni was gold-mastered, these changes had been made in the logic of the boss battle:
*[[Special:Diff/21491/21492|Differences in tctf2.bsl]]
*[[Special:Diff/21491/21492|Differences in tctf2.bsl]] (prevents Shinatama from assuming combat stance when lasers are triggered and turrets begin firing)
*[[Special:Diff/21493/21494|Differences in tctf_ii_cutscene.bsl]]
*[[Special:Diff/21493/21494|Differences in tctf_ii_cutscene.bsl]] (prevents Griffin from being throwable through the force field)
 
These updated BSL files are supplied to both Windows and Mac users of the [[Anniversary Edition]] for consistency's sake.


==Windows exclusives==
==Windows exclusives==
Line 33: Line 35:
*Support for multibyte languages such as Chinese.
*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 name of a newly-acquired weapon is printed at your feet when you pick it up.
*New BSL commands for math, game characters, and output, listed [[Daodan_DLL#Added_BSL_functions|HERE]].
*New 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.
*Level files not ending in "_Final" will be loaded by Oni.


===OniX===
===OniX===
[[OniX]] is currently Windows-only, though it will come to Macs in the future. OniX does not currently have more features than the last build of Oni for Intel Macs (see below), but it runs on modern Windows machines, which sadly Mac users cannot say about the Intel Mac build since support for 32-bit apps was dropped from macOS in 2019. OniX also supports HDPI and high refresh rate displays.
[[OniX]] is currently Windows-only though it will come to Macs in the future. OniX at present has fewer features than the last build of Oni for Intel Macs (see below) but it runs on modern machines, which sadly Mac users cannot say about the Intel Mac build since support for 32-bit apps was dropped from macOS in 2019. OniX also supports HDPI and high refresh rate displays while the Intel Mac build does not.


==Mac exclusives==
==Mac exclusives==
===A deluxe game app===
The original version of Oni for the Mac did not contain any notable bug fixes or niceties except that it could present dialog boxes at startup to [[:Image:Mac OS Oni display selector.png|pick your active monitor]] and to [[:Image:Mac OS Oni startup dialog.png|set your key bindings]]. [[OMNI|The Omni Group build]] for Mac OS X did not add any niceties on top of this, and lost the dialogs for key binding and display picking.
The last build of [[FERAL|Oni for Intel Macs]] is based on code that has been touched up by Bungie, The Omni Group, and Feral Interactive in the years since Oni was gold mastered for Windows in 2000 (see [[History of Mac Oni]] for details). Thus many issues have been fixed, including the following that have not been reproduced by the Daodan DLL or OniX:
 
However the build of [[FERAL|Oni for Intel Macs]] fixed many issues and restored the display picker. The [[FERAL#Bug fixes|"Bug fixes" section]] of that article contains a full list of fixes compared against the current state of Windows Oni as patched by the Daodan DLL, including the following two that have not been reproduced by the Daodan DLL or OniX:
*Lens flares shining through objects.
*Lens flares shining through objects.
*Crashes from missing textures, missing level files, and excessive particle classes.
*Crashes from missing textures, missing level files, and excessive particle classes.
See [[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.


The major caveat with this Intel Mac build is that, being 32-bit, it cannot run on a version of macOS past 10.14 Mojave.
The major caveat with this Intel Mac build is that, being 32-bit, it cannot run on a version of macOS past 10.14 Mojave.


===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 ^_^
Intel Mac Oni supports 1024x1024 textures, whereas the Daodan DLL only allows up to 512x512 in Windows, although in practice this isn't much of an advantage because modders generally do not go out of their way to make bigger textures just for Mac players.


===BSL===
===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 "[[IGMD/global|global]]" folder in IGMD, which the Mac also supports.
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 works in both Windows and Mac Oni.


====Unique====
====Unique====
Line 65: Line 66:


====Functional====
====Functional====
The following commands and variables seem to work on Macs but not in Windows.
The following commands and variables seem to work on Macs but not in Windows:
*You can see attack extents by passing an animation name to the '''chr_showextent''' command (with the '''chr_showextent_globals''' variable set to 1). You can see 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).
*You can see attack extents by passing an animation name to the '''chr_showextent''' command (with the '''chr_showextent_globals''' variable set to 1). You can see 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).
*These variables can also be useful for modders: '''ai2_showastar''', '''am_hit_everything''', '''am_show_axes''', '''character_name_distance''', '''patrolpath_name_distance''', '''show_characters''', '''show_flags''', '''show_patrolpaths''', '''show_sound_all''', '''show_sound_rectangles''', '''show_sound_spheres''', and '''turret_show_debug'''.
*These variables can also be useful for modders: '''ai2_showastar''', '''am_hit_everything''', '''am_show_axes''', '''character_name_distance''', '''patrolpath_name_distance''', '''show_characters''', '''show_flags''', '''show_patrolpaths''', '''show_sound_all''', '''show_sound_rectangles''', '''show_sound_spheres''', and '''turret_show_debug'''.
Line 81: Line 82:


==Developer Mode==
==Developer Mode==
The difference in the hard-coded controls for the Dev Mode camera are illustrated [[Developer Mode#Camera_controls|HERE]].
The difference in the hard-coded controls for the Dev Mode camera are illustrated [[Developer Mode#Camera controls|HERE]].


==Cheats==
==Cheats==