diff --git a/README.ja.md b/README.ja.md
index 051d20a..75f283c 100644
--- a/README.ja.md
+++ b/README.ja.md
@@ -67,13 +67,11 @@
[examples フォルダ](./examples/) に SDK のテストプロジェクトに基づいたサンプルプロジェクトがあります。
-- [Ringo](./examples/Ringo) — Ringo用のテスト
+- [Ringo](./examples/Ringo) — Ringo用の基本クイックスタートテスト
- [Scripting](./examples/Scripting) — GDScriptを用いたアニメーション制御やシグナル受信のサンプル
-- [allAttributeV7](./examples/allAttributeV7) — 全アトリビュートの機能テスト
-- [allPartsV7](./examples/allPartsV7) — 全パーツ種の機能テスト
-- [overall](./examples/overall) — 総合的な機能テスト
-- [overall_gdextension](./examples/overall_gdextension) — GDExtension 版での総合テスト
-- [ParticleEffect](./examples/ParticleEffect) — エフェクト機能のテスト
+- [Override_Ringo](./examples/Override_Ringo) — アトリビュート・マテリアルのオーバーライドサンプル
+- [overall](./examples/overall) — 総合的な機能テスト(カスタムモジュール版)
+- [overall_gdextension](./examples/overall_gdextension) — 総合的な機能テスト(GDExtension版)
## 🔗 関連リポジトリ
diff --git a/README.md b/README.md
index 3998bd5..00d41fd 100644
--- a/README.md
+++ b/README.md
@@ -67,13 +67,11 @@ For the data-flow diagram, key features, supported versions, and more, see the *
Sample projects based on SDK test projects are available under the [examples folder](./examples/).
-- [Ringo](./examples/Ringo) — Test for Ringo
+- [Ringo](./examples/Ringo) — Basic quickstart test for Ringo
- [Scripting](./examples/Scripting) — GDScript example for controlling animations and signals
-- [allAttributeV7](./examples/allAttributeV7) — Functional test for all attributes
-- [allPartsV7](./examples/allPartsV7) — Functional test for all part types
-- [overall](./examples/overall) — Comprehensive functional test
-- [overall_gdextension](./examples/overall_gdextension) — Comprehensive test for GDExtension
-- [ParticleEffect](./examples/ParticleEffect) — Test for effect features
+- [Override_Ringo](./examples/Override_Ringo) — Attribute/material override example
+- [overall](./examples/overall) — Comprehensive functional test (Custom Module)
+- [overall_gdextension](./examples/overall_gdextension) — Comprehensive functional test (GDExtension)
## 🔗 Related Repositories
diff --git a/docs/en/index.md b/docs/en/index.md
index 39525c4..01fbfb6 100644
--- a/docs/en/index.md
+++ b/docs/en/index.md
@@ -85,12 +85,11 @@ Build and execution have been verified on Windows / macOS.
Sample projects based on SDK test projects are available under the `examples/` folder in the repository.
-- [Ringo](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Ringo) — Test for Ringo
-- [allAttributeV7](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/allAttributeV7) — Functional test for all attributes
-- [allPartsV7](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/allPartsV7) — Functional test for all part types
-- [overall](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall) — Comprehensive functional test
-- [overall_gdextension](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall_gdextension) — Comprehensive test for GDExtension
-- [ParticleEffect](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/ParticleEffect) — Test for effect features
+- [Ringo](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Ringo) — Basic quickstart test for Ringo
+- [Scripting](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Scripting) — GDScript example for controlling animations and signals
+- [Override_Ringo](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Override_Ringo) — Attribute/material override example
+- [overall](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall) — Comprehensive functional test (Custom Module)
+- [overall_gdextension](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall_gdextension) — Comprehensive functional test (GDExtension)
## Related Repositories
diff --git a/docs/ja/index.md b/docs/ja/index.md
index 686233d..776ab8f 100644
--- a/docs/ja/index.md
+++ b/docs/ja/index.md
@@ -85,12 +85,11 @@ Windows / macOS でのビルドおよび実行を確認しています。
リポジトリの `examples/` フォルダに SDK のテストプロジェクトに基づいたサンプルプロジェクトがあります。
-- [Ringo](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Ringo) — 「りんご」のテスト
-- [allAttributeV7](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/allAttributeV7) — 全属性の機能テスト
-- [allPartsV7](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/allPartsV7) — 全パーツ種の機能テスト
-- [overall](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall) — 総合的な機能テスト
-- [overall_gdextension](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall_gdextension) — GDExtension 版での総合テスト
-- [ParticleEffect](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/ParticleEffect) — エフェクト機能のテスト
+- [Ringo](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Ringo) — Ringo用の基本クイックスタートテスト
+- [Scripting](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Scripting) — GDScriptを用いたアニメーション制御やシグナル受信のサンプル
+- [Override_Ringo](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/Override_Ringo) — アトリビュート・マテリアルのオーバーライドサンプル
+- [overall](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall) — 総合的な機能テスト(カスタムモジュール版)
+- [overall_gdextension](https://github.com/cri-middleware/SSPlayerForGodot/tree/main/examples/overall_gdextension) — 総合的な機能テスト(GDExtension版)
## 関連リポジトリ
diff --git a/examples/ParticleEffect/.ssplayer_sources.cfg b/examples/ParticleEffect/.ssplayer_sources.cfg
deleted file mode 100644
index 58a3f76..0000000
--- a/examples/ParticleEffect/.ssplayer_sources.cfg
+++ /dev/null
@@ -1,47 +0,0 @@
-[general]
-
-output_directory="res://ssab_generated"
-
-[ssab_sources]
-
-res://ssab_generated/ParticleEffect/e004.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e012.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e028.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e008.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e032.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e024.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e040a.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e025.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e033.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e009.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e029.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e013.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e005.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e018.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e034.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e022.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e002.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e014.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e038.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e039.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e015.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e003.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e023.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e035.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e019.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e020.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e036.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e016.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e001.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e017.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e037.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e021.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e010.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e006.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e026.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e030.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e031.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e040b.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e027.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e007.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
-res://ssab_generated/ParticleEffect/e011.ssab="../../ss_player/SpriteStudio-SDK/tests/ParticleEffect/ParticleEffect.sspj"
diff --git a/examples/ParticleEffect/e001.tscn b/examples/ParticleEffect/e001.tscn
deleted file mode 100644
index ffd27bb..0000000
--- a/examples/ParticleEffect/e001.tscn
+++ /dev/null
@@ -1,14 +0,0 @@
-[gd_scene format=3 uid="uid://cty11r2qfs3we"]
-
-[ext_resource type="SSABResource" uid="uid://8mtodkpaov8i" path="res://ssab_generated/ParticleEffect/e001.ssab" id="1_pv581"]
-
-[node name="Node2D" type="Node2D" unique_id=1524313247]
-
-[node name="SpriteStudioPlayer2D" type="SpriteStudioPlayer2D" parent="." unique_id=498659720]
-ssab = ExtResource("1_pv581")
-animation = "emission"
-playing = true
-animation_section_start = 0
-animation_section_end = 59
-sub_frame_enabled = true
-cellmaps/ss_effect = null
diff --git a/examples/ParticleEffect/icon.svg b/examples/ParticleEffect/icon.svg
deleted file mode 100644
index e45b398..0000000
--- a/examples/ParticleEffect/icon.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/examples/ParticleEffect/icon.svg.import b/examples/ParticleEffect/icon.svg.import
deleted file mode 100644
index acc5726..0000000
--- a/examples/ParticleEffect/icon.svg.import
+++ /dev/null
@@ -1,43 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://b1dnl1l4wpgfb"
-path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://icon.svg"
-dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/uastc_level=0
-compress/rdo_quality_loss=0.0
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/channel_remap/red=0
-process/channel_remap/green=1
-process/channel_remap/blue=2
-process/channel_remap/alpha=3
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
-svg/scale=1.0
-editor/scale_with_editor_scale=false
-editor/convert_colors_with_editor_theme=false
diff --git a/examples/ParticleEffect/node_2d.tscn b/examples/ParticleEffect/node_2d.tscn
deleted file mode 100644
index fefd3fe..0000000
--- a/examples/ParticleEffect/node_2d.tscn
+++ /dev/null
@@ -1,10 +0,0 @@
-[gd_scene format=3 uid="uid://cma2gh5n7asqh"]
-
-[ext_resource type="SSABResource" uid="uid://c7326lu3oipav" path="res://ssab_generated/ParticleEffect/e001.ssab" id="1_wtcfe"]
-
-[node name="Node2D" type="Node2D" unique_id=1490947827]
-
-[node name="SpriteStudioPlayer2D" type="SpriteStudioPlayer2D" parent="." unique_id=2102891123]
-ssab = ExtResource("1_wtcfe")
-animation = "emission"
-playing = true
diff --git a/examples/ParticleEffect/project.godot b/examples/ParticleEffect/project.godot
deleted file mode 100644
index 59ac050..0000000
--- a/examples/ParticleEffect/project.godot
+++ /dev/null
@@ -1,28 +0,0 @@
-; Engine configuration file.
-; It's best edited using the editor UI and not directly,
-; since the parameters that go here are not all obvious.
-;
-; Format:
-; [section] ; section goes between []
-; param=value ; assign values to parameters
-
-config_version=5
-
-[animation]
-
-compatibility/default_parent_skeleton_in_mesh_instance_3d=true
-
-[application]
-
-config/name="ParticleEffect"
-run/main_scene="uid://cty11r2qfs3we"
-config/features=PackedStringArray("4.7", "GL Compatibility")
-config/icon="res://icon.svg"
-
-[rendering]
-
-textures/vram_compression/import_etc2_astc=true
-renderer/rendering_method="gl_compatibility"
-renderer/rendering_method.mobile="gl_compatibility"
-
-
diff --git a/examples/Scripting/Main.gd b/examples/Scripting/Main.gd
index aa3e256..256ab75 100644
--- a/examples/Scripting/Main.gd
+++ b/examples/Scripting/Main.gd
@@ -1,23 +1,25 @@
extends Node2D
-@onready var player = $Ringo
-@onready var label = $Label
+@onready var player: SpriteStudioPlayer2D = $Ringo
+@onready var label: Label = $Label
var anims = ["attack1", "walk", "wait"]
var current_anim_index = 0
func _ready() -> void:
- # Connect to SpriteStudioPlayer2D signals
+ # Connect to SpriteStudioPlayer2D signals to demonstrate script control
+ player.animation_started.connect(_on_animation_started)
player.animation_finished.connect(_on_animation_finished)
- # If the animation contains user data, you can catch it here:
- # player.user_data.connect(_on_user_data)
+ player.animation_looped.connect(_on_animation_looped)
+ player.signal_emitted.connect(_on_signal_emitted)
+ player.user_data.connect(_on_user_data)
play_current()
update_label()
func _input(event: InputEvent) -> void:
- # Change animation on Click or Enter
- if event.is_action_pressed("ui_accept") or (event is InputEventMouseButton and event.pressed):
+ # Change animation on Left Click or Enter / Space
+ if event.is_action_pressed("ui_accept") or (event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT):
current_anim_index = (current_anim_index + 1) % anims.size()
play_current()
update_label()
@@ -37,16 +39,29 @@ func _input(event: InputEvent) -> void:
func play_current() -> void:
var anim_name = anims[current_anim_index]
player.animation = anim_name
- player.playing = true
+ player.play()
func update_label() -> void:
if label:
label.text = "--- SpriteStudioPlayer2D GDScript Example ---\n\n"
- label.text += "Click or Press Enter: Change Animation\n"
+ label.text += "Click or Press Enter/Space: Change Animation\n"
label.text += "Up/Down Arrows: Change Speed\n"
label.text += "Right Arrow: Flip Horizontal\n\n"
label.text += "Current Animation: " + player.animation + "\n"
label.text += "Speed Scale: " + str(player.speed_scale) + "\n"
+func _on_animation_started(anim_name: String) -> void:
+ print("Animation started: ", anim_name)
+
func _on_animation_finished(anim_name: String) -> void:
print("Animation finished: ", anim_name)
+
+func _on_animation_looped(anim_name: String) -> void:
+ print("Animation looped: ", anim_name)
+
+func _on_signal_emitted(command: String, value: Dictionary) -> void:
+ print("Signal emitted: ", command, " value: ", value)
+
+func _on_user_data(payload: Dictionary) -> void:
+ print("User data: ", payload)
+
diff --git a/examples/Scripting/Main.gd.uid b/examples/Scripting/Main.gd.uid
new file mode 100644
index 0000000..79a95aa
--- /dev/null
+++ b/examples/Scripting/Main.gd.uid
@@ -0,0 +1 @@
+uid://b3cq851ps63hy
diff --git a/examples/Scripting/Ringo.tscn b/examples/Scripting/Ringo.tscn
index 6be92c7..ae60fe6 100644
--- a/examples/Scripting/Ringo.tscn
+++ b/examples/Scripting/Ringo.tscn
@@ -1,19 +1,20 @@
-[gd_scene load_steps=3 format=3 uid="uid://dxr71lkltwqb6"]
+[gd_scene format=3 uid="uid://dxr71lkltwqb6"]
-[ext_resource type="SSABResource" uid="uid://cmjtnhtns0pal" path="res://ssab_generated/Ringo/Ringo.ssab" id="1_w6qk1"]
-[ext_resource type="Script" path="res://Main.gd" id="2_script"]
+[ext_resource type="SSABResource" uid="uid://8gkvbx11moo7" path="res://ssab_generated/Ringo/Ringo.ssab" id="1_w6qk1"]
+[ext_resource type="Script" uid="uid://b3cq851ps63hy" path="res://Main.gd" id="2_script"]
-[node name="Node2D" type="Node2D"]
+[node name="Node2D" type="Node2D" unique_id=1253394950]
script = ExtResource("2_script")
-[node name="Ringo" type="SpriteStudioPlayer2D" parent="."]
-position = Vector2(400, 300)
+[node name="Ringo" type="SpriteStudioPlayer2D" parent="." unique_id=318940931]
+position = Vector2(560, 567)
ssab = ExtResource("1_w6qk1")
animation = "attack1"
-playing = true
sub_frame_enabled = true
+animation_section_end = 19
+cellmaps/Ringo = null
-[node name="Label" type="Label" parent="."]
+[node name="Label" type="Label" parent="." unique_id=1577769087]
offset_left = 30.0
offset_top = 30.0
offset_right = 400.0
diff --git a/examples/allAttributeV7/.ssplayer_sources.cfg b/examples/allAttributeV7/.ssplayer_sources.cfg
deleted file mode 100644
index b8247c9..0000000
--- a/examples/allAttributeV7/.ssplayer_sources.cfg
+++ /dev/null
@@ -1,35 +0,0 @@
-[ssab_sources]
-
-res://ssab_generated/allAttributeV7/partsColor.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/effect.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/imgflip.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/deform_bone.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/loalpha.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/size.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/uvs.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/loscl.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/prio.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/uvt.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/pivot.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/setupdata.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/iptype.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/vertex.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/deform.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/mask.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/alpha.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/startend.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/easing.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/rot.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/instance.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/userdata.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/boundr.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/scl.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/cell.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/hide.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/instance_flag.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/textureChange.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-res://ssab_generated/allAttributeV7/pos.ssab="../../ss_player/SpriteStudio-SDK/tests/allAttributeV7/allAttributeV7.sspj"
-
-[general]
-
-output_directory="res://ssab_generated"
diff --git a/examples/allAttributeV7/icon.svg b/examples/allAttributeV7/icon.svg
deleted file mode 100644
index e45b398..0000000
--- a/examples/allAttributeV7/icon.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/examples/allAttributeV7/icon.svg.import b/examples/allAttributeV7/icon.svg.import
deleted file mode 100644
index da2f3f5..0000000
--- a/examples/allAttributeV7/icon.svg.import
+++ /dev/null
@@ -1,43 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://eu60vgjyqhbj"
-path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://icon.svg"
-dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/uastc_level=0
-compress/rdo_quality_loss=0.0
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/channel_remap/red=0
-process/channel_remap/green=1
-process/channel_remap/blue=2
-process/channel_remap/alpha=3
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
-svg/scale=1.0
-editor/scale_with_editor_scale=false
-editor/convert_colors_with_editor_theme=false
diff --git a/examples/allAttributeV7/pos.tscn b/examples/allAttributeV7/pos.tscn
deleted file mode 100644
index 38a75de..0000000
--- a/examples/allAttributeV7/pos.tscn
+++ /dev/null
@@ -1,14 +0,0 @@
-[gd_scene format=3 uid="uid://c748bqgena0o4"]
-
-[ext_resource type="SSABResource" uid="uid://ctpqyc61sb6ua" path="res://ssab_generated/allAttributeV7/pos.ssab" id="1_esjsw"]
-
-[node name="Node2D" type="Node2D" unique_id=679560324]
-
-[node name="pos" type="SpriteStudioPlayer2D" parent="." unique_id=1655548694]
-ssab = ExtResource("1_esjsw")
-animation = "anime_1"
-playing = true
-animation_section_start = 0
-animation_section_end = 59
-cellmaps/color_bar = null
-cellmaps/9slice_64tile.png = null
diff --git a/examples/allAttributeV7/project.godot b/examples/allAttributeV7/project.godot
deleted file mode 100644
index 9833a48..0000000
--- a/examples/allAttributeV7/project.godot
+++ /dev/null
@@ -1,27 +0,0 @@
-; Engine configuration file.
-; It's best edited using the editor UI and not directly,
-; since the parameters that go here are not all obvious.
-;
-; Format:
-; [section] ; section goes between []
-; param=value ; assign values to parameters
-
-config_version=5
-
-[animation]
-
-compatibility/default_parent_skeleton_in_mesh_instance_3d=true
-
-[application]
-
-config/name="allAttributeV7"
-config/features=PackedStringArray("4.7", "GL Compatibility")
-config/icon="res://icon.svg"
-
-[rendering]
-
-textures/vram_compression/import_etc2_astc=true
-renderer/rendering_method="gl_compatibility"
-renderer/rendering_method.mobile="gl_compatibility"
-
-
diff --git a/examples/allPartsV7/.ssplayer_sources.cfg b/examples/allPartsV7/.ssplayer_sources.cfg
deleted file mode 100644
index 31a504c..0000000
--- a/examples/allPartsV7/.ssplayer_sources.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-[general]
-
-output_directory="res://ssab_generated"
-
-[ssab_sources]
-
-res://ssab_generated/allPartsV7/instanse.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/effect.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/sound.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/root.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/text.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/nineslice.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/null.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/mask.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/shape.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/mesh.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
-res://ssab_generated/allPartsV7/normal.ssab="../../ss_player/SpriteStudio-SDK/tests/allPartsV7/allPartsV7.sspj"
diff --git a/examples/allPartsV7/icon.svg b/examples/allPartsV7/icon.svg
deleted file mode 100644
index e45b398..0000000
--- a/examples/allPartsV7/icon.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/examples/allPartsV7/icon.svg.import b/examples/allPartsV7/icon.svg.import
deleted file mode 100644
index be3a3a9..0000000
--- a/examples/allPartsV7/icon.svg.import
+++ /dev/null
@@ -1,43 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://ch8oxre8rkgb5"
-path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://icon.svg"
-dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/uastc_level=0
-compress/rdo_quality_loss=0.0
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/channel_remap/red=0
-process/channel_remap/green=1
-process/channel_remap/blue=2
-process/channel_remap/alpha=3
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
-svg/scale=1.0
-editor/scale_with_editor_scale=false
-editor/convert_colors_with_editor_theme=false
diff --git a/examples/allPartsV7/normal.tscn b/examples/allPartsV7/normal.tscn
deleted file mode 100644
index 9818a2c..0000000
--- a/examples/allPartsV7/normal.tscn
+++ /dev/null
@@ -1,13 +0,0 @@
-[gd_scene format=3 uid="uid://v3a0qyadyq4k"]
-
-[ext_resource type="SSABResource" uid="uid://bvntypj1vbvju" path="res://ssab_generated/allPartsV7/normal.ssab" id="1_auxjy"]
-
-[node name="Node2D" type="Node2D" unique_id=2030235226]
-
-[node name="normal" type="SpriteStudioPlayer2D" parent="." unique_id=1899199113]
-ssab = ExtResource("1_auxjy")
-animation = "anime_1"
-playing = true
-animation_section_start = 0
-animation_section_end = 59
-cellmaps/color_bar = null
diff --git a/examples/allPartsV7/project.godot b/examples/allPartsV7/project.godot
deleted file mode 100644
index 75ea631..0000000
--- a/examples/allPartsV7/project.godot
+++ /dev/null
@@ -1,27 +0,0 @@
-; Engine configuration file.
-; It's best edited using the editor UI and not directly,
-; since the parameters that go here are not all obvious.
-;
-; Format:
-; [section] ; section goes between []
-; param=value ; assign values to parameters
-
-config_version=5
-
-[animation]
-
-compatibility/default_parent_skeleton_in_mesh_instance_3d=true
-
-[application]
-
-config/name="allPartsV7"
-config/features=PackedStringArray("4.7", "GL Compatibility")
-config/icon="res://icon.svg"
-
-[rendering]
-
-textures/vram_compression/import_etc2_astc=true
-renderer/rendering_method="gl_compatibility"
-renderer/rendering_method.mobile="gl_compatibility"
-
-
diff --git a/examples/update_ssabs.ps1 b/examples/update_ssabs.ps1
index 2f9c1a9..c826696 100644
--- a/examples/update_ssabs.ps1
+++ b/examples/update_ssabs.ps1
@@ -12,7 +12,7 @@ $CONVERTER = Join-Path $SDK_DIR "target/debug/ssconverter-cli.exe"
Pop-Location
# List of tests to update SSABs
-$TESTS = @("allAttributeV7", "allPartsV7", "overall", "ParticleEffect", "Ringo")
+$TESTS = @("overall", "Ringo")
foreach ($TEST in $TESTS) {
$SSPJ_PATH = Join-Path $SDK_TESTS_DIR "$TEST/$TEST.sspj"
@@ -31,12 +31,17 @@ foreach ($TEST in $TESTS) {
& $CONVERTER "$SSPJ_PATH" -o "$GD_OUTPUT_DIR"
}
- # Ringo is also converted into the Override_Ringo demo project
+ # Ringo is also converted into the Override_Ringo and Scripting demo projects
if ($TEST -eq "Ringo") {
$OR_OUTPUT_DIR = Join-Path $EXAMPLES_DIR "Override_Ringo/ssab_generated/Ringo"
Write-Host "Updating SSAB for $TEST in $OR_OUTPUT_DIR..."
if (!(Test-Path $OR_OUTPUT_DIR)) { New-Item -ItemType Directory -Path $OR_OUTPUT_DIR }
& $CONVERTER "$SSPJ_PATH" -o "$OR_OUTPUT_DIR"
+
+ $SCR_OUTPUT_DIR = Join-Path $EXAMPLES_DIR "Scripting/ssab_generated/Ringo"
+ Write-Host "Updating SSAB for $TEST in $SCR_OUTPUT_DIR..."
+ if (!(Test-Path $SCR_OUTPUT_DIR)) { New-Item -ItemType Directory -Path $SCR_OUTPUT_DIR }
+ & $CONVERTER "$SSPJ_PATH" -o "$SCR_OUTPUT_DIR"
}
}
Write-Host "Done!"
diff --git a/examples/update_ssabs.sh b/examples/update_ssabs.sh
index 6dbed8b..078d5e5 100755
--- a/examples/update_ssabs.sh
+++ b/examples/update_ssabs.sh
@@ -18,7 +18,7 @@ cd "${EXAMPLES_DIR}"
# List of tests to update SSABs
# Note: overall is also converted into overall_gdextension
-TESTS=("allAttributeV7" "allPartsV7" "overall" "ParticleEffect" "Ringo")
+TESTS=("overall" "Ringo")
for TEST in "${TESTS[@]}"; do
SSPJ_PATH="${SDK_TESTS_DIR}/${TEST}/${TEST}.sspj"
@@ -37,12 +37,17 @@ for TEST in "${TESTS[@]}"; do
"${CONVERTER}" "${SSPJ_PATH}" -o "${GD_OUTPUT_DIR}"
fi
- # Ringo is also converted into the Override_Ringo demo project
+ # Ringo is also converted into the Override_Ringo and Scripting demo projects
if [ "${TEST}" == "Ringo" ]; then
OR_OUTPUT_DIR="${EXAMPLES_DIR}/Override_Ringo/ssab_generated/Ringo"
echo "Updating SSAB for ${TEST} in ${OR_OUTPUT_DIR}..."
mkdir -p "${OR_OUTPUT_DIR}"
"${CONVERTER}" "${SSPJ_PATH}" -o "${OR_OUTPUT_DIR}"
+
+ SCR_OUTPUT_DIR="${EXAMPLES_DIR}/Scripting/ssab_generated/Ringo"
+ echo "Updating SSAB for ${TEST} in ${SCR_OUTPUT_DIR}..."
+ mkdir -p "${SCR_OUTPUT_DIR}"
+ "${CONVERTER}" "${SSPJ_PATH}" -o "${SCR_OUTPUT_DIR}"
fi
done
diff --git a/scripts/build-extension.ps1 b/scripts/build-extension.ps1
index d638fb7..43da391 100755
--- a/scripts/build-extension.ps1
+++ b/scripts/build-extension.ps1
@@ -82,7 +82,7 @@ Invoke-Expression "scons $scons_command_opts"
# Copy .gdextension and binaries to example projects in the idiomatic addons structure
$MAIN_PROJECT = "dev_gdextension"
-$OTHER_PROJECTS = @("overall_gdextension", "Ringo", "Override_Ringo")
+$OTHER_PROJECTS = @("overall_gdextension")
# Ensure MAIN_PROJECT has the .gdextension and icons
Copy-Item "misc\spritestudio.gdextension" "examples\$MAIN_PROJECT\addons\spritestudio\spritestudio.gdextension" -Force
diff --git a/scripts/build-extension.sh b/scripts/build-extension.sh
index 7142659..f9ad394 100755
--- a/scripts/build-extension.sh
+++ b/scripts/build-extension.sh
@@ -120,7 +120,7 @@ done
# Copy .gdextension and binaries to example projects in the idiomatic addons structure
MAIN_PROJECT="dev_gdextension"
-OTHER_PROJECTS=("overall_gdextension" "Ringo" "Override_Ringo")
+OTHER_PROJECTS=("overall_gdextension")
# Ensure MAIN_PROJECT has the .gdextension and icons
/bin/cp misc/spritestudio.gdextension "./examples/${MAIN_PROJECT}/addons/spritestudio/"
diff --git a/scripts/release-gdextension-ios.sh b/scripts/release-gdextension-ios.sh
index b346e02..cd5a031 100755
--- a/scripts/release-gdextension-ios.sh
+++ b/scripts/release-gdextension-ios.sh
@@ -68,7 +68,7 @@ fi
# Sync the xcframework to the examples and remove the leftover .frameworks
MAIN_PROJECT="dev_gdextension"
-OTHER_PROJECTS=("overall_gdextension" "Ringo")
+OTHER_PROJECTS=("overall_gdextension")
# Clean up leftover .frameworks and copy .xcframeworks to MAIN_PROJECT
rm -rf examples/${MAIN_PROJECT}/addons/spritestudio/bin/ios/*.framework