Example #1
0
        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);
        }
Example #2
0
        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));
        }