Commit graph

805 commits

Author SHA1 Message Date
Leonardo Zide
f0eb8bde96 Added LDD importer. Closes #29. 2017-06-25 18:20:34 -07:00
leozide
b615cf669b Fixed conditional lines. 2017-06-22 18:45:45 -07:00
Leonardo Zide
9c996579f2 Updated pch location. 2017-06-22 08:03:23 -07:00
Leonardo Zide
4de9600a98 Disable parts list icon mode if FBOs are not supported. 2017-06-21 21:40:26 -07:00
Alistair Buxton
82204944ab When copying the camera position, also copy the ortho state. 2017-06-21 18:51:43 +01:00
Alistair Buxton
9aea871fe0 Add --viewpoint and --orthographic.
Use to set up the view using the built-in defaults. Note that they are
mutually exclusive with --camera.
2017-06-21 07:55:48 +01:00
Alistair Buxton
aac367ecfd Document version and help options. 2017-06-21 06:54:24 +01:00
Alistair Buxton
b4e55d1b49 Remove accidental duplicated help line. 2017-06-21 06:33:21 +01:00
Leonardo Zide
f024007157 Keep camera name as a c string for now. 2017-06-20 21:43:39 -07:00
Alistair Buxton
d7275358d6 Don't zoom extents when using a named camera. 2017-06-20 21:33:59 -07:00
Alistair Buxton
b2e4d85324 Add help for new command line options. 2017-06-20 21:31:39 -07:00
Alistair Buxton
240c8f68a5 Add command line options to set submodel and camera. 2017-06-20 21:25:27 -07:00
leozide
164031ffa4 Re-enabled --highlight command line option. 2017-06-20 11:32:48 -07:00
Leonardo Zide
05104162e9 Only highlight new pieces when the option is enabled. 2017-06-20 08:20:59 -07:00
Alistair Buxton
2de2e2c187 Highlight parts added in the current step. 2017-06-20 07:47:31 -07:00
leozide
7daf13b51e Fixed loading camera positions. Fixes #50. 2017-06-19 14:08:54 -07:00
Leonardo Zide
e872ec4a63 Added List Mode option to the parts list. Closes #43. 2017-05-29 14:03:46 -07:00
Leonardo Zide
05e3d7846c Update file functions to support multibyte strings. Fixes #46. 2017-05-29 13:32:45 -07:00
Leonardo Zide
82a4afb7a9 OpenGL ES cleanup. 2017-04-26 22:24:54 -07:00
leozide
8da318037d Removed fog options. 2017-04-21 14:17:03 -07:00
leozide
a219c281f2 Qt4 fix. 2017-04-20 18:56:35 -07:00
leozide
0381a0c74f Static analysis fixes. 2017-04-20 17:53:42 -07:00
Leonardo Zide
16bf9c7502 Merge pull request #44 from j6t/master
Fortify against random control points in imported files.
2017-04-16 19:03:19 -07:00
leo
f03ddb634e Compile fix. 2017-04-15 16:25:47 -07:00
Leonardo Zide
f2be79e4ed Changes to get older gcc versions working. 2017-04-15 15:54:17 -07:00
Johannes Sixt
2448a47071 Fortify against random control points in imported files.
It can happen (accidentally or maliciously) that control points are
imported from a file for pieces that cannot be synthesized. In such a case,
a click on the control point indicator leads to a NULL pointer access.
Insert checks so that the click is effectively ignored.
2017-04-15 16:41:32 +02:00
leozide
d0de0fbf65 Removed deprecated header. 2017-04-14 18:14:16 -07:00
leozide
07bdf56a2b Static assert compiler test. 2017-04-14 16:45:55 -07:00
leozide
dc7f640bc9 Enum compiler test. 2017-04-13 18:12:10 -07:00
leozide
f7d61f33ce Updated code to use nullptr and override. 2017-04-13 17:26:40 -07:00
leozide
35050efe3a Compiler feature test. 2017-04-13 17:07:29 -07:00
Leonardo Zide
c34810c084 Static analysis fixes. 2017-04-02 17:15:09 -07:00
Leonardo Zide
b9726a2a99 Reorganized scene and context classes. 2017-04-01 16:53:54 -07:00
leozide
a77a8e1485 Fixed main window icon. 2017-03-29 11:04:04 -07:00
Leonardo Zide
8990d04782 Increased default far plane. Fixes #40. 2017-03-28 22:51:28 -07:00
leozide
e1e0a0b812 Fixed warning. 2017-03-27 12:16:44 -07:00
Leonardo Zide
6491d15bb3 Fixed AA setting not being applied to the first view. 2017-03-26 23:12:05 -07:00
Leonardo Zide
49a88e1ab4 Fixed synth parts adding the wrong mesh to the scene when in a submodel. Fixes #42. 2017-03-26 18:28:31 -07:00
Leonardo Zide
ba9a2532a0 Avoid deleting all GL contexts. Fixes #41 and maybe fixes #33. 2017-03-26 18:14:08 -07:00
Leonardo Zide
7bd3abf6b4 Fixed issues splitting views. 2017-03-26 10:28:58 -07:00
Leonardo Zide
57b8732ed6 Context state cleanup. 2017-03-25 12:29:28 -07:00
Leonardo Zide
155fa7cdc2 Removed redundant glBlendFunc calls. 2017-03-25 00:03:17 -07:00
leozide
eb7a8a86de Removed SetTextureMode. 2017-03-24 18:36:58 -07:00
leozide
6eb252f531 Removed unused debug code. 2017-03-24 16:36:48 -07:00
Leonardo Zide
c85f0f7eea Disable normals for unlit passes. 2017-03-24 09:34:53 -07:00
Leonardo Zide
f99a093c7a Draw edge lines unlit. 2017-03-22 23:35:02 -07:00
leozide
48f5b28b85 Fixed warning. 2017-03-20 13:03:31 -07:00
Leonardo Zide
50b9ab1984 Faster mesh sorting. 2017-03-19 22:59:55 -07:00
Leonardo Zide
8023f868cd Support loading parts from the 'unofficial' folder. 2017-03-19 13:12:24 -07:00
Johannes Sixt
64cae0b849 Fix regular file check again.
The previous Windows fix accidentally reverted the logic of the check for
a regular file. As a consequence, ZIP files are not recognized anymore.
2017-03-19 11:38:35 +01:00
Leonardo Zide
5ddd5b4e86 Dynamically resize rows and columns in the color list. Closes #21. 2017-03-18 18:31:04 -07:00
Leonardo Zide
9b933b6c57 Fixed comments in saved files being moved in some cases. Fixes #35, #36. 2017-03-18 17:42:34 -07:00
Leonardo Zide
29aae2b6be Merge pull request #38 from j6t/master
Synthesize power functions linear actuators.
2017-03-18 10:19:04 -07:00
Leonardo Zide
657df22db7 Fixed Windows build. 2017-03-18 10:17:32 -07:00
Johannes Sixt
8ee94ac310 Synthesize power functions linear actuators.
Power function linear actuators can be treated almost the same as shock
absorbers. The only difference is the orientation of the part: The parts
are extended is along the Y axis instead of the Z axis.
2017-03-18 14:58:11 +01:00
leozide
d6efc97089 Removed SetLightingMode. 2017-03-17 15:53:26 -07:00
Johannes Sixt
ba280bc1a7 Determine file size only of regular files.
lcDiskfile::Open() uses fopen() to open a file. On Linux, this can open
a directory just fine (at least for reading). This is slightly problematic
when it is attempted to open the parts library $(sharedir)/library.bin
and the library is an unzipped directory hierarchy. It is first attempted
to open the path as a ZIP file. While opening the directory as a file is
successful, subsequent navigation in the open "file" fails.

Pretend that a directory is an empty file so that the ZIP file reader is
not tempted to navigate around in the "file" and so reports failure in a
deterministic manner.

We could have inserted the check for regular files in lcDiskFile::Open(),
but this burdens every file open request, which can happen thousands of
times when the parts library is extracted instead of in a ZIP file.
2017-03-17 08:15:05 +01:00
Leonardo Zide
acd5a485f0 Added a decal material to fix the texmap extension. 2017-03-12 13:51:14 -07:00
Leonardo Zide
e645228128 Fixed stud grid color. 2017-03-12 12:40:59 -07:00
Leonardo Zide
61e803c161 Added fake lighting shader. 2017-03-11 16:47:21 -08:00
leozide
0677dcfd02 Moved Duplicate to the Piece Menu. 2017-03-08 15:57:24 -08:00
leozide
8125ee8f74 Moved Duplicate to the Piece Menu. 2017-03-08 15:55:38 -08:00
leozide
cf65201095 Added Duplicate Piece action. 2017-03-08 15:49:57 -08:00
Leonardo Zide
043246fbe6 Changed normal format for compatibility. 2017-03-05 22:14:50 -08:00
leozide
4d844dd90a Added normals to cube mesh. 2017-03-03 18:04:52 -08:00
Leonardo Zide
c833912f78 Merge pull request #31 from j6t/master
Draw a dark gray border around color indicators in the time line.
2017-03-03 16:11:04 -08:00
leozide
3e4063f962 Set lighting for minifigs. Fixes #32. 2017-03-03 16:08:39 -08:00
Johannes Sixt
d393cf83b3 Draw a dark gray border around color indicators in the time line.
This makes white, yellow and other colors more visible. In particular,
white entries do not look like absent against a white window background.

Due to the border, the circle must now be smaller by one pixel.
2017-03-04 00:06:01 +01:00
leozide
f7aa4890ee Remove empty steps when moving pieces to a new model. 2017-03-03 12:14:32 -08:00
leozide
1794e8c9c2 Fixed invalid bounding box when no pieces are visible. 2017-03-03 12:07:04 -08:00
Leonardo Zide
4096d4a325 Fixed normal calculation. 2017-03-01 08:36:51 -08:00
leozide
37327277e8 Fixed mesh generation bug. 2017-02-28 17:14:29 -08:00
leozide
7e3f572b8e Added shaders for each material/lighting combination. 2017-02-28 15:20:34 -08:00
leozide
9978230506 Calculate mesh normals. 2017-02-27 16:03:12 -08:00
leozide
e09d9cae3f Fixed warning. 2017-02-21 12:57:25 -08:00
Leonardo Zide
6df1ceb165 Parse BFC statements in parts. 2017-02-21 08:09:13 -08:00
Leonardo Zide
3d1efcabec Added room in the meshes for normals. 2017-02-18 11:12:35 -08:00
Leonardo Zide
641f4803e2 Added select by color dialog. Closes #18. 2017-02-16 22:57:11 -08:00
Leonardo Zide
dd223856c9 Use alpha from color when exporting obj. 2017-02-15 09:01:38 -08:00
doyousketch2
d7a21c6265 Update project.cpp
Oh yeah, I didn't end up needing to use string compare, because I found the (Color->Translucent) property.
2017-02-14 19:57:41 -05:00
doyousketch2
199b56d5ac Include transparency values 2017-02-14 19:48:19 -05:00
Leonardo Zide
6094899dc2 Fixed clang analyzer warnings. 2017-02-12 18:05:20 -08:00
Leonardo Zide
5875284d5d Updated version number. 2017-02-11 17:51:57 -08:00
Leonardo Zide
b2cb923e28 Fixed shaders on desktop GL. 2017-02-11 12:43:47 -08:00
Leonardo Zide
6b3869ce90 Fixes for iOS. 2017-02-11 12:41:00 -08:00
Leonardo Zide
0f2e808477 Fixed printing. 2017-02-11 09:46:21 -08:00
Leonardo Zide
cfdfe30b40 Replaced GL_QUAD calls. 2017-02-11 08:30:57 -08:00
leozide
506e91a16c Added extra large icons option. Fixes #17. 2017-02-08 17:47:30 -08:00
leozide
4b9cd6a038 Removed GetFileList. 2017-02-08 17:41:14 -08:00
Leonardo Zide
acdc14a209 Use QString for categories. 2017-02-08 09:41:48 -08:00
leozide
70fd2c3ce0 Removed old string class. 2017-02-07 18:55:54 -08:00
Leonardo Zide
e22d127660 String cleanup. 2017-02-07 09:35:11 -08:00
Leonardo Zide
93ef02919a Prevent shortcuts from overriding key events in the parts widget. 2017-02-06 20:46:25 -08:00
leozide
87a8201d2c Fixed Qt4 errors. 2017-02-06 14:20:09 -08:00
Leonardo Zide
77f4cf8de4 Better default window layout. 2017-02-06 09:06:52 -08:00
Leonardo Zide
48d252bfb3 Set categories for parts without one. 2017-02-04 19:59:02 -08:00
Leonardo Zide
57eded0673 Updated default colors to 2016-12-28. 2017-02-04 19:37:40 -08:00
Leonardo Zide
0dabe0d435 Added SetCurrentStep and MoveSelection to Timeline context menu. 2017-02-04 18:40:46 -08:00
Leonardo Zide
e3bb498741 Added option to lock the preview color. 2017-02-04 13:14:41 -08:00
Leonardo Zide
0f89bc8233 Allow toolbars to be docked anywhere. 2017-02-04 11:34:32 -08:00
Leonardo Zide
d34f5050dd Don't allow multiple lines of text for the preview icons. 2017-02-03 00:31:37 -08:00
Leonardo Zide
e766f7892e Added 'All Parts' category. 2017-01-31 21:12:30 -08:00
Leonardo Zide
e7fe26d2a4 Stop caching the GL viewport since OSX changes it when making a context current. 2017-01-29 19:31:30 -08:00
leozide
32f2f3fac7 More parts list options. 2017-01-27 18:20:44 -08:00
leozide
045d05eb67 Added category with parts in the current model. 2017-01-26 19:02:42 -08:00
leozide
ea5c2512a7 Fixed crash. 2017-01-26 18:47:59 -08:00
Leonardo Zide
ec169c8263 Fixed race condition drawing previews. 2017-01-24 19:49:49 -08:00
Leonardo Zide
ca1505f770 Change the locale at startup only. 2017-01-23 20:46:52 -08:00
Leonardo Zide
f4d47d1631 Fixed incorrect piece loading logic. 2017-01-23 20:26:57 -08:00
leo
b03e820e3e More Qt4 fixes. 2017-01-22 22:44:54 -08:00
Leonardo Zide
ff18c042f1 Fix Qt4 error. 2017-01-22 21:22:46 -08:00
Leonardo Zide
76279c6f5c Correct way to include QtConcurrent. 2017-01-22 20:50:43 -08:00
Leonardo Zide
8c318cbdf1 Multithreaded piece loading. 2017-01-22 19:28:05 -08:00
leozide
e84fef5c73 Fixed Qt4 errors. 2017-01-10 17:48:05 -08:00
Leonardo
31cf6456b3 Process events between preview updates. 2017-01-04 06:45:01 -08:00
Leonardo
fcf4b24d84 Fixed crash pasting. 2016-12-31 06:36:49 -08:00
Leonardo
38be0becb3 Added frame around color widget. 2016-12-29 07:37:24 -08:00
Leonardo
ee49480334 Draw preview using the current color. 2016-12-29 07:28:53 -08:00
Leonardo
7dbc27a7ce Removed old preview widget. 2016-12-28 13:30:31 -08:00
Leonardo Zide
0f0a55a5df Fixed cache checksum when there's no unofficial library archive. 2016-12-21 16:49:52 -08:00
leozide
b5e61f2c26 Added option to choose the size of the parts icons. 2016-12-20 14:46:12 -08:00
leozide
8ed7e0d6c8 Removed old parts tree. 2016-12-20 14:11:19 -08:00
leozide
d8bea07834 Fixed compiling with Qt4. 2016-12-19 14:23:26 -08:00
Leonardo Zide
4819d42610 Added models to new parts list. 2016-12-18 18:53:25 -08:00
Leonardo
1ef60b8ddf Improved part search filter. 2016-12-16 12:52:36 -08:00
Leonardo Zide
eb1bc1cd31 First pass of the new parts list widget. 2016-12-16 09:14:19 -08:00
Leonardo Zide
b2b143af99 Fixed incorrect camera position when saving images from the command line. 2016-12-07 21:57:53 -08:00
Leonardo Zide
923e7513f1 Have the app return 0 when successfully saving an image from the command line. 2016-12-07 09:24:47 -08:00
Leonardo Zide
ccadcf7e1a Fixed file name formatting when saving an image from the command line. 2016-12-07 09:08:23 -08:00
Leonardo Zide
dedc429685 Fixed parts list showing parts with invalid colors. 2016-12-04 18:34:12 -08:00
Leonardo Zide
1cacf33e4b Fixed file loading. 2016-12-04 18:12:39 -08:00
Leonardo Zide
8152f99ec4 Fixed compiler warnings. 2016-12-01 23:09:14 -08:00
Leonardo Zide
672eb5e35d Updated version number. 2016-12-01 21:54:38 -08:00
Leonardo Zide
dcfccd8eeb Rewrote how loose model files are loaded. 2016-11-25 17:12:19 -08:00
Leonardo
70463b9d8e Removed access to library internal array. 2016-11-17 12:10:33 -08:00
Leonardo
d8f14c1937 Removed code accessing library internals. 2016-11-16 14:53:41 -08:00
Leonardo Zide
ed37143a6b Better piece insert position calculation. 2016-11-06 16:24:44 -08:00
Leonardo Zide
1070ea664f Remember last folder used to open a project. 2016-10-15 13:00:26 -07:00
Leonardo Zide
7e7e562d45 Open files when they are dropped on the main window. 2016-10-15 12:13:31 -07:00
Leonardo
ed0e3a252f Fixed install icon. 2016-10-05 14:37:08 -07:00
Leonardo
a74e51cd04 Fixed line endings. 2016-10-05 14:28:52 -07:00
Leonardo Zide
5d86d5ac98 Fixed reading loose mpd files referenced by another file. 2016-09-25 17:15:30 -07:00
Leonardo Zide
cde1334e0b Fixed bounding box of models loaded from loose files. 2016-09-25 13:15:43 -07:00
Leonardo
df61ddbfc7 Better file type detection when loading files. 2016-09-23 12:48:29 -07:00
Leonardo
60712b6bd1 Fixed translucent triangles not drawing. 2016-09-22 08:06:41 -07:00
Leonardo
dc2b5db0a7 Fixes to compile with Qt 4.6. 2016-09-22 08:04:51 -07:00
Leonardo
a90cd13697 Fixed extension check. 2016-09-17 13:21:29 -07:00
leo
2f0cf40af4 Enforce file extension in submodels. 2016-09-08 22:34:51 +00:00
leo
6e602174c0 Experimental conditional line support. 2016-08-22 01:11:32 +00:00
leo
a6d3df04b0 Updated version. 2016-08-13 15:02:32 +00:00