Advertisement
authorblues

Untitled

Apr 3rd, 2015
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var bowser8doors = [ 0x1D4, 0x1D3, 0x1D2, 0x1D1, 0x1CF, 0x1CE, 0x1CD, 0x1CC ];
  2.  
  3. function randomizeBowser8Doors(random, rom)
  4. {
  5.     // get a list of rooms
  6.     var rooms = [];
  7.     for (var i = 0; i < bowser8doors.length; ++i)
  8.     {
  9.         // get the location that this room exits to
  10.         var id = bowser8doors[i];
  11.         var exits = getScreenExits(id, rom);
  12.        
  13.         // save this information
  14.         rooms.push({ out: exits[0], sublevel: id });
  15.     }
  16.    
  17.     rooms.shuffle(random);
  18.    
  19.     var hold0 = findOpenSublevel(0x100, rom);
  20.     moveSublevel(hold0, rooms[0].sublevel, rom);
  21.    
  22.     for (var i = 1; i < rooms.length; ++i)
  23.     {
  24.         moveSublevel(rooms[i-1].sublevel, rooms[i].sublevel, rom);
  25.         rom[rooms[i-1].out.addr+3] = rooms[i].out.target & 0xFF;
  26.     }
  27.     moveSublevel(rooms[rooms.length-1].sublevel, hold0, rom);
  28.     rom[rooms[rooms.length-1].out.addr+3] = rooms[0].out.target & 0xFF;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement