Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var CI2_ROOM_OFFSETS =
- [
- [0x06, 0x08, 0x0A], // room 1
- [0x0C, 0x0E, 0x10], // room 2
- [0x00, 0x02], // room 3
- ];
- var CI2_LAYER_OFFSETS =
- {
- 'layer1': snesAddressToOffset(0x05DB08),
- 'layer2': snesAddressToOffset(0x0B5B1C),
- 'sprite': snesAddressToOffset(0x0B5B1A),
- };
- function randomizeCI2(random, rom)
- {
- for (var i = 0; i < CI2_ROOM_OFFSETS.length; ++i)
- {
- var roomset = CI2_ROOM_OFFSETS[i], backups = {};
- for (var j = 0; j < roomset.length; ++j)
- {
- var data = backups[roomset[j]] = {};
- for (var k in CI2_LAYER_OFFSETS) if (CI2_LAYER_OFFSETS.hasOwnProperty(k))
- {
- var start = CI2_LAYER_OFFSETS[k] + roomset[j];
- data[k] = rom.slice(start, start+2);
- }
- }
- var newrooms = roomset.slice(0).shuffle(random);
- for (var j = 0; j < roomset.length; ++j)
- {
- for (var k in CI2_LAYER_OFFSETS) if (CI2_LAYER_OFFSETS.hasOwnProperty(k))
- rom.set(backups[newrooms[j]][k], CI2_LAYER_OFFSETS[k] + roomset[j]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment