├── .gitignore ├── Build ├── sea3d.js ├── sea3d.min.js ├── sea3d.o3dg.js ├── sea3d.o3dg.min.js ├── sea3d.physics.js ├── sea3d.physics.min.js ├── sea3d.tjs.js └── sea3d.tjs.min.js ├── Compiler ├── build.bat ├── build.py ├── closure-compiler │ ├── COPYING │ ├── README.md │ └── closure-compiler-v20161024.jar ├── common.js ├── sea.json ├── sea_deflate.json ├── sea_legacy.json ├── sea_o3dgc.json └── sea_physics.json ├── Examples ├── Designer │ ├── 3ds Max │ │ ├── 3ds Max 2011 │ │ │ ├── ATF-Textures.max │ │ │ ├── AnimationSequence.max │ │ │ ├── BlendTexture.max │ │ │ ├── BlendTexture2.max │ │ │ ├── CameraAnimation.max │ │ │ ├── Character+JointObject.max │ │ │ ├── Character+Morpher.max │ │ │ ├── Character.max │ │ │ ├── CharacterOptimized.max │ │ │ ├── DetailMap.max │ │ │ ├── FaceMorphExample.max │ │ │ ├── FlatMirror.max │ │ │ ├── InkPaint(Dog)+Instances.max │ │ │ ├── InkPaint(Dog).max │ │ │ ├── InstanceGeometry.max │ │ │ ├── LayeredTexture.max │ │ │ ├── LightAnimation.max │ │ │ ├── LightMap.max │ │ │ ├── Morpher.max │ │ │ ├── NormalMap.max │ │ │ ├── ObjectAnimation.max │ │ │ ├── ReflectShader+Environment.max │ │ │ ├── RuntimeFresnelReflection.max │ │ │ ├── RuntimeReflection.max │ │ │ ├── Sound3D.max │ │ │ ├── TextureAnimation.max │ │ │ ├── TransparentTexture.max │ │ │ ├── VertexAnimation.max │ │ │ └── sounds │ │ │ │ ├── nature-sound.mp3 │ │ │ │ └── sound-test.mp3 │ │ ├── 3ds Max 2012 │ │ │ ├── animations │ │ │ │ ├── AVATAR │ │ │ │ │ ├── Breath20.bip │ │ │ │ │ ├── Run17.bip │ │ │ │ │ ├── Sit20.bip │ │ │ │ │ ├── SitWoman20.bip │ │ │ │ │ ├── Walk20.bip │ │ │ │ │ ├── WalkWoman20.bip │ │ │ │ │ ├── actorcalibration_fs.bip │ │ │ │ │ ├── bazooka_death.bip │ │ │ │ │ ├── bazooka_idle.bip │ │ │ │ │ ├── bazooka_jump.bip │ │ │ │ │ ├── bazooka_walk.bip │ │ │ │ │ ├── death.bip │ │ │ │ │ ├── gun_death.bip │ │ │ │ │ ├── gun_idle.bip │ │ │ │ │ ├── gun_jump.bip │ │ │ │ │ ├── gun_walk.bip │ │ │ │ │ ├── human.mix │ │ │ │ │ ├── human_45.fig │ │ │ │ │ ├── jump.bip │ │ │ │ │ ├── launch.bip │ │ │ │ │ ├── no3.bip │ │ │ │ │ ├── shoutgun_death.bip │ │ │ │ │ ├── shoutgun_idle.bip │ │ │ │ │ ├── shoutgun_jump.bip │ │ │ │ │ ├── shoutgun_jump01.bip │ │ │ │ │ ├── shoutgun_walk.bip │ │ │ │ │ ├── sniper_death.bip │ │ │ │ │ ├── sniper_idle.bip │ │ │ │ │ ├── sniper_jump.bip │ │ │ │ │ └── sniper_walk.bip │ │ │ │ └── droid_fps.bip │ │ │ ├── car.max │ │ │ ├── dianna.max │ │ │ ├── dragon.max │ │ │ ├── droid.max │ │ │ ├── game.max │ │ │ ├── spider.max │ │ │ └── textures │ │ │ │ ├── Spider.jpg │ │ │ │ ├── car │ │ │ │ ├── body.png │ │ │ │ ├── bodydoor.png │ │ │ │ ├── intern.png │ │ │ │ ├── light.png │ │ │ │ └── wheels.png │ │ │ │ ├── dianna │ │ │ │ ├── eye_cont.png │ │ │ │ ├── full.jpg │ │ │ │ ├── hair.png │ │ │ │ ├── head.jpg │ │ │ │ ├── sock.jpg │ │ │ │ ├── teethLow.png │ │ │ │ ├── teethUp.png │ │ │ │ └── tongue.jpg │ │ │ │ ├── dragon.jpg │ │ │ │ ├── droid.jpg │ │ │ │ └── game │ │ │ │ ├── avatar.jpg │ │ │ │ ├── avatar2.jpg │ │ │ │ ├── avatar3.jpg │ │ │ │ ├── avatar4.jpg │ │ │ │ ├── avatar5.jpg │ │ │ │ ├── avatar6.jpg │ │ │ │ ├── item.jpg │ │ │ │ ├── stairs.jpg │ │ │ │ └── wall.jpg │ │ ├── 3ds Max 9 │ │ │ ├── CustomAttributes.max │ │ │ ├── FlatMirror.max │ │ │ └── Morpher.max │ │ ├── README.md │ │ └── textures │ │ │ ├── Clound.png │ │ │ ├── Grass0001_S.jpg │ │ │ ├── Grass0001_S.png │ │ │ ├── Trees0058_4_S.png │ │ │ ├── lightmap1.jpg │ │ │ ├── lightmap2.jpg │ │ │ ├── logo.jpg │ │ │ ├── map-mask.jpg │ │ │ ├── set04_18-normal.jpg │ │ │ ├── set04_18-specular.jpg │ │ │ ├── set04_18.jpg │ │ │ └── skybox │ │ │ ├── sky_negX.jpg │ │ │ ├── sky_negX.png │ │ │ ├── sky_negY.jpg │ │ │ ├── sky_negY.png │ │ │ ├── sky_negZ.jpg │ │ │ ├── sky_negZ.png │ │ │ ├── sky_posX.jpg │ │ │ ├── sky_posX.png │ │ │ ├── sky_posY.jpg │ │ │ ├── sky_posY.png │ │ │ ├── sky_posZ.jpg │ │ │ └── sky_posZ.png │ └── SEA3D Studio │ │ ├── BlendMap.sea │ │ ├── CameraAnimation.sea │ │ ├── Car+Physics.sea │ │ ├── Character+JointObject.sea │ │ ├── Character+Morpher.sea │ │ ├── Character.sea │ │ ├── CustomAttributes.sea │ │ ├── FresnelReflection.sea │ │ ├── InkDog+Instances.sea │ │ ├── InkDog+JointObject.sea │ │ ├── InstanceGeometry.sea │ │ ├── KeyFrameAnimation.sea │ │ ├── LayeredTexture.sea │ │ ├── LayeredTextureAlpha.sea │ │ ├── LightAnimation.sea │ │ ├── LightMap.sea │ │ ├── Mascot.sea │ │ ├── Morph.sea │ │ ├── NormalMap.sea │ │ ├── Physics.sea │ │ ├── ReflectionShader.sea │ │ ├── RuntimeReflection.sea │ │ ├── Sound3D.sea │ │ ├── Sparticle.sea │ │ ├── TextureAnimation.sea │ │ ├── TransparentTexture.sea │ │ ├── VertexAnimation.sea │ │ └── Water Example.sea └── Programmer │ ├── Away3D │ ├── README.txt │ ├── assets │ │ ├── AnimationSequence 3dsMax2011.max │ │ ├── AnimationSequence.sea │ │ ├── BlendTexture 3dsMax2011.max │ │ ├── BlendTexture.sea │ │ ├── Character 3dsMax2011.max │ │ ├── Character-JointObject 3dsMax2011.max │ │ ├── Character-Walk 3dsMax2011.max │ │ ├── Character.sea │ │ ├── CharacterJointObject.sea │ │ ├── CharacterMorpher.sea │ │ ├── CharacterWalk.sea │ │ ├── CubeReflection 3dsMax9.max │ │ ├── CubeReflection.sea │ │ ├── CustomAttributes.sea │ │ ├── DynamicLights.sea │ │ ├── DynamicShadows.sea │ │ ├── FlatMirror 3dsMax9.max │ │ ├── FlatMirror.sea │ │ ├── Hierarchy 3dsMax9.max │ │ ├── Hierarchy.sea │ │ ├── LayeredTexture 3dsMax2011.max │ │ ├── LayeredTexture-NoAnimated.sea │ │ ├── LayeredTexture.sea │ │ ├── Lights 3dsMax2011.max │ │ ├── Physics.sea │ │ ├── ShadowAndNormalMap 3dsMax2011.max │ │ ├── ShadowMap 3dsMax2011.max │ │ ├── ShadowsAndNormalMap.sea │ │ ├── SharedMorph 3dsMax2011.max │ │ ├── SharedMorph.sea │ │ ├── SimpleScene 3dsMax9.max │ │ ├── SimpleScene.sea │ │ ├── Sound3D 3dsMax2011.max │ │ ├── Sound3D.sea │ │ ├── Sparticle.sea │ │ ├── VertexAnimation 3dsMax2011.max │ │ ├── VertexAnimation.sea │ │ ├── sounds │ │ │ └── nature-sound.mp3 │ │ └── textures │ │ │ ├── Clound.png │ │ │ ├── Grass0001_S.jpg │ │ │ ├── logo.jpg │ │ │ └── set04_18.jpg │ └── src │ │ ├── AnimationSequence.as │ │ ├── BlendTexture.as │ │ ├── CharacterExample.as │ │ ├── CharacterJointObjectExample.as │ │ ├── CharacterMorpherExample.as │ │ ├── CharacterSharedAnimationExample.as │ │ ├── CubeReflection.as │ │ ├── CustomAttributes.as │ │ ├── DynamicFog.as │ │ ├── DynamicLights.as │ │ ├── DynamicShadows.as │ │ ├── DynamicShadowsNormal.as │ │ ├── FlatMirror.as │ │ ├── HierarchyExample.as │ │ ├── IndividualAnimationAutoUpdate.as │ │ ├── IndividualAnimationManual.as │ │ ├── MorphExample.as │ │ ├── MorphSharedExample.as │ │ ├── Multilayer.as │ │ ├── MultilayerStudioAnimated.as │ │ ├── Physics.as │ │ ├── SimpleLoad.as │ │ ├── Sound3DExample.as │ │ ├── SparticleLoad.as │ │ └── VertexAnimationExample.as │ └── Three.JS │ ├── assets │ ├── avatar.sea │ ├── avatar.tjs.sea │ ├── babe.sea │ ├── babe.tjs.sea │ ├── bigmodel.sea │ ├── car.sea │ ├── car.tjs.sea │ ├── droid.sea │ ├── dummy.sea │ ├── dummy.tjs.sea │ ├── dva.sea │ ├── hello-world.max │ ├── hello-world.sea │ ├── keyframe.sea │ ├── keyframe.tjs.sea │ ├── mascot.o3dgc.tjs.sea │ ├── mascot.sea │ ├── mascot.tjs.sea │ ├── meck.sea │ ├── meck.tjs.sea │ ├── morph.sea │ ├── morph.tjs.sea │ ├── physics.sea │ ├── physics.tjs.sea │ ├── robot.sea │ ├── robot.tjs.sea │ ├── skin.sea │ ├── skin.tjs.sea │ ├── sound.sea │ ├── sound.tjs.sea │ ├── temari.sea │ ├── temari.tjs.sea │ ├── textureanm.sea │ ├── textures │ │ ├── avatar_final.png │ │ ├── avatar_n_m.png │ │ ├── avatar_n_w.png │ │ ├── avatar_occ.png │ │ ├── avatar_skin_n_m.png │ │ ├── avatar_skin_n_w.png │ │ ├── dva.png │ │ ├── dva_n.png │ │ ├── eye.png │ │ ├── eye_n.png │ │ ├── metal.jpg │ │ ├── muscular.png │ │ ├── sky.jpg │ │ └── smooth.jpg │ ├── tsunade.sea │ └── tsunade.tjs.sea │ ├── character.html │ ├── demos │ ├── assets │ │ ├── model │ │ │ ├── car.sea │ │ │ ├── dianna_body.sea │ │ │ ├── dianna_head.sea │ │ │ ├── dragon.sea │ │ │ ├── droid.sea │ │ │ ├── game.low.sea │ │ │ ├── game.sea │ │ │ └── spider.sea │ │ ├── sea3d.svg │ │ └── sea3db.svg │ ├── car.html │ ├── dianna.html │ ├── dragon.html │ ├── droid.html │ ├── game_assets.html │ ├── js │ │ ├── Detector.js │ │ ├── cargame.min.js │ │ ├── controls │ │ │ └── OrbitControls.js │ │ ├── loaders │ │ │ ├── animatorClone.js │ │ │ └── sea3d.min.js │ │ ├── miniGUI.js │ │ ├── polyfill.min.js │ │ ├── rvo.min.js │ │ ├── three.min.js │ │ └── war.min.js │ ├── spider_cloud.html │ └── wargame.html │ ├── exporter.html │ ├── js │ ├── controls │ │ ├── OrbitControls.js │ │ ├── PointerLockControls.js │ │ └── TransformControls.js │ ├── postprocessing │ │ ├── EffectComposer.js │ │ ├── MaskPass.js │ │ ├── RenderPass.js │ │ └── ShaderPass.js │ ├── shaders │ │ ├── ColorCorrectionShader.js │ │ ├── CopyShader.js │ │ └── VignetteShader.js │ ├── stats.min.js │ └── three.js │ ├── keyframe.html │ ├── line_sprite_dummy.html │ ├── mascot.html │ ├── morph.html │ ├── on_progress.html │ ├── physics.html │ ├── robot_o3dgc.html │ ├── sound.html │ └── uv_animation.html ├── Exporter └── 3ds Max │ ├── README.md │ ├── SEA3D │ ├── Animations.config │ ├── Default.config │ ├── Materials and Textures.config │ ├── Meshes - Polygon soup.config │ ├── Meshes.config │ ├── SEA3D.dll │ ├── SEA3D.inc │ ├── SEA3D.ms │ ├── SEA3DAnimation.ms │ ├── SEA3DMaterial.ms │ └── atf-extension │ │ ├── README.md │ │ └── atf-extension.zip │ └── Setup │ ├── Launcher.inc │ ├── Setup.inc │ └── Setup.ms ├── IO ├── IO.js └── index.html ├── LICENSE ├── Media ├── Logo.gif ├── Logo.png ├── LogoBlack.png ├── Mascot.jpg ├── SEA3D-3dsMax-Exporter.gif ├── SEA3D-Studio-Splash.jpg ├── SEA3D-Studio.jpg ├── SEA3D-Studio.png ├── SEA3D-Top-BlackGL.jpg ├── SEA3D-Top-BlackGL.png ├── Top-BlackClean.jpg ├── Top-BlackClean.png ├── sea3d.svg └── sea3db.svg ├── Player ├── bvh │ └── base.z ├── index.html ├── js │ ├── BVHLoader.js │ ├── Gradient.js │ ├── ShaderAvatar.js │ ├── ShaderShadow.js │ ├── seaPlayer.js │ └── uil.min.js ├── loader.gif ├── test_blending.html └── test_bvh.html ├── README.md ├── Source ├── Assimp │ ├── AssimpNet.Interop.Generator │ │ ├── App.config │ │ ├── AssimpNet.Interop.Generator.csproj │ │ ├── Program.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── AssimpNet │ │ ├── Animation.cs │ │ ├── AssimpContext.cs │ │ ├── AssimpException.cs │ │ ├── AssimpKey.snk │ │ ├── AssimpLicense.txt │ │ ├── AssimpNet.csproj │ │ ├── Bone.cs │ │ ├── Camera.cs │ │ ├── Color3D.cs │ │ ├── Color4D.cs │ │ ├── Configs │ │ │ └── PropertyConfig.cs │ │ ├── EmbeddedTexture.cs │ │ ├── Enums.cs │ │ ├── ExportDataBlob.cs │ │ ├── ExportFormatDescription.cs │ │ ├── Face.cs │ │ ├── FileIOSystem.cs │ │ ├── IOStream.cs │ │ ├── IOSystem.cs │ │ ├── Interfaces.cs │ │ ├── InternalInterop.cs │ │ ├── Light.cs │ │ ├── LogStream.cs │ │ ├── Material.cs │ │ ├── MaterialProperty.cs │ │ ├── Matrix3x3.cs │ │ ├── Matrix4x4.cs │ │ ├── MemoryHelper.cs │ │ ├── Mesh.cs │ │ ├── MeshAnimationAttachment.cs │ │ ├── MeshAnimationChannel.cs │ │ ├── MeshKey.cs │ │ ├── Metadata.cs │ │ ├── NativeMarshalerAttribute.cs │ │ ├── Node.cs │ │ ├── NodeAnimationChannel.cs │ │ ├── NodeCollection.cs │ │ ├── Plane.cs │ │ ├── PostProcessPreset.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Quaternion.cs │ │ ├── QuaternionKey.cs │ │ ├── Ray.cs │ │ ├── Scene.cs │ │ ├── Texel.cs │ │ ├── TextureSlot.cs │ │ ├── UVTransform.cs │ │ ├── Unmanaged │ │ │ ├── AiConfigs.cs │ │ │ ├── AiDefines.cs │ │ │ ├── AiMatKeys.cs │ │ │ ├── AssimpLibrary.cs │ │ │ └── UnmanagedStructures.cs │ │ ├── Vector2D.cs │ │ ├── Vector3D.cs │ │ ├── VectorKey.cs │ │ └── VertexWeight.cs │ ├── SEA3D_ASSIMP.sln │ ├── SEA3D_Assimp │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── SEA3DAssimp.cs │ │ └── SEA3D_Assimp.csproj │ ├── SEA3D_Encoder │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── SEA3D_Encoder.csproj │ ├── SEA3D_Server │ │ ├── FileServer.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── SEA3D_Server.csproj │ │ └── Session │ │ │ └── SEA3DEncoder.cs │ └── libs │ │ ├── Assimp │ │ ├── Assimp32.dll │ │ └── Assimp64.dll │ │ ├── Mono.Cecil │ │ ├── Net20 │ │ │ ├── Mono.Cecil.Pdb.dll │ │ │ └── Mono.Cecil.dll │ │ └── Net40 │ │ │ ├── Mono.Cecil.Pdb.dll │ │ │ └── Mono.Cecil.dll │ │ ├── NUnit │ │ ├── license.txt │ │ ├── nunit.framework.dll │ │ ├── nunit.framework.xml │ │ └── nunit.mocks.dll │ │ └── OpenTK │ │ ├── License.txt │ │ ├── OpenTK.GLControl.dll │ │ ├── OpenTK.GLControl.xml │ │ ├── OpenTK.dll │ │ └── OpenTK.xml ├── Away3D │ ├── README.txt │ └── src │ │ └── sunag │ │ ├── events │ │ └── SEAEvent.as │ │ ├── sea3d │ │ ├── LoaderMethod.as │ │ ├── SEA.as │ │ ├── SEA3D.as │ │ ├── SEATools.as │ │ ├── SEAWriter.as │ │ ├── config │ │ │ ├── ConfigBase.as │ │ │ ├── ConfigWriter.as │ │ │ ├── DefaultConfig.as │ │ │ ├── DynamicConfig.as │ │ │ ├── IConfig.as │ │ │ ├── IConfigBase.as │ │ │ ├── IConfigWriter.as │ │ │ ├── MultiPassConfig.as │ │ │ └── ShadowMethod.as │ │ ├── field │ │ │ └── FieldData.as │ │ ├── mesh │ │ │ └── MeshData.as │ │ ├── modules │ │ │ ├── ActionModule.as │ │ │ ├── ActionModuleBase.as │ │ │ ├── ByteCodeModuleBase.as │ │ │ ├── HelperModule.as │ │ │ ├── HelperModuleBase.as │ │ │ ├── ModuleBase.as │ │ │ ├── ParticleModule.as │ │ │ ├── ParticleModuleBase.as │ │ │ ├── PhysicsModuleBase.as │ │ │ ├── RTTModule.as │ │ │ ├── RTTModuleBase.as │ │ │ ├── Scene3DModule.as │ │ │ ├── Scene3DModuleBase.as │ │ │ ├── ScriptingModuleBase.as │ │ │ ├── SoundModule.as │ │ │ └── SoundModuleBase.as │ │ ├── objects │ │ │ ├── IAnimation.as │ │ │ ├── IAnimator.as │ │ │ ├── ISEARTT.as │ │ │ ├── SEAABC.as │ │ │ ├── SEAAReferenceFile.as │ │ │ ├── SEAATF.as │ │ │ ├── SEAATFCube.as │ │ │ ├── SEAAction.as │ │ │ ├── SEAActionObject.as │ │ │ ├── SEAAmbientLight.as │ │ │ ├── SEAAnimation.as │ │ │ ├── SEAAnimationBase.as │ │ │ ├── SEAApp.as │ │ │ ├── SEAAssets.as │ │ │ ├── SEAAssetsBase.as │ │ │ ├── SEAAssetsURL.as │ │ │ ├── SEABMP.as │ │ │ ├── SEABox.as │ │ │ ├── SEABoxGeometry.as │ │ │ ├── SEAByteCode.as │ │ │ ├── SEACamera.as │ │ │ ├── SEACapsule.as │ │ │ ├── SEACarController.as │ │ │ ├── SEACharacterController.as │ │ │ ├── SEAClass.as │ │ │ ├── SEACollisionSensor.as │ │ │ ├── SEAComposite.as │ │ │ ├── SEACompound.as │ │ │ ├── SEACone.as │ │ │ ├── SEAConeTwistConstraint.as │ │ │ ├── SEAConstraint.as │ │ │ ├── SEAContainer.as │ │ │ ├── SEAContainer3D.as │ │ │ ├── SEAConvexGeometry.as │ │ │ ├── SEACubeBase.as │ │ │ ├── SEACubeMap.as │ │ │ ├── SEACubeRender.as │ │ │ ├── SEACubeURL.as │ │ │ ├── SEACylinder.as │ │ │ ├── SEACylinderGeometry.as │ │ │ ├── SEAData.as │ │ │ ├── SEADirectionalLight.as │ │ │ ├── SEADummy.as │ │ │ ├── SEAEntity3D.as │ │ │ ├── SEAFile.as │ │ │ ├── SEAFileInfo.as │ │ │ ├── SEAGIF.as │ │ │ ├── SEAGLSL.as │ │ │ ├── SEAGeometry.as │ │ │ ├── SEAGeometryBase.as │ │ │ ├── SEAGeometryData.as │ │ │ ├── SEAGeometryDelta.as │ │ │ ├── SEAHemisphereLight.as │ │ │ ├── SEAHingeConstraint.as │ │ │ ├── SEAJPEG.as │ │ │ ├── SEAJPEGXR.as │ │ │ ├── SEAJavaScript.as │ │ │ ├── SEAJavaScriptMethod.as │ │ │ ├── SEAJoint.as │ │ │ ├── SEAJointObject.as │ │ │ ├── SEALight.as │ │ │ ├── SEALine.as │ │ │ ├── SEALua.as │ │ │ ├── SEAMP3.as │ │ │ ├── SEAMaterial.as │ │ │ ├── SEAMaterialBase.as │ │ │ ├── SEAMesh.as │ │ │ ├── SEAMesh2D.as │ │ │ ├── SEAMetadata.as │ │ │ ├── SEAModifier.as │ │ │ ├── SEAMorph.as │ │ │ ├── SEAMorphAnimation.as │ │ │ ├── SEANativeScript.as │ │ │ ├── SEAOGG.as │ │ │ ├── SEAObject.as │ │ │ ├── SEAObject3D.as │ │ │ ├── SEAOrthographicCamera.as │ │ │ ├── SEAP2PConstraint.as │ │ │ ├── SEAPNG.as │ │ │ ├── SEAParticle.as │ │ │ ├── SEAParticleContainer.as │ │ │ ├── SEAPerspectiveCamera.as │ │ │ ├── SEAPhysics.as │ │ │ ├── SEAPlanarRender.as │ │ │ ├── SEAPlaneGeometry.as │ │ │ ├── SEAPointLight.as │ │ │ ├── SEAPrimitive.as │ │ │ ├── SEAProperties.as │ │ │ ├── SEAPropertiesBase.as │ │ │ ├── SEAPropertiesObject.as │ │ │ ├── SEARTT.as │ │ │ ├── SEARigidBody.as │ │ │ ├── SEAScene3D.as │ │ │ ├── SEAScript.as │ │ │ ├── SEAScriptURL.as │ │ │ ├── SEAShape.as │ │ │ ├── SEASingleCube.as │ │ │ ├── SEASkeleton.as │ │ │ ├── SEASkeletonAnimation.as │ │ │ ├── SEASkeletonLocal.as │ │ │ ├── SEASound.as │ │ │ ├── SEASound3DBase.as │ │ │ ├── SEASoundMixer.as │ │ │ ├── SEASoundPoint.as │ │ │ ├── SEASparticle.as │ │ │ ├── SEASphere.as │ │ │ ├── SEATexture.as │ │ │ ├── SEATextureURL.as │ │ │ ├── SEAThumbnail.as │ │ │ ├── SEATriangleGeometry.as │ │ │ ├── SEAUVWAnimation.as │ │ │ ├── SEAVertexAnimation.as │ │ │ └── SEAVertexColor.as │ │ ├── physics │ │ │ ├── CompoundData.as │ │ │ └── WheelData.as │ │ └── textures │ │ │ ├── Layer.as │ │ │ └── LayerBitmap.as │ │ ├── sunag.as │ │ └── utils │ │ ├── AverageTimeStep.as │ │ ├── BitmapUtils.as │ │ ├── BlendMode.as │ │ ├── ByteArrayUtils.as │ │ ├── CRC32.as │ │ ├── DataTable.as │ │ ├── Input.as │ │ ├── MathHelper.as │ │ ├── QualityMode.as │ │ └── TimeStep.as ├── DLL │ ├── SEA3D │ │ ├── 7zip.Lzma │ │ │ ├── Common │ │ │ │ └── CRC.cs │ │ │ ├── Compress │ │ │ │ ├── Helpers │ │ │ │ │ └── SevenZipHelper.cs │ │ │ │ ├── LZ │ │ │ │ │ ├── IMatchFinder.cs │ │ │ │ │ ├── LzBinTree.cs │ │ │ │ │ ├── LzInWindow.cs │ │ │ │ │ └── LzOutWindow.cs │ │ │ │ ├── LZMA │ │ │ │ │ ├── LzmaBase.cs │ │ │ │ │ ├── LzmaDecoder.cs │ │ │ │ │ └── LzmaEncoder.cs │ │ │ │ └── RangeCoder │ │ │ │ │ ├── RangeCoder.cs │ │ │ │ │ ├── RangeCoderBit.cs │ │ │ │ │ └── RangeCoderBitTree.cs │ │ │ └── ICoder.cs │ │ ├── Ionic.Zlib │ │ │ ├── CRC32.cs │ │ │ ├── Deflate.cs │ │ │ ├── DeflateStream.cs │ │ │ ├── GZipStream.cs │ │ │ ├── InfTree.cs │ │ │ ├── Inflate.cs │ │ │ ├── ParallelDeflateOutputStream.cs │ │ │ ├── TreeZlib.cs │ │ │ ├── Zlib.cs │ │ │ ├── ZlibBaseStream.cs │ │ │ ├── ZlibCodec.cs │ │ │ ├── ZlibConstants.cs │ │ │ └── ZlibStream.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── SEA3D.csproj │ │ ├── SEA3D │ │ │ ├── Objects │ │ │ │ ├── SEAAnimationBase.cs │ │ │ │ ├── SEACamera.cs │ │ │ │ ├── SEAData.cs │ │ │ │ ├── SEADirectionalLight.cs │ │ │ │ ├── SEADummy.cs │ │ │ │ ├── SEAGeometry.cs │ │ │ │ ├── SEAGeometryBase.cs │ │ │ │ ├── SEALight.cs │ │ │ │ ├── SEAMaterial.cs │ │ │ │ ├── SEAMesh.cs │ │ │ │ ├── SEAModifier.cs │ │ │ │ ├── SEAObject.cs │ │ │ │ ├── SEAObject3D.cs │ │ │ │ ├── SEAPNG.cs │ │ │ │ ├── SEAPointLight.cs │ │ │ │ ├── SEASkeleton.cs │ │ │ │ ├── SEATexture.cs │ │ │ │ ├── SEATextureURL.cs │ │ │ │ ├── Skeleton │ │ │ │ │ └── JointData.cs │ │ │ │ └── Techniques │ │ │ │ │ ├── DiffuseMapTech.cs │ │ │ │ │ ├── EmissiveMapTech.cs │ │ │ │ │ ├── NormalMapTech.cs │ │ │ │ │ ├── OpacityMapTech.cs │ │ │ │ │ ├── PhongTech.cs │ │ │ │ │ ├── PhysicalTech.cs │ │ │ │ │ ├── ReflectionTech.cs │ │ │ │ │ ├── SpecularMapTech.cs │ │ │ │ │ ├── TechBase.cs │ │ │ │ │ └── TextureTech.cs │ │ │ └── SEA3DWriter.cs │ │ ├── Server │ │ │ ├── Engine │ │ │ │ ├── SID.cs │ │ │ │ ├── Server.cs │ │ │ │ ├── Session.cs │ │ │ │ └── SessionID.cs │ │ │ └── Manager.cs │ │ └── Utils │ │ │ ├── ArrayList.cs │ │ │ ├── Base64.cs │ │ │ ├── ByteArray.cs │ │ │ ├── Compression.cs │ │ │ ├── Crc32.cs │ │ │ ├── DictSN.cs │ │ │ ├── Hashmap.cs │ │ │ ├── Hashtable.cs │ │ │ └── Json.cs │ └── SEA3D_SDK.sln ├── O3DGC │ ├── SEA3D.sln │ └── o3dgc_sea3d │ │ ├── SEA3D │ │ ├── ByteArray.cc │ │ ├── ByteArray.h │ │ ├── DataTable.cc │ │ ├── DataTable.h │ │ ├── Deflate │ │ │ ├── adler32.c │ │ │ ├── crc32.c │ │ │ ├── crc32.h │ │ │ ├── deflate.c │ │ │ ├── deflate.h │ │ │ ├── infback.c │ │ │ ├── inffast.c │ │ │ ├── inffast.h │ │ │ ├── inffixed.h │ │ │ ├── inflate.c │ │ │ ├── inflate.h │ │ │ ├── inftrees.c │ │ │ ├── inftrees.h │ │ │ ├── trees.c │ │ │ ├── trees.h │ │ │ ├── uncompr.c │ │ │ ├── zconf.h │ │ │ ├── zlib.h │ │ │ ├── zutil.c │ │ │ └── zutil.h │ │ ├── LZMA │ │ │ ├── lzmadecode.c │ │ │ └── lzmadecode.h │ │ ├── Objects │ │ │ ├── SEAGeometry.cc │ │ │ ├── SEAGeometry.h │ │ │ ├── SEAGeometryBase.cc │ │ │ ├── SEAGeometryBase.h │ │ │ ├── SEAObject.cc │ │ │ └── SEAObject.h │ │ ├── SEA3D.cc │ │ ├── SEA3D.h │ │ └── Types.h │ │ ├── main.cpp │ │ ├── main.vcxproj │ │ ├── main.vcxproj.filters │ │ └── o3dgc │ │ ├── o3dgcAdjacencyInfo.h │ │ ├── o3dgcArithmeticCodec.cpp │ │ ├── o3dgcArithmeticCodec.h │ │ ├── o3dgcBinaryStream.h │ │ ├── o3dgcCommon.h │ │ ├── o3dgcDVEncodeParams.h │ │ ├── o3dgcDynamicVector.h │ │ ├── o3dgcDynamicVectorDecoder.cpp │ │ ├── o3dgcDynamicVectorDecoder.h │ │ ├── o3dgcDynamicVectorEncoder.cpp │ │ ├── o3dgcDynamicVectorEncoder.h │ │ ├── o3dgcFIFO.h │ │ ├── o3dgcIndexedFaceSet.h │ │ ├── o3dgcIndexedFaceSet.inl │ │ ├── o3dgcSC3DMCDecoder.h │ │ ├── o3dgcSC3DMCDecoder.inl │ │ ├── o3dgcSC3DMCEncodeParams.h │ │ ├── o3dgcSC3DMCEncoder.h │ │ ├── o3dgcSC3DMCEncoder.inl │ │ ├── o3dgcTimer.h │ │ ├── o3dgcTools.cpp │ │ ├── o3dgcTriangleFans.cpp │ │ ├── o3dgcTriangleFans.h │ │ ├── o3dgcTriangleListDecoder.h │ │ ├── o3dgcTriangleListDecoder.inl │ │ ├── o3dgcTriangleListEncoder.h │ │ ├── o3dgcTriangleListEncoder.inl │ │ ├── o3dgcVector.h │ │ └── o3dgcVector.inl └── Three.JS │ ├── SEA3D.js │ ├── SEA3DDeflate.js │ ├── SEA3DDraco.js │ ├── SEA3DLZMA.js │ ├── SEA3DLegacy.js │ ├── SEA3DLoader.js │ ├── exporter │ └── SEA3DExporter.js │ ├── libs │ ├── ammo.js │ ├── draco │ │ ├── draco_decoder.js │ │ └── draco_encoder.js │ ├── lzma │ │ ├── lzma-c.js │ │ ├── lzma-d.js │ │ ├── lzma.js │ │ └── lzma_worker.js │ └── o3dgc.js │ ├── nodematerial │ └── SEA3DNodeMaterial.js │ ├── o3dgc │ └── SEA3DGC.js │ ├── physics │ ├── SEA3DAmmo.js │ ├── SEA3DAmmoLoader.js │ └── SEA3DRigidBody.js │ └── recycled │ ├── SEA3DAnimation.js │ ├── SEA3DGeometryDelta.js │ └── SEA3DLegacyX.js ├── favicon.ico ├── index.html └── package.json /Build/sea3d.o3dg.min.js: -------------------------------------------------------------------------------- 1 | SEA3D.GeometryGC=function(f,b,a){this.name=f;this.data=b;this.sea3d=a;var e=b.readUShort();f=[];var g,h;this.isBig=0!=(e&1);b.readVInt=this.isBig?b.readUInt:b.readUShort;if(e&2){this.groups=[];var c=b.readUByte(),d=0;for(a=0;a 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/Assimp/AssimpNet/AssimpKey.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/AssimpNet/AssimpKey.snk -------------------------------------------------------------------------------- /Source/Assimp/SEA3D_Assimp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SEA3D_Assimp")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("SEA3D_Assimp")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("27f7553b-0b71-4831-bf09-6ee83b801f20")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Source/Assimp/SEA3D_Encoder/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SEA3D_Console")] 9 | [assembly: AssemblyDescription("SEA3D - 3D Model Converter")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Sunag Entertainment")] 12 | [assembly: AssemblyProduct("SEA3D Encoder")] 13 | [assembly: AssemblyCopyright("Copyright © Sunag Entertainment 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("0a9052c9-844a-49e4-af07-a2150fb69462")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Source/Assimp/SEA3D_Server/FileServer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Server.Engine; 5 | 6 | namespace Poonya.Server 7 | { 8 | public class FileServer : Manager 9 | { 10 | public FileServer() 11 | : base(3280) 12 | { 13 | Caller.Add(SEA3DEncoder.Type, typeof(SEA3DEncoder)); 14 | 15 | OnLogin += onLoginConsole; 16 | OnCaller += OnCallerConsole; 17 | } 18 | 19 | private void onLoginConsole(SessionID id) 20 | { 21 | Console.WriteLine("Login: " + id.Properties.Get("version")); 22 | } 23 | 24 | public void OnCallerConsole(Session session) 25 | { 26 | Console.WriteLine(session.ToString()); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Source/Assimp/SEA3D_Server/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Poonya.Server; 6 | using System.Threading; 7 | 8 | namespace SEA3D.Server 9 | { 10 | class Program 11 | { 12 | static void Main(string[] args) 13 | { 14 | FileServer FileServ = new FileServer(); 15 | 16 | Console.WriteLine("Port: {0}", FileServ.Server.Port); 17 | 18 | Console.ReadLine(); 19 | Console.ReadKey(true); 20 | } 21 | 22 | public static void WriteKeyPressForExit(ConsoleKey key = ConsoleKey.Enter) 23 | { 24 | Console.WriteLine(); 25 | Console.WriteLine("Press the {0} key on your keyboard to exit . . .", key); 26 | while (Console.ReadKey(intercept: true).Key != key) { } 27 | } 28 | 29 | public static void Pause() 30 | { 31 | Console.WriteLine(); 32 | System.Diagnostics.Process pauseProc = 33 | System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo() { FileName = "cmd", Arguments = "/C pause", UseShellExecute = false }); 34 | pauseProc.WaitForExit(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Source/Assimp/SEA3D_Server/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SEA3D Server")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Sunag Entertainment")] 12 | [assembly: AssemblyProduct("SEA3d Server")] 13 | [assembly: AssemblyCopyright("Copyright © Sunag Entertainment 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("24f07c19-0877-4643-adc5-3df56cf73c90")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Source/Assimp/SEA3D_Server/Session/SEA3DEncoder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Xml; 5 | using Poonya.Utils; 6 | using Sunag.SEA3D; 7 | 8 | namespace Poonya.Server.Engine 9 | { 10 | public class SEA3DEncoder : Session 11 | { 12 | public static readonly string Type = "sea3d-encoder"; 13 | 14 | public ByteArray FileData; 15 | public string FileFormat; 16 | 17 | public SEA3DEncoder(SID sid) 18 | : base(sid) 19 | { 20 | FileFormat = Data.ReadUTF8(); 21 | 22 | byte[] buffer = Data.ReadDataObject().ToArray(); 23 | buffer = Compression.Decompress(buffer, CompressionAlgorithm.Lzma); 24 | 25 | FileData = new ByteArray(buffer); 26 | } 27 | 28 | public override ByteArray Run() 29 | { 30 | SEA3DAssimp importer = new SEA3DAssimp(); 31 | importer.CalculateNormal = true; 32 | importer.OptimizeLevel = 3; 33 | importer.Modifiers = false; 34 | importer.LimitBoneWeights = true; 35 | importer.SceneOnly = true; 36 | importer.MeshOnly = true; 37 | 38 | try 39 | { 40 | importer.Import(FileData.Stream, FileFormat); 41 | } 42 | catch (Exception) 43 | { 44 | return new ByteArray(); 45 | } 46 | 47 | return new ByteArray(importer.Build()); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Source/Assimp/libs/Assimp/Assimp32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/Assimp/Assimp32.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/Assimp/Assimp64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/Assimp/Assimp64.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/Mono.Cecil/Net20/Mono.Cecil.Pdb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/Mono.Cecil/Net20/Mono.Cecil.Pdb.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/Mono.Cecil/Net20/Mono.Cecil.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/Mono.Cecil/Net20/Mono.Cecil.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/Mono.Cecil/Net40/Mono.Cecil.Pdb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/Mono.Cecil/Net40/Mono.Cecil.Pdb.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/Mono.Cecil/Net40/Mono.Cecil.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/Mono.Cecil/Net40/Mono.Cecil.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/NUnit/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/NUnit/license.txt -------------------------------------------------------------------------------- /Source/Assimp/libs/NUnit/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/NUnit/nunit.framework.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/NUnit/nunit.mocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/NUnit/nunit.mocks.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/OpenTK/License.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/OpenTK/License.txt -------------------------------------------------------------------------------- /Source/Assimp/libs/OpenTK/OpenTK.GLControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/OpenTK/OpenTK.GLControl.dll -------------------------------------------------------------------------------- /Source/Assimp/libs/OpenTK/OpenTK.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/Source/Assimp/libs/OpenTK/OpenTK.dll -------------------------------------------------------------------------------- /Source/Away3D/README.txt: -------------------------------------------------------------------------------- 1 | CODE IS PART OF THE SEA3D STUDIO 2 | 3 | The MIT License (MIT) 4 | 5 | Copyright (c) Sunag Entertainment - http://www.sunag.com.br/ 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the Software), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, andor sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/LoaderMethod.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d 25 | { 26 | import sunag.sunag; 27 | 28 | use namespace sunag; 29 | 30 | public class LoaderMethod 31 | { 32 | public static const BLOCK:String = "block"; 33 | public static const STREAM:String = "stream"; 34 | } 35 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/config/ConfigBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.config 2 | { 3 | public class ConfigBase implements IConfigBase 4 | { 5 | public static const HIGH:uint = 0; 6 | public static const NORMAL:uint = 1; 7 | public static const LOW:uint = 2; 8 | public static const VERY_LOW:uint = 3; 9 | 10 | private var _timeLimit:int; 11 | private var _streaming:Boolean; 12 | private var _forceStreaming:Boolean; 13 | 14 | public function ConfigBase(timeLimit:int=100):void 15 | { 16 | _timeLimit = timeLimit; 17 | _streaming = true; 18 | _forceStreaming = false; 19 | } 20 | 21 | public function set forceStreaming(value:Boolean):void 22 | { 23 | _forceStreaming = value; 24 | } 25 | 26 | public function get forceStreaming():Boolean 27 | { 28 | return _forceStreaming; 29 | } 30 | 31 | public function set streaming(value:Boolean):void 32 | { 33 | _streaming = value; 34 | } 35 | 36 | public function get streaming():Boolean 37 | { 38 | return _streaming; 39 | } 40 | 41 | public function set timeLimit(value:int):void 42 | { 43 | _timeLimit = value; 44 | } 45 | 46 | public function get timeLimit():int 47 | { 48 | return _timeLimit; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/config/ConfigWriter.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.config 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class ConfigWriter implements IConfigWriter 6 | { 7 | private var _timeLimit:int; 8 | private var _version:int = SEA.VERSION; 9 | private var _compressMethod:String = "deflate"; 10 | 11 | public function ConfigWriter(timeLimit:int=100):void 12 | { 13 | _timeLimit = timeLimit; 14 | } 15 | 16 | public function set timeLimit(value:int):void 17 | { 18 | _timeLimit = value; 19 | } 20 | 21 | public function get timeLimit():int 22 | { 23 | return _timeLimit; 24 | } 25 | 26 | public function set compressMethod(val:String):void 27 | { 28 | _compressMethod = val; 29 | } 30 | 31 | public function get compressMethod():String 32 | { 33 | return _compressMethod; 34 | } 35 | 36 | public function set version(val:int):void 37 | { 38 | _version = val; 39 | } 40 | 41 | public function get version():int 42 | { 43 | return _version; 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/config/IConfigBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.config 2 | { 3 | public interface IConfigBase 4 | { 5 | function set timeLimit(value:int):void; 6 | function get timeLimit():int; 7 | 8 | function set streaming(value:Boolean):void; 9 | function get streaming():Boolean; 10 | 11 | function set forceStreaming(value:Boolean):void; 12 | function get forceStreaming():Boolean; 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/config/IConfigWriter.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.config 2 | { 3 | public interface IConfigWriter 4 | { 5 | function set timeLimit(value:int):void; 6 | function get timeLimit():int; 7 | 8 | function set version(value:int):void; 9 | function get version():int; 10 | 11 | function set compressMethod(value:String):void; 12 | function get compressMethod():String; 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/config/MultiPassConfig.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.config 2 | { 3 | import away3d.materials.ITextureMaterial; 4 | import away3d.materials.TextureMultiPassMaterial; 5 | 6 | public class MultiPassConfig extends DefaultConfig 7 | { 8 | override public function createMaterial():ITextureMaterial 9 | { 10 | return new TextureMultiPassMaterial(); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/config/ShadowMethod.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.config 2 | { 3 | public class ShadowMethod 4 | { 5 | public static const NEAR:String = "near"; 6 | public static const CASCADE:String = "cascade"; 7 | } 8 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/field/FieldData.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.field 25 | { 26 | public class FieldData 27 | { 28 | public var name:String; 29 | public var type:int; 30 | public var value:*; 31 | 32 | public function FieldData(name:String, type:int, value:*) 33 | { 34 | this.name = name; 35 | this.type = type; 36 | this.value = value; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/mesh/MeshData.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.mesh 25 | { 26 | public class MeshData 27 | { 28 | public var name:String; 29 | public var vertex:Vector.; 30 | public var normal:Vector.; 31 | 32 | public function MeshData(vertex:Vector., normal:Vector.=null, name:String=null) 33 | { 34 | this.vertex = vertex; 35 | this.normal = normal; 36 | this.name = name; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/ActionModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sea3d.objects.SEAAction; 4 | 5 | public class ActionModuleBase extends ModuleBase 6 | { 7 | public function ActionModuleBase() 8 | { 9 | regClass(SEAAction); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/ByteCodeModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sunag; 4 | import sunag.sea3d.objects.SEAABC; 5 | 6 | use namespace sunag; 7 | 8 | public class ByteCodeModuleBase extends ModuleBase 9 | { 10 | public function ByteCodeModuleBase() 11 | { 12 | regClass(SEAABC); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/HelperModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sea3d.objects.SEADummy; 4 | import sunag.sea3d.objects.SEALine; 5 | import sunag.sunag; 6 | 7 | use namespace sunag; 8 | 9 | public class HelperModuleBase extends ModuleBase 10 | { 11 | public function HelperModuleBase() 12 | { 13 | regClass(SEALine); 14 | regClass(SEADummy); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/ModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sea3d.SEA; 4 | import sunag.sunag; 5 | 6 | use namespace sunag; 7 | 8 | public class ModuleBase 9 | { 10 | sunag var sea:SEA; 11 | sunag var TypeClass:Object = {}; 12 | sunag var TypeRead:Object = {}; 13 | 14 | sunag function init(sea:SEA):void 15 | { 16 | this.sea = sea; 17 | } 18 | 19 | sunag function reset():void 20 | { 21 | 22 | } 23 | 24 | public function dispose():void 25 | { 26 | 27 | } 28 | 29 | protected function regClass(clazz:Class):void 30 | { 31 | TypeClass[clazz.TYPE] = clazz; 32 | } 33 | 34 | protected function regRead(type:String, func:Function):void 35 | { 36 | TypeRead[type] = func; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/ParticleModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sunag; 4 | import sunag.sea3d.objects.SEAParticleContainer; 5 | import sunag.sea3d.objects.SEASparticle; 6 | 7 | use namespace sunag; 8 | 9 | public class ParticleModuleBase extends ModuleBase 10 | { 11 | public function ParticleModuleBase() 12 | { 13 | regClass(SEASparticle); 14 | regClass(SEAParticleContainer); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/PhysicsModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sunag; 4 | import sunag.sea3d.objects.SEABox; 5 | import sunag.sea3d.objects.SEACapsule; 6 | import sunag.sea3d.objects.SEACarController; 7 | import sunag.sea3d.objects.SEACharacterController; 8 | import sunag.sea3d.objects.SEACollisionSensor; 9 | import sunag.sea3d.objects.SEACompound; 10 | import sunag.sea3d.objects.SEACone; 11 | import sunag.sea3d.objects.SEAConeTwistConstraint; 12 | import sunag.sea3d.objects.SEAConvexGeometry; 13 | import sunag.sea3d.objects.SEACylinder; 14 | import sunag.sea3d.objects.SEAHingeConstraint; 15 | import sunag.sea3d.objects.SEAP2PConstraint; 16 | import sunag.sea3d.objects.SEARigidBody; 17 | import sunag.sea3d.objects.SEASphere; 18 | import sunag.sea3d.objects.SEATriangleGeometry; 19 | 20 | use namespace sunag; 21 | 22 | public class PhysicsModuleBase extends ModuleBase 23 | { 24 | public function PhysicsModuleBase() 25 | { 26 | regClass(SEASphere); 27 | regClass(SEABox); 28 | regClass(SEACone); 29 | regClass(SEACapsule); 30 | regClass(SEACylinder); 31 | regClass(SEATriangleGeometry); 32 | regClass(SEAConvexGeometry); 33 | regClass(SEACompound); 34 | 35 | regClass(SEAP2PConstraint); 36 | regClass(SEAHingeConstraint); 37 | regClass(SEAConeTwistConstraint); 38 | 39 | regClass(SEARigidBody); 40 | regClass(SEACollisionSensor); 41 | 42 | regClass(SEACharacterController); 43 | regClass(SEACarController); 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/RTTModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sea3d.objects.SEACubeRender; 4 | import sunag.sea3d.objects.SEAPlanarRender; 5 | import sunag.sunag; 6 | 7 | use namespace sunag; 8 | 9 | public class RTTModuleBase extends ModuleBase 10 | { 11 | public function RTTModuleBase() 12 | { 13 | regClass(SEACubeRender); 14 | regClass(SEAPlanarRender); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/Scene3DModule.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import away3d.containers.ObjectContainer3D; 4 | import away3d.containers.Scene3D; 5 | 6 | import sunag.sunag; 7 | import sunag.sea3d.SEA; 8 | import sunag.sea3d.SEA3D; 9 | import sunag.sea3d.objects.SEAObject3D; 10 | import sunag.sea3d.objects.SEAScene3D; 11 | 12 | use namespace sunag; 13 | 14 | public class Scene3DModule extends Scene3DModuleBase 15 | { 16 | protected var _scene:Vector.; 17 | 18 | sunag var sea3d:SEA3D; 19 | 20 | public function Scene3DModule() 21 | { 22 | regRead(SEAScene3D.TYPE, readScene3D); 23 | } 24 | 25 | public function get scenes():Vector. 26 | { 27 | return _scene; 28 | } 29 | 30 | /** 31 | * List of all Scene3D 32 | */ 33 | public function get scene3D():Vector. 34 | { 35 | return _scene; 36 | } 37 | 38 | protected function readScene3D(sea:SEAScene3D):void 39 | { 40 | var scene:Scene3D = new Scene3D(); 41 | 42 | for each(var obj:SEAObject3D in sea.object) 43 | { 44 | scene.addChild( obj.tag ); 45 | } 46 | 47 | _scene ||= new Vector.(); 48 | _scene.push(this.sea.object[sea.filename] = sea.tag = scene); 49 | } 50 | 51 | override public function dispose():void 52 | { 53 | for each(var obj3d:ObjectContainer3D in _scene) 54 | { 55 | obj3d.dispose(); 56 | } 57 | } 58 | 59 | override sunag function init(sea:SEA):void 60 | { 61 | this.sea = sea; 62 | sea3d = sea as SEA3D; 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/Scene3DModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | public class Scene3DModuleBase extends ModuleBase 4 | { 5 | public function Scene3DModuleBase() 6 | { 7 | regClass(Scene3DModuleBase); 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/ScriptingModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sunag; 4 | import sunag.sea3d.objects.SEAData; 5 | import sunag.sea3d.objects.SEANativeScript; 6 | 7 | use namespace sunag; 8 | 9 | public class ScriptingModuleBase extends ModuleBase 10 | { 11 | public function ScriptingModuleBase() 12 | { 13 | regClass(SEAData); 14 | regClass(SEANativeScript); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/modules/SoundModuleBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.modules 2 | { 3 | import sunag.sea3d.objects.SEAMP3; 4 | import sunag.sea3d.objects.SEAOGG; 5 | import sunag.sea3d.objects.SEASoundMixer; 6 | import sunag.sea3d.objects.SEASoundPoint; 7 | import sunag.sunag; 8 | 9 | use namespace sunag; 10 | 11 | public class SoundModuleBase extends ModuleBase 12 | { 13 | public function SoundModuleBase() 14 | { 15 | regClass(SEAMP3); 16 | regClass(SEAOGG); 17 | regClass(SEASoundMixer); 18 | regClass(SEASoundPoint); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/IAnimation.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | public interface IAnimation 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/IAnimator.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | public interface IAnimator 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/ISEARTT.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | public interface ISEARTT 27 | { 28 | } 29 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAABC.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAABC extends SEAByteCode 29 | { 30 | public static const TYPE:String = "abc"; 31 | 32 | public function SEAABC(name:String, sea:SEA) 33 | { 34 | super(name, TYPE, sea); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAAReferenceFile.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAAReferenceFile extends SEAObject 6 | { 7 | public static const TYPE:String = "reff"; 8 | 9 | public function SEAAReferenceFile(name:String, sea:SEA) 10 | { 11 | super(name, TYPE, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAATF.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAATF extends SEATexture 29 | { 30 | public static const TYPE:String = "atf"; 31 | 32 | public function SEAATF(name:String, sea:SEA) 33 | { 34 | super(name, TYPE, sea); 35 | } 36 | 37 | public override function load():void 38 | { 39 | transparent = data[6] == 1 || data[6] == 5; 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAActionObject.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAActionObject extends SEAObject 6 | { 7 | public static const TYPE:String = "acto"; 8 | 9 | public function SEAActionObject(name:String, type:String, sea:SEA) 10 | { 11 | super(name, type, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAAmbientLight.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import flash.utils.ByteArray; 27 | 28 | import sunag.sea3d.SEA; 29 | import sunag.utils.ByteArrayUtils; 30 | 31 | public class SEAAmbientLight extends SEALight 32 | { 33 | public static const TYPE:String = "alht"; 34 | 35 | public function SEAAmbientLight(name:String, sea:SEA) 36 | { 37 | super(name, TYPE, sea); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAApp.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sunag; 27 | import sunag.sea3d.SEA; 28 | 29 | use namespace sunag; 30 | 31 | public class SEAApp extends SEAByteCode 32 | { 33 | public static const TYPE:String = "app"; 34 | 35 | public function SEAApp(name:String, sea:SEA) 36 | { 37 | super(name, TYPE, sea); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAAssets.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAAssets extends SEAAssetsBase 29 | { 30 | public static const TYPE:String = "sea"; 31 | 32 | public function SEAAssets(name:String, sea:SEA) 33 | { 34 | super(name, TYPE, sea); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAAssetsBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAAssetsBase extends SEAObject 6 | { 7 | public static const TYPE:String = "SEA"; 8 | 9 | public function SEAAssetsBase(name:String, type:String, sea:SEA) 10 | { 11 | super(name, type, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEABMP.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEABMP extends SEATexture 29 | { 30 | public static const TYPE:String = "bmp"; 31 | 32 | public function SEABMP(name:String, sea:SEA) 33 | { 34 | super(name, TYPE, sea); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEABoxGeometry.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEABoxGeometry extends SEAPrimitive 6 | { 7 | public static const TYPE:String = "Gbox"; 8 | 9 | public var width:Number; 10 | public var height:Number; 11 | public var depth:Number; 12 | 13 | public function SEABoxGeometry(name:String, sea:SEA) 14 | { 15 | super(name, TYPE, sea); 16 | } 17 | 18 | public override function load():void 19 | { 20 | width = data.readFloat(); 21 | height = data.readFloat(); 22 | depth = data.readFloat(); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAByteCode.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAByteCode extends SEAObject 6 | { 7 | public static const TYPE:String = "bcode"; 8 | 9 | public function SEAByteCode(name:String, type:String, sea:SEA) 10 | { 11 | super(name, type, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEACamera.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import flash.geom.Matrix3D; 27 | 28 | import sunag.sea3d.SEA; 29 | 30 | public class SEACamera extends SEAObject3D 31 | { 32 | public static const TYPE:String = "cmbe"; 33 | 34 | public var transform:Matrix3D; 35 | 36 | public function SEACamera(name:String, type:String, sea:SEA) 37 | { 38 | super(name, type, sea); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEACollisionSensor.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.geom.Matrix3D; 4 | import flash.utils.ByteArray; 5 | 6 | import sunag.sea3d.SEA; 7 | import sunag.utils.ByteArrayUtils; 8 | 9 | public class SEACollisionSensor extends SEAPhysics 10 | { 11 | public static const TYPE:String = "pcs"; 12 | 13 | public function SEACollisionSensor(name:String, sea:SEA) 14 | { 15 | super(name, TYPE, sea); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAConeTwistConstraint.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.geom.Vector3D; 4 | import flash.utils.ByteArray; 5 | 6 | import sunag.sea3d.SEA; 7 | import sunag.utils.ByteArrayUtils; 8 | 9 | public class SEAConeTwistConstraint extends SEAConstraint 10 | { 11 | public static const TYPE:String = "ctwc"; 12 | 13 | public var axisA:Vector3D; 14 | public var axisB:Vector3D; 15 | 16 | public var limit:Object; 17 | 18 | public function SEAConeTwistConstraint(name:String, sea:SEA) 19 | { 20 | super(name, TYPE, sea); 21 | } 22 | 23 | override protected function read(data:ByteArray):void 24 | { 25 | axisA = ByteArrayUtils.readVector3D( data ); 26 | 27 | if (attrib & 1) 28 | { 29 | axisB = ByteArrayUtils.readVector3D( data ); 30 | } 31 | 32 | if (attrib & 4) 33 | { 34 | limit = 35 | { 36 | swingSpanA : data.readFloat(), 37 | swingSpanB : data.readFloat(), 38 | twistSpan : data.readFloat(), 39 | softness : data.readFloat(), // 1 40 | biasFactor : data.readFloat(), // 0.3 41 | relaxationFactor : data.readFloat() // 1.0 42 | }; 43 | } 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAConstraint.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.geom.Vector3D; 4 | import flash.utils.ByteArray; 5 | 6 | import sunag.sea3d.SEA; 7 | import sunag.utils.ByteArrayUtils; 8 | 9 | public class SEAConstraint extends SEAObject 10 | { 11 | public static const TYPE:String = "ctnt"; 12 | 13 | public var attrib:int; 14 | 15 | public var disableCollisionsBetweenBodies:Boolean; 16 | 17 | public var targetA:SEAObject;//SEAPhysics 18 | public var pointA:Vector3D; 19 | 20 | public var targetB:SEAObject;//SEAPhysics 21 | public var pointB:Vector3D; 22 | 23 | public function SEAConstraint(name:String, type:String, sea:SEA) 24 | { 25 | super(name, type, sea); 26 | } 27 | 28 | override public function load():void 29 | { 30 | attrib = data.readUnsignedShort(); 31 | 32 | targetA = sea.getSEAObject( data.readUnsignedInt() ) ; 33 | pointA = ByteArrayUtils.readVector3D( data ); 34 | 35 | if (attrib & 1) 36 | { 37 | targetB = sea.getSEAObject( data.readUnsignedInt() ); 38 | pointB = ByteArrayUtils.readVector3D( data ); 39 | } 40 | 41 | disableCollisionsBetweenBodies = (attrib & 2) != 0; 42 | 43 | read(data); 44 | } 45 | 46 | protected function read(data:ByteArray):void 47 | { 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAConvexGeometry.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAConvexGeometry extends SEATriangleGeometry 29 | { 30 | public static const TYPE:String = "gs"; 31 | 32 | public function SEAConvexGeometry(name:String, sea:SEA) 33 | { 34 | super(name, sea, TYPE); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEACubeBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEACubeBase extends SEAObject 6 | { 7 | public static const TYPE:String = "cbmp"; 8 | 9 | public var transparent:Boolean = false; 10 | 11 | public function SEACubeBase(name:String, type:String, sea:SEA) 12 | { 13 | super(name, type, sea); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEACylinder.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEACylinder extends SEAShape 6 | { 7 | public static const TYPE:String = "cyl"; 8 | 9 | public var radius:Number; 10 | public var height:Number; 11 | 12 | public function SEACylinder(name:String, sea:SEA) 13 | { 14 | super(name, TYPE, sea); 15 | } 16 | 17 | public override function load():void 18 | { 19 | radius = data.readFloat(); 20 | height = data.readFloat(); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEACylinderGeometry.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEACylinderGeometry extends SEAPrimitive 6 | { 7 | public static const TYPE:String = "Gcyl"; 8 | 9 | public var radiusTop:Number; 10 | public var radiusBottom:Number; 11 | public var height:Number; 12 | 13 | public function SEACylinderGeometry(name:String, sea:SEA) 14 | { 15 | super(name, TYPE, sea); 16 | } 17 | 18 | public override function load():void 19 | { 20 | radiusTop = data.readFloat(); 21 | radiusBottom = data.readFloat(); 22 | height = data.readFloat(); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAData.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import flash.utils.ByteArray; 27 | 28 | import sunag.sea3d.SEA; 29 | import sunag.sunag; 30 | 31 | use namespace sunag; 32 | 33 | public class SEAData extends SEAObject 34 | { 35 | public static const TYPE:String = "data"; 36 | 37 | public function SEAData(name:String, sea:SEA) 38 | { 39 | super(name, TYPE, sea); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAFileInfo.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sunag; 27 | import sunag.sea3d.SEA; 28 | 29 | use namespace sunag; 30 | 31 | public class SEAFileInfo extends SEAPropertiesBase 32 | { 33 | public static const TYPE:String = "info"; 34 | 35 | public function SEAFileInfo(name:String, sea:SEA) 36 | { 37 | super(name, sea, TYPE); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAGIF.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAGIF extends SEATexture 29 | { 30 | public static const TYPE:String = "gif"; 31 | 32 | public function SEAGIF(name:String, sea:SEA) 33 | { 34 | super(name, TYPE, sea); 35 | } 36 | 37 | public override function load():void 38 | { 39 | transparent = data[11] > 0; 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAGLSL.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sunag; 27 | import sunag.sea3d.SEA; 28 | 29 | use namespace sunag; 30 | 31 | public class SEAGLSL extends SEAScript 32 | { 33 | public static const TYPE:String = "glsl"; 34 | 35 | public function SEAGLSL(name:String, sea:SEA) 36 | { 37 | super(name, sea, TYPE); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAGeometryBase.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAGeometryBase extends SEAObject 6 | { 7 | public static const TYPE:String = "geom"; 8 | 9 | public static var JOINT_STRIDE:uint = 3; 10 | 11 | public var numVertex:uint = 0; 12 | public var jointPerVertex:uint = 0; 13 | public var numColor:uint = 0; 14 | 15 | public var isBig:Boolean = false; 16 | 17 | public function SEAGeometryBase(name:String, type:String, sea:SEA) 18 | { 19 | super(name, type, sea); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAGeometryData.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAGeometryData extends SEAGeometryBase 6 | { 7 | public var attrib:uint; 8 | 9 | public var vertex:Vector.; 10 | public var indexes:Array; 11 | 12 | public var uv:Array; 13 | public var normal:Vector.; 14 | public var tangent:Vector.; 15 | public var color:Array; 16 | 17 | public var joint:Vector.; 18 | public var weight:Vector.; 19 | 20 | public function SEAGeometryData(name:String, type:String, sea:SEA) 21 | { 22 | super(name, type, sea); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAHingeConstraint.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.geom.Vector3D; 4 | import flash.utils.ByteArray; 5 | 6 | import sunag.sea3d.SEA; 7 | import sunag.utils.ByteArrayUtils; 8 | 9 | public class SEAHingeConstraint extends SEAConstraint 10 | { 11 | public static const TYPE:String = "hnec"; 12 | 13 | public var axisA:Vector3D; 14 | public var axisB:Vector3D; 15 | 16 | public var limit:Object; 17 | public var angularMotor:Object; 18 | 19 | public function SEAHingeConstraint(name:String, sea:SEA) 20 | { 21 | super(name, TYPE, sea); 22 | } 23 | 24 | override protected function read(data:ByteArray):void 25 | { 26 | axisA = ByteArrayUtils.readVector3D( data ); 27 | 28 | if (attrib & 1) 29 | { 30 | axisB = ByteArrayUtils.readVector3D( data ); 31 | } 32 | 33 | if (attrib & 4) 34 | { 35 | limit = 36 | { 37 | low : data.readFloat(), 38 | high : data.readFloat(), 39 | softness : data.readFloat(), // 0.9 40 | biasFactor : data.readFloat(), // 0.3 41 | relaxationFactor : data.readFloat() // 1.0 42 | }; 43 | } 44 | 45 | if (attrib & 8) 46 | { 47 | angularMotor = 48 | { 49 | velocity : data.readFloat(), 50 | impulse : data.readFloat() 51 | }; 52 | } 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAJPEG.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAJPEG extends SEATexture 29 | { 30 | public static const TYPE:String = "jpg"; 31 | 32 | public function SEAJPEG(name:String, sea:SEA) 33 | { 34 | super(name, TYPE, sea); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAJPEGXR.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAJPEGXR extends SEATexture 29 | { 30 | public static const TYPE:String = "wdp"; 31 | 32 | public function SEAJPEGXR(name:String, sea:SEA) 33 | { 34 | super(name, TYPE, sea); 35 | 36 | transparent = true; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAJavaScript.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sunag; 27 | import sunag.sea3d.SEA; 28 | 29 | use namespace sunag; 30 | 31 | public class SEAJavaScript extends SEAScript 32 | { 33 | public static const TYPE:String = "js"; 34 | 35 | public function SEAJavaScript(name:String, sea:SEA) 36 | { 37 | super(name, sea, TYPE); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAJoint.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAJoint extends SEAObject 6 | { 7 | public static const TYPE:String = "bone"; 8 | 9 | public function SEAJoint(name:String, sea:SEA) 10 | { 11 | super(name, TYPE, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEALua.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEALua extends SEAScript 29 | { 30 | public static const TYPE:String = "lua"; 31 | 32 | public function SEALua(name:String, sea:SEA) 33 | { 34 | super(name, sea, TYPE); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAMP3.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | import sunag.sunag; 28 | 29 | use namespace sunag; 30 | 31 | public class SEAMP3 extends SEASound 32 | { 33 | public static const TYPE:String = "mp3"; 34 | 35 | public function SEAMP3(name:String, sea:SEA) 36 | { 37 | super(name, TYPE, sea); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAModifier.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEAModifier extends SEAObject 29 | { 30 | public static const TYPE:String = "mod"; 31 | 32 | public function SEAModifier(name:String, type:String, sea:SEA) 33 | { 34 | super(name, type, sea); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEANativeScript.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sunag; 27 | import sunag.sea3d.SEA; 28 | 29 | use namespace sunag; 30 | 31 | public class SEANativeScript extends SEAScript 32 | { 33 | public static const TYPE:String = "ps"; 34 | 35 | public function SEANativeScript(name:String, sea:SEA) 36 | { 37 | super(name, sea, TYPE); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAOGG.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | import sunag.sunag; 28 | 29 | use namespace sunag; 30 | 31 | public class SEAOGG extends SEASound 32 | { 33 | public static const TYPE:String = "ogg"; 34 | 35 | public function SEAOGG(name:String, sea:SEA) 36 | { 37 | super(name, TYPE, sea); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAOrthographicCamera.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.utils.ByteArray; 4 | 5 | import sunag.sea3d.SEA; 6 | import sunag.utils.ByteArrayUtils; 7 | 8 | public class SEAOrthographicCamera extends SEACamera 9 | { 10 | public static const TYPE:String = "camo"; 11 | 12 | public var height:Number; 13 | 14 | public function SEAOrthographicCamera(name:String, sea:SEA) 15 | { 16 | super(name, TYPE, sea); 17 | } 18 | 19 | protected override function read(data:ByteArray):void 20 | { 21 | super.read(data); 22 | 23 | transform = ByteArrayUtils.readMatrix3D(data); 24 | height = data.readFloat(); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAP2PConstraint.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAP2PConstraint extends SEAConstraint 6 | { 7 | public static const TYPE:String = "p2pc"; 8 | 9 | public function SEAP2PConstraint(name:String, sea:SEA) 10 | { 11 | super(name, TYPE, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAParticleContainer.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.geom.Matrix3D; 4 | import flash.utils.ByteArray; 5 | 6 | import sunag.sea3d.SEA; 7 | import sunag.utils.ByteArrayUtils; 8 | 9 | public class SEAParticleContainer extends SEAObject3D 10 | { 11 | public static const TYPE:String = 'p3d'; 12 | 13 | public var autoPlay:Boolean; 14 | 15 | public var particle:SEAObject;//SEAParticle 16 | public var transform:Matrix3D; 17 | 18 | public function SEAParticleContainer(name:String, sea:SEA) 19 | { 20 | super(name, TYPE, sea); 21 | } 22 | 23 | protected override function read(data:ByteArray):void 24 | { 25 | super.read(data); 26 | 27 | autoPlay = (attrib & 64) != 0; 28 | 29 | particle = sea.getSEAObject(data.readUnsignedInt()); 30 | transform = ByteArrayUtils.readMatrix3D( data ); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAPerspectiveCamera.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.utils.ByteArray; 4 | 5 | import sunag.sea3d.SEA; 6 | import sunag.utils.ByteArrayUtils; 7 | 8 | public class SEAPerspectiveCamera extends SEACamera 9 | { 10 | public static const TYPE:String = "cam"; 11 | 12 | public var fov:Number; 13 | public var dof:Object; 14 | 15 | public function SEAPerspectiveCamera(name:String, sea:SEA) 16 | { 17 | super(name, TYPE, sea); 18 | } 19 | 20 | protected override function read(data:ByteArray):void 21 | { 22 | super.read(data); 23 | 24 | if (attrib & 512) 25 | { 26 | dof = 27 | { 28 | distance:data.readFloat(), 29 | range:data.readFloat() 30 | }; 31 | } 32 | 33 | transform = ByteArrayUtils.readMatrix3D(data); 34 | 35 | fov = data.readFloat(); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAPlaneGeometry.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAPlaneGeometry extends SEAPrimitive 6 | { 7 | public static const TYPE:String = "Gpln"; 8 | 9 | public var width:Number; 10 | public var height:Number; 11 | 12 | public function SEAPlaneGeometry(name:String, sea:SEA) 13 | { 14 | super(name, TYPE, sea); 15 | } 16 | 17 | public override function load():void 18 | { 19 | width = data.readFloat(); 20 | height = data.readFloat(); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAPrimitive.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAPrimitive extends SEAGeometryBase 6 | { 7 | public static const TYPE:String = "prim"; 8 | 9 | public function SEAPrimitive(name:String, type:String, sea:SEA) 10 | { 11 | super(name, type, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAProperties.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sunag; 27 | import sunag.sea3d.SEA; 28 | 29 | use namespace sunag; 30 | 31 | public class SEAProperties extends SEAPropertiesBase 32 | { 33 | public static const TYPE:String = "prop"; 34 | 35 | public function SEAProperties(name:String, sea:SEA) 36 | { 37 | super(name, sea, TYPE); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAPropertiesObject.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import sunag.sea3d.SEA; 4 | 5 | public class SEAPropertiesObject extends SEAObject 6 | { 7 | public static const TYPE:String = "pobj"; 8 | 9 | public function SEAPropertiesObject(name:String, type:String, sea:SEA) 10 | { 11 | super(name, type, sea); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEARTT.as: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2013 Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | package sunag.sea3d.objects 25 | { 26 | import sunag.sea3d.SEA; 27 | 28 | public class SEARTT extends SEAObject 29 | { 30 | public static const TYPE:String = "rtt"; 31 | 32 | public function SEARTT(name:String, type:String, sea:SEA) 33 | { 34 | super(name, type, sea); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEARigidBody.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.utils.ByteArray; 4 | 5 | import sunag.sea3d.SEA; 6 | 7 | public class SEARigidBody extends SEAPhysics 8 | { 9 | public static const TYPE:String = "rb"; 10 | 11 | public var linearDamping:Number = 0; 12 | public var angularDamping:Number = 0; 13 | 14 | public var mass:Number; 15 | public var friction:Number; 16 | public var restitution:Number; 17 | 18 | public function SEARigidBody(name:String, sea:SEA, type:String=TYPE) 19 | { 20 | super(name, type, sea); 21 | } 22 | 23 | override protected function read(data:ByteArray):void 24 | { 25 | super.read(data); 26 | 27 | if (attrib & 32) 28 | { 29 | linearDamping = data.readFloat(); 30 | angularDamping = data.readFloat(); 31 | } 32 | 33 | mass = data.readFloat(); 34 | friction = data.readFloat(); 35 | restitution = data.readFloat(); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Source/Away3D/src/sunag/sea3d/objects/SEAScene3D.as: -------------------------------------------------------------------------------- 1 | package sunag.sea3d.objects 2 | { 3 | import flash.utils.ByteArray; 4 | 5 | import sunag.sea3d.SEA; 6 | 7 | public class SEAScene3D extends SEAObject 8 | { 9 | public static const TYPE:String = "s3d"; 10 | 11 | public static const NONE:uint = 0; 12 | 13 | public var attrib:uint; 14 | 15 | public var partition:uint = NONE; 16 | public var object:Vector.;//SEAObject3D 17 | 18 | public function SEAScene3D(name:String, type:String, sea:SEA) 19 | { 20 | super(name, TYPE, sea); 21 | } 22 | 23 | override public function load():void 24 | { 25 | attrib = data.readUnsignedShort(); 26 | 27 | read(data); 28 | 29 | var numTag:int = data.readUnsignedByte(); 30 | 31 | for (var i:int=0;i> 1) ^ kPoly; 19 | else 20 | r >>= 1; 21 | Table[i] = r; 22 | } 23 | } 24 | 25 | uint _value = 0xFFFFFFFF; 26 | 27 | public void Init() { _value = 0xFFFFFFFF; } 28 | 29 | public void UpdateByte(byte b) 30 | { 31 | _value = Table[(((byte)(_value)) ^ b)] ^ (_value >> 8); 32 | } 33 | 34 | public void Update(byte[] data, uint offset, uint size) 35 | { 36 | for (uint i = 0; i < size; i++) 37 | _value = Table[(((byte)(_value)) ^ data[offset + i])] ^ (_value >> 8); 38 | } 39 | 40 | public uint GetDigest() { return _value ^ 0xFFFFFFFF; } 41 | 42 | static uint CalculateDigest(byte[] data, uint offset, uint size) 43 | { 44 | CRC crc = new CRC(); 45 | // crc.Init(); 46 | crc.Update(data, offset, size); 47 | return crc.GetDigest(); 48 | } 49 | 50 | static bool VerifyDigest(uint digest, byte[] data, uint offset, uint size) 51 | { 52 | return (CalculateDigest(data, offset, size) == digest); 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/7zip.Lzma/Compress/LZ/IMatchFinder.cs: -------------------------------------------------------------------------------- 1 | // IMatchFinder.cs 2 | 3 | using System; 4 | 5 | namespace SevenZip.Compression.LZ 6 | { 7 | interface IInWindowStream 8 | { 9 | void SetStream(System.IO.Stream inStream); 10 | void Init(); 11 | void ReleaseStream(); 12 | Byte GetIndexByte(Int32 index); 13 | UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit); 14 | UInt32 GetNumAvailableBytes(); 15 | } 16 | 17 | interface IMatchFinder : IInWindowStream 18 | { 19 | void Create(UInt32 historySize, UInt32 keepAddBufferBefore, 20 | UInt32 matchMaxLen, UInt32 keepAddBufferAfter); 21 | UInt32 GetMatches(UInt32[] distances); 22 | void Skip(UInt32 num); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SEA3D SDK")] 9 | [assembly: AssemblyDescription("SEA3D File Format for Games - SDK")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Sunag Entertainment")] 12 | [assembly: AssemblyProduct("SEA3D")] 13 | [assembly: AssemblyCopyright("Copyright © Sunag Entertainment")] 14 | [assembly: AssemblyTrademark("Sunag®")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6960173a-d17b-43c7-9b26-354b1b967a1e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.6.5.0")] 36 | [assembly: AssemblyFileVersion("1.6.5.0")] 37 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/SEAAnimationBase.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | using Poonya.Utils; 25 | 26 | namespace Poonya.SEA3D.Objects 27 | { 28 | public class SEAAnimationBase : SEAObject 29 | { 30 | public int frameRate; 31 | 32 | public SEAAnimationBase(string name, string type) 33 | : base(name, type) 34 | { 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/SEAModifier.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | using Poonya.Utils; 25 | 26 | namespace Poonya.SEA3D.Objects 27 | { 28 | public class SEAModifier : SEAObject 29 | { 30 | public SEAModifier(string name, string type) 31 | : base(name, type) 32 | { 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/SEAPNG.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | using Poonya.Utils; 25 | 26 | namespace Poonya.SEA3D.Objects 27 | { 28 | public class SEAPNG : SEATexture 29 | { 30 | public SEAPNG(string name) 31 | : base(name, "png") 32 | { 33 | } 34 | 35 | override public ByteArray Write() 36 | { 37 | return Data; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/SEATexture.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) Sunag Entertainment 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | */ 23 | 24 | using Poonya.Utils; 25 | 26 | namespace Poonya.SEA3D.Objects 27 | { 28 | public class SEATexture : SEAData 29 | { 30 | public SEATexture(string name, string type) 31 | : base(name, type) 32 | { 33 | } 34 | 35 | override public ByteArray Write() 36 | { 37 | return Data; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Skeleton/JointData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Skeleton 7 | { 8 | public class JointData 9 | { 10 | public string name; 11 | public int parentIndex; 12 | public float[] inverseBindMatrix; 13 | 14 | public void Write(ByteArray data) 15 | { 16 | data.WriteUTF8(name); 17 | data.WriteUInt16(parentIndex + 1); 18 | data.WriteFloats(inverseBindMatrix); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/DiffuseMapTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class DiffuseMapTech : TextureTech 9 | { 10 | public DiffuseMapTech() 11 | : base(2) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/EmissiveMapTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class EmissiveMapTech : TextureTech 9 | { 10 | public EmissiveMapTech() 11 | : base(15) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/NormalMapTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class NormalMapTech : TextureTech 9 | { 10 | public NormalMapTech() 11 | : base(6) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/OpacityMapTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class OpacityMapTech : TextureTech 9 | { 10 | public OpacityMapTech() 11 | : base(16) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/PhongTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class PhongTech : TechBase 9 | { 10 | public int ambientColor; 11 | public int diffuseColor; 12 | public int specularColor; 13 | 14 | public float specular; 15 | public float gloss; 16 | 17 | public PhongTech() 18 | : base(0) 19 | { 20 | } 21 | 22 | override public ByteArray Write() 23 | { 24 | ByteArray data = new ByteArray(); 25 | 26 | data.WriteUInt24(ambientColor); 27 | data.WriteUInt24(diffuseColor); 28 | data.WriteUInt24(specularColor); 29 | 30 | data.WriteFloat(specular); 31 | data.WriteFloat(gloss); 32 | 33 | return data; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/PhysicalTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class PhysicalTech : TechBase 9 | { 10 | public int color; 11 | 12 | public float roughness; 13 | public float metalness; 14 | 15 | public PhysicalTech() 16 | : base(24) 17 | { 18 | } 19 | 20 | override public ByteArray Write() 21 | { 22 | ByteArray data = new ByteArray(); 23 | 24 | data.WriteUInt24(color); 25 | 26 | data.WriteFloat(roughness); 27 | data.WriteFloat(metalness); 28 | 29 | return data; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/ReflectionTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class ReflectionTech : TextureTech 9 | { 10 | public float alpha; 11 | 12 | public ReflectionTech() 13 | : base(2) 14 | { 15 | } 16 | 17 | override public ByteArray Write() 18 | { 19 | ByteArray data = base.Write(); 20 | 21 | data.WriteFloat(alpha); 22 | 23 | return data; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/SpecularMapTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class SpecularMapTech : TextureTech 9 | { 10 | public SpecularMapTech() 11 | : base(3) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/TechBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class TechBase 9 | { 10 | public int type; 11 | 12 | public TechBase(int type) 13 | { 14 | this.type = type; 15 | } 16 | 17 | virtual public ByteArray Write() 18 | { 19 | return new ByteArray(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/SEA3D/Objects/Techniques/TextureTech.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Poonya.Utils; 5 | 6 | namespace Poonya.SEA3D.Objects.Techniques 7 | { 8 | public class TextureTech : TechBase 9 | { 10 | public int texture; 11 | 12 | public TextureTech(int type) 13 | : base(type) 14 | { 15 | } 16 | 17 | override public ByteArray Write() 18 | { 19 | ByteArray data = new ByteArray(); 20 | 21 | data.WriteInt32(texture); 22 | 23 | return data; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/Server/Engine/Session.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Xml; 5 | using Poonya.Utils; 6 | 7 | namespace Poonya.Server.Engine 8 | { 9 | public class Session 10 | { 11 | public ByteArray Data; 12 | public SID SID; 13 | 14 | public Session(SID sid) 15 | { 16 | SID = sid; 17 | Data = SID.Data; 18 | } 19 | 20 | public virtual ByteArray Run() 21 | { 22 | ByteArray bytes = new ByteArray(); 23 | return bytes; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/Server/Engine/SessionID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Xml; 5 | using Poonya.Utils; 6 | using Poonya.SEA3D; 7 | 8 | namespace Poonya.Server.Engine 9 | { 10 | public class SessionID : Session 11 | { 12 | public static readonly string Type = "session"; 13 | 14 | public Hashtable Properties = new Hashtable(); 15 | 16 | public SessionID(SID sid) 17 | : base(sid) 18 | { 19 | Properties.ReadJson(Data.ReadUTF32()); 20 | } 21 | 22 | public bool Connected 23 | { 24 | get 25 | { 26 | return Properties.Get("version") != null; 27 | } 28 | } 29 | 30 | public override ByteArray Run() 31 | { 32 | ByteArray bytes = new ByteArray(); 33 | bytes.WriteUTF32(Properties.ToJson()); 34 | return bytes; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Source/DLL/SEA3D/Utils/DictSN.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Poonya.Utils 6 | { 7 | public class DictSN 8 | { 9 | private Dictionary dict = new Dictionary(); 10 | 11 | public void Add(string name, uint value) 12 | { 13 | dict.Add(name, value); 14 | } 15 | 16 | public bool Contains(string name) 17 | { 18 | return dict.ContainsKey(name); 19 | } 20 | 21 | public uint Get(string name) 22 | { 23 | return dict[name]; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/O3DGC/SEA3D.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "o3dgc_sea3d", "o3dgc_sea3d\main.vcxproj", "{06E62716-C8AC-4DE7-96F4-DD4C15F7F11A}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {06E62716-C8AC-4DE7-96F4-DD4C15F7F11A}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {06E62716-C8AC-4DE7-96F4-DD4C15F7F11A}.Debug|Win32.Build.0 = Debug|Win32 14 | {06E62716-C8AC-4DE7-96F4-DD4C15F7F11A}.Release|Win32.ActiveCfg = Release|Win32 15 | {06E62716-C8AC-4DE7-96F4-DD4C15F7F11A}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/ByteArray.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Types.h" 4 | 5 | #include 6 | #include 7 | 8 | using namespace std; 9 | 10 | // 11 | // Little-Endian 12 | // 13 | 14 | class ByteArray 15 | { 16 | public: 17 | static const char NONE = 0; 18 | static const char DEFLATE = 1; 19 | static const char LZMA = 2; 20 | 21 | // 22 | // Properties 23 | // 24 | 25 | // DATA 26 | unsigned int pos; 27 | unsigned int buffersize; 28 | unsigned char* buffer; 29 | 30 | // 31 | // Methods 32 | // 33 | 34 | ByteArray(void); 35 | ~ByteArray(void); 36 | 37 | char readByte(); 38 | unsigned char readUByte(); 39 | unsigned int readUInt(); 40 | unsigned short readUShort(); 41 | unsigned int readUInt24(); 42 | unsigned int readUInt24F(); 43 | float readFloat(); 44 | string readString( unsigned int size ); 45 | // Tiny String = 8 bit string length 46 | string readTString(); 47 | void readBytes( unsigned char* data, unsigned int size ); 48 | unsigned char* readBytes( unsigned int size ); 49 | ByteArray* readToStream( unsigned int size ); 50 | string readType(); 51 | 52 | bool compress( sea_tcomp algorithm ); 53 | bool uncompress( sea_tcomp algorithm ); 54 | 55 | bool saveFile( const char *filename ); 56 | 57 | void fromBuffer( unsigned char * buffer, unsigned int buffersize ); 58 | bool fromFile( const char *filename ); 59 | 60 | void dispose(); 61 | 62 | private: 63 | 64 | bool ulzmaBuffer(); 65 | bool inflateBuffer(); 66 | 67 | }; -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/DataTable.cc: -------------------------------------------------------------------------------- 1 | #include "DataTable.h" 2 | 3 | const char* DataTable::BLEND_MODE[] = { 4 | "normal","add","subtract","multiply","dividing","mix","alpha","screen","darken", 5 | "overlay","colorburn","linearburn","lighten","colordodge","lineardodge", 6 | "softlight","hardlight","pinlight","spotlight","spotlightblend","hardmix", 7 | "average","difference","exclusion","hue","saturation","color","value" 8 | }; 9 | 10 | const char* DataTable::INTERPOLATION_TABLE[] = { 11 | "normal","linear", 12 | "sine.in","sine.out","sine.inout", 13 | "cubic.in","cubic.out","cubic.inout", 14 | "quint.in","quint.out","quint.inout", 15 | "circ.in","circ.out","circ.inout", 16 | "back.in","back.out","back.inout", 17 | "quad.in","quad.out","quad.inout", 18 | "quart.in","quart.out","quart.inout", 19 | "expo.in","expo.out","expo.inout", 20 | "elastic.in","elastic.out","elastic.inout", 21 | "bounce.in","bounce.out","bounce.inout" 22 | }; -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/DataTable.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Types.h" 4 | 5 | #include 6 | #include 7 | 8 | using namespace std; 9 | 10 | class DataTable 11 | { 12 | public: 13 | 14 | static const int NONE = 0; 15 | 16 | // 1D = 0 at 31 17 | static const int BOOLEAN = 1; 18 | 19 | static const int BYTE = 2; 20 | static const int UBYTE = 3; 21 | 22 | static const int SHORT = 4; 23 | static const int USHORT = 5; 24 | 25 | static const int INT24 = 6; 26 | static const int UINT24 = 7; 27 | 28 | static const int INT = 8; 29 | static const int UINT = 9; 30 | 31 | static const int FLOAT = 10; 32 | static const int DOUBLE = 11; 33 | static const int DECIMAL = 12; 34 | 35 | // 2D = 32 at 63 36 | 37 | // 3D = 64 at 95 38 | static const int VECTOR3D = 74; 39 | 40 | // 4D = 96 at 127 41 | static const int VECTOR4D = 106; 42 | 43 | // Undefined Values = 128 at 256 44 | static const int STRING_TINY = 128; 45 | static const int STRING_SHORT = 129; 46 | static const int STRING_LONG = 130; 47 | 48 | static const int MAX_SIZE = 4; 49 | 50 | static const char* BLEND_MODE[]; 51 | static const char* INTERPOLATION_TABLE[]; 52 | }; -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/Deflate/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/Objects/SEAGeometry.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../Types.h" 4 | #include "SEAGeometryBase.h" 5 | 6 | 7 | 8 | class SEAGeometry : 9 | public SEAGeometryBase 10 | { 11 | public: 12 | 13 | // 14 | // Properties 15 | // 16 | 17 | sea_uint32 numIndexes; 18 | sea_uint32 numGroups; 19 | sea_uint32 numUV; 20 | 21 | sea_uint32* starts; 22 | sea_uint32* counts; 23 | 24 | sea_float* vertex; 25 | sea_uint32* indexes; 26 | 27 | sea_float** uv; 28 | sea_float* normal; 29 | sea_float* tangent; 30 | sea_float** color; 31 | 32 | sea_long* joint; 33 | sea_float* weight; 34 | 35 | // 36 | // Methods 37 | // 38 | 39 | void read( ByteArray & stream ); 40 | 41 | }; 42 | 43 | -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/Objects/SEAGeometryBase.cc: -------------------------------------------------------------------------------- 1 | #include "SEAGeometryBase.h" 2 | 3 | void SEAGeometryBase::read(ByteArray & stream) 4 | { 5 | attrib = stream.readUShort(); 6 | 7 | isBig = (attrib & 1) != 0; 8 | 9 | numVertex = isBig ? stream.readUInt() : stream.readUShort(); 10 | } -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/Objects/SEAGeometryBase.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "SEAObject.h" 4 | 5 | class SEAGeometryBase : 6 | public SEAObject 7 | { 8 | public: 9 | 10 | // 11 | // Properties 12 | // 13 | 14 | sea_attrib attrib; 15 | 16 | sea_uint32 numVertex; 17 | sea_byte jointPerVertex; 18 | 19 | sea_bool isBig; 20 | 21 | // 22 | // Methods 23 | // 24 | 25 | void read( ByteArray & stream ); 26 | 27 | }; 28 | 29 | -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/Objects/SEAObject.cc: -------------------------------------------------------------------------------- 1 | #include "SEAObject.h" 2 | 3 | void SEAObject::read(ByteArray & stream) 4 | { 5 | this->data = data; 6 | } -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/Objects/SEAObject.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../Types.h" 4 | #include "../ByteArray.h" 5 | 6 | #include 7 | 8 | using namespace std; 9 | 10 | class SEAObject 11 | { 12 | public: 13 | // 14 | // Properties 15 | // 16 | 17 | unsigned int id; 18 | 19 | string name; 20 | string type; 21 | 22 | ByteArray data; 23 | 24 | bool compression; 25 | bool streaming; 26 | 27 | // 28 | // Methods 29 | // 30 | 31 | void read( ByteArray & stream ); 32 | }; 33 | -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/SEA3D.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Types.h" 4 | #include "ByteArray.h" 5 | 6 | #include "Objects/SEAObject.h" 7 | #include "Objects/SEAGeometry.h" 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | using namespace std; 14 | 15 | //#define SEA3D_ERROR_MESSAGE 16 | 17 | class SEA3D 18 | { 19 | public: 20 | // 21 | // Properties 22 | // 23 | 24 | #ifdef SEA3D_ERROR_MESSAGE 25 | // ERROR STRING 26 | string error; 27 | #endif 28 | 29 | // SIGNATURE 30 | // S3D = Standard (focused to a Web File Format) 31 | string sign; 32 | 33 | // VERSION 34 | // Max = 16777215 - VVSSBB | V = Version | S = Subversion | B = Buildversion 35 | sea_version version; 36 | 37 | // 0 = None 38 | sea_uint32 protectionAlgorithm; 39 | 40 | // 0 = None | 1 = Deflate | 2 = Lzma 41 | sea_uint32 compressionAlgorithm; 42 | 43 | // Position and count of SEA objects 44 | sea_uint32 position; 45 | sea_uint32 count; 46 | 47 | // objects ( all sea3d data ) 48 | vector objects; 49 | 50 | // 51 | // Methods 52 | // 53 | 54 | SEA3D(void); 55 | 56 | bool read( ByteArray stream ); 57 | 58 | SEAObject* getObject(sea_index index); 59 | 60 | void dispose(); 61 | 62 | private: 63 | 64 | SEAObject* createObject(string type); 65 | 66 | }; 67 | 68 | -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/SEA3D/Types.h: -------------------------------------------------------------------------------- 1 | // 2 | // Defines 3 | // 4 | 5 | #define SEA3D_GEOMETRY "geo" 6 | 7 | // 8 | // Types 9 | // 10 | 11 | typedef unsigned short sea_kind; 12 | typedef unsigned char sea_byte; 13 | typedef float sea_float; 14 | typedef unsigned int sea_uint32; 15 | typedef long sea_long; 16 | typedef bool sea_bool; 17 | 18 | // default attrib 19 | typedef unsigned short sea_attrib; 20 | 21 | // sea3d version 22 | typedef unsigned int sea_version; 23 | 24 | // object index 25 | typedef unsigned int sea_index; 26 | 27 | // compress algorithm 28 | typedef unsigned int sea_tcomp; -------------------------------------------------------------------------------- /Source/O3DGC/o3dgc_sea3d/o3dgc/o3dgcTools.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2013 Khaled Mammou - Advanced Micro Devices, Inc. 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | */ 22 | 23 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunag/sea3d/0533fb0e1192915a50f2d0c38d7570d64dc37be2/favicon.ico -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sea3d", 3 | "version": "1.8.1", 4 | "description": "An open-source format and tools for game developers", 5 | "scripts": {}, 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://sunag@github.com/sunag/sea3d.git" 9 | }, 10 | "keywords": [], 11 | "author": "sunag", 12 | "license": "MIT", 13 | "bugs": { 14 | "url": "http://community.poonya.com/" 15 | }, 16 | "homepage": "https://github.com/sunag/sea3d#readme" 17 | } 18 | --------------------------------------------------------------------------------