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"?
In scripts\meta\hero.lua, you must change :
-- 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 :
-- 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
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 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.
Thanks for responding quickly! :)
The .dat file for the sprite's attached below.
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).
I added in the directions for all of the animations for my sprite and it worked.
Thanks for the help again!