Esempio n. 1
0
        private void LoadItems()
        {
            if (rom == null || level == LevelIndex.None)
            {
                currentLevelItems = null;
            }
            else
            {
                currentLevelItems = rom.GetLevel(level).ItemTable;
            }

            ClearItemDisplay();
            CreateItemDisplay();
        }
Esempio n. 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);
        }
Esempio n. 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);
                }
            }
        }