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(); }
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; } }
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; } }
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); } } }