lazydev
b93eb84401
fix for https://bugs.openmw.org/issues/573
2013-02-28 02:43:03 +04:00
Chris Robinson
a7220518b6
Merge remote-tracking branch 'zini/master' into skeleton-fixes
2013-02-27 13:22:33 -08:00
Chris Robinson
3ed0bf97a8
Share the space with the parent entity only when there's real skinned meshes
...
The existence of a base skeleton doesn't mean it shares the same bone
structure. If there isn't an actual skinned entity besides the base, simply
attach it to the bone like unskinned meshes should be.
2013-02-27 13:16:27 -08:00
Chris Robinson
bfe80bb8dc
Avoid duplicating skeletons due to casing issues
...
Manually created resource names are apparently always case sensitive, causing
some skeletons to get loaded multiple times.
2013-02-27 12:33:36 -08:00
Sergey Shambir
03ca7f6123
NIF: added NiStencilProperty record handling
...
NiStencilProperty appears in Better Clothes plugin. If it not handled,
some parts of NPCs bodies will be not rendered.
2013-02-27 23:45:09 +04:00
scrawl
b82ee4872d
Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics
...
Conflicts:
components/nifogre/ogre_nif_loader.cpp
2013-02-27 12:25:34 +01:00
Marc Zinnschlag
53953b23f9
Merge remote-tracking branch 'chris/materials'
2013-02-27 10:04:42 +01:00
Marc Zinnschlag
f175f8327f
Merge remote-tracking branch 'lazydev/master'
2013-02-27 10:01:50 +01:00
scrawl
369f881170
Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics
2013-02-27 09:25:44 +01:00
Chris Robinson
b4b20622c6
Properly handle NiAlphaProperty values
2013-02-26 15:24:20 -08:00
lazydev
f717fe0254
Merge branch 'master' of git://github.com/zinnschlag/openmw
2013-02-27 01:47:30 +04:00
Marc Zinnschlag
70b6b68005
Merge remote-tracking branch 'sergeyshambir/BBfix'
2013-02-26 22:37:45 +01:00
lazydev
759b2e96bf
fix for https://bugs.openmw.org/issues/577
2013-02-27 01:37:40 +04:00
Marc Zinnschlag
a7102c143f
ESX variable type cleanup
2013-02-26 14:37:11 +01:00
Chris Robinson
aefd12dfe0
Don't create meshes for collision shapes
2013-02-25 15:44:59 -08:00
Chris Robinson
9679daa6a4
Merge remote-tracking branch 'zini/master' into misc-cleanup
2013-02-25 13:10:21 -08:00
Chris Robinson
429bc23cf6
Convert the 0-1 glossiness parameter to 0-255 for shininess
2013-02-25 13:08:40 -08:00
Pieter van der Kloet
469d608f51
Merge remote-tracking branch 'upstream/master' into launchernext
2013-02-25 21:26:54 +01:00
Marc Zinnschlag
a535d51cbf
Merge branch 'brokenendfix'
2013-02-25 19:52:22 +01:00
Chris Robinson
5f2c897001
Better handle which collision shapes to load
2013-02-25 10:29:48 -08:00
Chris Robinson
ff1ecb85c6
Don't bother storing the shape name for the submesh name
...
The submesh name Ogre has is completely useless to us
2013-02-25 08:22:57 -08:00
scrawl
cacdb33b42
Merge branch 'master' into graphics
...
Conflicts:
apps/openmw/CMakeLists.txt
apps/openmw/mwrender/npcanimation.cpp
apps/openmw/mwrender/sky.cpp
2013-02-25 15:12:03 +01:00
Marc Zinnschlag
151ecaad04
workaround for garbage after an end statement
2013-02-25 10:32:38 +01:00
Chris Robinson
53eb553c57
Be a little more aggressive when looking to skip generating a skeleton
...
This is needed to handle the insane number of nodes and trishapes in
in_prison_ship.nif, as Ogre has a 256-bone limit for skeletons. This is a bit
sketchy, but it works.
2013-02-24 18:12:15 -08:00
Sergey Shambir
b1381ddd69
Nif loader: workaround for missed textures in BB/BH
...
Works for Better Bodies / Better Heads addons.
2013-02-25 04:12:41 +04:00
Pieter van der Kloet
6eaaf20c94
Merge remote-tracking branch 'upstream/master' into launchernext
2013-02-25 00:56:23 +01:00
Chris Robinson
c60e858b02
Create bones for NiTriShape nodes, and attach the entities to them
...
Otherwise some models don't connect properly. NiTriShapes are more guaranteed
to have unique names than their parent nodes.
2013-02-24 12:42:32 -08:00
scrawl
2e6c63d9cd
Disable specular on NIF's
2013-02-24 17:18:22 +01:00
Chris Robinson
db9a3aeddf
Merge remote-tracking branch 'zini/master' into animation2
2013-02-24 03:32:35 -08:00
scrawl
3135482cee
Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics
2013-02-24 10:06:04 +01:00
Nathan Jeffords
44b1c66c4b
fixed various warnings about converting size_t to int
2013-02-23 10:23:38 -08:00
scrawl
db9e49968e
Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics
2013-02-23 04:13:51 +01:00
Chris Robinson
3c0b29de45
Merge remote-tracking branch 'zini/master' into animation2
2013-02-22 01:34:22 -08:00
greye
82595e66b2
another missing header for #576
2013-02-21 22:47:18 +04:00
Marc Zinnschlag
9b7957cf20
fixed a missing inlcude
2013-02-21 19:27:07 +01:00
Chris Robinson
6ae00be8a3
Fix nifbullet shape transformation
2013-02-19 22:28:15 -08:00
scrawl
f4749f10da
NIF bullet loader fix for incorrect collision shapes (credit goes to Chris, he asked me to push this)
2013-02-20 05:35:52 +01:00
Pieter van der Kloet
35b68a3c40
Fixed accidental profile deletion and added sorting by date
2013-02-19 15:58:01 +01:00
Pieter van der Kloet
37fe31e858
Merge remote-tracking branch 'upstream/next' into settings_selwidget
2013-02-19 01:12:47 +01:00
scrawl
32b837ebd4
Merge branch 'next' of https://github.com/zinnschlag/openmw into graphics
2013-02-19 00:15:54 +01:00
Pieter van der Kloet
178cf2154e
Made checking/unchecking work with the new datafiles model
2013-02-18 17:59:08 +01:00
Chris Robinson
e2d7cc49e3
Merge remote-tracking branch 'zini/next' into animation2
2013-02-17 03:42:37 -08:00
Douglas Mencken
df5919f2c5
Use `signed char' explicitly where needed. It is important because:
...
- It is implementation-dependent if plain `char' signed or not.
- C standard defines three *distinct* types: char, signed char,
and unsigned char.
- Assuming that char is always unsigned or signed can lead to
compile-time and run-time errors.
You can also use int8_t, but then it would be less obvious for developers
to never assume that char is always unsigned (or always signed).
Conflicts:
components/esm/loadcell.hpp
2013-02-15 20:28:14 +01:00
Pieter van der Kloet
fd430dc5a9
Merge remote-tracking branch 'mike-sc/sel_widget' into settings_selwidget
...
Conflicts:
apps/launcher/datafilespage.cpp
components/fileorderlist/datafileslist.cpp
2013-02-15 15:38:30 +01:00
Pieter van der Kloet
ee27e3bb58
Merge remote-tracking branch 'upstream/next' into settingsnext
...
Conflicts:
apps/launcher/CMakeLists.txt
apps/launcher/datafilespage.cpp
apps/launcher/datafilespage.hpp
apps/launcher/graphicspage.cpp
components/fileorderlist/utils/filedialog.cpp
components/fileorderlist/utils/filedialog.hpp
2013-02-15 15:21:14 +01:00
Chris Robinson
da5f11700f
Warn about unhandled node types before the controllers
2013-02-13 00:45:00 -08:00
Chris Robinson
5b2ca6fa7d
Don't complain about RootCollisionNode, it's handled in nifbullet
2013-02-13 00:43:29 -08:00
Michal Sciubidlo
f4d60ae7b2
Files sorting (masters then plugins).
...
Remove unneeded includes.
2013-02-10 19:59:25 +01:00
Michal Sciubidlo
0df7c7e5c1
Rename mPlugins* to mFiles*
2013-02-10 14:08:54 +01:00
Michal Sciubidlo
e4ed397b2d
Merge plugins and masters list view in openDialog. Simplify datafilesmodel.
2013-02-10 14:02:06 +01:00
Chris Robinson
f4e587c72c
Always create a skeleton from a NIF when there's more than one NiNode
2013-02-09 17:48:23 -08:00
Chris Robinson
f197c67e95
Fix a circular include
2013-02-09 12:46:20 -08:00
Chris Robinson
34ddf69a31
Merge remote-tracking branch 'zini/next' into animation2
2013-02-09 09:46:57 -08:00
scrawl
d47090b312
Merge branch 'next' of https://github.com/zinnschlag/openmw into graphics
2013-02-09 16:40:10 +01:00
Marc Zinnschlag
f19fbaa293
Merge remote-tracking branch 'mark76/multiple_esm_esp' into next
2013-02-09 15:30:29 +01:00
Mark Siewert
eefbdde6de
- For pull request: remove all instances of maps used to track refnumbers.
...
- new file: apps/openmw/mwworld/store.cpp, had to move reference merging method out of the header file to prevent three-way recursion/unresolved forward references in custom compare operators.
2013-02-09 13:00:57 +01:00
Marc Zinnschlag
d5dd0640c7
basic gmst support
2013-02-08 09:58:19 +01:00
Chris Robinson
8b1e7b95ba
Attempt to load the skeleton source if it doesn't yet exist
2013-02-05 17:55:12 -08:00
Michal Sciubidlo
347a734364
Move OpenDialog to editor and use it in startup dialogue.
...
Remove debug output from DataFilesList.
2013-02-05 22:06:36 +01:00
Michal Sciubidlo
f7e5ea24f4
Merge branch 'startup' into cs_load.
...
Fix include in textinputdialog.cpp.
2013-02-05 21:23:49 +01:00
Chris Robinson
bd4fdf47a3
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
apps/openmw/mwrender/sky.cpp
2013-02-05 02:27:57 -08:00
Michal Sciubidlo
66ec4ca7d9
Split launcher specific code from DataFilesList back to DataFilesPage.
2013-02-04 22:14:14 +01:00
Chris Robinson
bec538bfa1
Always declare operator<< for using a TextKeyMap with Ogre::Any
2013-02-04 09:19:59 -08:00
scrawl
109d0a942f
Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics
2013-02-03 19:02:57 +01:00
Mark Siewert
3e43db5f76
Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
2013-02-03 16:14:41 +01:00
Chris Robinson
c45b4d6072
Clean up some NIF warning reports
2013-02-02 22:27:08 -08:00
Michal Sciubidlo
155cca0c9a
Upload missing files.
...
Fix folder name.
Keep Qt optional.
Move open dialogue from doc to tools.
Rename 'load' to 'open'.
Deleted wrong comment.
2013-02-02 18:36:01 +01:00
Chris Robinson
e6e7c69013
Fix handling of filtered entities
2013-02-02 05:26:52 -08:00
Marc Zinnschlag
85697e4628
reverted to C++03
2013-02-02 13:24:28 +01:00
scrawl
3ec703e6af
Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics
2013-02-01 16:25:54 +01:00
Michal Sciubidlo
492482de7f
Add "open" option in opencs.
2013-02-01 00:42:03 +01:00
Chris Robinson
c6a9ea5007
Use the skeleton as defined in the NIF model
...
The avoids having to duplicate models that get attached to different character
skeletons.
2013-01-30 22:37:39 -08:00
Michal Sciubidlo
ac62dd050d
Rename datafilespage to datafileslist
2013-01-30 21:08:27 +01:00
Michal Sciubidlo
f029a9011a
Move datafilespage to shared space.
2013-01-30 20:21:03 +01:00
Chris Robinson
b6354c6282
Don't share skeleton instances between bounded parts on an NPC
...
However, a skeleton instance will still be shared between entities in an entity
list.
2013-01-30 09:29:16 -08:00
Chris Robinson
0853fa335c
Avoid redundant string concatenations
2013-01-29 01:36:17 -08:00
Chris Robinson
487c83e943
Rename nonaccum to animroot
2013-01-28 22:09:41 -08:00
Chris Robinson
e1d3933145
Remove an unused struct
2013-01-28 01:27:12 -08:00
Chris Robinson
b1ffdf855f
Reset the initial state of animated nodes on the skeleton instances
...
This is so the animation specifies node keyframe data based on the node's
parent. This will also be necessary for applying animations from different
skeleton sources, as they can have different binding positions (even native
.skeleton resources will need to specify animation data this way).
2013-01-26 04:48:53 -08:00
Mark Siewert
dca8dc4fdb
Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
...
Conflicts:
apps/openmw/engine.cpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/store.hpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm/esmreader.hpp
- Quick hack: OMW::Engine::prepareEngine only loads translation data for the first master file.
2013-01-25 18:22:01 +01:00
Chris Robinson
d836b3d0ff
Don't try to create animations if there's no text keys and nonaccum node.
...
Such meshes apparently use NiBSAnimationNode, a Bethesda-specific extension
which has animation-related info in its flags (values currently unknown).
2013-01-22 00:24:57 -08:00
Chris Robinson
6905bd18ba
Filter out the group name from the text keys
...
It's already in the animation name, and the text keys are animation-specific
anyway.
2013-01-21 02:59:12 -08:00
Chris Robinson
8e8900e422
Use the first bone with text keys as the nonaccum root.
2013-01-20 22:51:39 -08:00
Chris Robinson
536f8104e6
Do not create an 'all' animation.
2013-01-20 17:24:43 -08:00
Mark Siewert
713d324eeb
- Minor code cleanup
2013-01-20 19:07:33 +01:00
Mark Siewert
a8e02779b2
- Add support for multiple plugins trying to modify the same reference
...
- Fix a small signed/unsigned warning
2013-01-19 23:33:18 +01:00
Chris Robinson
1ce8eaf52c
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
apps/openmw/mwrender/actors.cpp
apps/openmw/mwrender/actors.hpp
2013-01-16 07:36:56 -08:00
Chris Robinson
94e30199d1
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
components/nifogre/ogre_nif_loader.cpp
2013-01-15 14:59:30 -08:00
Chris Robinson
e5f040a06f
Improve filename pattern matching
2013-01-15 14:10:52 -08:00
scrawl
6c6ce4a05c
Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics
2013-01-14 00:10:57 +01:00
Chris Robinson
b23fcb260c
Use the record index for finding the NiTriShape instead of the name
2013-01-13 08:00:04 -08:00
Chris Robinson
660d73fd88
Store the NIF index in the Record object
2013-01-13 06:56:58 -08:00
scrawl
e4f140841e
Make OpenMW work with Ogre 1.9
2013-01-12 08:23:15 +01:00
scrawl
3f4d8c08e4
Merge branch 'nif_file' into graphics
2013-01-12 06:41:13 +01:00
scrawl
31e6d28b19
Close NIF file resource after loading it into memory
2013-01-12 06:37:43 +01:00
scrawl
52516ca4b4
Merge branch 'master' into graphics
2013-01-12 01:22:01 +01:00
Marc Zinnschlag
db48017c36
Merge remote-tracking branch 'blunted2night/nif_cache_v6'
2013-01-11 11:07:45 +01:00
Michal Sciubidlo
85bdb49d1b
Mix debug and release if necessary under non Windows systems.
2013-01-11 09:10:48 +01:00
Nathan Jeffords
d5ebd6654d
cache loaded NIF files to eliminate reloads
...
Created a NIF file caching mechanism to prevent the system from
reloading a NIF during a startup and cell changes.
2013-01-10 21:47:02 -08:00
Nathan Jeffords
0989b44b41
spread some const around NIF loading
2013-01-10 21:32:47 -08:00
Nathan Jeffords
9d4f8c6722
changed bullet_nif_loader to not modifiy NIF file
...
The code in bullet_nif_loader was modifing the loaded NIF file as part of
processing. Currently this is OK since the NIF file will be thrown away
immediately, but it causes problems when trying to share loaded NIF files.
2013-01-10 21:32:32 -08:00
scrawl
6ef85c46fd
Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics
2013-01-10 19:35:40 +01:00
Chris Robinson
23ac1c2de5
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
components/nifogre/ogre_nif_loader.cpp
2013-01-09 20:52:12 -08:00
scrawl
455ec0996d
Shaders & textures are now loaded upon loading the NIF, instead of when the object becomes visible in the camera frustum. Should improve responsiveness.
2013-01-09 22:27:58 +01:00
Marc Zinnschlag
4defb1a476
Merge remote-tracking branch 'trombonecot/lowerstring'
...
Conflicts:
apps/openmw/mwgui/loadingscreen.cpp
2013-01-09 22:13:59 +01:00
eduard
2dc0064cc2
more string lowercase
2013-01-09 20:51:52 +01:00
Chris Robinson
a14132b5a0
Merge remote-tracking branch 'zini/master' into animation2
2013-01-09 11:12:26 -08:00
Chris Robinson
c4c8295e0b
Rename NIFLoader to Loader, and update some comments
2013-01-09 09:10:59 -08:00
Nathan Jeffords
44031ec3d7
fleshed out BSAArchive and DirArchive.
...
Implemented both lists & finds, with pattern matching.
Conflicts:
components/bsa/bsa_archive.cpp
2013-01-09 08:53:27 -08:00
Chris Robinson
4b7cc1372f
Some cleanup
2013-01-09 06:32:31 -08:00
Chris Robinson
a9bcbfd8d3
Use Node::_getFullTransform instead of building the matrix manually
2013-01-09 05:11:32 -08:00
Chris Robinson
015bb0bf1f
Use the calculated max time for the "all" animation
2013-01-09 04:30:32 -08:00
Chris Robinson
465fd9c8af
Offset animation times to start at 0
2013-01-09 04:21:56 -08:00
Marc Zinnschlag
d1e51ebf42
silenced some warnings
2013-01-09 12:25:45 +01:00
Chris Robinson
4054934f16
Store text keys for each animation
2013-01-09 02:51:25 -08:00
Chris Robinson
bb98542c5a
Build separate animations for each group
2013-01-09 01:40:38 -08:00
Chris Robinson
e44729cd43
Make the text keys lower-case when extracting them
...
I think it's safe to assume all text keys are treated in a case-insensitive
manner. So far the only known NiTextKeyExtraData records are for animation
keys, which effectively are.
2013-01-09 00:17:42 -08:00
Nathan Jeffords
67491f6c49
reworked DirArchive to improve performance
...
Replaced old file index with a simple map. The map works by storing the
file's relative path with path seperators normalized, and in lower case if
not in strict mode. Incoming searches are normalized in the same way then
the name is searched in the map. The value in the map is the original full
path to the file which is then used to created a ConstrainedDataStream. In
addition to changing the index, the commonly used Archive methods are
implemented so that they don't fall back on the default FileSystemArchive
implementations.
2013-01-08 22:51:05 -08:00
Nathan Jeffords
43cd88a24e
include members of BSAArchives in Ogres resource indices
2013-01-08 22:51:05 -08:00
Chris Robinson
14d814d1d3
Avoid creating bones for NiTriShape nodes
...
The offset specified for them can be just as easilly handled by the tag point
they get connected to, and as such it's just needless extra nodes.
2013-01-07 04:21:25 -08:00
Chris Robinson
921ae76ea9
Merge remote-tracking branch 'zini/master' into animation2
2013-01-06 21:20:49 -08:00
Chris Robinson
7ba09ff025
Catch errors from buildBones
2013-01-06 20:05:50 -08:00
Marc Zinnschlag
e31cd1c805
Merge remote-tracking branch 'corristo/master'
2013-01-06 18:40:30 +01:00
Nikolay Kasyanov
1d3f3bcce3
clang build fix
2013-01-06 19:19:12 +04:00
Marc Zinnschlag
25815ab8f7
Merge remote-tracking branch 'potatoesmaster/to_utf8-rewrite'
2013-01-06 13:31:01 +01:00
Emanuel Guevel
0b7d11d38d
to_utf8 test: fix Utf8Encoder constructor
2013-01-06 11:39:18 +01:00
Chris Robinson
8ebf49a35b
Only lower-case the model name
...
The skeleton name will already be lower-case
2013-01-05 20:54:57 -08:00
Chris Robinson
18389c7b04
Set non-bone nodes as manually controlled
2013-01-05 17:50:22 -08:00
Emanuel Guevel
63f09462fd
to_utf8, Utf8Encoder: pass encoding as constructor parameter
...
Edit other files accordingly.
2013-01-06 01:37:58 +01:00
Chris Robinson
e5ce55b6a4
Remove a hack
2013-01-05 06:20:21 -08:00
Marc Zinnschlag
043e6c09fe
Merge remote-tracking branch 'chris/animation2'
2013-01-05 13:34:46 +01:00
Chris Robinson
58d35dbfcf
Have createEntities' caller retrieve the text keys as needed
2013-01-05 04:01:11 -08:00
Chris Robinson
761914bdaa
Use a separate method to build the animation
2013-01-05 03:31:51 -08:00
Jordan Milne
3ed77ca189
Include C++ header instead
2013-01-05 01:17:07 -04:00
Chris Robinson
8a086e3afb
Cache the mesh names from the mesh/skeleton pairs
2013-01-04 20:58:35 -08:00
Chris Robinson
3131e8dae6
Don't get the text keys if they're not being requested
2013-01-04 20:33:26 -08:00
Chris Robinson
683ced54a0
Store and retrieve the node text keys in the bones' user object bindings
2013-01-04 19:41:37 -08:00
Chris Robinson
a3d33db415
Store a NiNode's NiTextKeyExtraData in a user object binding on Ogre::Bone
2013-01-04 15:55:47 -08:00
Jordan Milne
b52904a6ea
Include headers necessary for compilation under VS2010
2013-01-04 19:52:27 -04:00
Chris Robinson
1d4d67f811
Avoid underflows if the texture name doesn't include a '.'
2013-01-04 15:03:57 -08:00
Chris Robinson
3f19b13695
Merge remote-tracking branch 'zini/master' into animation2
2013-01-04 14:47:01 -08:00
Marc Zinnschlag
215b43cc7b
Merge remote-tracking branch 'blunted2night/texname_fix'
2013-01-04 23:19:51 +01:00
Marc Zinnschlag
b4d63814cc
post merge fix
2013-01-04 23:12:56 +01:00
Nathan Jeffords
fec9a59237
changed EMSLoader to use ConstrainedDataStream
...
Changed the EMSLoader class to use the ConstrainedDataStream so that
future changes may benifit from its increased performance.
2013-01-04 13:41:03 -08:00
Nathan Jeffords
278337116b
increased performance of ConstrainedDataStream
...
Reimplemented ConstrainedDataStream to use low-level IO calls and a
custom buffering scheme to avoid using C++ iostreams.
2013-01-04 13:40:00 -08:00
Nathan Jeffords
5c7f1bd497
moved ConstrainedDataStream into its own file
...
moved the ConstrainedDataStream into its own source file and changed
BSAFile to use it though the exposed factory function. This is in
preperation foreimplementing it based on feedback from profiling that
(at least on windows) the C++ iostreams library is quite slow.
2013-01-04 13:39:10 -08:00
Nathan Jeffords
2181393518
change texture renaming logic to increase performance
...
ResourceGroupManager::resourceExistsInAnyGroup is slow (at least on
windows) if the tested path does not exist, but is fast if it does (due
to finding it in the index). This change tries the '.dds' version of the
name first, and reverts to the original if the '.dds' version was not
found.
2013-01-04 11:36:22 -08:00
Emanuel Guevel
cc792da858
Fix to_utf8 test: add test data directory and remove unused include
2013-01-04 15:24:07 +01:00
Emanuel Guevel
c947d87ab9
Add a test for to_utf8 component
2013-01-04 15:10:30 +01:00
Chris Robinson
61ad8bb3dd
Use a list of mesh names instead of mesh objects
2013-01-04 00:14:41 -08:00