Sun, 27 Jul 2014 04:35:48 +0300
- whoah looks like I forgot to save in designer...
Changes in version 0.3 +* - Added support for holding multiple documents open at once, adding a tab bar of open documents. +* - OpenGL renderer upgraded to use VBOs instead of display lists. This results in a massive speed-up and paves way for additional features such as random colors and correct BFC red/green view. This plus additional optimizations speed up LDForge by an order of magnitude. +* - Various other optimizations to speed LDForge up considerably. + - Added an action for creating a new, blank file without any headers. + - Added action "download from" which allows the download of part files from the LDraw Parts Tracker. Comfy rework jobs++. + - Added action "add history line" for adding new history entries + - Added "Go to line" action, renamed the config classes to proper camelcase + - Added support for logoed studs. + - Added support for '0 BFC CLIP' and '0 BFC NOCLIP' and added auto-correction from errorneous MLCAD syntax ('0 BFC CERTIFY CLIP'). + - Added configuration fields for default name/username/license alĂ DATHeader. This data will be automatically filled into the new part prompt. The auto-subfiler also uses this. + - Upon first start the configuration prompt pops up on its own. This way the user can fill in the profile data on the first start and get that out of the way, and gives the opportunity to see the other config fields. + - Added a third edit mode for adding circles, rings and discs. Uses a ring finder algorithm to automatically find a suitable ring configuration. + - (Linux-only) Added a crash catcher which calls GDB and tries to get a backtrace. Also integrated assertion failure handling to this new system. + - Added a configuration option for line anti-aliasing + - Added new actions "Hide" and "Reveal" which allow direct setting of objects' visibility setting instead of toggling it. + - Added the INSTALL document with compilation details. + - Line lengths are now displayed when drawing + - Added an action which auto-subfiles the current selection(!). It will find the first suitable s/<current_name>s##.dat, present the user an option to save elsewhere and then create the subfile. + - Added option for visible angles when drawing + - Now recognizes the p\8\ subdirectory + - Added a configurable select color blend. + - Added Ball Joint-8 stuff to primitive categories. + - Added time of commit to window title. + - Added random color support. + - Vertex snapping is now smarter, does a depth comparison to favor vertices closer to camera. Selecting a vertex very close with the cursor still allows selecting vertices far away from the camera. This makes it less likely to pick irrelevant vertices which caused problems in part files. + - Added a selection hover effect to the renderer, making selecting objects a lot more convenient. + - Selecting an invertnext'd object now also selects the invertnext. + - Made the coordinate rounding precision configurable. + - Inverting a subfile now detects whether the subfile is flat and flips it if it is instead of naively invertnexting everything. + - Added an action for opening the subfiles pointed to by selected references as editable documents. + - Added a toolbox for primitives. These primitives can be dragged and dropped into the main viewport. + - Primitive categories are now sorted alphabetically. + - Added hi-res counterparts for various primitive categories. + - Added support for direct colors. + - Added an action for splitting lines into equal-sized segments. + - Added three togglable actions for filtering what's drawn (Draw surfaces/Draw edgelines/Draw conditional lines) + - Added the magic wand tool. - - The camera is now changed to the top one if switching to draw mode while using the free camera instead of disabling the draw mode. - - The color selector now uses the color's edge color for the borders instead of black. - - Fixed: LDForge would sometimes crash during startup over uninitialized data in the GL renderer. - - Primitive generator: added support for multiple spaces before primitive numbers, add "Hi-Res" to the names of 48/ primitives. - - Implicitely-opened documents are now closed automatically when rendered unused, hopefully reducing memory usage somewhat. - - Fixed: checking the hi-res option in the primitive generator would not allow segment values over 16. - - Fixed: The message log was still written with black text with dark backgrounds. - - Fixed: couldn't open larger files because of a type mismatch in moc method calling, leading into runtime problems - - When an external program is attempted to be used without a binary path defined the user will be asked with an input dialog for the path. When adding edges while using Intersector (which is done with Isecalc), the user is prompted for Isecalc's path now as well if necessary instead of just ignoring it and not adding the edgelines. - - Coordinate rounding now works properly, figures scientific notation and rounds subfile position and matrix. Values are also now properly rounded instead of just floored, 1.2348 now rounds to 1.235 and not 1.234. Subfile matrix values are rounded to 4 decimals, everything else to 3 decimals. - - Fixed: Hi-res cones with 3 digit numbers wouldn't go to the "Cones (48)" category properly - - Fixed: overlay images are now explicitly to ARGB32 format, otherwise they might not be able to be made translucent properly - - (Linux-only) Fixed: external programs requiring wine now properly display an error prompt if wine is missing - - LDraw code parser no longer complains about scientific notation. - - Now compiles with clang. - - Fixed: the configuration dialog did not accept values past 99.99 for grid angles - - Fixed: subfile rotation did matrix multiplication with operands the wrong way around. This caused scaled subfiles to become morphed when rotated. - - Comment texts are no longer simplified (i.e. removed extra whitespace from). - - Selecting an invertnext'd object now also selects the invertnext. ! - Removed the GUI toolbar icon size slider (always 22x22 now). ! - Made the configuration dialog use a list widget for navigation instead of a tab bar. ! - Made rotation/pan/zoom values camera-dependant (so now there's 7 sets of them instead of 1) ! - Removed the version monikers, new version is now just 0.3 instead of 0.3-alpha. The first mature version will be 1.0 anyway. ! - Bumped max amount of recent files from 5 to 10 ! - "Black edges" now actually mean white edges when the background is dark. ! - The configuration file is now always located at and read from the application working directory. ! - The toolbar was somewhat reorganized. Color toolbar defaults rearranged to include full hue range. ! - Changed build system from qmake to CMake. ! - Toned down BFC red/green view colors and axis colors a tad. ! - Moved the uncolorize action into the color toolbar, replacing Main and Edge colors there. ! - Changed `<anonymous>` to `untitled`. ! - Grids now have a single coordinate snap value instead of individual X, Y and Z values. ! - Select by color and type now consider an object matching if one of the color/types match. The color/type of the existing selection does not need to be uniform anymore. ! - Removed the Non-CA license option. The CA license option is now a checkbox (disabling it means no license at all). Changes in version 0.2.1 - Fixed: File loading would skip every 300th line (don't ask me how this managed to happen). Changes in version 0.2 - Completely rewrote history (undo/redo) code, making it a LOT stabler in the process. - Added ability to snap to pre-existing vertices while drawing. - Replaced the radial type with a single action to generate primitives. - Replaced parts list in subfile item list with a primitive listing. Listing is generated either if it's not cached (prims.cfg in configuration directory) or on user demand. Primitives can be categorised with the use of a regex-based configuration file, with a valid default which should cater to most users. - Added an export to file action, moved it + insert from to File menu - Added the message log - instead of being a separate text widget as originally planned, messages are drawn into the viewport. Messages expire after 5 seconds. - Parts are now zoomed to fit properly, making the initial view of the part clearer. - Replace coords: allow replacing all coords regardless of original value, plus relative moving (offset) - Objects can now be edited by double-clicking on them. - When drawing, drawn vertices now display coordinate labels. - Added an action to quickly toggle BFC red/green view. - Objects are now copied to the system clipboard as LDraw code, rather than to an internal clipboard not accessible outside of LDForge. - Changed default keys for Y-axis moving from PgUp/PgDown to Home and End ala MLCAD. - Cleaned up the toolbars, removed clutter by removing most of the not-so-often-used items, though of course the functionality is still available through menus and keyboard shortcuts. - [Linux] External programs can now be launched with Wine. - Improved external program fault handling: don't try to replace/append the output in case of failure, catch non-zero exit codes. - Added a progress box for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. - Color selector is now twice as wide for easier color selection. - Fixed: Recent files should behave coherently now. - Fixed: Overlays could only be defined for the current camera, changing the camera in the prompt didn't work. - Fixed: text editing did not trigger checks while setting LDraw path, removed the Configure button from the LDraw path config dialog, it's no longer needed. - Fixed: Coordinates weren't drawn properly on a bright background (was always drawn in bright colors..). - Renamed "Set Contents" into "Edit LDraw Code", should be clearer - Changed the green color to more "greener" green, rather than yellowish lime. - The dialog box for setting a comment's text is now a lot wider - Calculated coordinates are now rounded down (to prevent stuff like Z:160.000001) - New part dialog: changed "Name:" to "Title", widened a tad.