[godot] Test scene, minor clean-up.

This commit is contained in:
Mario Zechner 2021-09-28 22:36:16 +02:00
parent cc57c3dbc9
commit 0b0800143a
13 changed files with 8899 additions and 83 deletions

2
.gitignore vendored
View File

@ -155,3 +155,5 @@ spine-ts/spine-threejs/dist
spine-godot/godot
spine-godot/spine_godot/spine-cpp
spine-godot/spine_godot/__pycache__
spine-godot/example/.import
spine-godot/spine_godot/*.o

View File

@ -11,6 +11,7 @@ config_version=4
[application]
config/name="spine-godot-examples"
run/main_scene="res://test.tscn"
config/icon="res://icon.png"
[physics]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,101 @@
spineboy.png
size: 1024, 256
filter: Linear, Linear
scale: 0.5
crosshair
bounds: 813, 160, 45, 45
eye-indifferent
bounds: 569, 2, 47, 45
eye-surprised
bounds: 643, 7, 47, 45
rotate: 90
front-bracer
bounds: 811, 51, 29, 40
front-fist-closed
bounds: 807, 93, 38, 41
front-fist-open
bounds: 815, 210, 43, 44
front-foot
bounds: 706, 64, 63, 35
rotate: 90
front-shin
bounds: 80, 11, 41, 92
front-thigh
bounds: 754, 12, 23, 56
front-upper-arm
bounds: 618, 5, 23, 49
goggles
bounds: 214, 20, 131, 83
gun
bounds: 347, 14, 105, 102
rotate: 90
head
bounds: 80, 105, 136, 149
hoverboard-board
bounds: 2, 8, 246, 76
rotate: 90
hoverboard-thruster
bounds: 478, 2, 30, 32
hoverglow-small
bounds: 218, 117, 137, 38
rotate: 90
mouth-grind
bounds: 775, 80, 47, 30
rotate: 90
mouth-oooo
bounds: 779, 31, 47, 30
rotate: 90
mouth-smile
bounds: 783, 207, 47, 30
rotate: 90
muzzle-glow
bounds: 779, 4, 25, 25
muzzle-ring
bounds: 451, 14, 25, 105
muzzle01
bounds: 664, 60, 67, 40
rotate: 90
muzzle02
bounds: 580, 56, 68, 42
rotate: 90
muzzle03
bounds: 478, 36, 83, 53
rotate: 90
muzzle04
bounds: 533, 49, 75, 45
rotate: 90
muzzle05
bounds: 624, 56, 68, 38
rotate: 90
neck
bounds: 806, 8, 18, 21
portal-bg
bounds: 258, 121, 133, 133
portal-flare1
bounds: 690, 2, 56, 30
rotate: 90
portal-flare2
bounds: 510, 3, 57, 31
portal-flare3
bounds: 722, 4, 58, 30
rotate: 90
portal-shade
bounds: 393, 121, 133, 133
portal-streaks1
bounds: 528, 126, 126, 128
portal-streaks2
bounds: 656, 129, 125, 125
rear-bracer
bounds: 826, 13, 28, 36
rear-foot
bounds: 743, 70, 57, 30
rotate: 90
rear-shin
bounds: 174, 14, 38, 89
rear-thigh
bounds: 783, 158, 28, 47
rear-upper-arm
bounds: 783, 136, 20, 44
rotate: 90
torso
bounds: 123, 13, 49, 90

View File

@ -0,0 +1,14 @@
[remap]
importer="spine.atlas"
type="SpineAtlasResource"
path="res://.import/spineboy.atlas-ce2b95e2abaaca5faa7726fe317501ea.spatlas"
[deps]
source_file="res://spineboy.atlas"
dest_files=[ "res://.import/spineboy.atlas-ce2b95e2abaaca5faa7726fe317501ea.spatlas" ]
[params]
normal_texture_prefix=""

View File

@ -0,0 +1,17 @@
extends SpineSprite
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
self.get_animation_state().set_animation("walk", true, 0)
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/spineboy.png-846f399ad53ae6f7ed8bbfe03f0b1f88.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://spineboy.png"
dest_files=[ "res://.import/spineboy.png-846f399ad53ae6f7ed8bbfe03f0b1f88.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -0,0 +1,10 @@
[gd_resource type="SpineSkeletonDataResource" load_steps=3 format=2]
[ext_resource path="res://spineboy.atlas" type="SpineAtlasResource" id=1]
[ext_resource path="res://spineboy-pro.spjson" type="SpineSkeletonJsonDataResource" id=2]
[resource]
atlas_res = ExtResource( 1 )
skeleton_json_res = ExtResource( 2 )
animations = null
skins = null

View File

@ -0,0 +1,7 @@
[gd_resource type="SpineAnimationStateDataResource" load_steps=2 format=2]
[ext_resource path="res://spineboy.tres" type="SpineSkeletonDataResource" id=1]
[resource]
skeleton = ExtResource( 1 )
default_mix = 1.0

View File

@ -0,0 +1,13 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://spineboy.gd" type="Script" id=1]
[ext_resource path="res://spineboyanimdata.tres" type="SpineAnimationStateDataResource" id=2]
[node name="Node2D" type="Node2D"]
position = Vector2( 2.12469, 1.06235 )
[node name="SpineSprite" type="SpineSprite" parent="."]
position = Vector2( 503.556, 465.311 )
scale = Vector2( 0.5, 0.5 )
animation_state_data_res = ExtResource( 2 )
script = ExtResource( 1 )

View File

@ -1,80 +0,0 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated January 1, 2020. Replaces all prior versions.
*
* Copyright (c) 2013-2020, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
*
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "GodotSpineExtension.h"
#include "core/variant_parser.h"
#include <spine/SpineString.h>
#include <iostream>
spine::SpineExtension *spine::getDefaultExtension() {
return new GodotSpineExtension();
}
GodotSpineExtension::GodotSpineExtension(){}
GodotSpineExtension::~GodotSpineExtension(){}
void *GodotSpineExtension::_alloc(size_t size, const char *file, int line){
// std::cout<<"_alloc "<<file<<" "<<line<<std::endl;
return memalloc(size);
}
void *GodotSpineExtension::_calloc(size_t size, const char *file, int line){
// std::cout<<"_calloc "<<file<<" "<<line<<std::endl;
auto p = memalloc(size);
memset(p, 0, size);
return p;
}
void *GodotSpineExtension::_realloc(void *ptr, size_t size, const char *file, int line){
// std::cout<<"_realloc "<<file<<" "<<line<<std::endl;
return memrealloc(ptr, size);
}
void GodotSpineExtension::_free(void *mem, const char *file, int line){
// std::cout<<"_free "<<file<<" "<<line<<std::endl;
memfree(mem);
}
char *GodotSpineExtension::_readFile(const spine::String &path, int *length){
Error error;
auto res = FileAccess::get_file_as_array(String(path.buffer()), &error);
// std::cout<<"Spine is loading something: "<<path.buffer()<<std::endl;
if (error != OK){
if(length) *length = 0;
return NULL;
}
if(length) *length = res.size();
auto r = alloc<char>(res.size(), __FILE__, __LINE__);
for(size_t i=0;i<res.size();++i)
r[i] = res[i];
return r;
}

View File

@ -31,7 +31,6 @@
#include "core/class_db.h"
#include "spine_runtime.h"
#include "SpineAtlasResource.h"
#include "ResourceFormatLoaderSpineAtlas.h"
#include "ResourceFormatSaverSpineAtlas.h"
@ -88,8 +87,7 @@ void register_spine_godot_types(){
EditorNode::add_init_callback(editor_init_callback);
#endif
ClassDB::register_class<SpineRuntime>();
ClassDB::register_class<SpineAtlasResource>();
ClassDB::register_class<SpineSprite>();
ClassDB::register_class<SpineSkeletonDataResource>();