[possible bug] Fatal: Cannot load image 'sprites/'

Started by jurassicjordan, March 23, 2018, 12:34:59 AM

Previous topic - Next topic
when setting the tunic in a directory other than hero, for ex: main_heroes, the game tester crashes. I have no idea why, I'm trying to change sprites upon entering a map, in the map's lua file, i set the tunic sprite id to a sprite in the main heros folder, upon testing, the whole thing crashed, is this a bug on my part or on solarus's part? thx
report, code, and log is attached

Do you get an error in the file "error.txt"?
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

In scripts\meta\hero.lua, you must change :
Code ( lua) Select
-- Initialize hero behavior specific to this quest.

require("scripts/multi_events")

local hero_meta = sol.main.get_metatable("hero")

local function initialize_hero_features(game)

  local hero = game:get_hero()
  hero:set_tunic_sprite_id("main_heroes/eldran")
end

-- Set up Eldran hero sprite on any game that starts.
local game_meta = sol.main.get_metatable("game")
game_meta:register_event("on_started", initialize_hero_features)
return true


by :

Code ( lua) Select
-- Initialize hero behavior specific to this quest.

require("scripts/multi_events")

local hero_meta = sol.main.get_metatable("hero")

local function initialize_hero_features(game)

  local hero = game:get_hero()
  hero:set_tunic_sprite_id("that you want")
end

-- Set up Eldran hero sprite on any game that starts.
local game_meta = sol.main.get_metatable("game")
game_meta:register_event("on_started", initialize_hero_features)
return true



September 10, 2018, 09:44:39 PM #3 Last Edit: September 10, 2018, 09:50:54 PM by boaromayo
I have a similar issue too.

Whenever I select the second scene from my demo (there's two scenes to choose from), it's supposed to change the hero's sprite to my custom sprite. But, after I select the scene, I get a prompt saying "Fatal: Cannot open data file 'sprites/'".

Here's my code that's producing the error, from "scripts\game_manager.lua":

Code ( lua) Select

-- Code producing game crash.

  function game:initialize_hero()
    local hero = game:get_hero()
    if cursor == 1 then
      hero:set_tunic_sprite_id("main_heroes/eldran")
    elseif cursor == 2 then
      --hero:set_tunic_sprite_id("hero/den_boy") <-- Whenever I set the sprite id to "den_boy", the game crashes. Every other sprite works fine.
      hero:set_tunic_sprite_id("main_heroes/robyne")
    end
  end


I also get no "error.txt" file stating the issue.

Is this a bug in Solarus itself?

Or does it have something to do with my custom sprite having the wrong sizes? My custom sprite is 24x32 per frame.

-Yes, it seems a bug to me. The Editor should give an error without crashing.
-Your sprites can have any size.
-Could you share the ".dat" file of the sprite here? There may be something wrong there, or something missing that is required by the engine.
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

Thanks for responding quickly!  :)

The .dat file for the sprite's attached below.

September 11, 2018, 08:34:03 AM #6 Last Edit: September 11, 2018, 10:29:49 AM by Diarandor
Your "sword" animation has no source image. That may be the problem. Also, many of your animations have no directions, which might not be allowed by the engine (I don't know).
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

I added in the directions for all of the animations for my sprite and it worked.

Thanks for the help again!