#pentagram@irc.freenode.net logs for 6 Jul 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[00:58:04] <-- Dark-Star has left IRC ()
[01:23:03] --> Kirben has joined #pentagram
[01:23:03] --- ChanServ gives channel operator status to Kirben
[09:03:49] --> CashZz has joined #pentagram
[09:04:08] <CashZz> hi
[09:04:11] --- CashZz is now known as Cashman
[09:35:34] <Cashman> just a quick note, when are you adding fadeing between maps, as for example teleporting between tenebere and the docks, the docks show for about .6 of a second instead of the other side!
[09:40:59] <Cashman> hmm mordeas mirror disappears when I click on it! umm and the giliteen at the docks disappears after loading docks map from teleport
[09:41:31] <Cashman> I surpose you know all this but I'll observe stuff to help out anyways
[09:42:14] <Cashman> "docks teleport" I mean comming back from tenebrea and possibly due to lots of saving and loading
[09:44:27] --> wjp has joined #pentagram
[09:44:27] --- ChanServ gives channel operator status to wjp
[09:47:40] <Cashman> hehe waking up mordea screws up looks weird
[09:48:05] <Cashman> is that part of the upper level
[09:48:16] <wjp> hm?
[09:49:14] <Cashman> oh IIRC darke mentioned the waking up mordea thing!!
[09:49:57] <Cashman> it appears to be somthing hidden from normal view - ?hmm I dont get it but there appears to be a red gem next the the stump where there normally is a fireshroom
[09:52:00] <Cashman> hey willem there is a gem hidden under the grass next to that stump
[09:52:08] <Cashman> :-)
[09:52:11] <Cashman> lol
[09:53:36] <Cashman> fire gem
[10:03:53] <wjp> what's a "giliteen"? :-)
[10:05:03] <wjp> hm, mirror doesn't seem to disappear when I click it
[10:11:24] <Cashman> wait
[10:13:02] <Cashman> guillotine
[10:13:20] <Cashman> typo! I cant spell that hehe
[10:13:29] <Cashman> you know what a guillotine is?
[10:13:35] <wjp> of course :-)
[10:13:44] <wjp> but there isn't one on the docks
[10:13:46] <Cashman> sorry for the typo
[10:14:05] <Cashman> oh yeah hmm what was that called then?
[10:14:29] <wjp> no idea
[10:14:33] <Cashman> seeing as though someone used an axe
[10:14:33] <Cashman> ok
[10:14:52] <Cashman> well the old days were full of creepy deaths!
[10:15:06] <Cashman> can't really be much different now with nuclear etc. I surpose
[10:15:44] <wjp> hm, yes, waking-up-Mordea is a bit wrong :-)
[10:15:52] <DarkeZzz> I believe the term is 'chopping block'.
[10:16:07] <wjp> sounds about right :-)
[10:16:13] <DarkeZzz> (Yes, seriously. *grin*)
[10:16:14] <Cashman> oh yeah
[10:16:29] <Cashman> even for killing people hehe!
[10:17:21] <Cashman> hmm I use a chopping block to cut wood - I just though that maybe the medievil times might have used another name for that purpose
[10:17:43] <Cashman> did you notice and talk about that fire gem darkeZzz?
[10:18:33] <DarkeZzz> Not that I remember.
[10:30:10] <DarkeZzz> Hmm... was anything particularly important done to filesys/ListFiles.h? I can't see anything obvious in the changes save a few line breaks on the comments, and it failed to merge... erm... elegantly, shall we say, *grin* and I don't see any mention of the changes in ChangeLog.
[10:31:06] <wjp> hm, I didn't change it
[10:31:27] <wjp> or maybe I did
[10:32:03] <wjp> ah, right
[10:32:12] <wjp> fixed a signed/unsigned warning, and trimmed some comments to 80 cols
[10:32:35] <wjp> and it seems I also moved some #if 0's around a bit
[10:32:54] <DarkeZzz> Cool. Merge was confused since I'd cut most of that func out, and put it into another one to support recursive find. *grin*
[10:43:30] <DarkeZzz> Hmm... if you drop an object, on a guard, and the guard moves away, the object doesn't fall from the position it was.
[10:44:08] <wjp> "glides" away?
[10:44:13] <wjp> if so, pretty much expected
[10:44:21] <DarkeZzz> Yup. *grin*
[11:21:01] --> Fingolfin has joined #pentagram
[11:21:01] --- ChanServ gives channel operator status to Fingolfin
[11:22:35] --> Colourless has joined #Pentagram
[11:22:35] --- ChanServ gives channel operator status to Colourless
[11:23:02] <Colourless> hi
[11:23:11] <DarkeZzz> 'ello.
[11:25:18] <wjp> hi
[11:31:25] <Fingolfin> yo
[11:36:43] <wjp> Colourless: memory usage is about 18Mb higher with timidity here, btw
[11:37:54] <Colourless> :-)
[11:39:46] <wjp> btw, you might want to take a look at timidity's open_file
[11:40:13] <wjp> it's using "name[0] != PATH_SEP" to determine if a file isn't an absolute path
[11:40:22] <wjp> which is correct in linux, but not in windows, I guess
[11:40:42] <Colourless> yeah i know it's got some 'issues' with windows paths
[11:40:55] <Colourless> it doesn't think that / is a valid path separator in windows, when it is
[11:53:46] <Colourless> mine waits most of it's time doing
[11:53:48] <Colourless> objectmanager->load(ds);
[11:53:56] <Colourless> midi stopping takes 4 ms
[12:08:32] <-- Cashman has left IRC ()
[12:14:40] --> SB-X has joined #pentagram
[12:25:55] <-- Fingolfin has left IRC ("brb")
[12:40:13] --> Fingolfin has joined #pentagram
[12:40:13] --- ChanServ gives channel operator status to Fingolfin
[13:43:31] --> Dark-Star has joined #pentagram
[13:50:01] <Fingolfin> wjp: well O(N^2) still is better than O(N^3) :-)
[13:50:56] <wjp> ;-)
[13:51:12] <wjp> I forgot that a function of idMan was O(N)...
[13:51:19] <wjp> and I called that on every single object :-)
[13:51:30] <Colourless> which is odd since wjp wrote that function :-)
[13:51:48] * wjp whistles innocently
[13:53:04] <DarkeZzz> This is, of course, why we're doing all this doxygen stuff, so we can blame *that* rather then the fact we're just forgetful. *wizenod*
[13:54:48] <Fingolfin> =)
[13:55:03] <wjp> ok, cut half a Mb off the savegame size by not saving all Item fields when the item has no objid
[13:55:40] <wjp> (doesn't particularly reduce the zipped save, but still :-) )
[13:57:51] <Fingolfin> hm what has to be done to get objects to fall into the "correct" spot if you pick them up and drag 'em around (i.e. I pick up basket; move it a pixel; release it -> basket should move one pixel, but instead falls to the bottom of the screen)
[13:59:16] <Colourless> :-)
[13:59:39] <wjp> someone has to write item placement code :-)
[13:59:41] <Colourless> strictly speaking it doesn't fall to the bottom of the screen
[13:59:58] <Colourless> it gets placed into the middle of the air and then falls down due to gravity
[14:00:17] <Fingolfin> Colourless: yeah that's how it looks
[14:00:52] <Colourless> i'm guessing something that looks sort of like item placing could be hacked in with collide move
[14:02:33] <Fingolfin> would be nice if one could e.g. place objects on the avatar (to put them into his inventory). or just re-arrange them...
[14:02:51] <wjp> I have inventory code here locally
[14:02:53] <wjp> just not committed
[14:03:00] <Fingolfin> I guess one would have to check what is under the mouse when the button is released, and then from that determine the proper "z" value
[14:03:23] <Fingolfin> of course handling cases like e.g. if one tries to drop something on a spot which is higher than the avatar
[14:03:33] <Fingolfin> which shouldn't be possible (or result in a throw maybe)
[14:07:09] * DarkeZzz crawls off to sleep. Night!
[14:10:02] <Fingolfin> night Darke
[14:10:06] <Fingolfin> ah I see, GameMapGump::DropItem etc.
[14:12:52] <Dark-Star> hey, sf's anoncvs seems to be up again... or maybe they're just backing up more often ;-)
[14:14:10] <Fingolfin> hu? when was it down?
[14:14:56] <Dark-Star> not exactly 'down', but some 48 hours or more behind
[14:15:08] <Dark-Star> but now it seems rather current again
[14:15:19] <wjp> that probably means that they recently made a backup
[14:16:31] <Dark-Star> well, I've been able to get updates now for about 3 days in a row now
[14:19:20] <Fingolfin> ah you talk about the anon CVS
[14:24:47] <Fingolfin> uhm in the execution scene, music comes to a stuttering stop over here; is silent for some time; then it "stutters up" again and resumes normally
[14:25:03] <Fingolfin> I guess some midi effect is using values which CoreAudio / CoreMidi considers out of bounds ?!
[14:25:20] <Fingolfin> now music "zoomed out" and away again (silence
[14:26:17] <wjp> maybe the regular engine is taking up too much cpu?
[14:26:42] <Fingolfin> quite possible
[14:27:18] <Fingolfin> BTW how do I teleport to another map (specifically, Tenebrae) again?
[14:27:25] <wjp> walk there? :-)
[14:27:44] <Colourless> you can pretty much walk to any map in the game if you know where to go
[14:28:05] <Fingolfin> yeah OK but teleporting is ... faster :-)
[14:28:09] <wjp> the music that plays during the execution with timidity sounds a bit weird
[14:28:28] <Colourless> there are 3 bits that play :-)
[14:28:35] <Colourless> which bit your you talking about?
[14:28:41] <Colourless> more specfically 'when'
[14:28:46] <wjp> right at the start
[14:29:36] <wjp> btw, can I shorten the 'descriptions' of the midi drivers a bit?
[14:29:43] <wjp> FMOplMidiDriver is a bit long to put in the config file :-)
[14:29:48] <Colourless> yeah you can if you want
[14:30:39] <Colourless> ok then. what about it sound strange. it's got some low quiet strings in the backgound. piano striking chords, choir ahhs, and high twinking tubular bells
[14:31:23] * Fingolfin thinks that for 3 bits, the music sounds pretty good. advanced compression algorithm? :-)
[14:31:36] <Colourless> oh ha ha
[14:31:42] <wjp> that sounds like what's playing, yes
[14:32:26] <wjp> but the ahhhs and chords seem to be in bursts
[14:32:34] <wjp> not really continuous
[14:32:55] <Fingolfin> oops, CoreAudioMidiDriver still has an empty yield() implementation, maybe that's causing my problem :-)
[14:33:43] <Colourless> it also has an empty increaseThreadPriority too. you shouldn't implement one without the other
[14:34:24] <Colourless> you start yielding without a high thread priority and you can be sure that pentagram's engine is going to steal all your cpu cycles from the midi player
[14:35:11] <wjp> pentagram isn't really greedy here
[14:35:20] <wjp> only takes 66% cpu usage in total
[14:35:47] <wjp> (when busy)
[14:35:51] <Fingolfin> Colourless: in that case, why does LowLevelMidiDriver provide a non-empty yield, but an empty increaseThreadPriority() ? by what you say, it seems both should be empty by default
[14:35:52] <Colourless> wjp: what exactly do you mean by 'bursts' is it just playing them for a short about of time?
[14:36:08] <wjp> not sure... my music-related vocabulary is a bit limited
[14:36:48] * Fingolfin doesn't see a way to increase the thread priority though. SDL doesn't offer a method for it. Hrm. Maybe I can get the current pthread and hack with that
[14:37:20] <wjp> Fingolfin: look at SDL_GetThreadID for that
[14:37:37] <wjp> (or SDL_ThreadID for the current thread)
[14:37:38] <Colourless> Fingolfin: no sdl doesn't that is why used win32 code in the windows driver
[14:37:45] <Fingolfin> yeah I know that one, but I have no clue how / if I can change pthread priorites here
[14:38:29] <Fingolfin> I think I can only modify the scheduling policy or so
[14:39:03] <wjp> I think it's mainly that changing the chord sounds 'burst'y
[14:39:38] <wjp> Fingolfin: do you have a pthread_attr_setschedparam ?
[14:40:19] <Fingolfin> in theory I have pthread_attr_setschedparam, pthread_attr_setschedpolicy, but in practice I don't know if they are implemented by the OS :-)
[14:40:28] <Colourless> anyway the reason that sdl delay is called by LowLevelMidiDriver::yield() is so it will wait a small amount of time. SDL Delay doesn't guarantee that it will actually yield
[14:40:30] <Fingolfin> (besides NOP)
[14:43:09] <Fingolfin> hm I see, there is a sched_yield() method I could use, and I do hope that pthread_attr_setschedparam works
[14:43:19] <Fingolfin> Colourless: so besides yielding, should I also add a wait? or is the yield sufficient?
[14:43:56] <Colourless> adding a short wait wouldn't be a bad thing
[14:43:57] <Colourless> just don't make it too long
[14:44:11] <Colourless> i.e. no longer than about 1/240th of a second
[14:44:42] <wjp> hm, isn't the scheduler granularity usually larger than that?
[14:45:17] <Dark-Star> just FYI, fmopl.cpp doesn't compile with MSVC because it doesn't know which pow() function to use (line 615). Changing it to "... std::pow(10.0,EG_STEP*t/20.0)" makes it work.
[14:45:29] <Colourless> sure it compiles :-)
[14:45:35] <Colourless> just don't compile FOR YOU :-)
[14:45:44] <Colourless> s/don't/doesn't/
[14:45:49] <Dark-Star> Colourless: ok, if you like to put it that way :)
[14:46:05] <wjp> bah... I'm tired of optimizing Item saving
[14:46:16] <Dark-Star> Colourless: which MSVC version do you use?
[14:46:18] <Colourless> wjp: it might... i guess it depends on os and arch
[14:46:20] <Colourless> 7
[14:46:43] * Dark-Star uses 2003 so it seems to have have changed there
[14:47:41] <Colourless> hmm
[14:47:59] * Colourless notes that fmopl has std::pow
[14:48:26] <Colourless> rate = ((1<<TL_BITS)-1)/std::pow(10,EG_STEP*t/20); /* dB -> voltage */
[14:48:45] <Colourless> i don't think your code is 'current' :-)
[14:51:23] <Dark-Star> yep that's exactly what I've got here, I just didn't copy the whole line
[14:51:49] <wjp> std:: is indeed in current CVS
[14:52:13] <Dark-Star> I only added the ".0" bits :)
[14:52:15] <Colourless> is your fmopl in the Pentagram namespace?
[14:52:24] <wjp> ah
[14:53:21] <Dark-Star> don't remember the exact error it gave, but it was something about 7 overloads of pow and that it couldn't find the correct one
[14:53:41] <Colourless> are you compiling pentagram or pentagram new?
[14:54:02] <wjp> we have a new pentagram?
[14:54:12] <Colourless> s/new/old/
[14:54:14] <Colourless> :-)
[14:55:05] <Dark-Star> I'm not compiling the one in the "old" repository if you mean that....
[14:57:13] <Colourless> Fingolfin: is your midi problem being the snare drum stuttering while shaana gets ready to chop the guys head off?
[14:58:13] <Fingolfin> it occurs way before that; and the whole music actually stops (it "stutters out")or at least is not audible anymore; then after some time, it "stutters in" again. It affects everything
[14:58:42] <Colourless> strange
[14:58:52] <Colourless> could be a polyphony thing
[14:59:19] <Fingolfin> wjp: so... uhm... now I figured out hwo I can set the thread priority before I create the thread. Sadly I have no idea how to change it afterwards =) guess I'll have to wade through the mach thread low level API to figure that out
[15:00:48] <Fingolfin> oh wait, i see
[15:01:08] <Fingolfin> I can probably use pthread_setschedparam for that =)
[15:02:17] <Colourless> if you want them here are the 3 tracks played during the execution scene as mids http://www.users.on.net/triforce/exmid.zip (all of 10 k)
[15:03:09] <wjp> hmm. No instrument mapped to drum set 48, program 38
[15:04:13] <Colourless> hmmm
[15:04:25] <Colourless> drumset 48 hey....
[15:04:40] <wjp> interestingly it sounds quite different than from within pentagram
[15:05:48] * Colourless thinks for a moment
[15:05:52] <Fingolfin> and of course now that I figured out how to do it, I find example code at http://www.cs.cf.ac.uk/Dave/C/node29.html :-)
[15:06:46] <Colourless> wjp: the midi files incorrectly attempt to change the drumbank. pentagram ignores those events
[15:07:27] <Colourless> drumset program 38 is the snare drum btw
[15:08:59] <wjp> the high bells seem to have a higher volume in pentagram
[15:10:11] <Colourless> samplerate might make a difference for those pentagram plays at 22hkz
[15:10:28] <Colourless> i'm guessing your dedicated player plays at 44
[15:10:36] <wjp> probably
[15:11:02] <Colourless> also, there might be some difference with the options timidity was compiled with
[15:11:03] <wjp> is there some kind of horn about 30-40 seconds into the first midi?
[15:11:26] <wjp> its notes sound cut short in pentagram
[15:12:14] <wjp> hm, or maybe not
[15:12:25] <Colourless> that's a bottle blow :-)
[15:12:27] <wjp> ugh... hard to compare to tracks :-)
[15:12:31] <wjp> s/to/two/
[15:12:31] <Colourless> with pitch bending
[15:14:09] <Colourless> ok, in pentagram it doesn't sound 'quite' right
[15:14:12] <Colourless> i think
[15:16:29] <Colourless> then again. it's hard for me to tell
[15:16:48] <Colourless> my timidity patches in no way compare to my soundfonts for my sb live
[15:18:54] <wjp> right, savegames are (again) invalidated :-)
[15:19:11] <Colourless> try setting adjust_panning_immediately in timidity_play_midi.c to 1
[15:19:23] <Colourless> you may/may not notice any difference
[15:21:51] <wjp> hard to tell
[15:22:03] <wjp> they do sound somewhat more similar now, I think
[15:22:57] <wjp> but I could just be fooling myself... hard to be objective :-)
[15:24:27] <Colourless> in timidity.h
[15:24:36] <Colourless> commend out #define FAST_DECAY
[15:29:08] <wjp> hm, not sure if I could hear a difference
[15:32:55] <Fingolfin> BTW I have a simple hack that makes object dropping somewhat better (I can even put a basket on the Avatar's head; when he moves away, it doesn't fall, though)
[15:33:26] <Fingolfin> problem is that it's not working in multi level areas... i guess I'd need to take into account some kind of z-clip value, but have no idea where to look for that
[15:33:35] <Fingolfin> i.e. the maximum currently displayed z coordinate
[15:33:46] <Colourless> camera
[15:33:52] <wjp> CameraProcess::getsomethingorother
[15:33:56] <Fingolfin> ah logical =)
[15:34:17] <wjp> Colourless: oh, btw, Cashman mentioned that the roof popping is acting up when getting lightning-ed by Mordea
[15:34:23] <wjp> (when waking her up)
[15:34:29] <Colourless> yes i've noticed
[15:34:36] <wjp> Camera appears to be set in the floor
[15:34:53] <Colourless> camera is in her bed i think
[15:34:57] <Colourless> so it should be skipping it
[15:35:09] <Colourless> but i think the camera is set to her
[15:35:16] <Colourless> so, it doesn't skip the bed when checking
[15:35:43] <wjp> shouldn't it only check SI_ROOF items?
[15:35:49] <-- Kirben has left IRC (Read error: 54 (Connection reset by peer))
[15:35:51] <Fingolfin> Colourless: btw the "stutter out" still happens with my priority etc. changes. in 53-00.mid, it's about 00:05 when it starts the first time to do that
[15:35:55] <Colourless> hmm, it does
[15:36:41] <Colourless> (that it does was reply to wjp)
[15:36:57] <Colourless> fingolfin: that is when the twinkling bells are supposed to start
[15:37:11] <Fingolfin> yup I noticed
[15:37:13] * Dark-Star just tried Timidity MIDI and didn't like it very much...
[15:37:25] <Colourless> lots of really short notes being played, lots of volume changes
[15:38:52] <Colourless> my guess polyphony issue.
[15:39:34] <Colourless> the release times of the tubular bells is probably too long, so too many notes are getting played at a time
[15:40:48] <Colourless> i was actually getting issues at the same spot depending on which soundfont i was using.
[15:40:50] <Fingolfin> hm I guess I could do it like GameMapGump::PaintThis to determine the zlimit imposed by the roof
[15:41:27] <Fingolfin> Colourless: OK. though the file plays back just fine in Quicktime Player, which is using the same MIDI engine in the end
[15:41:46] <Colourless> fingolfin: CameraProcess *camera = CameraProcess::GetCameraProcess();
[15:41:50] <Colourless> roofid = camera->FindRoof(lerp_factor);
[15:41:53] <Colourless> Item* roof = world->getItem(roofid);
[15:41:56] <Colourless> zlimit = roof->getZ();
[15:42:08] <Fingolfin> Colourless: err, yes. that is the code I just said I can use :-)
[15:42:30] <Colourless> that 'is' the only way to do it :-)
[15:42:57] <wjp> don't forget to check for NULL pointers
[15:43:40] <-- SB-X has left IRC (Remote closed the connection)
[15:44:27] <Fingolfin> yeah yeah. I am not sure I want to commit this hack anyway. it seems to work so far, but it's not really efficient... but well, it's just a Q&D hack=)
[15:45:26] <wjp> ok, shaved another 330Kb from the savegame size
[15:45:46] <wjp> (which translates to 26Kb in the zipped version... yay :-) )
[16:07:12] <wjp> hmm... I might be able to reduce the zipped one another 100Kb (to about 360Kb)
[16:07:18] <wjp> but it won't be pretty :-)
[16:08:17] <wjp> (this is in west t., btw. At the docks it would be about 330Kb)
[16:17:33] <Colourless> fingolfin, just curious. line 41 of XMidiSequence.cpp set the default speed to 50. then play the execution scene and tell me if it still does it
[16:25:33] <Colourless> no wait, don't bother
[16:25:57] <Colourless> things aren't going to play properly since notes will got off too early
[17:05:49] <wjp> ok... 360Kb zipped in west T., 335Kb zipped at docks... *sigh*
[17:06:02] <wjp> smaller than the original, so I'm happy :-)
[17:06:23] <wjp> bbl, dinner
[17:24:56] <-- Fingolfin has left IRC ("42")
[17:44:38] <wjp> back
[17:44:43] <Colourless> wb
[17:52:09] <wjp> ok, committed that
[17:52:32] <wjp> I also removed the "loading nonfixed items from ..." messages, btw. Speeds up pentagram startup a lot :-)
[17:52:39] <Colourless> :-)
[17:58:15] <wjp> hmmm... the function that's supposed to add your drink to your inventory doesn't really do what I'd expect
[17:58:21] <wjp> (FREE::1EE2)
[17:59:13] <wjp> or maybe I'm just reading it the wrong way
[18:00:27] <wjp> for adding an item to the avatar, it does:
[18:00:40] <wjp> [BP-06] = avatar->getEquip(6)
[18:00:51] <Colourless> which is the backpack
[18:00:59] <wjp> (some check if this is valid; if not, jump somewhere)
[18:01:15] <wjp> create item
[18:01:16] <Colourless> if it's not valid it creates a new one
[18:01:52] <wjp> next, [BP-06]->create
[18:02:09] <wjp> oh, wait, nvm.. this is creating the backpack :-)
[18:02:14] <wjp> as I said, I'm reading it the wrong way :-)
[18:02:14] <Colourless> :-)
[18:02:37] <wjp> ...anyway... [BP-06] contains the old or new backpack
[18:02:52] <wjp> which is then popped into this
[18:03:09] <Colourless> no this
[18:03:21] <wjp> um, right
[18:03:22] <Colourless> not a process
[18:03:26] <wjp> [BP+06] :-)
[18:03:45] <Colourless> which is the container to put the item into
[18:03:51] <wjp> yes
[18:04:15] <wjp> it then calls legalCreateInCont
[18:04:22] <wjp> which seems to make sense
[18:04:37] <wjp> and if that fails, return 0
[18:04:55] <wjp> if it does not fail, return 1
[18:05:07] <wjp> so far so good
[18:05:14] <wjp> so why isn't this working?! :-)
[18:05:18] <Colourless> then it makes a list
[18:05:34] <Colourless> if the item couldn't be created, it puts it in the list
[18:05:44] <Colourless> the list is iterated, destroying everything in the list
[18:05:57] <Colourless> which... just seems a little foolish to do it *that* way
[18:08:07] <wjp> copy pasted code? :-)
[18:08:10] <Colourless> no wait, i'm looking at the wrong bit
[18:09:09] <Colourless> that's part of the combining code
[18:09:19] * wjp sighs and enables usecode tracing of class FREE
[18:09:28] <wjp> this is going to be interesting :-)
[18:09:37] <Colourless> :-)
[18:09:47] <wjp> I think I'll save right before giving him the money
[18:10:03] <Colourless> omg a use for the save game system
[18:10:37] <wjp> ok.. that was pretty pointless... can't see anything with this amount of code scrolling by
[18:10:45] * wjp adds an exit(1) to the failure case in the intrinsic
[18:12:06] <wjp> um
[18:12:11] <wjp> ARG_UINT16(container_id);
[18:12:11] <wjp> ARG_CONTAINER_FROM_ID(container);
[18:12:12] <wjp> ?
[18:12:28] <Colourless> hmm, no that;s not right
[18:12:51] <wjp> works now :-)
[18:14:58] <wjp> hmm... if I'm reading this FREE::1EE2 right, this legal_create is supposed to create the item anyway if it can't add it to the container?
[18:15:09] <wjp> (why would it delete it afterwards otherwise?)
[18:16:25] <Colourless> it does combining of items so the function isn;t as obvious as it seems
[18:17:44] <wjp> maybe I should set the 'this' pointer passed to it to 0
[18:18:09] <Colourless> might be a good idea
[18:19:22] <Colourless> maybe now we can get the silly recall item :-)
[18:19:31] <wjp> :-)
[18:19:40] <wjp> I'm thinking of adding that to the starting package :-)
[18:20:03] <Colourless> then i think we should set all the destination flags
[18:20:08] <wjp> that too :-)
[18:20:31] <wjp> hm, I just got drunk, it seems :-)
[18:20:38] <Colourless> yes :-)
[18:20:42] <Colourless> and it's really annoying
[18:20:49] <wjp> yes :-)
[18:20:57] <wjp> how about a "sober up" cheat? :-)
[18:21:14] <Colourless> :-)
[18:22:21] <wjp> um, uh oh
[18:22:31] <Colourless> Assertion failed: globals->getBits(ui16a, ui16b) == ui32a, file \Pentagram\usecode\UCMachine.cpp, li
[18:22:34] <Colourless> ne 1098
[18:22:34] <wjp> yes :-)
[18:22:40] <wjp> I just got that too :-)
[18:22:54] <Colourless> but what does it mean :-)
[18:23:02] <wjp> that my BitSet is broken :-)
[18:23:22] <Colourless> you had to attempt to be fancy :-)
[18:23:42] <wjp> hey, we were wasting at _least_ 1Kb ;-)
[18:24:29] <Colourless> it should actually be pretty simple to manage
[18:24:48] <Colourless> and it looks like you've got a bit more complexity than maybe required...
[18:25:47] <wjp> setBits(297,1,2)...
[18:25:57] <wjp> how is it planning to fit 2 in 1 bit?
[18:26:12] <Colourless> well, it's not
[18:26:49] <Colourless> so, are savegames broken again?
[18:27:10] <wjp> by that last commit?
[18:27:22] <wjp> I don't think so...
[18:27:24] <Colourless> by this bit set problem :-)
[18:27:31] <wjp> oh, probably not
[18:28:00] <wjp> we were pretty certain it had to be a bitset, right?
[18:28:24] <Colourless> it looked like it
[18:28:39] <Colourless> but they allocate it like one
[18:28:40] <wjp> 5B39: 0A push byte 02h
[18:28:40] <wjp> 5B3B: 4F pop global [0129 01] (paganLore)
[18:28:47] <Colourless> s/they/they didn't/
[18:29:16] <Colourless> they had 1 byte per 'bit' for what ever odd reason
[18:29:56] <wjp> so all the bytes in globals were either 0 or 1?
[18:30:31] <wjp> hm, no
[18:31:35] <Colourless> it does look like they used bits though
[18:31:38] <wjp> yes...
[18:31:45] <wjp> only the first 0x40 bytes or so are used
[18:32:11] <wjp> so that leaves the question of what to do with putting 2 in a bit :-)
[18:32:40] <Colourless> put in 1
[18:33:43] <wjp> not 0?
[18:33:59] <Colourless> i don't know :-)
[18:37:16] <wjp> let's see... 1 is popped into it when you first ask Mythran about Pagan
[18:37:26] <Colourless> hmm, if 129 is set to 0 or 1 you can ask about Pagan
[18:37:31] <Colourless> if it's set to 2 you can't
[18:37:50] <Colourless> i think...
[18:37:58] <Colourless> i think it's just broken
[18:38:03] <wjp> isn't it just that he says "Have we not already discussed this subject enough?"
[18:38:06] <wjp> ?
[18:38:20] <Colourless> yeah that's when it's set to 1
[18:38:23] <wjp> oh, right
[18:39:16] <wjp> hm.. "Tell me about Pagan" is added when it's <= 2?
[18:39:42] <Colourless> yeah
[18:39:54] <Colourless> but it only asks for 1 but
[18:39:57] <Colourless> s/but/bit/
[18:40:12] <wjp> even if it was larger, only 1 and 2 are ever popped to it
[18:40:33] <Colourless> 2 does 'do' anything it seems
[18:41:21] <wjp> doesn't?
[18:41:23] <Colourless> i'm still saying, push 1 in that case
[18:41:35] <Colourless> yeah doesn't
[18:41:38] <wjp> probably...
[18:42:01] <wjp> so if value is larger than allowed value, set it to max?
[18:44:47] <wjp> hmmm
[18:45:04] <wjp> he doesn't seem to remember that I already visited him
[18:45:27] <wjp> giving the recall item and potion works now, btw
[18:55:49] <wjp> no... Mythran remembers, but the Avatar doesn't :-)
[19:11:40] <wjp> fixed and committed
[19:12:48] <wjp> I wonder if the CONTAINED and EQUIPPED flags are mutually exclusive
[19:13:15] --> Fingolfin has joined #pentagram
[19:13:15] --- ChanServ gives channel operator status to Fingolfin
[19:13:23] <wjp> wb
[19:14:45] <Fingolfin> thx
[19:22:52] <wjp> hmm... was 'b' backpack and 'i' paperdoll?
[19:22:58] <wjp> (key shortcuts)
[19:23:00] <Colourless> yes
[19:23:07] <Colourless> r was recakk
[19:23:14] <Colourless> s/kk/ll
[19:23:21] <wjp> heh, didn't remember that one
[19:23:33] <Colourless> was in the patch
[19:28:23] <Fingolfin> yeah
[19:28:31] <wjp> ok, I guess I'll commit this stuff so you can access the recall item too :-)
[19:29:12] <Fingolfin> BTW, did I ever mention that when I first played U8, I had no idea what they keyring was good for, and that I was cursing at having to carry around dozens of keys, and trying them out all whenever I encountered a new lock? *cough*
[19:29:23] <Fingolfin> s/they keyring/the keyring/
[19:29:41] <wjp> I used to only put 3 or 4 keys on a keyring because I thought other keys weren't being added ;-)
[19:29:48] <wjp> (the frame didn't change after that)
[19:30:03] <Fingolfin> IIRC I thought the keyring was some kind of special key... double click it, target cursor appears... click on a door, and guess what, the door didn't open (with my empty keyring). I thought it was a pretty useless key :-)
[19:30:09] <Fingolfin> wjp: yeah =)
[19:33:18] <wjp> ok, committed
[19:34:26] <wjp> b, i and r should work
[19:34:37] <wjp> you get a backpack and 500 obsidian at the start
[19:35:00] <wjp> (although the obsidian is rather hard to spot in the backpack...)
[19:35:08] <Colourless> :-)
[19:35:12] <Colourless> i'm guessing 1
[19:35:29] * wjp oopses and commits again
[19:36:09] <wjp> I check if it found a recall item, and then use it regardless
[19:36:09] <Colourless> and after you spend some, it would probably become more
[19:36:38] <wjp> it would?
[19:36:48] <Colourless> i don't know
[19:37:06] <Colourless> i'm just talking cra
[19:37:08] <Colourless> p
[19:38:36] <wjp> interesting idea, though ;-)
[19:39:12] <wjp> if (shape == 143 && newqual < qual) qual += (qual - newqual)? :-)
[19:40:07] <Fingolfin> you should be careful to avoid overflow, though 8-)
[19:40:30] <wjp> yeah, otherwise you'd go broke if you spend too much money...
[19:40:31] <wjp> ;-)
[19:41:04] <Colourless> :-)
[19:49:07] <wjp> you couldn't drop items into containers on the main map, right?
[19:49:19] <Colourless> no i don't think so
[19:49:27] <wjp> and in container gumps?
[19:49:35] <Colourless> you could
[19:49:46] <wjp> and things would combine too, IIRC
[19:49:52] <Colourless> yes
[19:52:31] <Colourless> i crashed pentagram :-)
[19:52:41] <wjp> bad bad Colourless :-)
[19:52:41] <Colourless> Assertion failed: av, file \Pentagram\world\EggHatcherProcess.cpp, line 59
[19:52:59] <wjp> um
[19:53:03] <wjp> painful
[19:53:26] <wjp> that _really_ shouldn't be happening
[19:53:43] <Colourless> how i did it: might require all or some of these
[19:53:51] <Colourless> first i grabbed the skull of quakes
[19:54:22] <Colourless> then i tried to use it on the hole
[19:54:30] <Colourless> it sort of didn't work :-)
[19:54:51] <wjp> skull of quakes... hmmm
[19:54:52] <Colourless> then i decided to 'fly' through the map to where the upper catacombs platform actually is
[19:54:55] <wjp> Zealan shrine
[19:55:13] <wjp> ok, great, I drownder
[19:55:16] <wjp> drowned, even
[19:55:32] <Colourless> so i 'saw' the teleporter
[19:55:37] <Colourless> then i teleported to platea
[19:55:42] <Colourless> then tenebrae
[19:55:48] <Colourless> then upper catacombs
[19:56:05] <Colourless> then i left the upper catacombs platform room, and it crashes
[19:56:59] <wjp> ok, got the skull
[19:58:26] <wjp> can you even put it in the hole?
[19:58:32] <Colourless> double click it
[19:58:45] <wjp> ah
[19:59:02] <wjp> that didn't particularly do anything, no
[19:59:14] <wjp> (other than some fading, shaking and falling)
[19:59:37] <wjp> where's the platform?
[19:59:52] <wjp> oh, found it
[20:01:41] <Colourless> heh
[20:01:42] <Colourless> funny
[20:02:01] <Colourless> i left the map and reentered it and the hole in the ground appeared
[20:03:48] <wjp> hm, indeed
[20:04:43] <wjp> but the hole isn't behaving :-)
[20:05:19] <Colourless> so i noticed too
[20:05:28] <Colourless> looks like an egg is missing
[20:05:36] <wjp> ok, I get the crash too
[20:07:39] <wjp> reproducably, too
[20:10:00] <wjp> ah...
[20:10:02] <Colourless> i think i'll be off now
[20:10:08] <wjp> there's a GLOBSWAP running near-permanently
[20:10:13] <wjp> k
[20:10:14] <wjp> night
[20:10:28] <Colourless> cya
[20:10:38] <Colourless> GLOBSWAP, i didn't know that was a class :-)
[20:10:40] <-- Colourless has left IRC ("casts invisibility")
[21:01:46] <-- wjp has left IRC ("Zzzz...")
[22:00:44] <-- Dark-Star has left IRC ()
[22:08:05] --> Dark-Star has joined #pentagram
[23:26:09] <-- Dark-Star has left IRC ()