#exult@irc.freenode.net logs for 29 Jul 2002 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[00:14:50] --> SB-X has joined #exult
[00:25:12] --- SB-X is now known as sbxult
[04:20:46] --> Kirben has joined #exult
[04:20:46] --- ChanServ gives channel operator status to Kirben
[04:24:17] <sbxult> hi Kirben
[04:24:23] <Kirben> Hi
[05:55:27] <-- sbxult has left IRC ("storms")
[07:04:35] --> DrCode has joined #Exult
[07:04:54] <DrCode> Hmm. Quiet.
[07:07:43] <DrCode> ?
[07:08:58] <Kirben> Yes, everyone seems to be away right now.
[07:09:20] <DrCode> This is my first time trying IRC from home.
[07:09:27] <DrCode> How are things with you?
[07:10:21] <Kirben> ok, nothing interesting happening.
[07:10:44] <DrCode> Guess that's good.
[07:19:56] <-- DrCode has left IRC ("Leaving")
[07:48:35] --- Darke|afk is now known as Darke
[07:57:03] --> Kirben2 has joined #exult
[07:59:44] <-- Kirben has left IRC (calvino.openprojects.net irc.openprojects.net)
[08:12:40] --> SB-X has joined #exult
[08:12:48] <SB-X> hello
[08:13:03] <Darke> Hi.
[08:42:56] <SB-X> !
[08:42:57] <SB-X> oh man
[08:43:00] * SB-X reads the log.
[08:43:35] <SB-X> jsf is always here when I am not
[08:43:50] <SB-X> even if i leave for just 3 hours
[08:44:22] <SB-X> just >2 hours really
[08:46:40] * Darke snickers.
[08:50:06] * SB-X ponders if DrCode is avoiding him or not.SB-X decides he probably isn't important enough here for anyone to want to avoid him. :-)
[08:50:45] <SB-X> actually... if someone read the logs they might want to avoid me...
[08:50:50] * SB-X shrugs.
[08:52:09] * Darke quickly ducks behind the couch. He's not trying to avoid SB-X, No!
[08:58:30] <SB-X> hmm
[08:58:40] <SB-X> Darke forgot about the big neon 'Darke' sign behind the couch.
[08:58:42] * SB-X tsks.
[09:48:46] --> wjp has joined #exult
[09:48:46] --- ChanServ gives channel operator status to wjp
[09:48:48] <wjp> hi
[09:49:06] <Darke> Greetings.
[09:49:29] --- wjp is now known as wjp|work
[09:56:10] <SB-X> lo
[10:29:18] <-- SB-X has left IRC ("sleep")
[10:34:10] --- Kirben2 is now known as Kirben
[11:08:34] --> Dominus has joined #exult
[11:08:46] --- ChanServ gives channel operator status to Dominus
[11:08:50] <Dominus> hi
[11:09:26] * Dominus hides his aol ip address
[11:10:28] <Dominus> could someone explain to me the thing about the hash and the training problem it caused?
[11:14:02] * Darke pokes Dominus's aol address into the open. Hi! *grin*
[11:14:50] <Darke> It's _my_ couch to hide behind, not some silly 'aol.com' thingy. *grin*
[11:16:03] <wjp|work> hi
[11:16:17] <wjp|work> the problem was with the pathfinder that wasn't using the hash
[11:16:39] <wjp|work> when comparing two locations, it didn't compare the z coordinate
[11:20:30] <Dominus> so is it better to compile with the have_hash_something option or doesn't it matter or what?
[11:20:49] <wjp|work> it shouldn't matter anymore now that Colourless fixed it
[11:20:59] <Dominus> k
[11:22:40] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[11:23:22] <Dominus> wjp|work: how did you like the look at the underworld with uwadv? I can't wait for it to be playable.
[11:23:29] <wjp|work> looks very good :-)
[11:23:40] <wjp|work> I hope he implements a larger game window, though :-)
[11:23:49] <wjp|work> it was even smaller than what I remembered :-)
[11:23:58] <Dominus> AFAIK he wants to make two interfaces
[11:24:54] <Dominus> the old one (which is kind of correct I think) and a 3D-shooter like (or U9 like) interface
[11:25:12] <wjp|work> U9 like? 3rd person?
[11:25:23] <Dominus> nah, not like u9
[11:25:49] <wjp|work> oh, ok, just a full-window (or nearly full-window) view area
[11:25:58] <Dominus> yeah
[11:26:32] <Dominus> but for now he's going to make it like the original and then expand
[11:26:32] <wjp|work> sounds good
[11:26:49] <wjp|work> yeah, that's probably best
[11:27:08] <wjp|work> as long as you design it with the other interface in mind, that is :-)
[11:27:14] <Dominus> we icq a lot and I'm trying it out a lot
[11:27:33] <wjp|work> he doesn't really have a linux developer, right?
[11:27:43] <Dominus> nope
[11:27:45] <wjp|work> (judging by the amount of work I had to do to get it to compile :-) )
[11:28:24] <Dominus> It's jsut him and another guy (who does the cutscenes script)
[11:28:41] <wjp|work> hm, project has 3 members
[11:28:46] <Dominus> and Jim of the the system shock project
[11:28:50] <wjp|work> ah :-)
[11:29:07] <Dominus> but jim has only added docs about the file formats AFAIK
[11:29:15] <wjp|work> how's UW in that SS project doing?
[11:29:28] --> Kirben has joined #exult
[11:29:28] --- ChanServ gives channel operator status to Kirben
[11:29:38] <Dominus> so so, it's a bit neglected...
[11:29:45] <Dominus> UW that is
[11:33:32] <Dominus> ok, got to go again
[11:33:35] <Dominus> see you
[11:33:39] <wjp|work> bye
[11:33:40] <-- Dominus has left IRC ("Exult! Exult! Exult!")
[11:37:22] * wjp|work looks at "Rabbit Crash" in the bug tracker
[11:37:25] <wjp|work> huh?
[11:47:06] --> Nadir has joined #exult
[11:47:07] --- ChanServ gives channel operator status to Nadir
[11:48:00] <Nadir> hi
[11:53:53] <Darke> Hi.
[11:54:43] * Darke looks for rabbits in the bug tracker.
[11:56:42] <Darke> Hey! They're trying to kill the bunny! That's _so_ not virtuous Avatar!
[12:16:18] --> Colourless has joined #Exult
[12:16:18] --- ChanServ gives channel operator status to Colourless
[12:16:28] <Darke> Hi Colourless!
[12:16:37] <Colourless> hi
[12:24:08] <Nadir> how come colourless gets an exclamation mark when he arrives and I just get a full stop (with no nick)... :(
[12:25:11] <Darke> It's random(). *grin* Or really it should be, I'm just too lazy to implement a `/greet $nick` function in my irc client. *grin*
[12:25:22] <Colourless> :-)
[12:32:28] <wjp|work> Nadir!!! hi!!!
[12:32:38] <wjp|work> oh, and hi Colourless
[12:32:39] <wjp|work> ;-)
[12:32:50] <Nadir> thx
[12:33:42] <Colourless> :-)
[12:34:26] <Colourless> now, nadir, you complaing about other people greeting you is not good enough, but yet, you don't even greet others yourself... *cough*
[12:40:33] <Nadir> #include <stdio.h>int main(int argc, char **argv) { printf("Hello World!\n"); return 0; }
[13:08:10] * Darke sleep(25200); Night all.
[13:08:22] --- Darke is now known as Darke|afk
[13:09:28] <wjp|work> night
[13:11:36] <Nadir> g'night
[13:21:44] <wjp|work> time to go home; bbl
[13:21:45] <-- wjp|work has left IRC ("bbl")
[13:58:56] <-- Nadir has left IRC (Remote closed the connection)
[14:10:35] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[14:27:23] --> wjp has joined #exult
[14:27:23] --- ChanServ gives channel operator status to wjp
[14:27:31] <wjp> hi
[14:27:43] <Colourless> hi
[14:36:25] <matto|wookin> hi
[14:37:03] * matto|wookin wonders who spoke his name over the weekend
[15:06:31] --> Fingolfin has joined #exult
[15:06:40] <Fingolfin> yo
[15:06:42] --- ChanServ gives channel operator status to Fingolfin
[15:06:53] <Colourless> hi
[15:07:14] <Fingolfin> wjp: you there?
[15:08:09] <Colourless> wjp was here 40 mins ago
[15:08:42] <Fingolfin> hehe
[15:09:37] <matto|wookin> ?seen fingolfin
[15:09:37] <exultbot> fingolfin is right here!
[15:12:59] <wjp> yeah, I'm here
[15:13:48] <Fingolfin> wjp: just wondering if you could test if the scale change bug I commited based on your email helps any
[15:13:53] <Fingolfin> and/or
[15:14:08] <Fingolfin> just tell me if you tried how it works when you just remove the "fishy" code section
[15:14:14] <Fingolfin> in that case, I'd be happy enough to remove, it too <g>
[15:14:32] <wjp> on second thought, that ^= 0x80 might still be needed
[15:14:59] <wjp> I changed the volume_table computation to what I emailed you, so these two things kind of cancelled out eachother
[15:16:02] * wjp updates CVS
[15:17:04] <Fingolfin> hm, yeah, see my reply mail
[15:36:57] <Fingolfin> BTW, regardin the FTP stuff I have to implement, currently I hope I can settle for libcurl, Working on a demo application right now. In theory, libcurl makes it very easy to up/download FTP stuff (and get file listings, too), and I could even extend it for HTTP(S) etc. downloads if need be :-)
[15:37:28] --> artaxerxes has joined #exult
[15:37:43] <artaxerxes> hi all
[15:37:55] <Colourless> hi
[15:38:23] <artaxerxes> Colourless: could you kick me please ?
[15:39:23] <Fingolfin> artaxerxes: if Colourless has no time, I can kick you to if it helps you
[15:39:30] <Fingolfin> dunno for what, though =)
[15:39:32] <artaxerxes> yes please
[15:40:13] <artaxerxes> you guys are slow kickers!
[15:40:16] <artaxerxes> :)
[15:41:01] <-- artaxerxes has left IRC (Client Quit)
[15:41:50] --> artaxerxes has joined #exult
[15:41:51] --- ChanServ gives channel operator status to artaxerxes
[15:41:55] <artaxerxes> much better
[15:42:14] <-- artaxerxes was kicked from #exult by wjp (wjp)
[15:42:15] --> artaxerxes has joined #exult
[15:42:15] --- ChanServ gives channel operator status to artaxerxes
[15:42:19] <wjp> better? :-)
[15:42:28] <Fingolfin> artaxerxes: well
[15:42:30] <artaxerxes> it feels good... :)
[15:42:36] <-- artaxerxes was kicked from #exult by Fingolfin (Fingolfin)
[15:42:36] --> artaxerxes has joined #exult
[15:42:36] --- ChanServ gives channel operator status to artaxerxes
[15:42:41] <Fingolfin> you see
[15:42:42] <Fingolfin> you can also /msg chanserv
[15:42:43] <artaxerxes> ok, ENOUGH! :)
[15:42:44] <Fingolfin> to op yourself =)
[15:42:54] <Fingolfin> you could kick yourself, too :-)
[15:43:03] <artaxerxes> even as a non-op ?
[15:43:03] <wjp> not an op, can't kick :-)
[15:43:37] <artaxerxes> I've got a question for you folks.
[15:44:32] <artaxerxes> where are the engine flags stored ?
[15:44:33] <Fingolfin> no I meant he could kick himself now
[15:44:45] <artaxerxes> I wanted to be kicked to become an op!
[15:51:55] <Colourless> artaxerxes: sure i'll kick you :-)
[15:51:57] <-- artaxerxes was kicked from #exult by Colourless (Colourless)
[15:51:58] --> artaxerxes has joined #exult
[15:51:58] --- ChanServ gives channel operator status to artaxerxes
[15:53:05] <Fingolfin> hm
[15:53:08] <Colourless> artaxerxes: since no on answer you question, what do you mean engine flags?
[15:53:12] * artaxerxes is feeling an itch in the end of his foot :)
[15:53:15] <Fingolfin> I think /msg chanserv op #exult artaxerxes is less painful
[15:54:39] <artaxerxes> I would like to try to configure a new key binding so that when you hit a certain key, the mousebuttons are switched. I would like to store that info somewhere with the config but I'm not sure where to start
[15:55:01] <artaxerxes> I've edited the keyaction.cc file
[15:55:45] <artaxerxes> I need now to modify the event catcher so that whenever a button(1) is found, it is replaced by a button(3) or button(2) or whatever
[15:57:14] <artaxerxes> (the secret goal is to prepare the toolbelt
[15:57:36] <artaxerxes> 's walking_or_grabing mode)
[15:57:49] <Colourless> you'll want to look in exult.cc somewhere
[15:58:21] <artaxerxes> I'm in there right now.
[15:59:13] <artaxerxes> could I create a gwin->toggle_buttons() function ?
[16:00:34] <Colourless> that should be fine. there isn't anywhere else to put general input related functions
[16:00:43] <wjp> hm
[16:00:57] <wjp> didn't we have a mouse class?
[16:01:16] <Colourless> hmm, yes we do
[16:01:45] <artaxerxes> it is there but there no button information
[16:02:33] <artaxerxes> it is more of a mouse pointers class type of thing
[16:03:26] <Colourless> gwin itself doesn't (shouldn't) contain any button info either
[16:14:47] <artaxerxes> I think I've got it
[16:15:30] <artaxerxes> i can use the SDL_SetEvenFilter so that the MOUSEBUTTON event is altered if the bool INVERTMOUSE is set and leave it alone if it is not.
[16:15:41] <artaxerxes> no overhead, no reqriting
[16:15:44] <artaxerxes> rewriting
[16:16:23] <Colourless> um, i don't know if that is such a good idea
[16:16:39] <artaxerxes> care to develop?
[16:16:58] <Colourless> using an event filter will change all of the inputs, regardless of the event loop that is being executed
[16:17:10] <Colourless> things like conversations never use the right mouse button
[16:17:23] <Colourless> but using the even filter will swap the buttons for them too
[16:17:32] <artaxerxes> hm
[16:17:34] <artaxerxes> true
[16:17:35] <Colourless> meaning that you'll then have to use the right mouse button to select your options
[16:17:49] <Colourless> it will also effect modal gumps, which include the menus
[16:18:06] <Colourless> the slider gumps, books, scrolls.... and so on
[16:18:40] <Colourless> just go modify static void Handle_event
[16:18:44] <Colourless> in exult.cc
[16:19:32] <Colourless> actually no...
[16:19:38] <artaxerxes> :)
[16:19:43] <Colourless> better make that the Handel_events function
[16:19:48] <Colourless> Handle_events even
[16:19:55] <artaxerxes> That's where I was! :)
[16:20:02] * artaxerxes doesn't feel so lame
[16:20:15] <Colourless> note that we all call SDL_GetMouseState there too
[16:24:03] <Colourless> you'll need to modify the Wizard_eye function (also in exult.cc)
[16:24:32] <Colourless> i think...
[16:24:46] <Colourless> yes you will
[16:27:12] <artaxerxes> I ma doing this in Handle_events:
[16:27:18] <artaxerxes> while (!quitting_time && SDL_PollEvent(&event))
[16:27:18] <artaxerxes> {
[16:27:18] <artaxerxes> if(INVERTMOUSE && !gump_man->gump_mode() && (event.type==SDL_MOUSEBUTTONDOWN || event.type==SDL_MOUSEBUTTONUP))
[16:27:50] <artaxerxes> then modify event.button
[16:28:32] <Colourless> yeah, something like that should be ok i'm guessing
[16:30:28] <Colourless> my 'grand' scheme of things also included a special context sensitive where for certain actions, exult would try to work out what you were intending to do with something. of course thinking about it, it would proably be to messy to implement it, and i don't know exactly how to do it reliably
[16:31:28] <artaxerxes> I understand what you mean and I was thinking of that but there are some issues to resolve. For instance, if you dclick (or dtap) on an item, should the Avatar move toward that object or use it?
[16:31:42] <artaxerxes> and it goes on and on
[16:31:59] <Colourless> in that case, you determine what type of object it is
[16:32:05] <artaxerxes> messy
[16:32:11] <Colourless> if it can't be used, then don't try to use it :-)
[16:32:28] <artaxerxes> some can be both walkable and usable! (press-plate)
[16:32:42] <Colourless> yeah, those cases cause problem :-)
[16:32:57] <Colourless> it isn't easy to work out if something is not usable, if it has usecode
[16:35:00] <artaxerxes> the boolean invert is ^ or ~ again ? I can't remember
[16:35:17] <artaxerxes> ^ = XOR and ~ = invert, right ?
[16:35:17] <Colourless> it's ~
[16:35:47] <Colourless> you'd find out real quick when compiling anyway :-)
[16:35:52] <artaxerxes> :)
[16:35:58] <Colourless> ~ is unary, ^ is not :-)
[16:51:10] <artaxerxes> I'm compiling...
[16:51:14] * artaxerxes crosses finger
[16:51:31] <-- Fingolfin has left IRC ("cya folks")
[16:53:27] <artaxerxes> bbl... gonna get soem launch
[17:10:40] <-- matto|wookin has left IRC ("I like core dumps")
[17:24:18] <artaxerxes> so far it compiles ok
[17:35:18] <artaxerxes> btw, SDL_BUTTON(3) is the right button or the middle button ?
[17:35:38] <Colourless> right
[17:35:50] <artaxerxes> always ?
[17:36:25] <Colourless> um, yeah, it would be a bit impossible to program without it being constant you know
[17:39:14] <artaxerxes> :)
[17:39:34] <artaxerxes> just wondered what happened if you did not have a 3 button mouse
[18:00:41] <wjp> ugh... not good.. uwadv has Makefile.ins and Makefiles in cvs
[18:00:56] * wjp is getting lots of merge conflicts when updating
[18:13:16] <artaxerxes> uwadv?
[18:13:58] <wjp> an ultima underword engine
[18:14:02] <wjp> uwadv.sf.net
[18:49:31] <artaxerxes> got the invertmouse stuff going
[18:57:40] <artaxerxes> a bit more tweaking is needed but the idea is there.
[19:11:02] <artaxerxes> yahoo!!
[19:11:41] <artaxerxes> INVERTMOUSE is working perfectly! In normal mode, you can press a key and all mouse button events are reversed (button 1 <-> button 3). In gump mode, no changes occur
[20:12:46] <artaxerxes> now that it works, I'll make sure the actual source is cleaned up (sometimes there are calls to SDL_BUTTON(x) and sometimes ms=SDL_GetMouseState(NULL,NULL) and sometimes to event.event.button. (I know they are not all identical)
[20:13:29] <artaxerxes> still, I'm gonna make a call to a more generic function that can take care of the invert mouse button thing
[20:18:45] <artaxerxes> btw, is anyone here ?
[20:19:08] <wjp> more or less :-)
[20:20:26] <Colourless> yeah :-)
[20:20:35] <artaxerxes> what do you think about renaming the buttons for test so that instead of checking SDL_BUTTON(1) there is check for exult_mouse(BUTTON_WALK) or exult_mouse(BUTTON_GRABBING)
[20:20:59] <Colourless> do whatever you think is right
[20:21:01] <artaxerxes> BUTTON_WALK is defaulted to right_button and BUTTON_GRAB to left_button
[20:21:35] <artaxerxes> this way tests on whether we are currently walking is not button number dependant
[20:22:43] <artaxerxes> Colourless: thx. I'm just inquiring of the validity of the offer. Maybe you'll find something to say about it that I didn't think of (as usual!) :)
[20:22:45] <wjp> can you invert the buttons in-game?
[20:22:49] <artaxerxes> yup
[20:23:02] <wjp> if so, make sure you can't get stuck buttons when toggling it while holding a button
[20:23:11] <artaxerxes> ahh
[20:23:15] <artaxerxes> good one
[20:24:10] <Colourless> that'll keep you busy for half an hour or so :-)
[20:24:55] <artaxerxes> hey! as I said earlier, I'm not elite as you are... working on it though.. :)
[20:25:20] * Colourless tries to be humble
[20:25:25] <Colourless> some things just take a while
[20:25:34] * artaxerxes lol
[20:28:33] * artaxerxes is a patient guy
[20:29:05] <wjp> hm, I'd probably just push fake buttonrelease events onto the sdl event queue
[20:29:45] <wjp> might cause some glitches, but that's probably here
[20:29:49] <wjp> s/here/ok here/
[20:30:23] <Colourless> dragging... that will be a big glitch :-)
[20:30:43] <wjp> you're asking for it if you switch the mouse buttons while dragging :-)
[20:31:00] <Colourless> maybe the function should defer applying the state until all the buttons have been released
[20:31:11] <artaxerxes> then, the switch is effective at the next MOUSEBUTTONUP
[20:31:28] <Colourless> no, you need to be sure that both buttons are up and down
[20:31:29] <artaxerxes> see I'm becoming elite! I think like one!
[20:31:34] <wjp> no, since you can have multiple buttons pressed
[20:31:41] <artaxerxes> ah.
[20:31:44] <Colourless> so you need to keep defering the state until both buttons are released
[20:31:45] <artaxerxes> :(
[20:31:58] <wjp> or just ignore the switch if buttons are pressed
[20:32:03] <artaxerxes> who could press both buttons? What for!?
[20:32:16] <Colourless> it could happen
[20:32:21] <artaxerxes> that's probably the best way, wjp
[20:32:28] <Colourless> why, it doesn't matter. :-)
[20:32:30] <wjp> maybe you're used to U8 and trying to jump? :-)
[20:33:10] <artaxerxes> who plays U8 anyways? It's not ready yet! ;-)
[20:37:32] <artaxerxes> wjp: are you still working on Pentagram? Any progress?
[20:37:47] <wjp> hmm... well...
[20:37:55] <Colourless> yeah wjp, are *YOU* still working on it :-)
[20:38:34] <wjp> :-)
[20:38:35] <artaxerxes> Colourless: you're part of the P's development team too?
[20:39:13] <wjp> he is
[20:39:30] <artaxerxes> my apologies, Colourless. Any progress for you too?
[20:39:57] <Colourless> we are in 'wishful thinking' design mode :-)
[20:40:09] <artaxerxes> those are the most productive.. :)
[20:40:13] <Colourless> there is still yet to be any code written yet :-)
[20:42:36] <Colourless> so, wjp, what did you think of my lastest crazy idea?
[20:42:43] <wjp> interesting :-)
[20:43:16] <wjp> I was wondering, how well does it mix with opengl?
[20:43:51] <Colourless> the same. it's easy enough to resize the clipping window to fit the 'sub-surface'
[20:44:18] <wjp> lol... I just got a cvs-log mail from uwadv-cvs... new file added... it actually lists the full file contents :-)
[20:45:31] <wjp> I wonder what they use to create these log messages
[20:55:09] <wjp> hm, is 'itoa' standard C and/or C++?
[20:55:18] <artaxerxes> what's the point of putting a "static" before a "void" function? Faster use?
[20:55:33] <wjp> member function?
[20:55:38] <wjp> or non-member function?
[20:56:01] <Colourless> if it's a non-member function (of a class) it will prevent other files being able to use that function
[20:56:04] <artaxerxes> I don't know the difference... :/
[20:56:31] <wjp> a member function is a function 'inside' a class
[20:56:35] <wjp> also called method sometimes
[20:56:40] <artaxerxes> under exult.cc, it's called local functions
[20:56:58] <wjp> yeah, static roughly means local
[20:57:12] <wjp> as long as it's not used inside a class :-)
[20:57:14] <artaxerxes> as you can see, I suck at C++
[20:57:20] <artaxerxes> :(
[20:57:29] <wjp> this meaning of static is C, actually :-)
[20:57:35] <Colourless> hmm, now that i've fixed the various bugs that I know of in the fmopl driver, the exult menu song no longer sounds like shite :-)
[20:57:43] <artaxerxes> Even worst! :((
[20:57:43] <wjp> that's good :-)
[20:57:54] <wjp> did you already report them to scummvm?
[20:58:41] <Colourless> no i haven't.
[21:08:28] <wjp> you should go visit #scummvm; the intersection between #exult and #scummvm isn't big enough yet :-)
[21:08:42] <Colourless> :-)
[21:08:48] <wjp> (Fingolfin, matto, Kirben and me, last time I checked ;-) )
[21:08:58] <artaxerxes> from the Exult FAQ: can I play DOTT with Exult? ;)
[21:09:03] <wjp> lol
[21:29:03] <wjp> I should be going
[21:29:09] <wjp> 'night
[21:29:12] <Colourless> me too
[21:29:12] <Colourless> cya
[21:29:13] <artaxerxes> bye
[21:29:16] <-- wjp has left IRC ("Zzzz...")
[21:29:25] <-- Colourless has left IRC ("it's not night here anymore")
[21:39:51] <artaxerxes> going home too.
[21:39:53] <-- artaxerxes has left IRC ("using sirc version 2.211+KSIRC/1.1")
[22:04:25] --> Kirben has joined #exult
[22:04:25] --- ChanServ gives channel operator status to Kirben