Oni engine patches (Mac PPC): Difference between revisions

From OniGalore
Jump to navigation Jump to search
(adding link to subpage)
(adding link to Windows side, and also realizing that the talk about Oni for Mac doesn't belong here :blush:)
Line 1: Line 1:
__TOC__
:''For a list of changes to the Windows version of Oni, see [[Oni engine patches (Win)|here]].''
=History=
The original build of the Oni application (v1.1; 1.5MB) was compiled by Bungie for the PowerPC processor that Macs were using at the time. However, it was also a Carbon app, meaning it was written primarily for Mac OS 9 with only basic compatibility with OS X. Mac OS X was not even released until a couple of months later, and making it a proper Cocoa app would have required rewriting it from the ground up in Objective-C.
 
With Bungie's permission, Omni Group [http://www.omnigroup.com/mailman/archive/omni-press/2001/000008.html released] a free Cocoa port by the end of the year (v1.0 (Mac OS X), version 1.36; 4.6MB). This port allowed Macs running OS X to run Oni with fewer hiccups in terms of compatibility (such as flawed controls), making the port more of a convenience than a necessity. It did, however, guarantee the game a longer playable lifetime in that it updated the app to more modern technology on the software side. No one could have known at the time that Apple would later switch to Intel processors, moving away from the PowerPC chip that Oni was written for.
 
Omni's port is therefore native for modern Macintoshes' software in that it is a Cocoa app, but non-native for modern Macs' hardware in that is is written for the PowerPC chip. Additionally, various other elements of the OS and hardware have changed over the years, making the Omni port unable to run on modern Macs without some modifications. Through the efforts of the Oni community, various hex edits have been devised as ways to not only allow the application to run under the latest versions of OS X, but to extend the potential for Oni modding.
 


=List of patches=
=List of patches=
Line 61: Line 54:
*While playing in Windowed mode, the game and computer cursor are not synced, so one can click outside the game window and disrupt the game.  Workaround:  set the game resolution to the display resolution (or as close as possible) to minimize the disruption.
*While playing in Windowed mode, the game and computer cursor are not synced, so one can click outside the game window and disrupt the game.  Workaround:  set the game resolution to the display resolution (or as close as possible) to minimize the disruption.
*In Dev Mode, the numpad number keys 0-9 are not accessible. Thus the default NumPad keys to move the camera will not work.  Workaround: in the key_config.txt file, bind other keys to the camera commands.
*In Dev Mode, the numpad number keys 0-9 are not accessible. Thus the default NumPad keys to move the camera will not work.  Workaround: in the key_config.txt file, bind other keys to the camera commands.
*In Dev Mode, when entering commands in the console (accessed with the tilde ~ key), the SHIFT key will not work with the letters a-z, therefore commands requiring uppercase letters cannot be entered.  No known workaround while using the console, but, the commands that have uppercase letters can be entered in the bsl (script)
*In Dev Mode, when entering commands in the console (accessed with the tilde (~) key), the Shift key will not work with the letters a-z, therefore commands requiring uppercase letters cannot be entered.  No known workaround while using the console, but the commands that require uppercase letters can be run by entering them in [[BSL]] scripts.




=Download=
=Download=
:http://edt.oni2.net/files/Oni.zip -- Updated on Nov 14, 2008, with all above changes made.
:http://edt.oni2.net/files/Oni.zip -- Updated on Nov 14, 2008, with all above changes made.
=Future=
According to an email I received, Feral Interactive is planning to release an Intel native patch of Oni, sometime next year. [[User:EdT|EdT]] 17:12, 14 November 2008 (CET)
:Not that this isn't fun already, but could we have more details on that? Do you know if Take2 was involved in the decision? --[[User:Geyser|geyser]] 17:51, 14 November 2008 (CET)
:: Not much more details to offer, I sent you the actual text of the email to you YIM account. [[User:EdT|EdT]] 20:11, 14 November 2008 (CET)

Revision as of 19:41, 25 December 2008

For a list of changes to the Windows version of Oni, see here.

List of patches

A brief timeline of the upgrades so far:

Date Offset Old hex New hex Description
2008/11 0x0019025C 00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 17 22 58
00 17 22 44
00 17 22 39
00 00 00 0B
Bound "thedayismine" to Dev Mode
2008/11 0x0019024B 00 00 00 08 00 00 00 14 Restored "killmequick" to Ultra Mode
2008/11 Added 52 BSL commands (12 functions and 36 variables).

chr_active, chr_aim_width, chr_all_active, chr_auto_aim_arc, chr_auto_aim_dist, chr_big_head_amount, chr_block_angle, chr_disable_melee, chr_disable_visactive, chr_display_combat_stats, chr_draw_all_characters,, chr_draw_dot, chr_focus, chr_health, chr_location, chr_location_settocamera, chr_lod, chr_main_class, chr_mini_me, chr_mini_me_amount, chr_pin_character, chr_set_class, chr_weapon, chr_weapon_auto_aim, chr_who, cm_canter_unarmed, cm_canter_weapon, cm_distance, cm_height, co_display, corpse_reset, door_ignore_locks, draw_every_frame, draw_every_frame_multiple, fast_mode, fx_laser_width, gs_fov_set, gs_input_accel, gs_screen_shot_reduce, gs_show_corpses, gs_show_environment, gs_show_ui, m3_fill_solid, m3_shade_vertex, make_corpse, powerup_reset, show_performance, single_step, ui_fill_element, weapon_reset, wp_kickable, wp_scale_adjustment.

2008/10 0x1220AF
0x1220B3
0x1151C3
06
06
10
46
46
40
to support 1024x1024 textures
2008/06 0x0005E4C2 00 7F Increased flailing timer (For jetpack hack)
2008/05 0x000E2D19 7A 9A non-"_Final" levels are now valid
2007/07 0x00096DCB
0x00096DE3
04
04
20
20
pathfinding grid cache size x8
2007/05
2007/06
2007/07
0x00189FDC 90 61 00 18
90 81 00 1C
90 A1 00 20
90 C1 00 24
90 E1 00 28
91 01 00 2C
91 21 00 30
91 41 00 34
4E 80 00 20
7C EA 3B 78
7C C9 33 78
7C A8 2B 78
7C 87 23 78
7C 66 1B 78
38 60 00 00
38 83 FF FF
38 A3 00 01
4B F2 F6 F8
console output display fixed
2007/01 0x001B6050 0D 00 00 0A 0D 00 00 0D Return/Enter key fixed
2006/08 0x00117B36 1F 03 1F 02 "Intel fix" (GL extension list?)
2006/06 0x0019024B 00 00 00 14 00 00 00 0B killmequick bound to Dev Mode

The changelog lists all above changes, further experimental ones, and also records which functions and variables were replaced in order to add the new ones.


Known Issues

  • While playing in Windowed mode, the game and computer cursor are not synced, so one can click outside the game window and disrupt the game. Workaround: set the game resolution to the display resolution (or as close as possible) to minimize the disruption.
  • In Dev Mode, the numpad number keys 0-9 are not accessible. Thus the default NumPad keys to move the camera will not work. Workaround: in the key_config.txt file, bind other keys to the camera commands.
  • In Dev Mode, when entering commands in the console (accessed with the tilde (~) key), the Shift key will not work with the letters a-z, therefore commands requiring uppercase letters cannot be entered. No known workaround while using the console, but the commands that require uppercase letters can be run by entering them in BSL scripts.


Download

http://edt.oni2.net/files/Oni.zip -- Updated on Nov 14, 2008, with all above changes made.