====== L3DT release 2.6 ====== Released on the 18th of October, 2008 ([[bundynews>l3dt:ann:v2.6|see announcement]]) ===== Major features ===== ==== Improved brush tools ==== * Added [[bundywiki>plugins:sapphire:userguide:hf_edit:leveller|'level at' and 'leveller']] heightfield brush tools. * Attributes and texture map brushes are now available in both 2D and 3D interface. * Brush sizes in both 2D and 3D views can now be changed using the mouse scroll-wheel. * Updated Sapphire and L3DT userguides for attributes map brush ([[bundywiki>plugins:sapphire:userguide:am_edit|here]] and [[l3dt:userguide:tools:am_brush|here]]). * Wrote Sapphire and L3DT userguides for texture map brush ([[bundywiki>plugins:sapphire:userguide:tx_edit|here]] and [[l3dt:userguide:tools:tx_brush|here]]). * Added radius edit to attributes/texture map brushes, and SetBrushRadius functions to L3DT and Sapphire. * Added 'sample' button to attributes/texture map brush tool (it works like an eye-dropper.) * Added indexed map brush tool, for painting indexed BYTE/WORD/DWORD maps. * Fix pause handling in '//Edit in 3D//' menu options for HF, AM and TX. ==== Improved TGEA support ==== * Completed blended terrain support for L3DT to TGEA Altas2 plugin ([[bundywiki>plugins:fileio:L3DTio_Atlas2|see here]]). * Add start-to-finish tutorial for TGEA unique //and// blended terrain ([[bundywiki>tutorials:torque:aaron|see here]]). * Added 'Atlas' button to toolbar, for direct access to the exporter. * Increase size limit in L3DT Standard to 2049x2049 pixels to allow TGEA Atlas2 exports of 2k x 2k pixel heightfields ([[http://www.bundysoft.com/phpBB2/viewtopic.php?t=893|see this thread]]). ==== Improved Spring support ==== * Added a //Spring Mapping// wizard, a matching button on toolbar, and wrote a [[bundywiki>tutorials:ta_spring:aaron|comprehensive tutorial]] on how to use them. * Added an SD7 importer and exporter. * Added a function to auto-calculate team positions from the 'Spring-StartPoints' map. * Added an indexed brush tool for grass/patch/geovent/type/feature maps. * Added indexed display names for grass/patch/geovent/type/feature maps. * Split the feature manager into feature editor and manager windows. * Fixed the export of detail/skybox/water texture images in the SMD plugin. * Updated all 'Help!' buttons in Spring plugins to point to new/updated pages. ==== Performance / Multi-threading optimisations ==== * Optimised mosaic system for //fast// multi-threaded calculations --- // [[bundynews>l3dt:2008:aug:28|see awesome benchmark figures]]// * Optimised mosaic access in texture calculation. --- //[[bundynews>l3dt:2008:aug:28|see benchmark figures.]]// * Optimised mosaic access in light map calculation. --- //[[bundynews>l3dt:2008:aug:29|see benchmark figures.]]// * Optimised mosaic access in normal map calculation. --- //note: calc appears CPU-bound, not I/O-bound.// * Disabled tile synchronisation by default. ==== New heightfield algorithms ==== * Added a number of different design/inflate algorithms, including: * DesignInflate16 * DesignInflate32 * DesignInflate64 * DesignInflate128 * ...plus some changes required for variable design map / heightfield ratios, including: * Split 'Design map size' wizard into new 'Heightfield size' wizard and a reduced 'Design map size' wizard. * Modified the 'Perlin parameters' wizard to use the new 'heightfield size' wizard. * Added DM/HF ratio combo-boxes to: * 'Design map size' wizard ([[l3dt:userguide:wizards:design|see here]]) * 'Import design map' wizard ([[l3dt:userguide:wizards:import_dm|see here]]) * '//Operations->Design map->Generate from HF//' menu option ([[l3dt:userguide:ops:dm#making_a_design_map_for_a_fractal_perlin_imported_heightfield|see here]]). * '//Operations->Design map->Resize DM//' menu option ([[l3dt:userguide:ops:dm#resizing_the_design_map|see here]]). * ...and accordingly updated the userguides for: * Design/Inflate ([[l3dt:userguide:newmap:design_inflate|see here]]). * All design map calculations ([[l3dt:userguide:io:import:dm|see here]]). * The walkthrough guides ([[l3dt:userguide:wthru|see here]]). ==== Scripting options ==== * Added a new 'scripts' menu, with script manager and editor windows ([[l3dt:userguide:scripts|see here]]). * Allowed user to set preferred script editor. * Added Zeolite function explorer option (from [[bundywiki>plugins:general:atFuncBrowser|atFuncBrowser]]) to script editor. * Fixed the script loader in [[bundywiki>plugins:general:ZeoScript|ZeoScript]] plugin. * Added support for python scripts in menu/edutor, via [[bundywiki>plugins:general:cdPython|cdPython]] plugin by Carl Douglas. * Added several demo scripts to the installer. * Added 'Completion script' to [[l3dt:formats:specs:run|batch definition file]] to allow custom post-generation scripting steps in batch generation (e.g. exporting as non-native format.) ==== OS compatibility ==== === Windows Vista === * Moved resources to AppData (inc. climates/materials, overlay files, Sapphire stuff, Spring images, etc.) * Moved HKCR reg keys to HKCU/disk. * Added 'RequestExecutionLevel' flag in installer to request admin privileges when installing. === Linux/Wine === * Fixed bump-mapping --- //now works in Ubuntu 8.04 with L3DT 2.5.4.0// * Fixed alpha layer drop selection in alpha wizard --- //now works in Ubuntu 8.04 with L3DT 2.5.4.0// * Fixed climate drop-list in DM wizard --- //now works in Ubuntu 8.04 with L3DT 2.5.4.0// * Disabled ZeoPerfMon_NT plugin by default, and enable when requested by CPU throttle. --- // fixed in L3DT release 2.5.4.8// ===== Minor features ===== ==== User interface ==== * Added tabbed map view ([[bundynews>l3dt:2008:aug:04|see here]]) * Widened toolbar buttons to 20px to accommodate longer labels. * Added 'edit' and 'mouse tool' sub-menus to right-click context menu. * Added '//Edit->Screen capture->to file//' and '//Edit->Screen capture->to clipboard//' options to L3DT and Sapphire. * Marked unread items in [[l3dt:userguide:updatemanager|update manager]] window in **bold**. * Add more spin controls to wizards, including [[l3dt:userguide:wizards:hfsize|heightfield size]], [[l3dt:userguide:wizards:am|attributes map]], [[l3dt:userguide:wizards:normals|terrain normals]], [[l3dt:userguide:wizards:lightmap2|light mapping (2)]], [[l3dt:userguide:wizards:texture|texture map]], [[l3dt:userguide:wizards:alpha|alpha mapping]], [[l3dt:userguide:wizards:mosaic|mosaic settings]], [[l3dt:userguide:wizards:import_dm|import design map]]. * Added new palettes, including 'logarithmic'. * Auto-selected 'thermal' palette for salinity map (note to self: done in InitGroup). ==== Image drape ==== * Added 'image drape' button to toolbar. * Added 'map transparency' options to drape controls. * Added CCriticalSection to guard drape handle to prevent crashes when clearing drape during drawing. * Added 'view.ImageDrape.Load', 'view.ImageDrape.Clear' and 'view.ImageDrape.IsShown' zeofuncs, for scripting control of the image drape. * Added 'image drape' button to //Spring Mapping// wizard. ==== File I/O ==== * Added [[bundywiki>plugins:calc:atMeshDecimator|mesh decimation]] support to OBJ and X mesh exporters, with [[bundywiki>plugins:general:azurite|Azurite mesh renderer]] preview option. * Changed version of project settings files to '2540', with the following changes: * added 'DM.HF_in_DM' * changed DM parameters from bytes to ints. * moved 'Perlin.nx/ny' to 'HF.nx/ny' * added version checker and auto-updater to DEF.XML loader. * updated all wizards accordingly. * Added ordinal padding for alpha map export ([[http://www.bundysoft.com/phpBB2/viewtopic.php?p=4483#4483|see request]]). * L3DT now recognises '.zs.txt' files as ZeoScript files too, for when they are downloaded from the wiki. ==== New/improved plugins ==== * Created georeferencing UI plugin ([[bundywiki>plugins:general:atGeoRef2|see atGeoRef2]]). * Modified [[bundywiki>plugins:calc:atCalc_FFT|FFT plugin]] to use phase/amplitude, rather than real/imaginary coordinates. * Added [[bundywiki>plugins:general:atIndexBrush|atIndexBrush plugin]]. * Added [[bundywiki>plugins:general:atSpringWizard|atSpringWizard plugin]]. * Added [[bundywiki>plugins:calc:atMeshDecimator|atMeshDecimator plugin]]. * Added [[bundywiki>plugins:general:Azurite|Azurite mesh viewer plugin]]. ==== Plugin API ==== * Made L3DT check plugin-side API version, to ensure that L3DT doesn't try to load plugins compiled with a more recent (i.e. incompatible) API version. * ... other changes to Zeolite API in v2.6 are [[l3dt:history:v2.6:zeolite|documented here]]. ==== Bug fixes ==== * Fixed handling of slashes at end of string in ZeoScript (e.g. "c:\\hello\\" returns error). --- // reported by Shima via e-mail.// * Fixed OnLButtonUp handling in index map brush when using drape (brush was left on sometimes). * Fixed crash when double-clicking with attributes map brush. * Enabled indexed palettes in standard edition (was disabled by misplaced precompiler guard). * Fixed mosaic/multithread concurrent access bugs for TN, LM and TX calculations. * Fixed bugs in alpha mapping wizard ([[http://www.bundysoft.com/phpBB2/viewtopic.php?t=951&start=0&postdays=0&postorder=asc&highlight=|see this thread]]). * Auto-delete SD7 archives when overwriting ([[http://www.bundysoft.com/phpBB2/viewtopic.php?t=889|see this thread]]). * Fixed backup/restore plugin when backing up alpha maps (couldn't find formats). * Fixed 'InvertY' option in [[bundywiki>plugins:fileio:L3DTio_FI|L3DTio_FI]] (BMP/JPG/PNG plugin). * Fixed crash on exit when errors occurred during initialisation. * Fixed forced shutdown/restart handler. * Fixed random numerical instability in peak/fractal roughness generator for design map. --- // reported by Leon via e-mail.// * Fixed (mostly) the deep-digging by the erosion routine on some maps. --- // reported by Leon via e-mail and Fusi in the forums.// * Made non-threaded progress bar process message queue properly. ==== Other ==== * Recompiled in VC9, and fixed some resulting bugs: * Fixed size of code type selection combo box in activation dialog. * Fixed activation date handling (was causing exception). * Revised/re-wrote L3DT codebase to better resemble Zeolite API (e.g. VarList methods.) * Added '//Settings->Load patch file//' menu option. * Added ''calcman.AddCallback'' function to set ''OnComplete'' callbacks for calculation manager (used by atNetClient //et al.//) ===== Documentation ===== * Completed the [[bundywiki>tutorials:l3dt:roads|roads tutorial]].