Optimised shadow raycast in calc_SH_GenMap (10-20x improvement, see blog post).
Added specular highlights to light/texture map.
-
Added specular colour button to light map wizard.
Added specular checkbox to light map wizard #2.
Set mosaic maps as the default option in AM/TN/LM/TX wizards for L3DT Pro.
Changed wizards UIs to (quietly) force map tiling on maps larger than 8k x 8k. This prevents users from choosing settings that may cause 'insufficient memory' errors ( see this thread).
Made AM wizard ignore HF mosaic state (if disabled), and use default (on) regardless.
Restore Win2K support by replacing CSysLink control with custom 'ShellLinkCtrl' ( see this thread).
Added 'Active map' menu.
Update manager windows:
Updated copy/paste:
Modified 'calc.map.CopyArea' and 'calc.map.Resize' to take uint flag for setting progress method (inline / threaded).
Updated Copy/Paste dialog box to support different paste alignments.
Added 'Paste as new layer' option.
Added 'cancel' button option to standard L3DT progress box (Now demonstrated in Spring plugins to cancel lengthy file I/O.)
Modified wizards to use DLUs for sizes, so as to be suitable for different font sizes ( see this thread).
Modified export wizard to explicitly set path if none given (using project path, or otherwise 'USERPROFILE\L3DT\maps').
Modified update manager to check update release date against free update period of users' licenses, and warn when update is not supported by key.
Updatet tab control:
Rewrite tab control using GDI, as opposed to hacky CTabCtrl.
Added context menus for tabs.
Added « and » arrows, and panning support.
Double buffered rendering.
-
Added ability to add plugin menu items to other menus (e.g. import, export, etc.)
Converted extension functions to use hvar instead of map args.
Added 'file.xml.Save' and 'file.xml.Load' extension functions.
Added plugin API helper c++/h files for XML read/write.
Added L3DTio_VTP, and removed corresponding code from L3DT core.
-
-
-
-
Modified both TER plugins ( L3DTio_TER and L3DTio_TorqueTER) to detect when loading files from one-another, and throw sensible errors.
Modified AMF format/plugin to include the list of climate names in the file, to ensure proper loading of AM when project file is missing climates (e.g. user forgets to hit save after modifying mosaic AM).
Updated L3DTio_Atlas2 to add own menu item, and removed corresponding item from L3DT core.
Updated 7zWrap to store path settings in local.ini.xml.
Updated L3DTio_FI to support 'L3DTio_FI.PeekMapType' extension function.
Updated atRainMaker to add 'cancel' button, and bring it up to date with the current plugin API.
Modified L3DTio_SMT to automatically disable the SSE version if the non-SSE version is loaded, and vice-versa.
-
Updated atGeoRef2 to add EPSG projection code field.
Updated L3DTio_HFZ to fix saving of EPSG projection code.
-
Updated atFilterAM to work with Zeolite v2.7.4.
Updated plugins to use new menu contexts.
Modified L3DTio_OBJ to use vector3fs for vert buffer, like Sapphire.
-
-
Added MTL and texture coordinate export using 'File→Export→Export OBJ and MTL' option.
Added x/y offset to centre map plane in Obj exporter.
Added support for OBJ face groups in OBJ loader (e.g. for mixed tri / quad models, using same vertex/norm lists)
Added support for tex coord and material loading in OBJ loader.
Created L3DTio_S3O plugin, to render Spring objects in Sapphire (for tree placement, etc.).
Modified progress bar to restore Linux/Wine compatibility ( see bug report).
Added automatic loading of climates, materials and scripts ( see blog post).
Reduced incidences of clashes between multiple L3DT sessions over writing to logfile by retrying write for up to 5 seconds.
Recompiled atGeoRef2 to support Win2K.
Fixed T3D Material Manager, which wasn't allowing edit of 2nd material in list.
-
Fixed calc queue, which was quitting after HF (was error in DesignInflate return values).
Modified AM brush to invalidate AM-image when there is a size mismatch ( see this thread).
Made texture paths relative in MTL exporter ( see request).
Fixed initialisation to prevent simultaneous, overlapped display of Pro welcome message and walkthrough.
Fixed image drape (poorly done unicode→ascii code was ignoring selection and returning only map name of “HF”).
Fixed terrace vertical range thresholds to scale by horizontal scale (was not terracing very small horiz scales). — see this thread.
Fixed loading of project map mosaics that do not have entries in project formats list (e.g. 'AM-image') — was throwing error that project could not set active format.
Modified drag selection handler in L3DT to clip coordinates if selection rectangle exceeds map extents (previously was rejecting selection, which was annoying).
Modified progress grid window so that HideView is not called directly by worker thread (it triggered breakpoint in debug mode due to ShowWindow call)
Modified log view so that ShowView is not called directly by worker thread (it triggered breakpoint in debug mode due to ShowWindow call)
-
Fixed the dreaded crash during shutdown and reset (was caused by calling backup plugin after it's unloaded).
Fixed 'CL3DTio_BackupApp::FinaliseEditRecord' error when double-clicking with the design map brush ( see this thread).
Made buffer class remember item type when copied (previously only remembered item size).
Made wizard non-topmost.
-
Fixed pixel alignment to match display buffer in 2D view (look at dots in DM) ( see forum thread). — fixed using ClipRgn.
Shutdown plugins in reverse order.
Fixed bug in 'project.GetMapListH' extension function, which was always returning null.
-
Made 'Import HF' option store active format var when imported from a mosaic (inc. when translating mosaic from non-native to native format).
Fixed filter in 'File→Import→Heightfield' option, which didn't include MMF and contained a formatting error.
Fixed mosaic format behaviour with 'File→Open' (setting active format, and translating non-native to native formats).
Fixed startup error message regarding atAttribBrush::ExtIsShownTX ( see this thread).
Fixed 'CMapGroup::HF_ImportFromImage' format to not set format flags, as this caused a 'please change format' message when saving project.
Fixed export in Standard Edition of mosaic texture as a non-mosaic file (was running afoul of overzealous no-mosaic-split-or-combine rule).
Updated land type editor, RAM chart and vertical scale dialogs to use DLU-based coordinates for element placement, so as to support non-default fonts.
Added sanity check to image drape dialog to prevent user from selecting no project map and pressing OK (was throwing errors downstream).
Used OpenGL lighting for heightfield renderer (this adds specular lighting).
Added frame timer using GetTickCount
Added more toolbar/menu options (skybox button, fog colour menu option).
Implemented path recording.
Primitive rendering (boxes, spheres, cylinders, cones, etc.)
Added call list support to CsMesh (on by default)
Added CsProxy class
Converted to have base class of CsMesh, with quadric-like generation method:
CsBox (as a mesh:GL_QUADS)
CsCylinder (as a mesh:GL_QUAD_STRIP)
CsCone (as a mesh:GL_TRIANGLE_FAN)
Added vertex normals to primitives:
Tested CsMesh in following modes:
GL_TRIANGLES
GL_TRIANGLE_FAN
GL_QUADS
GL_QUAD_STRIP
Added normal coordinate support to CsMesh
Added texture coordinate support to CsMesh
Added CsMesh::Load support:
Added support for alpha blending in CsObject.
Fixed point grab tool.
Fixed tessellator max variance depth so that highest detail level is hit sooner.
Fixed keyboard capture by Sapphire's toolbar, using WindowProc
Fixed fog/skybox toggle when changing from tex to poly to wire.
Fixed persistence of user settings (when changing menu option, presets file is updated).
Fixed typo of 'Frustum' as 'Frustrum' in menu.
Added call traces in ShowWnd/HideWnd to assist with debugging driver problems.
|