I'm playing the DM dungeon.
Code: Select all
PROGRAM CRASH!
Location: 3 6 7
Reason: Segmentation Fault
Stack Dump:
DSBmain
DSBgameloop
render_inventory_view
Moderator: Sophia
Code: Select all
PROGRAM CRASH!
Location: 3 6 7
Reason: Segmentation Fault
Stack Dump:
DSBmain
DSBgameloop
render_inventory_view
Code: Select all
PROGRAM CRASH!
Location: 8 13 12
Reason: Leaky eot_te queue
Stack Dump:
DSBmain
DSBgameloop
Code: Select all
path = "gfx/creatures/"
gfx.new_dragon_front = dsb_get_bitmap(path .. "NEW_DRAGON_FRONT")
obj.dragon.front = gfx.new_dragon_front
Code: Select all
graphics_paths = {
DRAGON_FRONT = "gfx/creatures/dragon_front.png"
}
Code: Select all
graphics_paths = {
ALCOVE_FRONT = "gfx/wall_items/alcove_front.png",
WALLGRATE_FRONT = "gfx/wall_items/wallgrate_front.png",
WALLGRATE_SIDE = "gfx/wall_items/wallgrate_side.png",
}
No, because most bitmaps are referenced in objects.lua which is not parsed until all (i.e., both base and custom) graphics have been loaded. Any replaced bitmaps there won't cause a problem. The crash was caused by a bitmap that was referenced in the base code's conditions.lua which is parsed after the base code's gfx.poisoned had been loaded but before your custom code had replaced it. As such, the condition stored a bitmap that then got thrown out when the garbage collector thought nobody was using it anymore. I designed DSB's infrastructure for graphics replacement to be pretty robust so it "just works" in the majority of cases; this was a kind of odd outcome that I didn't think of at the time.Gambit37 wrote: Wed Sep 12, 2018 8:54 amGiven your explanation, wouldn't the first replaced bitmap cause the crash?