Developer Mode: Difference between revisions

updated manual unlocking instructions because CI Hex Viewer's website is dead, and XVI32 hasn't been updated in years; also improved wording on opening the Mac app
m (added TOClimit in place of TOCfloat template which I removed before; this is useful as a record of the articles for which we want to control the TOC level)
(updated manual unlocking instructions because CI Hex Viewer's website is dead, and XVI32 hasn't been updated in years; also improved wording on opening the Mac app)
 
Line 17: Line 17:
You may want to read this if your Windows version of Oni is not covered by the above DLL (e.g. if you have an odd language version) or if you are on a Mac that cannot run the Intel build (if you're using an old PowerPC Mac, note that a Dev Mode-enabled version of The Omni Group's "Mac OS X port" is [[OMNI|HERE]]).
You may want to read this if your Windows version of Oni is not covered by the above DLL (e.g. if you have an odd language version) or if you are on a Mac that cannot run the Intel build (if you're using an old PowerPC Mac, note that a Dev Mode-enabled version of The Omni Group's "Mac OS X port" is [[OMNI|HERE]]).


First, get a good hex editor. Ideally, it should allow you to search for sequences containing joker characters (that is, wildcards or bit masks). One such editor for Windows is [http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm XVI32]. On Macs, [http://www.cihexviewer.com/ CI Hex Viewer] is free, powerful, and can perform the search you need, but [https://ridiculousfish.com/hexfiend/ Hex Fiend] has a better comparison function so you can check your work afterward (open the original and edited binaries and choose File > Compare "Oni" and "Oni").
First, get a good hex editor. Ideally, it should allow you to search for sequences containing joker characters (that is, wildcards or bit masks). A well-known editor for Windows is [http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm XVI32], though it is not being actively developed. The open-source editor [https://imhex.werwolv.net/ ImHex] is built for Macs, Windows and Linux and is free and powerful; it can perform the search you need as well as offering file comparison so you can check your work afterward (open the original and edited binaries and choose View > Diffing, then select the open apps as Data Source A and B).


====Cheat code lookup tables====
====Cheat code lookup tables====
Line 118: Line 118:


====Finding the lookup table====
====Finding the lookup table====
Open the executable (or the data fork of the retail Mac build), after backing it up of course…. We shall look for the last three elements of the table, corresponding to '''fistsoflegend''', '''killmequick''' and '''carousel'''.
Open the executable, after backing it up of course…. (On Macs, if opening the original retail build you may have to tell the editor to open the data fork of the application, and if opening the Omni Group build you need to open the actual binary at Oni.app/Contents/MacOS/Oni.) We shall look for the last three elements of the table, corresponding to '''fistsoflegend''', '''killmequick''' and '''carousel'''.
;In the Windows retail and demo builds, look for '''13 00 00 00 ## ## ## ## ## ## ## ## ## ## ## ## 14 00 00 00 ## ## ## ## ## ## ## ## ## ## ## ## 15 00 00 00'''
;In the Windows retail and demo builds, look for '''13 00 00 00 ## ## ## ## ## ## ## ## ## ## ## ## 14 00 00 00 ## ## ## ## ## ## ## ## ## ## ## ## 15 00 00 00'''
;In the Omni Group build, look for '''00 00 00 13 ## ## ## ## ## ## ## ## ## ## ## ## 00 00 00 14 ## ## ## ## ## ## ## ## ## ## ## ## 00 00 00 15''' ([[:Image:Finding killmequick - Omni build.jpg|sample pic]])
;In the Omni Group build, look for '''00 00 00 13 ## ## ## ## ## ## ## ## ## ## ## ## 00 00 00 14 ## ## ## ## ## ## ## ## ## ## ## ## 00 00 00 15'''
;In the retail Mac build, look for '''00 13 ## ## ## ## ## ## 00 14 ## ## ## ## ## ## 00 15''' ([[:Image:Finding killmequick - Mac OS 9 build.jpg|sample pic]])
;In the retail Mac build, look for '''00 13 ## ## ## ## ## ## 00 14 ## ## ## ## ## ## 00 15'''
;
;
where the ## are joker characters (wildcard bytes). Once you've found that data (make sure it occurs only once in the file), replace the '''14''' with a '''0B'''.
where the ## are joker characters (wildcard bytes). Here's a [[:Image:Finding killmequick - Omni build.jpg|sample pic in ImHex]] for what the search would look like in the Omni Group build. Once you've found that pattern in the data (make sure it occurs only once in the file), replace the '''14''' with a '''0B'''.


Developer Mode will now be enabled/disabled every time you type '''killmequick''' on the Data Comlink (pause) screen; you'll get "Ultra Mode Enabled" and "Ultra Mode Disabled" as confirmation messages.
Developer Mode will now be enabled/disabled every time you type '''killmequick''' on the Data Comlink (pause) screen; you'll get "Ultra Mode Enabled" and "Ultra Mode Disabled" as confirmation messages.