diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 24126cf..37f38fc 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,30 @@ D2kEditor changelog +Version 1.1 (released 2015-10-16) +--------------------------------- +Fixed: Auto-smooth rock/dunes edge feature did not work properly on non-square maps +Fixed: Tried to fix the status bar cut-off (status bar is now okay hopefully) +Fixed: When a map is shifted, event positions were not shifted +Fixed: When saving Briefing, newlines were erroneously inserted where a line was only visually broken +Fixed: Error message when opening a map from commandline +Added: Support for new event types added in FunkyFr3sh's Dune 2000 patch (Leave, Play Sound...) +Added: Key shortcuts for selecting event/condition type +Added: "Diff mode" in AI settings - only values which are different from default values are shown +Added: Several minor and cosmetic improvements + +Remade terrain editing GUI and added possibility to configure block presets and other things for each tileset. +- You can paint spice in Terrain mode instead of Structures mode. +- Added new "Block preset selection" window where you can see all presets for selected group in the same order + as how you select them with the keyboard. It can be displayed by clicking on current block, double-clicking on + block-preset group or pressing space two times. Use right-click to change to next block variant, middle-click to + display keyboard keys and Tab to change variant for all presets. + If you set "HidePresetWindow" setting in D2kEditor.ini to 0, the window will stay open after selecting a preset. +- Added presets also all for tileset-specific blocks +- Each tileset has its own .ini file. There you can configure minimap colors, names of paint and block-preset groups, + block presets and other things. This way you can easily add custom tilesets and tailor the editor for using them. + + + Version 1.0 (released 2015-07-10) --------------------------------- Added: "Smooth rock/dunes edge" feature: diff --git a/main.dfm b/main.dfm index f8bc300..d8b592c 100644 --- a/main.dfm +++ b/main.dfm @@ -105,7 +105,7 @@ object MainWindow: TMainWindow Width = 150 end item - Text = 'v1.0' + Text = 'v1.1' Width = 0 end> end @@ -330,7 +330,7 @@ object MainWindow: TMainWindow Width = 73 Height = 21 Style = csDropDownList - ItemHeight = 0 + ItemHeight = 13 TabOrder = 5 end end diff --git a/main.pas b/main.pas index d40d3b0..41f515c 100644 --- a/main.pas +++ b/main.pas @@ -895,7 +895,7 @@ procedure TMainWindow.Mouseactions1Click(Sender: TObject); procedure TMainWindow.About1Click(Sender: TObject); begin ShowMessage('Dune 2000 Map and Mission Editor'#13#13'Part of D2K+ Editing tools'#13#13+ - 'Made by Klofkac'#13'Version 1.0'#13'Date: 2015-07-10'#13#13+ + 'Made by Klofkac'#13'Version 1.1'#13'Date: 2015-10-16'#13#13+ 'http://github.com/jkoncick/D2kEditor'#13#13+ 'Special thanks to:'#13'mvi - for making the original Mission editor'#13'FunkyFr3sh - for patching Dune 2000'#13'FED2k community - for their support'); end; diff --git a/tilesets/template.ini b/tilesets/template.ini new file mode 100644 index 0000000..20d4106 --- /dev/null +++ b/tilesets/template.ini @@ -0,0 +1,339 @@ +[Minimap_Color_Rules] +;There you can define minimap colors for tiles according to their attributes. +;This section has form of a list of rules. Each rule is applied to tile's attributes +;from the first to the last one and when a rule is matched then given color is +;rendered on minimap for that tile. +;Rules are defined in this form: "color=and_value;check_value" or "color=and_value" +;When a rule is applied, tile attributes are AND-ed with and_value and the result is +;compared with check_value. If they are equal then the rule is matched. +;If you don't specify check_value then the result is compared with and_value. +;All values should be specified in hexadecimal form (starting with $ character). + +;Cliffs (Impassable) +$29285A=$6000;$0 +;Rough rocks (Infantry-only) +$375582=$6000;$4000 +;Rock (Buildable) +$509CDC=$8000 +;Rock +$58A4E4=$20000000 +;Dunes (Slowdown) +$ACDFEF=$40000000 +;Sand +$8CDFEF=$0 + + +[Fill_Area_Rules] +;There you can define rules to distinguish between different area types when you use the +;"Fill area feature". Thin and Thick Spice is always distinguiehed as a separate area. +;Rules are defined in this form: "area_number=and_value;check_value" or "area_number=and_value" +;where area_number can be any unique number and rules are applied in the same way as +;in minimap rules. + +;Clean sand +1=$01 +;Sand decorations +2=$10 +;Dunes area +3=$40 + + +[Spice_Settings] +;There you can define which tiles from tileset are used to render spice, the color of spice +;on minimap and spice restriction rule (defined in same way as minimap/fill area rules). +ThinSpice.tile=748 +ThinSpice.color=$52AEF7 +ThickSpice.tile=301 +ThickSpice.color=$2179E7 +SpiceRestrictionRule=$10040;$10000 + + +[Paint_Tile_Groups] +;There you can define up to 4 tile groups for Paint mode (like Sand, Rock, etc). +;tile is number of tile which is drawn in terrain editing GUI. +;smoothgroup is block preset group which is used for "Auto-smooth edge" feature. +;The actual tiles in groups are defined in TILEATRx.BIN file via editor attribures. +;Use attribute 0x1 for group 1, 0x2 for group 2, 0x4 for group 3 and 0x8 for group 4. +Group1.name=Sand +Group1.tile=48 +Group2.name=Rock +Group2.tile=552 +Group2.smoothgroup=3 +Group3.name=Dunes +Group3.tile=81 +Group3.smoothgroup=4 + + +[Block_Preset_Groups] +;There you can define up to 8 block-preset groups. +;paint is the associated Paint-tile group (you switch to it when pressing the key under ESC). +Group1.name=Rock cliff +Group1.paint=2 +Group2.name=Sand cliff +Group2.paint=1 +Group3.name=Rock border +Group3.paint=2 +Group4.name=Dunes border +Group4.paint=3 +Group5.name=Sand specials +Group5.paint=1 +Group6.name=Rock specials +Group6.paint=2 +Group7.name=Other specials +Group7.paint=2 + + +[Block_Preset_Group_1] +;There you define block presets for a particular block-preset group. +;One or more block preset variants are defined for each key on keyboard. +;The variants are divided by ; character, the presets are in the form +;"width.height.x_pos.y_pos". Do not put any spaces in preset definitions. +;Up +2=2.3.16.22 +3=2.2.07.26;2.2.09.26;2.2.00.28;1.2.17.33 +4=2.3.14.22 +;Left +Q=3.2.00.26 +E=2.2.04.22;2.2.06.22;2.2.08.22;2.1.18.34 +A=3.2.00.24 +;Right +T=3.2.11.23 +D=2.2.05.24;2.2.07.24;2.2.09.24;2.1.18.33 +G=3.2.11.25 +;Down +X=2.3.02.20 +C=2.2.04.20;2.2.06.20;2.2.08.20;1.2.16.33 +V=2.3.10.20 +;Outer curves +1=2.2.16.18 +5=2.2.18.18 +Z=2.2.16.20 +B=2.2.18.20 +;Inner curves +W=2.2.04.28 +R=2.2.06.28 +S=2.2.10.28 +F=2.2.08.28 +;Up +6=2.2.05.26 +7=2.2.18.24 +8=2.2.18.22 +9=2.2.02.28 +;Left +Y=2.2.00.22 +U=2.2.12.00 +J=2.2.14.00 +H=2.2.03.24 +;Right +O=2.1.12.22 +I=2.2.14.02 +K=2.2.15.04 +L=2.2.03.26 +;Down +N=2.2.00.20 +M=2.2.14.25 +<=2.2.16.25 +>=2.2.12.20 +;Others +0=3.3.00.30 +P=1.2.13.02 + +[Block_Preset_Group_2] +;Up +2=2.3.06.10 +3=2.2.07.04;2.2.00.08;2.2.02.08;1.2.15.33 +4=2.3.04.10 +;Left +Q=3.2.08.12 +E=2.2.18.04;2.2.18.06;2.2.06.08;2.1.12.34 +A=3.2.08.10 +;Right +T=3.2.11.12 +D=2.2.11.04;2.2.13.04;2.2.08.08;2.1.09.34 +G=3.2.11.10 +;Down +X=2.3.00.10 +C=2.2.02.06;2.2.14.06;2.2.16.06;1.2.14.33 +V=2.3.02.10 +;Outer curves +1=2.2.05.04 +5=2.2.09.04 +Z=2.2.00.06 +B=2.2.04.06 +;Inner curves +W=2.2.12.06 +R=2.2.10.06 +S=2.2.08.06 +F=2.2.06.06 +;Up +6=2.2.14.10 +7=2.2.18.22 +8=2.2.18.24 +9=2.2.16.10 +;Left +Y=2.2.14.08 +U=2.2.14.00 +J=2.2.12.00 +H=2.2.16.08 +;Right +O=2.1.18.14 +I=2.2.15.04 +K=2.2.14.02 +L=2.2.14.12 +;Down +N=2.2.10.08 +M=2.2.16.25 +<=2.2.14.25 +>=2.2.12.08 +;Others +0=2.2.03.30 +P=2.2.05.30 + +[Block_Preset_Group_3] +;Up +2=2.2.18.12 +3=1.1.11.14;1.1.12.14;1.1.13.14;1.1.14.14;1.1.15.14 +4=2.2.16.12 +;Left +Q=2.2.06.13 +E=1.1.14.16;1.1.15.16;1.1.16.16;1.1.17.16;1.1.14.15 +A=2.2.04.13 +;Right +T=2.2.00.13 +D=1.1.11.16;1.1.12.16;1.1.13.16;1.1.15.15 +G=2.2.02.13 +;Down +X=2.2.18.08 +C=1.1.06.16;1.1.07.16;1.1.17.15 +V=2.2.18.10 +;Outer curves +1=1.1.08.14 +5=1.1.16.14;1.1.13.15 +Z=1.1.09.16 +B=1.1.18.15 +;Inner curves +W=1.1.03.15 +R=1.1.04.15 +S=1.1.03.16 +F=1.1.04.16 + +[Block_Preset_Group_4] +;Up +2=2.2.16.0 +3=1.1.1.3 +4=2.2.18.0 +;Left +Q=2.2.10.0 +E=1.1.0.4 +A=2.2.4.1 +;Right +T=2.2.6.1 +D=1.1.2.4 +G=2.2.2.1 +;Down +X=2.2.16.2 +C=1.1.1.5 +V=2.2.18.2 +;Outer curves +1=1.1.0.3 +5=1.1.2.3 +Z=1.1.0.5 +B=1.1.2.5 +;Inner curves +W=1.1.0.1 +R=1.1.1.1 +S=1.1.0.2 +F=1.1.1.2 + + +[Block_Preset_Group_5] +1= +2= +3= +4= +5= +6= +7= +8= +9= +0= +Q= +W= +E= +R= +T= +Y= +U= +I= +O= +P= +A= +S= +D= +F= +G= +H= +J= +K= +L= +:= +Z= +X= +C= +V= +B= +N= +M= +<= +>= +?= + + +[Block_Preset_Group_6] +1= +2= +3= +4= +5= +6= +7= +8= +9= +0= +Q= +W= +E= +R= +T= +Y= +U= +I= +O= +P= +A= +S= +D= +F= +G= +H= +J= +K= +L= +:= +Z= +X= +C= +V= +B= +N= +M= +<= +>= +?= + + +[Block_Preset_Group_7] +F= +G= +H= +J=