Oni engine patches (Mac PPC)

From OniGalore
Revision as of 19:43, 4 October 2008 by Iritscen (talk | contribs) (doing a write-up to provide some history)
Jump to navigation Jump to search

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 Classic app, written for Mac OS 9. Mac OS X was being released later that year, but Bungie did not have time to perform "carbonization", the process developers were using at the time to make Classic apps nominally OS X-compatible.

With Bungie's permission, Omni Group released a free, carbonized port by the end of the year (v1.0 (Mac OS X), version 1.36; 4.6MB). At the time, this port allowed Macs running OS X to run Oni without booting into the Classic environment within OS X, a convenience but not a necessity.

However, an unforeseen development years later made the port invaluable: the switching of the Macintosh processor family from Motorola/IBM's PowerPC to Intel's x86 chips. The Intel Macs made today are incapable of running the Classic environment, therefore the Omni port of 2001 is the necessary ingredient in being able to play the game at all.

Various other elements of the OS and hardware have changed over the years besides the processor family, making the original 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

A brief timeline of the upgrades so far:

Date Offset Old hex New hex Description
2008/06 0x0005E4C2 00 7F Increased flailing timer (For jetpack hack)
2008/06 0x001151C3 04 10 to support 512x512 textures EDIT: Oni still crashes
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
NOTE
Increasing the buffer size to accomodate 1024x1024 textures doesn't work because of a limitation elsewhere in the engine.
Therefore, the patch will only allow for 512x512 until further notice. BTW, 512x512 is plenty for virtually any purpose.


Download

http://edt.oni2.net/files/Oni.zip -- the latest version, with all above changes made (if stable)