Пример #1
0
        private void LoadItems()
        {
            if (rom == null || level == LevelIndex.None)
            {
                currentLevelItems = null;
            }
            else
            {
                currentLevelItems = rom.GetLevel(level).ItemTable;
            }

            ClearItemDisplay();
            CreateItemDisplay();
        }
Пример #2
0
        private void DrawScreen(LayoutIndex index, bool altPalette)
        {
            Level levelData = Rom.GetLevel(index.Level);

            if (levelData.Screens.Count <= index.ScreenIndex)
            {
                return;
            }

            Screen screenData = levelData.Screens[index.ScreenIndex];

            renderer.Level         = levelData;
            renderer.SelectedEnemy = -1;
            renderer.ApplyPalette(screenBitmap, altPalette);

            //screenData.ApplyLevelPalette(screenBitmap);


            renderer.DefaultPalette = screenData.ColorAttributeTable;
            renderer.Clear();
            renderer.DrawScreen(index.ScreenIndex);
            var enemies = ShowEnemies ? screenData.Enemies : null;

            renderer.Render(b, screenBitmap, enemies, screenData.Doors, ShowPhysics);
        }
Пример #3
0
        public void Enqueue(LevelIndex level)
        {
            for (int i = 0; i < Rom.GetLevel(level).Screens.Count; i++)
            {
                LayoutIndex id = new LayoutIndex(level, i, false);

                if (!queue.Contains(id))
                {
                    queue.Enqueue(id);
                }
            }
            // Todo: One way or another the map will need to be scanned to figure out so we can enqueue only the combinations of screen index, palette, and animation that are actually used
            for (int i = 0; i < Rom.GetLevel(level).Screens.Count; i++)
            {
                LayoutIndex id = new LayoutIndex(level, i, true);

                if (!queue.Contains(id))
                {
                    queue.Enqueue(id);
                }
            }
        }