[03:50:32] --> shazza has joined #exult
[08:10:43] <Dominus> I think Marzo might have broken exploding chests with #6232 back in 2010-03-11
[08:10:59] <Dominus> I don't have any snapshots prior to this of course :(
[08:21:40] <Colourless> thats why you can checkout to a specific commit and compile!
[08:28:57] * Dominus glares at Colourless
[08:30:00] <-- shazza has left IRC (Ping timeout: 256 seconds)
[12:23:44] --> TheCycoONE has joined #exult
[12:58:48] <Dominus> bah...
[12:59:02] <Dominus> that old revision still needs sdl_mixer...
[13:04:52] <wjp> that's a huge one
[13:14:06] <Dominus> how annoying...
[13:14:49] <Dominus> of course that old code doesn't build straight anymore. Needs autoconf fixes, the png fix...
[13:19:35] <wjp> it might be easier to put some printfs in code that revision touches to see if it is indeed not behaving as expected there
[13:22:44] --> shazza has joined #exult
[13:23:50] <Dominus> probably. trying one last time to build it and hope it doesn't break on timidity
[13:23:53] <Dominus> again
[13:26:09] <Dominus> ok, compiling in 32bit worked
[13:26:43] <Dominus> and now I know that revision 6228 still had explosions :)
[13:28:56] <Dominus> the plot thickens....
[13:29:07] <Dominus> let's try #6232 now
[13:41:36] <Dominus> confirmed
[13:41:49] <Dominus> #6232 broke exploding chests
[13:42:01] <Dominus> of course a big changeset...
[13:42:39] <wjp> there are probably three options: it doesn't detect it has to run usecode, it runs the wrong usecode, or it has the wrong data in the unhardcoded files
[13:43:08] <wjp> I can't take a closer look than that right now, though
[13:44:00] <Dominus> I may fiddle with it later. For now I'm just glad I found the breaking revision so fast...
[13:44:21] <wjp> yup, nice work; always good to have these things pinpointed
[13:44:27] <Dominus> that the commit mentioned "trapped chests" helped a lot :)
[13:44:31] <wjp> :-)
[13:45:42] <-- shazza has left IRC (Ping timeout: 264 seconds)
[13:57:35] <Dominus> strange. /data/si/shape_info.txt:1560 - Marzo labeled the blink ring (I think) swamp boots (though only in a comment)
[14:00:24] <wjp> ring of reagents, likely
[14:00:40] <Dominus> oh, yes, true :)
[14:04:54] <Dominus> the exploding chest has quality 255, so it is at least part of that list :)
[14:29:13] <Dominus> hmm, it seems as if it is not honoring anything for the chests. Tried to change the flags a bit. nothing happens
[14:43:36] <Dominus> now first getting a full diff. the commit mail was cut...
[15:12:36] <Dominus> lovely, the diff is 2.6 MB big...
[17:34:46] --> TheCycoTWO has joined #exult
[17:37:31] <-- TheCycoONE has left IRC (Ping timeout: 245 seconds)
[17:47:42] <-- TheCycoTWO has left IRC (Read error: Connection reset by peer)
[17:48:05] --> TheCycoTWO has joined #exult
[17:55:50] <-- TheCycoTWO has left IRC (Ping timeout: 252 seconds)
[18:02:11] --> TheCycoTWO has joined #exult
[18:13:26] <-- TheCycoTWO has left IRC (Read error: Connection reset by peer)
[18:13:50] --> TheCycoTWO has joined #exult
[18:45:52] <-- TheCycoTWO has left IRC (Read error: Connection reset by peer)
[18:46:18] --> TheCycoTWO has joined #exult
[19:43:12] --> shazza has joined #exult
[19:43:12] --> 13WAA1UGQ has joined #exult
[19:47:33] <-- shazza has left IRC (Ping timeout: 240 seconds)
[19:48:12] <-- 13WAA1UGQ has left IRC (Ping timeout: 264 seconds)
[20:39:06] <Dominus> so, it was objs/contain.cc case 800: if (!cheat.in_map_editor() && get_quality() >= 251) -> ucmachine->call_usecode(shnum, this, (Usecode_machine::Usecode_events) event);
[20:39:30] <Dominus> that went into objs/objs.cc int Game_object::get_usecode() const ...
[20:42:01] <-- Philantrop has left IRC (Remote host closed the connection)
[20:47:49] --> Philantrop has joined #exult
[21:08:48] <-- TheCycoTWO has left IRC (Read error: Connection reset by peer)
[21:17:42] <Dominus> so, if I place some couts around there in objs/objs.cc:86 I get *nothing* when I doubleclick a chest.
[21:17:49] <Dominus> a trapped chest
[21:19:05] <wjp> not a good sign
[21:19:47] <wjp> does the chest open at all?
[21:26:03] <Dominus> yes, the chest opens
[21:26:59] <Dominus> I'm not really sure if the %%section frame_powers in the shape_info.txt is the right place for the chest definitions, as this sections is described as
[21:27:10] <Dominus> "Additional frame-dependent flags granted by gear."
[21:27:40] <Dominus> which is fine for swamp boots and reagent ring but not right for chests that explode when you click on them...
[21:28:37] <Dominus> that commit nixed a lot of frame_powers references but only added one or two...
[21:29:31] <wjp> in contain.cc in show_gump is the place where it should detect the force_usecode flag
[21:29:44] <wjp> (where this check on shape 800 + qual something was)
[21:32:45] <Dominus> when I place some couts there, it shows a cout for else if ((gump = inf.get_gump_shape()) >= 0)
[21:33:26] <Dominus> not for the former which it should, I guess
[21:34:55] <wjp> right
[21:35:13] <wjp> so has_object_flag fails
[21:35:42] <wjp> or maybe the wrong options are passed
[21:44:18] <Dominus> seems as if something is missing...
[21:50:26] <wjp> hm, I'm not familiar enough with this unhardcoded stuff to see at a glance where this is coming from
[21:50:29] <Dominus> in shapes/shapevga.cc there is no framepowers base_reader but in shapewrite,cc there is a basewriter
[21:50:43] <Dominus> don't know if that gives a hint
[21:53:47] <wjp> the block reading it would be the "For frame flags" bit in shapevga.cc
[21:56:03] <Dominus> yeah, just wonder whether that should not include somehow the frame_power thing...
[21:56:32] <wjp> it seems to depend on the order in the file
[21:56:49] <wjp> and it does look like it is in between the barge and jawbone bits
[22:03:29] <wjp> time to go; good night
[22:03:42] <Dominus> good night and thanks :)
[22:03:54] <wjp> I'm away from home at the moment, by the way, so can't really properly look at these things right now)
[22:04:24] <Dominus> no problem, I'm going to slap marzo around with a 2.6 MB big diff when he shows up :)
[22:08:43] <wjp> I think it's probably easier to debug this straight from current svn now we know where to look
[22:09:01] * wjp disappears
[22:09:22] * Dominus looks but can't see wjp anymore...
[22:30:04] <Dominus> If I shortcut the else if (inf.has_object_flag(get_framenum(),
[22:30:04] <Dominus> inf.has_quality() ? get_quality() : -1, Frame_flags::force_usecode)) in contain.cc with else if (Frame_flags::force_usecode)
[22:30:07] <Dominus> it works :)
[22:31:29] <Dominus> now every container tries to run a usecode script though :)