AE:ONK/EXE: Difference between revisions

put my notes into Divhides; tweaked their wording as well
m (added a link to the historical release of the patch, and a little more explanation of the WinXP bug)
(put my notes into Divhides; tweaked their wording as well)
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 in brackets which are newer than the rest of the narration, which was written in 2007-2008.
   | 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 brackets which are newer than the rest of geyser's narration, which was written in 2007-2008.
   }}
   }}


Line 13: Line 13:
:I have no idea what original EXE it was obtained from, and what modifications that involved ^^
:I have no idea what original EXE it was obtained from, and what modifications that involved ^^


''[The canonical 1527808-byte EXE which comes from the U.S. English version of Oni did not perform a CD check, so it was later distributed as a "hacked" version with the CD check "removed", when really the CD check had been added to some later versions like geyser's TakeAdvantage copy. -Iritscen]''
{{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.
{{Divhide|end}}
==Ian's patch==
{{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.


==Ian's patch==
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://www.khronos.org/opengl/wiki/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.
''[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, though the actual manifestation of the bug was dependent on the graphics card and driver in use. (In fact, some post-WinXP PCs have been able to run Oni without this patch for the simple reason that their GPU does not return a very large list of extensions.) The "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 such as 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 those patches 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. -Iritscen]''


Ian was rather zealous in trying to eliminate possible buffer overflows such as 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}}
===0xBDA0===
===0xBDA0===
Disabling the OpenGL extensions list in startup.txt.
Disabling the OpenGL extensions list in startup.txt.