Skip to content
Draft

ssab #51

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
4358387
first build for ssab
Naruto Jan 9, 2026
463ccb4
support windows.
Naruto Jan 9, 2026
c91a8ef
fix windows gdextension build
Naruto Jan 9, 2026
80930ac
update
Naruto Jan 17, 2026
068bf15
rename submodule
Naruto Jan 19, 2026
d9b75ca
delete SsConverter3
Naruto Jan 19, 2026
6d3bfd3
update
Naruto Jan 19, 2026
8a5d9ff
rename ssconverter3 to ssconverter
Naruto Jan 22, 2026
a3d32b2
remove 3.x github action
Naruto Jan 23, 2026
af78a44
add ssab Resource
Naruto Jan 23, 2026
3d4b673
disable github action
Naruto Jan 24, 2026
9463a8e
add ss::format namespace to ssab.h and ssqb.h
Naruto Jan 24, 2026
cd1132f
an empty project
Naruto Jan 24, 2026
e7dcea8
implemente catching "files_dropped" events that from outside of godot…
Naruto Jan 25, 2026
787ae6e
convert sspj files to ssab files
Naruto Jan 25, 2026
3bf70b0
surround `TOOLS_ENABLED` in entire editor classes sources and headers…
Naruto Jan 25, 2026
8174c6f
fix build failed of Godot 4.4
Naruto Jan 25, 2026
2978146
show libssconverter version
Naruto Jan 25, 2026
859a79e
fix windows editor.
Naruto Jan 25, 2026
e6d638f
implemente GdClikableLabel that copies text to user's clipboard. And …
Naruto Jan 25, 2026
4804090
rename a converter tab name.
Naruto Jan 26, 2026
d3ed8fa
add a default directory button.
Naruto Jan 27, 2026
82dbc74
rename from GdResourceSsabResource to GdSsabResource.
Naruto Jan 28, 2026
37d042e
rename gd_resource_ssab to gd_ssab_resource
Naruto Feb 2, 2026
7d1ce7c
add node template
Naruto Feb 2, 2026
f83c70e
add gd_progress_dialog
Naruto Feb 5, 2026
8298865
add GdProgressDialog
Naruto Feb 5, 2026
d319687
call step() at updated the number of tasks that finished converting a…
Naruto Feb 6, 2026
83c22a6
fix gdextension sspj importer feature
Naruto Feb 6, 2026
77174d1
fix
Naruto Feb 6, 2026
91419c4
update README.md
Naruto Feb 6, 2026
1dceca9
support ssqb resource
Naruto Feb 7, 2026
33d3346
update README.md
Naruto Feb 8, 2026
d779879
remove PR build untile the PR branch will be stable.
Naruto Feb 8, 2026
84f0294
change submodule uri form https to ssh
Naruto Feb 10, 2026
6dbed3a
update build-runtime scripts
Naruto Feb 11, 2026
f7eef6b
integrate with ss7 runtime.
Naruto Feb 11, 2026
546c036
fix
Naruto Feb 11, 2026
fd71a12
update a submodule
Naruto Feb 11, 2026
dfd7359
fix puase functions
Naruto Feb 11, 2026
da60614
fix modules
Naruto Feb 12, 2026
92f2249
support 4.4 and 4.6
Naruto Feb 12, 2026
a86ebdc
set default Godot Version as 4.6
Naruto Feb 12, 2026
8bde71f
add playing to the GdSsPlayerNode inspector
Naruto Feb 12, 2026
f07f906
update README.md
Naruto Feb 12, 2026
1ef45a4
add .editorconfig
Naruto Feb 12, 2026
c0a962f
add new_gdextension project and update to 4.6
Naruto Feb 12, 2026
3f5cb3a
update
Naruto Feb 12, 2026
c5c3582
rename to GdSsPlayerNode2D
Naruto Feb 12, 2026
61a5b5a
load textures of cellmaps
Naruto Feb 13, 2026
b32f721
add reset
Naruto Feb 14, 2026
7f3ae19
delete *.ja.md
Naruto Mar 27, 2026
c92cdbd
update
Naruto Mar 30, 2026
590336f
show ssconverter warning logs in godot output console.
Naruto Feb 6, 2026
9db9b77
fix
Naruto Apr 1, 2026
b29f2ab
update ss7-sdk submodule
Naruto Apr 3, 2026
cf80112
update README.md
Naruto Apr 3, 2026
d377e58
feat: implement basic sprite animation rendering for GdSsPlayerNode2D
Naruto Apr 3, 2026
9a9b8b8
upate ss7-sdk
Naruto Apr 10, 2026
6aa5873
add methods
Naruto Apr 11, 2026
7e71226
update min version to 4.6
Naruto Apr 18, 2026
94300f3
update ss7-sdk submodule
Naruto Apr 19, 2026
1dce87e
brush up scon build scripts
Naruto Apr 20, 2026
37f80ec
change submodule uri form ssh to https
Naruto Apr 20, 2026
c6de56c
docs: clarify godot and godot-cpp dependencies in AGENTS.md
Naruto Apr 20, 2026
ac75e24
update ss7-sdk submodule
Naruto Apr 20, 2026
ad29088
update ss7-sdk submodule
Naruto Apr 21, 2026
ebf2165
update ss7-sdk submodule
Naruto Apr 21, 2026
f076934
Improve SSPJ Importer: non-blocking import, crash fix and UI enhancement
Naruto Apr 21, 2026
d8ea562
update ss7-sdk submodule
Naruto Apr 22, 2026
61395a6
temporary commit
Naruto Apr 22, 2026
0856ff9
Refactor: Migrate drawAnimation to RenderingServer for better perform…
Naruto Apr 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 4

end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[Makefile]
indent_style = tab

[*.{yml,yaml}]
indent_size = 2

[*.md]
trim_trailing_whitespace = false

[*.{bat,cmd}]
charset = shift_jis
end_of_line = crlf
96 changes: 0 additions & 96 deletions .github/workflows/main.yml

This file was deleted.

9 changes: 6 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "gd_spritestudio/SpriteStudio6-SDK"]
path = gd_spritestudio/SpriteStudio6-SDK
url = https://github.com/SpriteStudio/SpriteStudio6-SDK.git
[submodule "gd_spritestudio/SpriteStudio7-SDK"]
path = gd_spritestudio/SpriteStudio7-SDK
url = https://github.com/SpriteStudio/SpriteStudio7-SDK.git
[submodule "gd_spritestudio/flatbuffers"]
path = gd_spritestudio/flatbuffers
url = https://github.com/google/flatbuffers.git
79 changes: 79 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# SpriteStudioPlayer for Godot

## Minimal operating rules

* Keep changes scoped to the requested task.
* Do not commit unless the user explicitly asks.
* Before editing, read files in full, especially if the read tool truncates them.
* Follow existing code style in touched files (naming, type usage, control flow, and error handling patterns).

## Project Overview
**SSPlayerForGodot** is a Godot Engine integration for [SpriteStudio](https://github.com/SpriteStudio), a 2D animation tool.
This project provides both a Godot GDExtension and the ability to build a custom Godot engine module to load and play SpriteStudio animations within Godot 4.

**Key Technologies:**
- **C++:** Core plugin logic.
- **Godot 4:** Target engine for the plugin.
- **FlatBuffers:** Used for serialization and data exchange (found in `gd_spritestudio/flatbuffers/`).
- **SCons:** Build system used for compiling the C++ code (via `SConstruct`).
- **Shell / PowerShell:** Cross-platform scripts used for building and releasing.

## Directory Overview
- `gd_spritestudio/`: The main C++ source code for the Godot extension. Contains Godot node bindings (e.g., `gd_ssplayer_node2d.cpp`), import plugins, and FlatBuffer parsers.
- `scripts/`: Build, generate, and release scripts for various platforms (Windows, macOS, Linux, iOS, Android, Web).
- `examples/`: Sample Godot projects demonstrating how to use the plugin (e.g., `feature_test`, `feature_test_gdextension`, `mesh_bone`, `particle_effect`, `new`, `new_gdextension`).
- `misc/`: Property list files and other miscellaneous configuration files for platform-specific builds.

## Building and Running

The project relies on SCons and requires the Godot development environment to be set up. Scripts are provided to simplify the build process.

### 1. Initial Setup
Ensure that the repository's native submodules (`flatbuffers`, `SpriteStudio7-SDK`) are initialized:
```bash
git submodule update --init --recursive
```
Additionally, the `godot` and `godot-cpp` repositories are not included in this repository and must be cloned manually as follows (refer to `README.md` for details):
```bash
# Inside the SSPlayerForGodot directory
git clone https://github.com/godotengine/godot.git -b 4.6
git clone https://github.com/godotengine/godot-cpp.git -b 4.5
```

### 2. Building a Custom Godot Engine
During development, you can use the `build.*` scripts. This compiles SpriteStudio directly into the Godot engine.
- **Linux / macOS:**
```bash
./scripts/build.sh
```
- **Windows:**
```powershell
.\scripts\build.ps1
```

### 3. Building the GDExtension
If you prefer to build the project as a standalone GDExtension plugin:
- **Linux / macOS:**
```bash
./scripts/build-extension.sh
```
- **Windows:**
```powershell
.\scripts\build-extension.ps1
```

### 4. Building the SS Runtime
You may also need to build the `ssruntime` binary for your platform:
- **Linux / macOS:**
```bash
./scripts/build-runtime.sh
```
- **Windows:**
```powershell
.\scripts\build-runtime.ps1
```

## Development Conventions
- **C++ Standards:** The extension relies on standard Godot extension practices.
- **Platform Specifics:** SCons handles platform-specific flags. Noticeable configuration exists for iOS (`-miphoneos-version-min=12.0`), macOS (`-framework CoreFoundation`), and Windows.
- **External Dependencies:** Ensure `godot` and `godot-cpp` are correctly cloned into the root directory before running build scripts.
Loading