Commit 8253455e authored by frankie's avatar frankie 💬

replaced all Skin by Softskin in bind_methods and debug messages

parent dbf47123
......@@ -329,7 +329,7 @@ void Skin::push_in_group(uint32_t gid, SkinEdge* se) {
((SkinGroupLigament*) sg)->push_back((SkinLigament*) se);
break;
default:
ERR_PRINT("Skin::push_in_group, unsupported group type!");
ERR_PRINT("Softskin::push_in_group, unsupported group type!");
break;
}
......@@ -567,7 +567,7 @@ void Skin::generate(SkinRaw& raw) {
const Vector<int>& ids = raw.fibers[i];
if (!dots[ids[0]].is_initialised() || !dots[ids[1]].is_initialised()) {
std::cout <<
"Skin::generate, "
"Softskin::generate, "
"fiber can not be linked to an unitialised dot!" <<
std::endl;
purge();
......@@ -594,7 +594,7 @@ void Skin::generate(SkinRaw& raw) {
const Vector<int>& ids = raw.tensors[i];
if (!dots[ids[0]].is_initialised() || !dots[ids[1]].is_initialised()) {
std::cout <<
"Skin::generate, "
"Softskin::generate, "
"tensor can not be linked to an unitialised dot!" <<
std::endl;
purge();
......@@ -630,7 +630,7 @@ void Skin::generate(SkinRaw& raw) {
int aid = ids[1];
if (!dots[vid].is_initialised()) {
std::cout <<
"Skin::generate, "
"Softskin::generate, "
"ligament can not be linked to an unitialised dot!" <<
std::endl;
purge();
......@@ -664,7 +664,7 @@ void Skin::generate(SkinRaw& raw) {
int aid = ids[1];
if (!dots[vid].is_initialised()) {
std::cout <<
"Skin::generate, "
"Softskin::generate, "
"muscle can not be linked to an unitialised dot!" <<
std::endl;
purge();
......@@ -702,7 +702,7 @@ void Skin::generate(SkinRaw& raw) {
// for (uint32_t i = 0; i < anchors_num; ++i) {
// std::cout << "anchor " << i << " : " << anchors[i] << std::endl;
// }
// std::cout << "Skin::generate report" << std::endl <<
// std::cout << "Softskin::generate report" << std::endl <<
// "\traw verts: " << raw.verts.size() << std::endl <<
// "\traw anchors: " << raw.anchors.size() << std::endl <<
// "\traw faces: " << raw.faces.size() << std::endl <<
......@@ -835,14 +835,14 @@ void Skin::parse(const String& path) {
int version = l.right(19).to_int();
if (version < SOFTSKIN_VERSION) {
std::cout << "Skin::parse, invalid version, "
std::cout << "Softskin::parse, invalid version, "
"current version is " << SOFTSKIN_VERSION <<
std::endl;
return;
}
} else {
std::cout << "Skin::parse, invalid file, "
std::cout << "Softskin::parse, invalid file, "
"see doc here https://gitlab.com/frankiezafe/SoftSkin" <<
std::endl;
return;
......@@ -931,7 +931,7 @@ void Skin::parse(const String& path) {
decompressed.verts.write[index] = vs;
++index;
} else {
std::cout << "Skin::parse, vertices pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, vertices pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -942,7 +942,7 @@ void Skin::parse(const String& path) {
decompressed.anchors.write[index] = vs;
++index;
} else {
std::cout << "Skin::parse, anchors pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, anchors pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -959,7 +959,7 @@ void Skin::parse(const String& path) {
decompressed.faces.write[index] = vs;
++index;
} else {
std::cout << "Skin::parse, faces pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, faces pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -970,7 +970,7 @@ void Skin::parse(const String& path) {
decompressed.groups.write[index] = vs[1];
++index;
} else {
std::cout << "Skin::parse, groups pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, groups pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -981,7 +981,7 @@ void Skin::parse(const String& path) {
decompressed.fibers.write[index] = vs;
++index;
} else {
std::cout << "Skin::parse, fibers pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, fibers pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -992,7 +992,7 @@ void Skin::parse(const String& path) {
decompressed.tensors.write[index] = vs;
++index;
} else {
std::cout << "Skin::parse, tensors pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, tensors pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -1003,7 +1003,7 @@ void Skin::parse(const String& path) {
decompressed.ligaments.write[index] = vs;
++index;
} else {
std::cout << "Skin::parse, ligaments pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, ligaments pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -1014,7 +1014,7 @@ void Skin::parse(const String& path) {
decompressed.muscles.write[index] = vs;
++index;
} else {
std::cout << "Skin::parse, muscles pass, failed to decompress line " << i << std::endl;
std::cout << "Softskin::parse, muscles pass, failed to decompress line " << i << std::endl;
return;
}
......@@ -1031,7 +1031,7 @@ void Skin::parse(const String& path) {
decompressed.verts.empty() ||
decompressed.faces.empty()
) {
std::cout << "Skin::parse, inconsistent data: " <<
std::cout << "Softskin::parse, inconsistent data: " <<
"verts: " << decompressed.verts.size() << ". " <<
"faces: " << decompressed.faces.size() << ". " <<
std::endl;
......@@ -1041,7 +1041,7 @@ void Skin::parse(const String& path) {
decompressed.reset_passes();
// std::cout << "Skin::parse, successfull parsing: " << std::endl <<
// std::cout << "Softskin::parse, successfull parsing: " << std::endl <<
// "verts: " << decompressed.verts.size() << std::endl <<
// "anchors: " << decompressed.anchors.size() << std::endl <<
// "faces: " << decompressed.faces.size() << std::endl <<
......
......@@ -612,13 +612,13 @@ void SkinMesh::skinify() {
// }
if (dirty_mesh) {
std::cout << "SkinMesh::skinify, you mesh is dirty! "
std::cout << "SoftskinMesh::skinify, you mesh is dirty! "
"some of the faces have a surface 0 "
"(at least 2 vertices at the same position)" <<
std::endl;
}
// std::cout << "SkinMesh::skinify, mesh ready for skinification: " << std::endl <<
// std::cout << "SoftskinMesh::skinify, mesh ready for skinification: " << std::endl <<
// "\tstride: " << stride << std::endl <<
// "\toffset_vertices: " << offset_vertices << std::endl <<
// "\toffset_normal: " << offset_normal << std::endl <<
......
......@@ -309,7 +309,7 @@ protected:
class SkinMesh : public VisualInstance {
GDCLASS(SkinMesh, VisualInstance);
OBJ_CATEGORY("Skin");
OBJ_CATEGORY("Softskin");
public:
......
......@@ -59,7 +59,7 @@ SkinNotifierListener(),
_UID(UID_COUNTER++),
_valid(true) {
// std::cout << "SkinServer created with UID: " << _UID << std::endl;
// std::cout << "SoftskinServer created with UID: " << _UID << std::endl;
_skl_type = sn_SERVER;
SkinNotifier::subscribe(this);
......@@ -128,7 +128,7 @@ void SkinServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("hit_point"), &SkinServer::hit_point);
ClassDB::bind_method(D_METHOD("drag_point", "from", "to"), &SkinServer::drag_point);
ADD_GROUP("SkinServer", "skinserver_");
ADD_GROUP("SoftskinServer", "skinserver_");
ADD_PROPERTY(PropertyInfo(Variant::INT,
"skinserver_UID", PROPERTY_HINT_NONE),
......@@ -167,7 +167,7 @@ bool SkinServer::tree_seekdown_serverskins(Node* n) {
if (!p) {
return false;
} else if (p->is_class("SkinServer")) {
} else if (p->is_class("SoftskinServer")) {
return true;
} else {
return tree_seekdown_serverskins(p);
......@@ -184,7 +184,7 @@ void SkinServer::tree_seekup_skins(Node* n) {
// verify that there are NO SkinServer in parents
if (tree_seekdown_serverskins(this)) {
std::cout << "SkinServer::tree_seekup_skins, " <<
std::cout << "SoftskinServer::tree_seekup_skins, " <<
"as it is forbidden to parent SkinServer, " <<
"current server will not host any Skins..." <<
std::endl;
......@@ -199,7 +199,7 @@ void SkinServer::tree_seekup_skins(Node* n) {
Node* sn = n->get_child(i);
if (sn->is_class("Skin")) {
if (sn->is_class("Softskin")) {
_skins.push_back((Skin*) sn);
} else {
// std::cout << "Child " << i << " is not a Skin" << std::endl;
......
......@@ -421,7 +421,7 @@ void Softskin::generate_skinmesh() {
SoftskinGroupDot* sg = new SoftskinGroupDot();
sg->set_name(gname);
if (gr.indices.size() != gr.weights.size()) {
std::cout << "Skin::generate_skinmesh, sf_DOT group:"
std::cout << "Softskin::generate_skinmesh, sf_DOT group:"
"indices and weights do not have the same "
"size! " <<
gr.indices.size() << " <> " <<
......@@ -441,14 +441,14 @@ void Softskin::generate_skinmesh() {
}
break;
case sf_ANCHOR:
std::cout << "Skin::generate_skinmesh, sf_ANCHOR groups " << gr.name << " NOT IMPLEMENTED!" << std::endl;
std::cout << "Softskin::generate_skinmesh, sf_ANCHOR groups " << gr.name << " NOT IMPLEMENTED!" << std::endl;
break;
case sf_FIBER:
{
SoftskinGroupFiber* sg = new SoftskinGroupFiber();
sg->set_name(gname);
if (gr.indices.size() != gr.weights.size()) {
std::cout << "Skin::generate_skinmesh, sf_FIBER group:"
std::cout << "Softskin::generate_skinmesh, sf_FIBER group:"
"indices and weights do not have the same "
"size! " <<
gr.indices.size() << " <> " <<
......@@ -472,7 +472,7 @@ void Softskin::generate_skinmesh() {
SoftskinGroupLigament* sg = new SoftskinGroupLigament();
sg->set_name(gname);
if (gr.indices.size() != gr.weights.size()) {
std::cout << "Skin::generate_skinmesh, sf_LIGAMENT "
std::cout << "Softskin::generate_skinmesh, sf_LIGAMENT "
"group: indices and weights do not have the "
"size! " <<
gr.indices.size() << " <> " <<
......@@ -1146,7 +1146,7 @@ void Softskin::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::OBJECT,
"proxy", PROPERTY_HINT_RESOURCE_TYPE,
"SkinProxy"),
"SoftskinProxy"),
"set_proxy",
"get_proxy");
......
......@@ -22,6 +22,7 @@
class Softskin : public VisualInstance {
GDCLASS(Softskin, VisualInstance);
OBJ_CATEGORY("Softskin");
public:
......
......@@ -65,17 +65,17 @@ Error SoftskinCache::load_file(const String &p_path) {
bool valid = true;
if (smarker.compare(SSC_EXT) == -1) {
std::cout << "SkinCache::load_file, WRONG FILE TYPE!" << std::endl;
std::cout << "SoftskinCache::load_file, WRONG FILE TYPE!" << std::endl;
valid = false;
} else if (imarker != SOFTSKIN_VERSION) {
std::cout << "SkinCache::load_file, WRONG VERSION, currently supported " << SOFTSKIN_VERSION << std::endl;
std::cout << "SoftskinCache::load_file, WRONG VERSION, currently supported " << SOFTSKIN_VERSION << std::endl;
valid = false;
}
if (valid) {
purge();
if (!deserialise(f)) {
std::cout << "SkinCache::load_file, PARSING WENT WRONG!" << std::endl;
std::cout << "SoftskinCache::load_file, PARSING WENT WRONG!" << std::endl;
purge();
}
}
......@@ -221,7 +221,7 @@ void SoftskinCache::copy_bufferinfo(SoftskinData* dst, const size_t& surfID) {
void SoftskinCache::dump() {
std::cout << "SkinCache dump ********************** " << std::endl;
std::cout << "SoftskinCache dump ********************** " << std::endl;
std::cout << "\tsurfaces: " << _surfaces.size() << std::endl;
for (size_t i = 0; i < _surfaces.size(); ++i) {
std::cout << "\t\t**" << i << " ***" << std::endl;
......
......@@ -18,7 +18,7 @@
class SoftskinCache : public SkinResource {
GDCLASS(SoftskinCache, SkinResource);
OBJ_CATEGORY("Skin");
OBJ_CATEGORY("Softskin");
public:
......
......@@ -59,9 +59,9 @@
#define SOFTSKIN_VERSION 100
#define SSC_EXT "ssc"
#define SSC_NAME "SkinCache"
#define SSC_NAME "SoftskinCache"
#define SSM_EXT "ssm"
#define SSM_NAME "SkinMesh"
#define SSM_NAME "SoftskinMesh"
#define SSC_MARKER_SIZE 10
#define SSC_SSMSTARTMA "ssmstartma"
......
......@@ -84,7 +84,7 @@ void SoftskinDot::init(
void SoftskinDot::init_internal() {
if (!_vert.is_initialised() || !_force.is_initialised()) {
std::cout << "SkinDot::init_internal, "
std::cout << "SoftskinDot::init_internal, "
"it is mandatory to initialise vert & force to "
"a non-null Vector3 pointer to validate a skin dot!" <<
std::endl;
......
......@@ -136,7 +136,7 @@ public:
virtual bool init(A* ptr0, B* ptr1) {
std::cout <<
"SkinEdgeAdvanced::init, "
"SoftskinEdgeAdvanced::init, "
"no specialisation the template for this kind of objects!!" <<
std::endl;
return false;
......
......@@ -47,7 +47,7 @@
bool SoftskinFiber::init(SoftskinDot* a, SoftskinDot* b) {
if (_head != 0 || _tail != 0) {
std::cout <<
"SkinFiber already initialised!" <<
"SoftskinFiber already initialised!" <<
std::endl;
return false;
}
......@@ -79,7 +79,7 @@ void SoftskinFiber::update_specialised() {
bool SoftskinLigament::init(SkinAnchor* a, SoftskinDot* b) {
if (_head != 0 || _tail != 0) {
std::cout <<
"SkinLigament already initialised!" <<
"SoftskinLigament already initialised!" <<
std::endl;
return false;
}
......
......@@ -252,7 +252,7 @@ Vector3 SoftskinGroupLigament::get_barycenter() {
return Vector3(0, 0, 0);
}
Vector3 out;
for (int i = 0; i < _data_num; ++i) {
for (uint32_t i = 0; i < _data_num; ++i) {
out += _data[i]->get_head()->anchor().ref();
}
return out / _data_num;
......@@ -264,7 +264,7 @@ void SoftskinGroupLigament::parent(Node* p) {
Spatial* s = Object::cast_to<Spatial>(p);
ERR_FAIL_NULL(s);
for (int i = 0; i < _data_num; ++i) {
for (uint32_t i = 0; i < _data_num; ++i) {
_data[i]->parent(s);
}
}
......
......@@ -78,14 +78,14 @@ public:
assert(!_packed);
if (_type == sf_UNDEFINED) {
std::cout <<
"SkinGroup::add, "
"SoftskinGroup::add, "
"type your group before adding anything!" <<
std::endl;
return;
}
if (_list.find(element) != -1) {
std::cout << "SkinGroup::add, already in this group!" << std::endl;
std::cout << "SoftskinGroup::add, already in this group!" << std::endl;
return;
}
_list.push_back(element);
......@@ -96,7 +96,7 @@ public:
assert(!_packed);
if (_type == sf_UNDEFINED) {
std::cout <<
"SkinGroup::add, "
"SoftskinGroup::add, "
"type your group before adding anything!" <<
std::endl;
return;
......
......@@ -60,17 +60,17 @@ Error SoftskinMesh::load_file(const String &p_path) {
bool valid = true;
if (smarker.compare(SSM_EXT) == -1) {
std::cout << "SkinMesh::load_file, WRONG FILE TYPE!" << std::endl;
std::cout << "SoftskinMesh::load_file, WRONG FILE TYPE!" << std::endl;
valid = false;
} else if (imarker != SOFTSKIN_VERSION) {
std::cout << "SkinMesh::load_file, WRONG VERSION, currently supported " << SOFTSKIN_VERSION << std::endl;
std::cout << "SoftskinMesh::load_file, WRONG VERSION, currently supported " << SOFTSKIN_VERSION << std::endl;
valid = false;
}
if (valid) {
purge();
if (!deserialise(f)) {
std::cout << "SkinCache::load_file, PARSING WENT WRONG!" << std::endl;
std::cout << "SoftskinCache::load_file, PARSING WENT WRONG!" << std::endl;
purge();
} else if (_cache.is_valid()) {
// invalidation of cache, will be regenerated at next get_cache call
......@@ -89,7 +89,7 @@ Error SoftskinMesh::load_file(const String &p_path) {
void SoftskinMesh::dump(bool deep) {
std::cout << "SkinMesh dump ********************** " << std::endl;
std::cout << "SoftskinMesh dump ********************** " << std::endl;
std::cout << "\t" << "anchors: " << _anchors.size() << std::endl;
if (deep) {
......@@ -175,7 +175,7 @@ void SoftskinMesh::dump(bool deep) {
bool SoftskinMesh::deserialise(FileAccess* f) {
if (!is_marker(f, SSC_SSMSTARTMA)) {
std::cout << "SkinMesh::load_mesh SSC_SSMSTARTMA" << std::endl;
std::cout << "SoftskinMesh::load_mesh SSC_SSMSTARTMA" << std::endl;
return false;
}
......@@ -184,35 +184,35 @@ bool SoftskinMesh::deserialise(FileAccess* f) {
load_poolvector(f, size / 3, _anchors);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh anchors " << size << std::endl;
std::cout << "SoftskinMesh::load_mesh anchors " << size << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size / 3, _dots);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh _dots" << std::endl;
std::cout << "SoftskinMesh::load_mesh _dots" << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size / 3, _normals);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh _normals " << std::endl;
std::cout << "SoftskinMesh::load_mesh _normals " << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size / 3, _tangents);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh _tangents " << std::endl;
std::cout << "SoftskinMesh::load_mesh _tangents " << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size / 4, _colors);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh ARRAY_COLOR " << std::endl;
std::cout << "SoftskinMesh::load_mesh ARRAY_COLOR " << std::endl;
return false;
}
......@@ -220,14 +220,14 @@ bool SoftskinMesh::deserialise(FileAccess* f) {
load_poolvector(f, size / 2, _uvs);
if (!is_marker(f, SSC_END_MARKER)) {
dump();
std::cout << "SkinMesh::load_mesh ARRAY_TEX_UV " << f->get_position() << std::endl;
std::cout << "SoftskinMesh::load_mesh ARRAY_TEX_UV " << f->get_position() << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size / 2, _uv2s);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh ARRAY_TEX_UV2 " << std::endl;
std::cout << "SoftskinMesh::load_mesh ARRAY_TEX_UV2 " << std::endl;
return false;
}
......@@ -237,7 +237,7 @@ bool SoftskinMesh::deserialise(FileAccess* f) {
load_value(f, size);
load_poolvector(f, size / 2, _extra_uvs.write()[i]);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh extra_uvs " << i << std::endl;
std::cout << "SoftskinMesh::load_mesh extra_uvs " << i << std::endl;
return false;
}
}
......@@ -245,28 +245,28 @@ bool SoftskinMesh::deserialise(FileAccess* f) {
load_value(f, size);
load_poolvector(f, size, _indices);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh _indices " << std::endl;
std::cout << "SoftskinMesh::load_mesh _indices " << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size, _face_fibers);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh _face_edges " << std::endl;
std::cout << "SoftskinMesh::load_mesh _face_edges " << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size, _fibers);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh fibers " << std::endl;
std::cout << "SoftskinMesh::load_mesh fibers " << std::endl;
return false;
}
load_value(f, size);
load_poolvector(f, size, _ligaments);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh ligaments " << std::endl;
std::cout << "SoftskinMesh::load_mesh ligaments " << std::endl;
return false;
}
......@@ -283,13 +283,13 @@ bool SoftskinMesh::deserialise(FileAccess* f) {
load_value(f, indices_num);
load_poolvector(f, indices_num, gr.indices);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh groups.indices " << " / " << i << std::endl;
std::cout << "SoftskinMesh::load_mesh groups.indices " << " / " << i << std::endl;
return false;
}
load_value(f, weights_num);
load_poolvector(f, weights_num, gr.weights);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh groups.weights " << i << std::endl;
std::cout << "SoftskinMesh::load_mesh groups.weights " << i << std::endl;
return false;
}
......@@ -305,7 +305,7 @@ bool SoftskinMesh::deserialise(FileAccess* f) {
load_value(f, normedge_num);
load_stdvector(f, normedge_num, norm_edges);
if (!is_marker(f, SSC_END_MARKER)) {
std::cout << "SkinMesh::load_mesh crashed while deserialising "
std::cout << "SoftskinMesh::load_mesh crashed while deserialising "
"norm_edges " << i << std::endl;
return false;
}
......
......@@ -19,7 +19,7 @@
class SoftskinMesh : public SkinResource {
GDCLASS(SoftskinMesh, SkinResource);
OBJ_CATEGORY("Skin");
OBJ_CATEGORY("Softskin");
public:
......
......@@ -285,7 +285,7 @@ void SoftskinProxy::analyse_cache() {
}
if (dirty_mesh) {
std::cout << "SkinProxy::prepare_mesh, you mesh is dirty! "
std::cout << "SoftskinProxy::prepare_mesh, you mesh is dirty! "
"some of the faces have a surface 0 "
"(at least 2 vertices at the same position)" <<
std::endl;
......@@ -342,8 +342,8 @@ void SoftskinProxy::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_skin", "skin"), &SoftskinProxy::set_skin);
ClassDB::bind_method(D_METHOD("get_skin"), &SoftskinProxy::get_skin);
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "cache", PROPERTY_HINT_RESOURCE_TYPE, "SkinCache"), "set_cache", "get_cache");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "skin", PROPERTY_HINT_RESOURCE_TYPE, "SkinMesh"), "set_skin", "get_skin");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "cache", PROPERTY_HINT_RESOURCE_TYPE, "SoftskinCache"), "set_cache", "get_cache");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "skin", PROPERTY_HINT_RESOURCE_TYPE, "SoftskinMesh"), "set_skin", "get_skin");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "mesh", PROPERTY_HINT_RESOURCE_TYPE, "Mesh"), "set_mesh", "get_mesh");
}
......
......@@ -24,6 +24,7 @@
class SoftskinProxy : public Resource {
GDCLASS(SoftskinProxy, Resource);
OBJ_CATEGORY("Softskin");
public:
......
......@@ -26,7 +26,7 @@
class SkinResource : public Resource {
GDCLASS(SkinResource, Resource);
OBJ_CATEGORY("Skin");
OBJ_CATEGORY("Softskin");
public:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment