Esempio n. 1
0
        public void changeNormal()
        {
            GuiBitmapCtrl ctrl = this.findObjectByInternalName("normTexCtrl", true);
            string        file = ctrl.bitmap;

            if (file.StartsWith("tools/"))
            {
                file = "";
            }
            file = _selectTextureFileDialog(file);

            if (file == "")
            {
                if (ctrl.bitmap != "")
                {
                    file = ctrl.bitmap;
                }
                else
                {
                    file = "tools/materialeditor/gui/unknownImage";
                }
            }
            file = Util.makeRelativePath(file, Util.getMainDotCsDir());
            ctrl.setBitmapX(file);
        }
Esempio n. 2
0
        public static void clientCmdCenterPrint(string message, string time, string size)
        {
            GuiBitmapCtrl centerPrintDlg = "centerPrintDlg";

            if (omni.bGlobal["$centerPrintActive"])
            {
                if (centerPrintDlg["removePrint"] != "")
                {
                    omni.Util.cancel(centerPrintDlg["removePrint"].AsInt());
                }
            }
            else
            {
                centerPrintDlg["visible"]          = "1";
                omni.iGlobal["$centerPrintActive"] = 1;
            }

            ((GuiMLTextCtrl)"CenterPrintText").setText("<just:center>" + message);
            centerPrintDlg.extent.y = omni.iGlobal["$CenterPrintSizes[" + size + "]"];
            if (time.AsInt() > 0)
            {
                centerPrintDlg["removePrint"] =
                    omni.Util._schedule((time.AsInt() * 1000).AsString(), "0", "clientCmdClearCenterPrint").AsString();
            }
        }
Esempio n. 3
0
        public static void clientCmdClearBottomPrint()
        {
            omni.iGlobal["$bottomPrintActive"] = 0;
            GuiBitmapCtrl BottomPrintDlg = "BottomPrintDlg";

            BottomPrintDlg.visible        = false;
            BottomPrintDlg["removePrint"] = "";
        }
Esempio n. 4
0
        public static void clientCmdClearCenterPrint()
        {
            omni.iGlobal["$centerPrintActive"] = 0;
            GuiBitmapCtrl CenterPrintDlg = "CenterPrintDlg";

            CenterPrintDlg.visible        = false;
            CenterPrintDlg["removePrint"] = "";
        }
Esempio n. 5
0
        public void setActiveMaterial(TerrainMaterial mat)
        {
            if (mat.isObject())
            {
                GuiTextEditCtrl matNameCtrl        = this.findObjectByInternalName("matNameCtrl", true);
                GuiBitmapCtrl   baseTexCtrl        = this.findObjectByInternalName("baseTexCtrl", true);
                GuiBitmapCtrl   detailTexCtrl      = this.findObjectByInternalName("detailTexCtrl", true);
                GuiBitmapCtrl   macroTexCtrl       = this.findObjectByInternalName("macroTexCtrl", true);
                GuiBitmapCtrl   normTexCtrl        = this.findObjectByInternalName("normTexCtrl", true);
                GuiTextEditCtrl detSizeCtrl        = this.findObjectByInternalName("detSizeCtrl", true);
                GuiTextEditCtrl baseSizeCtrl       = this.findObjectByInternalName("baseSizeCtrl", true);
                GuiTextEditCtrl detStrengthCtrl    = this.findObjectByInternalName("detStrengthCtrl", true);
                GuiTextEditCtrl detDistanceCtrl    = this.findObjectByInternalName("detDistanceCtrl", true);
                GuiCheckBoxCtrl sideProjectionCtrl = this.findObjectByInternalName("sideProjectionCtrl", true);
                GuiTextEditCtrl parallaxScaleCtrl  = this.findObjectByInternalName("parallaxScaleCtrl", true);

                GuiTextEditCtrl macroSizeCtrl     = this.findObjectByInternalName("macroSizeCtrl", true);
                GuiTextEditCtrl macroStrengthCtrl = this.findObjectByInternalName("macroStrengthCtrl", true);
                GuiTextEditCtrl macroDistanceCtrl = this.findObjectByInternalName("macroDistanceCtrl", true);

                //TerrainPainterAddition
                GuiTextEditCtrl terrainFolderCtrl = FOT("terrainFolderCtrl");

                this["activeMat"] = mat;

                matNameCtrl.setText(mat.internalName);

                baseTexCtrl.setBitmapX(mat.diffuseMap == "" ? "tools/materialeditor/gui/unknownImage" : mat.diffuseMap);
                detailTexCtrl.setBitmapX(mat.detailMap == "" ? "tools/materialeditor/gui/unknownImage" : mat.detailMap);
                macroTexCtrl.setBitmapX(mat.macroMap == "" ? "tools/materialeditor/gui/unknownImage" : mat.macroMap);
                normTexCtrl.setBitmapX(mat.normalMap == "" ? "tools/materialeditor/gui/unknownImage" : mat.normalMap);

                detSizeCtrl.setText(mat.detailSize.AsString());
                baseSizeCtrl.setText(mat.diffuseSize.AsString());
                detStrengthCtrl.setText(mat.detailStrength.AsString());
                detDistanceCtrl.setText(mat.detailDistance.AsString());
                sideProjectionCtrl.setValue(mat.useSideProjection.AsString());
                parallaxScaleCtrl.setText(mat.parallaxScale.AsString());

                macroSizeCtrl.setText(mat.macroSize.AsString());
                macroStrengthCtrl.setText(mat.macroStrength.AsString());
                macroDistanceCtrl.setText(mat.macroDistance.AsString());

                //TerrainPainterAddition
                terrainFolderCtrl.setText(mat["terrainFolder"]);
                activateMaterialCtrls(true);
            }
            else
            {
                this["activeMat"] = "0";
                activateMaterialCtrls(false);
            }
        }
Esempio n. 6
0
        public static void clientCmdSetDamageDirection(string direction)
        {
            GuiControl DamageHUD = "DamageHUD";

            if (!DamageHUD.isObject())
            {
                return;
            }
            GuiBitmapCtrl ctrl = DamageHUD.findObjectByInternalName("damage_" + direction, true);

            if (!ctrl.isObject())
            {
                return;
            }

            omni.Util.cancelAll(ctrl);
            ctrl.setVisible(true);
            ctrl.schedule("500", "setVisible", "false");
        }
Esempio n. 7
0
        public void saveDirtyMaterial(TerrainMaterial mat)
        {
            // Skip over obviously bad cases.
            if (!mat.isObject())
            {
                return;
            }

            GuiTextEditCtrl matNameCtrl        = this.findObjectByInternalName("matNameCtrl", true);
            GuiBitmapCtrl   baseTexCtrl        = this.findObjectByInternalName("baseTexCtrl", true);
            GuiBitmapCtrl   detailTexCtrl      = this.findObjectByInternalName("detailTexCtrl", true);
            GuiBitmapCtrl   macroTexCtrl       = this.findObjectByInternalName("macroTexCtrl", true);
            GuiBitmapCtrl   normTexCtrl        = this.findObjectByInternalName("normTexCtrl", true);
            GuiTextEditCtrl detSizeCtrl        = this.findObjectByInternalName("detSizeCtrl", true);
            GuiTextEditCtrl baseSizeCtrl       = this.findObjectByInternalName("baseSizeCtrl", true);
            GuiTextEditCtrl detStrengthCtrl    = this.findObjectByInternalName("detStrengthCtrl", true);
            GuiTextEditCtrl detDistanceCtrl    = this.findObjectByInternalName("detDistanceCtrl", true);
            GuiCheckBoxCtrl sideProjectionCtrl = this.findObjectByInternalName("sideProjectionCtrl", true);
            GuiTextEditCtrl parallaxScaleCtrl  = this.findObjectByInternalName("parallaxScaleCtrl", true);

            GuiTextEditCtrl macroSizeCtrl     = this.findObjectByInternalName("macroSizeCtrl", true);
            GuiTextEditCtrl macroStrengthCtrl = this.findObjectByInternalName("macroStrengthCtrl", true);
            GuiTextEditCtrl macroDistanceCtrl = this.findObjectByInternalName("macroDistanceCtrl", true);

            //TerrainPainterAddition
            GuiTextEditCtrl terrainFolderCtrl = FOT("terrainFolderCtrl");

            // Read out properties from the dialog.
            string newDiffuse = "";
            string newNormal  = "";
            string newDetail  = "";
            string newMacro   = "";

            string newName = matNameCtrl.getText();

            if (baseTexCtrl.bitmap != "tools/materialeditor/gui/unknownImage")
            {
                newDiffuse = baseTexCtrl.bitmap;
            }

            if (normTexCtrl.bitmap != "tools/materialeditor/gui/unknownImage")
            {
                newNormal = normTexCtrl.bitmap;
            }

            if (detailTexCtrl.bitmap != "tools/materialeditor/gui/unknownImage")
            {
                newDetail = detailTexCtrl.bitmap;
            }

            if (macroTexCtrl.bitmap != "tools/materialeditor/gui/unknownImage")
            {
                newMacro = macroTexCtrl.bitmap;
            }

            string detailSize        = detSizeCtrl.getText();
            string diffuseSize       = baseSizeCtrl.getText();
            string detailStrength    = detStrengthCtrl.getText();
            string detailDistance    = detDistanceCtrl.getText();
            string useSideProjection = sideProjectionCtrl.getValue();
            string parallaxScale     = parallaxScaleCtrl.getText();

            string macroSize     = macroSizeCtrl.getText();
            string macroStrength = macroStrengthCtrl.getText();
            string macroDistance = macroDistanceCtrl.getText();

            string terrainFolder = terrainFolderCtrl.getText();

            if (mat.internalName == newName && mat.diffuseMap == newDiffuse && mat.normalMap == newNormal && mat.detailMap == newDetail && mat["macroMap"] == newMacro && mat["detailSize"] == detailSize && mat["diffuseSize"] == diffuseSize && mat["detailStrength"] == detailStrength && mat["detailDistance"] == detailDistance && mat["useSideProjection"] == useSideProjection && mat["macroSize"] == macroSize && mat["macroStrength"] == macroStrength && mat["macroDistance"] == macroDistance && mat.parallaxScale.AsString() == parallaxScale && mat["terrainFolder"] == terrainFolder)
            {
                return;
            }

            // Make sure the material name is unique.
            if (mat.internalName != newName)
            {
                TerrainMaterial existingMat = ((SimSet)"TerrainMaterialSet").findObjectByInternalName(newName, true);
                if (existingMat.isObject())
                {
                    messageBox.MessageBoxOK("Error", "There already is a terrain material called '" + newName + "'.");
                    // Reset the name edit control to the old name.
                    matNameCtrl.setText(mat.internalName);
                }
                else
                {
                    mat.setInternalName(newName);
                }
            }
            mat["diffuseMap"]        = newDiffuse;
            mat["normalMap"]         = newNormal;
            mat["detailMap"]         = newDetail;
            mat["macroMap"]          = newMacro;
            mat["detailSize"]        = detailSize;
            mat["diffuseSize"]       = diffuseSize;
            mat["detailStrength"]    = detailStrength;
            mat["detailDistance"]    = detailDistance;
            mat["macroSize"]         = macroSize;
            mat["macroStrength"]     = macroStrength;
            mat["macroDistance"]     = macroDistance;
            mat["useSideProjection"] = useSideProjection;
            mat["parallaxScale"]     = parallaxScale;

            //TerrainPainterAddition
            mat["terrainFolder"] = terrainFolder;

            // Mark the material as dirty and needing saving.

            string fileName = mat.getFilename();

            if (fileName == "")
            {
                fileName = "art/terrains/materials.cs";
            }

            PersistenceManager ETerrainMaterialPersistMan = "ETerrainMaterialPersistMan";

            ETerrainMaterialPersistMan.setDirty(mat, fileName);
        }