public void exitProperty_Click(object sender, EventArgs e) { exitPropForm.SetExit(lastselectedExit); DialogResult dr = exitPropForm.ShowDialog(); if (dr == DialogResult.OK) { int index = Array.IndexOf(jsonData.exitsOWs, lastselectedExit); jsonData.exitsOWs[index] = exitPropForm.editingExit; lastselectedExit = jsonData.exitsOWs[index]; scene.sceneMode = SceneMode.exits; } else if (dr == DialogResult.Yes) { scene.sceneMode = SceneMode.door; if (lastselectedExit.doorType1 != 0) //wooden door { scene.selectedTiles = new ushort[2, 1]; scene.selectedTiles[0, 0] = 1865; scene.selectedTiles[1, 0] = 1866; scene.setOverlaytiles(scene.allgfx16Ptr); } else if ((lastselectedExit.doorType2 & 0x8000) != 0) //castle door { scene.selectedTiles = new ushort[2, 2]; scene.selectedTiles[0, 0] = 3510; scene.selectedTiles[1, 0] = 3511; scene.selectedTiles[0, 1] = 3512; scene.selectedTiles[1, 1] = 3513; scene.setOverlaytiles(scene.allgfx16Ptr); } else if ((lastselectedExit.doorType2 & 0x7FFF) != 0) //sanc door { scene.selectedTiles = new ushort[2, 1]; scene.selectedTiles[0, 0] = 3502; scene.selectedTiles[1, 0] = 3503; scene.setOverlaytiles(scene.allgfx16Ptr); } } else { scene.sceneMode = SceneMode.exits; } selectedExit = null; scene.mouse_down = false; scene.rightClick = false; }
private void DrawTest_MouseMove(object sender, MouseEventArgs e) { if (scene != null) { scene.mouseMove(e, allmaps[(scene.mouseOverMap + worldOffset)], jsonData.allgfx8array); if (scene.refresh) { // Stopwatch sw = new Stopwatch(); //sw.Start(); //Refresh(); int yT = ((scene.mouseOverMap) / 8); int xT = (scene.mouseOverMap) - (yT * 8); if (allmaps[(scene.mouseOverMap + worldOffset)].largeMap) { yT = (allmaps[(scene.mouseOverMap)].parentMapId / 8); xT = allmaps[(scene.mouseOverMap)].parentMapId - (yT * 8); Invalidate(new Rectangle(xT * 512, yT * 512, 1024, 1024)); } else { Invalidate(new Rectangle(xT * 512, yT * 512, 512, 512)); } if (scene.screenChanged != -1) { if (mouseDown) { selectedMap = allmaps[(scene.mouseOverMap + worldOffset)]; } if (allmaps[(scene.mouseOverMap + worldOffset)].largeMap) { scene.UpdateGfx(jsonData.allgfx8array, allmaps[(scene.mouseOverMap + worldOffset)]); } else { scene.UpdateGfx(jsonData.allgfx8array, allmaps[(scene.mouseOverMap + worldOffset)]); } scene.setOverlaytiles(scene.allgfx16Ptr); yT = (scene.screenChanged / 8); xT = scene.screenChanged - (yT * 8); //invalidate last screen as well to prevent artifact Invalidate(new Rectangle(xT * 512, yT * 512, 512, 512)); scene.screenChanged = -1; } scene.refresh = false; //sw.Stop(); //Console.WriteLine(sw.ElapsedMilliseconds); } } }