TribesReplay/base/gui/TerraformerHeightfieldGui.gui
2017-07-17 22:51:48 -04:00

2816 lines
79 KiB
Plaintext

//--- OBJECT WRITE BEGIN ---
new GuiControl(TerraformerHeightfieldGui) {
profile = "GuiModelessDialogProfile";
horizSizing = "width";
vertSizing = "height";
position = "0 0";
extent = "640 480";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiFrameSetCtrl(HeightfieldhRootFrame) {
profile = "GuiDefaultProfile";
horizSizing = "width";
vertSizing = "height";
position = "0 30";
extent = "640 450";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
columns = "0 279 374";
rows = "0";
borderWidth = "4";
borderColor = "0 76 248 255";
borderEnable = "alwaysOff";
borderMovable = "alwaysOff";
autoBalance = "0";
new GuiFrameSetCtrl(HeightfieldLeftFrame) {
profile = "GuiDefaultProfile";
horizSizing = "left";
vertSizing = "height";
position = "0 0";
extent = "275 450";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
columns = "0";
rows = "0 250";
borderWidth = "4";
borderColor = "0 4 248 255";
borderEnable = "alwaysOff";
borderMovable = "alwaysOff";
autoBalance = "0";
new GuiControl() {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "275 246";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiBigTextProfile";
horizSizing = "center";
vertSizing = "bottom";
position = "21 -2";
extent = "232 40";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Heightfield Editor";
};
new GuiScrollCtrl(HeightfieldTabParent) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "4 35";
extent = "266 205";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
willFirstRespond = "1";
hScrollBar = "alwaysOff";
vScrollBar = "alwaysOff";
constantThumbHeight = "1";
new GuiScrollContentCtrl() {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "1 1";
extent = "264 203";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
new GuiControl(tab_fBm) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "100 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "fBm Fractal Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "86 35";
extent = "71 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Hill Frequency:";
};
new GuiTextEditSliderCtrl(fbm_interval) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "1 24";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "99 60";
extent = "58 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Roughness:";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 136";
extent = "77 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "fBm_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
text = "New Seed";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "87 110";
extent = "70 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Random Seed:";
};
new GuiTextEditCtrl(fBm_seed) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 110";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "0";
historySize = "5";
};
new GuiTextEditSliderCtrl(fbm_rough) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 60";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%0.3f";
range = "0 1";
increment = "0.001";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "128 85";
extent = "29 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Detail:";
};
new GuiPopUpMenuCtrl(fbm_detail) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 85";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
maxPopupHeight = "200";
};
};
new GuiControl(tab_RMF) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "125 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Rigid MultiFractal Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "87 35";
extent = "71 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Hill Frequency:";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "168 137";
extent = "73 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "rmf_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
text = "New Seed";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "101 60";
extent = "58 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Roughness:";
};
new GuiTextEditSliderCtrl(rmf_interval) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "1 16";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "90 111";
extent = "67 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Random Seed";
};
new GuiTextEditCtrl(rmf_seed) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 110";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "0";
historySize = "5";
};
new GuiTextEditSliderCtrl(rmf_rough) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 60";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%0.3f";
range = "0 1";
increment = "0.001";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "128 85";
extent = "29 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Detail:";
};
new GuiPopUpMenuCtrl(rmf_detail) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 85";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
maxPopupHeight = "200";
};
};
new GuiControl(tab_Canyon) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "118 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Canyon Fractal Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "124 61";
extent = "34 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Chaos:";
};
new GuiTextEditSliderCtrl(canyon_freq) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "4 10";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "63 35";
extent = "95 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Canyon Frequency:";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "168 114";
extent = "73 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "canyon_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
text = "New Seed";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "88 89";
extent = "70 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Random Seed:";
};
new GuiTextEditCtrl(canyon_seed) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 89";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "0";
historySize = "5";
};
new GuiTextEditSliderCtrl(canyon_factor) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 62";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%0.3f";
range = "0 1";
increment = "0.001";
};
};
new GuiControl(tab_Smooth) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "95 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Smoothing Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "79 64";
extent = "77 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Agressiveness:";
};
new GuiTextEditSliderCtrl(smooth_iter) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "0 40";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "109 36";
extent = "47 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Iterations:";
};
new GuiTextEditSliderCtrl(smooth_factor) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 63";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%0.3f";
range = "0 1";
increment = "0.001";
};
};
new GuiControl(tab_SmoothWater) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "154 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Water Area Smoothing Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "79 64";
extent = "77 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Agressiveness:";
};
new GuiTextEditSliderCtrl(watersmooth_iter) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "0 40";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "109 36";
extent = "47 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Iterations:";
};
new GuiTextEditSliderCtrl(watersmooth_factor) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 63";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%0.3f";
range = "0 1";
increment = "0.001";
};
};
new GuiControl(tab_SmoothRidge) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "152 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Ridge Area Smoothing Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "79 64";
extent = "77 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Agressiveness:";
};
new GuiTextEditSliderCtrl(Ridgesmooth_iter) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "0 40";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "109 36";
extent = "47 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Iterations:";
};
new GuiTextEditSliderCtrl(Ridgesmooth_factor) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 63";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%0.3f";
range = "0 1";
increment = "0.001";
};
};
new GuiControl(tab_Filter) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "101 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Height Filter Settings:";
};
new GuiFilterCtrl(filter) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "16 29";
extent = "130 130";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);";
helpTag = "0";
controlPoints = "7";
filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "154 84";
extent = "30 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Result";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "68 167";
extent = "23 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Input";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "16 160";
extent = "16 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "min";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "127 160";
extent = "20 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "max";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "150 142";
extent = "16 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "min";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "150 28";
extent = "20 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "max";
};
new GuiTextEditSliderCtrl() {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "189 139";
extent = "61 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
variable = "filter.controlPoints";
command = "filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);";
helpTag = "0";
historySize = "0";
format = "%3.0f";
range = "2 20";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "187 118";
extent = "66 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Control Points";
};
};
new GuiControl(tab_Turbulence) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "99 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Turbulence Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "65 34";
extent = "91 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Turbulence Factor:";
};
new GuiTextEditSliderCtrl(turbulence_factor) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%0.3f";
range = "0 1";
increment = "0.001";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "75 61";
extent = "81 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Radius of Effect:";
};
new GuiTextEditSliderCtrl(turbulence_radius) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 61";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "1 40";
increment = "1";
};
};
new GuiControl(tab_Thermal) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "122 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Thermal Erosion Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "112 36";
extent = "47 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Iterations:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "79 91";
extent = "80 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Material Loss %:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "20 63";
extent = "139 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Min Erosion Slope (degrees):";
};
new GuiTextEditSliderCtrl(thermal_iter) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 36";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "0 50";
increment = "1";
};
new GuiTextEditSliderCtrl(thermal_slope) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 63";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%2.1f";
range = "0 89";
increment = "0.1";
};
new GuiTextEditSliderCtrl(thermal_cons) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 90";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%2.1f";
range = "0 100";
increment = "0.1";
};
};
new GuiControl(tab_Hydraulic) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "259 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "129 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Hydraulic Erosion Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "112 34";
extent = "47 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Iterations:";
};
new GuiFilterCtrl(hydraulic_filter) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "16 57";
extent = "130 130";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
controlPoints = "7";
filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000";
};
new GuiTextEditSliderCtrl(hydraulic_iter) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "166 35";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "0 50";
increment = "1";
};
new GuiTextEditSliderCtrl() {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "165 161";
extent = "64 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
variable = "hydraulic_filter.controlPoints";
command = "hydraulic_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
historySize = "0";
format = "%3.0f";
range = "2 20";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "165 141";
extent = "69 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Control Points:";
};
};
new GuiControl(tab_Sinus) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "259 199";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "72 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Sinus Settings:";
};
new GuiFilterCtrl(sinus_filter) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "36 64";
extent = "130 130";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
controlPoints = "7";
filter = "0.176920 0.833330 0.876920 0.238460 0.215380 0.166660 0.000000";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "100 32";
extent = "70 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Random Seed:";
};
new GuiTextEditCtrl(sinus_seed) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "174 32";
extent = "78 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "0";
historySize = "5";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "177 66";
extent = "73 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "sinus_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
text = "New Seed";
};
new GuiTextEditSliderCtrl() {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "178 171";
extent = "64 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
variable = "sinus_filter.controlPoints";
command = "sinus_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
historySize = "0";
format = "%3.0f";
range = "2 20";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "179 150";
extent = "69 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Control Points:";
};
};
new GuiControl(tab_terrainFile) {
profile = "EditorContentProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "4 2";
extent = "53 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "TerrainFile:";
};
new GuiScrollCtrl() {
profile = "GuiScrollCtrlProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 20";
extent = "262 180";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
willFirstRespond = "1";
hScrollBar = "dynamic";
vScrollBar = "alwaysOn";
constantThumbHeight = "0";
new GuiScrollContentCtrl() {
profile = "GuiScrollContentProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "1 1";
extent = "242 178";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
new GuiTextListCtrl(terrainFile_textList) {
profile = "GuiTextArrayProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "64 64";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "terrainFile_terrFileText.setValue(\"terrains/\" @ terrainFile_textList.getRowTextById(terrainFile_textList.getSelectedId()));Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
enumerate = "0";
resizeCell = "1";
columns = "0";
};
};
};
new GuiTextCtrl(terrainFile_terrFileText) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "64 2";
extent = "8 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
};
};
new GuiControl(tab_General) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "83 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "General Settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "8 53";
extent = "67 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Height Range:";
};
new GuiTextEditSliderCtrl(general_scale) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "108 52";
extent = "64 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "5 500";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "177 53";
extent = "33 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "meters";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "29 93";
extent = "74 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Water Level %:";
};
new GuiSliderCtrl(general_water) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "22 113";
extent = "200 30";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
variable = "value";
command = "general_water_meters.setValue(general_water.getValue()*general_scale.getValue()+general_min_height.getValue() @ \" meters\");Heightfield::saveTab();Heightfield::preview();";
helpTag = "0";
range = "0.000000 1.000000";
ticks = "5";
value = "0";
};
new GuiTextCtrl(general_water_meters) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "109 93";
extent = "42 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "0 meters";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "64 158";
extent = "135 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Heightfield::center();";
helpTag = "0";
text = "Center on Camera";
};
new GuiTextCtrl(general_centerx) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "8 18";
minExtent = "8 8";
visible = "0";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "0";
};
new GuiTextCtrl(general_centery) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "8 18";
minExtent = "8 8";
visible = "0";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "0";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "8 28";
extent = "89 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Min Terrain Height:";
};
new GuiTextEditSliderCtrl(general_min_height) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "108 27";
extent = "64 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
historySize = "0";
format = "%1.0f";
range = "0 500";
increment = "1";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "177 28";
extent = "33 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "meters";
};
};
new GuiControl(tab_Bitmap) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "76 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Bitmap settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "10 43";
extent = "45 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Filename:";
};
new GuiTextCtrl(bitmap_name) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "64 43";
extent = "8 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
};
new GuiButtonCtrl(bitmap_choose) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "10 65";
extent = "73 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
command = "Heightfield::setBitmap();";
helpTag = "0";
text = "Choose...";
};
};
new GuiControl(tab_Blend) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "261 198";
minExtent = "8 8";
visible = "0";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiPopUpMenuCtrl(blend_option) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "64 118";
extent = "82 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
text = "Add";
maxPopupHeight = "200";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 6";
extent = "71 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Blend settings:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "4 31";
extent = "34 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Factor:";
};
new GuiSliderCtrl(blend_factor) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "49 29";
extent = "200 30";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
variable = "value";
command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);";
helpTag = "0";
range = "0.000000 1.000000";
ticks = "5";
value = "0.4";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "6 64";
extent = "49 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Source A:";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "23 156";
extent = "205 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "result = (A*factor) operation (B*(1-factor))";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "7 91";
extent = "48 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "Source B:";
};
new GuiTextEditCtrl(blend_srcB) {
profile = "GuiTextEditProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "64 89";
extent = "33 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
text = "1";
historySize = "5";
};
new GuiTextCtrl(blend_srcA) {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "64 65";
extent = "92 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Previous Operation";
};
new GuiTextCtrl() {
profile = "GuiTextProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "5 118";
extent = "50 18";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Operation:";
};
};
};
};
};
new GuiControl() {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 250";
extent = "275 200";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiPopUpMenuCtrl(Heightfield_options) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "4 3";
extent = "199 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Options";
maxPopupHeight = "200";
setText = "false";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "205 3";
extent = "53 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::onDelete();";
helpTag = "0";
text = "Delete";
};
new GuiScrollCtrl() {
profile = "GuiButtonProfile";
horizSizing = "width";
vertSizing = "height";
position = "5 27";
extent = "266 166";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
willFirstRespond = "1";
hScrollBar = "alwaysOff";
vScrollBar = "dynamic";
constantThumbHeight = "1";
new GuiScrollContentCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "1 1";
extent = "264 164";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
new GuiTextListCtrl(Heightfield_operation) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "12 16";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
enumerate = "0";
resizeCell = "1";
columns = "1";
};
};
};
};
};
new GuiFrameSetCtrl(HeightfieldCenterFrame) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "height";
position = "279 0";
extent = "91 450";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
columns = "0";
rows = "0";
borderWidth = "4";
borderColor = "0 4 248 255";
borderEnable = "alwaysOff";
borderMovable = "alwaysOff";
autoBalance = "0";
new GuiControl() {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 0";
extent = "91 450";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiControl() {
profile = "GuiDefaultProfile";
horizSizing = "center";
vertSizing = "bottom";
position = "4 2";
extent = "82 445";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 27";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::load(Lush);";
helpTag = "0";
text = "Lush";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 52";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::load(Swamp);";
helpTag = "0";
text = "Swamp";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 77";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::load(BadLands);";
helpTag = "0";
text = "BadLands";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 102";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::load(Ice);";
helpTag = "0";
text = "Ice";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 127";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::load(Desert);";
helpTag = "0";
text = "Desert";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 152";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::load(Lava);";
helpTag = "0";
text = "Lava";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 400";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::saveTab();TerraformerGui.setView(TextureView);";
helpTag = "0";
text = "Texture";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 275";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::apply();";
helpTag = "0";
text = "Apply";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 332";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::save();";
helpTag = "0";
text = "Save";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 309";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
command = "Heightfield::load();";
helpTag = "0";
text = "Load";
};
new GuiButtonCtrl(ExportHeightfield) {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 355";
extent = "80 20";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
text = "Export";
};
};
};
};
new GuiFrameSetCtrl(HeightfieldRightFrame) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "height";
position = "374 0";
extent = "266 450";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
columns = "0";
rows = "0 266";
borderWidth = "2";
borderColor = "0 4 248 255";
borderEnable = "alwaysOff";
borderMovable = "alwaysOff";
autoBalance = "0";
new GuiControl() {
profile = "GuiContentProfile";
horizSizing = "width";
vertSizing = "height";
position = "0 0";
extent = "266 264";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GuiTerrPreviewCtrl(HeightfieldPreview) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "4 4";
extent = "256 256";
minExtent = "8 8";
visible = "1";
setFirstResponder = "0";
modal = "1";
helpTag = "0";
};
};
new GuiControl() {
profile = "GuiContentProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "0 266";
extent = "266 184";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
new GameTSCtrl() {
profile = "GuiDefaultProfile";
horizSizing = "width";
vertSizing = "height";
position = "4 4";
extent = "255 174";
minExtent = "8 8";
visible = "1";
setFirstResponder = "1";
modal = "1";
helpTag = "0";
};
};
};
};
};
//--- OBJECT WRITE END ---
function tab_Blend::reset(%this)
{
blend_option.clear();
blend_option.add("Add", 0);
blend_option.add("Subtract", 1);
blend_option.add("Max", 2);
blend_option.add("Min", 3);
blend_option.add("Multiply", 4);
}
function tab_fBm::reset(%this)
{
fBm_detail.clear();
fBm_detail.add("Very Low", 0);
fBm_detail.add("Low", 1);
fBm_detail.add("Normal", 2);
fBm_detail.add("High", 3);
fBm_detail.add("Very High", 4);
}
function tab_RMF::reset(%this)
{
rmf_detail.clear();
rmf_detail.add("Very Low", 0);
rmf_detail.add("Low", 1);
rmf_detail.add("Normal", 2);
rmf_detail.add("High", 3);
rmf_detail.add("Very High", 4);
}
function tab_terrainFile::reset(%this)
{
// update tab controls..
terrainFile_textList.clear();
%filespec = "terrains/*.ter";
for(%file = findFirstFile(%filespec); %file !$= ""; %file = findNextFile(%filespec))
terrainFile_textList.addRow(%i++, fileBase(%file) @ fileExt(%file));
}
//--------------------------------------
function Heightfield::resetTabs()
{
tab_terrainFile.reset();
tab_fbm.reset();
tab_rmf.reset();
tab_canyon.reset();
tab_smooth.reset();
tab_smoothWater.reset();
tab_smoothRidge.reset();
tab_filter.reset();
tab_turbulence.reset();
tab_thermal.reset();
tab_hydraulic.reset();
tab_general.reset();
tab_bitmap.reset();
tab_blend.reset();
tab_sinus.reset();
}
//--------------------------------------
function TerraformerHeightfieldGui::init(%this)
{
Heightfield_options.clear();
Heightfield_options.setText("Operation");
Heightfield_options.add("fBm Fractal",0);
Heightfield_options.add("Rigid MultiFractal",1);
Heightfield_options.add("Canyon Fractal",2);
Heightfield_options.add("Sinus",3);
Heightfield_options.add("Bitmap",4);
Heightfield_options.add("Turbulence",5);
Heightfield_options.add("Smoothing",6);
Heightfield_options.add("Smooth Water",7);
Heightfield_options.add("Smooth Ridges/Valleys", 8);
Heightfield_options.add("Filter",9);
Heightfield_options.add("Thermal Erosion",10);
Heightfield_options.add("Hydraulic Erosion",11);
Heightfield_options.add("Blend",12);
Heightfield_options.add("Terrain File",13);
Heightfield::resetTabs();
%this.refresh();
}
function TerraformerHeightfieldGui::refresh(%this)
{
if (Heightfield_operation.rowCount() == 0)
{
Heightfield_operation.clear();
%id1 = Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0");
Heightfield_operation.setSelectedById(%id1);
}
Heightfield::resetTabs();
Heightfield::preview();
}
//--------------------------------------
function Heightfield_options::onSelect(%this, %_id, %text)
{
Heightfield_options.setText("Operation");
%id = -1;
%rowCount = Heightfield_operation.rowCount();
// FORMAT
// item name
// tab name
// control name
// control value
switch$(%text)
{
case "Terrain File":
%id = HeightField::add("Terrain File\ttab_terrainFile\tterrainFile_terrFileText\tterrains/terr1.ter\tterrainFile_textList\tterr1.ter");
case "fBm Fractal":
%id = Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t" @ terraformer.generateSeed());
case "Rigid MultiFractal":
%id = Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t" @ terraformer.generateSeed());
case "Canyon Fractal":
%id = Heightfield::add("Canyon Fractal\ttab_Canyon\tcanyon_freq\t5\tcanyon_factor\t0.500\tcanyon_seed\t" @ terraformer.generateSeed());
case "Sinus":
%id = Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1 0.83333 0.6666 0.5 0.33333 0.16666 0\tsinus_seed\t" @ terraformer.generateSeed());
case "Bitmap":
%id = Heightfield::add("Bitmap\ttab_Bitmap\tbitmap_name\t");
Heightfield::setBitmap();
}
if (Heightfield_operation.rowCount() >= 1)
{
switch$(%text)
{
case "Smoothing":
%id = Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t0");
case "Smooth Water":
%id = Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.500\twatersmooth_iter\t0");
case "Smooth Ridges/Valleys":
%id = Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.8500\tridgesmooth_iter\t1");
case "Filter":
%id = Heightfield::add("Filter\ttab_Filter\tfilter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1");
case "Turbulence":
%id = Heightfield::add("Turbulence\ttab_Turbulence\tturbulence_factor\t0.250\tturbulence_radius\t10");
case "Thermal Erosion":
%id = Heightfield::add("Thermal Erosion\ttab_Thermal\tthermal_slope\t30\tthermal_cons\t80.0\tthermal_iter\t0");
case "Hydraulic Erosion":
%id = Heightfield::add("Hydraulic Erosion\ttab_Hydraulic\thydraulic_iter\t0\thydraulic_filter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1");
}
}
if (Heightfield_operation.rowCount() >= 2)
{
if("Blend" $= %text)
%id = Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.500\tblend_srcB\t" @ %rowCount-2 @"\tblend_option\tadd");
}
// select it
if (%id != -1)
Heightfield_operation.setSelectedById(%id);
}
//--------------------------------------
function Heightfield::eval(%id)
{
if (%id == -1)
return;
%data = restWords(Heightfield_operation.getRowTextById(%id));
%label = getField(%data,0);
%row = Heightfield_operation.getRowNumById(%id);
echo("Heightfield::eval:" @ %row @ " " @ %label );
switch$(%label)
{
case "General":
if (Terrain.squareSize>0) %size = Terrain.squareSize;
else %size = 8;
terraformer.setTerrainInfo( 256, %size, getField(%data,3), getField(%data,5), getField(%data,7) );
terraformer.setShift( getField(%data,9), getField(%data,11) );
terraformer.terrainData(%row);
case "Terrain File":
terraformer.terrainFile(%row, getField(%data,3));
case "fBm Fractal":
terraformer.fBm( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) );
case "Sinus":
terraformer.sinus( %row, getField(%data,3), getField(%data,5) );
case "Rigid MultiFractal":
terraformer.rigidMultiFractal( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) );
case "Canyon Fractal":
terraformer.canyon( %row, getField(%data,3), getField(%data,5), getField(%data,7) );
case "Smoothing":
terraformer.smooth( %row-1, %row, getField(%data,3), getField(%data,5) );
case "Smooth Water":
terraformer.smoothWater( %row-1, %row, getField(%data,3), getField(%data,5) );
case "Smooth Ridges/Valleys":
terraformer.smoothRidges( %row-1, %row, getField(%data,3), getField(%data,5) );
case "Filter":
terraformer.filter( %row-1, %row, getField(%data,3) );
case "Turbulence":
terraformer.turbulence( %row-1, %row, getField(%data,3), getField(%data,5) );
case "Thermal Erosion":
terraformer.erodeThermal( %row-1, %row, getField(%data,3), getField(%data,5),getField(%data,7) );
case "Hydraulic Erosion":
terraformer.erodeHydraulic( %row-1, %row, getField(%data,3), getField(%data,5) );
case "Bitmap":
terraformer.loadGreyscale(%row, getField(%data,3));
case "Blend":
%rowCount = Heightfield_operation.rowCount();
if(%rowCount > 2)
{
%a = Heightfield_operation.getRowNumById(%id)-1;
%b = getField(%data, 5);
echo("Blend: " @ %data);
echo("Blend: " @ getField(%data,3) @ " " @ getField(%data,7));
if(%a < %rowCount || %a > 0 || %b < %rowCount || %b > 0 )
terraformer.blend(%a, %b, %row, getField(%data,3), getField(%data,7) );
else
echo("Heightfield Editor: Blend parameters out of range.");
}
}
}
//--------------------------------------
function Heightfield::add(%entry)
{
Heightfield::saveTab();
Heightfield::hideTab();
%id = $NextOperationId++;
if ($selectedOperation != -1)
{
%row = Heightfield_operation.getRowNumById($selectedOperation) + 1;
%entry = %row @ " " @ %entry;
Heightfield_operation.addRow(%id, %entry, %row); // insert
// adjust row numbers
for(%i = %row+1; %i < Heightfield_operation.rowCount(); %i++)
{
%id = Heightfield_operation.getRowId(%i);
%text = Heightfield_operation.getRowTextById(%id);
%text = setWord(%text, 0, %i);
Heightfield_operation.setRowById(%id, %text);
}
}
else
{
%entry = Heightfield_operation.rowCount() @ " " @ %entry;
Heightfield_operation.addRow(%id, %entry); // add to end
}
%row = Heightfield_operation.getRowNumById(%id);
if (%row <= $HeightfieldDirtyRow)
$HeightfieldDirtyRow = %row;
return %id;
}
//--------------------------------------
function Heightfield::onDelete(%id)
{
if (%id $= "")
%id = $selectedOperation;
%row = Heightfield_operation.getRowNumById(%id);
// don't delete the first entry
if (%row == 0)
return;
Heightfield_operation.removeRow(%row);
// adjust row numbers
for(%i = %row; %i < Heightfield_operation.rowCount(); %i++)
{
%id2 = Heightfield_operation.getRowId(%i);
%text = Heightfield_operation.getRowTextById(%id2);
%text = setWord(%text, 0, %i);
Heightfield_operation.setRowById(%id2, %text);
}
// adjust the Dirty Row position
if ($HeightfieldDirtyRow >= %row)
$HeightfieldDirtyRow = %row;
// find the next row to select
%rowCount = Heightfield_operation.rowCount()-1;
if (%row > %rowCount)
%row = %rowCount;
if (%id == $selectedOperation)
$selectedOperation = -1;
%id = Heightfield_operation.getRowId(%row);
Heightfield_operation.setSelectedById(%id);
}
//--------------------------------------
function Heightfield_operation::onSelect(%this, %id, %text)
{
Heightfield::saveTab();
Heightfield::hideTab();
$selectedOperation = %id;
Heightfield::restoreTab($selectedOperation);
Heightfield::showTab($selectedOperation);
Heightfield::preview($selectedOperation);
}
//--------------------------------------
function Heightfield::restoreTab(%id)
{
if (%id == -1)
return;
Heightfield::hideTab();
%data = restWords(Heightfield_operation.getRowTextById(%id));
%fieldCount = getFieldCount(%data);
for (%field=2; %field<%fieldCount; %field += 2)
{
%obj = getField(%data, %field);
%obj.setValue( getField(%data, %field+1) );
}
}
//--------------------------------------
function Heightfield::saveTab()
{
if ($selectedOperation == -1)
return;
%data = Heightfield_operation.getRowTextById($selectedOperation);
%rowNum = getWord(%data, 0);
%data = restWords(%data);
%newdata = getField(%data,0) @ "\t" @ getField(%data,1);
%fieldCount = getFieldCount(%data);
for (%field=2; %field < %fieldCount; %field += 2)
{
%obj = getField(%data, %field);
%newdata = %newdata @ "\t" @ %obj @ "\t" @ %obj.getValue();
}
// keep track of the top-most dirty operation
// so we know who to evaluate later
if (%data !$= %newdata)
{
%row = Heightfield_operation.getRowNumById($selectedOperation);
if (%row <= $HeightfieldDirtyRow && %row > 0)
$HeightfieldDirtyRow = %row;
}
Heightfield_operation.setRowById($selectedOperation, %rowNum @ " " @ %newdata);
}
//--------------------------------------
function Heightfield::preview(%id)
{
%rowCount = Heightfield_operation.rowCount();
if (%id $= "")
%id = Heightfield_operation.getRowId(%rowCount-1);
%row = Heightfield_operation.getRowNumById(%id);
Heightfield::refresh(%row);
terraformer.previewScaled(HeightfieldPreview, %row);
}
//--------------------------------------
function Heightfield::refresh(%last)
{
if (%last $= "")
%last = Heightfield_operation.rowCount()-1;
// always update the general info
Heightfield::eval(Heightfield_operation.getRowId(0));
for( 0; $HeightfieldDirtyRow<=%last; $HeightfieldDirtyRow++)
{
%id = Heightfield_operation.getRowId($HeightfieldDirtyRow);
Heightfield::eval(%id);
}
}
//--------------------------------------
function Heightfield::apply(%id)
{
%rowCount = Heightfield_operation.rowCount();
if (%rowCount < 1)
return;
if (%id $= "")
%id = Heightfield_operation.getRowId(%rowCount-1);
%row = Heightfield_operation.getRowNumById(%id);
HeightfieldPreview.setRoot();
Heightfield::refresh(%row);
terraformer.setTerrain(%row);
terraformer.setCameraPosition(0,0,0);
}
//--------------------------------------
$TerraformerSaveRegister = 0;
function Heightfield::saveBitmap(%name)
{
if(%name $= "")
getSaveFilename("terrains/heightfield/*png", "Heightfield::doSaveBitmap");
else
Heightfield::doSaveBitmap(%name);
}
function Heightfield::doSaveBitmap(%name)
{
terraformer.saveGreyscale($TerraformerSaveRegister, %name);
}
//--------------------------------------
function Heightfield::save(%name)
{
Heightfield::saveTab();
if(%name $= "")
getSaveFilename("terrains/heightfield/*cs", "Heightfield::doSaveHeightfield");
else
Heightfield::doSaveHeightfield(%name);
}
//--------------------------------------
function Heightfield::doSaveHeightfield(%name)
{
%name = fileBase(%name);
if (%name $= "")
return;
new fileObject("saveFile");
saveFile.openForWrite("terrains/heightfield/" @ %name @ ".cs");
// loop through each operation and save it to disk
%rowCount = Heightfield_operation.rowCount();
for(%row = 0; %row < %rowCount; %row++)
{
%data = restWords(Heightfield_operation.getRowText(%row));
%data = "Heightfield::add(\"" @ expandEscape(%data) @ "\");";
saveFile.writeLine(%data);
}
saveFile.close();
saveFile.delete();
}
//--------------------------------------
function Heightfield::load(%name)
{
if(%name $= "")
getLoadFilename("terrains/heightfield/*.cs", "Heightfield::doLoadHeightfield");
else
Heightfield::doLoadHeightfield(%name);
}
//--------------------------------------
function Heightfield::doLoadHeightfield(%name)
{
%name = fileBase(%name);
if (%name $= "")
return;
%name = "terrains/heightfield/" @ %name @ ".cs";
Heightfield_operation.clear();
$selectedOperation = -1;
$HeightfieldDirtyRow = -1;
// zero out all shifting
terraformer.setCameraPosition(0,0);
HeightfieldPreview.reset();
exec(%name);
if (Heightfield_operation.rowCount() == 0)
{
// if there was a problem executing the script restore
// the operations list to a known state
Heightfield_operation.clear();
Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0");
}
%data = restWords(Heightfield_operation.getRowText(0));
%x = getField(%data,7);
%y = getField(%data,9);
HeightfieldPreview.setOrigin(%x, %y);
Heightfield_operation.setSelectedById(Heightfield_operation.getRowId(0));
terraformer.setCameraPosition(%x,%y);
}
//--------------------------------------
function Heightfield::setBitmap()
{
getLoadFilename("terrains/heightfield/*.png", "Heightfield::doSetBitmap");
}
//--------------------------------------
function Heightfield::doSetBitmap(%name)
{
%name = fileBase(%name);
if (%name !$= "")
%name = "terrains/heightfield/" @ %name @ ".png";
bitmap_name.setValue(%name);
Heightfield::saveTab();
Heightfield::preview($selectedOperation);
}
//--------------------------------------
function Heightfield::hideTab()
{
tab_terrainFile.setVisible(false);
tab_fbm.setvisible(false);
tab_rmf.setvisible(false);
tab_canyon.setvisible(false);
tab_smooth.setvisible(false);
tab_smoothWater.setvisible(false);
tab_smoothRidge.setvisible(false);
tab_filter.setvisible(false);
tab_turbulence.setvisible(false);
tab_thermal.setvisible(false);
tab_hydraulic.setvisible(false);
tab_general.setvisible(false);
tab_bitmap.setvisible(false);
tab_blend.setvisible(false);
tab_sinus.setvisible(false);
}
//--------------------------------------
function Heightfield::showTab(%id)
{
Heightfield::hideTab();
%data = restWords(Heightfield_operation.getRowTextById(%id));
%tab = getField(%data,1);
echo("Tab data: " @ %data @ " tab: " @ %tab);
%tab.setVisible(true);
}
//--------------------------------------
function Heightfield::center()
{
%camera = terraformer.getCameraPosition();
%x = getWord(%camera, 0);
%y = getWord(%camera, 1);
HeightfieldPreview.setOrigin(%x, %y);
%origin = HeightfieldPreview.getOrigin();
%x = getWord(%origin, 0);
%y = getWord(%origin, 1);
%root = HeightfieldPreview.getRoot();
%x += getWord(%root, 0);
%y += getWord(%root, 1);
general_centerx.setValue(%x);
general_centery.setValue(%y);
Heightfield::saveTab();
}
function ExportHeightfield::onAction()
{
error("Time to export the heightfield...");
if (Heightfield_operation.getSelectedId() != -1) {
$TerraformerSaveRegister = getWord(Heightfield_operation.getValue(), 0);
Heightfield::saveBitmap("");
}
}