Commit graph

733 commits

Author SHA1 Message Date
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