Giter Site home page Giter Site logo

kestrelm / creature_godot Goto Github PK

View Code? Open in Web Editor NEW
84.0 12.0 12.0 5.73 MB

2D Skeletal Animation Creature Runtime for Godot Engine

License: Apache License 2.0

C++ 93.51% Python 0.01% CMake 0.09% C 5.46% GDScript 0.04% Objective-C 0.90%
godot-engine animation creature-godot creature-animation 2d android skin skeleton cut pepper

creature_godot's People

Contributors

alperc84 avatar kestrelm avatar noidexe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

creature_godot's Issues

Latest version does not seem to compile correctly. (Godot 3.0.5 Stable)

Hello!

It gives me an error the likes of...

scons: Reading SConscript files ...
Detected MSVC compiler: x86
Compiled program architecture will be a 32 bit executable. (forcing bits=32).
TypeError: can_build() takes exactly 2 arguments (1 given):
File "I:\godot-3.0.5-stable\SConstruct", line 407:
if (config.can_build(selected_platform)):

But when I remove the "creaturegodot" folder, it compiles correctly. I did use the folder that was inside "creaturegodot3".

fails to compile on linux x11 godot editor

I get this error:

modules/creaturegodot/gason/gason.h:137:12: error: 'nullptr' was not declared in this scope
In file included from modules/creaturegodot/creaturegodot.h:7:0,
from modules/creaturegodot/register_types.cpp:5:
modules/creaturegodot/CreatureModule.h:242:40: error: expected ')' before '<' token
CreatureManager(std::shared_ptrCreatureModule::Creature target_creatu
^
modules/creaturegodot/CreatureModule.h:251:32: error: 'std::shared_ptr' has not been declared
void AddAnimation(std::shared_ptrCreatureModule::CreatureAnimation an
^
modules/creaturegodot/CreatureModule.h:251:42: error: expected ',' or '...' before '<' token
void AddAnimation(std::shared_ptrCreatureModule::CreatureAnimation an
^
modules/creaturegodot/CreatureModule.h:268:14: error: 'unordered_map' in namespace 'std' does not name a template type
std::unordered_map<std::string, std::shared_ptr<CreatureModule::Creatur
^
modules/creaturegodot/CreatureModule.h:327:44: error: 'std::function' has not been declared
void SetBonesOverrideCallback(std::function<void (std::unordered_map<st
^
modules/creaturegodot/CreatureModule.h:327:52: error: expected ',' or '...' before '<' token
void SetBonesOverrideCallback(std::function<void (std::unordered_map<st
^
modules/creaturegodot/CreatureModule.h:378:32: error: 'std::unordered_map' has not been declared
void AlterBonesByAnchor(std::unordered_map<std::string, meshBone *>& bones_ma
^
modules/creaturegodot/CreatureModule.h:378:45: error: expected ',' or '...' before '<' token
void AlterBonesByAnchor(std::unordered_map<std::string, meshBone *>& bones_ma
^
modules/creaturegodot/CreatureModule.h:380:14: error: 'unordered_map' in namespace 'std' does not name a template type
std::unordered_map<std::string, std::shared_ptr<CreatureModule::Creatur
^
modules/creaturegodot/CreatureModule.h:381:14: error: 'shared_ptr' in namespace 'std' does not name a template type
std::shared_ptrCreatureModule::Creature target_creature;
^
modules/creaturegodot/CreatureModule.h:390:8: error: 'unordered_map' in namespace 'std' does not name a template type
std::unordered_map<std::string, float> active_blend_run_times;
^
modules/creaturegodot/CreatureModule.h:400:14: error: 'function' in namespace 'std' does not name a template type
std::function<void (std::unordered_map<std::string, meshBone *>&) > bon
^
In file included from modules/creaturegodot/register_types.cpp:5:0:
modules/creaturegodot/creaturegodot.h:28:10: error: 'shared_ptr' in namespace 'std' does not name a template type
std::shared_ptrCreatureModule::CreatureManager manager;
^
scons: *** [modules/creaturegodot/register_types.x11.tools.64.o] Error 1
scons: building terminated because of errors.

Issue with 3.1.1 android compiling

Hi,

I can build godot 3.1.1 with creature module without any problem for windows, but when i try android_arch=armv7 or android_arch=arm64v8 i get the error below about GLM. I hope I'm not making a silly mistake. I updated visual studio 2019 it don't help.

[ 23%] Compiling ==> modules\creaturegodot\CreatureMetaData.cpp
=====
b'In file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:45:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/transform.hpp:46:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.hpp:292:\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:58:11: warning: GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:99:11: warning: GLM: rotate_slow function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotate_slow function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:232:11: warning: GLM: perspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: perspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:264:11: warning: GLM: perspectiveFov function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: perspectiveFov function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:290:11: warning: GLM: infinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: infinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:318:11: warning: GLM: tweakedInfinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: tweakedInfinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:46:\r\nIn file included from modules\\creaturegodot\\glm\\gtc/quaternion.hpp:401:\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:626:11: warning: GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:653:11: warning: GLM: roll function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: roll function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:667:11: warning: GLM: pitch function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: pitch function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:681:11: warning: GLM: yaw function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: yaw function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:811:11: warning: GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:841:11: warning: GLM: angleAxis function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: angleAxis function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:49:\r\nIn file included from modules\\creaturegodot\\glm\\ext.hpp:116:\r\nIn file included from modules\\creaturegodot\\glm/./gtx/polar_coordinates.hpp:70:\r\nmodules\\creaturegodot\\glm\\gtx/polar_coordinates.inl:28:11: warning: GLM: polar function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: polar function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/polar_coordinates.inl:46:11: warning: GLM: euclidean function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: euclidean function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:49:\r\nIn file included from modules\\creaturegodot\\glm\\ext.hpp:120:\r\nIn file included from modules\\creaturegodot\\glm/./gtx/rotate_vector.hpp:130:\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:24:11: warning: GLM: rotate function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotate function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:79:11: warning: GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:102:11: warning: GLM: rotateY function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotateY function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:125:11: warning: GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:148:11: warning: GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:171:11: warning: GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:194:11: warning: GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:218:12: warning: GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#                       pragma message("GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                               ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:49:\r\nIn file included from modules\\creaturegodot\\glm\\ext.hpp:129:\r\nIn file included from modules\\creaturegodot\\glm/./gtx/vector_angle.hpp:86:\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:26:11: warning: GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:45:11: warning: GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:65:11: warning: GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:90:11: warning: GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n#               pragma message("GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n                       ^\r\nmodules\\creaturegodot\\CreatureMetaData.cpp:102:34: warning: lambda capture \'this\' is not used [-Wunused-lambda-capture]\r\n    auto getJsonNodeFromArray = [this](JsonNode& json_obj, int idx)\r\n                                 ^~~~\r\nmodules\\creaturegodot\\CreatureMetaData.cpp:518:31: warning: lambda capture \'this\' is not used [-Wunused-lambda-capture]\r\n                                                                auto getColorFloat = [this](uint8_t val_in)\r\n                                                                                      ^~~~\r\nmodules\\creaturegodot\\CreatureMetaData.cpp:579:8: warning: unused variable \'radius\' [-Wunused-variable]\r\n                auto radius = (float)morph_data.morph_res * 0.5f;\r\n                     ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:1:\r\nIn file included from modules\\creaturegodot/CreatureMetaData.h:10:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../glm.hpp:110:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../gtc/../common.hpp:32:\r\nIn file included from modules\\creaturegodot\\glm/detail/func_common.hpp:470:\r\nmodules\\creaturegodot\\glm/detail/func_common.inl:720:12: error: use of undeclared identifier \'_isnan\'\r\n                                return _isnan(x) != 0;\r\n                                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/packing.inl:143:16: note: in instantiation of function template specialization \'glm::isnan<float>\' requested here\r\n                else if(glm::isnan(x))\r\n                             ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:1:\r\nIn file included from modules\\creaturegodot/CreatureMetaData.h:10:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../glm.hpp:110:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../gtc/../common.hpp:32:\r\nIn file included from modules\\creaturegodot\\glm/detail/func_common.hpp:470:\r\nmodules\\creaturegodot\\glm/detail/func_common.inl:791:12: error: use of undeclared identifier \'_isinf\'\r\n                                return _isinf(x) != 0;\r\n                                       ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/packing.inl:145:16: note: in instantiation of function template specialization \'glm::isinf<float>\' requested here\r\n                else if(glm::isinf(x))\r\n                             ^\r\n29 warnings and 2 errors generated.\r\n'
=====
scons: *** [modules\creaturegodot\CreatureMetaData.android.opt.armv8.o] Error 1
scons: building terminated because of errors.

Export build crashes when using CreatureGodot node

Godot Version: 3.1.1 Stable source (compiled with creaturegodot folder from creaturegodot3 folder)

Everything works fine in the editor! It's an awesome product, Creature, and I really want to use it. The guy I made looks great in the editor - walks, jumps, etc. but when I export the game (using a custom compiled template as required) everything works fine until I get to my scene with a CreatureGodot node then the game crashes without an error. I've done debug templates and still no error printed in Godot, so I'm a little lost on what is causing the issue.

I've read that *.json files could be the problem so I added them to be included in the Godot export. Still no luck.

I see on the readme.md that you say Godot 3.0, does this mean 3.0 must be used or is 3.1.1 okay?

Any help would be great! Even if it's just pointing me to the code of this project and changing/updating something. I know a little c++ (kinda). Without an error from Godot, it's hard to determine what is going on to fix the issue.

Creature module does not work with godot 3.3.2

When attempting to build Godot 3.3.2 with the Creature module, it throws this error and terminates the build:

[ 60%] Compiling ==> modules\creaturegodot\CreatureMetaData.cpp
CreatureMetaData.cpp
[ 60%] Compiling ==> modules\creaturegodot\CreatureModule.cpp
CreatureModule.cpp
[ 60%] Compiling ==> modules\creaturegodot\MeshBone.cpp
MeshBone.cpp
[ 60%] Compiling ==> modules\creaturegodot\creaturegodot.cpp
creaturegodot.cpp
modules\creaturegodot\creaturegodot.cpp(2): fatal error C1083: Cannot open include file: 'core/bind/core_bind.h': No such file or directory
scons: *** [modules\creaturegodot\creaturegodot.windows.tools.64.obj] Error 2
scons: building terminated because of errors.

Some commit after 30 abr 2016 breaks preview animation in godot editor (Win764bit)

Godot version: 2.1.4 custom build.

Bulding with plugin code-state in 30 abr 2016 for windows do a plugin that acts equally that your youtube video:
https://www.youtube.com/watch?v=afSObHcj9O8

Building with plugin code-state in 30 may 2016 make a plugin that do not allow to the user to preview animation in editor (only with play-preview, not directly in editor). Nothing changes in screen if you uses "Anim Frame" making unable to do animation-frame directly in godot.

Any of this commits made the regression:

Commits on May 30, 2016
@kestrelm
Updating SCons build for OSX
kestrelm committed on 30 May 2016
c116f8c
@kestrelm
Fixing animation blending bug
kestrelm committed on 30 May 2016
f75573f

creature2d crashes godot entirely if you set it to a wrong file name

the lichlord file
here is the log :

CreatureGodot::load_json() - Loading file: 
CreatureGodot::load_json() - ERRROR! Could not load file: 
CreatureGodot::load_json() - Loading file: /home/owl/INSTALL/godot/creature2dExample/LichLordProject.creaProj.zip
LoadCreatureJSONData() - Error parsing JSON!
CreatureGodot::load_json() - Finished loading file: /home/owl/INSTALL/godot/creature2dExample/LichLordProject.creaProj.zip
godot.x11.tools.64: modules/creaturegodot/gason/gason.h:85: JsonNode* JsonValue::toNode() const: Assertion `getTag() == JSON_TAG_ARRAY || getTag() == JSON_TAG_OBJECT' failed.

Not sure if this applies to windows builds too, but this crashes godot!
Specifying any invalid path or path to a file that doesnt satisfy creature's node will kill godot entirely.

Issue with 3.1.2 android compiling

Hi, new godot version arrived (3.1.2). creaturegodot3 still working with godot 3.1.2 windows target builds. But android target brings some errors. godot 3.1.1 android target still works ok, but 3.1.2.

[Initial build] Compiling ==> modules/creaturegodot/CreatureModule.cpp [Initial build] Compiling ==> modules/creaturegodot/MeshBone.cpp modules/creaturegodot/CreatureModule.cpp:1496:13: error: cannot use 'throw' with exceptions disabled throw "CreatureManager::PoseCreature() - Invalid animation name!"; ^ modules/creaturegodot/CreatureModule.cpp:1567:4: error: cannot use 'throw' with exceptions disabled throw "CreatureManager::PoseCreature() - Invali... ^ scons: building terminated because of errors.

I am not familliar to c++. I improvised totally and removed that conditions in CreatureModule.cpp which cause build errors:

if (animations.count(animation_name_in) <= 0) { std::cerr<<"CreatureManager::PoseCreature() - Animation not found: "<<animation_name_in<<std::endl; throw "CreatureManager::PoseCreature() - Invalid animation name!"; return; }

Now builds apk perfectly. But is that safe ?

OS: debian-10.2.0-amd64
Godot version: 3.1.2
Steps to reproduce error: scons -j4 platform=android tools=no target=release android_arch=armv7

[Feature Request] Godot 4.0+ Runtime desperately needed.

The Godot runtime repo hasn't been touched for many years at this point. It was somewhat problematic and not without its problems for the supported 3.X versions.

Any chance of getting a new and improved runtime for 4.0+ any time?

Many thanks.

Creature plugin should give to the user hability to cancel "print" to console

Print to console is a very useful tool, but godot modules shouldn´t use that without developer permision because it "slow" execution of the project. There should be an option for disable print to console (with 100 "dinos", the proyect delay a lot in preview). Print to console is a tool designed to the game developer not the engine developer, there is an option in godot for "verbose stdout" that shows a lot of info for image mappings, etc... maybe creature should print only with this option active, or give to the user the chance to disable print (the last is better, because verbose stdout throw a bunch of blocks of info and creature prints will be lost in that)

Godot compiling error (only happens when I add creaturegodot module)

When I compile Godot 3 with creaturegodot plugin inside the module folder I'm getting an error message on my cmd:

C:\tmp\godot-3.0>scons platform=windows
scons: Reading SConscript files ...
Detected MSVC compiler: x86
Compiled program architecture will be a 32 bit executable. (forcing bits=32).
TypeError: can_build() takes exactly 2 arguments (1 given):
  File "C:\tmp\godot-3.0\SConstruct", line 407:
    if (config.can_build(selected_platform)):

I'm assuming it's a creaturegodot module issue because when I compile Godot 3 without the module it compiles fine. Anyone knows how to solve this?

I'm using the Godot 3.0 stable branch.

Build fails with godot 3.2

Output
$ scons platform=windows bite=64 scons: Reading SConscript files ... Configuring for Windows: target=debug, bits=default Found MSVC version 14.2, arch amd64, bits=64 Checking for C header file mntent.h... (cached) no scons: done reading SConscript files. scons: Building targets ... Compiling ==> modules\creaturegodot\creaturegodot.cpp creaturegodot.cpp modules\creaturegodot\creaturegodot.cpp(456): error C2653: 'VS': is not a class or namespace name modules\creaturegodot\creaturegodot.cpp(456): error C3861: 'get_singleton': identifier not found modules\creaturegodot\creaturegodot.cpp(831): error C2039: 'REAL': is not a member of 'Variant' D:\Software\Godot\godot\core/variant.h(77): note: see declaration of 'Variant' modules\creaturegodot\creaturegodot.cpp(831): error C2065: 'REAL': undeclared identifier modules\creaturegodot\creaturegodot.cpp(831): error C2660: 'ClassDB::add_property': function does not take 3 arguments D:\Software\Godot\godot\core/class_db.h(353): note: see declaration of 'ClassDB::add_property' modules\creaturegodot\creaturegodot.cpp(832): error C2039: 'REAL': is not a member of 'Variant' D:\Software\Godot\godot\core/variant.h(77): note: see declaration of 'Variant' modules\creaturegodot\creaturegodot.cpp(832): error C2065: 'REAL': undeclared identifier modules\creaturegodot\creaturegodot.cpp(832): error C2660: 'ClassDB::add_property': function does not take 3 arguments D:\Software\Godot\godot\core/class_db.h(353): note: see declaration of 'ClassDB::add_property' scons: *** [modules\creaturegodot\creaturegodot.windows.tools.64.obj] Error 2 scons: building terminated because of errors.

Shader Incompatibility

In order to make a sprite flash white in Godot, you need to apply a shader. This is a common use case for when you want a player or enemy to flash white upon, say, taking damage.

However, applying a shader to a Creature node inside of Godot causes any transparency specified in your animation set to vanish. For example:

image
In this image, we see the player character's hose isn't spraying any goop- and the enemy character has no blood droplets present.

image
The image above shows what happens when we apply any shader material to our Creature sprite- every element present in the initial mesh reappears.

This effectively causes all Creature animated objects to be incompatible with shaders entirely- which can be a substantial issue.

My guess is that different portions of the mesh are being hidden by the Creature node via a shader behind the scenes. I'm also guessing that fixing this issue might be relatively complicated.

However, if that's the case I was wondering if it would be possible to expose that shader's code, so we could then extend it via new functionality in our own projects. Ex: Copy the shader present, but then add the white-out variable and functionality to all non-transparent elements.

blend_to_animation snaps instead of blending

Switching to a different animation clip with blend_to_animation is not behaving as expected.

I modified the script in the testPlugin project to the following :

extends CreatureGodot
var counter=0

func _ready():
    # Called every time the node is added to the scene.
    # Initialization here
    set_process(true)
    pass

func _process(delta):
    self.update_animation(delta)
    counter+=1
    if counter==100:
        self.blend_to_animation("default0",0.01)

The scene starts with the 'default' animation playing, and should start to blend to the 'default0' animation smoothly after 100 frames, over a time controlled by blend factor, but instead it snaps immediately. Blend factor seems to play no role whatsoever.

Missing tutorial for godot normal map

Hi,

There is a tutorials for "unity" or "unreal engine" about normal map but i can't see for godot. Actually, adding normal map in godot quite easy for sprites. But "creature node" is not sprite. Maybe a little tutorial about it can be handy.

Ability to mix two animations in the runtime

For example to play a different shoot/hack animation clip on the upper half of the body, while the bottom half is walking or running- ability to trigger two animations independently via player input is key.

The blend method can only be used for transitioning.

The feature seems to be completely missing/is undocumented at the moment, while spine2d and dragonbones have it - both documented and demonstrated!

Creature Node in Godot's 3D environment?

Is it possible to make a Creature Node inside Godot's 3D environment?

I've made "beautiful" 3D background ... but I found out Creature Node can only be made inside the 2D scene.

I'm trying to make a half 2d/3d game, would love to make 3D background, while the characters are 2D sprites.

Error building Godot 3.0 with creature module

I checked out the 3.0 branch and added the creaturegodot folder to modules/
Compiling goes fine but I'm getting a linking error:

scons: Reading SConscript files ...
Detected MSVC compiler: amd64
Compiled program architecture will be a 64 bit executable (forcing bits=64).
YASM is necessary for WebM SIMD optimizations.
WebM SIMD optimizations are disabled. Check if your CPU architecture, CPU bits or platform are supported!
Checking for C header file mntent.h... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
Linking Program        ==> bin\godot.windows.opt.tools.64.exe
   Creando biblioteca bin\godot.windows.opt.tools.64.lib y objeto bin\godot.windows.opt.tools.64.exp
modules.windows.opt.tools.64.lib(creaturegodot.windows.opt.tools.64.obj) : error LNK2019: símbolo externo "public: __cdecl JsonAllocator::~JsonAllocator(void)" (??1JsonAllocator@@QEAA@XZ) sin resolver al que se hace referencia en la función "public: __cdecl CreatureModule::CreatureLoadDataPacket::~CreatureLoadDataPacket(void)" (??1CreatureLoadDataPacket@CreatureModule@@QEAA@XZ)
modules.windows.opt.tools.64.lib(CreatureMetaData.windows.opt.tools.64.obj) : error LNK2001: símbolo externo "public: __cdecl JsonAllocator::~JsonAllocator(void)" (??1JsonAllocator@@QEAA@XZ) sin resolver
modules.windows.opt.tools.64.lib(CreatureModule.windows.opt.tools.64.obj) : error LNK2019: símbolo externo "enum JsonParseStatus __cdecl jsonParse(char *,char * *,union JsonValue *,class JsonAllocator &)" (?jsonParse@@YA?AW4JsonParseStatus@@PEADPEAPEADPEATJsonValue@@AEAVJsonAllocator@@@Z) sin resolver al que se hace referencia en la función "void __cdecl CreatureModule::LoadCreatureJSONData(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class CreatureModule::CreatureLoadDataPacket &)" (?LoadCreatureJSONData@CreatureModule@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAVCreatureLoadDataPacket@1@@Z)
modules.windows.opt.tools.64.lib(CreatureMetaData.windows.opt.tools.64.obj) : error LNK2001: símbolo externo "enum JsonParseStatus __cdecl jsonParse(char *,char * *,union JsonValue *,class JsonAllocator &)" (?jsonParse@@YA?AW4JsonParseStatus@@PEADPEAPEADPEATJsonValue@@AEAVJsonAllocator@@@Z) sin resolver
bin\godot.windows.opt.tools.64.exe : fatal error LNK1120: 2 externos sin resolver
scons: building terminated because of errors.

(I'll try again at home so I can upload the same error in English)

Color Flags aren't exported to JSON file

While working on my project, I assembled an animation like the following. I use the r/g/b levels to create a silhouette in some elements, then activate the strike effect. It's an over the top teleport attack. As part of the movement, I fling the character's sleeve/ cloak off their body. In the Creature2D editor, it appears as follows:

ex

That's not how it appears in either my game, or the web player, however.

The opacity change works- but not the color change. Therefore, the character doesn't become a silhouette- and you can instead see them in all their ugly glory.

goofus

Here are my export settings:
image

I've tried by checking "Colors" and "Premultiply Alpha" but had the same results. I also opened up the json file, and can't find any references to red, blue, or green values. The opacity is being recorded fine, however.

image

I am currently on a Pro license, using the Windows version of the tool.

Creature are unable to find json file in custom export template (WIN64 and probably all platforms)

I try to export your example of the "dino" with the custom windows templates with the creature module, and no mathers I pack all the files in executable, pck or zip in godot export, or if I use json file of the dino directly in the plugin or packed in the zip, the plugin doesn´t work in export. The files are exported (there is no problem in godot export, I configured that to export .json and .zip). The console shows that creature are unable to find json file. I think that the problem is that it try to find the file in "./" and not in "res://", but not sure.

I forgot: the plugin works in editor.

Edit: Godot version 2.1.4.
Export templates: Windows custom with and without debug in 64 bits.

More info:

Exporting project packed in exe (and json unzipped) throws:
CreatureGodot::load_json() - Loading file: ./utahraptorExport_character_data.json
CreatureGodot::load_json() - ERROR! Could not load file: ./utahraptorExport_character_data.json

Exporting project with assets packed in zip and json file unzipped:
Creature try to find the file inside the executable if it will be a directory.

Issue while compiling the Creature Plugin with Godot 3.1

I am having a challenge building the creature plugin for godot using the latest version of Godot 3.1. I can easily compile Godot but when I copy the creaturegodot (from the creaturegodot3 folder) and put it in the modules folder and retry the scons command it always breaks on the godot module with this exception
See below. Can someone give me some guidance on how I can resolve this issue?

  • I have pulled the code multiple times with a clean build
  • I have updated versions of the IDE to VS 14
[ 26%] Compiling ==> modules\creaturegodot\CreatureMetaData.cpp CreatureMetaData.cpp D:\godot-master\modules\creaturegodot\glm\detail\type_half.inl: warning C4828: The file contains a character starting at offset 0x72f that is illegal in the current source character set (codepage 65001). D:\godot-master\modules\creaturegodot\CreatureMetaData.h(46): error C2039: 'shared_ptr': is not a member of 'std' D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\include\string(19): note: see declaration of 'std' D:\godot-master\modules\creaturegodot\CreatureMetaData.h(46): error C2065: 'shared_ptr': undeclared identifier D:\godot-master\modules\creaturegodot\CreatureMetaData.h(46): error C2275: 'CreatureModule::CreatureAnimation': illegal use of this type as an expression D:\godot-master\modules\creaturegodot\CreatureMetaData.h(46): note: see declaration of 'CreatureModule::CreatureAnimation' D:\godot-master\modules\creaturegodot\CreatureMetaData.h(46): error C2974: 'std::unordered_map': invalid template argument for '_Ty', type expected D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\include\unordered_map(76): note: see declaration of 'std::unordered_map' D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\include\unordered_map(75): error C3203: 'pair': unspecialized class template can't be used as a template argument for template parameter '_Ty', expected a real type D:\godot-master\modules\creaturegodot\CreatureMetaData.h(46): error C2143: syntax error: missing ')' before '>' D:\godot-master\modules\creaturegodot\CreatureMetaData.h(46): error C2059: syntax error: '>' modules\creaturegodot\CreatureMetaData.cpp(489): error C2511: 'void CreatureModule::CreatureMetaData::updateRegionColors(std::unordered_map,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator>> &)': overloaded member function not found in 'CreatureModule::CreatureMetaData' with [ _Kty=std::string, _Ty=std::shared_ptr ] D:\godot-master\modules\creaturegodot\CreatureMetaData.h(21): note: see declaration of 'CreatureModule::CreatureMetaData' modules\creaturegodot\CreatureMetaData.cpp(496): error C2530: 'clip_regions_data': references must be initialized modules\creaturegodot\CreatureMetaData.cpp(521): error C2671: 'CreatureModule::CreatureMetaData::updateRegionColors': static member functions do not have 'this' pointers scons: *** [modules\creaturegodot\CreatureMetaData.windows.tools.64.obj] Error 2 scons: building terminated because of errors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.