Пример #1
0
 private void refreshallGfx()
 {
     GFX.loadedPalettes    = GFX.LoadDungeonPalette(mainForm.activeScene.room.palette);
     GFX.loadedSprPalettes = GFX.LoadSpritesPalette(mainForm.activeScene.room.palette);
     mainForm.activeScene.room.reloadGfx();
     mainForm.activeScene.DrawRoom();
     mainForm.activeScene.Refresh();
     palettePicturebox.Refresh();
 }
Пример #2
0
        public void onMouseDown(MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                for (int i = 0; i < 78; i++)
                {
                    ExitOW en = scene.ow.allexits[i];
                    if (en.mapId >= scene.ow.worldOffset && en.mapId < 64 + scene.ow.worldOffset)
                    {
                        if (e.X >= en.playerX && e.X < en.playerX + 16 && e.Y >= en.playerY && e.Y < en.playerY + 16)
                        {
                            if (scene.mouse_down == false)
                            {
                                selectedExit     = en;
                                lastselectedExit = en;
                                //scene.Invalidate(new Rectangle(scene.mainForm.panel5.HorizontalScroll.Value, scene.mainForm.panel5.VerticalScroll.Value, scene.mainForm.panel5.Width, scene.mainForm.panel5.Height));
                                scene.mouse_down = true;
                            }
                        }
                    }
                }
            }

            if (selectedExit != null)
            {
                //scene.owForm.thumbnailBox.Visible = true;
                //scene.owForm.thumbnailBox.Size = new Size(256, 256);
                int roomId = selectedExit.roomId;
                if (roomId >= 296)
                {
                    //scene.owForm.thumbnailBox.Visible = false;
                    return;
                }

                if (scene.mainForm.lastRoomID != roomId)
                {
                    scene.mainForm.previewRoom = DungeonsData.all_rooms[roomId];
                    scene.mainForm.previewRoom.reloadGfx();
                    GFX.loadedPalettes = GFX.LoadDungeonPalette(scene.mainForm.previewRoom.palette);
                    scene.mainForm.DrawRoom();
                    DrawTempExit();
                    scene.entrancePreview = true;
                    //scene.Refresh();

                    if (scene.mainForm.activeScene.room != null)
                    {
                        GFX.loadedPalettes = GFX.LoadDungeonPalette(scene.mainForm.activeScene.room.palette);
                        scene.mainForm.activeScene.room.reloadGfx();
                        scene.mainForm.activeScene.DrawRoom();
                    }
                }

                scene.mainForm.lastRoomID = roomId;
            }
        }
Пример #3
0
        public void onMouseDown(MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                isLeftPress = true;
            }
            else
            {
                isLeftPress = false;
            }

            for (int i = 0; i < scene.ow.allentrances.Length; i++)
            {
                EntranceOWEditor en = scene.ow.allentrances[i];
                if (en.mapId >= scene.ow.worldOffset && en.mapId < 64 + scene.ow.worldOffset)
                {
                    if (e.X >= en.x && e.X < en.x + 16 && e.Y >= en.y && e.Y < en.y + 16)
                    {
                        if (scene.mouse_down == false)
                        {
                            if (e.Button == MouseButtons.Left)
                            {
                                selectedEntrance     = en;
                                lastselectedEntrance = en;
                                scene.mouse_down     = true;
                            }
                            else if (e.Button == MouseButtons.Right)
                            {
                                lastselectedEntrance = en;
                                scene.mouse_down     = true;
                                mxRightclick         = (e.X);
                                myRightclick         = (e.Y);
                            }
                        }
                    }
                }
            }

            for (int i = 0; i < scene.ow.allholes.Length; i++)
            {
                EntranceOWEditor en = scene.ow.allholes[i];
                if (en.mapId >= scene.ow.worldOffset && en.mapId < 64 + scene.ow.worldOffset)
                {
                    if (e.X >= en.x && e.X < en.x + 16 && e.Y >= en.y && e.Y < en.y + 16)
                    {
                        if (scene.mouse_down == false)
                        {
                            if (e.Button == MouseButtons.Left)
                            {
                                selectedEntrance     = en;
                                lastselectedEntrance = en;
                                scene.mouse_down     = true;
                            }
                            else if (e.Button == MouseButtons.Right)
                            {
                                lastselectedEntrance = en;
                                scene.mouse_down     = true;
                                mxRightclick         = (e.X);
                                myRightclick         = (e.Y);
                            }
                        }
                    }
                }
            }

            if (selectedEntrance != null)
            {
                //scene.owForm.thumbnailBox.Visible = true;
                //scene.owForm.thumbnailBox.Size = new Size(256, 256);
                int roomId = DungeonsData.entrances[selectedEntrance.entranceId].Room;
                if (roomId >= 296)
                {
                    //scene.owForm.thumbnailBox.Visible = false;
                    return;
                }

                if (scene.mainForm.lastRoomID != roomId)
                {
                    scene.mainForm.previewRoom = DungeonsData.all_rooms[roomId];
                    scene.mainForm.previewRoom.reloadGfx();
                    GFX.loadedPalettes = GFX.LoadDungeonPalette(scene.mainForm.previewRoom.palette);
                    scene.mainForm.DrawRoom();
                    DrawTempEntrance();
                    scene.entrancePreview = true;
                    //scene.Refresh();

                    if (scene.mainForm.activeScene.room != null)
                    {
                        GFX.loadedPalettes = GFX.LoadDungeonPalette(scene.mainForm.activeScene.room.palette);
                        scene.mainForm.activeScene.room.reloadGfx();
                        scene.mainForm.activeScene.DrawRoom();
                    }
                }

                scene.mainForm.lastRoomID = roomId;
            }
        }
Пример #4
0
        private void createPalette()
        {
            for (int i = 0; i < 256; i++)
            {
                palettes[i] = Color.Black;
            }

            if (paletteUpDown.Value <= 40)
            {
                label9.Text  = "Dungeon Main";
                label10.Text = "Dungeon Sprite Pal1";
                label11.Text = "Dungeon Sprite Pal2";
                label12.Text = "Dungeon Sprite Pal3";

                byte  dungeon_palette_ptr = (byte)(GfxGroups.paletteGfx[(byte)paletteUpDown.Value][0]);
                short palette_pos         = 0;
                int   pId  = 0;
                int   pPos = 32;

                if (GfxGroups.paletteGfx[(byte)paletteUpDown.Value][0] % 2 == 0)
                {
                    palette_pos = (short)((ROM.DATA[0xDEC4B + dungeon_palette_ptr + 1] << 8) + ROM.DATA[0xDEC4B + dungeon_palette_ptr]);
                    pId         = (palette_pos / 180);

                    for (int i = 0; i < 90; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        if (pId < Palettes.dungeonsMain_Palettes.Length)
                        {
                            palettes[pPos] = Palettes.dungeonsMain_Palettes[pId][i];
                        }

                        pPos++;
                    }
                }

                pPos = 128;
                if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][1] != 255)
                {
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][1] < Palettes.spritesAux1_Palettes.Length)
                        {
                            palettes[pPos++] = Palettes.spritesAux1_Palettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][1]][i];
                        }
                    }
                }

                pPos = 208;
                if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][2] != 255)
                {
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][2] < Palettes.spritesAux3_Palettes.Length)
                        {
                            palettes[pPos++] = Palettes.spritesAux3_Palettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][2]][i];
                        }
                    }
                }

                pPos = 224;
                if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][3] != 255)
                {
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][3] < Palettes.spritesAux3_Palettes.Length)
                        {
                            palettes[pPos] = Palettes.spritesAux3_Palettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][3]][i];
                        }

                        pPos++;
                    }
                }

                pPos = 145;
                for (int i = 0; i < 15; i++)
                {
                    /*if (pPos % 16 == 0)
                     * {
                     *  pPos++;
                     * }*/

                    palettes[pPos]      = Palettes.globalSprite_Palettes[0][i];
                    palettes[pPos + 16] = Palettes.globalSprite_Palettes[0][i + 15];
                    palettes[pPos + 32] = Palettes.globalSprite_Palettes[0][i + 30];
                    palettes[pPos + 48] = Palettes.globalSprite_Palettes[0][i + 45];
                    pPos++;
                }
            }
            else
            {
                label9.Text  = "Auxiliary Pal1";
                label10.Text = "Auxiliary Pal2";
                label11.Text = "Animated Pal";
                label12.Text = "???";
                int pPos = 40;

                if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][0] != 255)
                {
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        palettes[pPos] = Palettes.overworld_AuxPalettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][0]][i];
                        pPos++;
                    }

                    pPos = 56;
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        palettes[pPos] = Palettes.overworld_AuxPalettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][0]][i + 7];
                        pPos++;
                    }

                    pPos = 72;
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        palettes[pPos] = Palettes.overworld_AuxPalettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][0]][i + 14];
                        pPos++;
                    }
                }

                pPos = 88;
                if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][1] != 255)
                {
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        palettes[pPos] = Palettes.overworld_AuxPalettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][1]][i];
                        pPos++;
                    }

                    pPos = 104;
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        palettes[pPos] = Palettes.overworld_AuxPalettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][1]][i + 7];
                        pPos++;
                    }

                    pPos = 120;
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        palettes[pPos] = Palettes.overworld_AuxPalettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][1]][i + 14];
                        pPos++;
                    }
                }

                pPos = 112;
                if (GfxGroups.paletteGfx[(int)paletteUpDown.Value][2] != 255)
                {
                    for (int i = 0; i < 7; i++)
                    {
                        if (pPos % 16 == 0)
                        {
                            pPos++;
                        }

                        palettes[pPos] = Palettes.overworld_AnimatedPalettes[GfxGroups.paletteGfx[(int)paletteUpDown.Value][2]][i];
                        pPos++;
                    }
                }

                pPos = 32;
                for (int i = 0; i < 7; i++)
                {
                    if (pPos % 16 == 0)
                    {
                        pPos++;
                    }

                    palettes[pPos] = Palettes.overworld_MainPalettes[0][i];
                    pPos++;
                }

                pPos = 48;
                for (int i = 0; i < 7; i++)
                {
                    if (pPos % 16 == 0)
                    {
                        pPos++;
                    }

                    palettes[pPos] = Palettes.overworld_MainPalettes[0][i + 7];
                    pPos++;
                }

                pPos = 64;
                for (int i = 0; i < 7; i++)
                {
                    if (pPos % 16 == 0)
                    {
                        pPos++;
                    }

                    palettes[pPos] = Palettes.overworld_MainPalettes[0][i + 14];
                    pPos++;
                }

                pPos = 80;
                for (int i = 0; i < 7; i++)
                {
                    if (pPos % 16 == 0)
                    {
                        pPos++;
                    }

                    palettes[pPos] = Palettes.overworld_MainPalettes[0][i + 21];
                    pPos++;
                }

                pPos = 96;
                for (int i = 0; i < 7; i++)
                {
                    if (pPos % 16 == 0)
                    {
                        pPos++;
                    }

                    palettes[pPos] = Palettes.overworld_MainPalettes[0][i + 28];
                    pPos++;
                }
            }

            if (paletteUpDown.Value <= 40)
            {
                if (GfxGroups.paletteGfx[(byte)paletteUpDown.Value][0] % 2 == 0)
                {
                    GFX.loadedPalettes    = GFX.LoadDungeonPalette(mainForm.activeScene.room.palette);
                    GFX.loadedSprPalettes = GFX.LoadSpritesPalette(mainForm.activeScene.room.palette);
                }
            }
        }