From 518d85bccadc6fa63343ec1e6777961bfde8cee3 Mon Sep 17 00:00:00 2001 From: Naruto TAKAHASHI Date: Fri, 9 Jan 2026 15:07:33 +0900 Subject: [PATCH 01/35] first build for ssab unsupport Godot v3 --- .gitmodules | 9 +- SConstruct | 40 +- gd_spritestudio/SCsub | 39 +- gd_spritestudio/SpriteStudio6-SDK | 1 - gd_spritestudio/SsConverter3 | 1 + gd_spritestudio/addons/ss_importer/plugin.cfg | 7 - .../addons/ss_importer/ss_importer.gd | 27 - .../addons/ss_importer/ss_importer_ssae.gd | 35 - .../addons/ss_importer/ss_importer_ssce.gd | 35 - .../addons/ss_importer/ss_importer_ssee.gd | 35 - .../addons/ss_importer/ss_importer_sspj.gd | 35 - gd_spritestudio/config.py | 2 +- .../doc/classes/GdNodeSsPlayer.xml | 140 - .../doc/classes/GdResourceSsAnimePack.xml | 23 - .../doc/classes/GdResourceSsCellMap.xml | 17 - .../doc/classes/GdResourceSsDocument.xml | 20 - .../doc/classes/GdResourceSsEffect.xml | 13 - .../doc/classes/GdResourceSsPlayer.xml | 17 - .../doc/classes/GdResourceSsProject.xml | 82 - gd_spritestudio/flatbuffers | 1 + gd_spritestudio/gd_io.cpp | 295 -- gd_spritestudio/gd_io.h | 38 - gd_spritestudio/gd_loader_bssanimepack.cpp | 68 - gd_spritestudio/gd_loader_bssanimepack.h | 47 - gd_spritestudio/gd_loader_bsscellmap.cpp | 68 - gd_spritestudio/gd_loader_bsscellmap.h | 47 - gd_spritestudio/gd_loader_bsseffect.cpp | 68 - gd_spritestudio/gd_loader_bsseffect.h | 47 - gd_spritestudio/gd_loader_bssproject.cpp | 68 - gd_spritestudio/gd_loader_bssproject.h | 47 - gd_spritestudio/gd_loader_ssanimepack.cpp | 68 - gd_spritestudio/gd_loader_ssanimepack.h | 47 - gd_spritestudio/gd_loader_sscellmap.cpp | 68 - gd_spritestudio/gd_loader_sscellmap.h | 47 - gd_spritestudio/gd_loader_sseffect.cpp | 69 - gd_spritestudio/gd_loader_sseffect.h | 47 - gd_spritestudio/gd_loader_ssproject.cpp | 68 - gd_spritestudio/gd_loader_ssproject.h | 47 - gd_spritestudio/gd_macros.h | 21 +- gd_spritestudio/gd_node_ssplayer.cpp | 1014 ----- gd_spritestudio/gd_node_ssplayer.h | 110 - gd_spritestudio/gd_notifier.cpp | 87 - gd_spritestudio/gd_notifier.h | 32 - gd_spritestudio/gd_notifier_item.cpp | 29 - gd_spritestudio/gd_notifier_item.h | 25 - gd_spritestudio/gd_packet_ssanimepack.cpp | 53 - gd_spritestudio/gd_packet_ssanimepack.h | 44 - gd_spritestudio/gd_packet_sscellmap.cpp | 53 - gd_spritestudio/gd_packet_sscellmap.h | 44 - gd_spritestudio/gd_packet_sseffect.cpp | 53 - gd_spritestudio/gd_packet_sseffect.h | 44 - gd_spritestudio/gd_packet_ssproject.cpp | 53 - gd_spritestudio/gd_packet_ssproject.h | 44 - gd_spritestudio/gd_renderer.cpp | 147 - gd_spritestudio/gd_renderer.h | 51 - gd_spritestudio/gd_renderer_item.cpp | 13 - gd_spritestudio/gd_renderer_item.h | 15 - gd_spritestudio/gd_resource_ssanimepack.cpp | 99 - gd_spritestudio/gd_resource_ssanimepack.h | 64 - gd_spritestudio/gd_resource_sscellmap.cpp | 103 - gd_spritestudio/gd_resource_sscellmap.h | 56 - gd_spritestudio/gd_resource_ssdocument.cpp | 38 - gd_spritestudio/gd_resource_ssdocument.h | 42 - gd_spritestudio/gd_resource_sseffect.cpp | 49 - gd_spritestudio/gd_resource_sseffect.h | 48 - gd_spritestudio/gd_resource_ssplayer.cpp | 44 - gd_spritestudio/gd_resource_ssplayer.h | 43 - gd_spritestudio/gd_resource_ssproject.cpp | 525 --- gd_spritestudio/gd_resource_ssproject.h | 94 - gd_spritestudio/gd_saver_bssanimepack.cpp | 77 - gd_spritestudio/gd_saver_bssanimepack.h | 43 - gd_spritestudio/gd_saver_bsscellmap.cpp | 77 - gd_spritestudio/gd_saver_bsscellmap.h | 43 - gd_spritestudio/gd_saver_bsseffect.cpp | 77 - gd_spritestudio/gd_saver_bsseffect.h | 43 - gd_spritestudio/gd_saver_bssproject.cpp | 77 - gd_spritestudio/gd_saver_bssproject.h | 43 - gd_spritestudio/register_types.cpp | 161 +- gd_spritestudio/register_types.h | 4 +- gd_spritestudio/runtime/framedata.h | 1286 +++++++ gd_spritestudio/runtime/initialize.h | 3268 +++++++++++++++++ gd_spritestudio/runtime/preparation.h | 2610 +++++++++++++ gd_spritestudio/shader2def.bat | 1 - gd_spritestudio/shader_alpha.h | 24 - gd_spritestudio/shader_alpha_add.h | 25 - gd_spritestudio/shader_alpha_mix.h | 25 - gd_spritestudio/shader_alpha_mul.h | 25 - gd_spritestudio/shader_alpha_sub.h | 25 - gd_spritestudio/shader_color.h | 99 - gd_spritestudio/shader_color_add.h | 25 - gd_spritestudio/shader_color_mix.h | 25 - gd_spritestudio/shader_color_mul.h | 25 - gd_spritestudio/shader_color_ss_blur.h | 128 - gd_spritestudio/shader_color_ss_bmask.h | 121 - gd_spritestudio/shader_color_ss_circle.h | 143 - gd_spritestudio/shader_color_ss_hsb.h | 160 - gd_spritestudio/shader_color_ss_move.h | 134 - gd_spritestudio/shader_color_ss_noise.h | 132 - gd_spritestudio/shader_color_ss_outline.h | 146 - gd_spritestudio/shader_color_ss_pix.h | 118 - gd_spritestudio/shader_color_ss_scatter.h | 130 - gd_spritestudio/shader_color_ss_sepia.h | 136 - gd_spritestudio/shader_color_ss_spot.h | 126 - gd_spritestudio/shader_color_ss_step.h | 121 - gd_spritestudio/shader_color_ss_wave.h | 126 - gd_spritestudio/shader_color_sub.h | 25 - gd_spritestudio/shader_default.h | 24 - gd_spritestudio/ss_container.cpp | 395 -- gd_spritestudio/ss_container.h | 52 - gd_spritestudio/ss_container_item.cpp | 5 - gd_spritestudio/ss_container_item.h | 106 - gd_spritestudio/ss_io.cpp | 2157 ----------- gd_spritestudio/ss_io.h | 169 - gd_spritestudio/ss_loader_texture_impl.cpp | 38 - gd_spritestudio/ss_loader_texture_impl.h | 14 - gd_spritestudio/ss_macros.h | 13 - gd_spritestudio/ss_renderer_impl.cpp | 2129 ----------- gd_spritestudio/ss_renderer_impl.h | 128 - gd_spritestudio/ss_texture_impl.cpp | 74 - gd_spritestudio/ss_texture_impl.h | 59 - scripts/build-runtime.sh | 77 + scripts/build-v3.ps1 | 115 - scripts/build-v3.sh | 176 - scripts/generate-runtime-code.sh | 18 + 124 files changed, 7325 insertions(+), 13248 deletions(-) delete mode 160000 gd_spritestudio/SpriteStudio6-SDK create mode 160000 gd_spritestudio/SsConverter3 delete mode 100644 gd_spritestudio/addons/ss_importer/plugin.cfg delete mode 100644 gd_spritestudio/addons/ss_importer/ss_importer.gd delete mode 100644 gd_spritestudio/addons/ss_importer/ss_importer_ssae.gd delete mode 100644 gd_spritestudio/addons/ss_importer/ss_importer_ssce.gd delete mode 100644 gd_spritestudio/addons/ss_importer/ss_importer_ssee.gd delete mode 100644 gd_spritestudio/addons/ss_importer/ss_importer_sspj.gd delete mode 100644 gd_spritestudio/doc/classes/GdNodeSsPlayer.xml delete mode 100644 gd_spritestudio/doc/classes/GdResourceSsAnimePack.xml delete mode 100644 gd_spritestudio/doc/classes/GdResourceSsCellMap.xml delete mode 100644 gd_spritestudio/doc/classes/GdResourceSsDocument.xml delete mode 100644 gd_spritestudio/doc/classes/GdResourceSsEffect.xml delete mode 100644 gd_spritestudio/doc/classes/GdResourceSsPlayer.xml delete mode 100644 gd_spritestudio/doc/classes/GdResourceSsProject.xml create mode 160000 gd_spritestudio/flatbuffers delete mode 100644 gd_spritestudio/gd_io.cpp delete mode 100644 gd_spritestudio/gd_io.h delete mode 100644 gd_spritestudio/gd_loader_bssanimepack.cpp delete mode 100644 gd_spritestudio/gd_loader_bssanimepack.h delete mode 100644 gd_spritestudio/gd_loader_bsscellmap.cpp delete mode 100644 gd_spritestudio/gd_loader_bsscellmap.h delete mode 100644 gd_spritestudio/gd_loader_bsseffect.cpp delete mode 100644 gd_spritestudio/gd_loader_bsseffect.h delete mode 100644 gd_spritestudio/gd_loader_bssproject.cpp delete mode 100644 gd_spritestudio/gd_loader_bssproject.h delete mode 100644 gd_spritestudio/gd_loader_ssanimepack.cpp delete mode 100644 gd_spritestudio/gd_loader_ssanimepack.h delete mode 100644 gd_spritestudio/gd_loader_sscellmap.cpp delete mode 100644 gd_spritestudio/gd_loader_sscellmap.h delete mode 100644 gd_spritestudio/gd_loader_sseffect.cpp delete mode 100644 gd_spritestudio/gd_loader_sseffect.h delete mode 100644 gd_spritestudio/gd_loader_ssproject.cpp delete mode 100644 gd_spritestudio/gd_loader_ssproject.h delete mode 100644 gd_spritestudio/gd_node_ssplayer.cpp delete mode 100644 gd_spritestudio/gd_node_ssplayer.h delete mode 100644 gd_spritestudio/gd_notifier.cpp delete mode 100644 gd_spritestudio/gd_notifier.h delete mode 100644 gd_spritestudio/gd_notifier_item.cpp delete mode 100644 gd_spritestudio/gd_notifier_item.h delete mode 100644 gd_spritestudio/gd_packet_ssanimepack.cpp delete mode 100644 gd_spritestudio/gd_packet_ssanimepack.h delete mode 100644 gd_spritestudio/gd_packet_sscellmap.cpp delete mode 100644 gd_spritestudio/gd_packet_sscellmap.h delete mode 100644 gd_spritestudio/gd_packet_sseffect.cpp delete mode 100644 gd_spritestudio/gd_packet_sseffect.h delete mode 100644 gd_spritestudio/gd_packet_ssproject.cpp delete mode 100644 gd_spritestudio/gd_packet_ssproject.h delete mode 100644 gd_spritestudio/gd_renderer.cpp delete mode 100644 gd_spritestudio/gd_renderer.h delete mode 100644 gd_spritestudio/gd_renderer_item.cpp delete mode 100644 gd_spritestudio/gd_renderer_item.h delete mode 100644 gd_spritestudio/gd_resource_ssanimepack.cpp delete mode 100644 gd_spritestudio/gd_resource_ssanimepack.h delete mode 100644 gd_spritestudio/gd_resource_sscellmap.cpp delete mode 100644 gd_spritestudio/gd_resource_sscellmap.h delete mode 100644 gd_spritestudio/gd_resource_ssdocument.cpp delete mode 100644 gd_spritestudio/gd_resource_ssdocument.h delete mode 100644 gd_spritestudio/gd_resource_sseffect.cpp delete mode 100644 gd_spritestudio/gd_resource_sseffect.h delete mode 100644 gd_spritestudio/gd_resource_ssplayer.cpp delete mode 100644 gd_spritestudio/gd_resource_ssplayer.h delete mode 100644 gd_spritestudio/gd_resource_ssproject.cpp delete mode 100644 gd_spritestudio/gd_resource_ssproject.h delete mode 100644 gd_spritestudio/gd_saver_bssanimepack.cpp delete mode 100644 gd_spritestudio/gd_saver_bssanimepack.h delete mode 100644 gd_spritestudio/gd_saver_bsscellmap.cpp delete mode 100644 gd_spritestudio/gd_saver_bsscellmap.h delete mode 100644 gd_spritestudio/gd_saver_bsseffect.cpp delete mode 100644 gd_spritestudio/gd_saver_bsseffect.h delete mode 100644 gd_spritestudio/gd_saver_bssproject.cpp delete mode 100644 gd_spritestudio/gd_saver_bssproject.h create mode 100644 gd_spritestudio/runtime/framedata.h create mode 100644 gd_spritestudio/runtime/initialize.h create mode 100644 gd_spritestudio/runtime/preparation.h delete mode 100644 gd_spritestudio/shader2def.bat delete mode 100644 gd_spritestudio/shader_alpha.h delete mode 100644 gd_spritestudio/shader_alpha_add.h delete mode 100644 gd_spritestudio/shader_alpha_mix.h delete mode 100644 gd_spritestudio/shader_alpha_mul.h delete mode 100644 gd_spritestudio/shader_alpha_sub.h delete mode 100644 gd_spritestudio/shader_color.h delete mode 100644 gd_spritestudio/shader_color_add.h delete mode 100644 gd_spritestudio/shader_color_mix.h delete mode 100644 gd_spritestudio/shader_color_mul.h delete mode 100644 gd_spritestudio/shader_color_ss_blur.h delete mode 100644 gd_spritestudio/shader_color_ss_bmask.h delete mode 100644 gd_spritestudio/shader_color_ss_circle.h delete mode 100644 gd_spritestudio/shader_color_ss_hsb.h delete mode 100644 gd_spritestudio/shader_color_ss_move.h delete mode 100644 gd_spritestudio/shader_color_ss_noise.h delete mode 100644 gd_spritestudio/shader_color_ss_outline.h delete mode 100644 gd_spritestudio/shader_color_ss_pix.h delete mode 100644 gd_spritestudio/shader_color_ss_scatter.h delete mode 100644 gd_spritestudio/shader_color_ss_sepia.h delete mode 100644 gd_spritestudio/shader_color_ss_spot.h delete mode 100644 gd_spritestudio/shader_color_ss_step.h delete mode 100644 gd_spritestudio/shader_color_ss_wave.h delete mode 100644 gd_spritestudio/shader_color_sub.h delete mode 100644 gd_spritestudio/shader_default.h delete mode 100644 gd_spritestudio/ss_container.cpp delete mode 100644 gd_spritestudio/ss_container.h delete mode 100644 gd_spritestudio/ss_container_item.cpp delete mode 100644 gd_spritestudio/ss_container_item.h delete mode 100644 gd_spritestudio/ss_io.cpp delete mode 100644 gd_spritestudio/ss_io.h delete mode 100644 gd_spritestudio/ss_loader_texture_impl.cpp delete mode 100644 gd_spritestudio/ss_loader_texture_impl.h delete mode 100644 gd_spritestudio/ss_macros.h delete mode 100644 gd_spritestudio/ss_renderer_impl.cpp delete mode 100644 gd_spritestudio/ss_renderer_impl.h delete mode 100644 gd_spritestudio/ss_texture_impl.cpp delete mode 100644 gd_spritestudio/ss_texture_impl.h create mode 100755 scripts/build-runtime.sh delete mode 100755 scripts/build-v3.ps1 delete mode 100755 scripts/build-v3.sh create mode 100755 scripts/generate-runtime-code.sh diff --git a/.gitmodules b/.gitmodules index 9e0e81a..b08b5b8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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/SsConverter3"] + path = gd_spritestudio/SsConverter3 + url = https://github.com/SpriteStudio/SsConverter3.git +[submodule "gd_spritestudio/flatbuffers"] + path = gd_spritestudio/flatbuffers + url = https://github.com/google/flatbuffers.git diff --git a/SConstruct b/SConstruct index eb74adb..bb23bea 100644 --- a/SConstruct +++ b/SConstruct @@ -64,19 +64,37 @@ Run the following command to download godot-cpp: env = SConscript("godot-cpp/SConstruct", {"env": env, "customs": customs}) +sources = Glob("gd_spritestudio/*.cpp") +sources.append("gd_spritestudio/flatbuffers/src/idl_parser.cpp") +sources.append("gd_spritestudio/flatbuffers/src/idl_gen_text.cpp") +sources.append("gd_spritestudio/flatbuffers/src/reflection.cpp") +sources.append("gd_spritestudio/flatbuffers/src/util.cpp") + env.Append(CPPDEFINES = "SPRITESTUDIO_GODOT_EXTENSION") -env.Append(CPPDEFINES = "_NOTUSE_STBI") -env.Append(CPPDEFINES = "_NOTUSE_TEXTURE_FULLPATH") -env.Append(CPPDEFINES = "_NOTUSE_EXCEPTION") -env.Append(CPPPATH=["src/"]) env.Append( CPPPATH=[ - "gd_spritestudio/SpriteStudio6-SDK/Common/Loader", - "gd_spritestudio/SpriteStudio6-SDK/Common/Animator", - "gd_spritestudio/SpriteStudio6-SDK/Common/Helper", + "gd_spritestudio/flatbuffers/src", + "gd_spritestudio/flatbuffers/include", + "gd_spritestudio/runtime", ] ) +extension_path = env.Dir('.').abspath +if env['platform'] == 'macos': + runtime_libpath = os.path.join(extension_path, "gd_spritestudio", "runtime", "libs", env['platform']) +else: + runtime_libpath = os.path.join(extension_path, "gd_spritestudio", "runtime", "libs", env['platform'], env['arch']) + +env.Append( + LIBPATH=[ + runtime_libpath, + ]) + +if env['target'] == 'editor': + env.Append(LIBS=["ssconverter3"]) +env.Append(LIBS=["ssruntime"]) + + if env["platform"] == 'macos': env.Append(LINKFLAGS=["-framework", "CoreFoundation"]) @@ -85,14 +103,6 @@ if env["platform"] == "ios": env.Append(CCFLAGS=["-miphoneos-version-min=12.0"]) env.Append(LINKFLAGS=["-miphoneos-version-min=12.0"]) -sources = Glob("gd_spritestudio/*.cpp") -sources.extend(Glob("gd_spritestudio/SpriteStudio6-SDK/Common/Loader/tinyxml2/*.cpp")) -sources.extend(Glob("gd_spritestudio/SpriteStudio6-SDK/Common/Loader/*.cpp")) -sources.extend(Glob("gd_spritestudio/SpriteStudio6-SDK/Common/Animator/*.cpp")) -sources.extend(Glob("gd_spritestudio/SpriteStudio6-SDK/Common/Helper/DebugPrint.cpp")) -sources.extend(Glob("gd_spritestudio/SpriteStudio6-SDK/Common/Helper/IsshTexture.cpp")) -sources.extend(Glob("gd_spritestudio/SpriteStudio6-SDK/Common/Helper/stb_image.c")) - if env["target"] in ["editor", "template_debug"]: try: doc_data = env.GodotCPPDocData("src/gen/doc_data.gen.cpp", source=Glob("doc_classes/*.xml")) diff --git a/gd_spritestudio/SCsub b/gd_spritestudio/SCsub index 5c70f5a..bad872a 100644 --- a/gd_spritestudio/SCsub +++ b/gd_spritestudio/SCsub @@ -1,30 +1,41 @@ -#!/usr/bin/env python +#!/usr/bin/env python Import("env") Import("env_modules") +import os env_gd_spritestudio = env_modules.Clone() env_gd_spritestudio.add_source_files(env.modules_sources, "*.cpp") -env_gd_spritestudio.add_source_files(env.modules_sources, "SpriteStudio6-SDK/Common/Loader/tinyxml2/*.cpp") -env_gd_spritestudio.add_source_files(env.modules_sources, "SpriteStudio6-SDK/Common/Loader/*.cpp") -# env_gd_spritestudio.add_source_files(env.modules_sources, "SpriteStudio6-SDK/Common/Helper/*.cpp") -env_gd_spritestudio.add_source_files(env.modules_sources, "SpriteStudio6-SDK/Common/Animator/*.cpp") -env_gd_spritestudio.add_source_files(env.modules_sources, "SpriteStudio6-SDK/Common/Helper/DebugPrint.cpp") -env_gd_spritestudio.add_source_files(env.modules_sources, "SpriteStudio6-SDK/Common/Helper/IsshTexture.cpp") +env_gd_spritestudio.add_source_files(env.modules_sources, "flatbuffers/src/idl_parser.cpp") +env_gd_spritestudio.add_source_files(env.modules_sources, "flatbuffers/src/idl_gen_text.cpp") +env_gd_spritestudio.add_source_files(env.modules_sources, "flatbuffers/src/reflection.cpp") +env_gd_spritestudio.add_source_files(env.modules_sources, "flatbuffers/src/util.cpp") -env_gd_spritestudio.Append(CPPDEFINES = '_NOTUSE_STBI') -env_gd_spritestudio.Append(CPPDEFINES = '_NOTUSE_TEXTURE_FULLPATH') -env_gd_spritestudio.Append(CPPDEFINES = '_NOTUSE_EXCEPTION') - env_gd_spritestudio.Append( CPPPATH=[ - "SpriteStudio6-SDK/Common/Loader", - "SpriteStudio6-SDK/Common/Helper", - "SpriteStudio6-SDK/Common/Animator", + "flatbuffers/src", + "flatbuffers/include", + "runtime", ]) +module_path = env.Dir('.').abspath +if env['platform'] == 'macos': + runtime_libpath = os.path.join(module_path, "runtime", "libs", env['platform']) +else: + runtime_libpath = os.path.join(module_path, "runtime", "libs", env['platform'], env['arch']) + +env.Append( + LIBPATH=[ + runtime_libpath, + ]) + +if env['target'] == 'editor': + env.Append(LIBS=["ssconverter3"]) +env.Append(LIBS=["ssruntime"]) + + if not env_gd_spritestudio.msvc: env_gd_spritestudio.Append(CXXFLAGS=["-Wno-inconsistent-missing-override"]) diff --git a/gd_spritestudio/SpriteStudio6-SDK b/gd_spritestudio/SpriteStudio6-SDK deleted file mode 160000 index b31ec85..0000000 --- a/gd_spritestudio/SpriteStudio6-SDK +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b31ec853086976a84e01265244b962cadf4b6fba diff --git a/gd_spritestudio/SsConverter3 b/gd_spritestudio/SsConverter3 new file mode 160000 index 0000000..11f7d88 --- /dev/null +++ b/gd_spritestudio/SsConverter3 @@ -0,0 +1 @@ +Subproject commit 11f7d884d37a6bdac9835a81487a75e8a7590da2 diff --git a/gd_spritestudio/addons/ss_importer/plugin.cfg b/gd_spritestudio/addons/ss_importer/plugin.cfg deleted file mode 100644 index 88e6c8e..0000000 --- a/gd_spritestudio/addons/ss_importer/plugin.cfg +++ /dev/null @@ -1,7 +0,0 @@ -[plugin] - -name="ss_importer" -description="" -author="ss" -version="1" -script="ss_importer.gd" diff --git a/gd_spritestudio/addons/ss_importer/ss_importer.gd b/gd_spritestudio/addons/ss_importer/ss_importer.gd deleted file mode 100644 index a739ab5..0000000 --- a/gd_spritestudio/addons/ss_importer/ss_importer.gd +++ /dev/null @@ -1,27 +0,0 @@ -tool -extends EditorPlugin - -var importer_sspj -var importer_ssae -var importer_ssce -var importer_ssee - -func _enter_tree(): - importer_sspj = preload("ss_importer_sspj.gd").new() - importer_ssae = preload("ss_importer_ssae.gd").new() - importer_ssce = preload("ss_importer_ssce.gd").new() - importer_ssee = preload("ss_importer_ssee.gd").new() - add_import_plugin(importer_sspj) - add_import_plugin(importer_ssae) - add_import_plugin(importer_ssce) - add_import_plugin(importer_ssee) - -func _exit_tree(): - remove_import_plugin(importer_sspj) - remove_import_plugin(importer_ssae) - remove_import_plugin(importer_ssce) - remove_import_plugin(importer_ssee) - importer_sspj = null - importer_ssae = null - importer_ssce = null - importer_ssee = null diff --git a/gd_spritestudio/addons/ss_importer/ss_importer_ssae.gd b/gd_spritestudio/addons/ss_importer/ss_importer_ssae.gd deleted file mode 100644 index 7d2e2e5..0000000 --- a/gd_spritestudio/addons/ss_importer/ss_importer_ssae.gd +++ /dev/null @@ -1,35 +0,0 @@ -tool -extends EditorImportPlugin - -func get_preset_count(): - return 0 - -func get_preset_name(preset): - return "" - -func get_import_options(preset): - return [] - -func get_option_visibility(option, options): - return false - -func import(source_file, save_path, options, r_platform_variants, r_gen_files): - var doc = GdResourceSsDocument.new() - doc.load_from_file(source_file,source_file) - - return ResourceSaver.save("%s.%s" % [save_path, get_save_extension()], doc) - -func get_importer_name(): - return "ssae_importer" - -func get_visible_name(): - return "ssae_importer" - -func get_recognized_extensions(): - return ["ssae"] - -func get_save_extension(): - return "gdssae" - -func get_resource_type(): - return "GdResourceSsAnimePack" diff --git a/gd_spritestudio/addons/ss_importer/ss_importer_ssce.gd b/gd_spritestudio/addons/ss_importer/ss_importer_ssce.gd deleted file mode 100644 index 8c3981f..0000000 --- a/gd_spritestudio/addons/ss_importer/ss_importer_ssce.gd +++ /dev/null @@ -1,35 +0,0 @@ -tool -extends EditorImportPlugin - -func get_preset_count(): - return 0 - -func get_preset_name(preset): - return "" - -func get_import_options(preset): - return [] - -func get_option_visibility(option, options): - return false - -func import(source_file, save_path, options, r_platform_variants, r_gen_files): - var doc = GdResourceSsDocument.new() - doc.load_from_file(source_file,source_file) - - return ResourceSaver.save("%s.%s" % [save_path, get_save_extension()], doc) - -func get_importer_name(): - return "ssce_importer" - -func get_visible_name(): - return "ssce_importer" - -func get_recognized_extensions(): - return ["ssce"] - -func get_save_extension(): - return "gdssce" - -func get_resource_type(): - return "GdResourceSsCellMap" diff --git a/gd_spritestudio/addons/ss_importer/ss_importer_ssee.gd b/gd_spritestudio/addons/ss_importer/ss_importer_ssee.gd deleted file mode 100644 index 1b43dc0..0000000 --- a/gd_spritestudio/addons/ss_importer/ss_importer_ssee.gd +++ /dev/null @@ -1,35 +0,0 @@ -tool -extends EditorImportPlugin - -func get_preset_count(): - return 0 - -func get_preset_name(preset): - return "" - -func get_import_options(preset): - return [] - -func get_option_visibility(option, options): - return false - -func import(source_file, save_path, options, r_platform_variants, r_gen_files): - var doc = GdResourceSsDocument.new() - doc.load_from_file(source_file,source_file) - - return ResourceSaver.save("%s.%s" % [save_path, get_save_extension()], doc) - -func get_importer_name(): - return "ssee_importer" - -func get_visible_name(): - return "ssee_importer" - -func get_recognized_extensions(): - return ["ssee"] - -func get_save_extension(): - return "gdssee" - -func get_resource_type(): - return "GdResourceSsEffect" diff --git a/gd_spritestudio/addons/ss_importer/ss_importer_sspj.gd b/gd_spritestudio/addons/ss_importer/ss_importer_sspj.gd deleted file mode 100644 index 37578fd..0000000 --- a/gd_spritestudio/addons/ss_importer/ss_importer_sspj.gd +++ /dev/null @@ -1,35 +0,0 @@ -tool -extends EditorImportPlugin - -func get_preset_count(): - return 0 - -func get_preset_name(preset): - return "" - -func get_import_options(preset): - return [] - -func get_option_visibility(option, options): - return false - -func import(source_file, save_path, options, r_platform_variants, r_gen_files): - var doc = GdResourceSsDocument.new() - doc.load_from_file(source_file,source_file) - - return ResourceSaver.save("%s.%s" % [save_path, get_save_extension()], doc) - -func get_importer_name(): - return "sspj_importer" - -func get_visible_name(): - return "sspj_importer" - -func get_recognized_extensions(): - return ["sspj"] - -func get_save_extension(): - return "gdsspj" - -func get_resource_type(): - return "GdResourceSsProject" diff --git a/gd_spritestudio/config.py b/gd_spritestudio/config.py index e16887f..3475ca9 100644 --- a/gd_spritestudio/config.py +++ b/gd_spritestudio/config.py @@ -1,4 +1,4 @@ -# config.py +# config.py def can_build(env, platform): return True diff --git a/gd_spritestudio/doc/classes/GdNodeSsPlayer.xml b/gd_spritestudio/doc/classes/GdNodeSsPlayer.xml deleted file mode 100644 index 869f470..0000000 --- a/gd_spritestudio/doc/classes/GdNodeSsPlayer.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gd_spritestudio/doc/classes/GdResourceSsAnimePack.xml b/gd_spritestudio/doc/classes/GdResourceSsAnimePack.xml deleted file mode 100644 index fe94d97..0000000 --- a/gd_spritestudio/doc/classes/GdResourceSsAnimePack.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gd_spritestudio/doc/classes/GdResourceSsCellMap.xml b/gd_spritestudio/doc/classes/GdResourceSsCellMap.xml deleted file mode 100644 index 76370f1..0000000 --- a/gd_spritestudio/doc/classes/GdResourceSsCellMap.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/gd_spritestudio/doc/classes/GdResourceSsDocument.xml b/gd_spritestudio/doc/classes/GdResourceSsDocument.xml deleted file mode 100644 index c255523..0000000 --- a/gd_spritestudio/doc/classes/GdResourceSsDocument.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/gd_spritestudio/doc/classes/GdResourceSsEffect.xml b/gd_spritestudio/doc/classes/GdResourceSsEffect.xml deleted file mode 100644 index 0a0fa74..0000000 --- a/gd_spritestudio/doc/classes/GdResourceSsEffect.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/gd_spritestudio/doc/classes/GdResourceSsPlayer.xml b/gd_spritestudio/doc/classes/GdResourceSsPlayer.xml deleted file mode 100644 index 0227c17..0000000 --- a/gd_spritestudio/doc/classes/GdResourceSsPlayer.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/gd_spritestudio/doc/classes/GdResourceSsProject.xml b/gd_spritestudio/doc/classes/GdResourceSsProject.xml deleted file mode 100644 index 217414a..0000000 --- a/gd_spritestudio/doc/classes/GdResourceSsProject.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gd_spritestudio/flatbuffers b/gd_spritestudio/flatbuffers new file mode 160000 index 0000000..8914d06 --- /dev/null +++ b/gd_spritestudio/flatbuffers @@ -0,0 +1 @@ +Subproject commit 8914d06ab7123167424438cf293bb349833bcb7d diff --git a/gd_spritestudio/gd_io.cpp b/gd_spritestudio/gd_io.cpp deleted file mode 100644 index 0fc40b9..0000000 --- a/gd_spritestudio/gd_io.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/*! -* \file gd_io.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_io.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/io/file_access.h" -#endif -#ifdef GD_V3 -#include "core/os/file_access.h" -#endif -#include "core/io/stream_peer.h" -#endif - -GdIO::GdIO() -{ -} - -GdIO::~GdIO() -{ -} - -String GdIO::loadStringFromFile( const String& strPath ) -{ - Error err; - String str = String( "" ); - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - str = FileAccess::get_file_as_string(strPath); - if (str.length() == 0) { - err = ERR_FILE_UNRECOGNIZED; - ERR_PRINT( String( "loadStringFromFile error: " ) + String::num( err ) ); - - return str; - } - -#endif -#ifdef GD_V4 - Ref resFileAccess = FileAccess::open( strPath, FileAccess::READ, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "loadStringFromFile error: " ) + String::num( err ) ); - - if ( resFileAccess.is_valid() ) { - resFileAccess->close(); - } - - return str; - } - - while ( !resFileAccess->eof_reached() ) { - str += resFileAccess->get_line(); - } - - resFileAccess->close(); -#endif -#ifdef GD_V3 - FileAccess* pFileAccess = FileAccess::open( strPath, FileAccess::READ, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "loadStringFromFile error: " ) + String::num( err ) ); - - if ( pFileAccess ) { - pFileAccess->close(); - } - - return str; - } - - str = pFileAccess->get_as_utf8_string(); - - pFileAccess->close(); -#endif - - return str; -} - -Error GdIO::saveStringToFile( const String& strPath, const String& str ) -{ - Error err; - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - Ref resFileAccess = FileAccess::open( strPath, FileAccess::WRITE); - if ( !resFileAccess.is_valid() ) { - err = ERR_FILE_CANT_OPEN; - ERR_PRINT( String( "saveStringToFile error: " ) + String::num( err ) ); - - return err; - } - - resFileAccess->store_string( str ); - - resFileAccess->close(); - -#endif -#ifdef GD_V4 - Ref resFileAccess = FileAccess::open( strPath, FileAccess::WRITE, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "saveStringToFile error: " ) + String::num( err ) ); - - if ( resFileAccess.is_valid() ) { - resFileAccess->close(); - } - - return err; - } - - resFileAccess->store_string( str ); - - resFileAccess->close(); -#endif -#ifdef GD_V3 - FileAccess* pFileAccess = FileAccess::open( strPath, FileAccess::WRITE, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "saveStringToFile error: " ) + String::num( err ) ); - - if ( pFileAccess ) { - pFileAccess->close(); - } - - return err; - } - - pFileAccess->store_string( str ); - - pFileAccess->close(); -#endif - - return err; -} - -Variant GdIO::loadVariantFromFile( const String& strPath ) -{ - Error err; - Variant val = Variant( "" ); - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - Ref resFileAccess = FileAccess::open( strPath, FileAccess::READ); - if ( !resFileAccess.is_valid() ) { - err = ERR_FILE_CANT_OPEN; - ERR_PRINT( String( "loadVariantFromFile error: " ) + String::num( err ) ); - return val; - } - - val = resFileAccess->get_var(); - - resFileAccess->close(); -#else -#ifdef GD_V4 - Ref resFileAccess = FileAccess::open( strPath, FileAccess::READ, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "loadVariantFromFile error: " ) + String::num( err ) ); - - if ( resFileAccess.is_valid() ) { - resFileAccess->close(); - } - - return val; - } - - int iSize = resFileAccess->get_length(); - uint8_t* pBuf = memnew_arr( uint8_t, iSize ); - - resFileAccess->get_buffer( pBuf, iSize ); - - resFileAccess->close(); - - StreamPeerBuffer st; - - st.put_data( pBuf, iSize ); - st.seek( 0 ); - - val = st.get_var(); - - memdelete_arr( pBuf ); -#endif -#ifdef GD_V3 - FileAccess* pFileAccess = FileAccess::open( strPath, FileAccess::READ, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "loadVariantFromFile error: " ) + String::num( err ) ); - - if ( pFileAccess ) { - pFileAccess->close(); - } - - return val; - } - - int iSize = pFileAccess->get_len(); - uint8_t* pBuf = memnew_arr( uint8_t, iSize ); - - pFileAccess->get_buffer( pBuf, iSize ); - - pFileAccess->close(); - - StreamPeerBuffer st; - - st.put_data( pBuf, iSize ); - st.seek( 0 ); - - val = st.get_var(); - - memdelete_arr( pBuf ); -#endif -#endif - - return val; -} - -Error GdIO::saveVariantToFile( const String& strPath, const Variant& val ) -{ - Error err; - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - Ref resFileAccess = FileAccess::open( strPath, FileAccess::WRITE); - if ( !resFileAccess.is_valid() ) { - err = ERR_FILE_CANT_OPEN; - ERR_PRINT( String( "saveVariantToFile error: " ) + String::num( err ) ); - - return err; - } - - resFileAccess->store_var(val); - -#endif -#ifdef GD_V4 - Ref resFileAccess = FileAccess::open( strPath, FileAccess::WRITE, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "saveVariantToFile error: " ) + String::num( err ) ); - - if ( resFileAccess.is_valid() ) { - resFileAccess->close(); - } - - return err; - } - - StreamPeerBuffer st; - - st.put_var( val ); - st.seek( 0 ); - - int iSize = st.get_size(); - uint8_t* pBuf = memnew_arr( uint8_t, iSize ); - - st.get_data( pBuf, iSize ); - - resFileAccess->store_buffer( pBuf, iSize ); - - resFileAccess->close(); - - memdelete_arr( pBuf ); -#endif -#ifdef GD_V3 - FileAccess* pFileAccess = FileAccess::open( strPath, FileAccess::WRITE, &err ); - - if ( err != OK ) { - ERR_PRINT( String( "saveVariantToFile error: " ) + String::num( err ) ); - - if ( pFileAccess ) { - pFileAccess->close(); - } - - return err; - } - - StreamPeerBuffer st; - - st.put_var( val ); - st.seek( 0 ); - - int iSize = st.get_size(); - uint8_t* pBuf = memnew_arr( uint8_t, iSize ); - - st.get_data( pBuf, iSize ); - - pFileAccess->store_buffer( pBuf, iSize ); - - pFileAccess->close(); - - memdelete_arr( pBuf ); -#endif - - return err; -} diff --git a/gd_spritestudio/gd_io.h b/gd_spritestudio/gd_io.h deleted file mode 100644 index a586191..0000000 --- a/gd_spritestudio/gd_io.h +++ /dev/null @@ -1,38 +0,0 @@ -/*! -* \file gd_io.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_IO_H -#define GD_IO_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/string/ustring.h" -#endif -#ifdef GD_V3 -#include "core/ustring.h" -#endif -#endif - -class GdIO -{ -private : - GdIO(); - -public : - virtual ~GdIO(); - - static String loadStringFromFile( const String& strPath ); - static Error saveStringToFile( const String& strPath, const String& str ); - static Variant loadVariantFromFile( const String& strPath ); - static Error saveVariantToFile( const String& strPath, const Variant& val ); -}; - -#endif // GD_IO_H diff --git a/gd_spritestudio/gd_loader_bssanimepack.cpp b/gd_spritestudio/gd_loader_bssanimepack.cpp deleted file mode 100644 index dda90f0..0000000 --- a/gd_spritestudio/gd_loader_bssanimepack.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! -* \file gd_loader_bssanimepack.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_bssanimepack.h" - -#include "gd_resource_ssanimepack.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderBssAnimePack::_load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderBssAnimePack::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderBssAnimePack::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsAnimePack ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderBssAnimePack::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("gdssae"); - return extensions; -} -#else -void GdLoaderBssAnimePack::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "gdssae" ) ) { - p_extensions->push_back( "gdssae" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderBssAnimePack::_handles_type(const StringName &p_type) -#else -bool GdLoaderBssAnimePack::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsAnimePack" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderBssAnimePack::_get_resource_type(const String &path) -#else -String GdLoaderBssAnimePack::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsAnimePack"; -} diff --git a/gd_spritestudio/gd_loader_bssanimepack.h b/gd_spritestudio/gd_loader_bssanimepack.h deleted file mode 100644 index ce1a0ae..0000000 --- a/gd_spritestudio/gd_loader_bssanimepack.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_bssanimepack.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_BSSANIMEPACK_H -#define GD_LOADER_BSSANIMEPACK_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderBssAnimePack : public ResourceFormatLoader -{ - GDCLASS( GdLoaderBssAnimePack, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &path); - - Variant _load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_BSSANIMEPACK_H diff --git a/gd_spritestudio/gd_loader_bsscellmap.cpp b/gd_spritestudio/gd_loader_bsscellmap.cpp deleted file mode 100644 index 7cfdf26..0000000 --- a/gd_spritestudio/gd_loader_bsscellmap.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! -* \file gd_loader_bsscellmap.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_bsscellmap.h" - -#include "gd_resource_sscellmap.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderBssCellMap::_load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderBssCellMap::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderBssCellMap::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsCellMap ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderBssCellMap::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("gdssce"); - return extensions; -} -#else -void GdLoaderBssCellMap::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "gdssce" ) ) { - p_extensions->push_back( "gdssce" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderBssCellMap::_handles_type(const StringName &p_type) -#else -bool GdLoaderBssCellMap::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsCellMap" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderBssCellMap::_get_resource_type(const String &path) -#else -String GdLoaderBssCellMap::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsCellMap"; -} diff --git a/gd_spritestudio/gd_loader_bsscellmap.h b/gd_spritestudio/gd_loader_bsscellmap.h deleted file mode 100644 index a255d5c..0000000 --- a/gd_spritestudio/gd_loader_bsscellmap.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_bsscellmap.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_BSSCELLMAP_H -#define GD_LOADER_BSSCELLMAP_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderBssCellMap : public ResourceFormatLoader -{ - GDCLASS( GdLoaderBssCellMap, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &path); - - Variant _load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_BSSCELLMAP_H diff --git a/gd_spritestudio/gd_loader_bsseffect.cpp b/gd_spritestudio/gd_loader_bsseffect.cpp deleted file mode 100644 index 07177ca..0000000 --- a/gd_spritestudio/gd_loader_bsseffect.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! -* \file gd_loader_bsseffect.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_bsseffect.h" - -#include "gd_resource_sseffect.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderBssEffect::_load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderBssEffect::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderBssEffect::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsEffect ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderBssEffect::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("gdssee"); - return extensions; -} -#else -void GdLoaderBssEffect::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "gdssee" ) ) { - p_extensions->push_back( "gdssee" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderBssEffect::_handles_type(const StringName &p_type) -#else -bool GdLoaderBssEffect::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsEffect" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderBssEffect::_get_resource_type(const String &path) -#else -String GdLoaderBssEffect::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsEffect"; -} diff --git a/gd_spritestudio/gd_loader_bsseffect.h b/gd_spritestudio/gd_loader_bsseffect.h deleted file mode 100644 index ead81c8..0000000 --- a/gd_spritestudio/gd_loader_bsseffect.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_bsseffect.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_BSSEFFECT_H -#define GD_LOADER_BSSEFFECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderBssEffect : public ResourceFormatLoader -{ - GDCLASS( GdLoaderBssEffect, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &path); - - Variant _load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_BSSEFFECT_H diff --git a/gd_spritestudio/gd_loader_bssproject.cpp b/gd_spritestudio/gd_loader_bssproject.cpp deleted file mode 100644 index 0cb2b2b..0000000 --- a/gd_spritestudio/gd_loader_bssproject.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! -* \file gd_loader_bssproject.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_bssproject.h" - -#include "gd_resource_ssproject.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderBssProject::_load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderBssProject::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderBssProject::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsProject ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderBssProject::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("gdsspj"); - return extensions; -} -#else -void GdLoaderBssProject::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "gdsspj" ) ) { - p_extensions->push_back( "gdsspj" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderBssProject::_handles_type(const StringName &p_type) -#else -bool GdLoaderBssProject::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsProject" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderBssProject::_get_resource_type(const String &path) -#else -String GdLoaderBssProject::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsProject"; -} diff --git a/gd_spritestudio/gd_loader_bssproject.h b/gd_spritestudio/gd_loader_bssproject.h deleted file mode 100644 index ae9bd2e..0000000 --- a/gd_spritestudio/gd_loader_bssproject.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_bssproject.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_BSSPROJECT_H -#define GD_LOADER_BSSPROJECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderBssProject : public ResourceFormatLoader -{ - GDCLASS( GdLoaderBssProject, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &path); - - Variant _load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_BSSPROJECT_H diff --git a/gd_spritestudio/gd_loader_ssanimepack.cpp b/gd_spritestudio/gd_loader_ssanimepack.cpp deleted file mode 100644 index a53b8e4..0000000 --- a/gd_spritestudio/gd_loader_ssanimepack.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! -* \file gd_loader_ssanimepack.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_ssanimepack.h" - -#include "gd_resource_ssanimepack.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderSsAnimePack::_load(const String &p_path, const String &p_original_path, bool p_use_sub_threads, int32_t p_cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderSsAnimePack::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderSsAnimePack::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsAnimePack ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderSsAnimePack::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("ssae"); - return extensions; -} -#else -void GdLoaderSsAnimePack::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "ssae" ) ) { - p_extensions->push_back( "ssae" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderSsAnimePack::_handles_type(const StringName &p_type) -#else -bool GdLoaderSsAnimePack::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsAnimePack" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderSsAnimePack::_get_resource_type(const String &p_path) -#else -String GdLoaderSsAnimePack::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsAnimePack"; -} diff --git a/gd_spritestudio/gd_loader_ssanimepack.h b/gd_spritestudio/gd_loader_ssanimepack.h deleted file mode 100644 index 593204c..0000000 --- a/gd_spritestudio/gd_loader_ssanimepack.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_ssanimepack.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_SSANIMEPACK_H -#define GD_LOADER_SSANIMEPACK_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderSsAnimePack : public ResourceFormatLoader -{ - GDCLASS( GdLoaderSsAnimePack, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &p_path); - - Variant _load(const String &p_path, const String &p_original_path, bool p_use_sub_threads, int32_t p_cache_mode); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_SSANIMEPACK_H diff --git a/gd_spritestudio/gd_loader_sscellmap.cpp b/gd_spritestudio/gd_loader_sscellmap.cpp deleted file mode 100644 index 31f1f77..0000000 --- a/gd_spritestudio/gd_loader_sscellmap.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! -* \file gd_loader_sscellmap.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_sscellmap.h" - -#include "gd_resource_sscellmap.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderSsCellMap::_load(const String &p_path, const String &p_original_path, bool p_use_sub_threads, int32_t p_cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderSsCellMap::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderSsCellMap::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsCellMap ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderSsCellMap::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("ssce"); - return extensions; -} -#else -void GdLoaderSsCellMap::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "ssce" ) ) { - p_extensions->push_back( "ssce" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderSsCellMap::_handles_type(const StringName &p_type) -#else -bool GdLoaderSsCellMap::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsCellMap" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderSsCellMap::_get_resource_type(const String &p_path) -#else -String GdLoaderSsCellMap::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsCellMap"; -} diff --git a/gd_spritestudio/gd_loader_sscellmap.h b/gd_spritestudio/gd_loader_sscellmap.h deleted file mode 100644 index f6e324d..0000000 --- a/gd_spritestudio/gd_loader_sscellmap.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_sscellmap.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_SSCELLMAP_H -#define GD_LOADER_SSCELLMAP_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderSsCellMap : public ResourceFormatLoader -{ - GDCLASS( GdLoaderSsCellMap, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &path); - - Variant _load(const String &p_path, const String &p_original_path = "", bool p_use_sub_threads = false, int32_t p_cache_mode = CACHE_MODE_REUSE); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_SSCELLMAP_H diff --git a/gd_spritestudio/gd_loader_sseffect.cpp b/gd_spritestudio/gd_loader_sseffect.cpp deleted file mode 100644 index 732df45..0000000 --- a/gd_spritestudio/gd_loader_sseffect.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/*! -* \file gd_loader_sseffect.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_sseffect.h" - -#include "gd_resource_sseffect.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderSsEffect::_load(const String &p_path, const String &p_original_path, bool p_use_sub_threads, int32_t p_cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderSsEffect::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderSsEffect::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsEffect ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderSsEffect::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("ssee"); - return extensions; -} -#else -void GdLoaderSsEffect::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "ssee" ) ) { - p_extensions->push_back( "ssee" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderSsEffect::_handles_type(const StringName &p_type) -#else -bool GdLoaderSsEffect::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsEffect" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderSsEffect::_get_resource_type(const String &p_path) -#else -String GdLoaderSsEffect::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsEffect"; -} diff --git a/gd_spritestudio/gd_loader_sseffect.h b/gd_spritestudio/gd_loader_sseffect.h deleted file mode 100644 index 9587e18..0000000 --- a/gd_spritestudio/gd_loader_sseffect.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_sseffect.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_SSEFFECT_H -#define GD_LOADER_SSEFFECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderSsEffect : public ResourceFormatLoader -{ - GDCLASS( GdLoaderSsEffect, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &path); - - Variant _load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_SSEFFECT_H diff --git a/gd_spritestudio/gd_loader_ssproject.cpp b/gd_spritestudio/gd_loader_ssproject.cpp deleted file mode 100644 index 6ea903b..0000000 --- a/gd_spritestudio/gd_loader_ssproject.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! -* \file gd_loader_ssproject.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_loader_ssproject.h" - -#include "gd_resource_ssproject.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Variant GdLoaderSsProject::_load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode) -#else -#ifdef GD_V4 -Ref GdLoaderSsProject::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_use_sub_threads, float* r_progress, CacheMode p_cache_mode ) -#endif -#ifdef GD_V3 -RES GdLoaderSsProject::load( const String& p_path, const String& p_original_path, Error* r_error, bool p_no_subresource_cache ) -#endif -#endif -{ - Ref res = memnew( GdResourceSsProject ); - Error err = res->loadFromFile( p_path, p_original_path ); - - if ( err != OK ) { - ERR_PRINT( String( "load error: " ) + String::num( err ) ); - } - -#ifndef SPRITESTUDIO_GODOT_EXTENSION - if ( r_error ) { - *r_error = err; - } -#endif - - return res; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdLoaderSsProject::_get_recognized_extensions() -{ - PackedStringArray extensions; - extensions.push_back("sspj"); - return extensions; -} -#else -void GdLoaderSsProject::get_recognized_extensions( List* p_extensions ) const -{ - if ( !p_extensions->find( "sspj" ) ) { - p_extensions->push_back( "sspj" ); - } -} -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdLoaderSsProject::_handles_type(const StringName &p_type) -#else -bool GdLoaderSsProject::handles_type( const String& p_type ) const -#endif -{ - return ClassDB::is_parent_class( p_type, "GdResourceSsProject" ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -String GdLoaderSsProject::_get_resource_type(const String &path) -#else -String GdLoaderSsProject::get_resource_type( const String& p_path ) const -#endif -{ - return "GdResourceSsProject"; -} diff --git a/gd_spritestudio/gd_loader_ssproject.h b/gd_spritestudio/gd_loader_ssproject.h deleted file mode 100644 index 7d30dba..0000000 --- a/gd_spritestudio/gd_loader_ssproject.h +++ /dev/null @@ -1,47 +0,0 @@ -/*! -* \file gd_loader_ssproject.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_LOADER_SSPROJECT_H -#define GD_LOADER_SSPROJECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_loader.h" -#endif - -class GdLoaderSsProject : public ResourceFormatLoader -{ - GDCLASS( GdLoaderSsProject, ResourceFormatLoader ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - - PackedStringArray _get_recognized_extensions(); - - bool _handles_type(const StringName &p_type); - - String _get_resource_type(const String &path); - - Variant _load(const String &p_path, const String &p_original_path, bool use_sub_threads, int32_t cache_mode); -#else -#ifdef GD_V4 - virtual Ref load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_use_sub_threads = false, float* r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE ) override; -#endif -#ifdef GD_V3 - virtual RES load( const String& p_path, const String& p_original_path = "", Error* r_error = nullptr, bool p_no_subresource_cache = false ) override; -#endif - virtual void get_recognized_extensions( List* p_extensions ) const override; - virtual bool handles_type( const String& p_type ) const override; - virtual String get_resource_type( const String& p_path ) const override; -#endif -}; - -#endif // GD_LOADER_SSPROJECT_H diff --git a/gd_spritestudio/gd_macros.h b/gd_spritestudio/gd_macros.h index 91c7c9d..a1c82b2 100644 --- a/gd_spritestudio/gd_macros.h +++ b/gd_spritestudio/gd_macros.h @@ -1,4 +1,4 @@ -/*! +/*! * \file gd_macros.h * \author CRI Middleware Co., Ltd. */ @@ -13,28 +13,13 @@ #else #include "core/version.h" #if VERSION_MAJOR>=4 - #define GD_V4 //!< バージョン4.xのgodotが使用されています。 + #define GD_V4 #define EMPTY(x) ((x).is_empty()) #define VARIANT_FLOAT Variant::FLOAT #define NOTIFY_PROPERTY_LIST_CHANGED() notify_property_list_changed() - #elif VERSION_MAJOR>=3 - #define GD_V3 //!< バージョン3.xのgodotが使用されています。 - #define EMPTY(x) ((x).empty()) - #define VARIANT_FLOAT Variant::REAL - #define NOTIFY_PROPERTY_LIST_CHANGED() property_list_changed_notify() #else #error not supported godot version. #endif #endif - -/*! -* 次の関数はObject派生クラスでオーバーライドできます。 -* これらの関数は仮想ではありません。仮想にしないでください。 -* オーバーライドのたびに呼び出され、前の関数は無効になりません(多重レベル呼出し)。 -*/ -#define GdMultilevelCall - -#define GdUiText( _a ) _a - -#endif // GD_MACROS_H +#endif // GD_MACROS_H \ No newline at end of file diff --git a/gd_spritestudio/gd_node_ssplayer.cpp b/gd_spritestudio/gd_node_ssplayer.cpp deleted file mode 100644 index 2548170..0000000 --- a/gd_spritestudio/gd_node_ssplayer.cpp +++ /dev/null @@ -1,1014 +0,0 @@ -/*! -* \file gd_node_ssplayer.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_node_ssplayer.h" - -#include "SpriteStudio6-SDK/Common/Animator/ssplayer_render.h" - -#include "ss_macros.h" -#include "ss_loader_texture_impl.h" -#include "ss_texture_impl.h" -#include "gd_notifier.h" - -SsSdkUsing - -static SsTextureImpl s_TextureLoader; -static SSTextureFactory s_TextureFactory( &s_TextureLoader, false ); - -GdNodeSsPlayer::GdNodeSsPlayer() -: m_strAnimePackSelected( "" ) -, m_strAnimationSelected( "" ) -, m_iFrame( 0 ) -, m_fDelta( 0.0f ) -, m_iLive( 0 ) -, m_pLive( NULL ) -, m_bLoop( false ) -, m_bPlay( false ) -, m_bPause( false ) -, m_bTextureInterpolate( true ) -{ - GdNotifier::getInstance().addItem( this ); - - SsLoaderTextureImpl::setCallbacks(); - - m_Renderer.m_iSetup = 0; - SsCurrentRenderer::SetCurrentRender( &m_Renderer ); - - m_bAnimeDecoder = false; - m_AnimeDecoder.reset( new SsAnimeDecoder() ); - - m_CellMapList.reset( new SsCellMapList() ); -} - -GdNodeSsPlayer::~GdNodeSsPlayer() -{ - GdNotifier::getInstance().removeItem( this ); - - m_Renderer.m_iSetup = 0; - SsCurrentRenderer::SetCurrentRender( &m_Renderer ); - - // 二重解放対策:SsAnimeDecoder 側に生ポインタの所有権を渡していない場合に限り解放する。 - if (m_bAnimeDecoder) - { - // 解放のみ - m_CellMapList.release(); - } - else - { - // ここで削除 - m_CellMapList.reset(); - } - - m_bAnimeDecoder = false; - m_AnimeDecoder.reset(); - //m_CellMapList.reset(); - - m_bAnimeDecoder = false; - //m_AnimeDecoder = 0; - //m_CellMapList = 0; -} - -void GdNodeSsPlayer::resourcePlayerChanged( const Ref& resPlayer ) -{ - fetchAnimation(); - - NOTIFY_PROPERTY_LIST_CHANGED(); -} - -void GdNodeSsPlayer::resourceProjectChanged( const Ref& resProject ) -{ - fetchAnimation(); - - NOTIFY_PROPERTY_LIST_CHANGED(); -} - -void GdNodeSsPlayer::resourceAnimePackChanged( const Ref& resAnimePack ) -{ - fetchAnimation(); - - NOTIFY_PROPERTY_LIST_CHANGED(); -} - -void GdNodeSsPlayer::resourceCellMapChanged( const Ref& resCellMap ) -{ - fetchAnimation(); - - NOTIFY_PROPERTY_LIST_CHANGED(); -} - -void GdNodeSsPlayer::setPlayerResource( const Ref& resPlayer ) -{ - m_ResPlayer = resPlayer; - - m_strAnimationSelected = ""; - fetchAnimation(); - - NOTIFY_PROPERTY_LIST_CHANGED(); -} - -Ref GdNodeSsPlayer::getPlayerResource() const -{ - return m_ResPlayer; -} - -void GdNodeSsPlayer::setAnimePack( const String& strName ) -{ - m_strAnimePackSelected = strName; - - Ref resProject = m_ResPlayer->getProjectResource(); - Ref resAnimePack; - - if ( !resProject.is_null() ) { - resAnimePack = resProject->getAnimePackResource( m_strAnimePackSelected ); - } - - m_ResAnimePack = resAnimePack; - - if ( m_ResAnimePack.is_null() ) { - ERR_PRINT( "AnimePack Load Error : " + m_strAnimePackSelected ); - return; - } - - postAnimePackChanged( m_strAnimePackSelected ); - - m_strAnimationSelected = ""; - fetchAnimation(); - - NOTIFY_PROPERTY_LIST_CHANGED(); -} - -String GdNodeSsPlayer::getAnimePack() const -{ - return m_strAnimePackSelected; -} - -void GdNodeSsPlayer::setAnimation( const String& strName ) -{ - m_strAnimationSelected = strName; - - postAnimationChanged( m_strAnimationSelected ); - - fetchAnimation(); - - NOTIFY_PROPERTY_LIST_CHANGED(); -} - -String GdNodeSsPlayer::getAnimation() const -{ - return m_strAnimationSelected; -} - -void GdNodeSsPlayer::setFrame( int iFrame ) -{ - m_iFrame = iFrame; - - if ( m_ResAnimePack.is_null() ) { - return; - } - - auto c = m_strAnimationSelected.utf8(); - SsString strAnimationName = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - SsAnimePack* pAnimePack = m_ResAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - return; - } - - SsAnimation* pAnimation = pAnimePack->findAnimation( strAnimationName ); - - if ( pAnimation ) { - int iRange = pAnimation->settings.endFrame - pAnimation->settings.startFrame + 1; - int iRel = iFrame - pAnimation->settings.startFrame; - - while ( iRel < 0 ) { - iRel += iRange; - } - while ( iRel >= iRange ) { - iRel -= iRange; - } - - iFrame = iRel + pAnimation->settings.startFrame; - } - - if ( m_bAnimeDecoder && m_AnimeDecoder ) { - m_Renderer.m_iSetup = 0; - SsCurrentRenderer::SetCurrentRender( &m_Renderer ); - - m_AnimeDecoder->setPlayFrame( iFrame ); - - auto mapUserData = m_Renderer.getUserData(); - - if ( mapUserData.find( iFrame ) != mapUserData.end() ) { - auto userData = mapUserData[iFrame]; - int iFlag; - int iIntValue; - Rect2 rectValue; - Point2 pointValue; - String strStringValue; - - iFlag = 0; - if ( userData.useInteger ) iFlag |= 0x01; - if ( userData.useRect ) iFlag |= 0x02; - if ( userData.usePoint ) iFlag |= 0x04; - if ( userData.useString ) iFlag |= 0x08; - - iIntValue = userData.integer; - - rectValue.position.x = userData.rect.x; - rectValue.position.y = userData.rect.y; - rectValue.size.width = userData.rect.w; - rectValue.size.height = userData.rect.h; - - pointValue.x = userData.point.x; - pointValue.y = userData.point.y; - - strStringValue = String::utf8( userData.string.c_str() ); - - postUserData( iFlag, iIntValue, rectValue, pointValue, strStringValue ); - } - - auto mapSignal = m_Renderer.getSignal(); - - if ( mapSignal.find( iFrame ) != mapSignal.end() ) { - auto signalAttr = mapSignal[iFrame]; - - const std::vector& vec = signalAttr.commands; - - for ( int j = 0; j < vec.size(); j++ ) { - const SsSignalCommand& command = vec.at( j ); - String strCommandId = String::utf8( command.commandId.c_str() ); - - if ( command.active ) { - Dictionary dic; - - for ( int k = 0; k < command.params.size(); k++ ) { - const SsSignalParam& param = command.params.at( k ); - String strParamId = String::utf8( param.paramId.c_str() ); - - switch ( static_cast(param.type) ) { - case SsSignalParamType::index : - case SsSignalParamType::integer : - dic[strParamId] = Variant( param.value.i ); - break; - case SsSignalParamType::floating : - dic[strParamId] = Variant( param.value.f ); - break; - } - } - - postSignal( strCommandId, dic ); - } - } - } - } - - postFrameChanged( m_iFrame ); -} - -int GdNodeSsPlayer::getFrame() const -{ - return m_iFrame; -} - -int GdNodeSsPlayer::getStartFrame() const -{ - if ( !m_ResAnimePack.is_null() ) { - auto c = m_strAnimationSelected.utf8(); - SsString strAnimationName = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - SsAnimePack* pAnimePack = m_ResAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - return 0; - } - - SsAnimation* pAnimation = pAnimePack->findAnimation( strAnimationName ); - - if ( pAnimation ) { - return pAnimation->settings.startFrame; - } - } - - return 0; -} - -int GdNodeSsPlayer::getEndFrame() const -{ - if ( !m_ResAnimePack.is_null() ) { - auto c = m_strAnimationSelected.utf8(); - SsString strAnimationName = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - SsAnimePack* pAnimePack = m_ResAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - return 0; - } - - SsAnimation* pAnimation = pAnimePack->findAnimation( strAnimationName ); - - if ( pAnimation ) { - return pAnimation->settings.endFrame; - } - } - - return 0; -} - -int GdNodeSsPlayer::getFps() const -{ - if ( !m_ResAnimePack.is_null() ) { - auto c = m_strAnimationSelected.utf8(); - SsString strAnimationName = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - SsAnimePack* pAnimePack = m_ResAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - return 0; - } - - SsAnimation* pAnimation = pAnimePack->findAnimation( strAnimationName ); - - if ( pAnimation ) { - return pAnimation->settings.fps; - } - } - - return 0; -} - -void GdNodeSsPlayer::setTextureInterpolate( bool bSwitch ) -{ - m_bTextureInterpolate = bSwitch; -} - -bool GdNodeSsPlayer::getTextureInterpolate() const -{ - return m_bTextureInterpolate; -} - -void GdNodeSsPlayer::setLoop( bool bLoop ) -{ - m_bLoop = bLoop; -} - -bool GdNodeSsPlayer::getLoop() const -{ - return m_bLoop; -} - -void GdNodeSsPlayer::setPlay( bool bPlay ) -{ - m_bPlay = bPlay; - - if ( bPlay ) { - int iFrame = getFrame(); - int iRange = getEndFrame() - getStartFrame() + 1; - - if ( false ) { - if ( iFrame <= getStartFrame() ) { - while ( iFrame <= getStartFrame() ) { - iFrame += iRange; - } - setFrame( iFrame ); - } - }else{ - if ( iFrame >= getEndFrame() ) { - while ( iFrame >= getEndFrame() ) { - iFrame -= iRange; - } - setFrame( iFrame ); - } - } - - pause( false ); - } - - if ( m_AnimeDecoder ) { - std::vector& anim = m_AnimeDecoder->getPartAnime(); - - if ( m_pLive && anim.size() != m_iLive ) { - delete[] m_pLive; - m_pLive = NULL; - } - m_iLive = anim.size(); - if ( !m_pLive && m_iLive ) { - m_pLive = new float[m_iLive]; - } - if ( m_pLive && m_iLive ) { - memset( m_pLive, 0, sizeof( float ) * m_iLive ); - } - } -} - -bool GdNodeSsPlayer::getPlay() const -{ - return m_bPlay; -} - -void GdNodeSsPlayer::play() -{ - setFrame( 0 ); - setPlay( true ); -} - -void GdNodeSsPlayer::pause( bool b ) -{ - m_bPause = b; -} - -void GdNodeSsPlayer::stop() -{ - setPlay( false ); - setFrame( 0 ); -} - -void GdNodeSsPlayer::_bind_methods() -{ - ClassDB::bind_method( D_METHOD( "set_player_resource", "res_player" ), &GdNodeSsPlayer::setPlayerResource ); - ClassDB::bind_method( D_METHOD( "get_player_resource" ), &GdNodeSsPlayer::getPlayerResource ); - ClassDB::bind_method( D_METHOD( "set_anime_pack", "name" ), &GdNodeSsPlayer::setAnimePack ); - ClassDB::bind_method( D_METHOD( "get_anime_pack" ), &GdNodeSsPlayer::getAnimePack ); - ClassDB::bind_method( D_METHOD( "set_animation", "name" ), &GdNodeSsPlayer::setAnimation ); - ClassDB::bind_method( D_METHOD( "get_animation" ), &GdNodeSsPlayer::getAnimation ); - ClassDB::bind_method( D_METHOD( "set_frame", "frame" ), &GdNodeSsPlayer::setFrame ); - ClassDB::bind_method( D_METHOD( "get_frame" ), &GdNodeSsPlayer::getFrame ); - ClassDB::bind_method( D_METHOD( "get_start_frame" ), &GdNodeSsPlayer::getStartFrame ); - ClassDB::bind_method( D_METHOD( "get_end_frame" ), &GdNodeSsPlayer::getEndFrame ); - ClassDB::bind_method( D_METHOD( "get_fps" ), &GdNodeSsPlayer::getFps ); - ClassDB::bind_method( D_METHOD( "set_loop", "loop" ), &GdNodeSsPlayer::setLoop ); - ClassDB::bind_method( D_METHOD( "get_loop" ), &GdNodeSsPlayer::getLoop ); - ClassDB::bind_method( D_METHOD( "set_play", "play" ), &GdNodeSsPlayer::setPlay ); - ClassDB::bind_method( D_METHOD( "get_play" ), &GdNodeSsPlayer::getPlay ); - ClassDB::bind_method( D_METHOD( "set_texture_interpolate", "interpolate" ), &GdNodeSsPlayer::setTextureInterpolate ); - ClassDB::bind_method( D_METHOD( "get_texture_interpolate" ), &GdNodeSsPlayer::getTextureInterpolate ); - ClassDB::bind_method( D_METHOD( "play" ), &GdNodeSsPlayer::play ); - ClassDB::bind_method( D_METHOD( "pause", "b" ), &GdNodeSsPlayer::pause ); - ClassDB::bind_method( D_METHOD( "stop" ), &GdNodeSsPlayer::stop ); - - ADD_SIGNAL( MethodInfo( "anime_pack_changed", PropertyInfo( Variant::STRING, GdUiText( "name" ) ) ) ); - ADD_SIGNAL( MethodInfo( "animation_changed", PropertyInfo( Variant::STRING, GdUiText( "name" ) ) ) ); - ADD_SIGNAL( MethodInfo( "animation_finished", PropertyInfo( Variant::STRING, GdUiText( "name" ) ) ) ); - ADD_SIGNAL( MethodInfo( "frame_changed", PropertyInfo( Variant::INT, GdUiText( "frame" ) ) ) ); - - ADD_SIGNAL( - MethodInfo( - "user_data", - PropertyInfo( - Variant::INT, - GdUiText( "flag" ) - ), - PropertyInfo( - Variant::INT, - GdUiText( "int_value" ) - ), - PropertyInfo( - Variant::RECT2, - GdUiText( "rect_value" ) - ), - PropertyInfo( - Variant::VECTOR2, - GdUiText( "point_value" ) - ), - PropertyInfo( - Variant::STRING, - GdUiText( "string_value" ) - ) - ) - ); - ADD_SIGNAL( - MethodInfo( - "signal", - PropertyInfo( - Variant::STRING, - GdUiText( "command" ) - ), - PropertyInfo( - Variant::DICTIONARY, - GdUiText( "value" ) - ) - ) - ); - - ADD_PROPERTY( - PropertyInfo( - Variant::OBJECT, - GdUiText( "res_player" ), - PropertyHint::PROPERTY_HINT_RESOURCE_TYPE, - "GdResourceSsPlayer" - ), - "set_player_resource", - "get_player_resource" - ); - - ADD_GROUP( GdUiText( "Animation Settings" ), "" ); -} - -bool GdNodeSsPlayer::_set( const StringName& p_name, const Variant& p_property ) -{ - if ( p_name == StringName(GdUiText( "anime_pack" )) ) { - setAnimePack( p_property ); - - if ( !m_ResAnimePack.is_null() ) { - SsAnimePack* pAnimePack = m_ResAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - return true; - } - - const std::vector& listAnimation = pAnimePack->animeList; - - for ( int i = 0; i < listAnimation.size(); i++ ) { - SsAnimation* pAnimation = listAnimation[i]; - - if ( !pAnimation->isSetup ) { - String strName = String::utf8( pAnimation->name.c_str() ); - - setAnimation( strName ); - break; - } - } - } - - return true; - }else - if ( p_name == StringName(GdUiText( "animation" )) ) { - setAnimation( p_property ); - - return true; - }else - if ( p_name == StringName(GdUiText( "frame" )) ) { - setFrame( p_property ); - - return true; - }else - if ( p_name == StringName(GdUiText( "loop" )) ) { - setLoop( p_property ); - - return true; - }else - if ( p_name == StringName(GdUiText( "playing" )) ) { - setPlay( p_property ); - - return true; - } - if ( p_name == StringName(GdUiText( "texture_interpolate" )) ) { - setTextureInterpolate( p_property ); - - return true; - } - - return false; -} - -bool GdNodeSsPlayer::_get( const StringName& p_name, Variant& r_property ) const -{ - if ( p_name == StringName(GdUiText( "anime_pack" )) ) { - r_property = getAnimePack(); - - return true; - }else - if ( p_name == StringName(GdUiText( "animation" )) ) { - r_property = getAnimation(); - - return true; - }else - if ( p_name == StringName(GdUiText( "frame" )) ) { - r_property = getFrame(); - - return true; - }else - if ( p_name == StringName(GdUiText( "loop" )) ) { - r_property = getLoop(); - - return true; - }else - if ( p_name == StringName(GdUiText( "playing" )) ) { - r_property = getPlay(); - - return true; - } - if ( p_name == StringName(GdUiText( "texture_interpolate" )) ) { - r_property = getTextureInterpolate(); - - return true; - } - - return false; -} - -void GdNodeSsPlayer::_get_property_list( List* p_list ) const -{ -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray vecAnimePackName; -#else - Vector vecAnimePackName; -#endif - - vecAnimePackName.insert( 0, GdUiText( "-- Empty --" ) ); - - if ( !m_ResPlayer.is_null() ) { - Ref resProject = m_ResPlayer->getProjectResource(); - - if ( !resProject.is_null() ) { - auto vec = resProject->getAnimePackNames(); - - for ( int i = 0; i < vec.size(); i++ ) { -#ifdef SPRITESTUDIO_GODOT_EXTENSION - String str = vec[ i ]; -#else - String str = vec.get( i ); -#endif - - vecAnimePackName.push_back( str ); - } - } - } - - PropertyInfo animePacksPropertyInfo; - - animePacksPropertyInfo.name = GdUiText( "anime_pack" ); - animePacksPropertyInfo.type = Variant::STRING; - animePacksPropertyInfo.usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE; - animePacksPropertyInfo.hint_string = String( "," ).join( vecAnimePackName ); - animePacksPropertyInfo.hint = PROPERTY_HINT_ENUM; - - p_list->push_back( animePacksPropertyInfo ); - - if ( !m_ResAnimePack.is_null() ) { - PropertyInfo animationsPropertyInfo; -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray vecAnimationName = m_ResAnimePack->getAnimationNames(); -#else - Vector vecAnimationName = m_ResAnimePack->getAnimationNames(); -#endif - - animationsPropertyInfo.name = GdUiText( "animation" ); - animationsPropertyInfo.type = Variant::STRING; - animationsPropertyInfo.usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE; - animationsPropertyInfo.hint_string = String( "," ).join( vecAnimationName ); - animationsPropertyInfo.hint = PROPERTY_HINT_ENUM; - - p_list->push_back( animationsPropertyInfo ); - - auto c = m_strAnimationSelected.utf8(); - SsString strAnimationName = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - SsAnimePack* pAnimePack = m_ResAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - return; - } - - SsAnimation* pAnimation = pAnimePack->findAnimation( strAnimationName ); - - if ( pAnimation ) { -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray vecRange; -#else - Vector vecRange; -#endif - - vecRange.push_back( String::num( pAnimation->settings.startFrame ) ); - vecRange.push_back( String::num( pAnimation->settings.endFrame ) ); - vecRange.push_back( String::num( 0.1 ) ); - - animationsPropertyInfo.name = GdUiText( "frame" ); - animationsPropertyInfo.type = VARIANT_FLOAT; - - animationsPropertyInfo.usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE; - animationsPropertyInfo.hint_string = String( "," ).join( vecRange ); - animationsPropertyInfo.hint = PROPERTY_HINT_RANGE; - - p_list->push_back( animationsPropertyInfo ); - - animationsPropertyInfo.name = GdUiText( "loop" ); - animationsPropertyInfo.type = Variant::BOOL; - animationsPropertyInfo.usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE; - animationsPropertyInfo.hint = PROPERTY_HINT_NONE; - - p_list->push_back( animationsPropertyInfo ); - - animationsPropertyInfo.name = GdUiText( "playing" ); - animationsPropertyInfo.type = Variant::BOOL; - animationsPropertyInfo.usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE; - animationsPropertyInfo.hint = PROPERTY_HINT_NONE; - - p_list->push_back( animationsPropertyInfo ); - - animationsPropertyInfo.name = GdUiText( "texture_interpolate" ); - animationsPropertyInfo.type = Variant::BOOL; - animationsPropertyInfo.usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE; - animationsPropertyInfo.hint = PROPERTY_HINT_NONE; - - p_list->push_back( animationsPropertyInfo ); - } - } -} - -void GdNodeSsPlayer::_notification( int p_notification ) -{ - switch ( p_notification ) { - case NOTIFICATION_READY : - set_process_internal( true ); - - break; - case NOTIFICATION_INTERNAL_PROCESS : - updateAnimation( get_process_delta_time() ); - - break; - case NOTIFICATION_DRAW : - drawAnimation(); - - break; - default : - break; - } -} - -void GdNodeSsPlayer::postAnimePackChanged( const String& strName ) -{ - Error err; - - err = emit_signal( "anime_pack_changed", Variant( strName ) ); -} - -void GdNodeSsPlayer::postAnimationChanged( const String& strName ) -{ - Error err; - - err = emit_signal( "animation_changed", Variant( strName ) ); -} - -void GdNodeSsPlayer::postAnimationFinished( const String& strName ) -{ - Error err; - - err = emit_signal( "animation_finished", Variant( strName ) ); -} - -void GdNodeSsPlayer::postFrameChanged( int iFrame ) -{ - Error err; - - err = emit_signal( "frame_changed", Variant( iFrame ) ); -} - -void GdNodeSsPlayer::postUserData( int iFlag, int iIntValue, const Rect2& rectValue, const Vector2& pointValue, const String& strStringValue ) -{ - Error err; - - err = emit_signal( "user_data", Variant( iFlag ), Variant( iIntValue ), Variant( rectValue ), Variant( pointValue ), Variant( strStringValue ) ); -} - -void GdNodeSsPlayer::postSignal( const String& strName, const Dictionary& dicParam ) -{ - Error err; - - err = emit_signal( "signal", Variant( strName ), Variant( dicParam ) ); -} - -void GdNodeSsPlayer::updateAnimation( float delta ) -{ - int iDelta = 0; - - if ( getPlay() ) { - if ( m_bPause ) { - }else{ - m_fDelta += delta * m_Renderer.getFps(); - - iDelta = (int)m_fDelta; - - if ( iDelta != 0 ) { - int iFrame = getFrame() + iDelta; - int iRange = getEndFrame() - getStartFrame() + 1; - - m_fDelta -= iDelta; - - if ( iFrame < getStartFrame() ) { - if ( getLoop() ) { - while ( iFrame < getStartFrame() ) { - iFrame += iRange; - - postAnimationFinished( m_strAnimationSelected ); - } - }else{ - iFrame = getStartFrame(); - - postAnimationFinished( m_strAnimationSelected ); - - pause( true ); - } - }else - if ( iFrame > getEndFrame() ) { - if ( getLoop() ) { - while ( iFrame > getEndFrame() ) { - iFrame -= iRange; - - postAnimationFinished( m_strAnimationSelected ); - } - }else{ - iFrame = getEndFrame(); - - postAnimationFinished( m_strAnimationSelected ); - - pause( true ); - } - } - - set( "frame", iFrame ); - } - } - } - - if ( iDelta != 0 ) { - std::vector& anim = m_AnimeDecoder->getPartAnime(); - std::vector& stat = m_AnimeDecoder->getPartState(); - - if ( m_pLive && anim.size() != m_iLive ) { - delete[] m_pLive; - m_pLive = NULL; - } - m_iLive = anim.size(); - if ( !m_pLive && m_iLive ) { - m_pLive = new float[m_iLive]; - memset( m_pLive, 0, sizeof( float ) * m_iLive ); - } - - int i = 0; - - for ( auto it = anim.begin(); it != anim.end(); it++ ) { - SsPart* part = it->first; - SsPartAnime* anime = it->second; - SsPartState* state = &stat[i]; - - i++; - - if ( part->type == SsPartType::instance ) { - SsInstanceAttr& attr = state->instanceValue; - - if ( attr.independent ) { - attr.liveFrame -= iDelta * ( attr.speed - 1 ); - }else{ - if ( m_pLive && i < m_iLive ) { - attr.liveFrame = m_pLive[i]; - } - attr.liveFrame += iDelta; - } - - if ( m_pLive && i < m_iLive ) { - m_pLive[i] = attr.liveFrame; - } - }else - if ( part->type == SsPartType::effect ) { - SsEffectAttr& attr = state->effectValue; - - if ( attr.independent ) { - float fNext = state->effectTimeTotal + iDelta * state->effectValue.speed; - - if ( fNext > state->refEffect->getEffectTimeLength() ) { - fNext = state->refEffect->getEffectTimeLength(); - fNext -= iDelta * state->effectValue.speed; - fNext -= 1; - - state->effectTimeTotal = fNext; - } - } - } - } - } - - if ( m_bAnimeDecoder && m_AnimeDecoder ) { - m_Renderer.m_iSetup = 0; - SsCurrentRenderer::SetCurrentRender( &m_Renderer ); - - m_AnimeDecoder->update( iDelta ); - } - -#if defined(GD_V4) || defined(SPRITESTUDIO_GODOT_EXTENSION) - queue_redraw(); -#endif -#ifdef GD_V3 - update(); -#endif -} - -void GdNodeSsPlayer::drawAnimation() -{ - if ( m_bAnimeDecoder && m_AnimeDecoder ) { - m_Renderer.m_iSetup = 0; - SsCurrentRenderer::SetCurrentRender( &m_Renderer ); - - m_AnimeDecoder->draw(); - - m_Renderer.setTextureInterpolate( m_bTextureInterpolate ); - m_Renderer.draw( get_canvas_item() ); - } -} - -void GdNodeSsPlayer::fetchAnimation() -{ - m_bAnimeDecoder = false; - if ( !EMPTY(m_strAnimationSelected) ) { - if ( m_ResPlayer.is_null() ) { - return; - } - if ( m_ResAnimePack.is_null() ) { - return; - } - - Ref resProject = m_ResPlayer->getProjectResource(); - - if ( resProject.is_null() ) { - return; - } - - SsProject* pProject = resProject->getProject(); - - if ( !pProject ) { - return; - } - - auto c = m_strAnimationSelected.utf8(); - SsString strAnimationName = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - SsAnimePack* pAnimePack = m_ResAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - return; - } - - SsAnimation* pAnimation = pAnimePack->findAnimation( strAnimationName ); - - if ( !pAnimation ) { - return; - } - - if ( !pAnimation ) { - ERR_PRINT( "Select Anime is Null" ); - } - - m_CellMapList->clear(); - - int idx = 0; - - for ( int i = 0; i < pAnimePack->cellmapNames.size(); i++ ) { - Ref resCellMap = resProject->getCellMapResource( pAnimePack->cellmapNames[i] ); - - if ( resCellMap.is_null() ) { - continue; - } - - SsCellMap* pCellMap = resCellMap->getCellMap(); - - if ( pCellMap ) { - m_CellMapList->addIndex( pCellMap ); - m_CellMapList->addMap( pCellMap ); - - ( (SsTextureImpl*)m_CellMapList->getCellMapLink( idx++ )->tex )->setTexture( resCellMap->getTexture() ); - } - } - for ( int i = 0; i < pProject->cellmapNames.size(); i++ ) { - Ref resCellMap = resProject->getCellMapResource( pProject->cellmapNames[i] ); - - if ( resCellMap.is_null() ) { - continue; - } - - SsCellMap* pCellMap = resCellMap->getCellMap(); - - if ( pCellMap ) { - m_CellMapList->addIndex( pCellMap ); - m_CellMapList->addMap( pCellMap ); - - ( (SsTextureImpl*)m_CellMapList->getCellMapLink( idx++ )->tex )->setTexture( resCellMap->getTexture() ); - } - } - - if ( m_AnimeDecoder ) { - m_Renderer.m_iSetup = 0; - SsCurrentRenderer::SetCurrentRender( &m_Renderer ); - - if ( pAnimation ) { - float fW = pAnimation->settings.canvasSize.x; - float fH = pAnimation->settings.canvasSize.y; - float fX = ( pAnimation->settings.pivot.x + 0.5f ) * fW; - float fY = ( pAnimation->settings.pivot.y + 0.5f ) * fH; - int iFps = pAnimation->settings.fps; - - m_Renderer.setCanvasItem( get_canvas_item() ); - m_Renderer.setCanvasSize( fW, fH ); - m_Renderer.setCanvasCenter( fX, fY ); - m_Renderer.setFps( iFps ); -// m_Renderer.setTextureInterpolate( m_bTextureInterpolate ); /* Updated in drawAnimation() */ - } - - m_Renderer.createPartSprites( &pAnimePack->Model, pProject ); - - m_bAnimeDecoder = true; - m_AnimeDecoder->setAnimation( - &pAnimePack->Model, - pAnimation, - m_CellMapList.get(), - pProject - ); - - setFrame( m_iFrame ); - } - } -} diff --git a/gd_spritestudio/gd_node_ssplayer.h b/gd_spritestudio/gd_node_ssplayer.h deleted file mode 100644 index bb8f6fe..0000000 --- a/gd_spritestudio/gd_node_ssplayer.h +++ /dev/null @@ -1,110 +0,0 @@ -/*! -* \file gd_node_ssplayer.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_NODE_SSPLAYER_H -#define GD_NODE_SSPLAYER_H - - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -using namespace godot; -#else -#include "scene/2d/node_2d.h" -#endif - - -#include "SpriteStudio6-SDK/Common/Animator/ssplayer_animedecode.h" - -#include "gd_macros.h" -#include "ss_macros.h" -#include "gd_resource_ssplayer.h" -#include "gd_resource_ssanimepack.h" -#include "ss_renderer_impl.h" -#include "gd_notifier_item.h" - -SsSdkUsing - -class GdNodeSsPlayer : public Node2D, public GdNotifierItem -{ - GDCLASS( GdNodeSsPlayer, Node2D ) - -public : - GdNodeSsPlayer(); - virtual ~GdNodeSsPlayer(); - - virtual void resourcePlayerChanged( const Ref& resPlayer ) override; - virtual void resourceProjectChanged( const Ref& resProject ) override; - virtual void resourceAnimePackChanged( const Ref& resAnimePack ) override; - virtual void resourceCellMapChanged( const Ref& resCellMap ) override; - - void setPlayerResource( const Ref& resPlayer ); - Ref getPlayerResource() const; - - void setAnimePack( const String& strName ); - String getAnimePack() const; - void setAnimation( const String& strName ); - String getAnimation() const; - void setFrame( int iFrame ); - int getFrame() const; - - int getStartFrame() const; - int getEndFrame() const; - int getFps() const; - - void setTextureInterpolate( bool bSwitch ); - bool getTextureInterpolate() const; - - void setLoop( bool bLoop ); - bool getLoop() const; - void setPlay( bool bPlay ); - bool getPlay() const; - void play(); - void pause( bool b ); - void stop(); - -protected : - GdMultilevelCall static void _bind_methods(); - - GdMultilevelCall bool _set( const StringName& p_name, const Variant& p_property ); - GdMultilevelCall bool _get( const StringName& p_name, Variant& r_property ) const; - GdMultilevelCall void _get_property_list( List* p_list ) const; - GdMultilevelCall void _notification( int p_notification ); - -private : - void postAnimePackChanged( const String& strName ); - void postAnimationChanged( const String& strName ); - void postAnimationFinished( const String& strName ); - void postFrameChanged( int iFrame ); - void postUserData( int iFlag, int iIntValue, const Rect2& rectValue, const Vector2& pointValue, const String& strStringValue ); - void postSignal( const String& strName, const Dictionary& dicParam ); - - void updateAnimation( float delta ); - void drawAnimation(); - - void fetchAnimation(); - - Ref m_ResPlayer; - Ref m_ResAnimePack; - - SsRendererImpl m_Renderer; - - bool m_bAnimeDecoder; - std::unique_ptr m_AnimeDecoder; - std::unique_ptr m_CellMapList; - - String m_strAnimePackSelected; - String m_strAnimationSelected; - int m_iFrame; - float m_fDelta; - int m_iLive; - float* m_pLive; - - bool m_bLoop; - bool m_bPlay; - bool m_bPause; - - bool m_bTextureInterpolate; -}; - -#endif // GD_NODE_SSPLAYER_H diff --git a/gd_spritestudio/gd_notifier.cpp b/gd_spritestudio/gd_notifier.cpp deleted file mode 100644 index 6d42482..0000000 --- a/gd_spritestudio/gd_notifier.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/*! -* \file gd_notifier.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_notifier.h" - -GdNotifier::GdNotifier() -{ - m_vecItem.clear(); -} - -GdNotifier::~GdNotifier() -{ - m_vecItem.clear(); -} - -GdNotifier& GdNotifier::getInstance() -{ - static GdNotifier m_Self; - - return m_Self; -} - -void GdNotifier::addItem( GdNotifierItem* pItem ) -{ - if ( !pItem ) { - return; - } - - if ( m_vecItem.find( pItem ) >= 0 ) { - return; - } - - m_vecItem.push_back( pItem ); -} - -void GdNotifier::removeItem( GdNotifierItem* pItem ) -{ - int iIndex = m_vecItem.find( pItem ); - - if ( iIndex < 0 ) { - return; - } - -#if defined(GD_V4) || defined(SPRITESTUDIO_GODOT_EXTENSION) - m_vecItem.remove_at( iIndex ); -#endif -#ifdef GD_V3 - m_vecItem.remove( iIndex ); -#endif -} - -void GdNotifier::notifyResourcePlayerChanged( const Ref& resPlayer ) -{ - for ( int i = 0; i < m_vecItem.size(); i++ ) { - auto e = m_vecItem[i]; - - e->resourcePlayerChanged( resPlayer ); - } -} - -void GdNotifier::notifyResourceProjectChanged( const Ref& resProject ) -{ - for ( int i = 0; i < m_vecItem.size(); i++ ) { - auto e = m_vecItem[i]; - - e->resourceProjectChanged( resProject ); - } -} - -void GdNotifier::notifyResourceAnimePackChanged( const Ref& resAnimePack ) -{ - for ( int i = 0; i < m_vecItem.size(); i++ ) { - auto e = m_vecItem[i]; - - e->resourceAnimePackChanged( resAnimePack ); - } -} - -void GdNotifier::notifyResourceCellMapChanged( const Ref& resCellMap ) -{ - for ( int i = 0; i < m_vecItem.size(); i++ ) { - auto e = m_vecItem[i]; - - e->resourceCellMapChanged( resCellMap ); - } -} diff --git a/gd_spritestudio/gd_notifier.h b/gd_spritestudio/gd_notifier.h deleted file mode 100644 index 8ff8107..0000000 --- a/gd_spritestudio/gd_notifier.h +++ /dev/null @@ -1,32 +0,0 @@ -/*! -* \file gd_notifier.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_NOTIFIER_H -#define GD_NOTIFIER_H - -#include "gd_notifier_item.h" - -class GdNotifier -{ -private : - GdNotifier(); - -public : - virtual ~GdNotifier(); - - static GdNotifier& getInstance(); - - void addItem( GdNotifierItem* pItem ); - void removeItem( GdNotifierItem* pItem ); - - void notifyResourcePlayerChanged( const Ref& resPlayer ); - void notifyResourceProjectChanged( const Ref& resProject ); - void notifyResourceAnimePackChanged( const Ref& resAnimePack ); - void notifyResourceCellMapChanged( const Ref& resCellMap ); - -private : - Vector m_vecItem; -}; - -#endif // GD_NOTIFIER_H diff --git a/gd_spritestudio/gd_notifier_item.cpp b/gd_spritestudio/gd_notifier_item.cpp deleted file mode 100644 index 849acd7..0000000 --- a/gd_spritestudio/gd_notifier_item.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/*! -* \file gd_notifier_item.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_notifier_item.h" - -GdNotifierItem::GdNotifierItem() -{ -} - -GdNotifierItem::~GdNotifierItem() -{ -} - -void GdNotifierItem::resourcePlayerChanged( const Ref& resPlayer ) -{ -} - -void GdNotifierItem::resourceProjectChanged( const Ref& resProject ) -{ -} - -void GdNotifierItem::resourceAnimePackChanged( const Ref& resAnimePack ) -{ -} - -void GdNotifierItem::resourceCellMapChanged( const Ref& resCellMap ) -{ -} diff --git a/gd_spritestudio/gd_notifier_item.h b/gd_spritestudio/gd_notifier_item.h deleted file mode 100644 index 325a659..0000000 --- a/gd_spritestudio/gd_notifier_item.h +++ /dev/null @@ -1,25 +0,0 @@ -/*! -* \file gd_notifier_item.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_NOTIFIER_ITEM_H -#define GD_NOTIFIER_ITEM_H - -#include "gd_resource_ssplayer.h" -#include "gd_resource_ssproject.h" -#include "gd_resource_ssanimepack.h" -#include "gd_resource_sscellmap.h" - -class GdNotifierItem -{ -public : - GdNotifierItem(); - virtual ~GdNotifierItem(); - - virtual void resourcePlayerChanged( const Ref& resPlayer ); - virtual void resourceProjectChanged( const Ref& resProject ); - virtual void resourceAnimePackChanged( const Ref& resAnimePack ); - virtual void resourceCellMapChanged( const Ref& resCellMap ); -}; - -#endif // GD_NOTIFIER_ITEM_H diff --git a/gd_spritestudio/gd_packet_ssanimepack.cpp b/gd_spritestudio/gd_packet_ssanimepack.cpp deleted file mode 100644 index 53487bc..0000000 --- a/gd_spritestudio/gd_packet_ssanimepack.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/*! -* \file gd_packet_ssanimepack.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_packet_ssanimepack.h" - -#include "ss_io.h" - -GdPacketSsAnimePack::GdPacketSsAnimePack() -{ -} - -GdPacketSsAnimePack::~GdPacketSsAnimePack() -{ -} - -bool GdPacketSsAnimePack::write( const String& strRaw ) -{ - auto c = strRaw.utf8(); - - if ( c.length() > 0 ) { - libXML::XMLDocument xml; - - if ( libXML::XML_SUCCESS == xml.Parse( c.get_data(), c.length() ) ) { - SsXmlIArchiver ar( xml.GetDocument(), "SpriteStudioAnimePack" ); - SsAnimePack animePack; - - animePack.__Serialize( &ar ); - - SsIO::push( *this, animePack ); - } - } - - return true; -} - -bool GdPacketSsAnimePack::read( SsAnimePack* pAnimePack, const PoolByteArray& bytes ) -{ - if ( !pAnimePack ) { - return false; - } - - set_data_array( bytes ); - - SsIO::pull( *this, *pAnimePack ); - - return true; -} - -PoolByteArray GdPacketSsAnimePack::getBytes() const -{ - return get_data_array(); -} diff --git a/gd_spritestudio/gd_packet_ssanimepack.h b/gd_spritestudio/gd_packet_ssanimepack.h deleted file mode 100644 index 40dee08..0000000 --- a/gd_spritestudio/gd_packet_ssanimepack.h +++ /dev/null @@ -1,44 +0,0 @@ -/*! -* \file gd_packet_ssanimepack.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_PACKET_SSANIMEPACK_H -#define GD_PACKET_SSANIMEPACK_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -using namespace godot; -#define PoolByteArray PackedByteArray -#else -#ifdef GD_V4 -#include "core/io/stream_peer.h" -#define PoolByteArray PackedByteArray -#endif -#ifdef GD_V3 -#include "core/io/stream_peer.h" -#endif -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_ssae.h" - -#include "ss_macros.h" - -SsSdkUsing - -class GdPacketSsAnimePack : public StreamPeerBuffer -{ -public : - GdPacketSsAnimePack(); - virtual ~GdPacketSsAnimePack(); - - bool write( const String& strRaw ); - - bool read( SsAnimePack* pAnimePack, const PoolByteArray& bytes ); - - PoolByteArray getBytes() const; -}; - -#endif // GD_PACKET_SSANIMEPACK_H diff --git a/gd_spritestudio/gd_packet_sscellmap.cpp b/gd_spritestudio/gd_packet_sscellmap.cpp deleted file mode 100644 index 67cc405..0000000 --- a/gd_spritestudio/gd_packet_sscellmap.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/*! -* \file gd_packet_sscellmap.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_packet_sscellmap.h" - -#include "ss_io.h" - -GdPacketSsCellMap::GdPacketSsCellMap() -{ -} - -GdPacketSsCellMap::~GdPacketSsCellMap() -{ -} - -bool GdPacketSsCellMap::write( const String& strRaw ) -{ - auto c = strRaw.utf8(); - - if ( c.length() > 0 ) { - libXML::XMLDocument xml; - - if ( libXML::XML_SUCCESS == xml.Parse( c.get_data(), c.length() ) ) { - SsXmlIArchiver ar( xml.GetDocument(), "SpriteStudioCellMap" ); - SsCellMap cellMap; - - cellMap.__Serialize( &ar ); - - SsIO::push( *this, cellMap ); - } - } - - return true; -} - -bool GdPacketSsCellMap::read( SsCellMap* pCellMap, const PoolByteArray& bytes ) -{ - if ( !pCellMap ) { - return false; - } - - set_data_array( bytes ); - - SsIO::pull( *this, *pCellMap ); - - return true; -} - -PoolByteArray GdPacketSsCellMap::getBytes() const -{ - return get_data_array(); -} diff --git a/gd_spritestudio/gd_packet_sscellmap.h b/gd_spritestudio/gd_packet_sscellmap.h deleted file mode 100644 index 5fd9a7c..0000000 --- a/gd_spritestudio/gd_packet_sscellmap.h +++ /dev/null @@ -1,44 +0,0 @@ -/*! -* \file gd_packet_sscellmap.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_PACKET_SSCELLMAP_H -#define GD_PACKET_SSCELLMAP_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -using namespace godot; -#define PoolByteArray PackedByteArray -#else -#ifdef GD_V4 -#include "core/io/stream_peer.h" -#define PoolByteArray PackedByteArray -#endif -#ifdef GD_V3 -#include "core/io/stream_peer.h" -#endif -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_ssce.h" - -#include "ss_macros.h" - -SsSdkUsing - -class GdPacketSsCellMap : public StreamPeerBuffer -{ -public : - GdPacketSsCellMap(); - virtual ~GdPacketSsCellMap(); - - bool write( const String& strRaw ); - - bool read( SsCellMap* pCellMap, const PoolByteArray& bytes ); - - PoolByteArray getBytes() const; -}; - -#endif // GD_PACKET_SSCELLMAP_H diff --git a/gd_spritestudio/gd_packet_sseffect.cpp b/gd_spritestudio/gd_packet_sseffect.cpp deleted file mode 100644 index f24c633..0000000 --- a/gd_spritestudio/gd_packet_sseffect.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/*! -* \file gd_packet_sseffect.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_packet_sseffect.h" - -#include "ss_io.h" - -GdPacketSsEffect::GdPacketSsEffect() -{ -} - -GdPacketSsEffect::~GdPacketSsEffect() -{ -} - -bool GdPacketSsEffect::write( const String& strRaw ) -{ - auto c = strRaw.utf8(); - - if ( c.length() > 0 ) { - libXML::XMLDocument xml; - - if ( libXML::XML_SUCCESS == xml.Parse( c.get_data(), c.length() ) ) { - SsXmlIArchiver ar( xml.GetDocument(), "SpriteStudioEffect" ); - SsEffectFile effect; - - effect.__Serialize( &ar ); - - SsIO::push( *this, effect ); - } - } - - return true; -} - -bool GdPacketSsEffect::read( SsEffectFile* pEffect, const PoolByteArray& bytes ) -{ - if ( !pEffect ) { - return false; - } - - set_data_array( bytes ); - - SsIO::pull( *this, *pEffect ); - - return true; -} - -PoolByteArray GdPacketSsEffect::getBytes() const -{ - return get_data_array(); -} diff --git a/gd_spritestudio/gd_packet_sseffect.h b/gd_spritestudio/gd_packet_sseffect.h deleted file mode 100644 index 9b7ae90..0000000 --- a/gd_spritestudio/gd_packet_sseffect.h +++ /dev/null @@ -1,44 +0,0 @@ -/*! -* \file gd_packet_sseffect.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_PACKET_SSEFFECT_H -#define GD_PACKET_SSEFFECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -using namespace godot; -#define PoolByteArray PackedByteArray -#else -#ifdef GD_V4 -#include "core/io/stream_peer.h" -#define PoolByteArray PackedByteArray -#endif -#ifdef GD_V3 -#include "core/io/stream_peer.h" -#endif -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_ssee.h" - -#include "ss_macros.h" - -SsSdkUsing - -class GdPacketSsEffect : public StreamPeerBuffer -{ -public : - GdPacketSsEffect(); - virtual ~GdPacketSsEffect(); - - bool write( const String& strRaw ); - - bool read( SsEffectFile* pEffect, const PoolByteArray& bytes ); - - PoolByteArray getBytes() const; -}; - -#endif // GD_PACKET_SSEFFECT_H diff --git a/gd_spritestudio/gd_packet_ssproject.cpp b/gd_spritestudio/gd_packet_ssproject.cpp deleted file mode 100644 index 4fb93fa..0000000 --- a/gd_spritestudio/gd_packet_ssproject.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/*! -* \file gd_packet_ssproject.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_packet_ssproject.h" - -#include "ss_io.h" - -GdPacketSsProject::GdPacketSsProject() -{ -} - -GdPacketSsProject::~GdPacketSsProject() -{ -} - -bool GdPacketSsProject::write( const String& strRaw ) -{ - auto c = strRaw.utf8(); - - if ( c.length() > 0 ) { - libXML::XMLDocument xml; - - if ( libXML::XML_SUCCESS == xml.Parse( c.get_data(), c.length() ) ) { - SsXmlIArchiver ar( xml.GetDocument(), "SpriteStudioProject" ); - SsProject project; - - project.__Serialize( &ar ); - - SsIO::push( *this, project ); - } - } - - return true; -} - -bool GdPacketSsProject::read( SsProject* pProject, const PoolByteArray& bytes ) -{ - if ( !pProject ) { - return false; - } - - set_data_array( bytes ); - - SsIO::pull( *this, *pProject ); - - return true; -} - -PoolByteArray GdPacketSsProject::getBytes() const -{ - return get_data_array(); -} diff --git a/gd_spritestudio/gd_packet_ssproject.h b/gd_spritestudio/gd_packet_ssproject.h deleted file mode 100644 index ee4e66e..0000000 --- a/gd_spritestudio/gd_packet_ssproject.h +++ /dev/null @@ -1,44 +0,0 @@ -/*! -* \file gd_packet_ssproject.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_PACKET_SSPROJECT_H -#define GD_PACKET_SSPROJECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -using namespace godot; -#define PoolByteArray PackedByteArray -#else -#ifdef GD_V4 -#include "core/io/stream_peer.h" -#define PoolByteArray PackedByteArray -#endif -#ifdef GD_V3 -#include "core/io/stream_peer.h" -#endif -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_sspj.h" - -#include "ss_macros.h" - -SsSdkUsing - -class GdPacketSsProject : public StreamPeerBuffer -{ -public : - GdPacketSsProject(); - virtual ~GdPacketSsProject(); - - bool write( const String& strRaw ); - - bool read( SsProject* pProject, const PoolByteArray& bytes ); - - PoolByteArray getBytes() const; -}; - -#endif // GD_PACKET_SSPROJECT_H diff --git a/gd_spritestudio/gd_renderer.cpp b/gd_spritestudio/gd_renderer.cpp deleted file mode 100644 index 075f219..0000000 --- a/gd_spritestudio/gd_renderer.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/*! -* \file gd_renderer.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_renderer.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#define VisualServer RenderingServer -using namespace godot; -#else -#ifdef GD_V4 -#include "servers/rendering_server.h" -#define VisualServer RenderingServer -#endif -#ifdef GD_V3 -#include "servers/visual_server.h" -#endif -#endif - -static inline void safeFree( RID& rid ) -{ - if ( rid.is_valid() ) { -#ifdef SPRITESTUDIO_GODOT_EXTENSION - VisualServer::get_singleton()->free_rid( rid ); -#else - VisualServer::get_singleton()->free( rid ); -#endif - rid = RID(); - } -} - -GdRenderer::GdRenderer() -{ - m_ViewPortId = RID(); - m_TextureId = RID(); - m_CanvasId = RID(); - m_CanvasItemId = RID(); - - m_Size = Rect2(); -} - -GdRenderer::~GdRenderer() -{ - term(); -} - -void GdRenderer::init() -{ - VisualServer* pVisualServer = VisualServer::get_singleton(); - - term(); - - m_ViewPortId = pVisualServer->viewport_create(); - m_CanvasId = pVisualServer->canvas_create(); - m_CanvasItemId = pVisualServer->canvas_item_create(); - - setSize( 16, 16 ); - - pVisualServer->canvas_item_set_parent( m_CanvasItemId, m_CanvasId ); - - pVisualServer->viewport_set_transparent_background( m_ViewPortId, true ); - - pVisualServer->viewport_attach_canvas( m_ViewPortId, m_CanvasId ); - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - RID viewPortTextureId = pVisualServer->viewport_get_texture( m_ViewPortId ); - Ref viewPortTextureData = pVisualServer->texture_2d_get( viewPortTextureId ); - - m_TextureId = pVisualServer->texture_2d_create( viewPortTextureData ); - -// pVisualServer->texture_set_proxy( m_TextureId, viewPortTextureId ); - m_TextureId = viewPortTextureId; -#else -#ifdef GD_V4 - RID viewPortTextureId = pVisualServer->viewport_get_texture( m_ViewPortId ); - Ref viewPortTextureData = pVisualServer->texture_2d_get( viewPortTextureId ); - - m_TextureId = pVisualServer->texture_2d_create( viewPortTextureData ); - -// pVisualServer->texture_set_proxy( m_TextureId, viewPortTextureId ); - m_TextureId = viewPortTextureId; -#endif -#ifdef GD_V3 - RID viewPortTextureId = pVisualServer->viewport_get_texture( m_ViewPortId ); - Ref viewPortTextureData = pVisualServer->texture_get_data( viewPortTextureId ); - - m_TextureId = pVisualServer->texture_create_from_image( viewPortTextureData ); - - pVisualServer->texture_set_proxy( m_TextureId, viewPortTextureId ); -#endif -#endif - - pVisualServer->viewport_set_active( m_ViewPortId, true ); -} - -void GdRenderer::term() -{ - safeFree( m_ViewPortId ); - safeFree( m_TextureId ); - safeFree( m_CanvasId ); - safeFree( m_CanvasItemId ); -} - -void GdRenderer::setTranslate( float fX, float fY ) -{ - VisualServer* pVisualServer = VisualServer::get_singleton(); - Transform2D trans; - -#if defined(GD_V4) || defined(SPRITESTUDIO_GODOT_EXTENSION) - trans.translate_local( fX, fY ); -#endif -#ifdef GD_V3 - trans.translate( fX, fY ); -#endif - - pVisualServer->viewport_set_canvas_transform( m_ViewPortId, m_CanvasId, trans ); -} - -void GdRenderer::setSize( int iWidth, int iHeight ) -{ - VisualServer* pVisualServer = VisualServer::get_singleton(); - - m_Size = Rect2( 0, 0, iWidth, iHeight ); - - pVisualServer->viewport_set_size( m_ViewPortId, iWidth, iHeight ); -} - -Rect2 GdRenderer::getSize() const -{ - return m_Size; -} - -RID GdRenderer::getTextureRid() const -{ - return m_TextureId; -} - -RID GdRenderer::getCanvasRid() const -{ - return m_CanvasId; -} - -RID GdRenderer::getCanvasItemRid() const -{ - return m_CanvasItemId; -} diff --git a/gd_spritestudio/gd_renderer.h b/gd_spritestudio/gd_renderer.h deleted file mode 100644 index 01bc809..0000000 --- a/gd_spritestudio/gd_renderer.h +++ /dev/null @@ -1,51 +0,0 @@ -/*! -* \file gd_renderer.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RENDERER_H -#define GD_RENDERER_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/templates/rid.h" -#endif -#ifdef GD_V3 -#include "core/rid.h" -#endif -#include "core/math/rect2.h" -#endif - -class GdRenderer -{ -public : - GdRenderer(); - virtual ~GdRenderer(); - - void init(); - void term(); - - void setTranslate( float fX, float fY ); - void setSize( int iWidth, int iHeight ); - - Rect2 getSize() const; - - RID getTextureRid() const; - RID getCanvasRid() const; - RID getCanvasItemRid() const; - -private : - RID m_ViewPortId; - RID m_TextureId; - RID m_CanvasId; - RID m_CanvasItemId; - - Rect2 m_Size; -}; - -#endif // GD_RENDERER_H diff --git a/gd_spritestudio/gd_renderer_item.cpp b/gd_spritestudio/gd_renderer_item.cpp deleted file mode 100644 index 0d35e89..0000000 --- a/gd_spritestudio/gd_renderer_item.cpp +++ /dev/null @@ -1,13 +0,0 @@ -/*! -* \file gd_renderer_item.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_renderer_item.h" - -GdRendererItem::GdRendererItem() -{ -} - -GdRendererItem::~GdRendererItem() -{ -} diff --git a/gd_spritestudio/gd_renderer_item.h b/gd_spritestudio/gd_renderer_item.h deleted file mode 100644 index 43b4528..0000000 --- a/gd_spritestudio/gd_renderer_item.h +++ /dev/null @@ -1,15 +0,0 @@ -/*! -* \file gd_renderer_item.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RENDERER_ITEM_H -#define GD_RENDERER_ITEM_H - -class GdRendererItem -{ -public : - GdRendererItem(); - virtual ~GdRendererItem(); -}; - -#endif // GD_RENDERER_ITEM_H diff --git a/gd_spritestudio/gd_resource_ssanimepack.cpp b/gd_spritestudio/gd_resource_ssanimepack.cpp deleted file mode 100644 index f018f38..0000000 --- a/gd_spritestudio/gd_resource_ssanimepack.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/*! -* \file gd_resource_ssanimepack.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_resource_ssanimepack.h" - -#include "ss_macros.h" -#include "ss_container.h" -#include "gd_notifier.h" - -SsSdkUsing - -GdResourceSsAnimePack::GdResourceSsAnimePack() -{ - m_pAnimePack = NULL; -} - -GdResourceSsAnimePack::~GdResourceSsAnimePack() -{ - if ( m_pAnimePack ) { - SsContainer::getInstance().unloadAnimePack( m_pAnimePack ); - m_pAnimePack = NULL; - } -} - -Error GdResourceSsAnimePack::loadFromFile( const String& strPath, const String& strOrgPath ) -{ - m_pAnimePack = SsContainer::getInstance().loadAnimePackFromFile( strPath, false ); - - if ( !m_pAnimePack ) { - ERR_PRINT( String( "SpriteStudio ssae file load failed : " ) + strPath ); - return FAILED; - } - - return OK; -} - -Error GdResourceSsAnimePack::saveToFile( const String& strPath, const Ref& res ) -{ - return FAILED; -} - -int GdResourceSsAnimePack::getAnimationCount() const -{ - if ( m_pAnimePack ) { - return m_pAnimePack->animeList.size(); - } - - return 0; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdResourceSsAnimePack::getAnimationNames() const -#else -Vector GdResourceSsAnimePack::getAnimationNames() const -#endif -{ -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray vec; -#else - Vector vec; -#endif - - if ( m_pAnimePack ) { - for ( int i = 0; i < m_pAnimePack->animeList.size(); i++ ) { - SsAnimation* pAnimation = m_pAnimePack->animeList[i]; - - vec.push_back( Variant( String::utf8( pAnimation->name.c_str() ) ) ); - } - } - - return vec; -} - -SsAnimePack* GdResourceSsAnimePack::getAnimePack() const -{ - return m_pAnimePack; -} - -SsModel* GdResourceSsAnimePack::getModel() const -{ - if ( m_pAnimePack ) { - return &m_pAnimePack->Model; - } - - return NULL; -} - -SsAnimation* GdResourceSsAnimePack::findAnimation( String strName ) const -{ - return NULL; -} - -void GdResourceSsAnimePack::_bind_methods() -{ - ClassDB::bind_method( D_METHOD( "get_animation_count" ), &GdResourceSsAnimePack::getAnimationCount ); - - ClassDB::bind_method( D_METHOD( "get_animation_names" ), &GdResourceSsAnimePack::getAnimationNames ); -} diff --git a/gd_spritestudio/gd_resource_ssanimepack.h b/gd_spritestudio/gd_resource_ssanimepack.h deleted file mode 100644 index d61feb1..0000000 --- a/gd_spritestudio/gd_resource_ssanimepack.h +++ /dev/null @@ -1,64 +0,0 @@ -/*! -* \file gd_resource_ssanimepack.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RESOURCE_SSANIMEPACK_H -#define GD_RESOURCE_SSANIMEPACK_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/io/resource.h" -#endif -#ifdef GD_V3 -#include "core/resource.h" -#endif -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_ssae.h" - -#include "ss_macros.h" -#include "gd_resource_sscellmap.h" - -SsSdkUsing - -class GdResourceSsAnimePack : public Resource -{ - GDCLASS( GdResourceSsAnimePack, Resource ); - -public : - GdResourceSsAnimePack(); - virtual ~GdResourceSsAnimePack(); - - void setCellMapResource( const Ref& resCellMap, int iIndex ); - Ref getCellMapResource( int iIndex ) const; - - Error loadFromFile( const String& strPath, const String& strOrgPath = "" ); - Error saveToFile( const String& strPath, const Ref& res ); - - int getAnimationCount() const; - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray getAnimationNames() const; -#else - Vector getAnimationNames() const; -#endif - - SsAnimePack* getAnimePack() const; - - SsModel* getModel() const; - - SsAnimation* findAnimation( String strName ) const; - -protected : - GdMultilevelCall static void _bind_methods(); - -private : - SsAnimePack* m_pAnimePack; -}; - -#endif // GD_RESOURCE_SSANIMEPACK_H diff --git a/gd_spritestudio/gd_resource_sscellmap.cpp b/gd_spritestudio/gd_resource_sscellmap.cpp deleted file mode 100644 index a34f2ef..0000000 --- a/gd_spritestudio/gd_resource_sscellmap.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/*! -* \file gd_resource_sscellmap.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_resource_sscellmap.h" - -#include "ss_macros.h" -#include "ss_container.h" -#include "gd_notifier.h" - -SsSdkUsing - -GdResourceSsCellMap::GdResourceSsCellMap() -{ - m_pCellMap = NULL; -} - -GdResourceSsCellMap::~GdResourceSsCellMap() -{ - if ( m_pCellMap ) { - SsContainer::getInstance().unloadCellMap( m_pCellMap ); - m_pCellMap = NULL; - } -} - -void GdResourceSsCellMap::setTexture( Ref texture ) -{ - m_Texture = texture; - - GdNotifier::getInstance().notifyResourceCellMapChanged( this ); -} - -Ref GdResourceSsCellMap::getTexture() const -{ - return m_Texture; -} - -Error GdResourceSsCellMap::loadFromFile( const String& strPath, const String& strOrgPath ) -{ - Error err; - String strRel = strOrgPath.length() == 0 ? strPath : strOrgPath; - - m_pCellMap = SsContainer::getInstance().loadCellMapFromFile( strPath, false ); - - if ( !m_pCellMap ) { - ERR_PRINT( String( "SpriteStudio ssce file load failed : " ) + strPath ); - return FAILED; - } - - { - auto c = SsContainer::getInstance().getImageDir().utf8(); - SsString strRoot = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - - m_pCellMap->imagePath = strRoot + m_pCellMap->imagePath; - } - - auto c = strRel.utf8(); - - m_pCellMap->fname = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - - String str = String::utf8( m_pCellMap->imagePath.c_str() ); - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - m_Texture = ResourceLoader::get_singleton()->load( str, "", ResourceLoader::CACHE_MODE_REUSE); - err = OK; // TODO: improve -#else -#ifdef GD_V4 - m_Texture = ResourceLoader::load( str, "", ResourceFormatLoader::CACHE_MODE_REUSE, &err ); -#endif -#ifdef GD_V3 - m_Texture = ResourceLoader::load( str, "", false, &err ); -#endif -#endif - - return err; -} - -Error GdResourceSsCellMap::saveToFile( const String& strPath, const Ref& res ) -{ - return FAILED; -} - -SsCellMap* GdResourceSsCellMap::getCellMap() const -{ - return m_pCellMap; -} - -void GdResourceSsCellMap::_bind_methods() -{ - ClassDB::bind_method( D_METHOD( "set_texture", "texture" ), &GdResourceSsCellMap::setTexture ); - ClassDB::bind_method( D_METHOD( "get_texture" ), &GdResourceSsCellMap::getTexture ); - - ADD_PROPERTY( - PropertyInfo( - Variant::OBJECT, - "texture", - PropertyHint::PROPERTY_HINT_RESOURCE_TYPE, - "Texture" - ), - "set_texture", - "get_texture" - ); -} diff --git a/gd_spritestudio/gd_resource_sscellmap.h b/gd_spritestudio/gd_resource_sscellmap.h deleted file mode 100644 index 8e1c661..0000000 --- a/gd_spritestudio/gd_resource_sscellmap.h +++ /dev/null @@ -1,56 +0,0 @@ -/*! -* \file gd_resource_sscellmap.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RESOURCE_SSCELLMAP_H -#define GD_RESOURCE_SSCELLMAP_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/io/resource.h" -#endif -#ifdef GD_V3 -#include "core/resource.h" -#endif -#include "scene/resources/texture.h" -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_ssce.h" - -#include "ss_macros.h" - -SsSdkUsing - -class GdResourceSsCellMap : public Resource -{ - GDCLASS( GdResourceSsCellMap, Resource ); - -public : - GdResourceSsCellMap(); - virtual ~GdResourceSsCellMap(); - - void setTexture( Ref texture ); - Ref getTexture() const; - - Error loadFromFile( const String& strPath, const String& strOrgPath = "" ); - Error saveToFile( const String& strPath, const Ref& res ); - - SsCellMap* getCellMap() const; - String getRoot() const; - -protected : - GdMultilevelCall static void _bind_methods(); - -private : - SsCellMap* m_pCellMap; - - Ref m_Texture; -}; - -#endif // GD_RESOURCE_SSCELLMAP_H diff --git a/gd_spritestudio/gd_resource_ssdocument.cpp b/gd_spritestudio/gd_resource_ssdocument.cpp deleted file mode 100644 index e55b39f..0000000 --- a/gd_spritestudio/gd_resource_ssdocument.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/*! -* \file gd_resource_ssdocument.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_resource_ssdocument.h" - -#include "gd_io.h" - -GdResourceSsDocument::GdResourceSsDocument() -{ - m_strSource = ""; -} - -GdResourceSsDocument::~GdResourceSsDocument() -{ -} - -Error GdResourceSsDocument::loadFromFile( const String& strPath, const String& strOrgPath ) -{ - m_strSource = GdIO::loadStringFromFile( strPath ); - - return OK; -} - -Error GdResourceSsDocument::saveToFile( const String& strPath, const Ref& res ) -{ - return FAILED; -} - -String GdResourceSsDocument::getSource() const -{ - return m_strSource; -} - -void GdResourceSsDocument::_bind_methods() -{ - ClassDB::bind_method( D_METHOD( "load_from_file", "path", "org_path" ), &GdResourceSsDocument::loadFromFile ); -} diff --git a/gd_spritestudio/gd_resource_ssdocument.h b/gd_spritestudio/gd_resource_ssdocument.h deleted file mode 100644 index c81250e..0000000 --- a/gd_spritestudio/gd_resource_ssdocument.h +++ /dev/null @@ -1,42 +0,0 @@ -/*! -* \file gd_resource_ssdocument.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RESOURCE_SSDOCUMENT_H -#define GD_RESOURCE_SSDOCUMENT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/io/resource.h" -#endif -#ifdef GD_V3 -#include "core/resource.h" -#endif -#endif - -class GdResourceSsDocument : public Resource -{ - GDCLASS( GdResourceSsDocument, Resource ); - -public : - GdResourceSsDocument(); - virtual ~GdResourceSsDocument(); - - Error loadFromFile( const String& strPath, const String& strOrgPath = "" ); - Error saveToFile( const String& strPath, const Ref& res ); - - String getSource() const; - -protected : - GdMultilevelCall static void _bind_methods(); - -private : - String m_strSource; -}; - -#endif // GD_RESOURCE_SSDOCUMENT_H diff --git a/gd_spritestudio/gd_resource_sseffect.cpp b/gd_spritestudio/gd_resource_sseffect.cpp deleted file mode 100644 index 365920b..0000000 --- a/gd_spritestudio/gd_resource_sseffect.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/*! -* \file gd_resource_sseffect.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_resource_sseffect.h" - -#include "ss_macros.h" -#include "ss_container.h" - -SsSdkUsing - -GdResourceSsEffect::GdResourceSsEffect() -{ - m_pEffect = NULL; -} - -GdResourceSsEffect::~GdResourceSsEffect() -{ - if ( m_pEffect ) { - SsContainer::getInstance().unloadEffect( m_pEffect ); - m_pEffect = NULL; - } -} - -Error GdResourceSsEffect::loadFromFile( const String& strPath, const String& strOrgPath ) -{ - m_pEffect = SsContainer::getInstance().loadEffectFromFile( strPath, false ); - - if ( !m_pEffect ) { - ERR_PRINT( String( "SpriteStudio ssee file load failed : " ) + strPath ); - return FAILED; - } - - return OK; -} - -Error GdResourceSsEffect::saveToFile( const String& strPath, const Ref& res ) -{ - return FAILED; -} - -SsEffectFile* GdResourceSsEffect::getEffect() const -{ - return m_pEffect; -} - -void GdResourceSsEffect::_bind_methods() -{ -} diff --git a/gd_spritestudio/gd_resource_sseffect.h b/gd_spritestudio/gd_resource_sseffect.h deleted file mode 100644 index 9540bff..0000000 --- a/gd_spritestudio/gd_resource_sseffect.h +++ /dev/null @@ -1,48 +0,0 @@ -/*! -* \file gd_resource_sseffect.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RESOURCE_SSEFFECT_H -#define GD_RESOURCE_SSEFFECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/io/resource.h" -#endif -#ifdef GD_V3 -#include "core/resource.h" -#endif -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_ssee.h" - -#include "ss_macros.h" - -SsSdkUsing - -class GdResourceSsEffect : public Resource -{ - GDCLASS( GdResourceSsEffect, Resource ); - -public : - GdResourceSsEffect(); - virtual ~GdResourceSsEffect(); - - Error loadFromFile( const String& strPath, const String& strOrgPath = "" ); - Error saveToFile( const String& strPath, const Ref& res ); - - SsEffectFile* getEffect() const; - -protected : - GdMultilevelCall static void _bind_methods(); - -private : - SsEffectFile* m_pEffect; -}; - -#endif // GD_RESOURCE_SSEFFECT_H diff --git a/gd_spritestudio/gd_resource_ssplayer.cpp b/gd_spritestudio/gd_resource_ssplayer.cpp deleted file mode 100644 index ee99e81..0000000 --- a/gd_spritestudio/gd_resource_ssplayer.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/*! -* \file gd_resource_ssplayer.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_resource_ssplayer.h" - -#include "gd_notifier.h" - -GdResourceSsPlayer::GdResourceSsPlayer() -{ -} - -GdResourceSsPlayer::~GdResourceSsPlayer() -{ -} - -void GdResourceSsPlayer::setProjectResource( const Ref& resProject ) -{ - m_ResProject = resProject; - - GdNotifier::getInstance().notifyResourcePlayerChanged( this ); -} - -Ref GdResourceSsPlayer::getProjectResource() const -{ - return m_ResProject; -} - -void GdResourceSsPlayer::_bind_methods() -{ - ClassDB::bind_method( D_METHOD( "set_project_resource", "res_project" ), &GdResourceSsPlayer::setProjectResource ); - ClassDB::bind_method( D_METHOD( "get_project_resource" ), &GdResourceSsPlayer::getProjectResource ); - - ADD_PROPERTY( - PropertyInfo( - Variant::OBJECT, - GdUiText( "res_project" ), - PropertyHint::PROPERTY_HINT_RESOURCE_TYPE, - "GdResourceSsProject" - ), - "set_project_resource", - "get_project_resource" - ); -} diff --git a/gd_spritestudio/gd_resource_ssplayer.h b/gd_spritestudio/gd_resource_ssplayer.h deleted file mode 100644 index 4a60c1b..0000000 --- a/gd_spritestudio/gd_resource_ssplayer.h +++ /dev/null @@ -1,43 +0,0 @@ -/*! -* \file gd_resource_ssplayer.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RESOURCE_SSPLAYER_H -#define GD_RESOURCE_SSPLAYER_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/io/resource.h" -#endif -#ifdef GD_V3 -#include "core/resource.h" -#endif -#endif - -#include "gd_resource_ssproject.h" - -class GdResourceSsPlayer : public Resource -{ - GDCLASS( GdResourceSsPlayer, Resource ); - -public : - GdResourceSsPlayer(); - virtual ~GdResourceSsPlayer(); - - void setProjectResource( const Ref& resProject ); - Ref getProjectResource() const; - -protected : - GdMultilevelCall static void _bind_methods(); - -private : - Ref m_ResProject; -}; - - -#endif // GD_RESOURCE_SSPLAYER_H diff --git a/gd_spritestudio/gd_resource_ssproject.cpp b/gd_spritestudio/gd_resource_ssproject.cpp deleted file mode 100644 index 4159d44..0000000 --- a/gd_spritestudio/gd_resource_ssproject.cpp +++ /dev/null @@ -1,525 +0,0 @@ -/*! -* \file gd_resource_ssproject.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_resource_ssproject.h" - -#include "ss_macros.h" -#include "ss_container.h" -#include "gd_notifier.h" - -SsSdkUsing - -GdResourceSsProject::GdResourceSsProject() -{ - m_pProject = NULL; - m_strRoot = ""; - - m_mapResAnimePack.clear(); - m_vecResCellMap.clear(); - m_vecResEffect.clear(); -} - -GdResourceSsProject::~GdResourceSsProject() -{ - if ( m_pProject ) { - SsContainer::getInstance().unloadProject( m_pProject ); - m_pProject = NULL; - } - - m_mapResAnimePack.clear(); - m_vecResCellMap.clear(); - m_vecResEffect.clear(); -} - -void GdResourceSsProject::setAnimePackResource( const Ref& resAnimePack, const String& strName ) -{ - if ( !m_mapResAnimePack.has( strName ) ) { - return; - } - - m_mapResAnimePack[strName] = resAnimePack; - - NOTIFY_PROPERTY_LIST_CHANGED(); - - GdNotifier::getInstance().notifyResourceProjectChanged( this ); -} - -Ref GdResourceSsProject::getAnimePackResource( const String& strName ) const -{ - if ( !m_mapResAnimePack.has( strName ) ) { - return NULL; - } - - return m_mapResAnimePack[strName]; -} - -void GdResourceSsProject::setCellMapResource( const Ref& resCellMap, int iIndex ) -{ - if ( ( iIndex < 0 ) || ( iIndex >= getCellMapCount() ) ) { - return; - } - - m_vecResCellMap.set( iIndex, resCellMap ); - - NOTIFY_PROPERTY_LIST_CHANGED(); - - GdNotifier::getInstance().notifyResourceProjectChanged( this ); -} - -Ref GdResourceSsProject::getCellMapResourceFromIndex( int iIndex ) const -{ - if ( ( iIndex < 0 ) || ( iIndex >= getCellMapCount() ) ) { - return NULL; - } - - return m_vecResCellMap.get( iIndex ); -} - -Ref GdResourceSsProject::getCellMapResourceFromName( const String& strName ) const -{ - if ( m_pProject ) { - for ( int i = 0; i < m_pProject->cellmapNames.size(); i++ ) { - if ( m_pProject->cellmapNames[i].c_str() == strName ) { - return getCellMapResourceFromIndex( i ); - } - } - } - - return NULL; -} - -Ref GdResourceSsProject::getCellMapResource( const SsString& strName ) const -{ - if ( m_pProject ) { - for ( int i = 0; i < m_pProject->cellmapNames.size(); i++ ) { - if ( m_pProject->cellmapNames[i] == strName ) { - return getCellMapResourceFromIndex( i ); - } - } - } - - return NULL; -} - -void GdResourceSsProject::setEffectResource( const Ref& resEffect, int iIndex ) -{ - if ( ( iIndex < 0 ) || ( iIndex >= getEffectCount() ) ) { - return; - } - - m_vecResEffect.set( iIndex, resEffect ); - - NOTIFY_PROPERTY_LIST_CHANGED(); - - GdNotifier::getInstance().notifyResourceProjectChanged( this ); -} - -Ref GdResourceSsProject::getEffectResource( int iIndex ) const -{ - if ( ( iIndex < 0 ) || ( iIndex >= getEffectCount() ) ) { - return NULL; - } - - return m_vecResEffect.get( iIndex ); -} - -Error GdResourceSsProject::loadFromFile( const String& strPath, const String& strOrgPath ) -{ - Error err; - String strRel = strOrgPath.length() == 0 ? strPath : strOrgPath; - - m_vecResCellMap.clear(); - m_vecResEffect.clear(); - - m_pProject = SsContainer::getInstance().loadProjectFromFile( strPath, false ); - m_strRoot = ""; - - if ( !m_pProject ) { - ERR_PRINT( String( "SpriteStudio sspj file load failed : " ) + strPath ); - return FAILED; - } - - m_strRoot = strRel.get_base_dir(); - m_strRoot = m_strRoot.replace( "res://", "" ); - if ( !EMPTY(m_strRoot) && !m_strRoot.ends_with( "/" ) ) - { - m_strRoot += "/"; - } - - m_strAnimePack = m_strRoot + String::utf8( m_pProject->settings.animeBaseDirectory.c_str() ); - if ( EMPTY(m_strAnimePack) && !m_strAnimePack.ends_with( "/" ) ) - { - m_strAnimePack += "/"; - } - m_strCellMap = m_strRoot + String::utf8( m_pProject->settings.cellMapBaseDirectory.c_str() ); - if ( EMPTY(m_strCellMap) && !m_strCellMap.ends_with( "/" ) ) - { - m_strCellMap += "/"; - } - m_strImage = m_strRoot + String::utf8( m_pProject->settings.imageBaseDirectory.c_str() ); - if ( EMPTY(m_strImage) && !m_strImage.ends_with( "/" ) ) - { - m_strImage += "/"; - } - m_strEffect = m_strRoot + String::utf8( m_pProject->settings.effectBaseDirectory.c_str() ); - if ( EMPTY(m_strEffect) && !m_strEffect.ends_with( "/" ) ) - { - m_strEffect += "/"; - } - - SsContainer::getInstance().setAnimePackDir( m_strAnimePack ); - SsContainer::getInstance().setCellMapDir( m_strCellMap ); - SsContainer::getInstance().setImageDir( m_strImage ); - SsContainer::getInstance().setEffectDir( m_strEffect ); - - for ( int i = 0; i < m_pProject->animepackNames.size(); i++ ) { - String strName = String::utf8( m_pProject->animepackNames[i].c_str() ); -#ifdef SPRITESTUDIO_GODOT_EXTENSION - Ref resAnimePack = ResourceLoader::get_singleton()->load( m_strAnimePack + strName, "", ResourceLoader::CacheMode::CACHE_MODE_REUSE); - err = OK; // TODO: improve -#else -#ifdef GD_V4 - Ref resAnimePack = ResourceLoader::load( m_strAnimePack + strName, "", ResourceFormatLoader::CacheMode::CACHE_MODE_REUSE); - err = OK; // TODO: improve -#endif -#ifdef GD_V3 - Ref resAnimePack = ResourceLoader::load( m_strAnimePack + strName, "", false, &err ); -#endif -#endif - m_mapResAnimePack[strName] = resAnimePack; - - if ( err != OK ) { - ERR_PRINT( String( "SpriteStudio sspj ref ssae file load failed : " ) + strName ); - } - - SsAnimePack* pAnimePack = resAnimePack->getAnimePack(); - - if ( !pAnimePack ) { - continue; - } - - m_pProject->animeList.push_back( std::move( std::unique_ptr( pAnimePack ) ) ); - } - - for ( int i = 0; i < m_pProject->cellmapNames.size(); i++ ) { - String strName = String::utf8( m_pProject->cellmapNames[i].c_str() ); - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - Ref resCellMap = ResourceLoader::get_singleton()->load( m_strCellMap + strName, "", ResourceLoader::CacheMode::CACHE_MODE_REUSE); - err = OK; // TODO: improve -#else -#ifdef GD_V4 - Ref resCellMap = ResourceLoader::load( m_strCellMap + strName, "", ResourceFormatLoader::CACHE_MODE_REUSE, &err ); -#endif -#ifdef GD_V3 - Ref resCellMap = ResourceLoader::load( m_strCellMap + strName, "", false, &err ); -#endif -#endif - - m_vecResCellMap.push_back( resCellMap ); - - if ( err != OK ) { - ERR_PRINT( String( "SpriteStudio sspj ref ssce file load failed : " ) + strName ); - } - - SsCellMap* pCellMap = resCellMap->getCellMap(); - - if ( !pCellMap ) { - continue; - } - - auto c = strName.utf8(); - - pCellMap->loadFilepath = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - - m_pProject->cellmapList.push_back( std::move( std::unique_ptr( pCellMap ) ) ); - } - - for ( int i = 0; i < m_pProject->effectFileNames.size(); i++ ) { - String strName = String::utf8( m_pProject->effectFileNames[i].c_str() ); - - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - Ref resEffect = ResourceLoader::get_singleton()->load( m_strEffect + strName, "", ResourceLoader::CACHE_MODE_REUSE); - err = OK; // TODO: improve -#else -#ifdef GD_V4 - Ref resEffect = ResourceLoader::load( m_strEffect + strName, "", ResourceFormatLoader::CACHE_MODE_REUSE, &err ); -#endif -#ifdef GD_V3 - Ref resEffect = ResourceLoader::load( m_strEffect + strName, "", false, &err ); -#endif -#endif - - m_vecResEffect.push_back( resEffect ); - - if ( err != OK ) { - ERR_PRINT( String( "SpriteStudio sspj ref ssee file load failed : " ) + strName ); - } - - SsEffectFile* pEffect = resEffect->getEffect(); - - if ( !pEffect ) { - continue; - } - - ssloader_ssee::loadPostProcessing( pEffect, m_pProject ); - - m_pProject->effectfileList.push_back( std::move( std::unique_ptr( pEffect ) ) ); - } - - SsContainer::getInstance().setAnimePackDir( "" ); - SsContainer::getInstance().setCellMapDir( "" ); - SsContainer::getInstance().setImageDir( "" ); - SsContainer::getInstance().setEffectDir( "" ); - - return OK; -} - -Error GdResourceSsProject::saveToFile( const String& strPath, const Ref& res ) -{ - return FAILED; -} - -int GdResourceSsProject::getAnimePackCount() const -{ - if ( m_pProject ) { - return m_pProject->getAnimePackNum(); - } - - return 0; -} - -int GdResourceSsProject::getCellMapCount() const -{ - if ( m_pProject ) { - return m_pProject->getCellMapNum(); - } - - return 0; -} - -int GdResourceSsProject::getEffectCount() const -{ - if ( m_pProject ) { - return m_pProject->getEffectFileNum(); - } - - return 0; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdResourceSsProject::getAnimePackNames() const -#else -Vector GdResourceSsProject::getAnimePackNames() const -#endif -{ -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray vec; -#else - Vector vec; -#endif - - if ( m_pProject ) { - for ( int i = 0; i < m_pProject->getAnimePackNum(); i++ ) { - SsString strPath = m_pProject->getAnimePackFilePath( i, false ); - - vec.push_back( Variant( String::utf8( strPath.c_str() ) ) ); - } - } - - return vec; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdResourceSsProject::getCellMapNames() const -#else -Vector GdResourceSsProject::getCellMapNames() const -#endif -{ -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray vec; -#else - Vector vec; -#endif - - if ( m_pProject ) { - for ( int i = 0; i < m_pProject->getCellMapNum(); i++ ) { - SsString strPath = m_pProject->getCelMapFileOriginalPath( i ); - - vec.push_back( Variant( String::utf8( strPath.c_str() ) ) ); - } - } - - return vec; -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdResourceSsProject::getEffectNames() const -#else -Vector GdResourceSsProject::getEffectNames() const -#endif -{ -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray vec; -#else - Vector vec; -#endif - - if ( m_pProject ) { - for ( int i = 0; i < m_pProject->getEffectFileNum(); i++ ) { - SsString strPath = m_pProject->getEffectFilePath( i ); - - vec.push_back( Variant( String::utf8( strPath.c_str() ) ) ); - } - } - - return vec; -} - -SsProject* GdResourceSsProject::getProject() const -{ - return m_pProject; -} - -String GdResourceSsProject::getRoot() const -{ - return m_strRoot; -} - -void GdResourceSsProject::_bind_methods() -{ - ClassDB::bind_method( D_METHOD( "get_anime_pack_count" ), &GdResourceSsProject::getAnimePackCount ); - ClassDB::bind_method( D_METHOD( "get_cell_map_count" ), &GdResourceSsProject::getCellMapCount ); - ClassDB::bind_method( D_METHOD( "get_effect_count" ), &GdResourceSsProject::getEffectCount ); - - ClassDB::bind_method( D_METHOD( "get_anime_pack_names" ), &GdResourceSsProject::getAnimePackNames ); - ClassDB::bind_method( D_METHOD( "get_cell_map_names" ), &GdResourceSsProject::getCellMapNames ); - ClassDB::bind_method( D_METHOD( "get_effect_names" ), &GdResourceSsProject::getEffectNames ); - - ClassDB::bind_method( D_METHOD( "set_anime_pack_resource", "res_anime_pack", "name" ), &GdResourceSsProject::setAnimePackResource ); - ClassDB::bind_method( D_METHOD( "get_anime_pack_resource", "name" ), &GdResourceSsProject::getAnimePackResource ); - - ClassDB::bind_method( D_METHOD( "set_cell_map_resource", "res_cell_map", "index" ), &GdResourceSsProject::setCellMapResource ); - ClassDB::bind_method( D_METHOD( "get_cell_map_resource_from_index", "index" ), &GdResourceSsProject::getCellMapResourceFromIndex ); - ClassDB::bind_method( D_METHOD( "get_cell_map_resource_from_name", "name" ), &GdResourceSsProject::getCellMapResourceFromName ); - - ClassDB::bind_method( D_METHOD( "set_effect_resource", "res_effect", "index" ), &GdResourceSsProject::setEffectResource ); - ClassDB::bind_method( D_METHOD( "get_effect_resource", "index" ), &GdResourceSsProject::getEffectResource ); - - ADD_GROUP( GdUiText( "Cellmap Settings" ), "" ); -// ADD_GROUP( GdUiText( "effect_settings" ), "" ); -} - -bool GdResourceSsProject::_set( const StringName& p_name, const Variant& p_property ) -{ - if ( !m_pProject ) { - return false; - } - - for ( int i = 0; i < getCellMapCount(); i++ ) { - auto e = m_vecResCellMap[i]; - String strName = String::utf8( m_pProject->cellmapNames[i].c_str() ); - - if ( p_name == strName ) { - const Ref& resCellMap = p_property; - - if ( resCellMap.is_null() ) { - continue; - } - - SsCellMap* pCellMap = const_cast( resCellMap->getCellMap() ); - - if ( !pCellMap ) { - continue; - } - - auto c = strName.utf8(); - - pCellMap->loadFilepath = c.ptr() ? SsString( c.ptr() ) : SsString( "" ); - - setCellMapResource( p_property, i ); - - return true; - } - } -/* - for ( int i = 0; i < getEffectCount(); i++ ) { - auto e = m_vecResEffect[i]; - String strName = String::utf8( m_pProject->effectFileNames[i].c_str() ); - - if ( p_name == strName ) { - setEffectResource( p_property, i ); - - return true; - } - } -*/ - return false; -} - -bool GdResourceSsProject::_get( const StringName& p_name, Variant& r_property ) const -{ - if ( !m_pProject ) { - return false; - } - - for ( int i = 0; i < getCellMapCount(); i++ ) { - auto e = m_vecResCellMap[i]; - String strName = String::utf8( m_pProject->cellmapNames[i].c_str() ); - - if ( p_name == strName ) { - r_property = getCellMapResourceFromIndex( i ); - - return true; - } - } -/* - for ( int i = 0; i < getEffectCount(); i++ ) { - auto e = m_vecResEffect[i]; - String strName = String::utf8( m_pProject->effectFileNames[i].c_str() ); - - if ( p_name == strName ) { - r_property = getEffectResource( i ); - - return true; - } - } -*/ - return false; -} - -void GdResourceSsProject::_get_property_list( List* p_list ) const -{ - if ( !m_pProject ) { - return; - } - - PropertyInfo propertyInfo; - - for ( int i = 0; i < getCellMapCount(); i++ ) { - auto e = m_vecResCellMap[i]; - String strName = String::utf8( m_pProject->cellmapNames[i].c_str() ); - - propertyInfo.name = strName; - propertyInfo.type = Variant::OBJECT; - propertyInfo.hint_string = "GdResourceSsCellMap"; - propertyInfo.hint = PROPERTY_HINT_RESOURCE_TYPE; - - p_list->push_back( propertyInfo ); - } -/* - for ( int i = 0; i < getEffectCount(); i++ ) { - auto e = m_vecResEffect[i]; - String strName = String::utf8( m_pProject->effectFileNames[i].c_str() ); - - propertyInfo.name = strName; - propertyInfo.type = Variant::OBJECT; - propertyInfo.hint_string = "GdResourceSsEffect"; - propertyInfo.hint = PROPERTY_HINT_RESOURCE_TYPE; - - p_list->push_back( propertyInfo ); - } -*/ -} diff --git a/gd_spritestudio/gd_resource_ssproject.h b/gd_spritestudio/gd_resource_ssproject.h deleted file mode 100644 index 477e9c4..0000000 --- a/gd_spritestudio/gd_resource_ssproject.h +++ /dev/null @@ -1,94 +0,0 @@ -/*! -* \file gd_resource_ssproject.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_RESOURCE_SSPROJECT_H -#define GD_RESOURCE_SSPROJECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#ifdef GD_V4 -#include "core/io/resource.h" -#include "core/io/resource_loader.h" -#include "core/templates/hash_map.h" -#endif -#ifdef GD_V3 -#include "core/resource.h" -#endif -#endif - -#include "SpriteStudio6-SDK/Common/Loader/ssloader_sspj.h" - -#include "ss_macros.h" -#include "gd_resource_ssanimepack.h" -#include "gd_resource_sscellmap.h" -#include "gd_resource_sseffect.h" - -SsSdkUsing - -class GdResourceSsProject : public Resource -{ - GDCLASS( GdResourceSsProject, Resource ); - -public : - GdResourceSsProject(); - virtual ~GdResourceSsProject(); - - void setAnimePackResource( const Ref& resAnimePack, const String& strName ); - Ref getAnimePackResource( const String& strName ) const; - - void setCellMapResource( const Ref& resCellMap, int iIndex ); - Ref getCellMapResourceFromIndex( int iIndex ) const; - Ref getCellMapResourceFromName( const String& strName ) const; - Ref getCellMapResource( const SsString& strName ) const; - - void setEffectResource( const Ref& resEffect, int iIndex ); - Ref getEffectResource( int iIndex ) const; - - Error loadFromFile( const String& strPath, const String& strOrgPath = "" ); - Error saveToFile( const String& strPath, const Ref& res ); - - int getAnimePackCount() const; - int getCellMapCount() const; - int getEffectCount() const; - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - PackedStringArray getAnimePackNames() const; - PackedStringArray getCellMapNames() const; - PackedStringArray getEffectNames() const; -#else - Vector getAnimePackNames() const; - Vector getCellMapNames() const; - Vector getEffectNames() const; -#endif - - SsProject* getProject() const; - String getRoot() const; - -protected : - GdMultilevelCall static void _bind_methods(); - - GdMultilevelCall bool _set( const StringName& p_name, const Variant& p_property ); - GdMultilevelCall bool _get( const StringName& p_name, Variant& r_property ) const; - GdMultilevelCall void _get_property_list( List* p_list ) const; - -private : - SsProject* m_pProject; - String m_strRoot; - String m_strAnimePack; - String m_strCellMap; - String m_strImage; - String m_strEffect; - - HashMap> m_mapResAnimePack; - Vector> m_vecResCellMap; - Vector> m_vecResEffect; -}; - -#endif // GD_RESOURCE_SSPROJECT_H diff --git a/gd_spritestudio/gd_saver_bssanimepack.cpp b/gd_spritestudio/gd_saver_bssanimepack.cpp deleted file mode 100644 index 2f9d2c0..0000000 --- a/gd_spritestudio/gd_saver_bssanimepack.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/*! -* \file gd_saver_bssanimepack.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_saver_bssanimepack.h" - -#include "gd_io.h" -#include "gd_resource_ssdocument.h" - -#include "ss_io.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Error GdSaverBssAnimePack::_save(const Ref &p_resource, const String &p_path, uint32_t p_flags) -#else -#ifdef GD_V4 -Error GdSaverBssAnimePack::save( const Ref& p_resource, const String& p_path, uint32_t p_flags ) -#endif -#ifdef GD_V3 -Error GdSaverBssAnimePack::save( const String& p_path, const RES& p_resource, uint32_t p_flags ) -#endif -#endif -{ - if ( !Object::cast_to( *p_resource ) ) { - return FAILED; - } - - Ref resDocument = p_resource; - - if ( resDocument.is_null() ) { - return FAILED; -} - - String strSource = resDocument->getSource(); - - if ( strSource.length() == 0 ) { - return FAILED; - } - - return GdIO::saveVariantToFile( p_path, SsIO::toAnimePackVariant( strSource ) ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdSaverBssAnimePack::_recognize(const Ref &p_resource) -#else -#ifdef GD_V4 -bool GdSaverBssAnimePack::recognize( const Ref& p_resource ) const -#endif -#ifdef GD_V3 -bool GdSaverBssAnimePack::recognize( const RES& p_resource ) const -#endif -#endif -{ - return ( Object::cast_to( *p_resource ) != NULL ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdSaverBssAnimePack::_get_recognized_extensions(const Ref &resource) -{ - PackedStringArray extensions; - if (Object::cast_to(*resource)) { - extensions.push_back("gdssae"); - } - return extensions; -} -#else -#ifdef GD_V4 -void GdSaverBssAnimePack::get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const -#endif -#ifdef GD_V3 -void GdSaverBssAnimePack::get_recognized_extensions( const RES& p_resource, List* p_extensions ) const -#endif -{ - if ( Object::cast_to( *p_resource ) ) { - p_extensions->push_back( "gdssae" ); - } -} -#endif diff --git a/gd_spritestudio/gd_saver_bssanimepack.h b/gd_spritestudio/gd_saver_bssanimepack.h deleted file mode 100644 index 5e9fe50..0000000 --- a/gd_spritestudio/gd_saver_bssanimepack.h +++ /dev/null @@ -1,43 +0,0 @@ -/*! -* \file gd_saver_bssanimepack.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_SAVER_BSSANIMEPACK_H -#define GD_SAVER_BSSANIMEPACK_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_saver.h" -#endif - -class GdSaverBssAnimePack : public ResourceFormatSaver -{ - GDCLASS( GdSaverBssAnimePack, ResourceFormatSaver ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - Error _save(const Ref &p_resource, const String &p_path, uint32_t p_flags) override; - bool _recognize(const Ref &p_resource); - PackedStringArray _get_recognized_extensions(const Ref &p_resource); -#else -#ifdef GD_V4 - virtual Error save( const Ref& p_resource, const String& p_path, uint32_t p_flags = 0 ) override; - virtual bool recognize( const Ref& p_resource ) const override; - virtual void get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const override; -#endif -#ifdef GD_V3 - virtual Error save( const String& p_path, const RES& p_resource, uint32_t p_flags = 0 ) override; - virtual bool recognize( const RES& p_resource ) const override; - virtual void get_recognized_extensions( const RES& p_resource, List* p_extensions ) const override; -#endif -#endif -}; - -#endif // GD_SAVER_BSSANIMEPACK_H diff --git a/gd_spritestudio/gd_saver_bsscellmap.cpp b/gd_spritestudio/gd_saver_bsscellmap.cpp deleted file mode 100644 index 9352acf..0000000 --- a/gd_spritestudio/gd_saver_bsscellmap.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/*! -* \file gd_saver_bsscellmap.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_saver_bsscellmap.h" - -#include "gd_io.h" -#include "gd_resource_ssdocument.h" - -#include "ss_io.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Error GdSaverBssCellMap::_save(const Ref &p_resource, const String &p_path, uint32_t p_flags) -#else -#ifdef GD_V4 -Error GdSaverBssCellMap::save( const Ref& p_resource, const String& p_path, uint32_t p_flags ) -#endif -#ifdef GD_V3 -Error GdSaverBssCellMap::save( const String& p_path, const RES& p_resource, uint32_t p_flags ) -#endif -#endif -{ - if ( !Object::cast_to( *p_resource ) ) { - return FAILED; - } - - Ref resDocument = p_resource; - - if ( resDocument.is_null() ) { - return FAILED; -} - - String strSource = resDocument->getSource(); - - if ( strSource.length() == 0 ) { - return FAILED; - } - - return GdIO::saveVariantToFile( p_path, SsIO::toCellMapVariant( strSource ) ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdSaverBssCellMap::_recognize(const Ref &p_resource) -#else -#ifdef GD_V4 -bool GdSaverBssCellMap::recognize( const Ref& p_resource ) const -#endif -#ifdef GD_V3 -bool GdSaverBssCellMap::recognize( const RES& p_resource ) const -#endif -#endif -{ - return ( Object::cast_to( *p_resource ) != NULL ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdSaverBssCellMap::_get_recognized_extensions(const Ref &resource) -{ - PackedStringArray extensions; - if (Object::cast_to(*resource)) { - extensions.push_back("gdssce"); - } - return extensions; -} -#else -#ifdef GD_V4 -void GdSaverBssCellMap::get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const -#endif -#ifdef GD_V3 -void GdSaverBssCellMap::get_recognized_extensions( const RES& p_resource, List* p_extensions ) const -#endif -{ - if ( Object::cast_to( *p_resource ) ) { - p_extensions->push_back( "gdssce" ); - } -} -#endif \ No newline at end of file diff --git a/gd_spritestudio/gd_saver_bsscellmap.h b/gd_spritestudio/gd_saver_bsscellmap.h deleted file mode 100644 index a25b96d..0000000 --- a/gd_spritestudio/gd_saver_bsscellmap.h +++ /dev/null @@ -1,43 +0,0 @@ -/*! -* \file gd_saver_bsscellmap.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_SAVER_BSSCELLMAP_H -#define GD_SAVER_BSSCELLMAP_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_saver.h" -#endif - -class GdSaverBssCellMap : public ResourceFormatSaver -{ - GDCLASS( GdSaverBssCellMap, ResourceFormatSaver ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - Error _save(const Ref &p_resource, const String &p_path, uint32_t p_flags) override; - bool _recognize(const Ref &p_resource); - PackedStringArray _get_recognized_extensions(const Ref &p_resource); -#else -#ifdef GD_V4 - virtual Error save( const Ref& p_resource, const String& p_path, uint32_t p_flags = 0 ) override; - virtual bool recognize( const Ref& p_resource ) const override; - virtual void get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const override; -#endif -#ifdef GD_V3 - virtual Error save( const String& p_path, const RES& p_resource, uint32_t p_flags = 0 ) override; - virtual bool recognize( const RES& p_resource ) const override; - virtual void get_recognized_extensions( const RES& p_resource, List* p_extensions ) const override; -#endif -#endif -}; - -#endif // GD_SAVER_BSSCELLMAP_H diff --git a/gd_spritestudio/gd_saver_bsseffect.cpp b/gd_spritestudio/gd_saver_bsseffect.cpp deleted file mode 100644 index b06e720..0000000 --- a/gd_spritestudio/gd_saver_bsseffect.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/*! -* \file gd_saver_bsseffect.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_saver_bsseffect.h" - -#include "gd_io.h" -#include "gd_resource_ssdocument.h" - -#include "ss_io.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Error GdSaverBssEffect::_save(const Ref &p_resource, const String &p_path, uint32_t p_flags) -#else -#ifdef GD_V4 -Error GdSaverBssEffect::save( const Ref& p_resource, const String& p_path, uint32_t p_flags ) -#endif -#ifdef GD_V3 -Error GdSaverBssEffect::save( const String& p_path, const RES& p_resource, uint32_t p_flags ) -#endif -#endif -{ - if ( !Object::cast_to( *p_resource ) ) { - return FAILED; - } - - Ref resDocument = p_resource; - - if ( resDocument.is_null() ) { - return FAILED; -} - - String strSource = resDocument->getSource(); - - if ( strSource.length() == 0 ) { - return FAILED; - } - - return GdIO::saveVariantToFile( p_path, SsIO::toEffectVariant( strSource ) ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdSaverBssEffect::_recognize(const Ref &p_resource) -#else -#ifdef GD_V4 -bool GdSaverBssEffect::recognize( const Ref& p_resource ) const -#endif -#ifdef GD_V3 -bool GdSaverBssEffect::recognize( const RES& p_resource ) const -#endif -#endif -{ - return ( Object::cast_to( *p_resource ) != NULL ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdSaverBssEffect::_get_recognized_extensions(const Ref &resource) -{ - PackedStringArray extensions; - if (Object::cast_to(*resource)) { - extensions.push_back("gdssee"); - } - return extensions; -} -#else -#ifdef GD_V4 -void GdSaverBssEffect::get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const -#endif -#ifdef GD_V3 -void GdSaverBssEffect::get_recognized_extensions( const RES& p_resource, List* p_extensions ) const -#endif -{ - if ( Object::cast_to( *p_resource ) ) { - p_extensions->push_back( "gdssee" ); - } -} -#endif \ No newline at end of file diff --git a/gd_spritestudio/gd_saver_bsseffect.h b/gd_spritestudio/gd_saver_bsseffect.h deleted file mode 100644 index 807edb3..0000000 --- a/gd_spritestudio/gd_saver_bsseffect.h +++ /dev/null @@ -1,43 +0,0 @@ -/*! -* \file gd_saver_bsseffect.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_SAVER_BSSEFFECT_H -#define GD_SAVER_BSSEFFECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_saver.h" -#endif - -class GdSaverBssEffect : public ResourceFormatSaver -{ - GDCLASS( GdSaverBssEffect, ResourceFormatSaver ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - Error _save(const Ref &p_resource, const String &p_path, uint32_t p_flags) override; - bool _recognize(const Ref &p_resource); - PackedStringArray _get_recognized_extensions(const Ref &p_resource); -#else -#ifdef GD_V4 - virtual Error save( const Ref& p_resource, const String& p_path, uint32_t p_flags = 0 ) override; - virtual bool recognize( const Ref& p_resource ) const override; - virtual void get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const override; -#endif -#ifdef GD_V3 - virtual Error save( const String& p_path, const RES& p_resource, uint32_t p_flags = 0 ) override; - virtual bool recognize( const RES& p_resource ) const override; - virtual void get_recognized_extensions( const RES& p_resource, List* p_extensions ) const override; -#endif -#endif -}; - -#endif // GD_SAVER_BSSEFFECT_H diff --git a/gd_spritestudio/gd_saver_bssproject.cpp b/gd_spritestudio/gd_saver_bssproject.cpp deleted file mode 100644 index 86bc163..0000000 --- a/gd_spritestudio/gd_saver_bssproject.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/*! -* \file gd_saver_bssproject.cpp -* \author CRI Middleware Co., Ltd. -*/ -#include "gd_saver_bssproject.h" - -#include "gd_io.h" -#include "gd_resource_ssdocument.h" - -#include "ss_io.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -Error GdSaverBssProject::_save(const Ref &p_resource, const String &p_path, uint32_t p_flags) -#else -#ifdef GD_V4 -Error GdSaverBssProject::save( const Ref& p_resource, const String& p_path, uint32_t p_flags ) -#endif -#ifdef GD_V3 -Error GdSaverBssProject::save( const String& p_path, const RES& p_resource, uint32_t p_flags ) -#endif -#endif -{ - if ( !Object::cast_to( *p_resource ) ) { - return FAILED; - } - - Ref resDocument = p_resource; - - if ( resDocument.is_null() ) { - return FAILED; -} - - String strSource = resDocument->getSource(); - - if ( strSource.length() == 0 ) { - return FAILED; - } - - return GdIO::saveVariantToFile( p_path, SsIO::toProjectVariant( strSource ) ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -bool GdSaverBssProject::_recognize(const Ref &p_resource) -#else -#ifdef GD_V4 -bool GdSaverBssProject::recognize( const Ref& p_resource ) const -#endif -#ifdef GD_V3 -bool GdSaverBssProject::recognize( const RES& p_resource ) const -#endif -#endif -{ - return ( Object::cast_to( *p_resource ) != NULL ); -} - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -PackedStringArray GdSaverBssProject::_get_recognized_extensions(const Ref &resource) -{ - PackedStringArray extensions; - if (Object::cast_to(*resource)) { - extensions.push_back("gdsspj"); - } - return extensions; -} -#else -#ifdef GD_V4 -void GdSaverBssProject::get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const -#endif -#ifdef GD_V3 -void GdSaverBssProject::get_recognized_extensions( const RES& p_resource, List* p_extensions ) const -#endif -{ - if ( Object::cast_to( *p_resource ) ) { - p_extensions->push_back( "gdsspj" ); - } -} -#endif \ No newline at end of file diff --git a/gd_spritestudio/gd_saver_bssproject.h b/gd_spritestudio/gd_saver_bssproject.h deleted file mode 100644 index 7334c09..0000000 --- a/gd_spritestudio/gd_saver_bssproject.h +++ /dev/null @@ -1,43 +0,0 @@ -/*! -* \file gd_saver_bssproject.h -* \author CRI Middleware Co., Ltd. -*/ -#ifndef GD_SAVER_BSSPROJECT_H -#define GD_SAVER_BSSPROJECT_H - -#include "gd_macros.h" - -#ifdef SPRITESTUDIO_GODOT_EXTENSION -#include -#include -#include -using namespace godot; -#else -#include "core/io/resource_saver.h" -#endif - -class GdSaverBssProject : public ResourceFormatSaver -{ - GDCLASS( GdSaverBssProject, ResourceFormatSaver ); - -public : -#ifdef SPRITESTUDIO_GODOT_EXTENSION - static void _bind_methods(){}; - Error _save(const Ref &p_resource, const String &p_path, uint32_t p_flags) override; - bool _recognize(const Ref &p_resource); - PackedStringArray _get_recognized_extensions(const Ref &p_resource); -#else -#ifdef GD_V4 - virtual Error save( const Ref& p_resource, const String& p_path, uint32_t p_flags = 0 ) override; - virtual bool recognize( const Ref& p_resource ) const override; - virtual void get_recognized_extensions( const Ref& p_resource, List* p_extensions ) const override; -#endif -#ifdef GD_V3 - virtual Error save( const String& p_path, const RES& p_resource, uint32_t p_flags = 0 ) override; - virtual bool recognize( const RES& p_resource ) const override; - virtual void get_recognized_extensions( const RES& p_resource, List* p_extensions ) const override; -#endif -#endif -}; - -#endif // GD_SAVER_BSSPROJECT_H diff --git a/gd_spritestudio/register_types.cpp b/gd_spritestudio/register_types.cpp index 2b05506..23f29b9 100644 --- a/gd_spritestudio/register_types.cpp +++ b/gd_spritestudio/register_types.cpp @@ -1,4 +1,4 @@ -/*! +/*! * \file register_types.cpp * \author CRI Middleware Co., Ltd. */ @@ -9,172 +9,15 @@ #include using namespace godot; #else -#ifdef GD_V4 #include "core/object/class_db.h" #endif -#ifdef GD_V3 -#include "core/class_db.h" -#endif -#endif - -#include "gd_node_ssplayer.h" -#include "gd_resource_ssdocument.h" -#include "gd_resource_ssplayer.h" -#include "gd_resource_ssproject.h" -#include "gd_resource_ssanimepack.h" -#include "gd_resource_sscellmap.h" -#include "gd_resource_sseffect.h" -#include "gd_loader_ssproject.h" -#include "gd_loader_ssanimepack.h" -#include "gd_loader_sscellmap.h" -#include "gd_loader_sseffect.h" -#include "gd_loader_bssproject.h" -#include "gd_loader_bssanimepack.h" -#include "gd_loader_bsscellmap.h" -#include "gd_loader_bsseffect.h" -#include "gd_saver_bssproject.h" -#include "gd_saver_bssanimepack.h" -#include "gd_saver_bsscellmap.h" -#include "gd_saver_bsseffect.h" - -static Ref s_LoaderSsProject; -static Ref s_LoaderSsAnimePack; -static Ref s_LoaderSsCellMap; -static Ref s_LoaderSsEffect; -static Ref s_LoaderBssProject; -static Ref s_LoaderBssAnimePack; -static Ref s_LoaderBssCellMap; -static Ref s_LoaderBssEffect; -static Ref s_SaverBssProject; -static Ref s_SaverBssAnimePack; -static Ref s_SaverBssCellMap; -static Ref s_SaverBssEffect; void register_gd_spritestudio_types() { - ClassDB::register_class(); - - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - ClassDB::register_class(); - - -#if defined(GD_V4) || defined(SPRITESTUDIO_GODOT_EXTENSION) - s_LoaderSsProject.instantiate(); - s_LoaderSsAnimePack.instantiate(); - s_LoaderSsCellMap.instantiate(); - s_LoaderSsEffect.instantiate(); - s_LoaderBssProject.instantiate(); - s_LoaderBssAnimePack.instantiate(); - s_LoaderBssCellMap.instantiate(); - s_LoaderBssEffect.instantiate(); - s_SaverBssProject.instantiate(); - s_SaverBssAnimePack.instantiate(); - s_SaverBssCellMap.instantiate(); - s_SaverBssEffect.instantiate(); -#endif -#ifdef GD_V3 - s_LoaderSsProject.instance(); - s_LoaderSsAnimePack.instance(); - s_LoaderSsCellMap.instance(); - s_LoaderSsEffect.instance(); - s_LoaderBssProject.instance(); - s_LoaderBssAnimePack.instance(); - s_LoaderBssCellMap.instance(); - s_LoaderBssEffect.instance(); - s_SaverBssProject.instance(); - s_SaverBssAnimePack.instance(); - s_SaverBssCellMap.instance(); - s_SaverBssEffect.instance(); -#endif - -#ifdef SPRITESTUDIO_GODOT_EXTENSION - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderSsProject ); - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderSsAnimePack ); - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderSsCellMap ); - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderSsEffect ); - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderBssProject ); - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderBssAnimePack ); - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderBssCellMap ); - ResourceLoader::get_singleton()->add_resource_format_loader( s_LoaderBssEffect ); - ResourceSaver::get_singleton()->add_resource_format_saver( s_SaverBssProject ); - ResourceSaver::get_singleton()->add_resource_format_saver( s_SaverBssAnimePack ); - ResourceSaver::get_singleton()->add_resource_format_saver( s_SaverBssCellMap ); - ResourceSaver::get_singleton()->add_resource_format_saver( s_SaverBssEffect ); -#else - ResourceLoader::add_resource_format_loader( s_LoaderSsProject ); - ResourceLoader::add_resource_format_loader( s_LoaderSsAnimePack ); - ResourceLoader::add_resource_format_loader( s_LoaderSsCellMap ); - ResourceLoader::add_resource_format_loader( s_LoaderSsEffect ); - ResourceLoader::add_resource_format_loader( s_LoaderBssProject ); - ResourceLoader::add_resource_format_loader( s_LoaderBssAnimePack ); - ResourceLoader::add_resource_format_loader( s_LoaderBssCellMap ); - ResourceLoader::add_resource_format_loader( s_LoaderBssEffect ); - ResourceSaver::add_resource_format_saver( s_SaverBssProject ); - ResourceSaver::add_resource_format_saver( s_SaverBssAnimePack ); - ResourceSaver::add_resource_format_saver( s_SaverBssCellMap ); - ResourceSaver::add_resource_format_saver( s_SaverBssEffect ); -#endif } void unregister_gd_spritestudio_types() { -#ifdef SPRITESTUDIO_GODOT_EXTENSION - ResourceSaver::get_singleton()->remove_resource_format_saver( s_SaverBssEffect ); - ResourceSaver::get_singleton()->remove_resource_format_saver( s_SaverBssCellMap ); - ResourceSaver::get_singleton()->remove_resource_format_saver( s_SaverBssAnimePack ); - ResourceSaver::get_singleton()->remove_resource_format_saver( s_SaverBssProject ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderBssEffect ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderBssCellMap ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderBssAnimePack ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderBssProject ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderSsEffect ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderSsCellMap ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderSsAnimePack ); - ResourceLoader::get_singleton()->remove_resource_format_loader( s_LoaderSsProject ); -#else - ResourceSaver::remove_resource_format_saver( s_SaverBssEffect ); - ResourceSaver::remove_resource_format_saver( s_SaverBssCellMap ); - ResourceSaver::remove_resource_format_saver( s_SaverBssAnimePack ); - ResourceSaver::remove_resource_format_saver( s_SaverBssProject ); - ResourceLoader::remove_resource_format_loader( s_LoaderBssEffect ); - ResourceLoader::remove_resource_format_loader( s_LoaderBssCellMap ); - ResourceLoader::remove_resource_format_loader( s_LoaderBssAnimePack ); - ResourceLoader::remove_resource_format_loader( s_LoaderBssProject ); - ResourceLoader::remove_resource_format_loader( s_LoaderSsEffect ); - ResourceLoader::remove_resource_format_loader( s_LoaderSsCellMap ); - ResourceLoader::remove_resource_format_loader( s_LoaderSsAnimePack ); - ResourceLoader::remove_resource_format_loader( s_LoaderSsProject ); -#endif - - s_SaverBssEffect.unref(); - s_SaverBssCellMap.unref(); - s_SaverBssAnimePack.unref(); - s_SaverBssProject.unref(); - s_LoaderBssEffect.unref(); - s_LoaderBssCellMap.unref(); - s_LoaderBssAnimePack.unref(); - s_LoaderBssProject.unref(); - s_LoaderSsEffect.unref(); - s_LoaderSsCellMap.unref(); - s_LoaderSsAnimePack.unref(); - s_LoaderSsProject.unref(); } #if defined(GD_V4) || defined(SPRITESTUDIO_GODOT_EXTENSION) @@ -205,4 +48,4 @@ extern "C" GDExtensionBool GDE_EXPORT spritestudio_godot_library_init(GDExtensio init_obj.set_minimum_library_initialization_level(MODULE_INITIALIZATION_LEVEL_SCENE); return init_obj.init(); } -#endif +#endif \ No newline at end of file diff --git a/gd_spritestudio/register_types.h b/gd_spritestudio/register_types.h index 7e5c667..31a001f 100644 --- a/gd_spritestudio/register_types.h +++ b/gd_spritestudio/register_types.h @@ -1,4 +1,4 @@ -/*! +/*! * \file register_types.h * \author CRI Middleware Co., Ltd. */ @@ -22,4 +22,4 @@ void initialize_gd_spritestudio_module( ModuleInitializationLevel p_level ); void uninitialize_gd_spritestudio_module( ModuleInitializationLevel p_level ); #endif -#endif // GD_SPRITESTUDIO_REGISTER_TYPES_H +#endif // GD_SPRITESTUDIO_REGISTER_TYPES_H \ No newline at end of file diff --git a/gd_spritestudio/runtime/framedata.h b/gd_spritestudio/runtime/framedata.h new file mode 100644 index 0000000..eb59300 --- /dev/null +++ b/gd_spritestudio/runtime/framedata.h @@ -0,0 +1,1286 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_FRAMEDATA_SS_RUNTIME_H_ +#define FLATBUFFERS_GENERATED_FRAMEDATA_SS_RUNTIME_H_ + +#include "flatbuffers/flatbuffers.h" + +// Ensure the included flatbuffers.h is the same version as when this file was +// generated, otherwise it may not be compatible. +static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && + FLATBUFFERS_VERSION_MINOR == 12 && + FLATBUFFERS_VERSION_REVISION == 19, + "Non-compatible flatbuffers version included"); + +namespace ss { +namespace runtime { + +struct PartAttributeCell; +struct PartAttributeCellBuilder; + +struct Vec2; + +struct U8Rect; + +struct SsAttributePartColorKeyValueColor; + +struct PartAttributePartColor; +struct PartAttributePartColorBuilder; + +struct PartAttributeVertex; + +struct PartAttributeDeform; +struct PartAttributeDeformBuilder; + +struct PartAttributeShader; +struct PartAttributeShaderBuilder; + +struct PartState; +struct PartStateBuilder; + +struct FrameData; +struct FrameDataBuilder; + +enum BlendType : uint8_t { + BlendType_Mix = 0, + BlendType_Mul = 1, + BlendType_Add = 2, + BlendType_Sub = 3, + BlendType_Mulalpha = 4, + BlendType_Screen = 5, + BlendType_Exclusion = 6, + BlendType_Invert = 7, + BlendType_MIN = BlendType_Mix, + BlendType_MAX = BlendType_Invert +}; + +inline const BlendType (&EnumValuesBlendType())[8] { + static const BlendType values[] = { + BlendType_Mix, + BlendType_Mul, + BlendType_Add, + BlendType_Sub, + BlendType_Mulalpha, + BlendType_Screen, + BlendType_Exclusion, + BlendType_Invert + }; + return values; +} + +inline const char * const *EnumNamesBlendType() { + static const char * const names[9] = { + "Mix", + "Mul", + "Add", + "Sub", + "Mulalpha", + "Screen", + "Exclusion", + "Invert", + nullptr + }; + return names; +} + +inline const char *EnumNameBlendType(BlendType e) { + if (::flatbuffers::IsOutRange(e, BlendType_Mix, BlendType_Invert)) return ""; + const size_t index = static_cast(e); + return EnumNamesBlendType()[index]; +} + +enum UpdateAttributeFlags : uint64_t { + UpdateAttributeFlags_AttributeCell = 1ULL, + UpdateAttributeFlags_AttributePosX = 2ULL, + UpdateAttributeFlags_AttributePosY = 4ULL, + UpdateAttributeFlags_AttributePosZ = 8ULL, + UpdateAttributeFlags_AttributeRotX = 16ULL, + UpdateAttributeFlags_AttributeRotY = 32ULL, + UpdateAttributeFlags_AttributeRotZ = 64ULL, + UpdateAttributeFlags_AttributeSclX = 128ULL, + UpdateAttributeFlags_AttributeSclY = 256ULL, + UpdateAttributeFlags_AttributeLosclX = 512ULL, + UpdateAttributeFlags_AttributeLosclY = 1024ULL, + UpdateAttributeFlags_AttributeAlpha = 2048ULL, + UpdateAttributeFlags_AttributeLoAlpha = 4096ULL, + UpdateAttributeFlags_AttributePrio = 8192ULL, + UpdateAttributeFlags_AttributeFlipH = 16384ULL, + UpdateAttributeFlags_AttributeFlipV = 32768ULL, + UpdateAttributeFlags_AttributeHide = 65536ULL, + UpdateAttributeFlags_AttributePartColor = 131072ULL, + UpdateAttributeFlags_AttributeShader = 262144ULL, + UpdateAttributeFlags_AttributeVertex = 524288ULL, + UpdateAttributeFlags_AttributePivotX = 1048576ULL, + UpdateAttributeFlags_AttributePivotY = 2097152ULL, + UpdateAttributeFlags_AttributeAnchorX = 4194304ULL, + UpdateAttributeFlags_AttributeAnchorY = 8388608ULL, + UpdateAttributeFlags_AttributeSizeX = 16777216ULL, + UpdateAttributeFlags_AttributeSizeY = 33554432ULL, + UpdateAttributeFlags_AttributeImgFlipH = 67108864ULL, + UpdateAttributeFlags_AttributeImgFlipV = 134217728ULL, + UpdateAttributeFlags_AttributeUvtX = 268435456ULL, + UpdateAttributeFlags_AttributeUvtY = 536870912ULL, + UpdateAttributeFlags_AttributeUvrZ = 1073741824ULL, + UpdateAttributeFlags_AttributeUvsX = 2147483648ULL, + UpdateAttributeFlags_AttributeUvsY = 4294967296ULL, + UpdateAttributeFlags_AttributeBoundr = 8589934592ULL, + UpdateAttributeFlags_AttributeMask = 17179869184ULL, + UpdateAttributeFlags_AttributeSkew = 34359738368ULL, + UpdateAttributeFlags_AttributeDeform = 68719476736ULL, + UpdateAttributeFlags_AttributeTexture = 137438953472ULL, + UpdateAttributeFlags_NONE = 0, + UpdateAttributeFlags_ANY = 274877906943ULL +}; + +inline const UpdateAttributeFlags (&EnumValuesUpdateAttributeFlags())[38] { + static const UpdateAttributeFlags values[] = { + UpdateAttributeFlags_AttributeCell, + UpdateAttributeFlags_AttributePosX, + UpdateAttributeFlags_AttributePosY, + UpdateAttributeFlags_AttributePosZ, + UpdateAttributeFlags_AttributeRotX, + UpdateAttributeFlags_AttributeRotY, + UpdateAttributeFlags_AttributeRotZ, + UpdateAttributeFlags_AttributeSclX, + UpdateAttributeFlags_AttributeSclY, + UpdateAttributeFlags_AttributeLosclX, + UpdateAttributeFlags_AttributeLosclY, + UpdateAttributeFlags_AttributeAlpha, + UpdateAttributeFlags_AttributeLoAlpha, + UpdateAttributeFlags_AttributePrio, + UpdateAttributeFlags_AttributeFlipH, + UpdateAttributeFlags_AttributeFlipV, + UpdateAttributeFlags_AttributeHide, + UpdateAttributeFlags_AttributePartColor, + UpdateAttributeFlags_AttributeShader, + UpdateAttributeFlags_AttributeVertex, + UpdateAttributeFlags_AttributePivotX, + UpdateAttributeFlags_AttributePivotY, + UpdateAttributeFlags_AttributeAnchorX, + UpdateAttributeFlags_AttributeAnchorY, + UpdateAttributeFlags_AttributeSizeX, + UpdateAttributeFlags_AttributeSizeY, + UpdateAttributeFlags_AttributeImgFlipH, + UpdateAttributeFlags_AttributeImgFlipV, + UpdateAttributeFlags_AttributeUvtX, + UpdateAttributeFlags_AttributeUvtY, + UpdateAttributeFlags_AttributeUvrZ, + UpdateAttributeFlags_AttributeUvsX, + UpdateAttributeFlags_AttributeUvsY, + UpdateAttributeFlags_AttributeBoundr, + UpdateAttributeFlags_AttributeMask, + UpdateAttributeFlags_AttributeSkew, + UpdateAttributeFlags_AttributeDeform, + UpdateAttributeFlags_AttributeTexture + }; + return values; +} + +inline const char *EnumNameUpdateAttributeFlags(UpdateAttributeFlags e) { + switch (e) { + case UpdateAttributeFlags_AttributeCell: return "AttributeCell"; + case UpdateAttributeFlags_AttributePosX: return "AttributePosX"; + case UpdateAttributeFlags_AttributePosY: return "AttributePosY"; + case UpdateAttributeFlags_AttributePosZ: return "AttributePosZ"; + case UpdateAttributeFlags_AttributeRotX: return "AttributeRotX"; + case UpdateAttributeFlags_AttributeRotY: return "AttributeRotY"; + case UpdateAttributeFlags_AttributeRotZ: return "AttributeRotZ"; + case UpdateAttributeFlags_AttributeSclX: return "AttributeSclX"; + case UpdateAttributeFlags_AttributeSclY: return "AttributeSclY"; + case UpdateAttributeFlags_AttributeLosclX: return "AttributeLosclX"; + case UpdateAttributeFlags_AttributeLosclY: return "AttributeLosclY"; + case UpdateAttributeFlags_AttributeAlpha: return "AttributeAlpha"; + case UpdateAttributeFlags_AttributeLoAlpha: return "AttributeLoAlpha"; + case UpdateAttributeFlags_AttributePrio: return "AttributePrio"; + case UpdateAttributeFlags_AttributeFlipH: return "AttributeFlipH"; + case UpdateAttributeFlags_AttributeFlipV: return "AttributeFlipV"; + case UpdateAttributeFlags_AttributeHide: return "AttributeHide"; + case UpdateAttributeFlags_AttributePartColor: return "AttributePartColor"; + case UpdateAttributeFlags_AttributeShader: return "AttributeShader"; + case UpdateAttributeFlags_AttributeVertex: return "AttributeVertex"; + case UpdateAttributeFlags_AttributePivotX: return "AttributePivotX"; + case UpdateAttributeFlags_AttributePivotY: return "AttributePivotY"; + case UpdateAttributeFlags_AttributeAnchorX: return "AttributeAnchorX"; + case UpdateAttributeFlags_AttributeAnchorY: return "AttributeAnchorY"; + case UpdateAttributeFlags_AttributeSizeX: return "AttributeSizeX"; + case UpdateAttributeFlags_AttributeSizeY: return "AttributeSizeY"; + case UpdateAttributeFlags_AttributeImgFlipH: return "AttributeImgFlipH"; + case UpdateAttributeFlags_AttributeImgFlipV: return "AttributeImgFlipV"; + case UpdateAttributeFlags_AttributeUvtX: return "AttributeUvtX"; + case UpdateAttributeFlags_AttributeUvtY: return "AttributeUvtY"; + case UpdateAttributeFlags_AttributeUvrZ: return "AttributeUvrZ"; + case UpdateAttributeFlags_AttributeUvsX: return "AttributeUvsX"; + case UpdateAttributeFlags_AttributeUvsY: return "AttributeUvsY"; + case UpdateAttributeFlags_AttributeBoundr: return "AttributeBoundr"; + case UpdateAttributeFlags_AttributeMask: return "AttributeMask"; + case UpdateAttributeFlags_AttributeSkew: return "AttributeSkew"; + case UpdateAttributeFlags_AttributeDeform: return "AttributeDeform"; + case UpdateAttributeFlags_AttributeTexture: return "AttributeTexture"; + default: return ""; + } +} + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Vec2 FLATBUFFERS_FINAL_CLASS { + private: + float x_; + float y_; + + public: + Vec2() + : x_(0), + y_(0) { + } + Vec2(float _x, float _y) + : x_(::flatbuffers::EndianScalar(_x)), + y_(::flatbuffers::EndianScalar(_y)) { + } + float x() const { + return ::flatbuffers::EndianScalar(x_); + } + float y() const { + return ::flatbuffers::EndianScalar(y_); + } +}; +FLATBUFFERS_STRUCT_END(Vec2, 8); + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) U8Rect FLATBUFFERS_FINAL_CLASS { + private: + uint8_t a_; + uint8_t r_; + uint8_t g_; + uint8_t b_; + + public: + U8Rect() + : a_(0), + r_(0), + g_(0), + b_(0) { + } + U8Rect(uint8_t _a, uint8_t _r, uint8_t _g, uint8_t _b) + : a_(::flatbuffers::EndianScalar(_a)), + r_(::flatbuffers::EndianScalar(_r)), + g_(::flatbuffers::EndianScalar(_g)), + b_(::flatbuffers::EndianScalar(_b)) { + } + uint8_t a() const { + return ::flatbuffers::EndianScalar(a_); + } + uint8_t r() const { + return ::flatbuffers::EndianScalar(r_); + } + uint8_t g() const { + return ::flatbuffers::EndianScalar(g_); + } + uint8_t b() const { + return ::flatbuffers::EndianScalar(b_); + } +}; +FLATBUFFERS_STRUCT_END(U8Rect, 4); + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) SsAttributePartColorKeyValueColor FLATBUFFERS_FINAL_CLASS { + private: + ss::runtime::U8Rect rgba_; + float rate_; + + public: + SsAttributePartColorKeyValueColor() + : rgba_(), + rate_(0) { + } + SsAttributePartColorKeyValueColor(const ss::runtime::U8Rect &_rgba, float _rate) + : rgba_(_rgba), + rate_(::flatbuffers::EndianScalar(_rate)) { + } + const ss::runtime::U8Rect &rgba() const { + return rgba_; + } + float rate() const { + return ::flatbuffers::EndianScalar(rate_); + } +}; +FLATBUFFERS_STRUCT_END(SsAttributePartColorKeyValueColor, 8); + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) PartAttributeVertex FLATBUFFERS_FINAL_CLASS { + private: + ss::runtime::Vec2 lt_; + ss::runtime::Vec2 rt_; + ss::runtime::Vec2 lb_; + ss::runtime::Vec2 rb_; + + public: + PartAttributeVertex() + : lt_(), + rt_(), + lb_(), + rb_() { + } + PartAttributeVertex(const ss::runtime::Vec2 &_lt, const ss::runtime::Vec2 &_rt, const ss::runtime::Vec2 &_lb, const ss::runtime::Vec2 &_rb) + : lt_(_lt), + rt_(_rt), + lb_(_lb), + rb_(_rb) { + } + const ss::runtime::Vec2 <() const { + return lt_; + } + const ss::runtime::Vec2 &rt() const { + return rt_; + } + const ss::runtime::Vec2 &lb() const { + return lb_; + } + const ss::runtime::Vec2 &rb() const { + return rb_; + } +}; +FLATBUFFERS_STRUCT_END(PartAttributeVertex, 32); + +struct PartAttributeCell FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeCellBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MAP_ID = 4, + VT_NAME = 6 + }; + int32_t map_id() const { + return GetField(VT_MAP_ID, 0); + } + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_MAP_ID, 4) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + verifier.EndTable(); + } +}; + +struct PartAttributeCellBuilder { + typedef PartAttributeCell Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_map_id(int32_t map_id) { + fbb_.AddElement(PartAttributeCell::VT_MAP_ID, map_id, 0); + } + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(PartAttributeCell::VT_NAME, name); + } + explicit PartAttributeCellBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeCell( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t map_id = 0, + ::flatbuffers::Offset<::flatbuffers::String> name = 0) { + PartAttributeCellBuilder builder_(_fbb); + builder_.add_name(name); + builder_.add_map_id(map_id); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeCellDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t map_id = 0, + const char *name = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + return ss::runtime::CreatePartAttributeCell( + _fbb, + map_id, + name__); +} + +struct PartAttributePartColor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributePartColorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLEND_TYPE = 4, + VT_LT = 6, + VT_RT = 8, + VT_LB = 10, + VT_RB = 12 + }; + ss::runtime::BlendType blend_type() const { + return static_cast(GetField(VT_BLEND_TYPE, 0)); + } + const ss::runtime::SsAttributePartColorKeyValueColor *lt() const { + return GetStruct(VT_LT); + } + const ss::runtime::SsAttributePartColorKeyValueColor *rt() const { + return GetStruct(VT_RT); + } + const ss::runtime::SsAttributePartColorKeyValueColor *lb() const { + return GetStruct(VT_LB); + } + const ss::runtime::SsAttributePartColorKeyValueColor *rb() const { + return GetStruct(VT_RB); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BLEND_TYPE, 1) && + VerifyField(verifier, VT_LT, 4) && + VerifyField(verifier, VT_RT, 4) && + VerifyField(verifier, VT_LB, 4) && + VerifyField(verifier, VT_RB, 4) && + verifier.EndTable(); + } +}; + +struct PartAttributePartColorBuilder { + typedef PartAttributePartColor Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_blend_type(ss::runtime::BlendType blend_type) { + fbb_.AddElement(PartAttributePartColor::VT_BLEND_TYPE, static_cast(blend_type), 0); + } + void add_lt(const ss::runtime::SsAttributePartColorKeyValueColor *lt) { + fbb_.AddStruct(PartAttributePartColor::VT_LT, lt); + } + void add_rt(const ss::runtime::SsAttributePartColorKeyValueColor *rt) { + fbb_.AddStruct(PartAttributePartColor::VT_RT, rt); + } + void add_lb(const ss::runtime::SsAttributePartColorKeyValueColor *lb) { + fbb_.AddStruct(PartAttributePartColor::VT_LB, lb); + } + void add_rb(const ss::runtime::SsAttributePartColorKeyValueColor *rb) { + fbb_.AddStruct(PartAttributePartColor::VT_RB, rb); + } + explicit PartAttributePartColorBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributePartColor( + ::flatbuffers::FlatBufferBuilder &_fbb, + ss::runtime::BlendType blend_type = ss::runtime::BlendType_Mix, + const ss::runtime::SsAttributePartColorKeyValueColor *lt = nullptr, + const ss::runtime::SsAttributePartColorKeyValueColor *rt = nullptr, + const ss::runtime::SsAttributePartColorKeyValueColor *lb = nullptr, + const ss::runtime::SsAttributePartColorKeyValueColor *rb = nullptr) { + PartAttributePartColorBuilder builder_(_fbb); + builder_.add_rb(rb); + builder_.add_lb(lb); + builder_.add_rt(rt); + builder_.add_lt(lt); + builder_.add_blend_type(blend_type); + return builder_.Finish(); +} + +struct PartAttributeDeform FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeDeformBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COORDINATE = 4, + VT_INDEX = 6 + }; + const ::flatbuffers::Vector *coordinate() const { + return GetPointer *>(VT_COORDINATE); + } + const ::flatbuffers::Vector *index() const { + return GetPointer *>(VT_INDEX); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_COORDINATE) && + verifier.VerifyVector(coordinate()) && + VerifyOffset(verifier, VT_INDEX) && + verifier.VerifyVector(index()) && + verifier.EndTable(); + } +}; + +struct PartAttributeDeformBuilder { + typedef PartAttributeDeform Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_coordinate(::flatbuffers::Offset<::flatbuffers::Vector> coordinate) { + fbb_.AddOffset(PartAttributeDeform::VT_COORDINATE, coordinate); + } + void add_index(::flatbuffers::Offset<::flatbuffers::Vector> index) { + fbb_.AddOffset(PartAttributeDeform::VT_INDEX, index); + } + explicit PartAttributeDeformBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeDeform( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::Vector> coordinate = 0, + ::flatbuffers::Offset<::flatbuffers::Vector> index = 0) { + PartAttributeDeformBuilder builder_(_fbb); + builder_.add_index(index); + builder_.add_coordinate(coordinate); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeDeformDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *coordinate = nullptr, + const std::vector *index = nullptr) { + auto coordinate__ = coordinate ? _fbb.CreateVectorOfStructs(*coordinate) : 0; + auto index__ = index ? _fbb.CreateVector(*index) : 0; + return ss::runtime::CreatePartAttributeDeform( + _fbb, + coordinate__, + index__); +} + +struct PartAttributeShader FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeShaderBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ID = 4, + VT_PARAM0 = 6, + VT_PARAM1 = 8, + VT_PARAM2 = 10, + VT_PARAM3 = 12, + VT_PARAM4 = 14, + VT_PARAM5 = 16, + VT_PARAM6 = 18, + VT_PARAM7 = 20, + VT_MAP0_ID = 22, + VT_MAP0_NAME = 24, + VT_MAP1_ID = 26, + VT_MAP1_NAME = 28 + }; + const ::flatbuffers::String *id() const { + return GetPointer(VT_ID); + } + float param0() const { + return GetField(VT_PARAM0, 0.0f); + } + float param1() const { + return GetField(VT_PARAM1, 0.0f); + } + float param2() const { + return GetField(VT_PARAM2, 0.0f); + } + float param3() const { + return GetField(VT_PARAM3, 0.0f); + } + float param4() const { + return GetField(VT_PARAM4, 0.0f); + } + float param5() const { + return GetField(VT_PARAM5, 0.0f); + } + float param6() const { + return GetField(VT_PARAM6, 0.0f); + } + float param7() const { + return GetField(VT_PARAM7, 0.0f); + } + int32_t map0_id() const { + return GetField(VT_MAP0_ID, 0); + } + const ::flatbuffers::String *map0_name() const { + return GetPointer(VT_MAP0_NAME); + } + int32_t map1_id() const { + return GetField(VT_MAP1_ID, 0); + } + const ::flatbuffers::String *map1_name() const { + return GetPointer(VT_MAP1_NAME); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_ID) && + verifier.VerifyString(id()) && + VerifyField(verifier, VT_PARAM0, 4) && + VerifyField(verifier, VT_PARAM1, 4) && + VerifyField(verifier, VT_PARAM2, 4) && + VerifyField(verifier, VT_PARAM3, 4) && + VerifyField(verifier, VT_PARAM4, 4) && + VerifyField(verifier, VT_PARAM5, 4) && + VerifyField(verifier, VT_PARAM6, 4) && + VerifyField(verifier, VT_PARAM7, 4) && + VerifyField(verifier, VT_MAP0_ID, 4) && + VerifyOffset(verifier, VT_MAP0_NAME) && + verifier.VerifyString(map0_name()) && + VerifyField(verifier, VT_MAP1_ID, 4) && + VerifyOffset(verifier, VT_MAP1_NAME) && + verifier.VerifyString(map1_name()) && + verifier.EndTable(); + } +}; + +struct PartAttributeShaderBuilder { + typedef PartAttributeShader Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_id(::flatbuffers::Offset<::flatbuffers::String> id) { + fbb_.AddOffset(PartAttributeShader::VT_ID, id); + } + void add_param0(float param0) { + fbb_.AddElement(PartAttributeShader::VT_PARAM0, param0, 0.0f); + } + void add_param1(float param1) { + fbb_.AddElement(PartAttributeShader::VT_PARAM1, param1, 0.0f); + } + void add_param2(float param2) { + fbb_.AddElement(PartAttributeShader::VT_PARAM2, param2, 0.0f); + } + void add_param3(float param3) { + fbb_.AddElement(PartAttributeShader::VT_PARAM3, param3, 0.0f); + } + void add_param4(float param4) { + fbb_.AddElement(PartAttributeShader::VT_PARAM4, param4, 0.0f); + } + void add_param5(float param5) { + fbb_.AddElement(PartAttributeShader::VT_PARAM5, param5, 0.0f); + } + void add_param6(float param6) { + fbb_.AddElement(PartAttributeShader::VT_PARAM6, param6, 0.0f); + } + void add_param7(float param7) { + fbb_.AddElement(PartAttributeShader::VT_PARAM7, param7, 0.0f); + } + void add_map0_id(int32_t map0_id) { + fbb_.AddElement(PartAttributeShader::VT_MAP0_ID, map0_id, 0); + } + void add_map0_name(::flatbuffers::Offset<::flatbuffers::String> map0_name) { + fbb_.AddOffset(PartAttributeShader::VT_MAP0_NAME, map0_name); + } + void add_map1_id(int32_t map1_id) { + fbb_.AddElement(PartAttributeShader::VT_MAP1_ID, map1_id, 0); + } + void add_map1_name(::flatbuffers::Offset<::flatbuffers::String> map1_name) { + fbb_.AddOffset(PartAttributeShader::VT_MAP1_NAME, map1_name); + } + explicit PartAttributeShaderBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeShader( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> id = 0, + float param0 = 0.0f, + float param1 = 0.0f, + float param2 = 0.0f, + float param3 = 0.0f, + float param4 = 0.0f, + float param5 = 0.0f, + float param6 = 0.0f, + float param7 = 0.0f, + int32_t map0_id = 0, + ::flatbuffers::Offset<::flatbuffers::String> map0_name = 0, + int32_t map1_id = 0, + ::flatbuffers::Offset<::flatbuffers::String> map1_name = 0) { + PartAttributeShaderBuilder builder_(_fbb); + builder_.add_map1_name(map1_name); + builder_.add_map1_id(map1_id); + builder_.add_map0_name(map0_name); + builder_.add_map0_id(map0_id); + builder_.add_param7(param7); + builder_.add_param6(param6); + builder_.add_param5(param5); + builder_.add_param4(param4); + builder_.add_param3(param3); + builder_.add_param2(param2); + builder_.add_param1(param1); + builder_.add_param0(param0); + builder_.add_id(id); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeShaderDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *id = nullptr, + float param0 = 0.0f, + float param1 = 0.0f, + float param2 = 0.0f, + float param3 = 0.0f, + float param4 = 0.0f, + float param5 = 0.0f, + float param6 = 0.0f, + float param7 = 0.0f, + int32_t map0_id = 0, + const char *map0_name = nullptr, + int32_t map1_id = 0, + const char *map1_name = nullptr) { + auto id__ = id ? _fbb.CreateString(id) : 0; + auto map0_name__ = map0_name ? _fbb.CreateString(map0_name) : 0; + auto map1_name__ = map1_name ? _fbb.CreateString(map1_name) : 0; + return ss::runtime::CreatePartAttributeShader( + _fbb, + id__, + param0, + param1, + param2, + param3, + param4, + param5, + param6, + param7, + map0_id, + map0_name__, + map1_id, + map1_name__); +} + +struct PartState FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartStateBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PART_INDEX = 4, + VT_UPDATE_FLAG = 6, + VT_CELL = 8, + VT_POSITION_X = 10, + VT_POSITION_Y = 12, + VT_POSITION_Z = 14, + VT_ROTATION_X = 16, + VT_ROTATION_Y = 18, + VT_ROTATION_Z = 20, + VT_SCALE_X = 22, + VT_SCALE_Y = 24, + VT_LOCAL_SCALE_X = 26, + VT_LOCAL_SCALE_Y = 28, + VT_OPACITY = 30, + VT_LOCALOPACITY = 32, + VT_PRIORITY = 34, + VT_FLIP_V = 36, + VT_FLIP_H = 38, + VT_HIDE = 40, + VT_PARTS_COLOR = 42, + VT_SHADER = 44, + VT_VERTEX = 46, + VT_PIVOT_X = 48, + VT_PIVOT_Y = 50, + VT_ANCHOR_X = 52, + VT_ANCHOR_Y = 54, + VT_SIZE_X = 56, + VT_SIZE_Y = 58, + VT_IMG_FLIP_H = 60, + VT_IMG_FLIP_V = 62, + VT_UV_MOVE_X = 64, + VT_UV_MOVE_Y = 66, + VT_UV_MOVE_Z = 68, + VT_UV_SCALE_X = 70, + VT_UV_SCALE_Y = 72, + VT_BOUNDING_RADIUS = 74, + VT_MASK = 76, + VT_SKEW_X = 78, + VT_SKEW_Y = 80, + VT_DEFORM = 82, + VT_TEXTURE = 84 + }; + uint16_t part_index() const { + return GetField(VT_PART_INDEX, 0); + } + ss::runtime::UpdateAttributeFlags update_flag() const { + return static_cast(GetField(VT_UPDATE_FLAG, 0)); + } + const ss::runtime::PartAttributeCell *cell() const { + return GetPointer(VT_CELL); + } + float position_x() const { + return GetField(VT_POSITION_X, 0.0f); + } + float position_y() const { + return GetField(VT_POSITION_Y, 0.0f); + } + float position_z() const { + return GetField(VT_POSITION_Z, 0.0f); + } + float rotation_x() const { + return GetField(VT_ROTATION_X, 0.0f); + } + float rotation_y() const { + return GetField(VT_ROTATION_Y, 0.0f); + } + float rotation_z() const { + return GetField(VT_ROTATION_Z, 0.0f); + } + float scale_x() const { + return GetField(VT_SCALE_X, 1.0f); + } + float scale_y() const { + return GetField(VT_SCALE_Y, 1.0f); + } + float local_scale_x() const { + return GetField(VT_LOCAL_SCALE_X, 1.0f); + } + float local_scale_y() const { + return GetField(VT_LOCAL_SCALE_Y, 1.0f); + } + float opacity() const { + return GetField(VT_OPACITY, 1.0f); + } + float localopacity() const { + return GetField(VT_LOCALOPACITY, 1.0f); + } + int32_t priority() const { + return GetField(VT_PRIORITY, 0); + } + bool flip_v() const { + return GetField(VT_FLIP_V, 0) != 0; + } + bool flip_h() const { + return GetField(VT_FLIP_H, 0) != 0; + } + bool hide() const { + return GetField(VT_HIDE, 0) != 0; + } + const ss::runtime::PartAttributePartColor *parts_color() const { + return GetPointer(VT_PARTS_COLOR); + } + const ss::runtime::PartAttributeShader *shader() const { + return GetPointer(VT_SHADER); + } + const ss::runtime::PartAttributeVertex *vertex() const { + return GetStruct(VT_VERTEX); + } + float pivot_x() const { + return GetField(VT_PIVOT_X, 0.0f); + } + float pivot_y() const { + return GetField(VT_PIVOT_Y, 0.0f); + } + float anchor_x() const { + return GetField(VT_ANCHOR_X, 0.0f); + } + float anchor_y() const { + return GetField(VT_ANCHOR_Y, 0.0f); + } + float size_x() const { + return GetField(VT_SIZE_X, 1.0f); + } + float size_y() const { + return GetField(VT_SIZE_Y, 1.0f); + } + bool img_flip_h() const { + return GetField(VT_IMG_FLIP_H, 0) != 0; + } + bool img_flip_v() const { + return GetField(VT_IMG_FLIP_V, 0) != 0; + } + float uv_move_x() const { + return GetField(VT_UV_MOVE_X, 0.0f); + } + float uv_move_y() const { + return GetField(VT_UV_MOVE_Y, 0.0f); + } + float uv_move_z() const { + return GetField(VT_UV_MOVE_Z, 0.0f); + } + float uv_scale_x() const { + return GetField(VT_UV_SCALE_X, 1.0f); + } + float uv_scale_y() const { + return GetField(VT_UV_SCALE_Y, 1.0f); + } + float bounding_radius() const { + return GetField(VT_BOUNDING_RADIUS, 0.0f); + } + float mask() const { + return GetField(VT_MASK, 0.0f); + } + float skew_x() const { + return GetField(VT_SKEW_X, 0.0f); + } + float skew_y() const { + return GetField(VT_SKEW_Y, 0.0f); + } + const ss::runtime::PartAttributeDeform *deform() const { + return GetPointer(VT_DEFORM); + } + int32_t texture() const { + return GetField(VT_TEXTURE, -1); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PART_INDEX, 2) && + VerifyField(verifier, VT_UPDATE_FLAG, 8) && + VerifyOffset(verifier, VT_CELL) && + verifier.VerifyTable(cell()) && + VerifyField(verifier, VT_POSITION_X, 4) && + VerifyField(verifier, VT_POSITION_Y, 4) && + VerifyField(verifier, VT_POSITION_Z, 4) && + VerifyField(verifier, VT_ROTATION_X, 4) && + VerifyField(verifier, VT_ROTATION_Y, 4) && + VerifyField(verifier, VT_ROTATION_Z, 4) && + VerifyField(verifier, VT_SCALE_X, 4) && + VerifyField(verifier, VT_SCALE_Y, 4) && + VerifyField(verifier, VT_LOCAL_SCALE_X, 4) && + VerifyField(verifier, VT_LOCAL_SCALE_Y, 4) && + VerifyField(verifier, VT_OPACITY, 4) && + VerifyField(verifier, VT_LOCALOPACITY, 4) && + VerifyField(verifier, VT_PRIORITY, 4) && + VerifyField(verifier, VT_FLIP_V, 1) && + VerifyField(verifier, VT_FLIP_H, 1) && + VerifyField(verifier, VT_HIDE, 1) && + VerifyOffset(verifier, VT_PARTS_COLOR) && + verifier.VerifyTable(parts_color()) && + VerifyOffset(verifier, VT_SHADER) && + verifier.VerifyTable(shader()) && + VerifyField(verifier, VT_VERTEX, 4) && + VerifyField(verifier, VT_PIVOT_X, 4) && + VerifyField(verifier, VT_PIVOT_Y, 4) && + VerifyField(verifier, VT_ANCHOR_X, 4) && + VerifyField(verifier, VT_ANCHOR_Y, 4) && + VerifyField(verifier, VT_SIZE_X, 4) && + VerifyField(verifier, VT_SIZE_Y, 4) && + VerifyField(verifier, VT_IMG_FLIP_H, 1) && + VerifyField(verifier, VT_IMG_FLIP_V, 1) && + VerifyField(verifier, VT_UV_MOVE_X, 4) && + VerifyField(verifier, VT_UV_MOVE_Y, 4) && + VerifyField(verifier, VT_UV_MOVE_Z, 4) && + VerifyField(verifier, VT_UV_SCALE_X, 4) && + VerifyField(verifier, VT_UV_SCALE_Y, 4) && + VerifyField(verifier, VT_BOUNDING_RADIUS, 4) && + VerifyField(verifier, VT_MASK, 4) && + VerifyField(verifier, VT_SKEW_X, 4) && + VerifyField(verifier, VT_SKEW_Y, 4) && + VerifyOffset(verifier, VT_DEFORM) && + verifier.VerifyTable(deform()) && + VerifyField(verifier, VT_TEXTURE, 4) && + verifier.EndTable(); + } +}; + +struct PartStateBuilder { + typedef PartState Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_part_index(uint16_t part_index) { + fbb_.AddElement(PartState::VT_PART_INDEX, part_index, 0); + } + void add_update_flag(ss::runtime::UpdateAttributeFlags update_flag) { + fbb_.AddElement(PartState::VT_UPDATE_FLAG, static_cast(update_flag), 0); + } + void add_cell(::flatbuffers::Offset cell) { + fbb_.AddOffset(PartState::VT_CELL, cell); + } + void add_position_x(float position_x) { + fbb_.AddElement(PartState::VT_POSITION_X, position_x, 0.0f); + } + void add_position_y(float position_y) { + fbb_.AddElement(PartState::VT_POSITION_Y, position_y, 0.0f); + } + void add_position_z(float position_z) { + fbb_.AddElement(PartState::VT_POSITION_Z, position_z, 0.0f); + } + void add_rotation_x(float rotation_x) { + fbb_.AddElement(PartState::VT_ROTATION_X, rotation_x, 0.0f); + } + void add_rotation_y(float rotation_y) { + fbb_.AddElement(PartState::VT_ROTATION_Y, rotation_y, 0.0f); + } + void add_rotation_z(float rotation_z) { + fbb_.AddElement(PartState::VT_ROTATION_Z, rotation_z, 0.0f); + } + void add_scale_x(float scale_x) { + fbb_.AddElement(PartState::VT_SCALE_X, scale_x, 1.0f); + } + void add_scale_y(float scale_y) { + fbb_.AddElement(PartState::VT_SCALE_Y, scale_y, 1.0f); + } + void add_local_scale_x(float local_scale_x) { + fbb_.AddElement(PartState::VT_LOCAL_SCALE_X, local_scale_x, 1.0f); + } + void add_local_scale_y(float local_scale_y) { + fbb_.AddElement(PartState::VT_LOCAL_SCALE_Y, local_scale_y, 1.0f); + } + void add_opacity(float opacity) { + fbb_.AddElement(PartState::VT_OPACITY, opacity, 1.0f); + } + void add_localopacity(float localopacity) { + fbb_.AddElement(PartState::VT_LOCALOPACITY, localopacity, 1.0f); + } + void add_priority(int32_t priority) { + fbb_.AddElement(PartState::VT_PRIORITY, priority, 0); + } + void add_flip_v(bool flip_v) { + fbb_.AddElement(PartState::VT_FLIP_V, static_cast(flip_v), 0); + } + void add_flip_h(bool flip_h) { + fbb_.AddElement(PartState::VT_FLIP_H, static_cast(flip_h), 0); + } + void add_hide(bool hide) { + fbb_.AddElement(PartState::VT_HIDE, static_cast(hide), 0); + } + void add_parts_color(::flatbuffers::Offset parts_color) { + fbb_.AddOffset(PartState::VT_PARTS_COLOR, parts_color); + } + void add_shader(::flatbuffers::Offset shader) { + fbb_.AddOffset(PartState::VT_SHADER, shader); + } + void add_vertex(const ss::runtime::PartAttributeVertex *vertex) { + fbb_.AddStruct(PartState::VT_VERTEX, vertex); + } + void add_pivot_x(float pivot_x) { + fbb_.AddElement(PartState::VT_PIVOT_X, pivot_x, 0.0f); + } + void add_pivot_y(float pivot_y) { + fbb_.AddElement(PartState::VT_PIVOT_Y, pivot_y, 0.0f); + } + void add_anchor_x(float anchor_x) { + fbb_.AddElement(PartState::VT_ANCHOR_X, anchor_x, 0.0f); + } + void add_anchor_y(float anchor_y) { + fbb_.AddElement(PartState::VT_ANCHOR_Y, anchor_y, 0.0f); + } + void add_size_x(float size_x) { + fbb_.AddElement(PartState::VT_SIZE_X, size_x, 1.0f); + } + void add_size_y(float size_y) { + fbb_.AddElement(PartState::VT_SIZE_Y, size_y, 1.0f); + } + void add_img_flip_h(bool img_flip_h) { + fbb_.AddElement(PartState::VT_IMG_FLIP_H, static_cast(img_flip_h), 0); + } + void add_img_flip_v(bool img_flip_v) { + fbb_.AddElement(PartState::VT_IMG_FLIP_V, static_cast(img_flip_v), 0); + } + void add_uv_move_x(float uv_move_x) { + fbb_.AddElement(PartState::VT_UV_MOVE_X, uv_move_x, 0.0f); + } + void add_uv_move_y(float uv_move_y) { + fbb_.AddElement(PartState::VT_UV_MOVE_Y, uv_move_y, 0.0f); + } + void add_uv_move_z(float uv_move_z) { + fbb_.AddElement(PartState::VT_UV_MOVE_Z, uv_move_z, 0.0f); + } + void add_uv_scale_x(float uv_scale_x) { + fbb_.AddElement(PartState::VT_UV_SCALE_X, uv_scale_x, 1.0f); + } + void add_uv_scale_y(float uv_scale_y) { + fbb_.AddElement(PartState::VT_UV_SCALE_Y, uv_scale_y, 1.0f); + } + void add_bounding_radius(float bounding_radius) { + fbb_.AddElement(PartState::VT_BOUNDING_RADIUS, bounding_radius, 0.0f); + } + void add_mask(float mask) { + fbb_.AddElement(PartState::VT_MASK, mask, 0.0f); + } + void add_skew_x(float skew_x) { + fbb_.AddElement(PartState::VT_SKEW_X, skew_x, 0.0f); + } + void add_skew_y(float skew_y) { + fbb_.AddElement(PartState::VT_SKEW_Y, skew_y, 0.0f); + } + void add_deform(::flatbuffers::Offset deform) { + fbb_.AddOffset(PartState::VT_DEFORM, deform); + } + void add_texture(int32_t texture) { + fbb_.AddElement(PartState::VT_TEXTURE, texture, -1); + } + explicit PartStateBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartState( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + ss::runtime::UpdateAttributeFlags update_flag = static_cast(0), + ::flatbuffers::Offset cell = 0, + float position_x = 0.0f, + float position_y = 0.0f, + float position_z = 0.0f, + float rotation_x = 0.0f, + float rotation_y = 0.0f, + float rotation_z = 0.0f, + float scale_x = 1.0f, + float scale_y = 1.0f, + float local_scale_x = 1.0f, + float local_scale_y = 1.0f, + float opacity = 1.0f, + float localopacity = 1.0f, + int32_t priority = 0, + bool flip_v = false, + bool flip_h = false, + bool hide = false, + ::flatbuffers::Offset parts_color = 0, + ::flatbuffers::Offset shader = 0, + const ss::runtime::PartAttributeVertex *vertex = nullptr, + float pivot_x = 0.0f, + float pivot_y = 0.0f, + float anchor_x = 0.0f, + float anchor_y = 0.0f, + float size_x = 1.0f, + float size_y = 1.0f, + bool img_flip_h = false, + bool img_flip_v = false, + float uv_move_x = 0.0f, + float uv_move_y = 0.0f, + float uv_move_z = 0.0f, + float uv_scale_x = 1.0f, + float uv_scale_y = 1.0f, + float bounding_radius = 0.0f, + float mask = 0.0f, + float skew_x = 0.0f, + float skew_y = 0.0f, + ::flatbuffers::Offset deform = 0, + int32_t texture = -1) { + PartStateBuilder builder_(_fbb); + builder_.add_update_flag(update_flag); + builder_.add_texture(texture); + builder_.add_deform(deform); + builder_.add_skew_y(skew_y); + builder_.add_skew_x(skew_x); + builder_.add_mask(mask); + builder_.add_bounding_radius(bounding_radius); + builder_.add_uv_scale_y(uv_scale_y); + builder_.add_uv_scale_x(uv_scale_x); + builder_.add_uv_move_z(uv_move_z); + builder_.add_uv_move_y(uv_move_y); + builder_.add_uv_move_x(uv_move_x); + builder_.add_size_y(size_y); + builder_.add_size_x(size_x); + builder_.add_anchor_y(anchor_y); + builder_.add_anchor_x(anchor_x); + builder_.add_pivot_y(pivot_y); + builder_.add_pivot_x(pivot_x); + builder_.add_vertex(vertex); + builder_.add_shader(shader); + builder_.add_parts_color(parts_color); + builder_.add_priority(priority); + builder_.add_localopacity(localopacity); + builder_.add_opacity(opacity); + builder_.add_local_scale_y(local_scale_y); + builder_.add_local_scale_x(local_scale_x); + builder_.add_scale_y(scale_y); + builder_.add_scale_x(scale_x); + builder_.add_rotation_z(rotation_z); + builder_.add_rotation_y(rotation_y); + builder_.add_rotation_x(rotation_x); + builder_.add_position_z(position_z); + builder_.add_position_y(position_y); + builder_.add_position_x(position_x); + builder_.add_cell(cell); + builder_.add_part_index(part_index); + builder_.add_img_flip_v(img_flip_v); + builder_.add_img_flip_h(img_flip_h); + builder_.add_hide(hide); + builder_.add_flip_h(flip_h); + builder_.add_flip_v(flip_v); + return builder_.Finish(); +} + +struct FrameData FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef FrameDataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PARTS = 4 + }; + const ::flatbuffers::Vector<::flatbuffers::Offset> *parts() const { + return GetPointer> *>(VT_PARTS); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_PARTS) && + verifier.VerifyVector(parts()) && + verifier.VerifyVectorOfTables(parts()) && + verifier.EndTable(); + } +}; + +struct FrameDataBuilder { + typedef FrameData Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_parts(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> parts) { + fbb_.AddOffset(FrameData::VT_PARTS, parts); + } + explicit FrameDataBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateFrameData( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> parts = 0) { + FrameDataBuilder builder_(_fbb); + builder_.add_parts(parts); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateFrameDataDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const std::vector<::flatbuffers::Offset> *parts = nullptr) { + auto parts__ = parts ? _fbb.CreateVector<::flatbuffers::Offset>(*parts) : 0; + return ss::runtime::CreateFrameData( + _fbb, + parts__); +} + +inline const ss::runtime::FrameData *GetFrameData(const void *buf) { + return ::flatbuffers::GetRoot(buf); +} + +inline const ss::runtime::FrameData *GetSizePrefixedFrameData(const void *buf) { + return ::flatbuffers::GetSizePrefixedRoot(buf); +} + +template +inline bool VerifyFrameDataBuffer( + ::flatbuffers::VerifierTemplate &verifier) { + return verifier.template VerifyBuffer(nullptr); +} + +template +inline bool VerifySizePrefixedFrameDataBuffer( + ::flatbuffers::VerifierTemplate &verifier) { + return verifier.template VerifySizePrefixedBuffer(nullptr); +} + +inline void FinishFrameDataBuffer( + ::flatbuffers::FlatBufferBuilder &fbb, + ::flatbuffers::Offset root) { + fbb.Finish(root); +} + +inline void FinishSizePrefixedFrameDataBuffer( + ::flatbuffers::FlatBufferBuilder &fbb, + ::flatbuffers::Offset root) { + fbb.FinishSizePrefixed(root); +} + +} // namespace runtime +} // namespace ss + +#endif // FLATBUFFERS_GENERATED_FRAMEDATA_SS_RUNTIME_H_ diff --git a/gd_spritestudio/runtime/initialize.h b/gd_spritestudio/runtime/initialize.h new file mode 100644 index 0000000..0741b4c --- /dev/null +++ b/gd_spritestudio/runtime/initialize.h @@ -0,0 +1,3268 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_INITIALIZE_SS_RUNTIME_H_ +#define FLATBUFFERS_GENERATED_INITIALIZE_SS_RUNTIME_H_ + +#include "flatbuffers/flatbuffers.h" + +// Ensure the included flatbuffers.h is the same version as when this file was +// generated, otherwise it may not be compatible. +static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && + FLATBUFFERS_VERSION_MINOR == 12 && + FLATBUFFERS_VERSION_REVISION == 19, + "Non-compatible flatbuffers version included"); + +namespace ss { +namespace runtime { + +struct Vec2; + +struct Rect; + +struct IntValueEntry; +struct IntValueEntryBuilder; + +struct FloatValueEntry; +struct FloatValueEntryBuilder; + +struct Vec2ValueEntry; +struct Vec2ValueEntryBuilder; + +struct RectValueEntry; +struct RectValueEntryBuilder; + +struct PartTypeNone; +struct PartTypeNoneBuilder; + +struct PartTypeShape; +struct PartTypeShapeBuilder; + +struct PartTypeText; +struct PartTypeTextBuilder; + +struct PartTypeNines; +struct PartTypeNinesBuilder; + +struct PartTypeInstance; +struct PartTypeInstanceBuilder; + +struct PartTypeEffect; +struct PartTypeEffectBuilder; + +struct PartData; +struct PartDataBuilder; + +struct Cell; +struct CellBuilder; + +struct CellMap; +struct CellMapBuilder; + +struct EffectParticlePointGravity; +struct EffectParticlePointGravityBuilder; + +struct RectAndVec2ValueTable; +struct RectAndVec2ValueTableBuilder; + +struct EffectParticleElementTransColor; +struct EffectParticleElementTransColorBuilder; + +struct EffectParticleElementInitColor; +struct EffectParticleElementInitColorBuilder; + +struct EffectParticleElementRotationTrans; +struct EffectParticleElementRotationTransBuilder; + +struct EffectParticleElementRotation; +struct EffectParticleElementRotationBuilder; + +struct EffectParticleElementBasic; +struct EffectParticleElementBasicBuilder; + +struct EffectNodeBehaviorWrapper; +struct EffectNodeBehaviorWrapperBuilder; + +struct EffectNode; +struct EffectNodeBuilder; + +struct Effect; +struct EffectBuilder; + +struct SoundFile; +struct SoundFileBuilder; + +struct SoundList; +struct SoundListBuilder; + +struct FontGlyphBitmap; +struct FontGlyphBitmapBuilder; + +struct FontBitmap; +struct FontBitmapBuilder; + +struct InitData; +struct InitDataBuilder; + +enum BoundsType : uint8_t { + BoundsType_None = 0, + BoundsType_Quad = 1, + BoundsType_Aabb = 2, + BoundsType_Circle = 3, + BoundsType_CircleSmin = 4, + BoundsType_CircleSmax = 5, + BoundsType_MIN = BoundsType_None, + BoundsType_MAX = BoundsType_CircleSmax +}; + +inline const BoundsType (&EnumValuesBoundsType())[6] { + static const BoundsType values[] = { + BoundsType_None, + BoundsType_Quad, + BoundsType_Aabb, + BoundsType_Circle, + BoundsType_CircleSmin, + BoundsType_CircleSmax + }; + return values; +} + +inline const char * const *EnumNamesBoundsType() { + static const char * const names[7] = { + "None", + "Quad", + "Aabb", + "Circle", + "CircleSmin", + "CircleSmax", + nullptr + }; + return names; +} + +inline const char *EnumNameBoundsType(BoundsType e) { + if (::flatbuffers::IsOutRange(e, BoundsType_None, BoundsType_CircleSmax)) return ""; + const size_t index = static_cast(e); + return EnumNamesBoundsType()[index]; +} + +enum BlendType : uint8_t { + BlendType_Mix = 0, + BlendType_Mul = 1, + BlendType_Add = 2, + BlendType_Sub = 3, + BlendType_Mulalpha = 4, + BlendType_Screen = 5, + BlendType_Exclusion = 6, + BlendType_Invert = 7, + BlendType_MIN = BlendType_Mix, + BlendType_MAX = BlendType_Invert +}; + +inline const BlendType (&EnumValuesBlendType())[8] { + static const BlendType values[] = { + BlendType_Mix, + BlendType_Mul, + BlendType_Add, + BlendType_Sub, + BlendType_Mulalpha, + BlendType_Screen, + BlendType_Exclusion, + BlendType_Invert + }; + return values; +} + +inline const char * const *EnumNamesBlendType() { + static const char * const names[9] = { + "Mix", + "Mul", + "Add", + "Sub", + "Mulalpha", + "Screen", + "Exclusion", + "Invert", + nullptr + }; + return names; +} + +inline const char *EnumNameBlendType(BlendType e) { + if (::flatbuffers::IsOutRange(e, BlendType_Mix, BlendType_Invert)) return ""; + const size_t index = static_cast(e); + return EnumNamesBlendType()[index]; +} + +enum RenderBlendType : uint8_t { + RenderBlendType_Mix = 0, + RenderBlendType_Add = 1, + RenderBlendType_MIN = RenderBlendType_Mix, + RenderBlendType_MAX = RenderBlendType_Add +}; + +inline const RenderBlendType (&EnumValuesRenderBlendType())[2] { + static const RenderBlendType values[] = { + RenderBlendType_Mix, + RenderBlendType_Add + }; + return values; +} + +inline const char * const *EnumNamesRenderBlendType() { + static const char * const names[3] = { + "Mix", + "Add", + nullptr + }; + return names; +} + +inline const char *EnumNameRenderBlendType(RenderBlendType e) { + if (::flatbuffers::IsOutRange(e, RenderBlendType_Mix, RenderBlendType_Add)) return ""; + const size_t index = static_cast(e); + return EnumNamesRenderBlendType()[index]; +} + +enum EffectNodeType : uint8_t { + EffectNodeType_Root = 0, + EffectNodeType_Emitter = 1, + EffectNodeType_Particle = 2, + EffectNodeType_MIN = EffectNodeType_Root, + EffectNodeType_MAX = EffectNodeType_Particle +}; + +inline const EffectNodeType (&EnumValuesEffectNodeType())[3] { + static const EffectNodeType values[] = { + EffectNodeType_Root, + EffectNodeType_Emitter, + EffectNodeType_Particle + }; + return values; +} + +inline const char * const *EnumNamesEffectNodeType() { + static const char * const names[4] = { + "Root", + "Emitter", + "Particle", + nullptr + }; + return names; +} + +inline const char *EnumNameEffectNodeType(EffectNodeType e) { + if (::flatbuffers::IsOutRange(e, EffectNodeType_Root, EffectNodeType_Particle)) return ""; + const size_t index = static_cast(e); + return EnumNamesEffectNodeType()[index]; +} + +enum TexWrapMode : uint8_t { + TexWrapMode_Clamp = 0, + TexWrapMode_Repeat = 1, + TexWrapMode_Mirror = 2, + TexWrapMode_MIN = TexWrapMode_Clamp, + TexWrapMode_MAX = TexWrapMode_Mirror +}; + +inline const TexWrapMode (&EnumValuesTexWrapMode())[3] { + static const TexWrapMode values[] = { + TexWrapMode_Clamp, + TexWrapMode_Repeat, + TexWrapMode_Mirror + }; + return values; +} + +inline const char * const *EnumNamesTexWrapMode() { + static const char * const names[4] = { + "Clamp", + "Repeat", + "Mirror", + nullptr + }; + return names; +} + +inline const char *EnumNameTexWrapMode(TexWrapMode e) { + if (::flatbuffers::IsOutRange(e, TexWrapMode_Clamp, TexWrapMode_Mirror)) return ""; + const size_t index = static_cast(e); + return EnumNamesTexWrapMode()[index]; +} + +enum TexFilterMode : uint8_t { + TexFilterMode_Nearest = 0, + TexFilterMode_Linear = 1, + TexFilterMode_MIN = TexFilterMode_Nearest, + TexFilterMode_MAX = TexFilterMode_Linear +}; + +inline const TexFilterMode (&EnumValuesTexFilterMode())[2] { + static const TexFilterMode values[] = { + TexFilterMode_Nearest, + TexFilterMode_Linear + }; + return values; +} + +inline const char * const *EnumNamesTexFilterMode() { + static const char * const names[3] = { + "Nearest", + "Linear", + nullptr + }; + return names; +} + +inline const char *EnumNameTexFilterMode(TexFilterMode e) { + if (::flatbuffers::IsOutRange(e, TexFilterMode_Nearest, TexFilterMode_Linear)) return ""; + const size_t index = static_cast(e); + return EnumNamesTexFilterMode()[index]; +} + +enum ShapeType : uint8_t { + ShapeType_Unknown = 0, + ShapeType_Triangle = 1, + ShapeType_Rectangle = 2, + ShapeType_Arrow = 3, + ShapeType_Star = 4, + ShapeType_MIN = ShapeType_Unknown, + ShapeType_MAX = ShapeType_Star +}; + +inline const ShapeType (&EnumValuesShapeType())[5] { + static const ShapeType values[] = { + ShapeType_Unknown, + ShapeType_Triangle, + ShapeType_Rectangle, + ShapeType_Arrow, + ShapeType_Star + }; + return values; +} + +inline const char * const *EnumNamesShapeType() { + static const char * const names[6] = { + "Unknown", + "Triangle", + "Rectangle", + "Arrow", + "Star", + nullptr + }; + return names; +} + +inline const char *EnumNameShapeType(ShapeType e) { + if (::flatbuffers::IsOutRange(e, ShapeType_Unknown, ShapeType_Star)) return ""; + const size_t index = static_cast(e); + return EnumNamesShapeType()[index]; +} + +enum TextAnchor : uint8_t { + TextAnchor_LT = 0, + TextAnchor_LC = 1, + TextAnchor_LB = 2, + TextAnchor_CT = 16, + TextAnchor_CC = 17, + TextAnchor_CB = 18, + TextAnchor_RT = 32, + TextAnchor_RC = 33, + TextAnchor_RB = 34, + TextAnchor_NO = 255, + TextAnchor_MIN = TextAnchor_LT, + TextAnchor_MAX = TextAnchor_NO +}; + +inline const TextAnchor (&EnumValuesTextAnchor())[10] { + static const TextAnchor values[] = { + TextAnchor_LT, + TextAnchor_LC, + TextAnchor_LB, + TextAnchor_CT, + TextAnchor_CC, + TextAnchor_CB, + TextAnchor_RT, + TextAnchor_RC, + TextAnchor_RB, + TextAnchor_NO + }; + return values; +} + +inline const char *EnumNameTextAnchor(TextAnchor e) { + switch (e) { + case TextAnchor_LT: return "LT"; + case TextAnchor_LC: return "LC"; + case TextAnchor_LB: return "LB"; + case TextAnchor_CT: return "CT"; + case TextAnchor_CC: return "CC"; + case TextAnchor_CB: return "CB"; + case TextAnchor_RT: return "RT"; + case TextAnchor_RC: return "RC"; + case TextAnchor_RB: return "RB"; + case TextAnchor_NO: return "NO"; + default: return ""; + } +} + +enum PartType : uint8_t { + PartType_NONE = 0, + PartType_PartTypeNull = 1, + PartType_PartTypeNormal = 2, + PartType_PartTypeShape = 3, + PartType_PartTypeText = 4, + PartType_PartTypeNines = 5, + PartType_PartTypeInstance = 6, + PartType_PartTypeArmature = 7, + PartType_PartTypeEffect = 8, + PartType_PartTypeMesh = 9, + PartType_PartTypeMovenode = 10, + PartType_PartTypeConstraint = 11, + PartType_PartTypeMask = 12, + PartType_PartTypeJoint = 13, + PartType_PartTypeBonepoint = 14, + PartType_PartTypeTransformConstraint = 15, + PartType_PartTypeCamera = 16, + PartType_PartTypeAudio = 17, + PartType_MIN = PartType_NONE, + PartType_MAX = PartType_PartTypeAudio +}; + +inline const PartType (&EnumValuesPartType())[18] { + static const PartType values[] = { + PartType_NONE, + PartType_PartTypeNull, + PartType_PartTypeNormal, + PartType_PartTypeShape, + PartType_PartTypeText, + PartType_PartTypeNines, + PartType_PartTypeInstance, + PartType_PartTypeArmature, + PartType_PartTypeEffect, + PartType_PartTypeMesh, + PartType_PartTypeMovenode, + PartType_PartTypeConstraint, + PartType_PartTypeMask, + PartType_PartTypeJoint, + PartType_PartTypeBonepoint, + PartType_PartTypeTransformConstraint, + PartType_PartTypeCamera, + PartType_PartTypeAudio + }; + return values; +} + +inline const char * const *EnumNamesPartType() { + static const char * const names[19] = { + "NONE", + "PartTypeNull", + "PartTypeNormal", + "PartTypeShape", + "PartTypeText", + "PartTypeNines", + "PartTypeInstance", + "PartTypeArmature", + "PartTypeEffect", + "PartTypeMesh", + "PartTypeMovenode", + "PartTypeConstraint", + "PartTypeMask", + "PartTypeJoint", + "PartTypeBonepoint", + "PartTypeTransformConstraint", + "PartTypeCamera", + "PartTypeAudio", + nullptr + }; + return names; +} + +inline const char *EnumNamePartType(PartType e) { + if (::flatbuffers::IsOutRange(e, PartType_NONE, PartType_PartTypeAudio)) return ""; + const size_t index = static_cast(e); + return EnumNamesPartType()[index]; +} + +template +bool VerifyPartType(::flatbuffers::VerifierTemplate &verifier, const void *obj, PartType type); +template +bool VerifyPartTypeVector(::flatbuffers::VerifierTemplate &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset> *values, const ::flatbuffers::Vector *types); + +enum EffectNodeBehavior : uint8_t { + EffectNodeBehavior_NONE = 0, + EffectNodeBehavior_EffectParticleElementBasic = 1, + EffectNodeBehavior_EffectParticleElementRndSeedChange = 2, + EffectNodeBehavior_EffectParticleElementDelay = 3, + EffectNodeBehavior_EffectParticleElementGravity = 4, + EffectNodeBehavior_EffectParticleElementPosition = 5, + EffectNodeBehavior_EffectParticleElementRotation = 6, + EffectNodeBehavior_EffectParticleElementRotationTrans = 7, + EffectNodeBehavior_EffectParticleElementTransSpeed = 8, + EffectNodeBehavior_EffectParticleElementTangentialAcceleration = 9, + EffectNodeBehavior_EffectParticleElementInitColor = 10, + EffectNodeBehavior_EffectParticleElementTransColor = 11, + EffectNodeBehavior_EffectParticleElementAlphaFade = 12, + EffectNodeBehavior_EffectParticleElementSize = 13, + EffectNodeBehavior_EffectParticleElementTransSize = 14, + EffectNodeBehavior_EffectParticlePointGravity = 15, + EffectNodeBehavior_EffectParticleTurnToDirectionEnabled = 16, + EffectNodeBehavior_EffectParticleInfiniteEmitEnabled = 17, + EffectNodeBehavior_MIN = EffectNodeBehavior_NONE, + EffectNodeBehavior_MAX = EffectNodeBehavior_EffectParticleInfiniteEmitEnabled +}; + +inline const EffectNodeBehavior (&EnumValuesEffectNodeBehavior())[18] { + static const EffectNodeBehavior values[] = { + EffectNodeBehavior_NONE, + EffectNodeBehavior_EffectParticleElementBasic, + EffectNodeBehavior_EffectParticleElementRndSeedChange, + EffectNodeBehavior_EffectParticleElementDelay, + EffectNodeBehavior_EffectParticleElementGravity, + EffectNodeBehavior_EffectParticleElementPosition, + EffectNodeBehavior_EffectParticleElementRotation, + EffectNodeBehavior_EffectParticleElementRotationTrans, + EffectNodeBehavior_EffectParticleElementTransSpeed, + EffectNodeBehavior_EffectParticleElementTangentialAcceleration, + EffectNodeBehavior_EffectParticleElementInitColor, + EffectNodeBehavior_EffectParticleElementTransColor, + EffectNodeBehavior_EffectParticleElementAlphaFade, + EffectNodeBehavior_EffectParticleElementSize, + EffectNodeBehavior_EffectParticleElementTransSize, + EffectNodeBehavior_EffectParticlePointGravity, + EffectNodeBehavior_EffectParticleTurnToDirectionEnabled, + EffectNodeBehavior_EffectParticleInfiniteEmitEnabled + }; + return values; +} + +inline const char * const *EnumNamesEffectNodeBehavior() { + static const char * const names[19] = { + "NONE", + "EffectParticleElementBasic", + "EffectParticleElementRndSeedChange", + "EffectParticleElementDelay", + "EffectParticleElementGravity", + "EffectParticleElementPosition", + "EffectParticleElementRotation", + "EffectParticleElementRotationTrans", + "EffectParticleElementTransSpeed", + "EffectParticleElementTangentialAcceleration", + "EffectParticleElementInitColor", + "EffectParticleElementTransColor", + "EffectParticleElementAlphaFade", + "EffectParticleElementSize", + "EffectParticleElementTransSize", + "EffectParticlePointGravity", + "EffectParticleTurnToDirectionEnabled", + "EffectParticleInfiniteEmitEnabled", + nullptr + }; + return names; +} + +inline const char *EnumNameEffectNodeBehavior(EffectNodeBehavior e) { + if (::flatbuffers::IsOutRange(e, EffectNodeBehavior_NONE, EffectNodeBehavior_EffectParticleInfiniteEmitEnabled)) return ""; + const size_t index = static_cast(e); + return EnumNamesEffectNodeBehavior()[index]; +} + +template +bool VerifyEffectNodeBehavior(::flatbuffers::VerifierTemplate &verifier, const void *obj, EffectNodeBehavior type); +template +bool VerifyEffectNodeBehaviorVector(::flatbuffers::VerifierTemplate &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset> *values, const ::flatbuffers::Vector *types); + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Vec2 FLATBUFFERS_FINAL_CLASS { + private: + float x_; + float y_; + + public: + Vec2() + : x_(0), + y_(0) { + } + Vec2(float _x, float _y) + : x_(::flatbuffers::EndianScalar(_x)), + y_(::flatbuffers::EndianScalar(_y)) { + } + float x() const { + return ::flatbuffers::EndianScalar(x_); + } + float y() const { + return ::flatbuffers::EndianScalar(y_); + } +}; +FLATBUFFERS_STRUCT_END(Vec2, 8); + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Rect FLATBUFFERS_FINAL_CLASS { + private: + float x1_; + float y1_; + float x2_; + float y2_; + + public: + Rect() + : x1_(0), + y1_(0), + x2_(0), + y2_(0) { + } + Rect(float _x1, float _y1, float _x2, float _y2) + : x1_(::flatbuffers::EndianScalar(_x1)), + y1_(::flatbuffers::EndianScalar(_y1)), + x2_(::flatbuffers::EndianScalar(_x2)), + y2_(::flatbuffers::EndianScalar(_y2)) { + } + float x1() const { + return ::flatbuffers::EndianScalar(x1_); + } + float y1() const { + return ::flatbuffers::EndianScalar(y1_); + } + float x2() const { + return ::flatbuffers::EndianScalar(x2_); + } + float y2() const { + return ::flatbuffers::EndianScalar(y2_); + } +}; +FLATBUFFERS_STRUCT_END(Rect, 16); + +struct IntValueEntry FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef IntValueEntryBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUE = 4 + }; + int32_t value() const { + return GetField(VT_VALUE, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct IntValueEntryBuilder { + typedef IntValueEntry Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_value(int32_t value) { + fbb_.AddElement(IntValueEntry::VT_VALUE, value, 0); + } + explicit IntValueEntryBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateIntValueEntry( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t value = 0) { + IntValueEntryBuilder builder_(_fbb); + builder_.add_value(value); + return builder_.Finish(); +} + +struct FloatValueEntry FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef FloatValueEntryBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUE = 4 + }; + float value() const { + return GetField(VT_VALUE, 0.0f); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct FloatValueEntryBuilder { + typedef FloatValueEntry Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_value(float value) { + fbb_.AddElement(FloatValueEntry::VT_VALUE, value, 0.0f); + } + explicit FloatValueEntryBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateFloatValueEntry( + ::flatbuffers::FlatBufferBuilder &_fbb, + float value = 0.0f) { + FloatValueEntryBuilder builder_(_fbb); + builder_.add_value(value); + return builder_.Finish(); +} + +struct Vec2ValueEntry FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef Vec2ValueEntryBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUE = 4 + }; + const ss::runtime::Vec2 *value() const { + return GetStruct(VT_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct Vec2ValueEntryBuilder { + typedef Vec2ValueEntry Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_value(const ss::runtime::Vec2 *value) { + fbb_.AddStruct(Vec2ValueEntry::VT_VALUE, value); + } + explicit Vec2ValueEntryBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateVec2ValueEntry( + ::flatbuffers::FlatBufferBuilder &_fbb, + const ss::runtime::Vec2 *value = nullptr) { + Vec2ValueEntryBuilder builder_(_fbb); + builder_.add_value(value); + return builder_.Finish(); +} + +struct RectValueEntry FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef RectValueEntryBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUE = 4 + }; + const ss::runtime::Rect *value() const { + return GetStruct(VT_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct RectValueEntryBuilder { + typedef RectValueEntry Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_value(const ss::runtime::Rect *value) { + fbb_.AddStruct(RectValueEntry::VT_VALUE, value); + } + explicit RectValueEntryBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateRectValueEntry( + ::flatbuffers::FlatBufferBuilder &_fbb, + const ss::runtime::Rect *value = nullptr) { + RectValueEntryBuilder builder_(_fbb); + builder_.add_value(value); + return builder_.Finish(); +} + +struct PartTypeNone FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartTypeNoneBuilder Builder; + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct PartTypeNoneBuilder { + typedef PartTypeNone Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + explicit PartTypeNoneBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartTypeNone( + ::flatbuffers::FlatBufferBuilder &_fbb) { + PartTypeNoneBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct PartTypeShape FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartTypeShapeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SHAPE_TYPE = 4, + VT_SHAPE_MASK = 6 + }; + ss::runtime::ShapeType shape_type() const { + return static_cast(GetField(VT_SHAPE_TYPE, 0)); + } + bool shape_mask() const { + return GetField(VT_SHAPE_MASK, 0) != 0; + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SHAPE_TYPE, 1) && + VerifyField(verifier, VT_SHAPE_MASK, 1) && + verifier.EndTable(); + } +}; + +struct PartTypeShapeBuilder { + typedef PartTypeShape Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_shape_type(ss::runtime::ShapeType shape_type) { + fbb_.AddElement(PartTypeShape::VT_SHAPE_TYPE, static_cast(shape_type), 0); + } + void add_shape_mask(bool shape_mask) { + fbb_.AddElement(PartTypeShape::VT_SHAPE_MASK, static_cast(shape_mask), 0); + } + explicit PartTypeShapeBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartTypeShape( + ::flatbuffers::FlatBufferBuilder &_fbb, + ss::runtime::ShapeType shape_type = ss::runtime::ShapeType_Unknown, + bool shape_mask = false) { + PartTypeShapeBuilder builder_(_fbb); + builder_.add_shape_mask(shape_mask); + builder_.add_shape_type(shape_type); + return builder_.Finish(); +} + +struct PartTypeText FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartTypeTextBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TEXT = 4, + VT_TEXT_BITMAP = 6, + VT_TEXT_FAMILY = 8, + VT_TEXT_CHAR_MAP = 10, + VT_TEXT_SIZE = 12, + VT_TEXT_SPACE = 14, + VT_TEXT_SMOOTH = 16, + VT_TEXT_MASK = 18, + VT_TEXT_WIDTH = 20, + VT_TEXT_HEIGHT = 22, + VT_E_ANCHOR = 24 + }; + const ::flatbuffers::String *text() const { + return GetPointer(VT_TEXT); + } + bool text_bitmap() const { + return GetField(VT_TEXT_BITMAP, 0) != 0; + } + const ::flatbuffers::String *text_family() const { + return GetPointer(VT_TEXT_FAMILY); + } + const ::flatbuffers::String *text_char_map() const { + return GetPointer(VT_TEXT_CHAR_MAP); + } + int32_t text_size() const { + return GetField(VT_TEXT_SIZE, 0); + } + float text_space() const { + return GetField(VT_TEXT_SPACE, 0.0f); + } + bool text_smooth() const { + return GetField(VT_TEXT_SMOOTH, 0) != 0; + } + bool text_mask() const { + return GetField(VT_TEXT_MASK, 0) != 0; + } + int32_t text_width() const { + return GetField(VT_TEXT_WIDTH, 0); + } + int32_t text_height() const { + return GetField(VT_TEXT_HEIGHT, 0); + } + ss::runtime::TextAnchor e_anchor() const { + return static_cast(GetField(VT_E_ANCHOR, 0)); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_TEXT) && + verifier.VerifyString(text()) && + VerifyField(verifier, VT_TEXT_BITMAP, 1) && + VerifyOffset(verifier, VT_TEXT_FAMILY) && + verifier.VerifyString(text_family()) && + VerifyOffset(verifier, VT_TEXT_CHAR_MAP) && + verifier.VerifyString(text_char_map()) && + VerifyField(verifier, VT_TEXT_SIZE, 4) && + VerifyField(verifier, VT_TEXT_SPACE, 4) && + VerifyField(verifier, VT_TEXT_SMOOTH, 1) && + VerifyField(verifier, VT_TEXT_MASK, 1) && + VerifyField(verifier, VT_TEXT_WIDTH, 4) && + VerifyField(verifier, VT_TEXT_HEIGHT, 4) && + VerifyField(verifier, VT_E_ANCHOR, 1) && + verifier.EndTable(); + } +}; + +struct PartTypeTextBuilder { + typedef PartTypeText Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_text(::flatbuffers::Offset<::flatbuffers::String> text) { + fbb_.AddOffset(PartTypeText::VT_TEXT, text); + } + void add_text_bitmap(bool text_bitmap) { + fbb_.AddElement(PartTypeText::VT_TEXT_BITMAP, static_cast(text_bitmap), 0); + } + void add_text_family(::flatbuffers::Offset<::flatbuffers::String> text_family) { + fbb_.AddOffset(PartTypeText::VT_TEXT_FAMILY, text_family); + } + void add_text_char_map(::flatbuffers::Offset<::flatbuffers::String> text_char_map) { + fbb_.AddOffset(PartTypeText::VT_TEXT_CHAR_MAP, text_char_map); + } + void add_text_size(int32_t text_size) { + fbb_.AddElement(PartTypeText::VT_TEXT_SIZE, text_size, 0); + } + void add_text_space(float text_space) { + fbb_.AddElement(PartTypeText::VT_TEXT_SPACE, text_space, 0.0f); + } + void add_text_smooth(bool text_smooth) { + fbb_.AddElement(PartTypeText::VT_TEXT_SMOOTH, static_cast(text_smooth), 0); + } + void add_text_mask(bool text_mask) { + fbb_.AddElement(PartTypeText::VT_TEXT_MASK, static_cast(text_mask), 0); + } + void add_text_width(int32_t text_width) { + fbb_.AddElement(PartTypeText::VT_TEXT_WIDTH, text_width, 0); + } + void add_text_height(int32_t text_height) { + fbb_.AddElement(PartTypeText::VT_TEXT_HEIGHT, text_height, 0); + } + void add_e_anchor(ss::runtime::TextAnchor e_anchor) { + fbb_.AddElement(PartTypeText::VT_E_ANCHOR, static_cast(e_anchor), 0); + } + explicit PartTypeTextBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartTypeText( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> text = 0, + bool text_bitmap = false, + ::flatbuffers::Offset<::flatbuffers::String> text_family = 0, + ::flatbuffers::Offset<::flatbuffers::String> text_char_map = 0, + int32_t text_size = 0, + float text_space = 0.0f, + bool text_smooth = false, + bool text_mask = false, + int32_t text_width = 0, + int32_t text_height = 0, + ss::runtime::TextAnchor e_anchor = ss::runtime::TextAnchor_LT) { + PartTypeTextBuilder builder_(_fbb); + builder_.add_text_height(text_height); + builder_.add_text_width(text_width); + builder_.add_text_space(text_space); + builder_.add_text_size(text_size); + builder_.add_text_char_map(text_char_map); + builder_.add_text_family(text_family); + builder_.add_text(text); + builder_.add_e_anchor(e_anchor); + builder_.add_text_mask(text_mask); + builder_.add_text_smooth(text_smooth); + builder_.add_text_bitmap(text_bitmap); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartTypeTextDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *text = nullptr, + bool text_bitmap = false, + const char *text_family = nullptr, + const char *text_char_map = nullptr, + int32_t text_size = 0, + float text_space = 0.0f, + bool text_smooth = false, + bool text_mask = false, + int32_t text_width = 0, + int32_t text_height = 0, + ss::runtime::TextAnchor e_anchor = ss::runtime::TextAnchor_LT) { + auto text__ = text ? _fbb.CreateString(text) : 0; + auto text_family__ = text_family ? _fbb.CreateString(text_family) : 0; + auto text_char_map__ = text_char_map ? _fbb.CreateString(text_char_map) : 0; + return ss::runtime::CreatePartTypeText( + _fbb, + text__, + text_bitmap, + text_family__, + text_char_map__, + text_size, + text_space, + text_smooth, + text_mask, + text_width, + text_height, + e_anchor); +} + +struct PartTypeNines FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartTypeNinesBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NINES_MARGIN_L = 4, + VT_NINES_MARGIN_R = 6, + VT_NINES_MARGIN_T = 8, + VT_NINES_MARGIN_B = 10, + VT_NINES_FILL_MODE = 12, + VT_NINES_MASK = 14 + }; + int32_t nines_margin_l() const { + return GetField(VT_NINES_MARGIN_L, 0); + } + int32_t nines_margin_r() const { + return GetField(VT_NINES_MARGIN_R, 0); + } + int32_t nines_margin_t() const { + return GetField(VT_NINES_MARGIN_T, 0); + } + int32_t nines_margin_b() const { + return GetField(VT_NINES_MARGIN_B, 0); + } + int32_t nines_fill_mode() const { + return GetField(VT_NINES_FILL_MODE, 0); + } + bool nines_mask() const { + return GetField(VT_NINES_MASK, 0) != 0; + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NINES_MARGIN_L, 4) && + VerifyField(verifier, VT_NINES_MARGIN_R, 4) && + VerifyField(verifier, VT_NINES_MARGIN_T, 4) && + VerifyField(verifier, VT_NINES_MARGIN_B, 4) && + VerifyField(verifier, VT_NINES_FILL_MODE, 4) && + VerifyField(verifier, VT_NINES_MASK, 1) && + verifier.EndTable(); + } +}; + +struct PartTypeNinesBuilder { + typedef PartTypeNines Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_nines_margin_l(int32_t nines_margin_l) { + fbb_.AddElement(PartTypeNines::VT_NINES_MARGIN_L, nines_margin_l, 0); + } + void add_nines_margin_r(int32_t nines_margin_r) { + fbb_.AddElement(PartTypeNines::VT_NINES_MARGIN_R, nines_margin_r, 0); + } + void add_nines_margin_t(int32_t nines_margin_t) { + fbb_.AddElement(PartTypeNines::VT_NINES_MARGIN_T, nines_margin_t, 0); + } + void add_nines_margin_b(int32_t nines_margin_b) { + fbb_.AddElement(PartTypeNines::VT_NINES_MARGIN_B, nines_margin_b, 0); + } + void add_nines_fill_mode(int32_t nines_fill_mode) { + fbb_.AddElement(PartTypeNines::VT_NINES_FILL_MODE, nines_fill_mode, 0); + } + void add_nines_mask(bool nines_mask) { + fbb_.AddElement(PartTypeNines::VT_NINES_MASK, static_cast(nines_mask), 0); + } + explicit PartTypeNinesBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartTypeNines( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t nines_margin_l = 0, + int32_t nines_margin_r = 0, + int32_t nines_margin_t = 0, + int32_t nines_margin_b = 0, + int32_t nines_fill_mode = 0, + bool nines_mask = false) { + PartTypeNinesBuilder builder_(_fbb); + builder_.add_nines_fill_mode(nines_fill_mode); + builder_.add_nines_margin_b(nines_margin_b); + builder_.add_nines_margin_t(nines_margin_t); + builder_.add_nines_margin_r(nines_margin_r); + builder_.add_nines_margin_l(nines_margin_l); + builder_.add_nines_mask(nines_mask); + return builder_.Finish(); +} + +struct PartTypeInstance FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartTypeInstanceBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_REF_ANIME = 4 + }; + const ::flatbuffers::String *ref_anime() const { + return GetPointer(VT_REF_ANIME); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_REF_ANIME) && + verifier.VerifyString(ref_anime()) && + verifier.EndTable(); + } +}; + +struct PartTypeInstanceBuilder { + typedef PartTypeInstance Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_ref_anime(::flatbuffers::Offset<::flatbuffers::String> ref_anime) { + fbb_.AddOffset(PartTypeInstance::VT_REF_ANIME, ref_anime); + } + explicit PartTypeInstanceBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartTypeInstance( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> ref_anime = 0) { + PartTypeInstanceBuilder builder_(_fbb); + builder_.add_ref_anime(ref_anime); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartTypeInstanceDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *ref_anime = nullptr) { + auto ref_anime__ = ref_anime ? _fbb.CreateString(ref_anime) : 0; + return ss::runtime::CreatePartTypeInstance( + _fbb, + ref_anime__); +} + +struct PartTypeEffect FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartTypeEffectBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_REF_EFFECT_NAME = 4 + }; + const ::flatbuffers::String *ref_effect_name() const { + return GetPointer(VT_REF_EFFECT_NAME); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_REF_EFFECT_NAME) && + verifier.VerifyString(ref_effect_name()) && + verifier.EndTable(); + } +}; + +struct PartTypeEffectBuilder { + typedef PartTypeEffect Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_ref_effect_name(::flatbuffers::Offset<::flatbuffers::String> ref_effect_name) { + fbb_.AddOffset(PartTypeEffect::VT_REF_EFFECT_NAME, ref_effect_name); + } + explicit PartTypeEffectBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartTypeEffect( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> ref_effect_name = 0) { + PartTypeEffectBuilder builder_(_fbb); + builder_.add_ref_effect_name(ref_effect_name); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartTypeEffectDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *ref_effect_name = nullptr) { + auto ref_effect_name__ = ref_effect_name ? _fbb.CreateString(ref_effect_name) : 0; + return ss::runtime::CreatePartTypeEffect( + _fbb, + ref_effect_name__); +} + +struct PartData FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartDataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_PARENT_INDEX = 6, + VT_BOUNDS_TYPE = 8, + VT_BLEND_TYPE = 10, + VT_PART_TYPE_TYPE = 12, + VT_PART_TYPE = 14 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + int16_t parent_index() const { + return GetField(VT_PARENT_INDEX, 0); + } + ss::runtime::BoundsType bounds_type() const { + return static_cast(GetField(VT_BOUNDS_TYPE, 0)); + } + ss::runtime::BlendType blend_type() const { + return static_cast(GetField(VT_BLEND_TYPE, 0)); + } + ss::runtime::PartType part_type_type() const { + return static_cast(GetField(VT_PART_TYPE_TYPE, 0)); + } + const void *part_type() const { + return GetPointer(VT_PART_TYPE); + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeNull() const { + return part_type_type() == ss::runtime::PartType_PartTypeNull ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeNormal() const { + return part_type_type() == ss::runtime::PartType_PartTypeNormal ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeShape *part_type_as_PartTypeShape() const { + return part_type_type() == ss::runtime::PartType_PartTypeShape ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeText *part_type_as_PartTypeText() const { + return part_type_type() == ss::runtime::PartType_PartTypeText ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNines *part_type_as_PartTypeNines() const { + return part_type_type() == ss::runtime::PartType_PartTypeNines ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeInstance *part_type_as_PartTypeInstance() const { + return part_type_type() == ss::runtime::PartType_PartTypeInstance ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeArmature() const { + return part_type_type() == ss::runtime::PartType_PartTypeArmature ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeEffect *part_type_as_PartTypeEffect() const { + return part_type_type() == ss::runtime::PartType_PartTypeEffect ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeMesh() const { + return part_type_type() == ss::runtime::PartType_PartTypeMesh ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeMovenode() const { + return part_type_type() == ss::runtime::PartType_PartTypeMovenode ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeConstraint() const { + return part_type_type() == ss::runtime::PartType_PartTypeConstraint ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeMask() const { + return part_type_type() == ss::runtime::PartType_PartTypeMask ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeJoint() const { + return part_type_type() == ss::runtime::PartType_PartTypeJoint ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeBonepoint() const { + return part_type_type() == ss::runtime::PartType_PartTypeBonepoint ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeTransformConstraint() const { + return part_type_type() == ss::runtime::PartType_PartTypeTransformConstraint ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeCamera() const { + return part_type_type() == ss::runtime::PartType_PartTypeCamera ? static_cast(part_type()) : nullptr; + } + const ss::runtime::PartTypeNone *part_type_as_PartTypeAudio() const { + return part_type_type() == ss::runtime::PartType_PartTypeAudio ? static_cast(part_type()) : nullptr; + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyField(verifier, VT_PARENT_INDEX, 2) && + VerifyField(verifier, VT_BOUNDS_TYPE, 1) && + VerifyField(verifier, VT_BLEND_TYPE, 1) && + VerifyField(verifier, VT_PART_TYPE_TYPE, 1) && + VerifyOffset(verifier, VT_PART_TYPE) && + VerifyPartType(verifier, part_type(), part_type_type()) && + verifier.EndTable(); + } +}; + +struct PartDataBuilder { + typedef PartData Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(PartData::VT_NAME, name); + } + void add_parent_index(int16_t parent_index) { + fbb_.AddElement(PartData::VT_PARENT_INDEX, parent_index, 0); + } + void add_bounds_type(ss::runtime::BoundsType bounds_type) { + fbb_.AddElement(PartData::VT_BOUNDS_TYPE, static_cast(bounds_type), 0); + } + void add_blend_type(ss::runtime::BlendType blend_type) { + fbb_.AddElement(PartData::VT_BLEND_TYPE, static_cast(blend_type), 0); + } + void add_part_type_type(ss::runtime::PartType part_type_type) { + fbb_.AddElement(PartData::VT_PART_TYPE_TYPE, static_cast(part_type_type), 0); + } + void add_part_type(::flatbuffers::Offset part_type) { + fbb_.AddOffset(PartData::VT_PART_TYPE, part_type); + } + explicit PartDataBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartData( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + int16_t parent_index = 0, + ss::runtime::BoundsType bounds_type = ss::runtime::BoundsType_None, + ss::runtime::BlendType blend_type = ss::runtime::BlendType_Mix, + ss::runtime::PartType part_type_type = ss::runtime::PartType_NONE, + ::flatbuffers::Offset part_type = 0) { + PartDataBuilder builder_(_fbb); + builder_.add_part_type(part_type); + builder_.add_name(name); + builder_.add_parent_index(parent_index); + builder_.add_part_type_type(part_type_type); + builder_.add_blend_type(blend_type); + builder_.add_bounds_type(bounds_type); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartDataDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + int16_t parent_index = 0, + ss::runtime::BoundsType bounds_type = ss::runtime::BoundsType_None, + ss::runtime::BlendType blend_type = ss::runtime::BlendType_Mix, + ss::runtime::PartType part_type_type = ss::runtime::PartType_NONE, + ::flatbuffers::Offset part_type = 0) { + auto name__ = name ? _fbb.CreateString(name) : 0; + return ss::runtime::CreatePartData( + _fbb, + name__, + parent_index, + bounds_type, + blend_type, + part_type_type, + part_type); +} + +struct Cell FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef CellBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_RECTANGLE = 6, + VT_PIVOT = 8, + VT_ROTATED = 10, + VT_TABLE_COORDINATE = 12, + VT_TABLE_INDEX_VERTEX = 14 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const ss::runtime::Rect *rectangle() const { + return GetStruct(VT_RECTANGLE); + } + const ss::runtime::Vec2 *pivot() const { + return GetStruct(VT_PIVOT); + } + bool rotated() const { + return GetField(VT_ROTATED, 0) != 0; + } + const ::flatbuffers::Vector *table_coordinate() const { + return GetPointer *>(VT_TABLE_COORDINATE); + } + const ::flatbuffers::Vector *table_index_vertex() const { + return GetPointer *>(VT_TABLE_INDEX_VERTEX); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyField(verifier, VT_RECTANGLE, 4) && + VerifyField(verifier, VT_PIVOT, 4) && + VerifyField(verifier, VT_ROTATED, 1) && + VerifyOffset(verifier, VT_TABLE_COORDINATE) && + verifier.VerifyVector(table_coordinate()) && + VerifyOffset(verifier, VT_TABLE_INDEX_VERTEX) && + verifier.VerifyVector(table_index_vertex()) && + verifier.EndTable(); + } +}; + +struct CellBuilder { + typedef Cell Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(Cell::VT_NAME, name); + } + void add_rectangle(const ss::runtime::Rect *rectangle) { + fbb_.AddStruct(Cell::VT_RECTANGLE, rectangle); + } + void add_pivot(const ss::runtime::Vec2 *pivot) { + fbb_.AddStruct(Cell::VT_PIVOT, pivot); + } + void add_rotated(bool rotated) { + fbb_.AddElement(Cell::VT_ROTATED, static_cast(rotated), 0); + } + void add_table_coordinate(::flatbuffers::Offset<::flatbuffers::Vector> table_coordinate) { + fbb_.AddOffset(Cell::VT_TABLE_COORDINATE, table_coordinate); + } + void add_table_index_vertex(::flatbuffers::Offset<::flatbuffers::Vector> table_index_vertex) { + fbb_.AddOffset(Cell::VT_TABLE_INDEX_VERTEX, table_index_vertex); + } + explicit CellBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateCell( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + const ss::runtime::Rect *rectangle = nullptr, + const ss::runtime::Vec2 *pivot = nullptr, + bool rotated = false, + ::flatbuffers::Offset<::flatbuffers::Vector> table_coordinate = 0, + ::flatbuffers::Offset<::flatbuffers::Vector> table_index_vertex = 0) { + CellBuilder builder_(_fbb); + builder_.add_table_index_vertex(table_index_vertex); + builder_.add_table_coordinate(table_coordinate); + builder_.add_pivot(pivot); + builder_.add_rectangle(rectangle); + builder_.add_name(name); + builder_.add_rotated(rotated); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateCellDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const ss::runtime::Rect *rectangle = nullptr, + const ss::runtime::Vec2 *pivot = nullptr, + bool rotated = false, + const std::vector *table_coordinate = nullptr, + const std::vector *table_index_vertex = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto table_coordinate__ = table_coordinate ? _fbb.CreateVectorOfStructs(*table_coordinate) : 0; + auto table_index_vertex__ = table_index_vertex ? _fbb.CreateVector(*table_index_vertex) : 0; + return ss::runtime::CreateCell( + _fbb, + name__, + rectangle, + pivot, + rotated, + table_coordinate__, + table_index_vertex__); +} + +struct CellMap FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef CellMapBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_IMAGE_PATH = 6, + VT_SIZE_ORIGINAL = 8, + VT_WRAP_MODE = 10, + VT_FILTER_MODE = 12, + VT_CELLS = 14 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const ::flatbuffers::String *image_path() const { + return GetPointer(VT_IMAGE_PATH); + } + const ss::runtime::Vec2 *size_original() const { + return GetStruct(VT_SIZE_ORIGINAL); + } + ss::runtime::TexWrapMode wrap_mode() const { + return static_cast(GetField(VT_WRAP_MODE, 0)); + } + ss::runtime::TexFilterMode filter_mode() const { + return static_cast(GetField(VT_FILTER_MODE, 0)); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *cells() const { + return GetPointer> *>(VT_CELLS); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_IMAGE_PATH) && + verifier.VerifyString(image_path()) && + VerifyField(verifier, VT_SIZE_ORIGINAL, 4) && + VerifyField(verifier, VT_WRAP_MODE, 1) && + VerifyField(verifier, VT_FILTER_MODE, 1) && + VerifyOffset(verifier, VT_CELLS) && + verifier.VerifyVector(cells()) && + verifier.VerifyVectorOfTables(cells()) && + verifier.EndTable(); + } +}; + +struct CellMapBuilder { + typedef CellMap Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(CellMap::VT_NAME, name); + } + void add_image_path(::flatbuffers::Offset<::flatbuffers::String> image_path) { + fbb_.AddOffset(CellMap::VT_IMAGE_PATH, image_path); + } + void add_size_original(const ss::runtime::Vec2 *size_original) { + fbb_.AddStruct(CellMap::VT_SIZE_ORIGINAL, size_original); + } + void add_wrap_mode(ss::runtime::TexWrapMode wrap_mode) { + fbb_.AddElement(CellMap::VT_WRAP_MODE, static_cast(wrap_mode), 0); + } + void add_filter_mode(ss::runtime::TexFilterMode filter_mode) { + fbb_.AddElement(CellMap::VT_FILTER_MODE, static_cast(filter_mode), 0); + } + void add_cells(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> cells) { + fbb_.AddOffset(CellMap::VT_CELLS, cells); + } + explicit CellMapBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateCellMap( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + ::flatbuffers::Offset<::flatbuffers::String> image_path = 0, + const ss::runtime::Vec2 *size_original = nullptr, + ss::runtime::TexWrapMode wrap_mode = ss::runtime::TexWrapMode_Clamp, + ss::runtime::TexFilterMode filter_mode = ss::runtime::TexFilterMode_Nearest, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> cells = 0) { + CellMapBuilder builder_(_fbb); + builder_.add_cells(cells); + builder_.add_size_original(size_original); + builder_.add_image_path(image_path); + builder_.add_name(name); + builder_.add_filter_mode(filter_mode); + builder_.add_wrap_mode(wrap_mode); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateCellMapDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const char *image_path = nullptr, + const ss::runtime::Vec2 *size_original = nullptr, + ss::runtime::TexWrapMode wrap_mode = ss::runtime::TexWrapMode_Clamp, + ss::runtime::TexFilterMode filter_mode = ss::runtime::TexFilterMode_Nearest, + const std::vector<::flatbuffers::Offset> *cells = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto image_path__ = image_path ? _fbb.CreateString(image_path) : 0; + auto cells__ = cells ? _fbb.CreateVector<::flatbuffers::Offset>(*cells) : 0; + return ss::runtime::CreateCellMap( + _fbb, + name__, + image_path__, + size_original, + wrap_mode, + filter_mode, + cells__); +} + +struct EffectParticlePointGravity FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectParticlePointGravityBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_POSITION = 4, + VT_POWER = 6 + }; + const ss::runtime::Vec2 *position() const { + return GetStruct(VT_POSITION); + } + float power() const { + return GetField(VT_POWER, 0.0f); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_POSITION, 4) && + VerifyField(verifier, VT_POWER, 4) && + verifier.EndTable(); + } +}; + +struct EffectParticlePointGravityBuilder { + typedef EffectParticlePointGravity Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_position(const ss::runtime::Vec2 *position) { + fbb_.AddStruct(EffectParticlePointGravity::VT_POSITION, position); + } + void add_power(float power) { + fbb_.AddElement(EffectParticlePointGravity::VT_POWER, power, 0.0f); + } + explicit EffectParticlePointGravityBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectParticlePointGravity( + ::flatbuffers::FlatBufferBuilder &_fbb, + const ss::runtime::Vec2 *position = nullptr, + float power = 0.0f) { + EffectParticlePointGravityBuilder builder_(_fbb); + builder_.add_power(power); + builder_.add_position(position); + return builder_.Finish(); +} + +struct RectAndVec2ValueTable FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef RectAndVec2ValueTableBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SIZE = 4, + VT_SCALE_FACTOR_VALUE = 6 + }; + const ss::runtime::Rect *size() const { + return GetStruct(VT_SIZE); + } + const ss::runtime::Vec2 *scale_factor_value() const { + return GetStruct(VT_SCALE_FACTOR_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SIZE, 4) && + VerifyField(verifier, VT_SCALE_FACTOR_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct RectAndVec2ValueTableBuilder { + typedef RectAndVec2ValueTable Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_size(const ss::runtime::Rect *size) { + fbb_.AddStruct(RectAndVec2ValueTable::VT_SIZE, size); + } + void add_scale_factor_value(const ss::runtime::Vec2 *scale_factor_value) { + fbb_.AddStruct(RectAndVec2ValueTable::VT_SCALE_FACTOR_VALUE, scale_factor_value); + } + explicit RectAndVec2ValueTableBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateRectAndVec2ValueTable( + ::flatbuffers::FlatBufferBuilder &_fbb, + const ss::runtime::Rect *size = nullptr, + const ss::runtime::Vec2 *scale_factor_value = nullptr) { + RectAndVec2ValueTableBuilder builder_(_fbb); + builder_.add_scale_factor_value(scale_factor_value); + builder_.add_size(size); + return builder_.Finish(); +} + +struct EffectParticleElementTransColor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectParticleElementTransColorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COLOR_MIN_VALUE = 4, + VT_COLOR_MAX_VALUE = 6 + }; + uint32_t color_min_value() const { + return GetField(VT_COLOR_MIN_VALUE, 0); + } + uint32_t color_max_value() const { + return GetField(VT_COLOR_MAX_VALUE, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_COLOR_MIN_VALUE, 4) && + VerifyField(verifier, VT_COLOR_MAX_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct EffectParticleElementTransColorBuilder { + typedef EffectParticleElementTransColor Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_color_min_value(uint32_t color_min_value) { + fbb_.AddElement(EffectParticleElementTransColor::VT_COLOR_MIN_VALUE, color_min_value, 0); + } + void add_color_max_value(uint32_t color_max_value) { + fbb_.AddElement(EffectParticleElementTransColor::VT_COLOR_MAX_VALUE, color_max_value, 0); + } + explicit EffectParticleElementTransColorBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectParticleElementTransColor( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint32_t color_min_value = 0, + uint32_t color_max_value = 0) { + EffectParticleElementTransColorBuilder builder_(_fbb); + builder_.add_color_max_value(color_max_value); + builder_.add_color_min_value(color_min_value); + return builder_.Finish(); +} + +struct EffectParticleElementInitColor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectParticleElementInitColorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COLOR_MIN_VALUE = 4, + VT_COLOR_MAX_VALUE = 6 + }; + uint32_t color_min_value() const { + return GetField(VT_COLOR_MIN_VALUE, 0); + } + uint32_t color_max_value() const { + return GetField(VT_COLOR_MAX_VALUE, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_COLOR_MIN_VALUE, 4) && + VerifyField(verifier, VT_COLOR_MAX_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct EffectParticleElementInitColorBuilder { + typedef EffectParticleElementInitColor Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_color_min_value(uint32_t color_min_value) { + fbb_.AddElement(EffectParticleElementInitColor::VT_COLOR_MIN_VALUE, color_min_value, 0); + } + void add_color_max_value(uint32_t color_max_value) { + fbb_.AddElement(EffectParticleElementInitColor::VT_COLOR_MAX_VALUE, color_max_value, 0); + } + explicit EffectParticleElementInitColorBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectParticleElementInitColor( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint32_t color_min_value = 0, + uint32_t color_max_value = 0) { + EffectParticleElementInitColorBuilder builder_(_fbb); + builder_.add_color_max_value(color_max_value); + builder_.add_color_min_value(color_min_value); + return builder_.Finish(); +} + +struct EffectParticleElementRotationTrans FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectParticleElementRotationTransBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ROTATION_FACTOR = 4, + VT_END_LIFE_TIME_PER = 6 + }; + float rotation_factor() const { + return GetField(VT_ROTATION_FACTOR, 0.0f); + } + float end_life_time_per() const { + return GetField(VT_END_LIFE_TIME_PER, 0.0f); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ROTATION_FACTOR, 4) && + VerifyField(verifier, VT_END_LIFE_TIME_PER, 4) && + verifier.EndTable(); + } +}; + +struct EffectParticleElementRotationTransBuilder { + typedef EffectParticleElementRotationTrans Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_rotation_factor(float rotation_factor) { + fbb_.AddElement(EffectParticleElementRotationTrans::VT_ROTATION_FACTOR, rotation_factor, 0.0f); + } + void add_end_life_time_per(float end_life_time_per) { + fbb_.AddElement(EffectParticleElementRotationTrans::VT_END_LIFE_TIME_PER, end_life_time_per, 0.0f); + } + explicit EffectParticleElementRotationTransBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectParticleElementRotationTrans( + ::flatbuffers::FlatBufferBuilder &_fbb, + float rotation_factor = 0.0f, + float end_life_time_per = 0.0f) { + EffectParticleElementRotationTransBuilder builder_(_fbb); + builder_.add_end_life_time_per(end_life_time_per); + builder_.add_rotation_factor(rotation_factor); + return builder_.Finish(); +} + +struct EffectParticleElementRotation FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectParticleElementRotationBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ROTATION_VALUE = 4, + VT_ROTATION_ADD_VALUE = 6 + }; + const ss::runtime::Vec2 *rotation_value() const { + return GetStruct(VT_ROTATION_VALUE); + } + const ss::runtime::Vec2 *rotation_add_value() const { + return GetStruct(VT_ROTATION_ADD_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ROTATION_VALUE, 4) && + VerifyField(verifier, VT_ROTATION_ADD_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct EffectParticleElementRotationBuilder { + typedef EffectParticleElementRotation Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_rotation_value(const ss::runtime::Vec2 *rotation_value) { + fbb_.AddStruct(EffectParticleElementRotation::VT_ROTATION_VALUE, rotation_value); + } + void add_rotation_add_value(const ss::runtime::Vec2 *rotation_add_value) { + fbb_.AddStruct(EffectParticleElementRotation::VT_ROTATION_ADD_VALUE, rotation_add_value); + } + explicit EffectParticleElementRotationBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectParticleElementRotation( + ::flatbuffers::FlatBufferBuilder &_fbb, + const ss::runtime::Vec2 *rotation_value = nullptr, + const ss::runtime::Vec2 *rotation_add_value = nullptr) { + EffectParticleElementRotationBuilder builder_(_fbb); + builder_.add_rotation_add_value(rotation_add_value); + builder_.add_rotation_value(rotation_value); + return builder_.Finish(); +} + +struct EffectParticleElementBasic FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectParticleElementBasicBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PRIORITY = 4, + VT_MAXIMUM_PARTICLE = 6, + VT_ATTIME_CREATE = 8, + VT_INTERVAL = 10, + VT_LIFETIME = 12, + VT_SPEED_MIN_VALUE = 14, + VT_SPEED_MAX_VALUE = 16, + VT_LIFESPAN_MIN_VALUE = 18, + VT_LIFESPAN_MAX_VALUE = 20, + VT_ANGLE = 22, + VT_ANGLE_VARIANCE = 24 + }; + int32_t priority() const { + return GetField(VT_PRIORITY, 0); + } + int32_t maximum_particle() const { + return GetField(VT_MAXIMUM_PARTICLE, 0); + } + int32_t attime_create() const { + return GetField(VT_ATTIME_CREATE, 0); + } + int32_t interval() const { + return GetField(VT_INTERVAL, 0); + } + int32_t lifetime() const { + return GetField(VT_LIFETIME, 0); + } + float speed_min_value() const { + return GetField(VT_SPEED_MIN_VALUE, 0.0f); + } + float speed_max_value() const { + return GetField(VT_SPEED_MAX_VALUE, 0.0f); + } + int32_t lifespan_min_value() const { + return GetField(VT_LIFESPAN_MIN_VALUE, 0); + } + int32_t lifespan_max_value() const { + return GetField(VT_LIFESPAN_MAX_VALUE, 0); + } + float angle() const { + return GetField(VT_ANGLE, 0.0f); + } + float angle_variance() const { + return GetField(VT_ANGLE_VARIANCE, 0.0f); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PRIORITY, 4) && + VerifyField(verifier, VT_MAXIMUM_PARTICLE, 4) && + VerifyField(verifier, VT_ATTIME_CREATE, 4) && + VerifyField(verifier, VT_INTERVAL, 4) && + VerifyField(verifier, VT_LIFETIME, 4) && + VerifyField(verifier, VT_SPEED_MIN_VALUE, 4) && + VerifyField(verifier, VT_SPEED_MAX_VALUE, 4) && + VerifyField(verifier, VT_LIFESPAN_MIN_VALUE, 4) && + VerifyField(verifier, VT_LIFESPAN_MAX_VALUE, 4) && + VerifyField(verifier, VT_ANGLE, 4) && + VerifyField(verifier, VT_ANGLE_VARIANCE, 4) && + verifier.EndTable(); + } +}; + +struct EffectParticleElementBasicBuilder { + typedef EffectParticleElementBasic Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_priority(int32_t priority) { + fbb_.AddElement(EffectParticleElementBasic::VT_PRIORITY, priority, 0); + } + void add_maximum_particle(int32_t maximum_particle) { + fbb_.AddElement(EffectParticleElementBasic::VT_MAXIMUM_PARTICLE, maximum_particle, 0); + } + void add_attime_create(int32_t attime_create) { + fbb_.AddElement(EffectParticleElementBasic::VT_ATTIME_CREATE, attime_create, 0); + } + void add_interval(int32_t interval) { + fbb_.AddElement(EffectParticleElementBasic::VT_INTERVAL, interval, 0); + } + void add_lifetime(int32_t lifetime) { + fbb_.AddElement(EffectParticleElementBasic::VT_LIFETIME, lifetime, 0); + } + void add_speed_min_value(float speed_min_value) { + fbb_.AddElement(EffectParticleElementBasic::VT_SPEED_MIN_VALUE, speed_min_value, 0.0f); + } + void add_speed_max_value(float speed_max_value) { + fbb_.AddElement(EffectParticleElementBasic::VT_SPEED_MAX_VALUE, speed_max_value, 0.0f); + } + void add_lifespan_min_value(int32_t lifespan_min_value) { + fbb_.AddElement(EffectParticleElementBasic::VT_LIFESPAN_MIN_VALUE, lifespan_min_value, 0); + } + void add_lifespan_max_value(int32_t lifespan_max_value) { + fbb_.AddElement(EffectParticleElementBasic::VT_LIFESPAN_MAX_VALUE, lifespan_max_value, 0); + } + void add_angle(float angle) { + fbb_.AddElement(EffectParticleElementBasic::VT_ANGLE, angle, 0.0f); + } + void add_angle_variance(float angle_variance) { + fbb_.AddElement(EffectParticleElementBasic::VT_ANGLE_VARIANCE, angle_variance, 0.0f); + } + explicit EffectParticleElementBasicBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectParticleElementBasic( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t priority = 0, + int32_t maximum_particle = 0, + int32_t attime_create = 0, + int32_t interval = 0, + int32_t lifetime = 0, + float speed_min_value = 0.0f, + float speed_max_value = 0.0f, + int32_t lifespan_min_value = 0, + int32_t lifespan_max_value = 0, + float angle = 0.0f, + float angle_variance = 0.0f) { + EffectParticleElementBasicBuilder builder_(_fbb); + builder_.add_angle_variance(angle_variance); + builder_.add_angle(angle); + builder_.add_lifespan_max_value(lifespan_max_value); + builder_.add_lifespan_min_value(lifespan_min_value); + builder_.add_speed_max_value(speed_max_value); + builder_.add_speed_min_value(speed_min_value); + builder_.add_lifetime(lifetime); + builder_.add_interval(interval); + builder_.add_attime_create(attime_create); + builder_.add_maximum_particle(maximum_particle); + builder_.add_priority(priority); + return builder_.Finish(); +} + +struct EffectNodeBehaviorWrapper FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectNodeBehaviorWrapperBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUE_TYPE = 4, + VT_VALUE = 6 + }; + ss::runtime::EffectNodeBehavior value_type() const { + return static_cast(GetField(VT_VALUE_TYPE, 0)); + } + const void *value() const { + return GetPointer(VT_VALUE); + } + const ss::runtime::EffectParticleElementBasic *value_as_EffectParticleElementBasic() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementBasic ? static_cast(value()) : nullptr; + } + const ss::runtime::IntValueEntry *value_as_EffectParticleElementRndSeedChange() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementRndSeedChange ? static_cast(value()) : nullptr; + } + const ss::runtime::IntValueEntry *value_as_EffectParticleElementDelay() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementDelay ? static_cast(value()) : nullptr; + } + const ss::runtime::Vec2ValueEntry *value_as_EffectParticleElementGravity() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementGravity ? static_cast(value()) : nullptr; + } + const ss::runtime::RectValueEntry *value_as_EffectParticleElementPosition() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementPosition ? static_cast(value()) : nullptr; + } + const ss::runtime::EffectParticleElementRotation *value_as_EffectParticleElementRotation() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementRotation ? static_cast(value()) : nullptr; + } + const ss::runtime::EffectParticleElementRotationTrans *value_as_EffectParticleElementRotationTrans() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementRotationTrans ? static_cast(value()) : nullptr; + } + const ss::runtime::Vec2ValueEntry *value_as_EffectParticleElementTransSpeed() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementTransSpeed ? static_cast(value()) : nullptr; + } + const ss::runtime::Vec2ValueEntry *value_as_EffectParticleElementTangentialAcceleration() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementTangentialAcceleration ? static_cast(value()) : nullptr; + } + const ss::runtime::EffectParticleElementInitColor *value_as_EffectParticleElementInitColor() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementInitColor ? static_cast(value()) : nullptr; + } + const ss::runtime::EffectParticleElementTransColor *value_as_EffectParticleElementTransColor() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementTransColor ? static_cast(value()) : nullptr; + } + const ss::runtime::Vec2ValueEntry *value_as_EffectParticleElementAlphaFade() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementAlphaFade ? static_cast(value()) : nullptr; + } + const ss::runtime::RectAndVec2ValueTable *value_as_EffectParticleElementSize() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementSize ? static_cast(value()) : nullptr; + } + const ss::runtime::RectAndVec2ValueTable *value_as_EffectParticleElementTransSize() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleElementTransSize ? static_cast(value()) : nullptr; + } + const ss::runtime::EffectParticlePointGravity *value_as_EffectParticlePointGravity() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticlePointGravity ? static_cast(value()) : nullptr; + } + const ss::runtime::FloatValueEntry *value_as_EffectParticleTurnToDirectionEnabled() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleTurnToDirectionEnabled ? static_cast(value()) : nullptr; + } + const ss::runtime::IntValueEntry *value_as_EffectParticleInfiniteEmitEnabled() const { + return value_type() == ss::runtime::EffectNodeBehavior_EffectParticleInfiniteEmitEnabled ? static_cast(value()) : nullptr; + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUE_TYPE, 1) && + VerifyOffset(verifier, VT_VALUE) && + VerifyEffectNodeBehavior(verifier, value(), value_type()) && + verifier.EndTable(); + } +}; + +struct EffectNodeBehaviorWrapperBuilder { + typedef EffectNodeBehaviorWrapper Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_value_type(ss::runtime::EffectNodeBehavior value_type) { + fbb_.AddElement(EffectNodeBehaviorWrapper::VT_VALUE_TYPE, static_cast(value_type), 0); + } + void add_value(::flatbuffers::Offset value) { + fbb_.AddOffset(EffectNodeBehaviorWrapper::VT_VALUE, value); + } + explicit EffectNodeBehaviorWrapperBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectNodeBehaviorWrapper( + ::flatbuffers::FlatBufferBuilder &_fbb, + ss::runtime::EffectNodeBehavior value_type = ss::runtime::EffectNodeBehavior_NONE, + ::flatbuffers::Offset value = 0) { + EffectNodeBehaviorWrapperBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_value_type(value_type); + return builder_.Finish(); +} + +struct EffectNode FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectNodeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INDEX = 4, + VT_PARENT_INDEX = 6, + VT_EFFECT_NODE_TYPE_TYPE = 8, + VT_CELL_INDEX = 10, + VT_BLEND_TYPE = 12, + VT_BEHAVIOR = 14 + }; + int16_t index() const { + return GetField(VT_INDEX, 0); + } + int16_t parent_index() const { + return GetField(VT_PARENT_INDEX, 0); + } + ss::runtime::EffectNodeType effect_node_type_type() const { + return static_cast(GetField(VT_EFFECT_NODE_TYPE_TYPE, 0)); + } + int16_t cell_index() const { + return GetField(VT_CELL_INDEX, 0); + } + ss::runtime::RenderBlendType blend_type() const { + return static_cast(GetField(VT_BLEND_TYPE, 0)); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *behavior() const { + return GetPointer> *>(VT_BEHAVIOR); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_INDEX, 2) && + VerifyField(verifier, VT_PARENT_INDEX, 2) && + VerifyField(verifier, VT_EFFECT_NODE_TYPE_TYPE, 1) && + VerifyField(verifier, VT_CELL_INDEX, 2) && + VerifyField(verifier, VT_BLEND_TYPE, 1) && + VerifyOffset(verifier, VT_BEHAVIOR) && + verifier.VerifyVector(behavior()) && + verifier.VerifyVectorOfTables(behavior()) && + verifier.EndTable(); + } +}; + +struct EffectNodeBuilder { + typedef EffectNode Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_index(int16_t index) { + fbb_.AddElement(EffectNode::VT_INDEX, index, 0); + } + void add_parent_index(int16_t parent_index) { + fbb_.AddElement(EffectNode::VT_PARENT_INDEX, parent_index, 0); + } + void add_effect_node_type_type(ss::runtime::EffectNodeType effect_node_type_type) { + fbb_.AddElement(EffectNode::VT_EFFECT_NODE_TYPE_TYPE, static_cast(effect_node_type_type), 0); + } + void add_cell_index(int16_t cell_index) { + fbb_.AddElement(EffectNode::VT_CELL_INDEX, cell_index, 0); + } + void add_blend_type(ss::runtime::RenderBlendType blend_type) { + fbb_.AddElement(EffectNode::VT_BLEND_TYPE, static_cast(blend_type), 0); + } + void add_behavior(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> behavior) { + fbb_.AddOffset(EffectNode::VT_BEHAVIOR, behavior); + } + explicit EffectNodeBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffectNode( + ::flatbuffers::FlatBufferBuilder &_fbb, + int16_t index = 0, + int16_t parent_index = 0, + ss::runtime::EffectNodeType effect_node_type_type = ss::runtime::EffectNodeType_Root, + int16_t cell_index = 0, + ss::runtime::RenderBlendType blend_type = ss::runtime::RenderBlendType_Mix, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> behavior = 0) { + EffectNodeBuilder builder_(_fbb); + builder_.add_behavior(behavior); + builder_.add_cell_index(cell_index); + builder_.add_parent_index(parent_index); + builder_.add_index(index); + builder_.add_blend_type(blend_type); + builder_.add_effect_node_type_type(effect_node_type_type); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateEffectNodeDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + int16_t index = 0, + int16_t parent_index = 0, + ss::runtime::EffectNodeType effect_node_type_type = ss::runtime::EffectNodeType_Root, + int16_t cell_index = 0, + ss::runtime::RenderBlendType blend_type = ss::runtime::RenderBlendType_Mix, + const std::vector<::flatbuffers::Offset> *behavior = nullptr) { + auto behavior__ = behavior ? _fbb.CreateVector<::flatbuffers::Offset>(*behavior) : 0; + return ss::runtime::CreateEffectNode( + _fbb, + index, + parent_index, + effect_node_type_type, + cell_index, + blend_type, + behavior__); +} + +struct Effect FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EffectBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_FPS = 6, + VT_IS_LOCK_RAND_SEED = 8, + VT_LOCK_RAND_SEED = 10, + VT_LAYOUT_SCALE = 12, + VT_EFFECT_NODE = 14 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + int16_t fps() const { + return GetField(VT_FPS, 0); + } + bool is_lock_rand_seed() const { + return GetField(VT_IS_LOCK_RAND_SEED, 0) != 0; + } + int16_t lock_rand_seed() const { + return GetField(VT_LOCK_RAND_SEED, 0); + } + const ss::runtime::Vec2 *layout_scale() const { + return GetStruct(VT_LAYOUT_SCALE); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *effect_node() const { + return GetPointer> *>(VT_EFFECT_NODE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyField(verifier, VT_FPS, 2) && + VerifyField(verifier, VT_IS_LOCK_RAND_SEED, 1) && + VerifyField(verifier, VT_LOCK_RAND_SEED, 2) && + VerifyField(verifier, VT_LAYOUT_SCALE, 4) && + VerifyOffset(verifier, VT_EFFECT_NODE) && + verifier.VerifyVector(effect_node()) && + verifier.VerifyVectorOfTables(effect_node()) && + verifier.EndTable(); + } +}; + +struct EffectBuilder { + typedef Effect Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(Effect::VT_NAME, name); + } + void add_fps(int16_t fps) { + fbb_.AddElement(Effect::VT_FPS, fps, 0); + } + void add_is_lock_rand_seed(bool is_lock_rand_seed) { + fbb_.AddElement(Effect::VT_IS_LOCK_RAND_SEED, static_cast(is_lock_rand_seed), 0); + } + void add_lock_rand_seed(int16_t lock_rand_seed) { + fbb_.AddElement(Effect::VT_LOCK_RAND_SEED, lock_rand_seed, 0); + } + void add_layout_scale(const ss::runtime::Vec2 *layout_scale) { + fbb_.AddStruct(Effect::VT_LAYOUT_SCALE, layout_scale); + } + void add_effect_node(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> effect_node) { + fbb_.AddOffset(Effect::VT_EFFECT_NODE, effect_node); + } + explicit EffectBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEffect( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + int16_t fps = 0, + bool is_lock_rand_seed = false, + int16_t lock_rand_seed = 0, + const ss::runtime::Vec2 *layout_scale = nullptr, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> effect_node = 0) { + EffectBuilder builder_(_fbb); + builder_.add_effect_node(effect_node); + builder_.add_layout_scale(layout_scale); + builder_.add_name(name); + builder_.add_lock_rand_seed(lock_rand_seed); + builder_.add_fps(fps); + builder_.add_is_lock_rand_seed(is_lock_rand_seed); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateEffectDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + int16_t fps = 0, + bool is_lock_rand_seed = false, + int16_t lock_rand_seed = 0, + const ss::runtime::Vec2 *layout_scale = nullptr, + const std::vector<::flatbuffers::Offset> *effect_node = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto effect_node__ = effect_node ? _fbb.CreateVector<::flatbuffers::Offset>(*effect_node) : 0; + return ss::runtime::CreateEffect( + _fbb, + name__, + fps, + is_lock_rand_seed, + lock_rand_seed, + layout_scale, + effect_node__); +} + +struct SoundFile FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef SoundFileBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_TIME_TOTAL = 6 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + uint32_t time_total() const { + return GetField(VT_TIME_TOTAL, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyField(verifier, VT_TIME_TOTAL, 4) && + verifier.EndTable(); + } +}; + +struct SoundFileBuilder { + typedef SoundFile Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(SoundFile::VT_NAME, name); + } + void add_time_total(uint32_t time_total) { + fbb_.AddElement(SoundFile::VT_TIME_TOTAL, time_total, 0); + } + explicit SoundFileBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateSoundFile( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + uint32_t time_total = 0) { + SoundFileBuilder builder_(_fbb); + builder_.add_time_total(time_total); + builder_.add_name(name); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateSoundFileDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + uint32_t time_total = 0) { + auto name__ = name ? _fbb.CreateString(name) : 0; + return ss::runtime::CreateSoundFile( + _fbb, + name__, + time_total); +} + +struct SoundList FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef SoundListBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_TABLE_DATA = 6 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *table_data() const { + return GetPointer> *>(VT_TABLE_DATA); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_TABLE_DATA) && + verifier.VerifyVector(table_data()) && + verifier.VerifyVectorOfTables(table_data()) && + verifier.EndTable(); + } +}; + +struct SoundListBuilder { + typedef SoundList Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(SoundList::VT_NAME, name); + } + void add_table_data(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> table_data) { + fbb_.AddOffset(SoundList::VT_TABLE_DATA, table_data); + } + explicit SoundListBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateSoundList( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> table_data = 0) { + SoundListBuilder builder_(_fbb); + builder_.add_table_data(table_data); + builder_.add_name(name); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateSoundListDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const std::vector<::flatbuffers::Offset> *table_data = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto table_data__ = table_data ? _fbb.CreateVector<::flatbuffers::Offset>(*table_data) : 0; + return ss::runtime::CreateSoundList( + _fbb, + name__, + table_data__); +} + +struct FontGlyphBitmap FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef FontGlyphBitmapBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ID = 4, + VT_ATLAS = 6, + VT_OFFSET = 8, + VT_WIDTH_ADVANCE = 10, + VT_TEXT = 12, + VT_PAGE = 14, + VT_CHANNEL = 16 + }; + uint16_t id() const { + return GetField(VT_ID, 0); + } + const ss::runtime::Rect *atlas() const { + return GetStruct(VT_ATLAS); + } + const ss::runtime::Vec2 *offset() const { + return GetStruct(VT_OFFSET); + } + float width_advance() const { + return GetField(VT_WIDTH_ADVANCE, 0.0f); + } + const ::flatbuffers::String *text() const { + return GetPointer(VT_TEXT); + } + int8_t page() const { + return GetField(VT_PAGE, 0); + } + int8_t channel() const { + return GetField(VT_CHANNEL, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ID, 2) && + VerifyField(verifier, VT_ATLAS, 4) && + VerifyField(verifier, VT_OFFSET, 4) && + VerifyField(verifier, VT_WIDTH_ADVANCE, 4) && + VerifyOffset(verifier, VT_TEXT) && + verifier.VerifyString(text()) && + VerifyField(verifier, VT_PAGE, 1) && + VerifyField(verifier, VT_CHANNEL, 1) && + verifier.EndTable(); + } +}; + +struct FontGlyphBitmapBuilder { + typedef FontGlyphBitmap Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_id(uint16_t id) { + fbb_.AddElement(FontGlyphBitmap::VT_ID, id, 0); + } + void add_atlas(const ss::runtime::Rect *atlas) { + fbb_.AddStruct(FontGlyphBitmap::VT_ATLAS, atlas); + } + void add_offset(const ss::runtime::Vec2 *offset) { + fbb_.AddStruct(FontGlyphBitmap::VT_OFFSET, offset); + } + void add_width_advance(float width_advance) { + fbb_.AddElement(FontGlyphBitmap::VT_WIDTH_ADVANCE, width_advance, 0.0f); + } + void add_text(::flatbuffers::Offset<::flatbuffers::String> text) { + fbb_.AddOffset(FontGlyphBitmap::VT_TEXT, text); + } + void add_page(int8_t page) { + fbb_.AddElement(FontGlyphBitmap::VT_PAGE, page, 0); + } + void add_channel(int8_t channel) { + fbb_.AddElement(FontGlyphBitmap::VT_CHANNEL, channel, 0); + } + explicit FontGlyphBitmapBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateFontGlyphBitmap( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t id = 0, + const ss::runtime::Rect *atlas = nullptr, + const ss::runtime::Vec2 *offset = nullptr, + float width_advance = 0.0f, + ::flatbuffers::Offset<::flatbuffers::String> text = 0, + int8_t page = 0, + int8_t channel = 0) { + FontGlyphBitmapBuilder builder_(_fbb); + builder_.add_text(text); + builder_.add_width_advance(width_advance); + builder_.add_offset(offset); + builder_.add_atlas(atlas); + builder_.add_id(id); + builder_.add_channel(channel); + builder_.add_page(page); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateFontGlyphBitmapDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t id = 0, + const ss::runtime::Rect *atlas = nullptr, + const ss::runtime::Vec2 *offset = nullptr, + float width_advance = 0.0f, + const char *text = nullptr, + int8_t page = 0, + int8_t channel = 0) { + auto text__ = text ? _fbb.CreateString(text) : 0; + return ss::runtime::CreateFontGlyphBitmap( + _fbb, + id, + atlas, + offset, + width_advance, + text__, + page, + channel); +} + +struct FontBitmap FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef FontBitmapBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_NAME_FACE = 6, + VT_SIZE = 8, + VT_PADDING_L = 10, + VT_PADDING_R = 12, + VT_PADDING_U = 14, + VT_PADDING_D = 16, + VT_BASE = 18, + VT_HEIGHT_LINE = 20, + VT_SCALE = 22, + VT_SPACING = 24, + VT_SIZE_TEXTURE_ORIGINAL = 26, + VT_NAME_TEXTURE = 28, + VT_TABLE_DATA = 30 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const ::flatbuffers::String *name_face() const { + return GetPointer(VT_NAME_FACE); + } + uint16_t size() const { + return GetField(VT_SIZE, 0); + } + uint16_t padding_l() const { + return GetField(VT_PADDING_L, 0); + } + uint16_t padding_r() const { + return GetField(VT_PADDING_R, 0); + } + uint16_t padding_u() const { + return GetField(VT_PADDING_U, 0); + } + uint16_t padding_d() const { + return GetField(VT_PADDING_D, 0); + } + int16_t base() const { + return GetField(VT_BASE, 0); + } + int16_t height_line() const { + return GetField(VT_HEIGHT_LINE, 0); + } + const ss::runtime::Vec2 *scale() const { + return GetStruct(VT_SCALE); + } + const ss::runtime::Vec2 *spacing() const { + return GetStruct(VT_SPACING); + } + const ss::runtime::Vec2 *size_texture_original() const { + return GetStruct(VT_SIZE_TEXTURE_ORIGINAL); + } + const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *name_texture() const { + return GetPointer> *>(VT_NAME_TEXTURE); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *table_data() const { + return GetPointer> *>(VT_TABLE_DATA); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_NAME_FACE) && + verifier.VerifyString(name_face()) && + VerifyField(verifier, VT_SIZE, 2) && + VerifyField(verifier, VT_PADDING_L, 2) && + VerifyField(verifier, VT_PADDING_R, 2) && + VerifyField(verifier, VT_PADDING_U, 2) && + VerifyField(verifier, VT_PADDING_D, 2) && + VerifyField(verifier, VT_BASE, 2) && + VerifyField(verifier, VT_HEIGHT_LINE, 2) && + VerifyField(verifier, VT_SCALE, 4) && + VerifyField(verifier, VT_SPACING, 4) && + VerifyField(verifier, VT_SIZE_TEXTURE_ORIGINAL, 4) && + VerifyOffset(verifier, VT_NAME_TEXTURE) && + verifier.VerifyVector(name_texture()) && + verifier.VerifyVectorOfStrings(name_texture()) && + VerifyOffset(verifier, VT_TABLE_DATA) && + verifier.VerifyVector(table_data()) && + verifier.VerifyVectorOfTables(table_data()) && + verifier.EndTable(); + } +}; + +struct FontBitmapBuilder { + typedef FontBitmap Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(FontBitmap::VT_NAME, name); + } + void add_name_face(::flatbuffers::Offset<::flatbuffers::String> name_face) { + fbb_.AddOffset(FontBitmap::VT_NAME_FACE, name_face); + } + void add_size(uint16_t size) { + fbb_.AddElement(FontBitmap::VT_SIZE, size, 0); + } + void add_padding_l(uint16_t padding_l) { + fbb_.AddElement(FontBitmap::VT_PADDING_L, padding_l, 0); + } + void add_padding_r(uint16_t padding_r) { + fbb_.AddElement(FontBitmap::VT_PADDING_R, padding_r, 0); + } + void add_padding_u(uint16_t padding_u) { + fbb_.AddElement(FontBitmap::VT_PADDING_U, padding_u, 0); + } + void add_padding_d(uint16_t padding_d) { + fbb_.AddElement(FontBitmap::VT_PADDING_D, padding_d, 0); + } + void add_base(int16_t base) { + fbb_.AddElement(FontBitmap::VT_BASE, base, 0); + } + void add_height_line(int16_t height_line) { + fbb_.AddElement(FontBitmap::VT_HEIGHT_LINE, height_line, 0); + } + void add_scale(const ss::runtime::Vec2 *scale) { + fbb_.AddStruct(FontBitmap::VT_SCALE, scale); + } + void add_spacing(const ss::runtime::Vec2 *spacing) { + fbb_.AddStruct(FontBitmap::VT_SPACING, spacing); + } + void add_size_texture_original(const ss::runtime::Vec2 *size_texture_original) { + fbb_.AddStruct(FontBitmap::VT_SIZE_TEXTURE_ORIGINAL, size_texture_original); + } + void add_name_texture(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> name_texture) { + fbb_.AddOffset(FontBitmap::VT_NAME_TEXTURE, name_texture); + } + void add_table_data(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> table_data) { + fbb_.AddOffset(FontBitmap::VT_TABLE_DATA, table_data); + } + explicit FontBitmapBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateFontBitmap( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + ::flatbuffers::Offset<::flatbuffers::String> name_face = 0, + uint16_t size = 0, + uint16_t padding_l = 0, + uint16_t padding_r = 0, + uint16_t padding_u = 0, + uint16_t padding_d = 0, + int16_t base = 0, + int16_t height_line = 0, + const ss::runtime::Vec2 *scale = nullptr, + const ss::runtime::Vec2 *spacing = nullptr, + const ss::runtime::Vec2 *size_texture_original = nullptr, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> name_texture = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> table_data = 0) { + FontBitmapBuilder builder_(_fbb); + builder_.add_table_data(table_data); + builder_.add_name_texture(name_texture); + builder_.add_size_texture_original(size_texture_original); + builder_.add_spacing(spacing); + builder_.add_scale(scale); + builder_.add_name_face(name_face); + builder_.add_name(name); + builder_.add_height_line(height_line); + builder_.add_base(base); + builder_.add_padding_d(padding_d); + builder_.add_padding_u(padding_u); + builder_.add_padding_r(padding_r); + builder_.add_padding_l(padding_l); + builder_.add_size(size); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateFontBitmapDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const char *name_face = nullptr, + uint16_t size = 0, + uint16_t padding_l = 0, + uint16_t padding_r = 0, + uint16_t padding_u = 0, + uint16_t padding_d = 0, + int16_t base = 0, + int16_t height_line = 0, + const ss::runtime::Vec2 *scale = nullptr, + const ss::runtime::Vec2 *spacing = nullptr, + const ss::runtime::Vec2 *size_texture_original = nullptr, + const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *name_texture = nullptr, + const std::vector<::flatbuffers::Offset> *table_data = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto name_face__ = name_face ? _fbb.CreateString(name_face) : 0; + auto name_texture__ = name_texture ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*name_texture) : 0; + auto table_data__ = table_data ? _fbb.CreateVector<::flatbuffers::Offset>(*table_data) : 0; + return ss::runtime::CreateFontBitmap( + _fbb, + name__, + name_face__, + size, + padding_l, + padding_r, + padding_u, + padding_d, + base, + height_line, + scale, + spacing, + size_texture_original, + name_texture__, + table_data__); +} + +struct InitData FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef InitDataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_PARTS = 6, + VT_CELLMAPS = 8, + VT_EFFECTS = 10, + VT_SOUND_LISTS = 12, + VT_FONT_BITMAPS = 14, + VT_EXTERNAL_INSTANCES = 16 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *parts() const { + return GetPointer> *>(VT_PARTS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *cellmaps() const { + return GetPointer> *>(VT_CELLMAPS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *effects() const { + return GetPointer> *>(VT_EFFECTS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *sound_lists() const { + return GetPointer> *>(VT_SOUND_LISTS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *font_bitmaps() const { + return GetPointer> *>(VT_FONT_BITMAPS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *external_instances() const { + return GetPointer> *>(VT_EXTERNAL_INSTANCES); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_PARTS) && + verifier.VerifyVector(parts()) && + verifier.VerifyVectorOfTables(parts()) && + VerifyOffset(verifier, VT_CELLMAPS) && + verifier.VerifyVector(cellmaps()) && + verifier.VerifyVectorOfTables(cellmaps()) && + VerifyOffset(verifier, VT_EFFECTS) && + verifier.VerifyVector(effects()) && + verifier.VerifyVectorOfTables(effects()) && + VerifyOffset(verifier, VT_SOUND_LISTS) && + verifier.VerifyVector(sound_lists()) && + verifier.VerifyVectorOfTables(sound_lists()) && + VerifyOffset(verifier, VT_FONT_BITMAPS) && + verifier.VerifyVector(font_bitmaps()) && + verifier.VerifyVectorOfTables(font_bitmaps()) && + VerifyOffset(verifier, VT_EXTERNAL_INSTANCES) && + verifier.VerifyVector(external_instances()) && + verifier.VerifyVectorOfStrings(external_instances()) && + verifier.EndTable(); + } +}; + +struct InitDataBuilder { + typedef InitData Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(InitData::VT_NAME, name); + } + void add_parts(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> parts) { + fbb_.AddOffset(InitData::VT_PARTS, parts); + } + void add_cellmaps(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> cellmaps) { + fbb_.AddOffset(InitData::VT_CELLMAPS, cellmaps); + } + void add_effects(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> effects) { + fbb_.AddOffset(InitData::VT_EFFECTS, effects); + } + void add_sound_lists(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> sound_lists) { + fbb_.AddOffset(InitData::VT_SOUND_LISTS, sound_lists); + } + void add_font_bitmaps(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> font_bitmaps) { + fbb_.AddOffset(InitData::VT_FONT_BITMAPS, font_bitmaps); + } + void add_external_instances(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> external_instances) { + fbb_.AddOffset(InitData::VT_EXTERNAL_INSTANCES, external_instances); + } + explicit InitDataBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateInitData( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> name = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> parts = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> cellmaps = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> effects = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> sound_lists = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> font_bitmaps = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> external_instances = 0) { + InitDataBuilder builder_(_fbb); + builder_.add_external_instances(external_instances); + builder_.add_font_bitmaps(font_bitmaps); + builder_.add_sound_lists(sound_lists); + builder_.add_effects(effects); + builder_.add_cellmaps(cellmaps); + builder_.add_parts(parts); + builder_.add_name(name); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateInitDataDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const std::vector<::flatbuffers::Offset> *parts = nullptr, + const std::vector<::flatbuffers::Offset> *cellmaps = nullptr, + const std::vector<::flatbuffers::Offset> *effects = nullptr, + const std::vector<::flatbuffers::Offset> *sound_lists = nullptr, + const std::vector<::flatbuffers::Offset> *font_bitmaps = nullptr, + const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *external_instances = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto parts__ = parts ? _fbb.CreateVector<::flatbuffers::Offset>(*parts) : 0; + auto cellmaps__ = cellmaps ? _fbb.CreateVector<::flatbuffers::Offset>(*cellmaps) : 0; + auto effects__ = effects ? _fbb.CreateVector<::flatbuffers::Offset>(*effects) : 0; + auto sound_lists__ = sound_lists ? _fbb.CreateVector<::flatbuffers::Offset>(*sound_lists) : 0; + auto font_bitmaps__ = font_bitmaps ? _fbb.CreateVector<::flatbuffers::Offset>(*font_bitmaps) : 0; + auto external_instances__ = external_instances ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*external_instances) : 0; + return ss::runtime::CreateInitData( + _fbb, + name__, + parts__, + cellmaps__, + effects__, + sound_lists__, + font_bitmaps__, + external_instances__); +} + +template +inline bool VerifyPartType(::flatbuffers::VerifierTemplate &verifier, const void *obj, PartType type) { + switch (type) { + case PartType_NONE: { + return true; + } + case PartType_PartTypeNull: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeNormal: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeShape: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeText: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeNines: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeInstance: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeArmature: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeEffect: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeMesh: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeMovenode: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeConstraint: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeMask: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeJoint: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeBonepoint: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeTransformConstraint: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeCamera: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PartType_PartTypeAudio: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + default: return true; + } +} + +template +inline bool VerifyPartTypeVector(::flatbuffers::VerifierTemplate &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset> *values, const ::flatbuffers::Vector *types) { + if (!values || !types) return !values && !types; + if (values->size() != types->size()) return false; + for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { + if (!VerifyPartType( + verifier, values->Get(i), types->GetEnum(i))) { + return false; + } + } + return true; +} + +template +inline bool VerifyEffectNodeBehavior(::flatbuffers::VerifierTemplate &verifier, const void *obj, EffectNodeBehavior type) { + switch (type) { + case EffectNodeBehavior_NONE: { + return true; + } + case EffectNodeBehavior_EffectParticleElementBasic: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementRndSeedChange: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementDelay: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementGravity: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementPosition: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementRotation: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementRotationTrans: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementTransSpeed: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementTangentialAcceleration: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementInitColor: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementTransColor: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementAlphaFade: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementSize: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleElementTransSize: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticlePointGravity: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleTurnToDirectionEnabled: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case EffectNodeBehavior_EffectParticleInfiniteEmitEnabled: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + default: return true; + } +} + +template +inline bool VerifyEffectNodeBehaviorVector(::flatbuffers::VerifierTemplate &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset> *values, const ::flatbuffers::Vector *types) { + if (!values || !types) return !values && !types; + if (values->size() != types->size()) return false; + for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { + if (!VerifyEffectNodeBehavior( + verifier, values->Get(i), types->GetEnum(i))) { + return false; + } + } + return true; +} + +inline const ss::runtime::InitData *GetInitData(const void *buf) { + return ::flatbuffers::GetRoot(buf); +} + +inline const ss::runtime::InitData *GetSizePrefixedInitData(const void *buf) { + return ::flatbuffers::GetSizePrefixedRoot(buf); +} + +template +inline bool VerifyInitDataBuffer( + ::flatbuffers::VerifierTemplate &verifier) { + return verifier.template VerifyBuffer(nullptr); +} + +template +inline bool VerifySizePrefixedInitDataBuffer( + ::flatbuffers::VerifierTemplate &verifier) { + return verifier.template VerifySizePrefixedBuffer(nullptr); +} + +inline void FinishInitDataBuffer( + ::flatbuffers::FlatBufferBuilder &fbb, + ::flatbuffers::Offset root) { + fbb.Finish(root); +} + +inline void FinishSizePrefixedInitDataBuffer( + ::flatbuffers::FlatBufferBuilder &fbb, + ::flatbuffers::Offset root) { + fbb.FinishSizePrefixed(root); +} + +} // namespace runtime +} // namespace ss + +#endif // FLATBUFFERS_GENERATED_INITIALIZE_SS_RUNTIME_H_ diff --git a/gd_spritestudio/runtime/preparation.h b/gd_spritestudio/runtime/preparation.h new file mode 100644 index 0000000..a61002d --- /dev/null +++ b/gd_spritestudio/runtime/preparation.h @@ -0,0 +1,2610 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_PREPARATION_SS_RUNTIME_H_ +#define FLATBUFFERS_GENERATED_PREPARATION_SS_RUNTIME_H_ + +#include "flatbuffers/flatbuffers.h" + +// Ensure the included flatbuffers.h is the same version as when this file was +// generated, otherwise it may not be compatible. +static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && + FLATBUFFERS_VERSION_MINOR == 12 && + FLATBUFFERS_VERSION_REVISION == 19, + "Non-compatible flatbuffers version included"); + +namespace ss { +namespace runtime { + +struct Vec2; + +struct U8Rect; + +struct Rect; + +struct IntValueEntry; +struct IntValueEntryBuilder; + +struct PartAttributeCell; +struct PartAttributeCellBuilder; + +struct SsAttributePartColorKeyValueColor; +struct SsAttributePartColorKeyValueColorBuilder; + +struct PartAttributePartColor; +struct PartAttributePartColorBuilder; + +struct PartAttributeVertex; +struct PartAttributeVertexBuilder; + +struct PartAttributeInstance; +struct PartAttributeInstanceBuilder; + +struct PartAttributeEffect; +struct PartAttributeEffectBuilder; + +struct PartAttributeDeform; +struct PartAttributeDeformBuilder; + +struct PartAttributeShader; +struct PartAttributeShaderBuilder; + +struct PartAttributeUserData; +struct PartAttributeUserDataBuilder; + +struct SignalCommandParam; +struct SignalCommandParamBuilder; + +struct PartAttributeSignal; +struct PartAttributeSignalBuilder; + +struct PartAttributeAudio; +struct PartAttributeAudioBuilder; + +struct PartAttributes; +struct PartAttributesBuilder; + +struct PartMeshData; +struct PartMeshDataBuilder; + +struct EventUserData; +struct EventUserDataBuilder; + +struct EventSignal; +struct EventSignalBuilder; + +struct EventAudio; +struct EventAudioBuilder; + +struct EventInstance; +struct EventInstanceBuilder; + +struct EventEffect; +struct EventEffectBuilder; + +struct EventsPerFrame; +struct EventsPerFrameBuilder; + +struct Label; +struct LabelBuilder; + +struct AnimPrepData; +struct AnimPrepDataBuilder; + +enum BlendType : uint8_t { + BlendType_Mix = 0, + BlendType_Mul = 1, + BlendType_Add = 2, + BlendType_Sub = 3, + BlendType_Mulalpha = 4, + BlendType_Screen = 5, + BlendType_Exclusion = 6, + BlendType_Invert = 7, + BlendType_MIN = BlendType_Mix, + BlendType_MAX = BlendType_Invert +}; + +inline const BlendType (&EnumValuesBlendType())[8] { + static const BlendType values[] = { + BlendType_Mix, + BlendType_Mul, + BlendType_Add, + BlendType_Sub, + BlendType_Mulalpha, + BlendType_Screen, + BlendType_Exclusion, + BlendType_Invert + }; + return values; +} + +inline const char * const *EnumNamesBlendType() { + static const char * const names[9] = { + "Mix", + "Mul", + "Add", + "Sub", + "Mulalpha", + "Screen", + "Exclusion", + "Invert", + nullptr + }; + return names; +} + +inline const char *EnumNameBlendType(BlendType e) { + if (::flatbuffers::IsOutRange(e, BlendType_Mix, BlendType_Invert)) return ""; + const size_t index = static_cast(e); + return EnumNamesBlendType()[index]; +} + +enum SignalCommandParamType : uint8_t { + SignalCommandParamType_Index = 0, + SignalCommandParamType_Integer = 1, + SignalCommandParamType_Floating = 2, + SignalCommandParamType_None = 3, + SignalCommandParamType_MIN = SignalCommandParamType_Index, + SignalCommandParamType_MAX = SignalCommandParamType_None +}; + +inline const SignalCommandParamType (&EnumValuesSignalCommandParamType())[4] { + static const SignalCommandParamType values[] = { + SignalCommandParamType_Index, + SignalCommandParamType_Integer, + SignalCommandParamType_Floating, + SignalCommandParamType_None + }; + return values; +} + +inline const char * const *EnumNamesSignalCommandParamType() { + static const char * const names[5] = { + "Index", + "Integer", + "Floating", + "None", + nullptr + }; + return names; +} + +inline const char *EnumNameSignalCommandParamType(SignalCommandParamType e) { + if (::flatbuffers::IsOutRange(e, SignalCommandParamType_Index, SignalCommandParamType_None)) return ""; + const size_t index = static_cast(e); + return EnumNamesSignalCommandParamType()[index]; +} + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Vec2 FLATBUFFERS_FINAL_CLASS { + private: + float x_; + float y_; + + public: + Vec2() + : x_(0), + y_(0) { + } + Vec2(float _x, float _y) + : x_(::flatbuffers::EndianScalar(_x)), + y_(::flatbuffers::EndianScalar(_y)) { + } + float x() const { + return ::flatbuffers::EndianScalar(x_); + } + float y() const { + return ::flatbuffers::EndianScalar(y_); + } +}; +FLATBUFFERS_STRUCT_END(Vec2, 8); + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) U8Rect FLATBUFFERS_FINAL_CLASS { + private: + uint8_t a_; + uint8_t r_; + uint8_t g_; + uint8_t b_; + + public: + U8Rect() + : a_(0), + r_(0), + g_(0), + b_(0) { + } + U8Rect(uint8_t _a, uint8_t _r, uint8_t _g, uint8_t _b) + : a_(::flatbuffers::EndianScalar(_a)), + r_(::flatbuffers::EndianScalar(_r)), + g_(::flatbuffers::EndianScalar(_g)), + b_(::flatbuffers::EndianScalar(_b)) { + } + uint8_t a() const { + return ::flatbuffers::EndianScalar(a_); + } + uint8_t r() const { + return ::flatbuffers::EndianScalar(r_); + } + uint8_t g() const { + return ::flatbuffers::EndianScalar(g_); + } + uint8_t b() const { + return ::flatbuffers::EndianScalar(b_); + } +}; +FLATBUFFERS_STRUCT_END(U8Rect, 4); + +FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Rect FLATBUFFERS_FINAL_CLASS { + private: + float x1_; + float y1_; + float x2_; + float y2_; + + public: + Rect() + : x1_(0), + y1_(0), + x2_(0), + y2_(0) { + } + Rect(float _x1, float _y1, float _x2, float _y2) + : x1_(::flatbuffers::EndianScalar(_x1)), + y1_(::flatbuffers::EndianScalar(_y1)), + x2_(::flatbuffers::EndianScalar(_x2)), + y2_(::flatbuffers::EndianScalar(_y2)) { + } + float x1() const { + return ::flatbuffers::EndianScalar(x1_); + } + float y1() const { + return ::flatbuffers::EndianScalar(y1_); + } + float x2() const { + return ::flatbuffers::EndianScalar(x2_); + } + float y2() const { + return ::flatbuffers::EndianScalar(y2_); + } +}; +FLATBUFFERS_STRUCT_END(Rect, 16); + +struct IntValueEntry FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef IntValueEntryBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUE = 4 + }; + int32_t value() const { + return GetField(VT_VALUE, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct IntValueEntryBuilder { + typedef IntValueEntry Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_value(int32_t value) { + fbb_.AddElement(IntValueEntry::VT_VALUE, value, 0); + } + explicit IntValueEntryBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateIntValueEntry( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t value = 0) { + IntValueEntryBuilder builder_(_fbb); + builder_.add_value(value); + return builder_.Finish(); +} + +struct PartAttributeCell FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeCellBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MAP_ID = 4, + VT_NAME = 6 + }; + int32_t map_id() const { + return GetField(VT_MAP_ID, 0); + } + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_MAP_ID, 4) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + verifier.EndTable(); + } +}; + +struct PartAttributeCellBuilder { + typedef PartAttributeCell Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_map_id(int32_t map_id) { + fbb_.AddElement(PartAttributeCell::VT_MAP_ID, map_id, 0); + } + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(PartAttributeCell::VT_NAME, name); + } + explicit PartAttributeCellBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeCell( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t map_id = 0, + ::flatbuffers::Offset<::flatbuffers::String> name = 0) { + PartAttributeCellBuilder builder_(_fbb); + builder_.add_name(name); + builder_.add_map_id(map_id); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeCellDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t map_id = 0, + const char *name = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + return ss::runtime::CreatePartAttributeCell( + _fbb, + map_id, + name__); +} + +struct SsAttributePartColorKeyValueColor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef SsAttributePartColorKeyValueColorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_RGBA = 4, + VT_RATE = 6 + }; + const ss::runtime::U8Rect *rgba() const { + return GetStruct(VT_RGBA); + } + float rate() const { + return GetField(VT_RATE, 0.0f); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_RGBA, 1) && + VerifyField(verifier, VT_RATE, 4) && + verifier.EndTable(); + } +}; + +struct SsAttributePartColorKeyValueColorBuilder { + typedef SsAttributePartColorKeyValueColor Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_rgba(const ss::runtime::U8Rect *rgba) { + fbb_.AddStruct(SsAttributePartColorKeyValueColor::VT_RGBA, rgba); + } + void add_rate(float rate) { + fbb_.AddElement(SsAttributePartColorKeyValueColor::VT_RATE, rate, 0.0f); + } + explicit SsAttributePartColorKeyValueColorBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateSsAttributePartColorKeyValueColor( + ::flatbuffers::FlatBufferBuilder &_fbb, + const ss::runtime::U8Rect *rgba = nullptr, + float rate = 0.0f) { + SsAttributePartColorKeyValueColorBuilder builder_(_fbb); + builder_.add_rate(rate); + builder_.add_rgba(rgba); + return builder_.Finish(); +} + +struct PartAttributePartColor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributePartColorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLEND_TYPE = 4, + VT_LT = 6, + VT_RT = 8, + VT_LB = 10, + VT_RB = 12 + }; + ss::runtime::BlendType blend_type() const { + return static_cast(GetField(VT_BLEND_TYPE, 0)); + } + const ss::runtime::SsAttributePartColorKeyValueColor *lt() const { + return GetPointer(VT_LT); + } + const ss::runtime::SsAttributePartColorKeyValueColor *rt() const { + return GetPointer(VT_RT); + } + const ss::runtime::SsAttributePartColorKeyValueColor *lb() const { + return GetPointer(VT_LB); + } + const ss::runtime::SsAttributePartColorKeyValueColor *rb() const { + return GetPointer(VT_RB); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BLEND_TYPE, 1) && + VerifyOffset(verifier, VT_LT) && + verifier.VerifyTable(lt()) && + VerifyOffset(verifier, VT_RT) && + verifier.VerifyTable(rt()) && + VerifyOffset(verifier, VT_LB) && + verifier.VerifyTable(lb()) && + VerifyOffset(verifier, VT_RB) && + verifier.VerifyTable(rb()) && + verifier.EndTable(); + } +}; + +struct PartAttributePartColorBuilder { + typedef PartAttributePartColor Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_blend_type(ss::runtime::BlendType blend_type) { + fbb_.AddElement(PartAttributePartColor::VT_BLEND_TYPE, static_cast(blend_type), 0); + } + void add_lt(::flatbuffers::Offset lt) { + fbb_.AddOffset(PartAttributePartColor::VT_LT, lt); + } + void add_rt(::flatbuffers::Offset rt) { + fbb_.AddOffset(PartAttributePartColor::VT_RT, rt); + } + void add_lb(::flatbuffers::Offset lb) { + fbb_.AddOffset(PartAttributePartColor::VT_LB, lb); + } + void add_rb(::flatbuffers::Offset rb) { + fbb_.AddOffset(PartAttributePartColor::VT_RB, rb); + } + explicit PartAttributePartColorBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributePartColor( + ::flatbuffers::FlatBufferBuilder &_fbb, + ss::runtime::BlendType blend_type = ss::runtime::BlendType_Mix, + ::flatbuffers::Offset lt = 0, + ::flatbuffers::Offset rt = 0, + ::flatbuffers::Offset lb = 0, + ::flatbuffers::Offset rb = 0) { + PartAttributePartColorBuilder builder_(_fbb); + builder_.add_rb(rb); + builder_.add_lb(lb); + builder_.add_rt(rt); + builder_.add_lt(lt); + builder_.add_blend_type(blend_type); + return builder_.Finish(); +} + +struct PartAttributeVertex FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeVertexBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_LT = 4, + VT_RT = 6, + VT_LB = 8, + VT_RB = 10 + }; + const ss::runtime::Vec2 *lt() const { + return GetStruct(VT_LT); + } + const ss::runtime::Vec2 *rt() const { + return GetStruct(VT_RT); + } + const ss::runtime::Vec2 *lb() const { + return GetStruct(VT_LB); + } + const ss::runtime::Vec2 *rb() const { + return GetStruct(VT_RB); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_LT, 4) && + VerifyField(verifier, VT_RT, 4) && + VerifyField(verifier, VT_LB, 4) && + VerifyField(verifier, VT_RB, 4) && + verifier.EndTable(); + } +}; + +struct PartAttributeVertexBuilder { + typedef PartAttributeVertex Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_lt(const ss::runtime::Vec2 *lt) { + fbb_.AddStruct(PartAttributeVertex::VT_LT, lt); + } + void add_rt(const ss::runtime::Vec2 *rt) { + fbb_.AddStruct(PartAttributeVertex::VT_RT, rt); + } + void add_lb(const ss::runtime::Vec2 *lb) { + fbb_.AddStruct(PartAttributeVertex::VT_LB, lb); + } + void add_rb(const ss::runtime::Vec2 *rb) { + fbb_.AddStruct(PartAttributeVertex::VT_RB, rb); + } + explicit PartAttributeVertexBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeVertex( + ::flatbuffers::FlatBufferBuilder &_fbb, + const ss::runtime::Vec2 *lt = nullptr, + const ss::runtime::Vec2 *rt = nullptr, + const ss::runtime::Vec2 *lb = nullptr, + const ss::runtime::Vec2 *rb = nullptr) { + PartAttributeVertexBuilder builder_(_fbb); + builder_.add_rb(rb); + builder_.add_lb(lb); + builder_.add_rt(rt); + builder_.add_lt(lt); + return builder_.Finish(); +} + +struct PartAttributeInstance FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeInstanceBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PINGPONG = 4, + VT_INDEPENDENT = 6, + VT_LOOP_NUM = 8, + VT_START_LABEL = 10, + VT_START_OFFSET = 12, + VT_END_LABEL = 14, + VT_END_OFFSET = 16, + VT_SPEED = 18 + }; + bool pingpong() const { + return GetField(VT_PINGPONG, 0) != 0; + } + bool independent() const { + return GetField(VT_INDEPENDENT, 0) != 0; + } + int32_t loop_num() const { + return GetField(VT_LOOP_NUM, 0); + } + const ::flatbuffers::String *start_label() const { + return GetPointer(VT_START_LABEL); + } + int32_t start_offset() const { + return GetField(VT_START_OFFSET, 0); + } + const ::flatbuffers::String *end_label() const { + return GetPointer(VT_END_LABEL); + } + int32_t end_offset() const { + return GetField(VT_END_OFFSET, 0); + } + float speed() const { + return GetField(VT_SPEED, 0.0f); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PINGPONG, 1) && + VerifyField(verifier, VT_INDEPENDENT, 1) && + VerifyField(verifier, VT_LOOP_NUM, 4) && + VerifyOffset(verifier, VT_START_LABEL) && + verifier.VerifyString(start_label()) && + VerifyField(verifier, VT_START_OFFSET, 4) && + VerifyOffset(verifier, VT_END_LABEL) && + verifier.VerifyString(end_label()) && + VerifyField(verifier, VT_END_OFFSET, 4) && + VerifyField(verifier, VT_SPEED, 4) && + verifier.EndTable(); + } +}; + +struct PartAttributeInstanceBuilder { + typedef PartAttributeInstance Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_pingpong(bool pingpong) { + fbb_.AddElement(PartAttributeInstance::VT_PINGPONG, static_cast(pingpong), 0); + } + void add_independent(bool independent) { + fbb_.AddElement(PartAttributeInstance::VT_INDEPENDENT, static_cast(independent), 0); + } + void add_loop_num(int32_t loop_num) { + fbb_.AddElement(PartAttributeInstance::VT_LOOP_NUM, loop_num, 0); + } + void add_start_label(::flatbuffers::Offset<::flatbuffers::String> start_label) { + fbb_.AddOffset(PartAttributeInstance::VT_START_LABEL, start_label); + } + void add_start_offset(int32_t start_offset) { + fbb_.AddElement(PartAttributeInstance::VT_START_OFFSET, start_offset, 0); + } + void add_end_label(::flatbuffers::Offset<::flatbuffers::String> end_label) { + fbb_.AddOffset(PartAttributeInstance::VT_END_LABEL, end_label); + } + void add_end_offset(int32_t end_offset) { + fbb_.AddElement(PartAttributeInstance::VT_END_OFFSET, end_offset, 0); + } + void add_speed(float speed) { + fbb_.AddElement(PartAttributeInstance::VT_SPEED, speed, 0.0f); + } + explicit PartAttributeInstanceBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeInstance( + ::flatbuffers::FlatBufferBuilder &_fbb, + bool pingpong = false, + bool independent = false, + int32_t loop_num = 0, + ::flatbuffers::Offset<::flatbuffers::String> start_label = 0, + int32_t start_offset = 0, + ::flatbuffers::Offset<::flatbuffers::String> end_label = 0, + int32_t end_offset = 0, + float speed = 0.0f) { + PartAttributeInstanceBuilder builder_(_fbb); + builder_.add_speed(speed); + builder_.add_end_offset(end_offset); + builder_.add_end_label(end_label); + builder_.add_start_offset(start_offset); + builder_.add_start_label(start_label); + builder_.add_loop_num(loop_num); + builder_.add_independent(independent); + builder_.add_pingpong(pingpong); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeInstanceDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + bool pingpong = false, + bool independent = false, + int32_t loop_num = 0, + const char *start_label = nullptr, + int32_t start_offset = 0, + const char *end_label = nullptr, + int32_t end_offset = 0, + float speed = 0.0f) { + auto start_label__ = start_label ? _fbb.CreateString(start_label) : 0; + auto end_label__ = end_label ? _fbb.CreateString(end_label) : 0; + return ss::runtime::CreatePartAttributeInstance( + _fbb, + pingpong, + independent, + loop_num, + start_label__, + start_offset, + end_label__, + end_offset, + speed); +} + +struct PartAttributeEffect FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeEffectBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CUR_KEYFRAME = 4, + VT_START_TIME = 6, + VT_SPEED = 8, + VT_LOOPFLAG = 10 + }; + int32_t cur_keyframe() const { + return GetField(VT_CUR_KEYFRAME, 0); + } + int32_t start_time() const { + return GetField(VT_START_TIME, 0); + } + float speed() const { + return GetField(VT_SPEED, 0.0f); + } + int32_t loopflag() const { + return GetField(VT_LOOPFLAG, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_CUR_KEYFRAME, 4) && + VerifyField(verifier, VT_START_TIME, 4) && + VerifyField(verifier, VT_SPEED, 4) && + VerifyField(verifier, VT_LOOPFLAG, 4) && + verifier.EndTable(); + } +}; + +struct PartAttributeEffectBuilder { + typedef PartAttributeEffect Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_cur_keyframe(int32_t cur_keyframe) { + fbb_.AddElement(PartAttributeEffect::VT_CUR_KEYFRAME, cur_keyframe, 0); + } + void add_start_time(int32_t start_time) { + fbb_.AddElement(PartAttributeEffect::VT_START_TIME, start_time, 0); + } + void add_speed(float speed) { + fbb_.AddElement(PartAttributeEffect::VT_SPEED, speed, 0.0f); + } + void add_loopflag(int32_t loopflag) { + fbb_.AddElement(PartAttributeEffect::VT_LOOPFLAG, loopflag, 0); + } + explicit PartAttributeEffectBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeEffect( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t cur_keyframe = 0, + int32_t start_time = 0, + float speed = 0.0f, + int32_t loopflag = 0) { + PartAttributeEffectBuilder builder_(_fbb); + builder_.add_loopflag(loopflag); + builder_.add_speed(speed); + builder_.add_start_time(start_time); + builder_.add_cur_keyframe(cur_keyframe); + return builder_.Finish(); +} + +struct PartAttributeDeform FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeDeformBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COORDINATE = 4, + VT_INDEX = 6 + }; + const ::flatbuffers::Vector *coordinate() const { + return GetPointer *>(VT_COORDINATE); + } + const ::flatbuffers::Vector *index() const { + return GetPointer *>(VT_INDEX); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_COORDINATE) && + verifier.VerifyVector(coordinate()) && + VerifyOffset(verifier, VT_INDEX) && + verifier.VerifyVector(index()) && + verifier.EndTable(); + } +}; + +struct PartAttributeDeformBuilder { + typedef PartAttributeDeform Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_coordinate(::flatbuffers::Offset<::flatbuffers::Vector> coordinate) { + fbb_.AddOffset(PartAttributeDeform::VT_COORDINATE, coordinate); + } + void add_index(::flatbuffers::Offset<::flatbuffers::Vector> index) { + fbb_.AddOffset(PartAttributeDeform::VT_INDEX, index); + } + explicit PartAttributeDeformBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeDeform( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::Vector> coordinate = 0, + ::flatbuffers::Offset<::flatbuffers::Vector> index = 0) { + PartAttributeDeformBuilder builder_(_fbb); + builder_.add_index(index); + builder_.add_coordinate(coordinate); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeDeformDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *coordinate = nullptr, + const std::vector *index = nullptr) { + auto coordinate__ = coordinate ? _fbb.CreateVectorOfStructs(*coordinate) : 0; + auto index__ = index ? _fbb.CreateVector(*index) : 0; + return ss::runtime::CreatePartAttributeDeform( + _fbb, + coordinate__, + index__); +} + +struct PartAttributeShader FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeShaderBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ID = 4, + VT_PARAM0 = 6, + VT_PARAM1 = 8, + VT_PARAM2 = 10, + VT_PARAM3 = 12, + VT_PARAM4 = 14, + VT_PARAM5 = 16, + VT_PARAM6 = 18, + VT_PARAM7 = 20, + VT_MAP0_ID = 22, + VT_MAP0_NAME = 24, + VT_MAP1_ID = 26, + VT_MAP1_NAME = 28 + }; + const ::flatbuffers::String *id() const { + return GetPointer(VT_ID); + } + float param0() const { + return GetField(VT_PARAM0, 0.0f); + } + float param1() const { + return GetField(VT_PARAM1, 0.0f); + } + float param2() const { + return GetField(VT_PARAM2, 0.0f); + } + float param3() const { + return GetField(VT_PARAM3, 0.0f); + } + float param4() const { + return GetField(VT_PARAM4, 0.0f); + } + float param5() const { + return GetField(VT_PARAM5, 0.0f); + } + float param6() const { + return GetField(VT_PARAM6, 0.0f); + } + float param7() const { + return GetField(VT_PARAM7, 0.0f); + } + int32_t map0_id() const { + return GetField(VT_MAP0_ID, 0); + } + const ::flatbuffers::String *map0_name() const { + return GetPointer(VT_MAP0_NAME); + } + int32_t map1_id() const { + return GetField(VT_MAP1_ID, 0); + } + const ::flatbuffers::String *map1_name() const { + return GetPointer(VT_MAP1_NAME); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_ID) && + verifier.VerifyString(id()) && + VerifyField(verifier, VT_PARAM0, 4) && + VerifyField(verifier, VT_PARAM1, 4) && + VerifyField(verifier, VT_PARAM2, 4) && + VerifyField(verifier, VT_PARAM3, 4) && + VerifyField(verifier, VT_PARAM4, 4) && + VerifyField(verifier, VT_PARAM5, 4) && + VerifyField(verifier, VT_PARAM6, 4) && + VerifyField(verifier, VT_PARAM7, 4) && + VerifyField(verifier, VT_MAP0_ID, 4) && + VerifyOffset(verifier, VT_MAP0_NAME) && + verifier.VerifyString(map0_name()) && + VerifyField(verifier, VT_MAP1_ID, 4) && + VerifyOffset(verifier, VT_MAP1_NAME) && + verifier.VerifyString(map1_name()) && + verifier.EndTable(); + } +}; + +struct PartAttributeShaderBuilder { + typedef PartAttributeShader Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_id(::flatbuffers::Offset<::flatbuffers::String> id) { + fbb_.AddOffset(PartAttributeShader::VT_ID, id); + } + void add_param0(float param0) { + fbb_.AddElement(PartAttributeShader::VT_PARAM0, param0, 0.0f); + } + void add_param1(float param1) { + fbb_.AddElement(PartAttributeShader::VT_PARAM1, param1, 0.0f); + } + void add_param2(float param2) { + fbb_.AddElement(PartAttributeShader::VT_PARAM2, param2, 0.0f); + } + void add_param3(float param3) { + fbb_.AddElement(PartAttributeShader::VT_PARAM3, param3, 0.0f); + } + void add_param4(float param4) { + fbb_.AddElement(PartAttributeShader::VT_PARAM4, param4, 0.0f); + } + void add_param5(float param5) { + fbb_.AddElement(PartAttributeShader::VT_PARAM5, param5, 0.0f); + } + void add_param6(float param6) { + fbb_.AddElement(PartAttributeShader::VT_PARAM6, param6, 0.0f); + } + void add_param7(float param7) { + fbb_.AddElement(PartAttributeShader::VT_PARAM7, param7, 0.0f); + } + void add_map0_id(int32_t map0_id) { + fbb_.AddElement(PartAttributeShader::VT_MAP0_ID, map0_id, 0); + } + void add_map0_name(::flatbuffers::Offset<::flatbuffers::String> map0_name) { + fbb_.AddOffset(PartAttributeShader::VT_MAP0_NAME, map0_name); + } + void add_map1_id(int32_t map1_id) { + fbb_.AddElement(PartAttributeShader::VT_MAP1_ID, map1_id, 0); + } + void add_map1_name(::flatbuffers::Offset<::flatbuffers::String> map1_name) { + fbb_.AddOffset(PartAttributeShader::VT_MAP1_NAME, map1_name); + } + explicit PartAttributeShaderBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeShader( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> id = 0, + float param0 = 0.0f, + float param1 = 0.0f, + float param2 = 0.0f, + float param3 = 0.0f, + float param4 = 0.0f, + float param5 = 0.0f, + float param6 = 0.0f, + float param7 = 0.0f, + int32_t map0_id = 0, + ::flatbuffers::Offset<::flatbuffers::String> map0_name = 0, + int32_t map1_id = 0, + ::flatbuffers::Offset<::flatbuffers::String> map1_name = 0) { + PartAttributeShaderBuilder builder_(_fbb); + builder_.add_map1_name(map1_name); + builder_.add_map1_id(map1_id); + builder_.add_map0_name(map0_name); + builder_.add_map0_id(map0_id); + builder_.add_param7(param7); + builder_.add_param6(param6); + builder_.add_param5(param5); + builder_.add_param4(param4); + builder_.add_param3(param3); + builder_.add_param2(param2); + builder_.add_param1(param1); + builder_.add_param0(param0); + builder_.add_id(id); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeShaderDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *id = nullptr, + float param0 = 0.0f, + float param1 = 0.0f, + float param2 = 0.0f, + float param3 = 0.0f, + float param4 = 0.0f, + float param5 = 0.0f, + float param6 = 0.0f, + float param7 = 0.0f, + int32_t map0_id = 0, + const char *map0_name = nullptr, + int32_t map1_id = 0, + const char *map1_name = nullptr) { + auto id__ = id ? _fbb.CreateString(id) : 0; + auto map0_name__ = map0_name ? _fbb.CreateString(map0_name) : 0; + auto map1_name__ = map1_name ? _fbb.CreateString(map1_name) : 0; + return ss::runtime::CreatePartAttributeShader( + _fbb, + id__, + param0, + param1, + param2, + param3, + param4, + param5, + param6, + param7, + map0_id, + map0_name__, + map1_id, + map1_name__); +} + +struct PartAttributeUserData FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeUserDataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INTEGER = 4, + VT_RECT = 6, + VT_POINT = 8, + VT_STR = 10 + }; + const ss::runtime::IntValueEntry *integer() const { + return GetPointer(VT_INTEGER); + } + const ss::runtime::Rect *rect() const { + return GetStruct(VT_RECT); + } + const ss::runtime::Vec2 *point() const { + return GetStruct(VT_POINT); + } + const ::flatbuffers::String *str() const { + return GetPointer(VT_STR); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INTEGER) && + verifier.VerifyTable(integer()) && + VerifyField(verifier, VT_RECT, 4) && + VerifyField(verifier, VT_POINT, 4) && + VerifyOffset(verifier, VT_STR) && + verifier.VerifyString(str()) && + verifier.EndTable(); + } +}; + +struct PartAttributeUserDataBuilder { + typedef PartAttributeUserData Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_integer(::flatbuffers::Offset integer) { + fbb_.AddOffset(PartAttributeUserData::VT_INTEGER, integer); + } + void add_rect(const ss::runtime::Rect *rect) { + fbb_.AddStruct(PartAttributeUserData::VT_RECT, rect); + } + void add_point(const ss::runtime::Vec2 *point) { + fbb_.AddStruct(PartAttributeUserData::VT_POINT, point); + } + void add_str(::flatbuffers::Offset<::flatbuffers::String> str) { + fbb_.AddOffset(PartAttributeUserData::VT_STR, str); + } + explicit PartAttributeUserDataBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeUserData( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset integer = 0, + const ss::runtime::Rect *rect = nullptr, + const ss::runtime::Vec2 *point = nullptr, + ::flatbuffers::Offset<::flatbuffers::String> str = 0) { + PartAttributeUserDataBuilder builder_(_fbb); + builder_.add_str(str); + builder_.add_point(point); + builder_.add_rect(rect); + builder_.add_integer(integer); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeUserDataDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset integer = 0, + const ss::runtime::Rect *rect = nullptr, + const ss::runtime::Vec2 *point = nullptr, + const char *str = nullptr) { + auto str__ = str ? _fbb.CreateString(str) : 0; + return ss::runtime::CreatePartAttributeUserData( + _fbb, + integer, + rect, + point, + str__); +} + +struct SignalCommandParam FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef SignalCommandParamBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PARAM_ID = 4, + VT_TYPE = 6, + VT_VALUE = 8 + }; + const ::flatbuffers::String *param_id() const { + return GetPointer(VT_PARAM_ID); + } + ss::runtime::SignalCommandParamType type() const { + return static_cast(GetField(VT_TYPE, 0)); + } + float value() const { + return GetField(VT_VALUE, 0.0f); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_PARAM_ID) && + verifier.VerifyString(param_id()) && + VerifyField(verifier, VT_TYPE, 1) && + VerifyField(verifier, VT_VALUE, 4) && + verifier.EndTable(); + } +}; + +struct SignalCommandParamBuilder { + typedef SignalCommandParam Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_param_id(::flatbuffers::Offset<::flatbuffers::String> param_id) { + fbb_.AddOffset(SignalCommandParam::VT_PARAM_ID, param_id); + } + void add_type(ss::runtime::SignalCommandParamType type) { + fbb_.AddElement(SignalCommandParam::VT_TYPE, static_cast(type), 0); + } + void add_value(float value) { + fbb_.AddElement(SignalCommandParam::VT_VALUE, value, 0.0f); + } + explicit SignalCommandParamBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateSignalCommandParam( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset<::flatbuffers::String> param_id = 0, + ss::runtime::SignalCommandParamType type = ss::runtime::SignalCommandParamType_Index, + float value = 0.0f) { + SignalCommandParamBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_param_id(param_id); + builder_.add_type(type); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateSignalCommandParamDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + const char *param_id = nullptr, + ss::runtime::SignalCommandParamType type = ss::runtime::SignalCommandParamType_Index, + float value = 0.0f) { + auto param_id__ = param_id ? _fbb.CreateString(param_id) : 0; + return ss::runtime::CreateSignalCommandParam( + _fbb, + param_id__, + type, + value); +} + +struct PartAttributeSignal FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeSignalBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVE = 4, + VT_COMMAND_ID = 6, + VT_PARAMS = 8 + }; + bool active() const { + return GetField(VT_ACTIVE, 0) != 0; + } + const ::flatbuffers::String *command_id() const { + return GetPointer(VT_COMMAND_ID); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *params() const { + return GetPointer> *>(VT_PARAMS); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVE, 1) && + VerifyOffset(verifier, VT_COMMAND_ID) && + verifier.VerifyString(command_id()) && + VerifyOffset(verifier, VT_PARAMS) && + verifier.VerifyVector(params()) && + verifier.VerifyVectorOfTables(params()) && + verifier.EndTable(); + } +}; + +struct PartAttributeSignalBuilder { + typedef PartAttributeSignal Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_active(bool active) { + fbb_.AddElement(PartAttributeSignal::VT_ACTIVE, static_cast(active), 0); + } + void add_command_id(::flatbuffers::Offset<::flatbuffers::String> command_id) { + fbb_.AddOffset(PartAttributeSignal::VT_COMMAND_ID, command_id); + } + void add_params(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> params) { + fbb_.AddOffset(PartAttributeSignal::VT_PARAMS, params); + } + explicit PartAttributeSignalBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeSignal( + ::flatbuffers::FlatBufferBuilder &_fbb, + bool active = false, + ::flatbuffers::Offset<::flatbuffers::String> command_id = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> params = 0) { + PartAttributeSignalBuilder builder_(_fbb); + builder_.add_params(params); + builder_.add_command_id(command_id); + builder_.add_active(active); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeSignalDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + bool active = false, + const char *command_id = nullptr, + const std::vector<::flatbuffers::Offset> *params = nullptr) { + auto command_id__ = command_id ? _fbb.CreateString(command_id) : 0; + auto params__ = params ? _fbb.CreateVector<::flatbuffers::Offset>(*params) : 0; + return ss::runtime::CreatePartAttributeSignal( + _fbb, + active, + command_id__, + params__); +} + +struct PartAttributeAudio FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributeAudioBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SOUND_LIST_ID = 4, + VT_SOUND_NAME = 6, + VT_LOOP_NUM = 8 + }; + int32_t sound_list_id() const { + return GetField(VT_SOUND_LIST_ID, 0); + } + const ::flatbuffers::String *sound_name() const { + return GetPointer(VT_SOUND_NAME); + } + int32_t loop_num() const { + return GetField(VT_LOOP_NUM, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SOUND_LIST_ID, 4) && + VerifyOffset(verifier, VT_SOUND_NAME) && + verifier.VerifyString(sound_name()) && + VerifyField(verifier, VT_LOOP_NUM, 4) && + verifier.EndTable(); + } +}; + +struct PartAttributeAudioBuilder { + typedef PartAttributeAudio Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_sound_list_id(int32_t sound_list_id) { + fbb_.AddElement(PartAttributeAudio::VT_SOUND_LIST_ID, sound_list_id, 0); + } + void add_sound_name(::flatbuffers::Offset<::flatbuffers::String> sound_name) { + fbb_.AddOffset(PartAttributeAudio::VT_SOUND_NAME, sound_name); + } + void add_loop_num(int32_t loop_num) { + fbb_.AddElement(PartAttributeAudio::VT_LOOP_NUM, loop_num, 0); + } + explicit PartAttributeAudioBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributeAudio( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t sound_list_id = 0, + ::flatbuffers::Offset<::flatbuffers::String> sound_name = 0, + int32_t loop_num = 0) { + PartAttributeAudioBuilder builder_(_fbb); + builder_.add_loop_num(loop_num); + builder_.add_sound_name(sound_name); + builder_.add_sound_list_id(sound_list_id); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartAttributeAudioDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + int32_t sound_list_id = 0, + const char *sound_name = nullptr, + int32_t loop_num = 0) { + auto sound_name__ = sound_name ? _fbb.CreateString(sound_name) : 0; + return ss::runtime::CreatePartAttributeAudio( + _fbb, + sound_list_id, + sound_name__, + loop_num); +} + +struct PartAttributes FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartAttributesBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CELL = 4, + VT_POSITION_X = 6, + VT_POSITION_Y = 8, + VT_POSITION_Z = 10, + VT_ROTATION_X = 12, + VT_ROTATION_Y = 14, + VT_ROTATION_Z = 16, + VT_SCALE_X = 18, + VT_SCALE_Y = 20, + VT_LOCAL_SCALE_X = 22, + VT_LOCAL_SCALE_Y = 24, + VT_OPACITY = 26, + VT_LOCALOPACITY = 28, + VT_PRIORITY = 30, + VT_FLIP_V = 32, + VT_FLIP_H = 34, + VT_HIDE = 36, + VT_PARTS_COLOR = 38, + VT_SHADER = 40, + VT_VERTEX = 42, + VT_PIVOT_X = 44, + VT_PIVOT_Y = 46, + VT_ANCHOR_X = 48, + VT_ANCHOR_Y = 50, + VT_SIZE_X = 52, + VT_SIZE_Y = 54, + VT_IMG_FLIP_H = 56, + VT_IMG_FLIP_V = 58, + VT_UV_MOVE_X = 60, + VT_UV_MOVE_Y = 62, + VT_UV_MOVE_Z = 64, + VT_UV_SCALE_X = 66, + VT_UV_SCALE_Y = 68, + VT_BOUNDING_RADIUS = 70, + VT_MASK = 72, + VT_SKEW_X = 74, + VT_SKEW_Y = 76, + VT_DEFORM = 78, + VT_TEXTURE = 80 + }; + const ss::runtime::PartAttributeCell *cell() const { + return GetPointer(VT_CELL); + } + float position_x() const { + return GetField(VT_POSITION_X, 0.0f); + } + float position_y() const { + return GetField(VT_POSITION_Y, 0.0f); + } + float position_z() const { + return GetField(VT_POSITION_Z, 0.0f); + } + float rotation_x() const { + return GetField(VT_ROTATION_X, 0.0f); + } + float rotation_y() const { + return GetField(VT_ROTATION_Y, 0.0f); + } + float rotation_z() const { + return GetField(VT_ROTATION_Z, 0.0f); + } + float scale_x() const { + return GetField(VT_SCALE_X, 1.0f); + } + float scale_y() const { + return GetField(VT_SCALE_Y, 1.0f); + } + float local_scale_x() const { + return GetField(VT_LOCAL_SCALE_X, 1.0f); + } + float local_scale_y() const { + return GetField(VT_LOCAL_SCALE_Y, 1.0f); + } + float opacity() const { + return GetField(VT_OPACITY, 1.0f); + } + float localopacity() const { + return GetField(VT_LOCALOPACITY, 1.0f); + } + float priority() const { + return GetField(VT_PRIORITY, 0.0f); + } + bool flip_v() const { + return GetField(VT_FLIP_V, 0) != 0; + } + bool flip_h() const { + return GetField(VT_FLIP_H, 0) != 0; + } + bool hide() const { + return GetField(VT_HIDE, 0) != 0; + } + const ss::runtime::PartAttributePartColor *parts_color() const { + return GetPointer(VT_PARTS_COLOR); + } + const ss::runtime::PartAttributeShader *shader() const { + return GetPointer(VT_SHADER); + } + const ss::runtime::PartAttributeVertex *vertex() const { + return GetPointer(VT_VERTEX); + } + float pivot_x() const { + return GetField(VT_PIVOT_X, 0.0f); + } + float pivot_y() const { + return GetField(VT_PIVOT_Y, 0.0f); + } + float anchor_x() const { + return GetField(VT_ANCHOR_X, 0.0f); + } + float anchor_y() const { + return GetField(VT_ANCHOR_Y, 0.0f); + } + float size_x() const { + return GetField(VT_SIZE_X, 1.0f); + } + float size_y() const { + return GetField(VT_SIZE_Y, 1.0f); + } + bool img_flip_h() const { + return GetField(VT_IMG_FLIP_H, 0) != 0; + } + bool img_flip_v() const { + return GetField(VT_IMG_FLIP_V, 0) != 0; + } + float uv_move_x() const { + return GetField(VT_UV_MOVE_X, 0.0f); + } + float uv_move_y() const { + return GetField(VT_UV_MOVE_Y, 0.0f); + } + float uv_move_z() const { + return GetField(VT_UV_MOVE_Z, 0.0f); + } + float uv_scale_x() const { + return GetField(VT_UV_SCALE_X, 1.0f); + } + float uv_scale_y() const { + return GetField(VT_UV_SCALE_Y, 1.0f); + } + float bounding_radius() const { + return GetField(VT_BOUNDING_RADIUS, 0.0f); + } + float mask() const { + return GetField(VT_MASK, 0.0f); + } + float skew_x() const { + return GetField(VT_SKEW_X, 0.0f); + } + float skew_y() const { + return GetField(VT_SKEW_Y, 0.0f); + } + const ss::runtime::PartAttributeDeform *deform() const { + return GetPointer(VT_DEFORM); + } + int32_t texture() const { + return GetField(VT_TEXTURE, -1); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_CELL) && + verifier.VerifyTable(cell()) && + VerifyField(verifier, VT_POSITION_X, 4) && + VerifyField(verifier, VT_POSITION_Y, 4) && + VerifyField(verifier, VT_POSITION_Z, 4) && + VerifyField(verifier, VT_ROTATION_X, 4) && + VerifyField(verifier, VT_ROTATION_Y, 4) && + VerifyField(verifier, VT_ROTATION_Z, 4) && + VerifyField(verifier, VT_SCALE_X, 4) && + VerifyField(verifier, VT_SCALE_Y, 4) && + VerifyField(verifier, VT_LOCAL_SCALE_X, 4) && + VerifyField(verifier, VT_LOCAL_SCALE_Y, 4) && + VerifyField(verifier, VT_OPACITY, 4) && + VerifyField(verifier, VT_LOCALOPACITY, 4) && + VerifyField(verifier, VT_PRIORITY, 4) && + VerifyField(verifier, VT_FLIP_V, 1) && + VerifyField(verifier, VT_FLIP_H, 1) && + VerifyField(verifier, VT_HIDE, 1) && + VerifyOffset(verifier, VT_PARTS_COLOR) && + verifier.VerifyTable(parts_color()) && + VerifyOffset(verifier, VT_SHADER) && + verifier.VerifyTable(shader()) && + VerifyOffset(verifier, VT_VERTEX) && + verifier.VerifyTable(vertex()) && + VerifyField(verifier, VT_PIVOT_X, 4) && + VerifyField(verifier, VT_PIVOT_Y, 4) && + VerifyField(verifier, VT_ANCHOR_X, 4) && + VerifyField(verifier, VT_ANCHOR_Y, 4) && + VerifyField(verifier, VT_SIZE_X, 4) && + VerifyField(verifier, VT_SIZE_Y, 4) && + VerifyField(verifier, VT_IMG_FLIP_H, 1) && + VerifyField(verifier, VT_IMG_FLIP_V, 1) && + VerifyField(verifier, VT_UV_MOVE_X, 4) && + VerifyField(verifier, VT_UV_MOVE_Y, 4) && + VerifyField(verifier, VT_UV_MOVE_Z, 4) && + VerifyField(verifier, VT_UV_SCALE_X, 4) && + VerifyField(verifier, VT_UV_SCALE_Y, 4) && + VerifyField(verifier, VT_BOUNDING_RADIUS, 4) && + VerifyField(verifier, VT_MASK, 4) && + VerifyField(verifier, VT_SKEW_X, 4) && + VerifyField(verifier, VT_SKEW_Y, 4) && + VerifyOffset(verifier, VT_DEFORM) && + verifier.VerifyTable(deform()) && + VerifyField(verifier, VT_TEXTURE, 4) && + verifier.EndTable(); + } +}; + +struct PartAttributesBuilder { + typedef PartAttributes Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_cell(::flatbuffers::Offset cell) { + fbb_.AddOffset(PartAttributes::VT_CELL, cell); + } + void add_position_x(float position_x) { + fbb_.AddElement(PartAttributes::VT_POSITION_X, position_x, 0.0f); + } + void add_position_y(float position_y) { + fbb_.AddElement(PartAttributes::VT_POSITION_Y, position_y, 0.0f); + } + void add_position_z(float position_z) { + fbb_.AddElement(PartAttributes::VT_POSITION_Z, position_z, 0.0f); + } + void add_rotation_x(float rotation_x) { + fbb_.AddElement(PartAttributes::VT_ROTATION_X, rotation_x, 0.0f); + } + void add_rotation_y(float rotation_y) { + fbb_.AddElement(PartAttributes::VT_ROTATION_Y, rotation_y, 0.0f); + } + void add_rotation_z(float rotation_z) { + fbb_.AddElement(PartAttributes::VT_ROTATION_Z, rotation_z, 0.0f); + } + void add_scale_x(float scale_x) { + fbb_.AddElement(PartAttributes::VT_SCALE_X, scale_x, 1.0f); + } + void add_scale_y(float scale_y) { + fbb_.AddElement(PartAttributes::VT_SCALE_Y, scale_y, 1.0f); + } + void add_local_scale_x(float local_scale_x) { + fbb_.AddElement(PartAttributes::VT_LOCAL_SCALE_X, local_scale_x, 1.0f); + } + void add_local_scale_y(float local_scale_y) { + fbb_.AddElement(PartAttributes::VT_LOCAL_SCALE_Y, local_scale_y, 1.0f); + } + void add_opacity(float opacity) { + fbb_.AddElement(PartAttributes::VT_OPACITY, opacity, 1.0f); + } + void add_localopacity(float localopacity) { + fbb_.AddElement(PartAttributes::VT_LOCALOPACITY, localopacity, 1.0f); + } + void add_priority(float priority) { + fbb_.AddElement(PartAttributes::VT_PRIORITY, priority, 0.0f); + } + void add_flip_v(bool flip_v) { + fbb_.AddElement(PartAttributes::VT_FLIP_V, static_cast(flip_v), 0); + } + void add_flip_h(bool flip_h) { + fbb_.AddElement(PartAttributes::VT_FLIP_H, static_cast(flip_h), 0); + } + void add_hide(bool hide) { + fbb_.AddElement(PartAttributes::VT_HIDE, static_cast(hide), 0); + } + void add_parts_color(::flatbuffers::Offset parts_color) { + fbb_.AddOffset(PartAttributes::VT_PARTS_COLOR, parts_color); + } + void add_shader(::flatbuffers::Offset shader) { + fbb_.AddOffset(PartAttributes::VT_SHADER, shader); + } + void add_vertex(::flatbuffers::Offset vertex) { + fbb_.AddOffset(PartAttributes::VT_VERTEX, vertex); + } + void add_pivot_x(float pivot_x) { + fbb_.AddElement(PartAttributes::VT_PIVOT_X, pivot_x, 0.0f); + } + void add_pivot_y(float pivot_y) { + fbb_.AddElement(PartAttributes::VT_PIVOT_Y, pivot_y, 0.0f); + } + void add_anchor_x(float anchor_x) { + fbb_.AddElement(PartAttributes::VT_ANCHOR_X, anchor_x, 0.0f); + } + void add_anchor_y(float anchor_y) { + fbb_.AddElement(PartAttributes::VT_ANCHOR_Y, anchor_y, 0.0f); + } + void add_size_x(float size_x) { + fbb_.AddElement(PartAttributes::VT_SIZE_X, size_x, 1.0f); + } + void add_size_y(float size_y) { + fbb_.AddElement(PartAttributes::VT_SIZE_Y, size_y, 1.0f); + } + void add_img_flip_h(bool img_flip_h) { + fbb_.AddElement(PartAttributes::VT_IMG_FLIP_H, static_cast(img_flip_h), 0); + } + void add_img_flip_v(bool img_flip_v) { + fbb_.AddElement(PartAttributes::VT_IMG_FLIP_V, static_cast(img_flip_v), 0); + } + void add_uv_move_x(float uv_move_x) { + fbb_.AddElement(PartAttributes::VT_UV_MOVE_X, uv_move_x, 0.0f); + } + void add_uv_move_y(float uv_move_y) { + fbb_.AddElement(PartAttributes::VT_UV_MOVE_Y, uv_move_y, 0.0f); + } + void add_uv_move_z(float uv_move_z) { + fbb_.AddElement(PartAttributes::VT_UV_MOVE_Z, uv_move_z, 0.0f); + } + void add_uv_scale_x(float uv_scale_x) { + fbb_.AddElement(PartAttributes::VT_UV_SCALE_X, uv_scale_x, 1.0f); + } + void add_uv_scale_y(float uv_scale_y) { + fbb_.AddElement(PartAttributes::VT_UV_SCALE_Y, uv_scale_y, 1.0f); + } + void add_bounding_radius(float bounding_radius) { + fbb_.AddElement(PartAttributes::VT_BOUNDING_RADIUS, bounding_radius, 0.0f); + } + void add_mask(float mask) { + fbb_.AddElement(PartAttributes::VT_MASK, mask, 0.0f); + } + void add_skew_x(float skew_x) { + fbb_.AddElement(PartAttributes::VT_SKEW_X, skew_x, 0.0f); + } + void add_skew_y(float skew_y) { + fbb_.AddElement(PartAttributes::VT_SKEW_Y, skew_y, 0.0f); + } + void add_deform(::flatbuffers::Offset deform) { + fbb_.AddOffset(PartAttributes::VT_DEFORM, deform); + } + void add_texture(int32_t texture) { + fbb_.AddElement(PartAttributes::VT_TEXTURE, texture, -1); + } + explicit PartAttributesBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartAttributes( + ::flatbuffers::FlatBufferBuilder &_fbb, + ::flatbuffers::Offset cell = 0, + float position_x = 0.0f, + float position_y = 0.0f, + float position_z = 0.0f, + float rotation_x = 0.0f, + float rotation_y = 0.0f, + float rotation_z = 0.0f, + float scale_x = 1.0f, + float scale_y = 1.0f, + float local_scale_x = 1.0f, + float local_scale_y = 1.0f, + float opacity = 1.0f, + float localopacity = 1.0f, + float priority = 0.0f, + bool flip_v = false, + bool flip_h = false, + bool hide = false, + ::flatbuffers::Offset parts_color = 0, + ::flatbuffers::Offset shader = 0, + ::flatbuffers::Offset vertex = 0, + float pivot_x = 0.0f, + float pivot_y = 0.0f, + float anchor_x = 0.0f, + float anchor_y = 0.0f, + float size_x = 1.0f, + float size_y = 1.0f, + bool img_flip_h = false, + bool img_flip_v = false, + float uv_move_x = 0.0f, + float uv_move_y = 0.0f, + float uv_move_z = 0.0f, + float uv_scale_x = 1.0f, + float uv_scale_y = 1.0f, + float bounding_radius = 0.0f, + float mask = 0.0f, + float skew_x = 0.0f, + float skew_y = 0.0f, + ::flatbuffers::Offset deform = 0, + int32_t texture = -1) { + PartAttributesBuilder builder_(_fbb); + builder_.add_texture(texture); + builder_.add_deform(deform); + builder_.add_skew_y(skew_y); + builder_.add_skew_x(skew_x); + builder_.add_mask(mask); + builder_.add_bounding_radius(bounding_radius); + builder_.add_uv_scale_y(uv_scale_y); + builder_.add_uv_scale_x(uv_scale_x); + builder_.add_uv_move_z(uv_move_z); + builder_.add_uv_move_y(uv_move_y); + builder_.add_uv_move_x(uv_move_x); + builder_.add_size_y(size_y); + builder_.add_size_x(size_x); + builder_.add_anchor_y(anchor_y); + builder_.add_anchor_x(anchor_x); + builder_.add_pivot_y(pivot_y); + builder_.add_pivot_x(pivot_x); + builder_.add_vertex(vertex); + builder_.add_shader(shader); + builder_.add_parts_color(parts_color); + builder_.add_priority(priority); + builder_.add_localopacity(localopacity); + builder_.add_opacity(opacity); + builder_.add_local_scale_y(local_scale_y); + builder_.add_local_scale_x(local_scale_x); + builder_.add_scale_y(scale_y); + builder_.add_scale_x(scale_x); + builder_.add_rotation_z(rotation_z); + builder_.add_rotation_y(rotation_y); + builder_.add_rotation_x(rotation_x); + builder_.add_position_z(position_z); + builder_.add_position_y(position_y); + builder_.add_position_x(position_x); + builder_.add_cell(cell); + builder_.add_img_flip_v(img_flip_v); + builder_.add_img_flip_h(img_flip_h); + builder_.add_hide(hide); + builder_.add_flip_h(flip_h); + builder_.add_flip_v(flip_v); + return builder_.Finish(); +} + +struct PartMeshData FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef PartMeshDataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PART_INDEX = 4, + VT_UV = 6, + VT_INDICES = 8, + VT_COUNT_COORDINATE_MESH = 10, + VT_INDEX_COORDINATE_DEFORM = 12 + }; + uint16_t part_index() const { + return GetField(VT_PART_INDEX, 0); + } + const ::flatbuffers::Vector *uv() const { + return GetPointer *>(VT_UV); + } + const ::flatbuffers::Vector *indices() const { + return GetPointer *>(VT_INDICES); + } + int32_t count_coordinate_mesh() const { + return GetField(VT_COUNT_COORDINATE_MESH, 0); + } + const ::flatbuffers::Vector *index_coordinate_deform() const { + return GetPointer *>(VT_INDEX_COORDINATE_DEFORM); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PART_INDEX, 2) && + VerifyOffset(verifier, VT_UV) && + verifier.VerifyVector(uv()) && + VerifyOffset(verifier, VT_INDICES) && + verifier.VerifyVector(indices()) && + VerifyField(verifier, VT_COUNT_COORDINATE_MESH, 4) && + VerifyOffset(verifier, VT_INDEX_COORDINATE_DEFORM) && + verifier.VerifyVector(index_coordinate_deform()) && + verifier.EndTable(); + } +}; + +struct PartMeshDataBuilder { + typedef PartMeshData Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_part_index(uint16_t part_index) { + fbb_.AddElement(PartMeshData::VT_PART_INDEX, part_index, 0); + } + void add_uv(::flatbuffers::Offset<::flatbuffers::Vector> uv) { + fbb_.AddOffset(PartMeshData::VT_UV, uv); + } + void add_indices(::flatbuffers::Offset<::flatbuffers::Vector> indices) { + fbb_.AddOffset(PartMeshData::VT_INDICES, indices); + } + void add_count_coordinate_mesh(int32_t count_coordinate_mesh) { + fbb_.AddElement(PartMeshData::VT_COUNT_COORDINATE_MESH, count_coordinate_mesh, 0); + } + void add_index_coordinate_deform(::flatbuffers::Offset<::flatbuffers::Vector> index_coordinate_deform) { + fbb_.AddOffset(PartMeshData::VT_INDEX_COORDINATE_DEFORM, index_coordinate_deform); + } + explicit PartMeshDataBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreatePartMeshData( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + ::flatbuffers::Offset<::flatbuffers::Vector> uv = 0, + ::flatbuffers::Offset<::flatbuffers::Vector> indices = 0, + int32_t count_coordinate_mesh = 0, + ::flatbuffers::Offset<::flatbuffers::Vector> index_coordinate_deform = 0) { + PartMeshDataBuilder builder_(_fbb); + builder_.add_index_coordinate_deform(index_coordinate_deform); + builder_.add_count_coordinate_mesh(count_coordinate_mesh); + builder_.add_indices(indices); + builder_.add_uv(uv); + builder_.add_part_index(part_index); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreatePartMeshDataDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + const std::vector *uv = nullptr, + const std::vector *indices = nullptr, + int32_t count_coordinate_mesh = 0, + const std::vector *index_coordinate_deform = nullptr) { + auto uv__ = uv ? _fbb.CreateVector(*uv) : 0; + auto indices__ = indices ? _fbb.CreateVector(*indices) : 0; + auto index_coordinate_deform__ = index_coordinate_deform ? _fbb.CreateVector(*index_coordinate_deform) : 0; + return ss::runtime::CreatePartMeshData( + _fbb, + part_index, + uv__, + indices__, + count_coordinate_mesh, + index_coordinate_deform__); +} + +struct EventUserData FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EventUserDataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PART_INDEX = 4, + VT_VALUE = 6 + }; + uint16_t part_index() const { + return GetField(VT_PART_INDEX, 0); + } + bool KeyCompareLessThan(const EventUserData * const o) const { + return part_index() < o->part_index(); + } + int KeyCompareWithValue(uint16_t _part_index) const { + return static_cast(part_index() > _part_index) - static_cast(part_index() < _part_index); + } + const ss::runtime::PartAttributeUserData *value() const { + return GetPointer(VT_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PART_INDEX, 2) && + VerifyOffset(verifier, VT_VALUE) && + verifier.VerifyTable(value()) && + verifier.EndTable(); + } +}; + +struct EventUserDataBuilder { + typedef EventUserData Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_part_index(uint16_t part_index) { + fbb_.AddElement(EventUserData::VT_PART_INDEX, part_index, 0); + } + void add_value(::flatbuffers::Offset value) { + fbb_.AddOffset(EventUserData::VT_VALUE, value); + } + explicit EventUserDataBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEventUserData( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + ::flatbuffers::Offset value = 0) { + EventUserDataBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_part_index(part_index); + return builder_.Finish(); +} + +struct EventSignal FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EventSignalBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PART_INDEX = 4, + VT_VALUE = 6 + }; + uint16_t part_index() const { + return GetField(VT_PART_INDEX, 0); + } + bool KeyCompareLessThan(const EventSignal * const o) const { + return part_index() < o->part_index(); + } + int KeyCompareWithValue(uint16_t _part_index) const { + return static_cast(part_index() > _part_index) - static_cast(part_index() < _part_index); + } + const ss::runtime::PartAttributeSignal *value() const { + return GetPointer(VT_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PART_INDEX, 2) && + VerifyOffset(verifier, VT_VALUE) && + verifier.VerifyTable(value()) && + verifier.EndTable(); + } +}; + +struct EventSignalBuilder { + typedef EventSignal Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_part_index(uint16_t part_index) { + fbb_.AddElement(EventSignal::VT_PART_INDEX, part_index, 0); + } + void add_value(::flatbuffers::Offset value) { + fbb_.AddOffset(EventSignal::VT_VALUE, value); + } + explicit EventSignalBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEventSignal( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + ::flatbuffers::Offset value = 0) { + EventSignalBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_part_index(part_index); + return builder_.Finish(); +} + +struct EventAudio FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EventAudioBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PART_INDEX = 4, + VT_VALUE = 6 + }; + uint16_t part_index() const { + return GetField(VT_PART_INDEX, 0); + } + bool KeyCompareLessThan(const EventAudio * const o) const { + return part_index() < o->part_index(); + } + int KeyCompareWithValue(uint16_t _part_index) const { + return static_cast(part_index() > _part_index) - static_cast(part_index() < _part_index); + } + const ss::runtime::PartAttributeAudio *value() const { + return GetPointer(VT_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PART_INDEX, 2) && + VerifyOffset(verifier, VT_VALUE) && + verifier.VerifyTable(value()) && + verifier.EndTable(); + } +}; + +struct EventAudioBuilder { + typedef EventAudio Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_part_index(uint16_t part_index) { + fbb_.AddElement(EventAudio::VT_PART_INDEX, part_index, 0); + } + void add_value(::flatbuffers::Offset value) { + fbb_.AddOffset(EventAudio::VT_VALUE, value); + } + explicit EventAudioBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEventAudio( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + ::flatbuffers::Offset value = 0) { + EventAudioBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_part_index(part_index); + return builder_.Finish(); +} + +struct EventInstance FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EventInstanceBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PART_INDEX = 4, + VT_VALUE = 6 + }; + uint16_t part_index() const { + return GetField(VT_PART_INDEX, 0); + } + bool KeyCompareLessThan(const EventInstance * const o) const { + return part_index() < o->part_index(); + } + int KeyCompareWithValue(uint16_t _part_index) const { + return static_cast(part_index() > _part_index) - static_cast(part_index() < _part_index); + } + const ss::runtime::PartAttributeInstance *value() const { + return GetPointer(VT_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PART_INDEX, 2) && + VerifyOffset(verifier, VT_VALUE) && + verifier.VerifyTable(value()) && + verifier.EndTable(); + } +}; + +struct EventInstanceBuilder { + typedef EventInstance Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_part_index(uint16_t part_index) { + fbb_.AddElement(EventInstance::VT_PART_INDEX, part_index, 0); + } + void add_value(::flatbuffers::Offset value) { + fbb_.AddOffset(EventInstance::VT_VALUE, value); + } + explicit EventInstanceBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEventInstance( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + ::flatbuffers::Offset value = 0) { + EventInstanceBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_part_index(part_index); + return builder_.Finish(); +} + +struct EventEffect FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EventEffectBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PART_INDEX = 4, + VT_VALUE = 6 + }; + uint16_t part_index() const { + return GetField(VT_PART_INDEX, 0); + } + bool KeyCompareLessThan(const EventEffect * const o) const { + return part_index() < o->part_index(); + } + int KeyCompareWithValue(uint16_t _part_index) const { + return static_cast(part_index() > _part_index) - static_cast(part_index() < _part_index); + } + const ss::runtime::PartAttributeEffect *value() const { + return GetPointer(VT_VALUE); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PART_INDEX, 2) && + VerifyOffset(verifier, VT_VALUE) && + verifier.VerifyTable(value()) && + verifier.EndTable(); + } +}; + +struct EventEffectBuilder { + typedef EventEffect Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_part_index(uint16_t part_index) { + fbb_.AddElement(EventEffect::VT_PART_INDEX, part_index, 0); + } + void add_value(::flatbuffers::Offset value) { + fbb_.AddOffset(EventEffect::VT_VALUE, value); + } + explicit EventEffectBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEventEffect( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t part_index = 0, + ::flatbuffers::Offset value = 0) { + EventEffectBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_part_index(part_index); + return builder_.Finish(); +} + +struct EventsPerFrame FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef EventsPerFrameBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FRAME_INDEX = 4, + VT_USERS = 6, + VT_SIGNALS = 8, + VT_AUDIOS = 10, + VT_INSTANCES = 12, + VT_EFFECTS = 14 + }; + uint16_t frame_index() const { + return GetField(VT_FRAME_INDEX, 0); + } + bool KeyCompareLessThan(const EventsPerFrame * const o) const { + return frame_index() < o->frame_index(); + } + int KeyCompareWithValue(uint16_t _frame_index) const { + return static_cast(frame_index() > _frame_index) - static_cast(frame_index() < _frame_index); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *users() const { + return GetPointer> *>(VT_USERS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *signals() const { + return GetPointer> *>(VT_SIGNALS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *audios() const { + return GetPointer> *>(VT_AUDIOS); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *instances() const { + return GetPointer> *>(VT_INSTANCES); + } + const ::flatbuffers::Vector<::flatbuffers::Offset> *effects() const { + return GetPointer> *>(VT_EFFECTS); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FRAME_INDEX, 2) && + VerifyOffset(verifier, VT_USERS) && + verifier.VerifyVector(users()) && + verifier.VerifyVectorOfTables(users()) && + VerifyOffset(verifier, VT_SIGNALS) && + verifier.VerifyVector(signals()) && + verifier.VerifyVectorOfTables(signals()) && + VerifyOffset(verifier, VT_AUDIOS) && + verifier.VerifyVector(audios()) && + verifier.VerifyVectorOfTables(audios()) && + VerifyOffset(verifier, VT_INSTANCES) && + verifier.VerifyVector(instances()) && + verifier.VerifyVectorOfTables(instances()) && + VerifyOffset(verifier, VT_EFFECTS) && + verifier.VerifyVector(effects()) && + verifier.VerifyVectorOfTables(effects()) && + verifier.EndTable(); + } +}; + +struct EventsPerFrameBuilder { + typedef EventsPerFrame Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_frame_index(uint16_t frame_index) { + fbb_.AddElement(EventsPerFrame::VT_FRAME_INDEX, frame_index, 0); + } + void add_users(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> users) { + fbb_.AddOffset(EventsPerFrame::VT_USERS, users); + } + void add_signals(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> signals) { + fbb_.AddOffset(EventsPerFrame::VT_SIGNALS, signals); + } + void add_audios(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> audios) { + fbb_.AddOffset(EventsPerFrame::VT_AUDIOS, audios); + } + void add_instances(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> instances) { + fbb_.AddOffset(EventsPerFrame::VT_INSTANCES, instances); + } + void add_effects(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> effects) { + fbb_.AddOffset(EventsPerFrame::VT_EFFECTS, effects); + } + explicit EventsPerFrameBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = ::flatbuffers::Offset(end); + return o; + } +}; + +inline ::flatbuffers::Offset CreateEventsPerFrame( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t frame_index = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> users = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> signals = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> audios = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> instances = 0, + ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> effects = 0) { + EventsPerFrameBuilder builder_(_fbb); + builder_.add_effects(effects); + builder_.add_instances(instances); + builder_.add_audios(audios); + builder_.add_signals(signals); + builder_.add_users(users); + builder_.add_frame_index(frame_index); + return builder_.Finish(); +} + +inline ::flatbuffers::Offset CreateEventsPerFrameDirect( + ::flatbuffers::FlatBufferBuilder &_fbb, + uint16_t frame_index = 0, + std::vector<::flatbuffers::Offset> *users = nullptr, + std::vector<::flatbuffers::Offset> *signals = nullptr, + std::vector<::flatbuffers::Offset> *audios = nullptr, + std::vector<::flatbuffers::Offset> *instances = nullptr, + std::vector<::flatbuffers::Offset> *effects = nullptr) { + auto users__ = users ? _fbb.CreateVectorOfSortedTables(users) : 0; + auto signals__ = signals ? _fbb.CreateVectorOfSortedTables(signals) : 0; + auto audios__ = audios ? _fbb.CreateVectorOfSortedTables(audios) : 0; + auto instances__ = instances ? _fbb.CreateVectorOfSortedTables(instances) : 0; + auto effects__ = effects ? _fbb.CreateVectorOfSortedTables(effects) : 0; + return ss::runtime::CreateEventsPerFrame( + _fbb, + frame_index, + users__, + signals__, + audios__, + instances__, + effects__); +} + +struct Label FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { + typedef LabelBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_TIME = 6 + }; + const ::flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + bool KeyCompareLessThan(const Label * const o) const { + return *name() < *o->name(); + } + int KeyCompareWithValue(const char *_name) const { + return strcmp(name()->c_str(), _name); + } + template + int KeyCompareWithValue(const StringType& _name) const { + if (name()->c_str() < _name) return -1; + if (_name < name()->c_str()) return 1; + return 0; + } + int32_t time() const { + return GetField(VT_TIME, 0); + } + template + bool Verify(::flatbuffers::VerifierTemplate &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffsetRequired(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyField(verifier, VT_TIME, 4) && + verifier.EndTable(); + } +}; + +struct LabelBuilder { + typedef Label Table; + ::flatbuffers::FlatBufferBuilder &fbb_; + ::flatbuffers::uoffset_t start_; + void add_name(::flatbuffers::Offset<::flatbuffers::String> name) { + fbb_.AddOffset(Label::VT_NAME, name); + } + void add_time(int32_t time) { + fbb_.AddElement(Label::VT_TIME, time, 0); + } + explicit LabelBuilder(::flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ::flatbuffers::Offset