https://www.mediafire.com/?9n37lhkwrnchxu7 (7.45mb)
Since this is a Rainbow Studios container, I would guess it should be added to this BMS script: http://aluigi.altervista.org/papers/bms ... tudios.bms
The only physical files inside this container are the textures. The rest of the data is used to stream chunks of world geometry. I'd like to be able to extract the textures with filenames and directories intact (they can be seen in the file). My math might be a bit off, but here's the basics of how this might go:
1. Get a count of all "DDS" strings in the file
2. Go to offset 0x98 (start of files)
3. Grab file path (note that the .dds extension is not added inside the container, so that would have to be appended to the file name)
4. Find next entry of "DDS", read four bytes before it for file size
5. Extract file, goto next (some sort of for or while loop maybe?)
Rainbow Studios .SOI (Stream Object Information)
-
- Posts: 94
- Joined: Mon Sep 22, 2014 5:13 pm
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Rainbow Studios .SOI (Stream Object Information)
Script updated for the SOI files.
Note that the remaining entries in the archive cannot be extracted because they don't have a SIZE value, but they seem something like variables or similar.
Note that the remaining entries in the archive cannot be extracted because they don't have a SIZE value, but they seem something like variables or similar.
-
- Posts: 94
- Joined: Mon Sep 22, 2014 5:13 pm
Re: Rainbow Studios .SOI (Stream Object Information)
Thanks! And yes, the rest of the data contains information for streaming chunks of world geometry (according to an ex-developer).