diff --git a/.gitignore b/.gitignore index f6f18c5..8274f3a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ sourcemap.json +*.lock diff --git a/default.project.json b/default.project.json index 0060a1c..f5e3402 100644 --- a/default.project.json +++ b/default.project.json @@ -21,6 +21,10 @@ "LazyNetworking": { "$path": "rbx/LazyNetworking.server.lua" + }, + + "StarterCharacter": { + "$path": "rbx/StarterCharacter" } }, @@ -28,6 +32,10 @@ "$className": "StarterPlayer", "$ignoreUnknownInstances": true, + "$properties": { + "EnableMouseLockOption": false + }, + "StarterCharacterScripts": { "$className": "StarterCharacterScripts", "$ignoreUnknownInstances": true, @@ -44,8 +52,8 @@ "$className": "Hole" }, - "Character": { - "$path": "rbx/Character.server.lua" + "Appearance": { + "$path": "rbx/Appearance.server.lua" } } } diff --git a/rbx/Character.server.lua b/rbx/Appearance.server.lua similarity index 100% rename from rbx/Character.server.lua rename to rbx/Appearance.server.lua diff --git a/rbx/LazyNetworking.server.lua b/rbx/LazyNetworking.server.lua index 9e5fab8..d6279bd 100644 --- a/rbx/LazyNetworking.server.lua +++ b/rbx/LazyNetworking.server.lua @@ -56,5 +56,3 @@ local function onNetworkReceive(player: Player, cmd: string, ...) end lazy.OnServerEvent:Connect(onNetworkReceive) -PhysicsService:CreateCollisionGroup("Player") -PhysicsService:CollisionGroupSetCollidable("Default", "Player", false) diff --git a/rbx/StarterCharacter/HumanoidRootPart.rbxmx b/rbx/StarterCharacter/HumanoidRootPart.rbxmx new file mode 100644 index 0000000..6a6608b --- /dev/null +++ b/rbx/StarterCharacter/HumanoidRootPart.rbxmx @@ -0,0 +1,269 @@ + + + + HumanoidRootPart + + 0 + -4 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 2.6 + 2.6 + 1.4 + + 1 + + + + RBX4 + 0 + 200 + true + + + + + RBX4 + 0 + 50 + true + + + + + OriginalSize + + 2 + 2 + 1 + + + + + + + 0 + -4 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + Particles + + + + 0 0.807843 0.807843 0.807843 0 1 0.807843 0.807843 0.807843 0 + false + 1 1 + 1 + DUST + 16 + -360 360 + 0 360 + 0 2 0 1 2 0 + 3 3 + + 360 + 360 + + rbxasset://textures/particles/smoke_main.dds + 0 0.5 0 0.8 0.5 0 1 1 0 + + + + + false + FIRE + 20 + 10 + + + + + + 0 + 60 + 0 + + AQAAAAQAAABFbWl0BgAAAAAAAAhA + 5 + 0 1 1 0 0 1 1 1 0 0 + 12 + 2 + false + 0.5 0.5 + 1 + HORIZONTAL_STAR + 2 + 20 + -360 360 + 0 2 0 1 0 0 + 60 60 + + 0 + 360 + + 0 0 0 1 0 1 + 0 0 0 0.9 0 0 1 1 0 + + + + + + 0 + -60 + 0 + + AQAAAAQAAABFbWl0BgAAAAAAABhA + 3 + 0 1 1 0 0 1 1 1 0 0 + 6 + 2 + false + 0.5 0.5 + 1 + VERTICAL_STAR + 2 + 20 + -360 360 + 0 2 0 1 0 0 + 30 70 + + 90 + 90 + + 0 0 0.175 1 0 0.1 + 0 0 0 0.9 0 0 1 1 0 + + + + + + 0 + -1 + 0 + + AQAAAAQAAABFbWl0BgAAAAAAADlA + 0 0.807843 0.807843 0.807843 0 1 0.807843 0.807843 0.807843 0 + 3 + 5 + false + 0.5 0.5 + 1 + MIST_CIRCLE + 100 + -360 360 + 0 360 + 0 2 0 1 2 0 + 20 20 + + 0 + 360 + + rbxasset://textures/particles/smoke_main.dds + 0 1 0 0.1 0.75 0 0.5 0.75 0 1 1 0 + + + + + OriginalPosition + + 0 + -3 + 0 + + + + + + + + 0 + -1.3 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + RootRigAttachment + + + + OriginalPosition + + 0 + -0.35 + 0 + + + + + + + true + true + 1 + true + false + 1 + Action + + 0 + 400 + 0 + 100 + + + 0 + 5 + 0 + + 1 + + + + 1 + 4 + Label + + 1 + 0 + 1 + 0 + + + + 1 + 1 + 1 + + true + 0 + + + + + \ No newline at end of file diff --git a/rbx/StarterCharacter/init.server.lua b/rbx/StarterCharacter/init.server.lua new file mode 100644 index 0000000..04b79f8 --- /dev/null +++ b/rbx/StarterCharacter/init.server.lua @@ -0,0 +1,41 @@ +--!strict + +local PhysicsService = game:GetService("PhysicsService") +local StarterPlayer = game:GetService("StarterPlayer") +local Players = game:GetService("Players") + +local hDesc = Instance.new("HumanoidDescription") +hDesc.HeightScale = 1.3 +hDesc.WidthScale = 1.3 +hDesc.DepthScale = 1.4 +hDesc.HeadScale = 2 + +local character = Players:CreateHumanoidModelFromDescription(hDesc, Enum.HumanoidRigType.R15) +local bodyColors = character:FindFirstChildOfClass("BodyColors") +local animate = character:FindFirstChild("Animate") +local oldRoot = character.PrimaryPart + +if animate then + animate:Destroy() +end + +if oldRoot then + oldRoot:Destroy() +end + +if bodyColors then + bodyColors:Destroy() +end + +local newRoot = script.HumanoidRootPart:Clone() +newRoot.Parent = character :: any + +local humanoid = assert(character:FindFirstChildOfClass("Humanoid")) +humanoid:BuildRigFromAttachments() + +character.Name = "StarterCharacter" +character.PrimaryPart = newRoot +character.Parent = StarterPlayer + +PhysicsService:CreateCollisionGroup("Player") +PhysicsService:CollisionGroupSetCollidable("Default", "Player", false) diff --git a/sm64/Assets/Animations.model.json b/sm64/Assets/Animations.model.json deleted file mode 100644 index 8cb4173..0000000 --- a/sm64/Assets/Animations.model.json +++ /dev/null @@ -1,2639 +0,0 @@ -{ - "className": "Folder", - - "children": [ - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "5722F4" - }, - "name": "IDLE_HEAD_LEFT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "546DE8" - }, - "name": "BACKWARD_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 153, - "Loop": false, - "UploadHash": "", - "StartAddress": "520594" - }, - "name": "BOTTOM_STUCK_IN_GROUND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 111, - "Loop": true, - "UploadHash": "", - "StartAddress": "4F4A64" - }, - "name": "IDLE_ON_POLE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 138, - "Loop": false, - "UploadHash": "", - "StartAddress": "512B4C" - }, - "name": "THROW_CATCH_KEY" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 15, - "Loop": false, - "UploadHash": "", - "StartAddress": "51FB98" - }, - "name": "TRIPLE_JUMP_GROUND_POUND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 147, - "Loop": false, - "UploadHash": "", - "StartAddress": "54320C" - }, - "name": "MOVE_IN_QUICKSAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 60, - "Loop": true, - "UploadHash": "", - "StartAddress": "52338C" - }, - "name": "IDLE_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "53C6B4" - }, - "name": "FIRST_PUNCH_FAST" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 33, - "Loop": false, - "UploadHash": "", - "StartAddress": "4EC690" - }, - "name": "SLOW_LEDGE_GRAB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 15, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F56EC" - }, - "name": "CROUCH_FROM_FAST_LONGJUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 26, - "Loop": true, - "UploadHash": "", - "StartAddress": "53D4BC" - }, - "name": "PUSHING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": false, - "UploadHash": "", - "StartAddress": "535C9C" - }, - "name": "PUSH_DOOR_WALK_IN" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F2520" - }, - "name": "GRAB_POLE_SWING_PART2" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 4, - "Loop": false, - "UploadHash": "", - "StartAddress": "557AEC" - }, - "name": "START_CROUCHING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F6A78" - }, - "name": "SLOW_LONGJUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "575844" - }, - "name": "WAKE_FROM_LYING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 114, - "Loop": true, - "UploadHash": "", - "StartAddress": "55593C" - }, - "name": "TIPTOE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 76, - "Loop": true, - "UploadHash": "", - "StartAddress": "525D48" - }, - "name": "WALKING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 96, - "Loop": false, - "UploadHash": "", - "StartAddress": "56D244" - }, - "name": "WALK_WITH_HEAVY_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "5760EC" - }, - "name": "START_TIPTOE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F5C98" - }, - "name": "CROUCH_FROM_SLOW_LONGJUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 88, - "Loop": false, - "UploadHash": "", - "StartAddress": "511504" - }, - "name": "COUGHING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 39, - "Loop": false, - "UploadHash": "", - "StartAddress": "5627F4" - }, - "name": "WATER_DYING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FCDE8" - }, - "name": "CLIMB_DOWN_LEDGE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 99, - "Loop": false, - "UploadHash": "", - "StartAddress": "51A754" - }, - "name": "TAKE_CAP_OFF_THEN_ON" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": false, - "UploadHash": "", - "StartAddress": "55C9F0" - }, - "name": "BACKWARDS_WATER_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FD880" - }, - "name": "CREDITS_LOOK_UP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "554A94" - }, - "name": "SLIDE_MOTIONLESS" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 8, - "Loop": false, - "UploadHash": "", - "StartAddress": "52826C" - }, - "name": "DOUBLE_JUMP_FALL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "527BEC" - }, - "name": "LAND_FROM_DOUBLE_JUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "554540" - }, - "name": "CROUCH_FROM_SLIDE_KICK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 79, - "Loop": false, - "UploadHash": "", - "StartAddress": "4ED1E8" - }, - "name": "BACKWARD_AIR_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 39, - "Loop": false, - "UploadHash": "", - "StartAddress": "50CBA8" - }, - "name": "HANG_ON_OWL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 119, - "Loop": false, - "UploadHash": "", - "StartAddress": "50353C" - }, - "name": "CREDITS_LOOK_BACK_THEN_RUN" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 39, - "Loop": false, - "UploadHash": "", - "StartAddress": "55283C" - }, - "name": "GROUND_BONK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 94, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FE3F4" - }, - "name": "CREDITS_RAISE_HAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F440C" - }, - "name": "START_HANDSTAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 6, - "Loop": false, - "UploadHash": "", - "StartAddress": "55A5F8" - }, - "name": "STOP_CRAWLING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 33, - "Loop": false, - "UploadHash": "", - "StartAddress": "5000DC" - }, - "name": "CREDITS_LOWER_HAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 1, - "Loop": false, - "UploadHash": "", - "StartAddress": "524E10" - }, - "name": "FALL_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 24, - "Loop": false, - "UploadHash": "", - "StartAddress": "565DD0" - }, - "name": "WATER_ACTION_END" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": true, - "UploadHash": "", - "StartAddress": "53E674" - }, - "name": "FORWARD_SPINNING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 39, - "Loop": true, - "UploadHash": "", - "StartAddress": "50C5B0" - }, - "name": "WING_CAP_FLY" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 24, - "Loop": false, - "UploadHash": "", - "StartAddress": "52A460" - }, - "name": "FALL_FROM_SLIDE_KICK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 63, - "Loop": false, - "UploadHash": "", - "StartAddress": "55AD1C" - }, - "name": "SUMMON_STAR" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 99, - "Loop": false, - "UploadHash": "", - "StartAddress": "50F6F4" - }, - "name": "SUFFOCATING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 15, - "Loop": false, - "UploadHash": "", - "StartAddress": "527248" - }, - "name": "FORWARD_FLIP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 4, - "Loop": false, - "UploadHash": "", - "StartAddress": "529824" - }, - "name": "DOUBLE_JUMP_RISE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 79, - "Loop": false, - "UploadHash": "", - "StartAddress": "4ED1D0" - }, - "name": "FALL_OVER_BACKWARDS" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FDF90" - }, - "name": "CREDITS_RETURN_FROM_LOOK_UP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "53E804" - }, - "name": "BREAKDANCE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 75, - "Loop": true, - "UploadHash": "", - "StartAddress": "4F870C" - }, - "name": "RUN_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F43F4" - }, - "name": "HANDSTAND_JUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 36, - "Loop": false, - "UploadHash": "", - "StartAddress": "52FA0C" - }, - "name": "SLOW_LAND_FROM_DIVE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 99, - "Loop": false, - "UploadHash": "", - "StartAddress": "54141C" - }, - "name": "DYING_IN_QUICKSAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 52, - "Loop": false, - "UploadHash": "", - "StartAddress": "545BF8" - }, - "name": "ELECTROCUTION" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "572BA0" - }, - "name": "IDLE_HEAD_RIGHT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "566628" - }, - "name": "WATER_PICK_UP_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "50BD4C" - }, - "name": "STAND_UP_FROM_LAVA_BOOST" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 51, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F2BF0" - }, - "name": "RETURN_FROM_HANDSTAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 32, - "Loop": false, - "UploadHash": "", - "StartAddress": "53A3E8" - }, - "name": "REACH_POCKET" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 58, - "Loop": false, - "UploadHash": "", - "StartAddress": "54E4F4" - }, - "name": "START_SLEEP_YAWN" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": false, - "UploadHash": "", - "StartAddress": "574490" - }, - "name": "HANDSTAND_RIGHT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 4, - "Loop": false, - "UploadHash": "", - "StartAddress": "546B40" - }, - "name": "SHOCKED" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "54035C" - }, - "name": "SOFT_BACK_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 33, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FD208" - }, - "name": "CREDITS_WAVING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 150, - "Loop": false, - "UploadHash": "", - "StartAddress": "52B360" - }, - "name": "LEGS_STUCK_IN_GROUND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 41, - "Loop": false, - "UploadHash": "", - "StartAddress": "578C80" - }, - "name": "FORWARD_SPINNING_FLIP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "540BA4" - }, - "name": "SOFT_FRONT_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "5785B8" - }, - "name": "RETURN_FROM_STAR_DANCE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 45, - "Loop": false, - "UploadHash": "", - "StartAddress": "50EA0C" - }, - "name": "DYING_ON_STOMACH" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 61, - "Loop": false, - "UploadHash": "", - "StartAddress": "577064" - }, - "name": "STAR_DANCE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": true, - "UploadHash": "", - "StartAddress": "50C254" - }, - "name": "FIRE_LAVA_BURN" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "525318" - }, - "name": "SLIDING_ON_BOTTOM_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 85, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FA618" - }, - "name": "SHIVERING_WARMING_HAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 45, - "Loop": false, - "UploadHash": "", - "StartAddress": "5197CC" - }, - "name": "PUT_CAP_ON" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "524614" - }, - "name": "JUMP_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 91, - "Loop": true, - "UploadHash": "", - "StartAddress": "55897C" - }, - "name": "CRAWLING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 69, - "Loop": false, - "UploadHash": "", - "StartAddress": "5614B8" - }, - "name": "DROWNING_PART2" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "56CD54" - }, - "name": "WALK_PANTING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "5769D0" - }, - "name": "SLIDEJUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 36, - "Loop": false, - "UploadHash": "", - "StartAddress": "5534F4" - }, - "name": "STOP_SLIDE_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 15, - "Loop": false, - "UploadHash": "", - "StartAddress": "55DAAC" - }, - "name": "SWIM_WITH_OBJ_PART1" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": false, - "UploadHash": "", - "StartAddress": "573CF8" - }, - "name": "HANDSTAND_LEFT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 70, - "Loop": true, - "UploadHash": "", - "StartAddress": "53F138" - }, - "name": "RUNNING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "57344C" - }, - "name": "IDLE_HEAD_CENTER" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "55ECCC" - }, - "name": "STOP_GRAB_OBJ_WATER" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 35, - "Loop": false, - "UploadHash": "", - "StartAddress": "5701F8" - }, - "name": "TRIPLE_JUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 88, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F08C0" - }, - "name": "CLIMB_UP_POLE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "55E164" - }, - "name": "FLUTTERKICK_WITH_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 30, - "Loop": false, - "UploadHash": "", - "StartAddress": "56F750" - }, - "name": "TRIPLE_JUMP_LAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "Loop": false, - "UploadHash": "", - "Flip": true, - "NumFrames": 22, - "StartAddress": "56EEAC" - }, - "name": "SLIDEFLIP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": false, - "UploadHash": "", - "StartAddress": "5634FC" - }, - "name": "WATER_FORWARD_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 70, - "Loop": true, - "UploadHash": "", - "StartAddress": "53F150" - }, - "name": "RUNNING_UNUSED" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "Loop": false, - "UploadHash": "", - "Flip": true, - "NumFrames": 9, - "StartAddress": "56EAA0" - }, - "name": "SLIDEFLIP_LAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "52AD28" - }, - "name": "BEND_KNESS_RIDING_SHELL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 36, - "Loop": false, - "UploadHash": "", - "StartAddress": "528620" - }, - "name": "SINGLE_JUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 15, - "Loop": false, - "UploadHash": "", - "StartAddress": "53E0F0" - }, - "name": "PLACE_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 79, - "Loop": false, - "UploadHash": "", - "StartAddress": "55FF88" - }, - "name": "DROWNING_PART1" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "UploadHash": "", - "StartFrame": 0, - "Loop": false, - "NumFrames": 22, - "StartAddress": "52E090" - }, - "name": "GENERAL_LAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 18, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F4FE0" - }, - "name": "SKID_ON_GROUND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 146, - "Loop": false, - "UploadHash": "", - "StartAddress": "536D64" - }, - "name": "UNLOCK_DOOR" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 99, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F7494" - }, - "name": "WALK_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "56E37C" - }, - "name": "TURNING_PART1" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 36, - "Loop": false, - "UploadHash": "", - "StartAddress": "52ED0C" - }, - "name": "GRAB_HEAVY_OBJECT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 11, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F2078" - }, - "name": "GRAB_POLE_SHORT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 24, - "Loop": false, - "UploadHash": "", - "StartAddress": "56C42C" - }, - "name": "HEAVY_THROW" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 111, - "Loop": false, - "UploadHash": "", - "StartAddress": "509924" - }, - "name": "CREDITS_PEACE_SIGN" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "52E7BC" - }, - "name": "BEING_GRABBED" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "53DAD4" - }, - "name": "START_RIDING_SHELL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 52, - "Loop": false, - "UploadHash": "", - "StartAddress": "518840" - }, - "name": "HANG_ON_CEILING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 4, - "Loop": false, - "UploadHash": "", - "StartAddress": "51F90C" - }, - "name": "GROUND_POUND_LANDING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "55E610" - }, - "name": "WATER_ACTION_END_WITH_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "557730" - }, - "name": "STOP_CROUCHING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "56A478" - }, - "name": "RETURN_FROM_WATER_STAR_DANCE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 82, - "Loop": false, - "UploadHash": "", - "StartAddress": "568A04" - }, - "name": "WATER_STAR_DANCE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "5681D0" - }, - "name": "WATER_IDLE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "539FEC" - }, - "name": "START_REACH_POCKET" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 6, - "Loop": false, - "UploadHash": "", - "StartAddress": "5541A4" - }, - "name": "SLIDE_KICK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 6, - "Loop": false, - "UploadHash": "", - "StartAddress": "55571C" - }, - "name": "SLIDE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F2508" - }, - "name": "GRAB_POLE_SWING_PART1" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "53CFFC" - }, - "name": "PICK_UP_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "529FDC" - }, - "name": "THROW_LIGHT_OBJECT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 99, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F93A0" - }, - "name": "SLOW_WALK_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 4, - "Loop": false, - "UploadHash": "", - "StartAddress": "56747C" - }, - "name": "WATER_GRAB_OBJ_PART1" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 63, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FC1A8" - }, - "name": "SHIVERING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 24, - "Loop": false, - "UploadHash": "", - "StartAddress": "566AF8" - }, - "name": "WATER_GRAB_OBJ_PART2" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "UploadHash": "", - "StartFrame": 9, - "Loop": false, - "NumFrames": 9, - "StartAddress": "520178" - }, - "name": "GROUND_POUND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "565610" - }, - "name": "FLUTTERKICK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 1, - "Loop": false, - "UploadHash": "", - "StartAddress": "5573A0" - }, - "name": "TWIRL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 58, - "Loop": false, - "UploadHash": "", - "StartAddress": "5347C4" - }, - "name": "PULL_DOOR_WALK_IN" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 35, - "Loop": true, - "UploadHash": "", - "StartAddress": "4F38F0" - }, - "name": "HANDSTAND_IDLE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "56520C" - }, - "name": "SWIM_PART2" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 12, - "Loop": false, - "UploadHash": "", - "StartAddress": "564D2C" - }, - "name": "SWIM_PART1" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 99, - "Loop": false, - "UploadHash": "", - "StartAddress": "501410" - }, - "name": "CREDITS_START_WALK_LOOK_UP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "564558" - }, - "name": "FALL_FROM_WATER" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 88, - "Loop": false, - "UploadHash": "", - "StartAddress": "570CB0" - }, - "name": "FIRST_PERSON" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 26, - "Loop": false, - "UploadHash": "", - "StartAddress": "500C24" - }, - "name": "CREDITS_TAKE_OFF_CAP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 63, - "Loop": false, - "UploadHash": "", - "StartAddress": "4EECAC" - }, - "name": "DYING_ON_BACK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F62D4" - }, - "name": "FAST_LONGJUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "55F800" - }, - "name": "WATER_IDLE_WITH_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "4F6FDC" - }, - "name": "AIRBORNE_ON_STOMACH" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 15, - "Loop": false, - "UploadHash": "", - "StartAddress": "518218" - }, - "name": "FAST_LEDGE_GRAB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "55DEC8" - }, - "name": "SWIM_WITH_OBJ_PART2" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 24, - "Loop": false, - "UploadHash": "", - "StartAddress": "55C144" - }, - "name": "RETURN_STAR_APPROACH_DOOR" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 6, - "Loop": false, - "UploadHash": "", - "StartAddress": "55A990" - }, - "name": "START_CRAWLING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 88, - "Loop": false, - "UploadHash": "", - "StartAddress": "557DA0" - }, - "name": "CROUCHING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 11, - "Loop": false, - "UploadHash": "", - "StartAddress": "51C314" - }, - "name": "QUICKLY_PUT_CAP_ON" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 39, - "Loop": false, - "UploadHash": "", - "StartAddress": "548244" - }, - "name": "IDLE_HEAVY_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "555214" - }, - "name": "FALL_FROM_SLIDE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": false, - "UploadHash": "", - "StartAddress": "54BB6C" - }, - "name": "START_SLEEP_IDLE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "552224" - }, - "name": "DIVE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "554AAC" - }, - "name": "STOP_SLIDE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 27, - "Loop": false, - "UploadHash": "", - "StartAddress": "567748" - }, - "name": "WATER_THROW_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "UploadHash": "", - "StartFrame": 27, - "Loop": false, - "NumFrames": 36, - "StartAddress": "528638" - }, - "name": "LAND_FROM_SINGLE_JUMP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "5750C0" - }, - "name": "WAKE_FROM_SLEEP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 63, - "Loop": true, - "UploadHash": "", - "StartAddress": "549A84" - }, - "name": "SIDESTEP_LEFT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "53AB58" - }, - "name": "STOP_REACH_POCKET" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "UploadHash": "", - "StartFrame": 6, - "Loop": false, - "NumFrames": 18, - "StartAddress": "4F4FF8" - }, - "name": "STOP_SKID" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "557030" - }, - "name": "TWIRL_LAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": true, - "UploadHash": "", - "StartAddress": "551AF4" - }, - "name": "SLEEP_LYING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 39, - "Loop": false, - "UploadHash": "", - "StartAddress": "550E88" - }, - "name": "SLEEP_START_LYING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 49, - "Loop": true, - "UploadHash": "", - "StartAddress": "5175EC" - }, - "name": "IDLE_ON_LEDGE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 63, - "Loop": false, - "UploadHash": "", - "StartAddress": "54F888" - }, - "name": "START_SLEEP_SITTING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 32, - "Loop": false, - "UploadHash": "", - "StartAddress": "4EFED4" - }, - "name": "BACKFLIP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 66, - "Loop": false, - "UploadHash": "", - "StartAddress": "54CD54" - }, - "name": "START_SLEEP_SCRATCH" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 63, - "Loop": true, - "UploadHash": "", - "StartAddress": "54A9C0" - }, - "name": "SIDESTEP_RIGHT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 6, - "Loop": false, - "UploadHash": "", - "StartAddress": "527870" - }, - "name": "JUMP_RIDING_SHELL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "55223C" - }, - "name": "SLIDE_DIVE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 4, - "Loop": false, - "UploadHash": "", - "StartAddress": "557504" - }, - "name": "START_TWIRL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 29, - "Loop": false, - "UploadHash": "", - "StartAddress": "547834" - }, - "name": "FORWARD_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 99, - "Loop": true, - "UploadHash": "", - "StartAddress": "542758" - }, - "name": "IDLE_IN_QUICKSAND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": true, - "UploadHash": "", - "StartAddress": "53E68C" - }, - "name": "BACKWARD_SPINNING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "UploadHash": "", - "StartFrame": 6, - "Loop": false, - "NumFrames": 16, - "StartAddress": "56E394" - }, - "name": "TURNING_PART2" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 12, - "Loop": false, - "UploadHash": "", - "StartAddress": "53CAC4" - }, - "name": "SECOND_PUNCH_FAST" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 3, - "Loop": false, - "UploadHash": "", - "StartAddress": "53C44C" - }, - "name": "SECOND_PUNCH" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 4, - "Loop": false, - "UploadHash": "", - "StartAddress": "53C1B4" - }, - "name": "FIRST_PUNCH" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "53B14C" - }, - "name": "GROUND_THROW" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "4FBC18" - }, - "name": "SHIVERING_RETURN_TO_IDLE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 24, - "Loop": false, - "UploadHash": "", - "StartAddress": "53B904" - }, - "name": "GROUND_KICK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 79, - "Loop": false, - "UploadHash": "", - "StartAddress": "50D2EC" - }, - "name": "LAND_ON_STOMACH" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 153, - "Loop": false, - "UploadHash": "", - "StartAddress": "531760" - }, - "name": "MISSING_CAP" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 18, - "Loop": false, - "UploadHash": "", - "StartAddress": "5311D4" - }, - "name": "MOVE_ON_WIRE_NET_LEFT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "524F78" - }, - "name": "FALL_FROM_SLIDING_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 1, - "Loop": true, - "UploadHash": "", - "StartAddress": "4F4E7C" - }, - "name": "A_POSE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "530BD4" - }, - "name": "MOVE_ON_WIRE_NET_RIGHT" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 18, - "Loop": false, - "UploadHash": "", - "StartAddress": "5240B8" - }, - "name": "JUMP_LAND_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 22, - "Loop": true, - "UploadHash": "", - "StartAddress": "52E078" - }, - "name": "GENERAL_FALL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "579828" - }, - "name": "TRIPLE_JUMP_FLY" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "5307F0" - }, - "name": "FLY_FROM_CANNON" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 19, - "Loop": false, - "UploadHash": "", - "StartAddress": "5290E4" - }, - "name": "AIR_KICK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "5258EC" - }, - "name": "RIDING_SHELL" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "525330" - }, - "name": "STAND_UP_FROM_SLIDING_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 15, - "Loop": false, - "UploadHash": "", - "StartAddress": "524940" - }, - "name": "FALL_LAND_WITH_LIGHT_OBJ" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 13, - "Loop": false, - "UploadHash": "", - "StartAddress": "529ADC" - }, - "name": "START_FORWARD_SPINNING" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 9, - "Loop": false, - "UploadHash": "", - "StartAddress": "520160" - }, - "name": "START_GROUND_POUND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 153, - "Loop": false, - "UploadHash": "", - "StartAddress": "51C774" - }, - "name": "HEAD_STUCK_IN_GROUND" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 16, - "Loop": false, - "UploadHash": "", - "StartAddress": "5769E8" - }, - "name": "START_WALLKICK" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 39, - "Loop": true, - "UploadHash": "", - "StartAddress": "550C30" - }, - "name": "SLEEP_IDLE" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 79, - "Loop": false, - "UploadHash": "", - "StartAddress": "50D304" - }, - "name": "FORWARD_AIR_KB" - }, - { - "className": "Animation", - "properties": { - "AnimationId": "" - }, - "attributes": { - "NumFrames": 94, - "Loop": false, - "UploadHash": "", - "StartAddress": "515604" - }, - "name": "DYING_FALL_OVER" - } - ] -} \ No newline at end of file diff --git a/sm64/Assets/Animations.rbxmx b/sm64/Assets/Animations.rbxmx new file mode 100644 index 0000000..8021b6d --- /dev/null +++ b/sm64/Assets/Animations.rbxmx @@ -0,0 +1,1229 @@ + + + + + + Animations + + + + + AIRBORNE_ON_STOMACH + + + + + + AIR_KICK + + + + + + A_POSE + + + + + + BACKFLIP + + + + + + BACKWARDS_WATER_KB + + + + + + BACKWARD_AIR_KB + + + + + + BACKWARD_KB + + + + + + BACKWARD_SPINNING + + + + + + BEING_GRABBED + + + + + + BEND_KNESS_RIDING_SHELL + + + + + + BOTTOM_STUCK_IN_GROUND + + + + + + BREAKDANCE + + + + + + CLIMB_DOWN_LEDGE + + + + + + CLIMB_UP_POLE + + + + + + COUGHING + + + + + + CRAWLING + + + + + + CREDITS_LOOK_BACK_THEN_RUN + + + + + + CREDITS_LOOK_UP + + + + + + CREDITS_LOWER_HAND + + + + + + CREDITS_PEACE_SIGN + + + + + + CREDITS_RAISE_HAND + + + + + + CREDITS_RETURN_FROM_LOOK_UP + + + + + + CREDITS_START_WALK_LOOK_UP + + + + + + CREDITS_TAKE_OFF_CAP + + + + + + CREDITS_WAVING + + + + + + CROUCHING + + + + + + CROUCH_FROM_FAST_LONGJUMP + + + + + + CROUCH_FROM_SLIDE_KICK + + + + + + CROUCH_FROM_SLOW_LONGJUMP + + + + + + DIVE + + + + + + DOUBLE_JUMP_FALL + + + + + + DOUBLE_JUMP_RISE + + + + + + DROWNING_PART1 + + + + + + DROWNING_PART2 + + + + + + DYING_FALL_OVER + + + + + + DYING_IN_QUICKSAND + + + + + + DYING_ON_BACK + + + + + + DYING_ON_STOMACH + + + + + + ELECTROCUTION + + + + + + FALL_FROM_SLIDE + + + + + + FALL_FROM_SLIDE_KICK + + + + + + FALL_FROM_SLIDING_WITH_LIGHT_OBJ + + + + + + FALL_FROM_WATER + + + + + + FALL_LAND_WITH_LIGHT_OBJ + + + + + + FALL_OVER_BACKWARDS + + + + + + FALL_WITH_LIGHT_OBJ + + + + + + FAST_LEDGE_GRAB + + + + + + FAST_LONGJUMP + + + + + + FIRE_LAVA_BURN + + + + + + FIRST_PERSON + + + + + + FIRST_PUNCH + + + + + + FIRST_PUNCH_FAST + + + + + + FLUTTERKICK + + + + + + FLUTTERKICK_WITH_OBJ + + + + + + FLY_FROM_CANNON + + + + + + FORWARD_AIR_KB + + + + + + FORWARD_FLIP + + + + + + FORWARD_KB + + + + + + FORWARD_SPINNING + + + + + + FORWARD_SPINNING_FLIP + + + + + + GENERAL_FALL + + + + + + GENERAL_LAND + + + + + + GRAB_HEAVY_OBJECT + + + + + + GRAB_POLE_SHORT + + + + + + GRAB_POLE_SWING_PART1 + + + + + + GRAB_POLE_SWING_PART2 + + + + + + GROUND_BONK + + + + + + GROUND_KICK + + + + + + GROUND_POUND + + + + + + GROUND_POUND_LANDING + + + + + + GROUND_THROW + + + + + + HANDSTAND_IDLE + + + + + + HANDSTAND_JUMP + + + + + + HANDSTAND_LEFT + + + + + + HANDSTAND_RIGHT + + + + + + HANG_ON_CEILING + + + + + + HANG_ON_OWL + + + + + + HEAD_STUCK_IN_GROUND + + + + + + HEAVY_THROW + + + + + + IDLE_HEAD_CENTER + + + + + + IDLE_HEAD_LEFT + + + + + + IDLE_HEAD_RIGHT + + + + + + IDLE_HEAVY_OBJ + + + + + + IDLE_IN_QUICKSAND + + + + + + IDLE_ON_LEDGE + + + + + + IDLE_ON_POLE + + + + + + IDLE_WITH_LIGHT_OBJ + + + + + + JUMP_LAND_WITH_LIGHT_OBJ + + + + + + JUMP_RIDING_SHELL + + + + + + JUMP_WITH_LIGHT_OBJ + + + + + + LAND_FROM_DOUBLE_JUMP + + + + + + LAND_FROM_SINGLE_JUMP + + + + + + LAND_ON_STOMACH + + + + + + LEGS_STUCK_IN_GROUND + + + + + + MISSING_CAP + + + + + + MOVE_IN_QUICKSAND + + + + + + MOVE_ON_WIRE_NET_LEFT + + + + + + MOVE_ON_WIRE_NET_RIGHT + + + + + + PICK_UP_LIGHT_OBJ + + + + + + PLACE_LIGHT_OBJ + + + + + + PULL_DOOR_WALK_IN + + + + + + PUSHING + + + + + + PUSH_DOOR_WALK_IN + + + + + + PUT_CAP_ON + + + + + + QUICKLY_PUT_CAP_ON + + + + + + REACH_POCKET + + + + + + RETURN_FROM_HANDSTAND + + + + + + RETURN_FROM_STAR_DANCE + + + + + + RETURN_FROM_WATER_STAR_DANCE + + + + + + RETURN_STAR_APPROACH_DOOR + + + + + + RIDING_SHELL + + + + + + RUNNING + + + + + + RUNNING_UNUSED + + + + + + RUN_WITH_LIGHT_OBJ + + + + + + SECOND_PUNCH + + + + + + SECOND_PUNCH_FAST + + + + + + SHIVERING + + + + + + SHIVERING_RETURN_TO_IDLE + + + + + + SHIVERING_WARMING_HAND + + + + + + SHOCKED + + + + + + SIDESTEP_LEFT + + + + + + SIDESTEP_RIGHT + + + + + + SINGLE_JUMP + + + + + + SKID_ON_GROUND + + + + + + SLEEP_IDLE + + + + + + SLEEP_LYING + + + + + + SLEEP_START_LYING + + + + + + SLIDE + + + + + + SLIDEFLIP + + + + + + SLIDEFLIP_LAND + + + + + + SLIDEJUMP + + + + + + SLIDE_DIVE + + + + + + SLIDE_KICK + + + + + + SLIDE_MOTIONLESS + + + + + + SLIDING_ON_BOTTOM_WITH_LIGHT_OBJ + + + + + + SLOW_LAND_FROM_DIVE + + + + + + SLOW_LEDGE_GRAB + + + + + + SLOW_LONGJUMP + + + + + + SLOW_WALK_WITH_LIGHT_OBJ + + + + + + SOFT_BACK_KB + + + + + + SOFT_FRONT_KB + + + + + + STAND_UP_FROM_LAVA_BOOST + + + + + + STAND_UP_FROM_SLIDING_WITH_LIGHT_OBJ + + + + + + START_CRAWLING + + + + + + START_CROUCHING + + + + + + START_FORWARD_SPINNING + + + + + + START_GROUND_POUND + + + + + + START_HANDSTAND + + + + + + START_REACH_POCKET + + + + + + START_RIDING_SHELL + + + + + + START_SLEEP_IDLE + + + + + + START_SLEEP_SCRATCH + + + + + + START_SLEEP_SITTING + + + + + + START_SLEEP_YAWN + + + + + + START_TIPTOE + + + + + + START_TWIRL + + + + + + START_WALLKICK + + + + + + STAR_DANCE + + + + + + STOP_CRAWLING + + + + + + STOP_CROUCHING + + + + + + STOP_GRAB_OBJ_WATER + + + + + + STOP_REACH_POCKET + + + + + + STOP_SKID + + + + + + STOP_SLIDE + + + + + + STOP_SLIDE_LIGHT_OBJ + + + + + + SUFFOCATING + + + + + + SUMMON_STAR + + + + + + SWIM_PART1 + + + + + + SWIM_PART2 + + + + + + SWIM_WITH_OBJ_PART1 + + + + + + SWIM_WITH_OBJ_PART2 + + + + + + TAKE_CAP_OFF_THEN_ON + + + + + + THROW_CATCH_KEY + + + + + + THROW_LIGHT_OBJECT + + + + + + TIPTOE + + + + + + TRIPLE_JUMP + + + + + + TRIPLE_JUMP_FLY + + + + + + TRIPLE_JUMP_GROUND_POUND + + + + + + TRIPLE_JUMP_LAND + + + + + + TURNING_PART1 + + + + + + TURNING_PART2 + + + + + + TWIRL + + + + + + TWIRL_LAND + + + + + + UNLOCK_DOOR + + + + + + WAKE_FROM_LYING + + + + + + WAKE_FROM_SLEEP + + + + + + WALKING + + + + + + WALK_PANTING + + + + + + WALK_WITH_HEAVY_OBJ + + + + + + WALK_WITH_LIGHT_OBJ + + + + + + WATER_ACTION_END + + + + + + WATER_ACTION_END_WITH_OBJ + + + + + + WATER_DYING + + + + + + WATER_FORWARD_KB + + + + + + WATER_GRAB_OBJ_PART1 + + + + + + WATER_GRAB_OBJ_PART2 + + + + + + WATER_IDLE + + + + + + WATER_IDLE_WITH_OBJ + + + + + + WATER_PICK_UP_OBJ + + + + + + WATER_STAR_DANCE + + + + + + WATER_THROW_OBJ + + + + + + WING_CAP_FLY + + + + \ No newline at end of file diff --git a/sm64/Assets/README.md b/sm64/Assets/README.md new file mode 100644 index 0000000..f371ff3 --- /dev/null +++ b/sm64/Assets/README.md @@ -0,0 +1,11 @@ +# Assets + +These are empty asset definitions for the animations and sounds used by the SM64 script.
+The animations define some metadata such as: + +* How many frames the animation is +* Whether an animation should loop or freeze at the end +* The address of the animation data in the SM64 (USA) ROM. +* What the upload hash of the asset is (empty) + +Sounds can be configuration objects with named sound attributes defining their weight of being rolled. \ No newline at end of file diff --git a/sm64/Assets/Sounds.model.json b/sm64/Assets/Sounds.model.json deleted file mode 100644 index fd0b2ef..0000000 --- a/sm64/Assets/Sounds.model.json +++ /dev/null @@ -1,502 +0,0 @@ -{ - "className": "Folder", - - "children": [ - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_BONK" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_FLYING_FAST" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_HEAVY_LANDING" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_HIT" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_METAL_BONK" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_METAL_HEAVY_LANDING" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_METAL_LANDING" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_METAL_STEP" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_PAT_BACK" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_SIDE_FLIP" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_SPIN" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_BODY_HIT_GROUND" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_DEFAULT" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_GRASS" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_ICE" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_METAL" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_SAND" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_SNOW" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_SPOOKY" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_STONE" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_LANDING_WATER" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_DEFAULT" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_GRASS" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_ICE" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_METAL" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_SAND" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_SNOW" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_SPOOKY" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_STONE" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TERRAIN_STEP_WATER" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_THROW" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "ACTION_TWIRL" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_ATTACKED" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_DIE" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_DOH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_GROUND_POUND_WAH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_HAHA" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_HOO" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_HOOHOO" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_IMA_TIRED" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_JUMP_HOO" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_JUMP_WAH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_MAMA_MIA" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_ON_FIRE" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_OOOF" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_PANTING" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_PUNCH_HOO" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_PUNCH_WAH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_PUNCH_YAH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_SNORING1" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_SNORING2" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_SNORING3" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_THROW_YAH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_UH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_UH2" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_WAAAOOOW" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_WAH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_WAHA" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_WHOA" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_YAH" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_YAHOO" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_YAWNING" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MARIO_YIPPEE" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MOVING_FLYING" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MOVING_LAVA_BURN" - }, - { - "className": "Sound", - "properties": { - "SoundId": "" - }, - "name": "MOVING_TERRAIN_SLIDE" - }, - { - "className": "Configuration", - "name": "ACTION_TERRAIN_JUMP" - }, - { - "className": "Configuration", - "name": "ACTION_TERRAIN_LANDING" - }, - { - "className": "Configuration", - "name": "ACTION_TERRAIN_STEP" - }, - { - "className": "Configuration", - "name": "MARIO_JUMP" - }, - { - "className": "Configuration", - "attributes": { - "MARIO_WAHA": 1, - "MARIO_YAHOO": 3, - "MARIO_YIPPEE": 1 - }, - "name": "MARIO_YAHOO_WAHA_YIPPEE" - }, - { - "className": "Configuration", - "attributes": { - "MARIO_YAH": 1, - "MARIO_HOO": 1, - "MARIO_WAH": 1 - }, - "name": "MARIO_YAH_WAH_HOO" - } - ] -} \ No newline at end of file diff --git a/sm64/Assets/Sounds.rbxmx b/sm64/Assets/Sounds.rbxmx new file mode 100644 index 0000000..0c82cf9 --- /dev/null +++ b/sm64/Assets/Sounds.rbxmx @@ -0,0 +1,501 @@ + + + + Sounds + + + + 8 + ACTION_BONK + 128 + + + + + 8 + ACTION_FLYING_FAST + 128 + + + + + 8 + ACTION_HEAVY_LANDING + 128 + + + + + 8 + ACTION_HIT + 128 + + + + + 8 + ACTION_METAL_BONK + 128 + + + + + 8 + ACTION_METAL_HEAVY_LANDING + 128 + + + + + 8 + ACTION_METAL_LANDING + 128 + + + + + 8 + ACTION_METAL_STEP + 128 + + + + + 8 + ACTION_PAT_BACK + 128 + + + + + 8 + ACTION_SIDE_FLIP + 128 + + + + + 8 + ACTION_SPIN + 128 + + + + + 8 + ACTION_TERRAIN_BODY_HIT_GROUND + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_DEFAULT + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_GRASS + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_ICE + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_METAL + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_SAND + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_SNOW + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_SPOOKY + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_STONE + 128 + + + + + 8 + ACTION_TERRAIN_LANDING_WATER + 128 + + + + + 8 + ACTION_TERRAIN_STEP_DEFAULT + 128 + + + + + 8 + ACTION_TERRAIN_STEP_GRASS + 128 + + + + + 8 + ACTION_TERRAIN_STEP_ICE + 128 + + + + + 8 + ACTION_TERRAIN_STEP_METAL + 128 + + + + + 8 + ACTION_TERRAIN_STEP_SAND + 128 + + + + + 8 + ACTION_TERRAIN_STEP_SNOW + 128 + + + + + 8 + ACTION_TERRAIN_STEP_SPOOKY + 128 + + + + + 8 + ACTION_TERRAIN_STEP_STONE + 128 + + + + + 8 + ACTION_TERRAIN_STEP_WATER + 128 + + + + + 8 + ACTION_THROW + 128 + + + + + 8 + ACTION_TWIRL + 128 + + + + + 8 + MARIO_ATTACKED + 128 + + + + + 8 + MARIO_DIE + 128 + + + + + 8 + MARIO_DOH + 128 + + + + + 8 + MARIO_GROUND_POUND_WAH + 128 + + + + + 8 + MARIO_HAHA + 128 + + + + + 8 + MARIO_HOO + 128 + + + + + 8 + MARIO_HOOHOO + 128 + + + + + 8 + MARIO_IMA_TIRED + 128 + + + + + 8 + MARIO_JUMP_HOO + 128 + + + + + 8 + MARIO_JUMP_WAH + 128 + + + + + 8 + MARIO_MAMA_MIA + 128 + + + + + 8 + MARIO_ON_FIRE + 128 + + + + + 8 + MARIO_OOOF + 128 + + + + + 8 + MARIO_PANTING + 128 + + + + + 8 + MARIO_PUNCH_HOO + 128 + + + + + 8 + MARIO_PUNCH_WAH + 128 + + + + + 8 + MARIO_PUNCH_YAH + 128 + + + + + 8 + MARIO_SNORING1 + 128 + + + + + 8 + MARIO_SNORING2 + 128 + + + + + 8 + MARIO_SNORING3 + 128 + + + + + 8 + MARIO_THROW_YAH + 128 + + + + + 8 + MARIO_UH + 128 + + + + + 8 + MARIO_UH2 + 128 + + + + + 8 + MARIO_WAAAOOOW + 128 + + + + + 8 + MARIO_WAH + 128 + + + + + 8 + MARIO_WAHA + 128 + + + + + 8 + MARIO_WHOA + 128 + + + + + 8 + MARIO_YAH + 128 + + + + + 8 + MARIO_YAHOO + 128 + + + + + 8 + MARIO_YAWNING + 128 + + + + + 8 + MARIO_YIPPEE + 128 + + + + + 8 + MOVING_FLYING + 128 + + + + + 8 + MOVING_LAVA_BURN + 128 + + + + + 8 + MOVING_TERRAIN_SLIDE + 128 + + + + + ACTION_TERRAIN_JUMP + + + + + ACTION_TERRAIN_LANDING + + + + + ACTION_TERRAIN_STEP + + + + + MARIO_JUMP + + + + + + MARIO_YAHOO_WAHA_YIPPEE + + + + + + MARIO_YAH_WAH_HOO + + + + \ No newline at end of file diff --git a/sm64/init.client.lua b/sm64/init.client.lua index da86f8c..3622436 100644 --- a/sm64/init.client.lua +++ b/sm64/init.client.lua @@ -1,12 +1,12 @@ --!strict -local Players = game:GetService("Players") :: Players -local RunService = game:GetService("RunService") :: RunService -local StarterGui = game:GetService("StarterGui") :: StarterGui -local TweenService = game:GetService("TweenService") :: TweenService -local UserInputService = game:GetService("UserInputService") :: UserInputService -local ReplicatedStorage = game:GetService("ReplicatedStorage") :: ReplicatedStorage -local ContextActionService = game:GetService("ContextActionService") :: ContextActionService +local Players = game:GetService("Players") +local RunService = game:GetService("RunService") +local StarterGui = game:GetService("StarterGui") +local TweenService = game:GetService("TweenService") +local UserInputService = game:GetService("UserInputService") +local ReplicatedStorage = game:GetService("ReplicatedStorage") +local ContextActionService = game:GetService("ContextActionService") local Sounds = require(script.Sounds) local Enums = require(script.Enums) @@ -238,12 +238,19 @@ local enumMap = {} local goalCF: CFrame local activeTrack: AnimationTrack? local peakSpeed = 0 +local emptyId = "" local reset = Instance.new("BindableEvent") reset.Archivable = false reset.Parent = script reset.Name = "Reset" +if RunService:IsStudio() then + local dummySequence = Instance.new("KeyframeSequence") + local provider = game:GetService("KeyframeSequenceProvider") + emptyId = provider:RegisterKeyframeSequence(dummySequence) +end + while not player.Character do player.CharacterAdded:Wait() end @@ -328,6 +335,14 @@ local function update() end if not activeTrack and anim then + if anim.AnimationId == "" then + if RunService:IsStudio() then + warn("!! FIXME: Empty AnimationId for", anim.Name, "will break in live games!") + end + + anim.AnimationId = emptyId + end + local track = animator:LoadAnimation(anim) track:Play(animSpeed, 1, 0) activeTrack = track diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000..17b8c34 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,8 @@ +# Tools + +These are some janky unmodified scripts I wrote to help me automate the process of extracting, importing, retargeting, and uploading mario's animations for an R15 Roblox rig. Some of these scripts **require elevated studio permissions (i.e. Roblox Internal)** to use without errors. How you choose to get access to that is at your discretion, but I'm not supposed to publicly disclose any strategies lol. + +I utilized the fast64 blender plugin for the python scripts and as a baseline for extracting mario's animations: +https://github.com/Fast-64/fast64 + +I originally had a functional visualization of the SM64 mario rig in the `AnimRetarget.rbxl` place file, but stripped the meshes and textures to avoid any trouble with Nintendo. I also nuked any KeyframeSequences I had imported into the ServerStorage's AnimSaves folder. You'll have to figure out how to import those yourself :) \ No newline at end of file diff --git a/tools/RetargetAnimations.lua b/tools/RetargetAnimations.lua index f3c3646..0679f83 100644 --- a/tools/RetargetAnimations.lua +++ b/tools/RetargetAnimations.lua @@ -1,5 +1,7 @@ ---!strict +-- This script was written (quite rigidly) for use in the provided RetargetAnimations.rbxl place. +-- KeyframeSequences are not provided as mentioned in the README, you'll have to extract them yourself :) +--!strict local ServerStorage = game:GetService("ServerStorage") local StarterCharacter = workspace.StarterCharacter diff --git a/tools/RetargetAnimations.rbxl b/tools/RetargetAnimations.rbxl new file mode 100644 index 0000000..d167562 Binary files /dev/null and b/tools/RetargetAnimations.rbxl differ diff --git a/tools/mass_export.py b/tools/mass_export.py index 9c7a639..3fb5a84 100644 --- a/tools/mass_export.py +++ b/tools/mass_export.py @@ -15,7 +15,7 @@ argv = argv[index:] offset = argv[0] name = argv[1] -romfileSrc = open("C:/Users/clone/Downloads/Super Mario 64 (USA)/sm64.z64", 'rb') +romfileSrc = open("sm64.z64", 'rb') mario_geo = bpy.data.objects['mario_geo'] levelParsed = sm64_level_parser.parseLevelAtPointer(romfileSrc, sm64_level_parser.level_pointers[bpy.context.scene.levelAnimImport])