public static bool setLayoutLinear(LevelLayerData curActiveLayerData, int curActiveLayout) { int layerAddr, scrollAddr, width, height; layerAddr = ConfigScript.getLayoutAddr(curActiveLayout); scrollAddr = ConfigScript.getScrollAddr(curActiveLayout); //darkwing duck specific width = curActiveLayerData.width; height = curActiveLayerData.height; for (int i = 0; i < width * height; i++) { Globals.romdata[layerAddr + i] = (byte)curActiveLayerData.layer[i]; } if (curActiveLayerData.scroll != null) { for (int i = 0; i < width * height; i++) { Globals.romdata[scrollAddr + i] = (byte)curActiveLayerData.scroll[i]; } } return(true); }
public static LevelLayerData getLayoutLinear(int curActiveLayout) { int layoutAddr = ConfigScript.getLayoutAddr(curActiveLayout); int scrollAddr = ConfigScript.getScrollAddr(curActiveLayout); int width = ConfigScript.getLevelWidth(curActiveLayout); int height = ConfigScript.getLevelHeight(curActiveLayout); int[] layer = new int[width * height]; for (int i = 0; i < width * height; i++) { layer[i] = Globals.romdata[layoutAddr + i]; } bool needScrolls = ConfigScript.getScrollsOffsetFromLayout() != 0; var scrolls = new int[width * height]; if (needScrolls) { for (int i = 0; i < width * height; i++) { scrolls[i] = Globals.romdata[scrollAddr + i]; } } return(new LevelLayerData(width, height, layer, needScrolls ? scrolls : null, null)); }