401 Commits

Author SHA1 Message Date
David Vierra
b00f708aa2 Refactor: Move EditorTool to its own file. 2012-11-13 15:26:53 -10:00
David Vierra
1c1857b17c Refactor: Move ToolOptions to its own file. 2012-11-13 15:26:52 -10:00
David Vierra
b3c6a7b84d Refactor: Move BlockView and BlockButton to their own file. 2012-11-13 15:26:52 -10:00
David Vierra
cd56c8f0e6 Refactor: Move BlockPicker to its own file. 2012-11-13 15:26:51 -10:00
David Vierra
ba43599728 Refactor: Move BlockThumbView and Thumbview to their own file. 2012-11-13 15:26:51 -10:00
David Vierra
229a0ccd7a Refactor: Move NudgeButton to its own file 2012-11-13 15:26:50 -10:00
David Vierra
a4e8a632fc Refactor: Move Operation to its own file 2012-11-13 15:26:50 -10:00
David Vierra
dfab4a7af7 Fix comment in maxBlocks 2012-11-13 15:26:50 -10:00
David Vierra
9bda172a35 Fixed: ValueError when undoing the first selection operation after having no selection.
Don't try to make a Vector out of None in setSelectionPoints
2012-11-13 15:26:49 -10:00
David Vierra
4985791551 Added: Use copyChunkFrom to record undo information.
Operation now has `editor` and `level` as required arguments to init. Operation has a default `undo` implementation that copies all chunks from `undoLevel`. `undoSchematic` renamed to `undoLevel`
2012-11-13 15:26:45 -10:00
David Vierra
24e0c8a9b2 Fixed: AttributeError while using flatland chunk generator.
todo: honor world's flatland generator setting.
2012-11-13 10:10:29 -10:00
David Vierra
c06945e0df Fixed: Error while handling error thrown by MCServerChunkGenerator 2012-11-13 10:09:56 -10:00
David Vierra
6960ba0db0 Submodule pymclevel updated.
Submodule pymclevel:
    > 387a70b - Fixed: BoundingBox honors its 'type' attribute again.
    > e82c974 - Fixed: ZipSchematic implements saveToFile again
    > 433fa0f - Fixed: Players were being loaded multiple times, once for each dimension
2012-11-12 13:59:34 -10:00
David Vierra
5b7b39b2fc When frozen, save mcedit.log to parent folder of mcedit.exe instead of current dir. 0.1.6build315 2012-11-10 12:32:03 -10:00
David Vierra
18f1006214 Selection tool cursor only highlights exposed faces. 2012-11-10 12:32:03 -10:00
David Vierra
5fb5891f0d Error Reporting: Scrub the user home folder last, because it usually contains the minecraft folder. 2012-11-10 12:32:03 -10:00
David Vierra
23abfa7c53 Settings: Block Buffer is displayed in MB 2012-11-10 12:32:02 -10:00
David Vierra
64950f0623 Fixed: Unicode error in string formatting when failing to load a world. 2012-11-10 12:32:02 -10:00
David Vierra
e5e410b067 Autoupdate: Display a progress dialog while downloading and installing updates. 2012-11-10 12:32:02 -10:00
David Vierra
d84f570c18 Revert "Support dimensions with arbitrary directory names."
This patch was incomplete. Did not address moving players to alternate
dimensions using the Move Player tool, and added spurious entries to the
Goto Dimension menu.

This reverts commit b618202340f6a8f8e2e96e666e46f4d0f063e405.

Submodule pymclevel:
    > 89648d7 - Revert "Support dimensions with arbitrary directory names."
2012-11-10 12:32:01 -10:00
David Vierra
8fe49f485a Debug: Log caught exceptions to the console. 2012-11-10 12:32:01 -10:00
David Vierra
91acdbafa8 Fixed: Shift-nudge to move faster. 2012-11-10 12:32:00 -10:00
David Vierra
189da2476c Fixed: Only close the previous world when opening a new world, and not when switching dimensions.
Close the current level before opening the new one to avoid reopening an open level.
2012-11-10 12:31:52 -10:00
David Vierra
96de46c418 Update readme.md with website url. 2012-11-07 17:32:18 -10:00
David Vierra
241a648ce2 The "Report Errors" checkbox is no longer stuck on or off.
Split it into two settings, one for report errors and one for asking on startup if it's okay to report errors.
0.1.6build312
2012-11-07 12:34:23 -10:00
David Vierra
f185473c5d Fixed: Don't close the current level until just before loading the new level.
Prevents a crash while a dialog box is open with a closed level behind it.
2012-11-07 12:14:37 -10:00
David Vierra
4c7fb1a527 Debug: Scrub home folders from error reports. 2012-11-07 04:28:52 -10:00
David Vierra
243630a6c6 Debug: Add debug display for Biomes
Submodule pymclevel:
    > 0d22bae - Test: time_relight using a human-built structure and using natural terrain.
    > 4569227 - Fixed: Bug in copyBlocks where entities and tile entities would be copied multiple times.
    > 3b86896 - Fixed: generateLights was loading every affected chunk at once.
    > e904341 - Biomes: Add biome types.
2012-11-07 04:28:43 -10:00
David Vierra
0669015830 Fixed: On save, redraw dirty chunks found in _loadedChunkData and unsavedWorkFolder
This breaks Pocket compatibility. Levels need a way to tell the editor which chunks to refresh.
2012-11-06 14:24:39 -10:00
David Vierra
50d362d526 Add "Recent Changes" to main menu. 2012-11-06 14:23:17 -10:00
David Vierra
5c568959c2 Submodule pymclevel updated.
Submodule pymclevel:
    > 41fcf62 - Fixed: Mark chunks dirty while relighting chunks to make sure they don't get discarded between lighting passes.
    > da5dfcd - Fixed: Don't save chunks from the unsaved work folder if they have already been saved from _loadedChunkData.
    > 864e640 - Fixed: Check that Blocks, BlockLight and SkyLight all have default values before discarding a chunk section.
2012-11-05 13:59:56 -10:00
David Vierra
d8aaef158b Debug: Add 'Dirty' and 'NeedsLighting' displays to debug display. 2012-11-05 01:54:21 -10:00
David Vierra
bafa46be69 Fixed: Update links in main menu. 2012-11-05 01:54:21 -10:00
David Vierra
0a777b738a Debug: Set logging level to INFO if -debug is given in argv, else use WARN. 2012-11-05 01:54:20 -10:00
David Vierra
28b9244c69 Debug: Enable reporting errors to exceptional.io 2012-11-05 01:54:20 -10:00
David Vierra
547a087f94 Cleanup: Remove unneeded reinstantiation of items.items. 2012-11-04 00:25:42 -10:00
David Vierra
dc1ca09910 Fixed: Incorrect imports from pymclevel. (Fix the damn source roots already.) 2012-11-04 00:25:42 -10:00
David Vierra
5e18cfdf81 Try to simplify detecting the data directory. 2012-11-04 00:25:41 -10:00
David Vierra
a84ab25539 Fixed: Don't mutate a BoundingBox while drawing clone tool outlines. 2012-11-04 00:25:41 -10:00
David Vierra
9381baf735 Submodule pymclevel updated.
Submodule pymclevel:
    > dea8e79 - Fixed: AnvilWorldFolder no longer creates empty region files when trying to retrieve absent chunks.
    > 95af0c3 - Blocktypes: Include classic blocks in indev.yaml instead of loading classic.yaml twice.
    > 1968475 - Items: Ignore enchantment definitions (for now)
    > d68d58f - Items: Update to 1.4.2 (thanks @copyboy!)
    > 325b8f7 - Blocktypes: Add Anvils, minor reformat.
    > 1d218a2 - Fixed: MCServerChunkGenerator is working again.
    > 3ce0a7e - Fixed: MCServerChunkGenerator.createWorld accepts a relative pathname.
    > 0cb9299 - Fixed: extractAnySchematic no longer consumes all available memory.
    > 4b06963 - Fixed: Loaded chunk limit will not be exceeded when creating thousands of new chunks.
2012-11-04 00:24:08 -10:00
David Vierra
a2daa220a8 Test: Added script to create a 500MB test world for testing memory usage.
500MB is around 10 gigs uncompressed.
2012-11-02 12:50:04 -10:00
David Vierra
1eddd43ec3 Cleanup: Tabs to spaces 2012-11-01 19:00:38 -10:00
David Vierra
8e67b57b2b Fixed: Erosion brush had a misaligned destination point, causing results to be badly skewed in one direction. 2012-11-01 19:00:31 -10:00
David Vierra
210c3b50ec Build: setup.py now calls pymclevel/setup.py, now that setup_nbt.py was merged into it. 2012-11-01 18:59:24 -10:00
David Vierra
dd2bf7f2ae BoundingBox is now immutable, and use the new Vector for adding, subtracting, and rescaling positions.
Submodule pymclevel updated.

Submodule pymclevel:
    > 07c8024 - BoundingBox: Made BoundingBox immutable and added immutable Vector class
    > f5e4fd1 - FakeChunk now uses TAG_List for its fake Entities and TileEntities instead of lists.
    > 3e4a9b8 - NBT: TAG_List now accepts item assignment using slices.
    > 30cfb1d - Test: testFillBlocks calls fillBlocks with a blocksToReplace argument
    > 3fb1b0c - Fixed: Scan the unsaved work folder and _loadedChunkData in addition to the world folder when listing chunks.
    > fae5e61 - Fixed: Scan the unsaved work folder in addition to the world folder when listing chunks.
2012-11-01 00:30:18 -10:00
David Vierra
c8921b7d9d Refactor: Recent changes in pymclevel require some changes.
Use getChunkSlicesForBox to compute slices.
blockReplaceTable is moved to block_fill.py
adjustCopyParameters is moved to block_copy
info() was accidentally imported from some unknown module (wat? stop using wildcard imports!)

Submodule pymclevel:
    > 35bbbdc - Refactor: Change log statements to use `log.info()` instead of `info=log.info; info()`
    > ecac4fa - Refactor: Move fillBlocks into its own file and remove "fillBlocksFinite" implementation.
    > a7fd3ed - Refactor: Move copyEntitiesFrom logic into copyBlocksFrom and remove "copyEntitiesFromFinite" implementation.
    > b0ef494 - Test: copyBlocksFrom no longer fails if the requested box is partially out of the source level's bounds.
    > 459b208 - Indev: Now separates LocalPlayer from Entities on load and reinserts it on save.
    > 14f5343 - Test: Improve copyConvertBlocks to count entities copied
    > ea585d7 - Test: test_mcr no longer re-runs TestAnvilLevel.
    > cf51ef4 - Refactor: infiniteworld.py: Change log statements to use `log.info()` instead of `info=log.info; info()`
    > f36634b - Refactor: Move copyBlocksFrom and supporting methods to its own file and simplify them.
    > ded3b8f - Refactor: Remove redundant code for setting an anvil world's Height.
    > 93ccf9d - Refactor: Change a chunk's Height to reference the Height of its containing world.
    > fe03b70 - Entities: Fixed Tile positions when copying and rotating ItemFrames
2012-10-31 02:04:42 -10:00
David Vierra
179ccdef75 Fixed: FBO contents showing in the bottom left corner for a single frame. 2012-10-30 04:39:46 -10:00
David Vierra
0dfd1742e5 Debug: Set up logging before doing the majority of imports to catch early logs. 2012-10-30 04:39:46 -10:00
David Vierra
e5707fcd9e Fixed: Import from pymclevel.minecraft_server and not minecraft_server
My Pycharm project has mclevel/pymclevel marked as a source root, so automatic imports are relative to that folder. xxx fix it.
2012-10-30 04:39:45 -10:00
David Vierra
9881e50820 Fixed: Now that modified chunks are cached to disk, don't override the loaded chunk limit any more. 2012-10-30 04:39:45 -10:00