OBD talk:Oni2AS: Difference between revisions

m
+cat
(oops)
m (+cat)
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
Using this page to write up instructions for a straightforward patch allowing one to specify alternative/additional layouts in '''Settings/rb.gamedata'''
Using this page to write up instructions for a straightforward patch allowing one to specify alternative/additional layouts in '''Settings/rb.gamedata'''


The file table entries for '''Settings/rb.gamedata''' and '''fonts/rbstrings.xls'''look like this:
The file table entries for '''Settings/rb.gamedata''' and '''fonts/rbstrings.xls''' look like this:
{{table}}
{{table}}
{{OBDth}}
{{OBDth}}
Line 20: Line 20:
|}
|}


Adding all layouts to '''Settings/rb.gamedata''' is as simple as making the following value changes to '''RB.DAT''' (after making a backup)
 
;RB.DAT patch
:Adding all layouts to '''Settings/rb.gamedata''' could be as simple as making the following value changes to '''RB.DAT''' (after making a backup)
{{table}}
{{table}}
|-
|-
Line 51: Line 53:
|70 12 00 00
|70 12 00 00
|}
|}
and replacing 4720 bytes of '''RB.DAT''' starting at 0x27C8800 with the byte-for-byte contents of [http://geyser.oni2.net/rb.gamedata THIS] file.
;ISO patch
:To avoid the trouble of making a PS2-compatible ISO, one can instead make the following changes directly to '''oni2dev_ps2.iso''' or whatever it's called (after making a backup)
{{table}}
|-
!Address
!Old value
!New value
|-
|0x37A304
|00 88 7C 02
|22 D3 1D 02
|-
|0x37A308
|00 52 00 00
|00 00 00 00
|-
|0x37A30C
|12 15 00 00
|00 00 00 00
|-
|0x397C74
|00 50 0E 00
|00 88 7C 02
|-
|0x397C78
|C7 02 00 00
|70 12 00 00
|-
|0x397C7C
|29 01 00 00
|70 12 00 00
|}
and replace 4720 bytes of the same '''oni2dev_ps2.iso''' starting at 0x2B1F800 with the byte-for-byte contents of [http://geyser.oni2.net/rb.gamedata THIS] file.
:Indeed, the '''RB.DAT''' file is stored as-is in the ISO, with a 0x357000 offset.


and replacing 4720 bytes of '''RB.DAT''' starting at 0x27C8800 with the byte-for-byte contents of [http://geyser.oni2.net/rb.gamedata THIS] file.


Actually, as it happens, '''Settings/rb.gamedata''' is the file whose data, at 0xE5000, is the one that comes first, and between it and the preceding string data there are 1866 bytes of unneeded space. Together with the 297 bytes of the file itself, that allows for 2153 bytes of plain text, which is enough to list a lot of the layouts, if not all of them.
;UNFORTUNATELY...
:The game can only load 63 layouts at once without complaining. So one needs to provide a smaller '''Settings/rb.gamedata''' file, or at least one that announces fewer layouts in the first line. Like [http://geyser.oni2.net/rb.gamedata.first63 THIS ONE] (first 63 layouts) or [http://geyser.oni2.net/rb.gamedata.last32 THIS OTHER ONE] (last 32).
 
;Alternative idea if you don't want to overwrite the Excel file
:As it happens, '''Settings/rb.gamedata''' is the file whose data, at 0xE5000, is the one that comes first, and between it and the preceding string data there are 1866 bytes of unneeded space. Together with the 297 bytes of the file itself, that allows for 2153 bytes of plain text, which is enough to list a lot of the layouts, if not all of them.
 
[[Category:Modding information]]