====== To-do list for L3DT release 2.5 ====== Due date: April 2007. Last updated: //[[user>aaron]] 2007/04/02 00:06// ===== Feature list ===== ==== User interface ==== === Tools === * {{:common:done.gif|DONE}} Added brush size/shape to DM paint tool (last used value is remembered). * {{:common:done.gif|DONE}} Add copy, paste, select all, and deselect area to edit menu. * {{:common:done.gif|DONE}} Added 'Edit->Select area' option (for copy, paste, export). * {{:common:done.gif|DONE}} Enable water flood tool and water body delete tools for mosaic maps. === Display === * {{:common:done.gif|DONE}} MipMap main window display, for faster rendering of large mosaics. * {{:common:done.gif|DONE}} Threaded map rendering, with cancel button. * {{:common:done.gif|DONE}} Added view shortcuts (1=DM, 2=HF, etc. '~' for cycle.) * {{:common:done.gif|DONE}} Added 'View->Show map area' option. === Menu options === * {{:common:done.gif|DONE}} Operations->Heightfield->Filter (diffusion) * {{:common:done.gif|DONE}} Operations->Heightfield->Fractal inflate * {{:common:done.gif|DONE}} Operations->Alpha maps->Alpha express * {{:common:done.gif|DONE}} Operations->Design map->Resize design map * {{:common:done.gif|DONE}} Added climates to 'climates' menu, allowing direct edit. === Other === * {{:common:done.gif|DONE}} Added more [[l3dt:userguide:accelerator|keyboard shortcuts.]] * {{:common:done.gif|DONE}} Cancel button in progress box turns to 'Really?' button after 1st click, requiring 2nd click. This avoids accidental cancellation. * {{:common:done.gif|DONE}} Added 'Export to Atlas' menu option and dialog (note: requires Torque plugin.) * {{:common:done.gif|DONE}} Added move up/down buttons to plugin manager. * {{:common:done.gif|DONE}} Check for changes in extension dialog before asking for reset. * {{:common:done.gif|DONE}} Enable wizard presets in standard edition. * {{:common:done.gif|DONE}} Beep when calc queue is completed (off by default, enabled 'Settings->Local settings', then 'Calc->AutoComplete->BeepWhenDone'). * {{:common:done.gif|DONE}} Remember last used settings in image drape. ==== Algorithm changes ==== * {{:common:done.gif|DONE}} Improved accuracy of shadow mapping with light divergence & multi-casting (L3DT Pro only). * {{:common:done.gif|DONE}} Allow re-sizing of mosaic heightfield. * {{:common:done.gif|DONE}} Stronger heightfield erosion. ==== Parallel multithreading ==== * {{:common:done.gif|DONE}} Created thread manager. * 'Basic' parallel multithreading: * {{:common:done.gif|DONE}} calc_LM_lighting --- //to be revised in v2.5a// * 'Better' parallel multithreading (via threadman): * {{:common:done.gif|DONE}} calc_TN_GenMap * {{:common:done.gif|DONE}} calc_TX_GenMapPro * {{:common:done.gif|DONE}} Use CCriticalSection lock for Get/SetPixel in CMosiacMap when tile allocation is changed. * {{:common:done.gif|DONE}} Use CCriticalSection lock for loading of textures/bump maps in CTexLayer (needs more testing). ==== File I/O ==== * {{:common:done.gif|DONE}} Make re-size on export create a temp mosaic (uses less RAM.) * {{:common:done.gif|done}} Option to nuke temp directory on close ('Local->File->DeleteTempDirOnExit') - on by default. * {{:common:done.gif|DONE}} Switch L3DT's temp dir to subdir of TEMP environmental variable (by default, can be changed). * {{:common:done.gif|DONE}} Made option to force MinAlt/MaxAlt in HF image import to apply to 0->255 greyscale range, rather than Imin->Imax range from image. Option is at '//Settings->Local settings->File->Import->Image->UseGreyscaleRange//'. * {{:common:done.gif|DONE}} Allow other file types to open from MRU (RUN, DEF.XML, HFF, etc - like proc cmd line). * {{:common:done.gif|DONE}} Changed summary file extension back to HTML. * {{:common:done.gif|DONE}} Removed RLE from WMF. * {{:common:done.gif|DONE}} Re-used WMF for TWM (//that's one less format!//) * {{:common:done.gif|DONE}} Remove mosaic sub-sample code (replaced by mipmapping). ==== Bug fixes ==== * {{:common:done.gif|DONE}} Debugged prog display on erosion routine for odd sizes (256x163 design maps, with mosaic HF tile size of 1536.) * {{:common:DONE.gif|DONE}} Fixed bug in resize code that called GetMinMaxScale on non-HF/WM maps ([[http://www.bundysoft.com/phpBB2/viewtopic.php?p=2202#2202|see thread]].) * {{:common:DONE.gif|DONE}} Fixed overlay of plateaux on map edges. * {{:common:DONE.gif|DONE}} Fixed resizing of non-square maps. * {{:common:DONE.gif|DONE}} Fixed path handling when land type textures are on a different drive. * {{:common:done.gif|DONE}} Fix reported map size in light/texture wizards. * {{:common:done.gif|DONE}} Fix lininterp pixel access in shadow calc ([[http://www.bundysoft.com/phpBB2/viewtopic.php?t=391|see this post]]). * {{:common:done.gif|DONE}} Fix high-res mipmapped drape (thanks: Leon.) * {{:common:done.gif|DONE}} Fix preservation of extents HF resizing (was preserving scaling instead.) * {{:common:done.gif|DONE}} Redraw design map after 'Operations > Design map > Generate from HF' * {{:common:done.gif|DONE}} Fix mip-map bounds checking in CMapWrap::SetPixel. * {{:common:done.gif|DONE}} Fix tool view-mode checking (DM, WM, etc.) * {{:common:done.gif|DONE}} Fix split to mosaic. * {{:common:done.gif|DONE}} Fix bug in mosaic wizard pane (see [[http://www.bundysoft.com/phpBB2/viewtopic.php?t=401|this thread]].) * {{:common:done.gif|DONE}} Debug atFilterAM on climates other than temperate. * {{:common:done.gif|DONE}} Add more hacks to make mosaic HF/WM work in L3DTVi2. * {{:common:done.gif|DONE}} Fix offset and null x-max, y-max edges in import DM. * {{:common:done.gif|DONE}} Fix refresh DM of when using design map schemes dialog. * {{:common:done.gif|DONE}} Fix DM resize ([[http://www.bundysoft.com/phpBB2/viewtopic.php?t=445|see this thread]]) * {{:common:done.gif|DONE}} Fix shadow offset with high-res normals/light-map. * {{:common:done.gif|DONE}} Fix slow speed when generating AM with a DM ([[http://www.bundysoft.com/phpBB2/viewtopic.php?p=2973#2973|see this post]]) * {{:common:done.gif|DONE}} Fix incorrect climate selection when no AM present ([[http://www.bundysoft.com/phpBB2/viewtopic.php?p=2973#2973|see this post]]) * {{:common:done.gif|DONE}} Fix black lines in light map/texture ([[http://www.bundysoft.com/phpBB2/viewtopic.php?t=508|see this post]]). * {{:common:done.gif|DONE}} Fix alpha layer depth selection in L3DT SE. ==== Other ==== * {{:common:done.gif|DONE}} Move settings to %APPDATA% (for non-admin privileges) . * {{:common:done.gif|DONE}} Made settings more easily transferable between versions. * {{:common:done.gif|DONE}} Added logfile link in start menu. * {{:common:done.gif|DONE}} Added shell file associations for PROJ, MMF, ZEO, HFF, HF2, HFZ, TER (optional), BT (optional). * {{:common:done.gif|DONE}} Made 'L3DT for Torque' version. ==== Plugins ==== === API === * {{:common:done.gif|DONE}} Allowed plugins to add functions to L3DT. * {{:common:done.gif|DONE}} Allowed plugins to add menu options to L3DT. * {{:common:done.gif|DONE}} Allowed L3DT to dynamically add zeolite functions. * {{:common:done.gif|DONE}} Added ExtGetApiVersion to CExtAPI.h. * {{:common:done.gif|DONE}} Added various API functions (see [[zeolite:changes|change log]].) * {{:common:done.gif|DONE}} Catch exceptions thrown in plugin functions. * {{:common:done.gif|DONE}} Remove MFC dependence of CExtAPI (not derived from CObject, doesn't use AfxMessageBox) * Threading: * {{:common:done.gif|DONE}} Allow plugins to call zeofuncs in worker threads, using [[zeolite:functions:zeofunc_ExecuteThreaded]]. * {{:common:done.gif|DONE}} Allow plugins to determine whether their menu items should fun in threads, using [[zeolite:functions:menu_InsertItemEx]]. * {{:common:done.gif|DONE}} Made VarID_Climate, VarID_LandType and VarID_vector3f editable by var_EditUI === C++ wrapper classes === * {{:common:done.gif|DONE}} CzVar * {{:common:done.gif|DONE}} CzList * {{:common:done.gif|DONE}} CzStr * {{:common:done.gif|DONE}} CzMap * {{:common:done.gif|DONE}} CzFormat * {{:common:done.gif|DONE}} CzComboSel * {{:common:done.gif|DONE}} CzProgBox * {{:common:done.gif|DONE}} CzBuffer * {{:common:done.gif|DONE}} CzFunc * {{:common:done.gif|DONE}} CzColour === File format plugins === * [[bundywiki>plugins:fileio:L3DT_Atlas|L3DT_Atlas]] (by Ben Garney). * [[bundywiki>plugins:fileio:L3DTio_FI|L3DTio_DMF]] * {{:common:done.gif|DONE}} Make mosaic-compatible (for mipmapping.) * [[bundywiki>plugins:fileio:L3DTio_FI|L3DTio_HFF]] * {{:common:done.gif|DONE}} Fix scale checking in LoadMapFile/LoadTileFile (allow zero range.) * [[bundywiki>plugins:fileio:L3DTio_FI|L3DTio_FI]] * {{:common:done.gif|DONE}} Update for TGA. * {{:common:done.gif|DONE}} Fix byte ordering on DWORD/RGBA maps (FI assumes BGRA, apparently.) * {{:common:done.gif|DONE}} Fix colour-mapped AM. * {{:common:done.gif|DONE}} [[bundywiki>plugins:fileio:L3DTio_TER|L3DTio_TER]]. * {{:common:done.gif|DONE}} [[bundywiki>plugins:fileio:L3DTio_HFZ|L3DTio_HFZ]]. * {{:common:done.gif|DONE}} [[bundywiki>plugins:fileio:L3DTio_RAW_HF|L3DTio_RAW_HF]]. * {{:common:done.gif|DONE}} [[bundywiki>plugins:fileio:L3DTio_BT|L3DTio_BT]]. * {{:common:done.gif|DONE}} [[bundywiki>plugins:fileio:L3DTio_WMF|L3DTio_WMF]]. * {{:common:done.gif|DONE}} [[bundywiki>plugins:fileio:L3DTio_AMF|L3DTio_AMF]]. * {{:common:done.gif|DONE}} [[bundywiki>plugins:fileio:L3DTio_PCX|L3DTio_PCX]]. * {{:common:done.gif|DONE}} [[bundywiki>plugins:L3DTio_WMPRO|L3DTio_WMPRO]]. === Calculation / other plugins === * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:Sapphire|Sapphire]] rendering plugin. * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:atExportToTV3D|atExportToTV3D]]. * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:general:CopyPaste|CopyPaste]]. * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:general:atGrowTilesByOne|atGrowTilesByOne]]. * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:calc:SphericalDistort|SphericalDistort]]. * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:general:atExportArea|atExportArea]]. * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:calc:atFilterAM|atFilterAM]]. FIXME * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:general:atFuncBrowser|atFuncBrowser]]. * {{:common:done.gif|DONE}} Built [[bundywiki>plugins:calc:atLightMapSequence|atLightMapSequence]]. * {{:common:done.gif|DONE}} Update ExportArea to work with mosaics. * {{:common:done.gif|DONE}} Update atGrowTilesByOne to work with non-mosaics. === Installation === * {{:common:done.gif|DONE}} Allow plugins to be installed by drag-n-drop on L3DT icon (parse shell commands). * {{:common:done.gif|DONE}} Allow plugins with '.zeo' extension to be installed by double-clicking (shell file association) ====== Next release ====== >> [[aaron:todo:l3dt:v2.5a|Release 2.5a]] >>