Advertisement
authorblues

Untitled

Mar 5th, 2015
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var level_offsets = [
  2.     // layer data
  3.     {"name": "layer1", "bytes": 3, "offset": LAYER1_OFFSET = 0x2E000},
  4.     {"name": "layer2", "bytes": 3, "offset": 0x2E600},
  5.     {"name": "sprite", "bytes": 2, "offset": 0x2EC00},
  6.    
  7.     // secondary header data
  8.     {"name": "header1", "bytes": 1, "offset": 0x2F000},
  9.     {"name": "header2", "bytes": 1, "offset": 0x2F200},
  10.     {"name": "header3", "bytes": 1, "offset": 0x2F400},
  11.     {"name": "header4", "bytes": 1, "offset": 0x2F600},
  12. ];
  13.  
  14. function moveSublevel(to, fm, rom)
  15. {
  16.     // copy all of the level pointers
  17.     for (var i = 0; i < level_offsets.length; ++i)
  18.     {
  19.         var o = level_offsets[i];
  20.        
  21.         var fmx = o.offset + fm * o.bytes;
  22.         var tox = o.offset + to * o.bytes;
  23.        
  24.         rom.set(rom.slice(fmx, fmx + o.bytes), tox);
  25.     }
  26.    
  27.     // copy the TEST level into the now-freed sublevel slot
  28.     rom.set([0x00, 0x80, 0x06], LAYER1_OFFSET + 3 * fm);
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement