- added an action for opening the subfiles pointed to by selected references as editable documents

- made select by color/type no longer require uniform selection

- LDObject::Type moved back to global namespace

- removed code rendered unnecessary

- made LDDocument use shared pointers, this eliminates a lot of document-related crashes

- subfile inverting now detects flatness and acts accordingly instead of naively applying invertnext to everything

- simplified parse error handling

- when saving, prepare the data first into a buffer and then write to disk, minimizing the time needed to perform the I/O operation.

- made coordinate rounding precision configurable

- further edits to crashcatcher

- crashcatcher: don't use the bomb box at all, instead just write the crashlog and then abort for good

- reformatted the changelog. 0.3-specific changes reformatted to use Zandronum-like version history, this is much easier to work with

- selecting an invertnext'd object now also selects the invertnext

- don't crash when inverting conditional lines

- removed the build time in favor of commit time which I think is much more important

- bfc red/green view and random colors are now mutually exclusive, enabling one disables the other.

- make pick scenes always use particularly thick lines so that the line picking behavior is relayed to the mouse-over highlight

- use a faster ID choosing setup, this should work so long as nobody goes to create 17 million objects

- hopefully stabilized the entire shared pointers deal now

- improved shared pointer behavior, still not there yet

- initial overhaul with smart pointers

- slight refactor in ldobject methods

- renamed some renderer members

- crashcatcher: hide the main window before doing anything and also write the crashlog into a file

- when an object is deleted, if it's the renderer's object-under-cursor the field needs to be cleared or ldforge crashes

- grid-snap the drawn circle radius, not the point used for the distance calculation

- added a macro for adding operator++ and operator-- to enums, less cast hell this way

- significantly sped up selecting all objects, it is now an actually fast operation

- made the mouse-hover object highlight togglable from configuration

- added a selection hover effect to the renderer. selecting objects just became a lot more convenient...

- cut unnecessary code from MainWindow::updateSelection. speeds it up a bit, especially when unselecting but it's not fast enough to my tastes yet

- overhauled configuration setup a bit: configuration entries renamed and are now in a cfg:: namespace

- changed the config dialog's grid ui from being dynamically generated into a static one in the designer interface

- use a function for utf16 type conversion instead of a macro

- grids now have a single coordinate snap value instead of individual X, Y and Z values

- buh

- optimized picking, black is background now in pick scenes

- don't let random colors be too dark (or fully white either for dark backgrounds which use white lines)

- more icons

- fixed: the random colors action wasn't being checked on startup if it was enabled in config, causing it to go out of sync

- some minor cleanup

- simplified the code handling bfc statements a bit

- don't simplify (aka remove extra whitespace from) comment texts

- added build time to window title properly

- removed rest of the uses of <anonymous>

- added changelog entries

- vertex snapping is now smarter, does a depth compare to favor vertices closer to camera and does a short-range 2d check + out-of-range 2d check

- removed some relics from the old immediate mode renderer

(0) -300 -100 -48 +48 +100 +300 tip

mercurial