643 Commits

Author SHA1 Message Date
David Vierra
60c4026151 Check minor and major versions from GL_VERSION
GL_MAJOR_VERSION is only supported on OpenGL 3.0+

Fixes #116
2015-06-12 23:10:40 -10:00
David Vierra
c9076b2c53 Check minor and major versions returned by glGet instead of QGLFormat
QGLFormat's values are wrong with Qt 4.8.6 on OS X (QTBUG-40415)

Fixes #115
2015-06-12 04:05:10 -10:00
David Vierra
b1dad4bb63 Log editor commands as they are pushed 2015-06-12 04:02:52 -10:00
David Vierra
33acbaf9be worldinfo.ui: "Commands" -> "Allow Commands" 2015-06-12 04:02:38 -10:00
David Vierra
33a01de511 Fix edits being added when world info panel is reloaded.
Yes, this is what editsDisabled is for.
2015-06-12 04:02:25 -10:00
David Vierra
9db66f1f58 Fix crash with non-standard world generator names, allow custom generator names to be entered.
Rename generationTypeCombo  to generatorTypeCombo
Change generatorTypeCombo into an editable combo box.
Add generator tag values to combo box items as itemData. Remove GENERATOR_TYPES.
Get generator tag value first as itemData and then as entered text if no itemData is found.
Add unknown generator types from the NBT data to the combo box.
Connect to the combo box's line edit's editingFinished to respond to user-entered generator types.

Fixes #113
2015-06-12 03:51:48 -10:00
David Vierra
474b0f499f Only import win32api on Windows. 2015-06-11 09:03:02 -10:00
David Vierra
a00a17a224 Remove some noisy loggers 2015-06-09 22:17:02 -10:00
David Vierra
3c56b0f7fd Add chunkNotPresent to ChunkLoader, WorldView, WorldScene 2015-06-08 01:13:34 -10:00
David Vierra
891bb6db2f Remove recentDirtyChunks. Change ChunkLoader to respond to revisionChanged instead. 2015-06-08 01:12:59 -10:00
David Vierra
bc50b9c039 Fix undoBackward returning the wrong RevisionChanges 2015-06-08 00:42:22 -10:00
David Vierra
0f7488f88a Add chunk-shaped selection box 2015-06-08 00:42:21 -10:00
David Vierra
29b7406c93 Dirty hack to force chunk rescan after revision change
Should inspect changes and update instead of rescanning
2015-06-08 00:42:21 -10:00
David Vierra
278966a256 RevisionHistory: fix various functions not respecting deadChunks/deadFiles
chunkPositions now removes dead chunks from the returned chunks
readChunkBytes raises ChunkNotPresent for dead chunks
readFile raises IOError for dead files
2015-06-08 00:42:20 -10:00
David Vierra
cca35e3d0d Quit app when main window is closed 2015-06-08 00:42:20 -10:00
David Vierra
ce7c652581 Add chunk menu and implement chunk delete command 2015-06-08 00:42:19 -10:00
David Vierra
5a5d09c532 createShapedSelection now has the current dimension as an argument 2015-06-07 23:33:06 -10:00
David Vierra
8812e4140a Always log info about obtained GL context
The more info, the better.
2015-06-07 16:57:13 -10:00
David Vierra
b10de6f592 Update readme - install pyzmq using pip 2015-06-07 06:56:06 -10:00
David Vierra
9e383d4031 Log selection in FillBlocksOperation 2015-06-07 06:53:59 -10:00
David Vierra
aeb874487f Add deleted chunks to recentDirtyChunks 2015-06-07 06:53:40 -10:00
David Vierra
5f941735c2 Replace Blocks now respects the "In Selection" checkbox 2015-06-07 00:23:01 -10:00
David Vierra
d3187b2d73 Selection highlight now updates after the world is edited.
No more selection hanging around after blocks are deleted.
2015-06-07 00:19:52 -10:00
David Vierra
1d9c2c65de EditorSession.revisionChanged is now emitted with a RevisionChanges object instead of the revision ID 2015-06-07 00:19:05 -10:00
David Vierra
ef520d7d9d Fix crash when changing selection shape 2015-06-06 23:43:10 -10:00
David Vierra
c79c851e4d Catch errors while calling generator's getPreviewNode
TODO: better error dialog!
2015-06-06 21:23:47 -10:00
David Vierra
2ce9faadd0 WorkplaneNode can now be oriented to any axis 2015-06-06 19:58:14 -10:00
David Vierra
ac495f1d87 Fix selection boxes occasionally being super hard to resize.
Box was using the wrong plane as the drag reference plane
2015-06-06 19:57:45 -10:00
David Vierra
5de661cab9 Fix selection renderer rendering anything when selection is zero sized.
IntersectionBox had the wrong logic for one of its components returning None from box_mask

All CombinationBoxes have been adjusted.
2015-06-06 18:02:36 -10:00
David Vierra
7ae713ebb2 Allow bresenham to be reloaded 2015-06-06 17:23:45 -10:00
David Vierra
8789408a22 Change sys.executable to GetModuleFileNameW
Currently does nothing, but when PyInstaller is patched to use unicode filenames, GMFNW won't return an SFN any more.
2015-06-05 23:26:35 -10:00
David Vierra
97d6aeabf4 validateGLContext doesn't need to return anything
Was getting a weird error like "PySide.QGLContext has no attribute setData" in some logging call...
2015-06-05 23:03:47 -10:00
David Vierra
208069beed Fix lag between moving mouse and view updating.
On mouse move, redraw view after calling view actions, not before.
2015-06-04 02:31:55 -10:00
David Vierra
65a17d93d9 Add a comment in geometry.py 2015-06-04 02:31:07 -10:00
David Vierra
8207d12570 Fix "jitter" when moving cursor across block edges.
Use the maximum depth buffer value when converting from a screen position to a 3D ray to increase precision.

Not sure why it wasn't the maximum before.
2015-06-04 02:30:47 -10:00
David Vierra
817d42b522 Add basic workplane control.
Only Y-axis right now. In the future, maybe a tool for creating one workplane for each axis?
2015-06-03 23:15:46 -10:00
David Vierra
4a54d0f5a4 Fix chunk loading origin not updating after changing dimensions
Offscreen views were being added to chunkLoader clients and controlling the load order...
2015-06-03 22:51:55 -10:00
David Vierra
0c897f397c Fix moving left/right while looking down being very slow.
Needed to normalize the 'left' vector.
2015-06-03 21:17:13 -10:00
David Vierra
0d956c691d Add ParabolicDome brush shape 2015-06-02 20:27:32 -10:00
David Vierra
814a40b993 Brush's "Hover" option is now implemented.
TODO: Button to switch hover to half of object height, or half of object size along axis given by face under cursor
2015-06-02 20:27:21 -10:00
David Vierra
4e284e64c6 Rework brush shapes a bit
ShapedSelection -> ShapeFuncSelection
BrushShape now has createShapedSelection in addition to shapeFunc
createShapedSelection  is called instead of ShapeFuncSelection
createOptionsWidget added to BrushShape but not yet used...
Move shapeFuncs from mceditlib.selection to brush.shapes
Fix Diamond shape (recenters coordinates)
Remove Box shapeFunc - return box from createShapedSelection.
2015-06-02 15:26:43 -10:00
David Vierra
a0bac1c4a3 Add cylinder shape.
Todo: axis setting
2015-06-02 13:57:37 -10:00
David Vierra
b511ce945a Fix bug in modelmesh causing negative y coordinates to roll over 2015-06-01 23:01:22 -10:00
David Vierra
b12d4ff50e Rework createSelectionMask
Move createSelectionMask into ShapedSelection.box_mask
Remove "hollow" and "chance" args - use composed selections for this instead
Don't recenter coordinates in box_mask
Recenter coordinates in SphereShape instead
DiamondShape is now broken.
2015-06-01 22:51:37 -10:00
David Vierra
563559732f xxx show wireframe box around brush cursor 2015-06-01 15:45:19 -10:00
David Vierra
251c999742 Allow brush shapes to have no icon. 2015-06-01 15:42:59 -10:00
David Vierra
49e55338e4 Add some comments and notes 2015-06-01 15:41:02 -10:00
David Vierra
8500d6a2f0 Main chunk loading timer can now idle again.
ChunkLoader.next now reraises StopIteration to signal caller that all chunks are loaded.
2015-05-31 18:49:32 -10:00
David Vierra
b482e8d952 Pull masklevel.py, modes.py, shapes.py out of brush/__init__.py
Move shapes out of shapewidget.py, too.
2015-05-31 18:04:09 -10:00
David Vierra
b420e29613 Add Alek to supporters list 2015-05-31 14:59:21 -10:00