changelog
    
    
    - Sun, 24 Mar 2013 21:41:24 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sun, 24 Mar 2013 21:41:24 +0200] rev 64
 
    - Considerably improved sub-file inlining. Use a matrix class instead of double[9], educated myself on what matrix multiplication actually is and fixed the algorithm up. Aside from I/O problems, 32551.dat is correctly rendered now.
 
    - Sun, 24 Mar 2013 18:03:33 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sun, 24 Mar 2013 18:03:33 +0200] rev 63
 
    - Implemented the inline action to expose inlining to the user. Also added a `deep inline` action to inline subfile recursively down into polygons and lines only.
 
    - Sun, 24 Mar 2013 01:05:59 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sun, 24 Mar 2013 01:05:59 +0200] rev 62
 
    - Got inlining working. 3002.dat renders properly now! Now just to iron out the bugs and hone the behavior..
 
    - Thu, 21 Mar 2013 18:26:57 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 18:26:57 +0200] rev 61
 
    - If editing contents of a gibberish object, show the reason for the gibberishness in the dialog. Clamp the bounding box scale to at least 1.0 so that polygons are visible in new files.
 
    - Thu, 21 Mar 2013 16:25:03 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 16:25:03 +0200] rev 60
 
    - Parsing stability, finally figured that dumb crash
 
    - Thu, 21 Mar 2013 13:00:44 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 13:00:44 +0200] rev 59
 
    - LDraw still uses inverted y-scale... I always used symmetrical objects for testing so I never noticed I had this wrong.
 
    - Thu, 21 Mar 2013 12:57:06 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 12:57:06 +0200] rev 58
 
    - Scroll the color picker dialog to the selected color if it's off-screen
 
    - Thu, 21 Mar 2013 03:20:02 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 03:20:02 +0200] rev 57
 
    - Added polygon bordering function
 
    - Thu, 21 Mar 2013 02:48:09 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 02:48:09 +0200] rev 56
 
    - Simplify ForgeWindow::slot_splitQuads with the new methods
 
    - Thu, 21 Mar 2013 02:45:53 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 02:45:53 +0200] rev 55
 
    - Added clipboard, added delete action
 
    - Thu, 21 Mar 2013 00:37:15 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Thu, 21 Mar 2013 00:37:15 +0200] rev 54
 
    - Done the rendering end of the red/green BFC view
 
    - Wed, 20 Mar 2013 23:46:37 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 23:46:37 +0200] rev 53
 
    - Make line thickness user-configurable, draw conditional lines dashed, use the bounding box to offset the model so that it is centered properly.
 
    - Wed, 20 Mar 2013 23:06:30 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 23:06:30 +0200] rev 52
 
    - Colorized polygons now appear colorized in the list view (unless disabled). GL rendered now draws transparent polygons properly.
 
    - Wed, 20 Mar 2013 21:47:33 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 21:47:33 +0200] rev 51
 
    - Added color selectors for the add object dialog
 
    - Wed, 20 Mar 2013 21:19:35 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 21:19:35 +0200] rev 50
 
    - Turned the test palette action into a set color action for mass object coloring.
 
    - Wed, 20 Mar 2013 20:44:04 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 20:44:04 +0200] rev 49
 
    - Finished with the color selection dialog
 
    - Wed, 20 Mar 2013 19:41:37 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 19:41:37 +0200] rev 48
 
    - Color dialog almost up and running. Need to make it actually selectable now. TODO: make it read LDConfig.ldr
 
    - Wed, 20 Mar 2013 13:41:08 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 13:41:08 +0200] rev 47
 
    - Made the GL renderer actually use the main color configuration
 
    - Wed, 20 Mar 2013 13:27:43 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 13:27:43 +0200] rev 46
 
    - Finally got the renderer to actually draw something! Still needs a lot of work but at least it doesn't show garbage or blank anymore.
 
    - Wed, 20 Mar 2013 03:28:49 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 03:28:49 +0200] rev 45
 
    - Disable the locale when parsing LDraw code or atof's behavior becomes locale-dependant. Who the hell thought that was a great idea?
 
    - Wed, 20 Mar 2013 03:25:49 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 03:25:49 +0200] rev 44
 
    - With removal of vectors, I don't need to keep the bearing class around either
 
    - Wed, 20 Mar 2013 03:22:21 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 03:22:21 +0200] rev 43
 
    - Removed vectors. I realized that subfiles can actually perform their job just as well and that keeping them around would just imply extra work - for nothing.
 
    - Wed, 20 Mar 2013 02:44:21 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 02:44:21 +0200] rev 42
 
    - Added code for parsing vertices
 
    - Wed, 20 Mar 2013 02:31:36 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 02:31:36 +0200] rev 41
 
    - Added insert vertex function and added vertex icons.
 
    - Wed, 20 Mar 2013 01:58:05 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Wed, 20 Mar 2013 01:58:05 +0200] rev 40
 
    - Added triangle, quad and condline to the add object dialog
 
    - Tue, 19 Mar 2013 21:52:38 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 21:52:38 +0200] rev 39
 
    - Begin work on dialogs for adding objects. Comments functional!
 
    - Tue, 19 Mar 2013 18:25:08 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 18:25:08 +0200] rev 38
 
    - Implemented insertion of triangles, quads, condlines and comments
 
    - Tue, 19 Mar 2013 18:15:31 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 18:15:31 +0200] rev 37
 
    - er, I said don't limit the amount of decimals
 
    - Tue, 19 Mar 2013 18:14:37 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 18:14:37 +0200] rev 36
 
    - ftoa: don't limit the amount of decimals
 
    - Tue, 19 Mar 2013 18:12:39 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 18:12:39 +0200] rev 35
 
    - Temporarily set the locale to C when using ftoa, or the resulting string is subject to the locale and gets unexpected symbols (e.g. commas for the decimal dots while the function expects periods)
 
    - Tue, 19 Mar 2013 17:21:51 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 17:21:51 +0200] rev 34
 
    - Added main color configuration option, not implemented yet
 
    - Tue, 19 Mar 2013 17:09:07 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 17:09:07 +0200] rev 33
 
    - Added color selection icon
 
    - Tue, 19 Mar 2013 16:36:08 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 16:36:08 +0200] rev 32
 
    - Made the GL renderer background color configurable
 
    - Tue, 19 Mar 2013 15:32:16 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 15:32:16 +0200] rev 31
 
    - Added RC file for the application icon introduced in d2d86021
 
    - Tue, 19 Mar 2013 15:29:42 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Tue, 19 Mar 2013 15:29:42 +0200] rev 30
 
    - Licensed LDForge GPL3, added some more icons
 
    - Mon, 18 Mar 2013 18:29:02 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 18 Mar 2013 18:29:02 +0200] rev 29
 
    - Added LDraw path setting dialog
 
    - Mon, 18 Mar 2013 13:16:21 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 18 Mar 2013 13:16:21 +0200] rev 28
 
    - added Save As function
 
    - Mon, 18 Mar 2013 12:24:16 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 18 Mar 2013 12:24:16 +0200] rev 27
 
    - and of course I forget to update ldforge.pro... or to test compile for that matter
 
    - Mon, 18 Mar 2013 12:20:48 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 18 Mar 2013 12:20:48 +0200] rev 26
 
    - Renamed io.cpp to file.cpp, draw.cpp to gldraw.cpp
 
    - Mon, 18 Mar 2013 12:15:23 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 18 Mar 2013 12:15:23 +0200] rev 25
 
    - Deleted scanner.cpp (don't need it), merged model.cpp into io.cpp. Renamed LDForgeWindow to just ForgeWindow since I want the LD* prefix only be given to LDObject derivatives.
 
    - Mon, 18 Mar 2013 04:03:05 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 18 Mar 2013 04:03:05 +0200] rev 24
 
    - added dummy action for future inlining command. Also GCC says that deleting instances of classes with virtual members but no virtual destructors is bad.
 
    - Mon, 18 Mar 2013 03:38:51 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Mon, 18 Mar 2013 03:38:51 +0200] rev 23
 
    - begin work on subfile caching
 
    - Sat, 16 Mar 2013 17:50:13 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 17:50:13 +0200] rev 22
 
    - So much for that pointer class, caused more problems than it solved. For instance splitting a second quad after a first one had been split would trigger a peculiar crash...
 
    - Sat, 16 Mar 2013 16:59:16 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 16:59:16 +0200] rev 21
 
    - Added split-quads-to-triangles function
 
    - Sat, 16 Mar 2013 15:45:20 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 15:45:20 +0200] rev 20
 
    - Yay! This thing can save now.
 
    - Sat, 16 Mar 2013 14:21:31 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 14:21:31 +0200] rev 19
 
    - Added pointer serializing so I can keep track of all LDObject* members. This way I can replace them all properly when needed.
 
    - Sat, 16 Mar 2013 13:08:24 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 13:08:24 +0200] rev 18
 
    - Convert the static getCoordinateRep to a common ftoa, use this function to get proper coordinate representation when converting objects to LDraw code
 
    - Sat, 16 Mar 2013 03:42:04 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 03:42:04 +0200] rev 17
 
    - Allow addition of dummy lines..
 
    - Sat, 16 Mar 2013 03:24:50 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 03:24:50 +0200] rev 16
 
    - Added icon for setting contents
 
    - Sat, 16 Mar 2013 03:12:31 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 03:12:31 +0200] rev 15
 
    - oops, forgot the new dialog files out
 
    - Sat, 16 Mar 2013 03:11:19 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 03:11:19 +0200] rev 14
 
    - this thing got its own reinterpret_cast now. :P Added SetContents action for altering an object by contents and reinterpreting it.
 
    - Sat, 16 Mar 2013 01:32:47 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 01:32:47 +0200] rev 13
 
    - Added logf function to write to message log. Write warnings of unparsable files into the message log.
 
    - Sat, 16 Mar 2013 00:35:36 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 00:35:36 +0200] rev 12
 
    - Check whether the numeric arguments of lines really are numeric, and treat lines that don't pass this check as gibberish
 
    - Sat, 16 Mar 2013 00:05:39 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Sat, 16 Mar 2013 00:05:39 +0200] rev 11
 
    - Color gibberish red. Check for line code length for gibberish (must be 1 to be valid)
 
    - Fri, 15 Mar 2013 22:27:38 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 22:27:38 +0200] rev 10
 
    - remove leading whitespace from comments when drawing them in the list
 
    - Fri, 15 Mar 2013 22:13:36 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 22:13:36 +0200] rev 9
 
    - Added icons for the comment.
 
    - Fri, 15 Mar 2013 21:55:13 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 21:55:13 +0200] rev 8
 
    - Don't version control moc files... whoops
 
    - Fri, 15 Mar 2013 21:53:50 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 21:53:50 +0200] rev 7
 
    - Set window title dynamically based on filename
 
    - Fri, 15 Mar 2013 21:08:22 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 21:08:22 +0200] rev 6
 
    - Add icon for file open action
 
    - Fri, 15 Mar 2013 20:59:12 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 20:59:12 +0200] rev 5
 
    - rename file-specific icons to file-*
 
    - Fri, 15 Mar 2013 20:52:34 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 20:52:34 +0200] rev 4
 
    - improve opening, don't auto-load 55966.dat (:P)
 
    - Fri, 15 Mar 2013 20:39:29 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 20:39:29 +0200] rev 3
 
    - don't crash if g_CurrentFile is null
 
    - Fri, 15 Mar 2013 20:35:47 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 20:35:47 +0200] rev 2
 
    - Recolored ends of the conditional line graphic purple instead of red for better distinguishment
 
    - Fri, 15 Mar 2013 20:33:04 +0200
 
    - by Santeri Piippo <crimsondusk64@gmail.com> [Fri, 15 Mar 2013 20:33:04 +0200] rev 1
 
    - Added icons for conditional lines