19,729
edits
m (link fix) |
m (oops, my notes are in boxes now, not brackets; minor wording) |
||
| Line 1: | Line 1: | ||
{{fmbox | {{fmbox | ||
| text = This page is preserved for historical reasons; development stopped long ago. ONK was a successor to [[AE:BIP|BIP]]. Patches below have generally been added to or superseded by the [[Daodan DLL]]. A couple editor's notes have been inserted by Iritscen in | | text = This page is preserved for historical reasons; development stopped long ago. ONK was a successor to [[AE:BIP|BIP]]. Patches below have generally been added to or superseded by the [[Daodan DLL]]. A couple editor's notes have been inserted by Iritscen in blue boxes which are newer than the rest of geyser's narration, which was written in 2007-2008. | ||
}} | }} | ||
| Line 14: | Line 14: | ||
{{Divhide|Clarification|show=yes}} | {{Divhide|Clarification|show=yes}} | ||
The canonical 1,527,808-byte EXE which comes from the U.S. English version of Oni did not perform a CD check; it was later distributed on the Internet as a "cracked" version that supposedly had had the CD check removed, when in reality the CD check had been added to some later EXEs like the one in geyser's TakeAdvantage copy of the game. | The canonical 1,527,808-byte EXE which comes from the U.S. English version of Oni did not perform a CD check; it was later distributed on the Internet as a "cracked" version that supposedly had had the CD check removed, when in reality the CD check had been ''added'' to some later EXEs like the one in geyser's TakeAdvantage copy of the game. | ||
{{Divhide|end}} | {{Divhide|end}} | ||
==Ian's patch== | ==Ian's patch== | ||
{{Divhide|Full story on the patch|show=yes}} | {{Divhide|Full story on the patch|show=yes}} | ||
This was Ian Patterson's fix for the "WinXP bug", so named because a [[Troubleshooting/Blam#Blam at startup|Blam at startup]] showed up around the time of Windows XP. XP was not the cause of the problem, but rather the issue occurred because Oni at startup asks the graphics card for a list of available OpenGL extensions. | This was Ian Patterson's fix for the "WinXP bug", so named because a [[Troubleshooting/Blam#Blam at startup|Blam at startup]] showed up around the time of Windows XP. XP was not the cause of the problem, but rather the issue occurred because Oni at startup asks the graphics card for a list of available OpenGL extensions and stores it in a fixed-size buffer. | ||
When Oni was made, the dump of OpenGL extensions was fairly short, and Bungie West did not allow space in memory for a much larger dump. As extensions were [https://wikis.khronos.org/opengl/History_of_OpenGL progressively added to OpenGL], graphics cards started overflowing Oni's buffer around the time of XP, but this was a result of changes in OpenGL, and the manifestation of the bug was dependent on the graphics card and driver in use. The so-called "WinXP fix" [https://web.archive.org/web/20060417164153/http://oni.bungie.org/help/winxp.html was distributed by Bungie.org] in the form of a patched version of Oni.exe. | When Oni was made, the dump of OpenGL extensions was fairly short, and Bungie West did not allow space in memory for a much larger dump. As extensions were [https://wikis.khronos.org/opengl/History_of_OpenGL progressively added to OpenGL], graphics cards started overflowing Oni's buffer around the time of XP, but this was a result of changes in OpenGL, and the manifestation of the bug was dependent on the graphics card and driver in use. The so-called "WinXP fix" [https://web.archive.org/web/20060417164153/http://oni.bungie.org/help/winxp.html was distributed by Bungie.org] in the form of a patched version of Oni.exe. | ||
Ian was rather zealous in trying to eliminate possible buffer overflows | Ian was rather zealous in trying to eliminate all possible buffer overflows like the one which was causing the crash: the patches after the first two below are unnecessary and additionally disable any writing to debugger.txt, startup.txt, and the dev console. I have filled in more information below about each patch to serve as documentation of Ian's work, so keep in mind that geyser's narration on other parts of the page does not take this newer information into account. | ||
{{Divhide|end}} | {{Divhide|end}} | ||
===0xBDA8-0xBDBE=== | ===0xBDA8-0xBDBE=== | ||