AE:ONK/EXE: Difference between revisions

3 bytes removed ,  Monday at 01:35
m
link fix
(fixed mistaken address -- this was never a patch at 0xBDA0, the hex display just starts there; added more specifics on patch)
m (link fix)
 
Line 20: Line 20:
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.


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.
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 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.
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.