Windows Oni vs. Mac Oni: Difference between revisions

updating for Intel Mac build; not sure about the statement left under "PC exclusives" about bindable events
(→‎Modified BSL commands: no idea why I wrote that about slowmo)
(updating for Intel Mac build; not sure about the statement left under "PC exclusives" about bindable events)
Line 1: Line 1:
{{update}}
There are no significant gameplay differences between the PC and Mac versions. However, there are some minor differences in scripting functionality that modders should be aware of.
 
There are no significant gameplay differences between the PC and Mac versions. However, the following information is important for all who hope to mod or script Oni in a way that is Mac-compatible.


==PC exclusives==
==PC exclusives==
===[[Customizing/Binding|Bindable]] events===
===[[Customizing/Binding|Bindable]] events===
Everything that has to do with cutscene authoring (recording character movements), and probably a little bit more.
Everything that has to do with cutscene authoring (recording character movements), and probably a little bit more.
===[[BSL|BSL]] functions/variables===
The PC build is probably older, and so it has a lot of "dev-and-debug" functionalities that were not used by the original script logic.
When the Mac and PC demo releases were built, some of those features were completely left out.
[http://geyser.oni2.net/PCvsMac/script_commands_PConly.txt HERE] is the full list of commands and variables that are unavailable on Mac or PC demo (by order of appearance in '''script_commands.txt''').
While some of them may be obsolete, and thus may have little effect on PC, a lot of them are definitely ''not'' defunct, and their lack on Mac is a major limitation. For instance, one should note :
*the absence of dev-console-related commands (the [[Developer Mode|Dev Mode]], however, is available on Mac and PC demo : just somewhat limited)
*the absence of '''chr_location''' and '''chr_location_settocamera'''. The placement of characters is thus limited by the original set of "teleport" flags.
*the absence of '''chr_focus''' and '''sc_focus'''. Thus none of the following is scriptable on Mac as of today :
**shapeshifting bots and Tag mode in [[AE:OTA|Oni Team Arena]]
**squad gameplay
**intermittently "switching" to characters that are NPCs in the original logic (used in a few mods e.g. Loser's Warehouse)
*the absence of '''chr_health''', '''wp_reset''', and a few other commands/variables that make scripting more flexible.
*other stuff I'm forgetting (there's quite a lot missing, really)
For further information, here are the complete lists of commands/variables as obtained with the '''dump_docs''' function call :
*[http://geyser.oni2.net/PCvsMac/script_commands_Mac.txt script_commands_Mac.txt]
*[http://edt.oni2.net/files/script_commandsMacBeta.txt script_commands_MacBeta.txt]
*[http://geyser.oni2.net/PCvsMac/script_commands_PC.txt script_commands_PC.txt]
*[[BSL:Commands | A comparison of the commands/variables side by side, PC, Mac, and Mac Beta]]
As for the effect of the commands and variables, the best documentation so far is on ssg's [http://ssg.oni2.net/commands.htm Oni Stuff]. It covers the full list of commands/variables, i.e. that of the PC version. Porting it to Oni Galore, slowly but surely...
----


==Mac exclusives==
==Mac exclusives==
Line 64: Line 38:


==Other differences==
==Other differences==
===BSL functions===
*PCs have '''co_show_all''', which prints all commands and variables to the console, though this is of dubious usefulness compared to dump_docs, which writes all commands and variables to script_commands.txt on both PC and Mac.
*PCs have the handy '''li_center_cursor''', though 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 PC.
*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 PCs have 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 also show trigger volumes using '''show_triggervolumes'''.
*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===
===Level logic===
The contents of the [[IGMD|IGMD]] folders are exactly the same on Mac and PC, except for tctf_ii ({{C13}}); these changes were made in the logic of the boss battle and cutscenes:
The contents of the [[IGMD|IGMD]] folders are exactly the same on Mac and PC, except for tctf_ii ({{C13}}); these changes were made in the logic of the boss battle and cutscenes: