18,700
edits
m (ambiguous wording implies that maybe BIP was modular, when it wasn't) |
m (leaving "Mac OS X" for historical purposes, with a note that it is now "macOS") |
||
Line 64: | Line 64: | ||
Engine patching is needed when modders want to do things the game's scripts and data do not currently allow for, as well as to fix bugs. Bug fixes were the earliest notable achievement in engine patching, originally performed by a patching application that altered the Windows Oni executable directly, but a revolution in this type of modding occurred in 2006 when [[Developer Mode]] was finally discovered in retail Oni's code, and a means for unlocking it was needed. The most foolproof method of altering the engine turned out to be replacing a library that Oni loads at runtime. Now known as the [[Daodan DLL]], this library-as-patch can alter many aspects of Oni's behavior. This allows the fixing of bugs (some of which result from modern computers running a {{Age|2001|1|28}}<!--Give or take a day....-->-year-old game), as well as the adding of new features. | Engine patching is needed when modders want to do things the game's scripts and data do not currently allow for, as well as to fix bugs. Bug fixes were the earliest notable achievement in engine patching, originally performed by a patching application that altered the Windows Oni executable directly, but a revolution in this type of modding occurred in 2006 when [[Developer Mode]] was finally discovered in retail Oni's code, and a means for unlocking it was needed. The most foolproof method of altering the engine turned out to be replacing a library that Oni loads at runtime. Now known as the [[Daodan DLL]], this library-as-patch can alter many aspects of Oni's behavior. This allows the fixing of bugs (some of which result from modern computers running a {{Age|2001|1|28}}<!--Give or take a day....-->-year-old game), as well as the adding of new features. | ||
Not long after the Daodan DLL was released for Windows, it was discovered that the Mac versions of Oni still had Dev Mode in them, too. Unlike Windows, the Omni Group port to OS X did not seem to have any libraries that could be exploited for runtime patching, so the changes were simply made with a hex editor, directly modifying the executable. In the fall of 2008, it was discovered that numerous BSL functions and variables that were thought to be removed from Oni for the Mac [[Mac beta|before release]] were still present in the code, and the ones which allowed Macs to run (almost) all scripts written for Windows Oni were "unlocked" by EdT using hex edits. Certain changes made by the Daodan DLL for the Windows version were also carried over to the Mac's [[AE:OMNI|PPC game application]] in hex-edit form. Later, these changes were made in source for Feral Interactive's [[AE:FERAL|Mac Intel port]]. | Not long after the Daodan DLL was released for Windows, it was discovered that the Mac versions of Oni still had Dev Mode in them, too. Unlike Windows, the Omni Group port to Mac OS X (now known as "macOS") did not seem to have any libraries that could be exploited for runtime patching, so the changes were simply made with a hex editor, directly modifying the executable. In the fall of 2008, it was discovered that numerous BSL functions and variables that were thought to be removed from Oni for the Mac [[Mac beta|before release]] were still present in the code, and the ones which allowed Macs to run (almost) all scripts written for Windows Oni were "unlocked" by EdT using hex edits. Certain changes made by the Daodan DLL for the Windows version were also carried over to the Mac's [[AE:OMNI|PPC game application]] in hex-edit form. Later, these changes were made in source for Feral Interactive's [[AE:FERAL|Mac Intel port]]. | ||
===Bug fixes=== | ===Bug fixes=== | ||
Line 70: | Line 70: | ||
===Multiplayer=== | ===Multiplayer=== | ||
The most ambitious use of engine patching has been to fill in for Oni's missing [[multiplayer]] mode. This is done in Windows through the Daodan DLL in the form of the [[Flatline]] project, and in | The most ambitious use of engine patching has been to fill in for Oni's missing [[multiplayer]] mode. This is done in Windows through the Daodan DLL in the form of the [[Flatline]] project, and in macOS, the [[Zukai]] project operates on a Mac equivalent of the Daodan DLL. | ||
Work continues in all areas of modding Oni, as well as documenting the modding process. | Work continues in all areas of modding Oni, as well as documenting the modding process. |