Safe export

This commit is contained in:
luboslenco
2018-11-07 20:52:39 +01:00
parent d9c2e8f70f
commit 0591fcc695
2 changed files with 26 additions and 16 deletions
+2 -2
View File
@@ -169,7 +169,7 @@ class App extends iron.Trait {
isDragging = dragAsset != null;
if (mouse.released() && isDragging) {
if (UINodes.inst.show && mouse.x > UINodes.inst.wx && mouse.y > UINodes.inst.wy) {
if (UINodes.inst.show && mouse.x + iron.App.x() > UINodes.inst.wx && mouse.y + iron.App.y() > UINodes.inst.wy) {
var index = 0;
for (i in 0...UITrait.inst.assets.length) {
if (UITrait.inst.assets[i] == dragAsset) {
@@ -219,7 +219,7 @@ class App extends iron.Trait {
var img = UITrait.inst.getImage(arm.App.dragAsset);
var ratio = 128 / img.width;
var h = img.height * ratio;
g.drawScaledImage(img, mouse.x, mouse.y, 128, h);
g.drawScaledImage(img, mouse.x + iron.App.x(), mouse.y + iron.App.y(), 128, h);
}
uienabled = !showFiles;
+24 -14
View File
@@ -188,6 +188,7 @@ class UITrait extends iron.Trait {
var hsupersample:Zui.Handle = null;
var textureExport = false;
var textureExportPath = "";
var projectExport = false;
#if arm_editor
public var htab = Id.handle({position: 1});
@@ -772,6 +773,10 @@ class UITrait extends iron.Trait {
textureExport = false;
exportTextures(textureExportPath);
}
if (projectExport) {
projectExport = false;
exportProject();
}
isScrolling = ui.isScrolling;
updateUI();
@@ -2678,6 +2683,8 @@ void main() {
if (paintObject.name == "") paintObject.name = "Object";
UIView2D.inst.hwnd.redraws = 2;
#if arm_debug
trace("Mesh imported in " + (iron.system.Time.realTime() - timer));
#end
@@ -3058,14 +3065,7 @@ void main() {
};
}
function projectSave() {
if (projectPath == "") {
projectSaveAs();
return;
}
kha.Window.get(0).title = arm.App.filenameHandle.text + " - ArmorPaint";
function exportProject() {
var mnodes:Array<zui.Nodes.TNodeCanvas> = [];
var bnodes:Array<zui.Nodes.TNodeCanvas> = [];
@@ -3107,6 +3107,15 @@ void main() {
#end
}
function projectSave() {
if (projectPath == "") {
projectSaveAs();
return;
}
kha.Window.get(0).title = arm.App.filenameHandle.text + " - ArmorPaint";
projectExport = true;
}
function projectSaveAs() {
arm.App.showFiles = true;
@:privateAccess zui.Ext.lastPath = ""; // Refresh
@@ -3125,13 +3134,18 @@ void main() {
function projectNew(resetLayers = true) {
kha.Window.get(0).title = "ArmorPaint";
projectPath = "";
var n = newObjectNames[newObject];
if (mergedObject != null) {
mergedObject.remove();
iron.data.Data.deleteMesh(mergedObject.data.handle);
mergedObject = null;
}
selectPaintObject(paintObjects[0]);
for (i in 1...paintObjects.length) {
var p = paintObjects[i];
iron.data.Data.deleteMesh(p.data.handle);
p.remove();
}
var n = newObjectNames[newObject];
iron.data.Data.deleteMesh(paintObject.data.handle);
iron.data.Data.getMesh("mesh_" + n, n, function(md:MeshData) {
autoFillHandle.selected = false;
@@ -3140,10 +3154,6 @@ void main() {
paintObject.transform.buildMatrix();
paintObject.name = n;
paintObjects = [paintObject];
if (mergedObject != null) {
iron.data.Data.deleteMesh(mergedObject.data.handle);
mergedObject = null;
}
maskHandle.position = 0;
ui.g.end();
materials = [new MaterialSlot()];
@@ -3458,7 +3468,7 @@ void main() {
pngwriter.write(iron.format.png.Tools.build32RGBA(textureSize, textureSize, pixels));
}
#if kha_krom
if (isBase) Krom.fileSaveBytes(path + "/" + f + "_basecol" + ext, bo.getBytes().getData());
if (isBase) Krom.fileSaveBytes(path + "/" + f + "_base" + ext, bo.getBytes().getData());
#end
pixels = selectedLayer.texpaint_nor.getPixels();