971 Commits

Author SHA1 Message Date
David Vierra
35d7317eda Expand transform bounds when not on a block edge. 2015-10-09 17:59:29 -10:00
David Vierra
9ec45459c7 Load block mapping only after all attempts at loading/creating metadataTag 2015-10-09 17:59:15 -10:00
David Vierra
feb325232e Implement camera acceleration 2015-10-09 17:58:45 -10:00
David Vierra
4778a3c87d Transformation matrix accounts for coordinates being the lower-left corner of cells. 2015-10-08 23:34:20 -10:00
David Vierra
adf70cf8a6 Setting the actual rotation of PendingImportNode also updates the rotation of the non-transformed preview. 2015-10-08 23:33:59 -10:00
David Vierra
010fea7df8 Fix calculation of transformed bounds not using inverse matrix 2015-10-08 23:33:34 -10:00
David Vierra
c932f2aa30 Rot90 buttons no longer checkable 2015-10-08 22:44:20 -10:00
David Vierra
92833b7830 Add exact values for sin/cos of 90 degree angles. 2015-10-08 22:33:10 -10:00
David Vierra
63c578fce0 Create icons for and implement right-angle rotation buttons. 2015-10-08 21:03:27 -10:00
David Vierra
8713704bcb Change default distance when raycast fails to same as raycast distance 2015-10-08 18:07:40 -10:00
David Vierra
d99ccf2d5a Update Move tool's rotation input when pendingImport is changed 2015-10-08 18:07:25 -10:00
David Vierra
9e2004de19 Remove multi-imports from PasteImportCommand 2015-10-08 18:07:07 -10:00
David Vierra
6def097021 Reduce maximum raycast distance. 2015-10-08 02:23:32 -10:00
David Vierra
2557df5e58 Move PendingImport and PendingImportNode to imports.py, disable multi-imports (for now)
Rewrite much of them for clarity.
2015-10-08 02:23:22 -10:00
David Vierra
df25824820 Move PendingImport and PendingImportNode to imports.py 2015-10-07 15:32:00 -10:00
David Vierra
7c897202f6 Library widget starts on Schematics tab 2015-10-07 01:35:12 -10:00
David Vierra
b4464656d3 Adjust colors of greyed-out Save icon. 2015-10-07 01:35:01 -10:00
David Vierra
bb05c9bb19 Don't raise ValueError when creating non-creatable sections, return None instead. 2015-10-07 01:30:55 -10:00
David Vierra
83a882e7d0 TranslateNode.translateOffset is now Vector typed. 2015-10-07 01:30:34 -10:00
David Vierra
f0145de3d3 Painfully fixed recursion depth error when undoing Move Finish commands.
This is very, very unsatisfactory. It isn't clear which object is the definitive source for a pending import's position, transformed or not.
2015-10-07 01:29:55 -10:00
David Vierra
cf34b418c4 Fix progress dialog suddenly reappearing after a delay. 2015-10-06 19:26:26 -10:00
David Vierra
c2ff80a4b9 Create MCEProgressDialog, which cannot be closed by any means. 2015-10-06 17:13:14 -10:00
David Vierra
0b1f47c2b9 WorldLoader now has a startLoader function with a minimum duration.
The minimum duration tells how long to load chunks immediately before starting the async loader.
2015-10-06 17:12:32 -10:00
David Vierra
7bdcd2c044 Flood fill tool now has hover and flood direction options. 2015-10-06 17:11:35 -10:00
David Vierra
dbbacea7a8 Progress dialog is once again cancelable, and has a minimum time before displaying. 2015-10-06 17:10:48 -10:00
David Vierra
7fd974426e SimplePerformCommand uses showProgress to show commitUndo progress.
Makes Flood Fill tool show progress when committing undo.
2015-10-06 17:09:57 -10:00
David Vierra
95fceb8af5 Add some docstrings to editorsession.py 2015-10-05 18:57:14 -10:00
David Vierra
fba87789f7 Schematics dropped into the editor window have a more sensible initial position 2015-10-05 15:32:00 -10:00
David Vierra
21df3c4b94 Add top toolbar buttons for Save and Fill
Save icon changes to indicate whether there are unsaved changes. The icon does not distinguish between modifying and non-modifying (e.g. selection size) commands.
2015-10-04 17:29:49 -10:00
David Vierra
41a1cbb90f Fix zero division when printing copy stats. 2015-10-04 13:12:59 -10:00
David Vierra
c5e2b121d8 Move tool finally has "Copy Air" option. 2015-10-04 00:32:02 -10:00
David Vierra
a6d754a2c4 Fix rotated objects not moving with their box handle. 2015-10-04 00:31:43 -10:00
David Vierra
1131632260 Add explicit copyAir flag to copyBlocksIter 2015-10-04 00:30:47 -10:00
David Vierra
e24aebd2d0 Fix clone tool not resetting offset when used a second time. 2015-10-04 00:30:30 -10:00
David Vierra
dbc62d5a7f Make imported objects not sunken one block into the ground. 2015-10-04 00:30:14 -10:00
David Vierra
c5718770f5 Set EditorSession.currentDimension earlier to try to fix a weird AttributeError 2015-10-04 00:29:56 -10:00
David Vierra
6dd9e6fedd Allow files to be imported by drag and drop into editor window. 2015-10-04 00:29:31 -10:00
David Vierra
cb88acf905 Rewrite CloneTool to use PendingImportNode's mouse event handling. 2015-10-03 01:17:14 -10:00
David Vierra
23f71061fc Do not emit handleBoundsChangedDone for non-changes. 2015-10-03 01:16:10 -10:00
David Vierra
1167d930ed PendingImportNode now forwards mouse events to its handleNode 2015-10-03 01:15:57 -10:00
David Vierra
63d02760f0 Greatly simplify extractSchematicFromIter 2015-10-03 00:09:22 -10:00
David Vierra
911aa28470 Move tool now imports the transformed form of the moved object
... as you would expect from looking at the live preview of the moved object. Also, intermediate schematics are skipped when the source and destination boxes do not intersect.
2015-10-03 00:08:54 -10:00
David Vierra
9be6563ba2 transform_test now tests selection, rotation, and selection+rotation 2015-10-02 14:03:46 -10:00
David Vierra
16565712d9 Move tool now displays live previews of the rotated blocks 2015-10-02 14:03:30 -10:00
David Vierra
2c531925fb PendingImport now has rotate/scale and transformedDim attributes
transformedDim is recreated whenever the rotate/scale are changed. Its chunks are lazily evaluated.
2015-10-02 14:02:49 -10:00
David Vierra
fc0080015d Fix movable-only BoxHandles not actually being movable. 2015-10-02 14:02:00 -10:00
David Vierra
d6f5b98b95 RotateNode allows degrees and axis to be changed. 2015-10-02 14:01:41 -10:00
David Vierra
986a4fb4fe Refactor RotationTransform, create SelectionTransform 2015-10-02 14:01:08 -10:00
David Vierra
c96a8565bc Use Tool action now has "any" modifiers.
May have undesirable side effects.
2015-10-01 22:34:40 -10:00
David Vierra
37bd7e098a BoxHandle now uses explicit isMoving, isCreating, isResizing flags instead of inferring them from other state 2015-10-01 22:31:20 -10:00