Modding Help Monster Sprite Not Animating In Game

Discussion in 'Starbound Modding' started by ThatForgottonGuy, Apr 19, 2018.

  1. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    So I've been working on adding more large Monsters into the game to act kind of like bosses... Until recently I have been quite successful, but my most recent abomin... Creation... Has been causing me grief for over a week. I am trying to create a Unique Monster that is a "largefish" and swims. I have never done this before, and can't get it to work. /debug shows the creatures hitbox, and it does move in the water, but it's sprite is "stuck" for lack of a better word on one frame. Starbound.log is showing an error which I will post below, but I can't figure out how to correct it. I'm hoping somebody here who has more experience modding can help me solve this issue, so I can finish this massive boss monster.

    This is the error in Starbound.log:

    Code:
    [21:31:35.265] [Info] UniverseServer: Warping player 1 to CelestialWorld:132132548:-720922248:-287858222:11=3721.84.1152
    [21:31:41.114] [Error] Could not load image asset '/default', using placeholder default.
    (AssetException) No such asset '/default'
    [21:31:41.114] [Error] Could not load image asset '/default:flop.1', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:flop.1'
    [21:31:42.119] [Error] Could not load image asset '/default:flop.2', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:flop.2'
    [21:31:42.338] [Error] Could not load image asset '/default:swim.1', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.1'
    [21:31:42.529] [Error] Could not load image asset '/default:swim.2', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.2'
    [21:31:42.671] [Error] Could not load image asset '/default:swim.3', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.3'
    [21:31:42.827] [Error] Could not load image asset '/default:swim.4', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.4'
    [21:31:43.013] [Error] Could not load image asset '/default:swim.5', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.5'
    [21:31:43.155] [Error] Could not load image asset '/default:swim.6', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.6'
    [21:31:43.297] [Error] Could not load image asset '/default:swim.7', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.7'
    [21:31:43.491] [Error] Could not load image asset '/default:swim.8', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.8'
    [21:32:19.185] [Info] UniverseClient: Client disconnecting...
    This is the .frames file:

    Code:
    {
      "frameGrid" : {
        "size" : [2550, 1270],
        "dimensions" : [8, 3],
    
        "names" : [
          [ "swim.1", "swim.2", "swim.3", "swim.4", "swim.5", "swim.6", "swim.7", "swim.8" ],
          [ "melee.1", "melee.2", "melee.3", "melee.4", null, null, null, null ],
          [ "ranged.1", null, null, null, null, null, "flop.1", "flop.2" ]
        ]
      },
    
      "aliases" : {
        "idle" : "swim.1"
      }
    }
    
    I can post the .animation, .monstertype, and .monsterpart files if those would help, but I believe the issue is with the .frames file, although I may be wrong...

    The sprite sheet itself is unfinished, but I have been using a sprite sheet of identical size (20400x3810) to test the creature.
     
  2. slowcold

    slowcold Scruffy Nerf-Herder

    Nah. Problem is your image file. It's not being loaded, so the frames file has nothing to refer to.
    Reason it's not being loaded is it's not the right size. You have an 8x3 grid - the dimensions of the sheet have to be divisible by 8 and 3 respectively. Can't have 0.33 of a pixel.
     
  3. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    thought it was divisible by 8 and 3...

    20400/8 = 2550
    3810/3 = 1270

    "size" refers to frame size, the sheet is much larger...
     
  4. slowcold

    slowcold Scruffy Nerf-Herder

    Ah. Misread it.

    That's a massive fish. :p
     
  5. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    No problem. And it is massive, takes up the whole screen on zoom 4x. It's the biggest thing I've made so far, but if I can't figure out the sprite issue I may end up abandoning it...
     
  6. projectmayhem

    projectmayhem Ketchup Robot

    if you can post all the files, ill take a look at it. I think it has something to do with how you named something. It shouldn't be looking for an image called /default. Unless you named your fish /default.png , and i can't see why you would.
     
  7. slowcold

    slowcold Scruffy Nerf-Herder

    Just got reminded of something.

    I had an animation that were refusing to work. changed the key to start at 0 instead of 1 (so it'd be swim.0 to swim.7) and it worked. Not idea why though, and probably won't work for you.
     
  8. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    I'll give that a try and see if anything changes.
     
  9. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    Here are the rest of the files and file names...

    File Names:
    fin.monsterpart
    fin.png
    head.monsterpart
    leviathan.animation
    leviathan.frames
    leviathan.monstertype
    leviathan.png
    tail.monsterpart
    tail.png

    Files:

    fin.monsterpart
    Code:
    {
      "name" : "leviathan",
      "category" : "leviathan",
      "type" : "fin",
    
      "frames" : {
        "fin" : "fin.png"
      }
    }
    
    head.monsterpart
    Code:
    {
      "name" : "leviathan",
      "category" : "leviathan",
      "type" : "head",
    
      "frames" : {
        "head" : "leviathan.png"
      }
    }
    
    leviathan.animation
    Code:
    {
      "animatedParts" : {
        "stateTypes" : {
          "movement" : {
            "priority" : 0,
            "default" : "idle",
    
            "states" : {
              "idle" : {
                "frames" : 1
              },
              "flopping" : {
                "frames" : 2,
                "cycle" : 0.25,
                "mode" : "loop"
              },
              "swimFast" : {
                "frames" : 8,
                "cycle" : 0.6,
                "mode" : "loop"
              },
              "swimSlow" : {
                "frames" : 8,
                "cycle" : 0.9,
                "mode" : "loop"
              }
            }
          },
    
          "attack" : {
            "priority" : 1,
            "default" : "idle",
    
            "states" : {
              "idle" : {
                "frames" : 1
              },
              "melee" : {
                "frames" : 4,
                "cycle" : 0.8,
                "mode" : "transition",
                "transition" : "idle"
              },
              "shooting" : {
                "frames" : 1
              }
            }
          },
    
          "releaseParticles" : {
            "default" : "off",
            "states" : {
              "off" : {
                "frames" : 1,
                "properties" : {
                  "particleEmittersOff" : [ "releaseParticles" ]
                }
              },
              "on" : {
                "frames" : 1,
                "cycle" : 0.1,
                "mode" : "transition",
                "transition" : "off",
                "properties" : {
                  "particleEmittersOn" : [ "releaseParticles" ]
                }
              }
            }
          }
        },
    
        "parts" : {
          "backfin" : {
            "properties" : {
              "rotationGroup" : "all",
              "offset" : [-0.5, 0],
              "zLevel" : 0
            },
    
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle?flipx"
                  }
                },
                "flopping" : {
                  "properties" : {
                    "image" : "<partImage>:flop.<frame>?flipx"
                  }
                },
                "swimFast" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                },
                "swimSlow" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                }
              }
            }
          },
    
          "tail" : {
            "properties" : {
              "rotationGroup" : "all",
              "offset" : [-0.5, 0],
              "zLevel" : 1
            },
    
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle?flipx"
                  }
                },
                "flopping" : {
                  "properties" : {
                    "image" : "<partImage>:flop.<frame>?flipx"
                  }
                },
                "swimFast" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                },
                "swimSlow" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                }
              }
            }
          },
    
          "head" : {
            "properties" : {
              "rotationGroup" : "all",
              "offset" : [-0.5, 0],
              "zLevel" : 2
            },
    
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle?flipx"
                  }
                },
                "flopping" : {
                  "properties" : {
                    "image" : "<partImage>:flop.<frame>?flipx"
                  }
                },
                "swimFast" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                },
                "swimSlow" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                }
              },
    
              "attack" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle?flipx"
                  }
                },
                "melee" : {
                  "properties" : {
                    "image" : "<partImage>:melee.<frame>?flipx"
                  }
                },
                "shooting" : {
                  "properties" : {
                    "image" : "<partImage>:ranged.<frame>?flipx"
                  }
                }
              }
            }
          },
    
          "frontfin" : {
            "properties" : {
              "rotationGroup" : "all",
              "offset" : [-0.5, 0],
              "zLevel" : 3
            },
    
            "partStates" : {
              "movement" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle?flipx"
                  }
                },
                "flopping" : {
                  "properties" : {
                    "image" : "<partImage>:flop.<frame>?flipx"
                  }
                },
                "swimFast" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                },
                "swimSlow" : {
                  "properties" : {
                    "image" : "<partImage>:swim.<frame>?flipx"
                  }
                }
              }
            }
          }
        }
      },
    
      "rotationGroups" : {
        "all" : {
          "angularVelocity" : 3.0
        }
      },
    
      "particleEmitters" : {
        "deathPoof" : {
          "particles" : [
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/puff2c/puff2c.animation",
                "size" : 1,
                "angularVelocity" : 35,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [0, 0],
                "finalVelocity" : [0, 0],
                "approach" : [1, 1],
                "timeToLive" : 0.4,
                "layer" : "middle"
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz1/fizz1.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [-8, 8],
                "finalVelocity" : [-3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [-4, 2],
                  "finalVelocity" : [-3, -4]
                }
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz1/fizz1.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [8, 8],
                "finalVelocity" : [3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [4, 2],
                  "finalVelocity" : [3, -4]
                }
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz2/fizz2.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [-8, 8],
                "finalVelocity" : [-3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [-4, 2],
                  "finalVelocity" : [-3, -4]
                }
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz2/fizz2.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [8, 8],
                "finalVelocity" : [3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [4, 2],
                  "finalVelocity" : [3, -4]
                }
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz3/fizz3.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [-8, 8],
                "finalVelocity" : [-3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [-4, 2],
                  "finalVelocity" : [-3, -4]
                }
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz3/fizz3.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [8, 8],
                "finalVelocity" : [3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [4, 2],
                  "finalVelocity" : [3, -4]
                }
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz4/fizz4.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [-8, 8],
                "finalVelocity" : [-3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [-4, 2],
                  "finalVelocity" : [-3, -4]
                }
              }
            },
            {
              "particle" : {
                "type" : "animated",
                "animation" : "/animations/fizz4/fizz4.animation",
                "size" : 1,
                "angularVelocity" : 20,
                "fade" : 1,
                "destructionTime" : 1,
                "position" : [0, 0],
                "initialVelocity" : [8, 8],
                "finalVelocity" : [3, -4],
                "approach" : [15, 15],
                "timeToLive" : 3.45,
                "layer" : "middle",
                "variance" : {
                  "initialVelocity" : [4, 2],
                  "finalVelocity" : [3, -4]
                }
              }
            }
          ]
        },
        "captureParticles" : {
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "releaseParticles" : {
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        },
        "teleportOut" : {
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "teleportIn" : {
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        },
        "levelUp" : {
          "particles" : [
            { "particle" : "monsterlevelup" }
          ]
        }
      },
    
      "sounds" : {
        "turnHostile" : [  ],
        "deathPuff" : [ "/sfx/npc/enemydeathpuff.ogg" ]
      },
      "effects" : {
        "blink" : {
          "type" : "flash",
          "time" : 0.25,
          "directives" : "fade=ffffff;0.5"
        }
      }
    }
    
    leviathan.frames
    Code:
    {
      "frameGrid" : {
        "size" : [2550, 1270],
        "dimensions" : [8, 3],
    
        "names" : [
          [ "swim.1", "swim.2", "swim.3", "swim.4", "swim.5", "swim.6", "swim.7", "swim.8" ],
          [ "melee.1", "melee.2", "melee.3", "melee.4", null, null, null, null ],
          [ "ranged.1", null, null, null, null, null, "flop.1", "flop.2" ]
        ]
      },
    
      "aliases" : {
        "idle" : "swim.1"
      }
    }
    
    leviathan.monstertype
    Code:
    {
      "type" : "leviathan",
     
      "shortdescription" : "Leviathan",
      "description" : "A Massive, Prehistoric, Aquatic Super-Predator.",
    
      "categories" : [ "leviathan" ],
      "parts" : [ "head", "tail", "fin" ],
    
      "animation" : "leviathan.animation",
    
      "baseParameters" : {
        "scripts" : [
          "/monsters/generated/swimming/swimmingMonster.lua",
          "/scripts/util.lua",
          "/scripts/vec2.lua",
          "/scripts/stateMachine.lua",
          "/monsters/generated/swimming/wanderState.lua",
          "/monsters/generated/swimming/attackState.lua",
          "/monsters/generated/swimming/fleeState.lua",
          "/monsters/generated/swimming/flopState.lua"
        ],
       
        "persistent" : true,
       
        "behavior" : "monster",
    
        "renderLayer" : "foregroundEntity",
    
        "metaBoundBox" : [-2.0, -2.0, 2.0, 2.0],
        "scale" : 0.5,
    
        "movementSettings" : {
          "collisionPoly" : [ [-2.5, -1.0], [2.5, -1.0], [2.5, 0.5], [-2.5, 0.5] ],
    
          "mass" : 1.5,
          "liquidBuoyancy" : 1.0,
          "flySpeed" : 18,
          "liquidFriction" : 2.0,
          "liquidForce" : 150.0,
    
          "airJumpProfile" : {
            "jumpSpeed" : 15.0,
            "jumpControlForce" : 900.0,
            "jumpInitialPercentage" : 1.0,
            "jumpHoldTime" : 0.0,
    
            "multiJump" : false,
            "reJumpDelay" : 0.05,
            "autoJump" : false,
            "collisionCancelled" : true
          }
        },
    
        "moveRatioLimit" : 0.6,
        "directionChangeCooldown" : 1.0,
    
        "targetSearchRadius" : 15,
        "targetHoldRadius" : 40,
        "targetChangeCooldown" : 5.0,
    
        "attackStartDistance" : 12.0,
        "attackApproachTime" : 3.0,
        "attackWindupTime" : 1.0,
        "attackChargeTime" : 1.2,
        "attackChargeSpeed" : 60,
    
        "wanderTime" : [4.0, 8.0],
    
        "fleeTimeRange" : [0.0, 0.0],
    
        "flopJumpInterval" : [0.3, 1.5],
    
        "knockoutTime" : 0.5,
        "knockoutEffect" : "blink",
        "deathParticles" : "deathPoof",
    
        "blockedSensors" : [ [2.75, -1.0], [3.0, 0.0], [2.75, 1.0] ],
        "upSensors" : [ [-1.25, -1.25], [1.0, -1.25], [2.75, -1.25] ],
        "downSensors" : [ [-1.25, 0.75], [1.0, 0.75], [2.75, 0.75] ],
    
        "touchDamage" : {
          "poly" : [ [-2.5, -1.0], [2.5, -1.0], [2.5, 0.5], [-2.5, 0.5] ],
          "damage" : 15,
    
          "teamType" : "enemy",
          "damageSourceKind" : "slash",
          "knockback" : 20,
          "statusEffects" : [ ]
        },
    
        "statusSettings" : {
          "statusProperties" : {
            "targetMaterialKind" : "organic"
          },
    
          "appliesEnvironmentStatusEffects" : false,
          "appliesWeatherStatusEffects" : false,
          "minimumLiquidStatusEffectPercentage" : 0.1,
    
          "primaryScriptSources" : [
            "/stats/monster_primary.lua"
          ],
          "primaryScriptDelta" : 5,
    
          "stats" : {
            "knockbackStunTime" : {
              "baseValue" : 0.25
            },
            "knockbackThreshold" : {
              "baseValue" : 9
            },
            "maxHealth" : {
              "baseValue" : 3
            },
            "protection" : {
              "baseValue" : 5.0
            },
            "healthRegen" : {
              "baseValue" : 0.1
            },
            "powerMultiplier" : {
              "baseValue" : 1.0
            },
            "physicalResistance" : {
              "baseValue" : 0.0
            },
            "fireResistance" : {
              "baseValue" : 1.0
            },
            "fireStatusImmunity" : {
              "baseValue" : 1.0
            },
            "iceResistance" : {
              "baseValue" : 0.0
            },
            "iceStatusImmunity" : {
              "baseValue" : 1.0
            },
            "electricResistance" : {
              "baseValue" : 0.0
            },
            "electricStatusImmunity" : {
              "baseValue" : 1.0
            },
            "poisonResistance" : {
              "baseValue" : 0.0
            },
            "poisonStatusImmunity" : {
              "baseValue" : 1.0
            }
          },
    
          "resources" : {
            "stunned" : {
              "deltaValue" : -1.0,
              "initialValue" : 0.0
            },
            "health" : {
              "maxStat" : "maxHealth",
              "deltaStat" : "healthRegen",
              "defaultPercentage" : 100
            }
          }
        },
    
        "mouthOffset" : [0, 0],
        "feetOffset" : [0, -4],
        "capturable" : false,
        "captureHealthFraction" : 0.0,
        "nametagColor" : [64, 200, 255]
      }
    }
    tail.monsterpart
    Code:
    {
      "name" : "leviathan",
      "category" : "leviathan",
      "type" : "tail",
    
      "frames" : {
        "tail" : "tail.png"
      }
    }
    
    Hopefully that helps...
     
  10. projectmayhem

    projectmayhem Ketchup Robot

    dont you need two more frame files for the head and tail?
     
  11. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    Do I? The head has frames as leviathan.frames, tail.monsterpart and fin.monsterpart are both blank, the whole sprite is on leviathan.png...

    They are also all the same size, but I can try that and see if it helps...

    Edit: Adding two .frames files for the tail and fin files didn't have any effect...
    Code:
    [14:53:54.378] [Info] UniverseServer: listening for incoming TCP connections on 0.0.0.0:21025
    [14:54:01.222] [Error] Could not load image asset '/default', using placeholder default.
    (AssetException) No such asset '/default'
    [14:54:01.223] [Error] Could not load image asset '/default:flop.1', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:flop.1'
    [14:54:01.836] [Error] Could not load image asset '/default:flop.2', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:flop.2'
    [14:54:02.071] [Error] Could not load image asset '/default:swim.1', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.1'
    [14:54:02.257] [Error] Could not load image asset '/default:swim.2', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.2'
    [14:54:02.416] [Error] Could not load image asset '/default:swim.3', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.3'
    [14:54:02.562] [Error] Could not load image asset '/default:swim.4', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.4'
    [14:54:02.758] [Error] Could not load image asset '/default:swim.5', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.5'
    [14:54:02.906] [Error] Could not load image asset '/default:swim.6', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.6'
    [14:54:03.061] [Error] Could not load image asset '/default:swim.7', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.7'
    [14:54:03.259] [Error] Could not load image asset '/default:swim.8', using placeholder default.
    (AssetException) No associated frames file found for image '/default' while resolving image frame '/default:swim.8'
    [14:54:12.519] [Info] UniverseClient: Client disconnecting...
     
    Last edited: Apr 19, 2018
  12. projectmayhem

    projectmayhem Ketchup Robot

    If the whole image is on the head file, why do you have fin and tail? Maybe try removing all references to them?
    Just tossing out ideas, I still dont see any reason for it to be looking for a /default image
     
  13. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    They are placeholders from the base game's largefish files as that's what I've built off of. I wish there was a fish mod that was a unique monster as it would be much easier to work from, but I haven't seen such a thing... I have tried without them and it doesn't make any difference either, they are only there because I tried without them first and thought adding them may fix the error, but it is now obvious that the error is being caused by something else...

    Is it possible my image file is just TOO massive? Is 20400x3810 possibly too much for the game to deal with?
     
  14. ThatForgottonGuy

    ThatForgottonGuy Void-Bound Voyager

    After temporarily abandoning this mod for a while I encountered the problem on a different monster, and dug further into the issue. After hours of tinkering I discovered that the issue is with how Starbound builds Procedural Creatures from parts... Long story short, I moved the sprite for Leviathan from the head.png to tail.png (so head and fin were both blank, and tail had the sprite) because the head only uses 1 frame by default, but my whole creature was on that sprite sheet. After moving it to the tail.png it has animated with no issues and I have begun work on the mod again.

    Thanks to everyone who helped me troubleshoot this problem as it helped me rule out causes and eventually solve the problem, without you guys I probably never would have solved this issue on my own, so thanks!
     
    projectmayhem likes this.

Share This Page