Page 1 of 1
dsb 43 bug
Posted: Sat Jun 12, 2010 1:43 pm
by Joramun
- ESB let the designer put 2559 as skill 7 value, which then prevents DSB and ESB to open the dungeon.
- trigger with no sound defined are not silent by default, resulting in a crash with complaint from dsb_3dsound not getting a sound as an input:
Code: Select all
Parsing D:\Jeux\DM\DSB\dungeons\dm/dungeon.lua
FATAL LUA ERROR: Lua Function monster_generator.msg_handler[100000]: base/util.lua:203: dsb_3dsound requires Sound in param 1
@@@ LUA STACK @@@
[N:0][N:1417][N:100000][N:0][N:1463][S:base/util.lua:203: dsb_3dsound requires Sound in param 1]
@@@@@@
- the light level at dungeon startup is always the maximum, resulting in a sudden darkening if the current level is actually dark.
Re: dsb 43 bug
Posted: Sat Jun 12, 2010 7:24 pm
by Sophia
Joramun wrote:ESB let the designer put 2559 as skill 7 value, which then prevents DSB and ESB to open the dungeon.
It's because the max was defined elsewhere as 2550. Fixed now.
Joramun wrote:trigger with no sound defined are not silent by default, resulting in a crash with complaint from dsb_3dsound not getting a sound as an input
I'm not sure what you mean by "no sound defined." I think the problem here is that a
sound exvar
is defined, but there is no corresponding entry in the
snd table with that name. It's probably bad design that it gives such an ambiguous error message, but it's also not the kind of thing I can do much about without metatable hacking that may have other unforeseen consequences. I can have it silently fail or non-fatally complain instead of dump out, I guess, if that's better...
Joramun wrote:the light level at dungeon startup is always the maximum, resulting in a sudden darkening if the current level is actually dark.
Fixed.
Re: dsb 43 bug
Posted: Sat Jun 12, 2010 9:37 pm
by Joramun
The sound problem comes from my dungeon, sorry.
Re: dsb 43 bug
Posted: Sun Jun 13, 2010 12:10 pm
by Joramun
FATAL LUA ERROR: Lua Function fireball.on_impact: base/damage.lua:263: Invalid instance 1200
@@@ LUA STACK @@@
[{@OBJ}][{@OBJ[FIREBALL]}][S:base/damage.lua:263: Invalid instance 1200]
@@@@@@
When fireballing "he is my prisonner, let him suffer". Instance 1200 is a floor trigger.
Re: dsb 43 bug
Posted: Sun Jun 13, 2010 11:48 pm
by Sophia
Joramun wrote:When fireballing "he is my prisonner, let him suffer". Instance 1200 is a floor trigger.
This problem is kind of messy. When the fireball explodes, the
explode_square function creates a list of the instances in the tile and proceeds to iterate over it, handling the explosion for each thing. The mummy's death untriggers the trigger, which fires off an activate to a relay and causes the trigger the mummy was standing on to be destroyed. All this happens on the mummy's death, so by the time
explode_square's iterator gets to the trigger, the trigger is gone. There are a few ways to fix this, the various solutions becoming increasingly robust and "correct" and causing increasing amounts of messiness for me. For now, I'm just going to make
dsb_find_arch return an empty table on an invalid input, instead of erroring out. It'll make bad code a little harder to debug, but it won't change working code one bit.
tl;dr version: Fixed