public FormMultiPreview(ActObject file, List<LayerRenderOption> layers) { InitializeComponent(); this.file = file; this.layers = layers; var start_layer = file.FindLayerByName("start"); if (start_layer != null) { this.camera_x = start_layer.GetLayout().elements[0].x; this.camera_y = start_layer.GetLayout().elements[0].y - 180; } else { this.camera_x = 400; this.camera_y = 428; } if (this.camera_x < file.properties.marginLeft + 400) { this.camera_x = file.properties.marginLeft + 400; } if (this.camera_x > file.properties.screenWidth - file.properties.marginRight - 400) { this.camera_x = file.properties.screenWidth - file.properties.marginRight - 400; } if (this.camera_y < file.properties.marginTop + 300) { this.camera_y = file.properties.marginTop + 300; } if (this.camera_y > file.properties.screenHeight - file.properties.marginBottom - 300) { this.camera_y = file.properties.screenHeight - file.properties.marginBottom - 300; } }
public ListViewItemElement(Act2DMapLayoutObject.Element element, ActObject file) { this.element = element; this.Text = file.GetNameForResourceID(element.resourceID); this.ImageIndex = 0; }
public FormPreview(Act2DMapLayoutObject layout, ActObject file) { InitializeComponent(); this.layout = layout; this.file = file; }
public FileNode(ActObject file, FormActFile form) { this.file = file; this.form = form; this.Text = "File"; this.ImageIndex = 0; this.SelectedImageIndex = 0; this.ContextMenuStrip = form.ContextMenuFile; this.ResetChildren(); this.ExpandThis(); }
public void CalculateAABB(ActObject file) { int l = 0, r = 0, t = 0, b = 0; int w = 0, h = 0; foreach (var element in elements) { if (element.CalculateAABB(file)) { if (element.aabb_x < l) l = element.aabb_x; if (element.aabb_y < t) t = element.aabb_y; if (element.aabb_x + element.aabb_w > r) r = element.aabb_x + element.aabb_w; if (element.aabb_y + element.aabb_h > b) b = element.aabb_y + element.aabb_h; if (element.aabb_w > w) w = element.aabb_w; if (element.aabb_h > h) h = element.aabb_h; } } properties.mapChipLeft = l; properties.mapChipRight = r; properties.mapChipTop = t; properties.mapChipBottom = b; properties.maxChipWidth = w * 2; properties.maxChipHeight = h * 2; }
public static ActObject ReadActFromFile(string filename) { try { using (FileStream f = File.Open(filename, FileMode.Open)) { using (BinaryReader br = new BinaryReader(f)) { BinaryInputStream bs = new BinaryInputStream(br); bs.ReadInt32(0x31544341); bs.ReadInt32(1); bs.ReadInt32(0); ActObject act = new ActObject(); act.Read(bs); return act; } } } catch { return null; } }
public void CalculateAABB(ActObject file) { var layout = GetLayout(); if (layout != null) { layout.CalculateAABB(file); } }
public FormLayerRenderOptions(ActObject file) { InitializeComponent(); this.file = file; }
public bool CalculateAABB(ActObject file) { var chip = file.mcd.FindChip(resourceID); if (chip == null) return false; var res = file.mcd.FindRes(chip.resourceID); if (res == null) return false; var bitmap = file.CreateBitmapForResource(resourceID); float w = bitmap.Width, h = bitmap.Height; double ww = w * Math.Abs(scale_x) / 2.0f; double hh = h * Math.Abs(scale_y) / 2.0f; double r = rotate / 180 * 3.1416; ww = Math.Abs(ww * Math.Cos(r)) + Math.Abs(hh * Math.Sin(r)); hh = Math.Abs(hh * Math.Cos(r)) + Math.Abs(ww * Math.Sin(r)); aabb_w = (int)Math.Round(ww * 2); aabb_h = (int)Math.Round(hh * 2); aabb_x = x + (int)Math.Round(w / 2.0 - ww); aabb_y = y + (int)Math.Round(h / 2.0 - hh); return true; }