/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. #pragma once #include #include namespace Serialization { class IArchive; struct SStruct; } struct SkeletonAlias; bool Serialize(Serialization::IArchive& ar, SkeletonAlias& value, const char* name, const char* label); enum { SERIALIZE_STATE = 1 << 0, SERIALIZE_LAYOUT = 1 << 1, }; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // from ../EditorCommon/Serialization #include "Serialization/BinArchive.h" #include "Serialization/JSONIArchive.h" #include "Serialization/JSONOArchive.h" #include "Serialization/Qt.h" namespace CharacterTool { using Serialization::IArchive; using Serialization::AttachmentName; using Serialization::ResourceFilePath; using Serialization::MaterialPath; using Serialization::SkeletonPath; using Serialization::SkeletonParamsPath; using Serialization::AnimationAlias; using Serialization::AnimationPath; using Serialization::AnimationPathWithId; using Serialization::CharacterPath; using Serialization::CharacterPhysicsPath; using Serialization::CharacterRigPath; using Serialization::ResourceFolderPath; using Serialization::JointName; using Serialization::BitFlags; using Serialization::Decorators::Slider; using Serialization::Decorators::Range; using Serialization::LocalToJoint; using Serialization::ToggleButton; #if 0 // useful for debugging typedef Serialization::JSONOArchive MemoryOArchive; typedef Serialization::JSONIArchive MemoryIArchive; #else typedef Serialization::BinOArchive MemoryOArchive; typedef Serialization::BinIArchive MemoryIArchive; #endif void SerializeToMemory(std::vector* buffer, const Serialization::SStruct& obj); void SerializeToMemory(DynArray* buffer, const Serialization::SStruct& obj); void SerializeFromMemory(const Serialization::SStruct& outObj, const std::vector& buffer); void SerializeFromMemory(const Serialization::SStruct& outObj, const DynArray& buffer); }