971 Commits

Author SHA1 Message Date
David Vierra
8c98350426 Print repr of GL_VENDOR and GL_RENDERER for drivers that return non-ascii strings. 2015-07-23 14:52:34 -10:00
David Vierra
b05b923466 Embedded profiler now records only samples over the past 10 seconds.
Makes live profiling more responsive.
2015-07-20 19:43:00 -10:00
David Vierra
3b6d6d6b39 Some work on a numpy-based raycast method. Not yet used. 2015-07-20 19:42:31 -10:00
David Vierra
115ee5b9fb CONTRIBUTING.md: Link to wiki page on mcedit2 repo. 2015-07-20 16:46:26 -10:00
David Vierra
8fadb2bb76 Change BindTextureRenderNode to make fewer GL calls when the texture scale is None. 2015-07-19 03:11:02 -10:00
David Vierra
5125fdf86e Document createRenderNode, updateRenderNode, and updateChildren to make intentions more clear.
Change updateChildren to be non-recursive.
updateRenderNode now descends into children and calls updateChildren as needed.

The rendergraph is now slightly less creepy.
2015-07-19 03:06:18 -10:00
David Vierra
f66e2a8dbf Stop rendering rainbow creepers for unknown entities. 2015-07-19 02:12:15 -10:00
David Vierra
544214ecea Skip blank itemframes.
This may be done improperly. Accessing ref.Item may create an empty compound, and I haven't checked if blank frames have an empty compound for Item or not.
2015-07-19 02:10:49 -10:00
David Vierra
5b963e6222 Add Chest and Large Chest models 2015-07-19 02:10:48 -10:00
David Vierra
f32c8b13bc Add ScaleRenderNode 2015-07-19 02:08:05 -10:00
David Vierra
63737e8ae3 Remove wonky block model for chests 2015-07-19 02:07:55 -10:00
David Vierra
bfae698646 Fix configured block models not being used. 2015-07-18 13:44:27 -10:00
David Vierra
48dd2b25a5 Add armor stand model (with extra arms!)
That's why they call it an arm-or stand.
2015-07-18 12:53:30 -10:00
David Vierra
4db059fde9 Change docs to alabaster theme, skip Qt staticMetaObjects
Add github user/repo for theme purposes
More mceditlib->mcedit2
2015-07-17 04:10:57 -10:00
David Vierra
5b25e95cab Change NBTAttrs a bit so sphinx documents them quietly
Both of these changes make them more like the builtin property()
NBTAttr access on classes returns self, so sphinx can document the class
NBTAttr constructors take a docstring argument and replace the instance's doc so sphinx doesn't repeat NBTAttr's doc everywhere
2015-07-17 04:10:07 -10:00
David Vierra
c7a19c4a4a Add getActualBlockState rules for doors and redstone 2015-07-17 01:59:44 -10:00
David Vierra
697fa78fca Add target to doc/Makefile for running sphinx-apidoc
Replace 'mceditlib' with 'mcedit2' in doc info
2015-07-17 01:59:00 -10:00
David Vierra
1649dcf28b Allow blockStatesByResourcePathVariant to have multiple entries for a path,variant pair as intended 2015-07-17 01:57:55 -10:00
David Vierra
cd2d6b7ea9 Add a special case to preserve the color of stained glass when rendering 2015-07-16 14:53:50 -10:00
David Vierra
6203847d77 Fix all issues related to improperly rotated, lit, and culled models that use variant rotation
Buttons, levers, quartz pillars and others are now oriented, lit, and culled correctly
2015-07-16 02:00:57 -10:00
David Vierra
e018234e6e Removed variantZrot, which never appears in the variant files.
I feel dumb.
2015-07-16 02:00:03 -10:00
David Vierra
559555ca56 Set default blockstate of unknowns to '' 2015-07-16 01:26:04 -10:00
David Vierra
09879c1af5 Fix zero-length arrays appearing in setBlocks 2015-07-16 01:25:40 -10:00
David Vierra
c827444e0f time_getsetblocks is working again and produces fairer results 2015-07-16 01:25:18 -10:00
David Vierra
12f93e8c62 Add getActualBlockState rules for fences and panes/bars.
This method is done with Python and is very slow.
2015-07-15 21:32:34 -10:00
David Vierra
47ee219528 blockmodels.pyx: cookedModelsByBlockState keys are now split into components
Splitting the blockState into properties and sorting them makes property order no longer matter.
Also, all models are added into cookedModelsByBlockState and not just those for hidden states. Soon, I should be able to remove resourcePath and resourceVariant from the base block data dump and only keep them in the states dump.

blockStatesByResourcePathVariant value elements are also split into internalName and blockState
2015-07-15 21:31:56 -10:00
David Vierra
e5982651c1 Update raw data dump: Remove unused material* fields, add materialName field, remove duplicate renderType field 2015-07-15 21:27:36 -10:00
David Vierra
9ce23e8d7b Don't duplicate code from blocktypes and also don't get it completely wrong 2015-07-15 18:01:46 -10:00
David Vierra
5037655787 Hidden block states are stashed in cookedModelsByBlockState
getActualBlockState rule written for grass with snow on top.
2015-07-15 17:38:45 -10:00
David Vierra
4263b184fa Load "hidden" blockstates from a json file.
These new models are cooked and then thrown away as there is nowhere to put them! :(
2015-07-15 17:33:39 -10:00
David Vierra
e65817bb60 Store uncooked models with model variants separate from blockstates
Uncooked models are stored in quadsByResourcePathVariant {(path, variant): quads}
blockState mapping is stored in blockStatesByResourcePathVariant {(path, variant): [nameAndState]}

This allows us to skip cooking models twice when one model (path, variant) is used for more than one blockState
2015-07-15 14:57:22 -10:00
David Vierra
79963a55a9 Create dataDir on Mac and Linux 2015-07-15 13:25:52 -10:00
David Vierra
68cfbc4c98 Add special cases for face culling for Slabs and other blocks
Also includes leaves with fancyGraphics=True, which is just asserted to be True for now...
2015-07-15 12:34:51 -10:00
David Vierra
7443e6ad74 Remove unused layers from AllLayers
SceneUpdateTask doesn't know if a layer isn't provided by any chunk meshes...
2015-07-15 12:33:48 -10:00
David Vierra
7c05881a8e Incredibly brutal fix for blocks (e.g. slabs, stairs) with useNeighborBrightness
What this flag does is make the block report its brightest neighbor's light as its own for rendering purposes, since these blocks are technically opaque but still expose that face of their neighbors.

Next, fix up face culling
2015-07-15 12:33:12 -10:00
David Vierra
79354dd690 Add /setblock and /testforblock commands
Refactor some parts of SummonCommand into functions
Someday I'll want a parse language or something...
2015-07-14 20:28:57 -10:00
David Vierra
03175326bd Rearrange color hash functions, add comments 2015-07-14 19:26:30 -10:00
David Vierra
f5ddfa7117 Add color coding to command blocks, split locations from colors 2015-07-14 13:38:04 -10:00
David Vierra
379ffea897 Add LineWidthNode 2015-07-14 12:28:11 -10:00
David Vierra
628c2a808c Start work on a command parser 2015-07-13 21:05:58 -10:00
David Vierra
d03d8c9912 Add command block tile inspector 2015-07-13 21:03:56 -10:00
David Vierra
6aca9d8457 Add Command block entity ref 2015-07-13 21:03:43 -10:00
David Vierra
dce11f83a3 registerBlockInspectorWidget expects a tileEntityID attribute instead of an ID argument 2015-07-13 21:03:13 -10:00
David Vierra
912f1058a8 Add demjson.py with modifications for compact command block output 2015-07-13 21:01:13 -10:00
David Vierra
1cae9b60bb Add Villager entity model 2015-07-13 16:34:02 -10:00
David Vierra
ee730eda2e BindTextureRenderNode is allowed to have texture == None 2015-07-13 16:33:37 -10:00
David Vierra
cb90fcbd26 Set default value for PCPaintingEntityRefBase.Facing 2015-07-13 16:33:21 -10:00
David Vierra
ef7b3d467a Raise ValueError in NBTAttr for missing default value 2015-07-13 16:33:04 -10:00
David Vierra
9d2eb9a821 Refactor: Move tile entity inspector widgets under widgets.inspector.tileentity 2015-07-13 16:32:47 -10:00
David Vierra
77665d26ce Sheep now have wool. Not colored yet. 2015-07-12 22:34:23 -10:00