#tfl@irc.freenode.net logs for 22 Dec 2006 (GMT)

Archive Today Yesterday Tomorrow
tfl homepage


[00:00:00] <Eagle_101> it is fixed in the current version
[00:00:02] <Marzo> Ah, that is why then
[00:00:12] <-- servus has left IRC (sterling.freenode.net irc.freenode.net)
[00:00:12] <-- Kirben has left IRC (sterling.freenode.net irc.freenode.net)
[00:00:12] <-- wizardrydragon has left IRC (sterling.freenode.net irc.freenode.net)
[00:00:12] <-- Eagle_101 has left IRC (sterling.freenode.net irc.freenode.net)
[00:00:12] <-- Marzo has left IRC (sterling.freenode.net irc.freenode.net)
[00:00:33] --> Kirben has joined #tfl
[00:08:28] --> Eagle_101 has joined #tfl
[00:08:33] --> Marzo has joined #tfl
[00:08:34] <-- Marzo has left IRC (sterling.freenode.net irc.freenode.net)
[00:09:06] <-- Eagle_101 has left IRC (sterling.freenode.net irc.freenode.net)
[00:14:45] --> wizardrydragon has joined #tfl
[00:14:49] --- ChanServ gives voice to wizardrydragon
[00:15:08] <-- wizardrydragon has left IRC (Excess Flood)
[00:24:42] --> Marzo has joined #tfl
[00:24:42] --- ChanServ gives voice to Marzo
[00:24:43] --> wizardrydragon has joined #tfl
[00:24:45] <-- wizardrydragon has left IRC (Excess Flood)
[00:28:57] --> Eagle_101 has joined #tfl
[00:29:16] <Eagle_101> meh >.>
[00:29:42] --> servus has joined #tfl
[00:33:41] <Marzo> For the record: the pointer problem in the dragonBot CVS can be fixed by eliminating the pointers, without needs for any kind of hacks
[00:33:53] <Marzo> wizardrydragon said that you fixed it with a hack?
[00:34:25] <Eagle_101> Marzo that is exactly what I did
[00:34:34] <Eagle_101> down to the letter
[00:35:10] <Marzo> Well, it is not needed :-)
[00:35:51] <-- servus has left IRC (sterling.freenode.net irc.freenode.net)
[00:35:51] <-- Marzo has left IRC (sterling.freenode.net irc.freenode.net)
[00:36:04] --> Marzo has joined #tfl
[00:36:19] --> servus has joined #tfl
[00:36:24] --- ChanServ gives voice to Marzo
[00:36:57] <Marzo> You need to change the definitions of AccessLevel and span in auth.h, and the constructor header in auth.h and auth.cpp
[00:38:01] <Marzo> And they don't even have to be static
[00:38:18] <Eagle_101> Marzo yeah alread done
[00:38:22] <Eagle_101> already done
[00:38:34] <Marzo> So it wasn't a hack then
[00:38:38] <Eagle_101> nope :D
[00:38:43] <Marzo> :-)
[00:38:49] <Eagle_101> wiz calls most of what I do a hack
[00:38:50] <Eagle_101> >.>
[00:38:57] <Marzo> Ah, that explains it
[00:39:02] <Eagle_101> becuase my code is not very pretty :D
[00:39:17] <Eagle_101> I just care that it works :D
[00:39:20] <Marzo> Code does not need to be pretty, it needs to work
[00:39:23] <Marzo> :-)
[00:39:44] --> eagle101bot has joined #tfl
[00:40:13] <Eagle_101> !eagle101bot auth_user_delete wizardrydragon
[00:40:14] <eagle101bot> user !eagle101bot auth_user_delete wizardrydragon was not deleted becuase the user was not found in the database.
[00:40:23] <Eagle_101> >.<
[00:40:27] --> wizardrydragon has joined #tfl
[00:40:27] --- ChanServ gives voice to wizardrydragon
[00:40:33] <Marzo> wb
[00:40:44] <Eagle_101> user !eagle101bot auth_user_delete wizardrydragon
[00:40:45] <eagle101bot> user user !eagle101bot auth_user_delete wizardrydragon was not deleted becuase the user was not found in the database.
[00:40:52] <wizardrydragon> that was fun!
[00:40:52] <Eagle_101> mmm
[00:40:54] <wizardrydragon> lets do it again!
[00:40:57] <Eagle_101> heh
[00:40:58] <Marzo> lol
[00:41:14] <Eagle_101> oh duh
[00:41:25] <Eagle_101> user !eagle101bot auth_user_delete u=wizardrydragon
[00:41:27] <eagle101bot> user wizardrydragon was not deleted becuase the user was not found in the database.
[00:41:40] <Eagle_101> user !eagle101bot auth_user_delete u=Eagle_101
[00:41:41] <eagle101bot> user Eagle_101 was not deleted becuase the user was not found in the database.
[00:41:47] * Eagle_101 sighs
[00:42:12] <Eagle_101> !user auth_find u=wizardrydragon
[00:42:24] <Eagle_101> !eagle101bot auth_find u=wizardrydragon
[00:42:25] <eagle101bot> User is not in Database
[00:42:59] <Eagle_101> !eagle101bot auth_find u=wizardrydragon
[00:44:03] <eagle101bot> User is not in Database
[00:44:31] <Eagle_101> !eagle101bot auth_find u=Eagle_101
[00:46:11] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[00:46:36] <Eagle_101> mmm that was just working 5 seconds ago >.>
[00:46:48] <Marzo> :-)
[00:46:54] --- ChanServ gives voice to Eagle_101
[00:46:56] <Marzo> Blame Murphy
[00:47:03] <wizardrydragon> Isn't that how all bugs happen? :)
[00:47:57] <Eagle_101> heh
[00:48:36] * Eagle_101 slaps some debug at the source of the problem >.>
[00:48:45] <wizardrydragon> Marzo: See, I'm not the only one :)
[00:48:58] <Marzo> :-)
[00:49:14] <Eagle_101> mine are just simple formatting shit
[00:49:24] <Eagle_101> and regex not doing what I thought it was doing >.>
[00:49:50] <Marzo> To be fair, in my last Exult commit there were points where I had debugging messages at about every other line trying to find some bugs
[00:49:58] <wizardrydragon> :)
[00:49:59] <Eagle_101> hehe
[00:50:13] <Eagle_101> someone make a request about an auth status
[00:50:22] <Marzo> And of course, the bug was in an entirelly different place from the one I was debugging :-)
[00:50:28] <Eagle_101> Marzo duh
[00:50:52] <Eagle_101> !eagle101bot auth_find u=Marzo
[00:51:19] <Marzo> Doesn't it have to be on the channel for that to work? :-p
[00:51:30] <Eagle_101> Marzo duh >.>
[00:51:55] <Eagle_101> my bot (LW in another channel autojoins on connect) >.>
[00:51:58] <wizardrydragon> Eagle_101: Lol
[00:52:19] --> eagle101bot has joined #tfl
[00:52:19] --- ChanServ gives voice to eagle101bot
[00:52:28] <Eagle_101> !eagle101bot auth_find u=Marzo
[00:52:49] <Eagle_101> debug time (tracing)
[00:53:34] <eagle101bot> User is not in Database
[00:54:09] <Eagle_101> Marzo guess what... the bug is elsewhere >.>
[00:54:18] <Marzo> lol
[00:54:31] <Eagle_101> it is not adding users to the database
[00:54:49] <Marzo> You know, I thought of suggesting that
[00:54:55] <Eagle_101> so on the bright side... at least my function is working :D
[00:55:03] <Marzo> But I also thought that it might me too much insulting
[00:55:26] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[00:57:43] <Eagle_101> Marzo heh... well I am adding them in code
[00:57:52] <Eagle_101> so somewhere it is dropping them >.>
[00:58:10] <Marzo> :-)
[00:58:29] <Eagle_101> and Marzo you can't insult my programming >.>
[00:58:34] <Eagle_101> I am a physics major
[00:58:38] <Eagle_101> not compsci
[00:58:46] <wizardrydragon> Heh.
[00:58:49] <Marzo> Hey, I am a physicist too
[00:58:54] <Marzo> Working on my PhD
[00:58:54] <wizardrydragon> :-)
[00:58:57] <Eagle_101> nice!
[00:59:09] <wizardrydragon> MarzoL I thought it was maths you were in?
[00:59:16] <Marzo> That is WJP
[00:59:18] * wizardrydragon double-checks Exult about us blurb
[00:59:28] * Eagle_101 is a freshman taking Physics 242 (second course out of 4)
[00:59:58] <wizardrydragon> Hmm
[00:59:58] <Eagle_101> users count = 0
[00:59:58] <Eagle_101> users count = 0
[00:59:58] <Eagle_101> Early look at count = 0
[01:00:00] <Eagle_101> wtf!
[01:00:05] <wizardrydragon> My internet has issues.
[01:00:06] <wizardrydragon> Marzo
[01:00:10] <Eagle_101> my add code is not working >.>
[01:00:11] <Marzo> Yes?
[01:00:13] <wizardrydragon> Is the exult page working for you?
[01:00:26] <Marzo> Yes
[01:00:50] <wizardrydragon> Yeah ...
[01:00:57] <wizardrydragon> My internet's having issues
[01:01:02] <wizardrydragon> Wikipedia works ...
[01:01:05] <wizardrydragon> Gmail works
[01:01:06] <Marzo> :-)
[01:01:08] <wizardrydragon> and that seems to be it
[01:01:17] <Marzo> Complain to your ISP
[01:01:27] <Marzo> I did it with mine, and things seem to be working fine now
[01:01:35] <Eagle_101> found my problem :D
[01:01:37] <wizardrydragon> It seems to be somehow related to the netsplit
[01:01:45] <wizardrydragon> It was fine until just that incident
[01:01:45] <Marzo> Yeah
[01:02:04] <wizardrydragon> It seems a little too close to be coincidential
[01:02:15] <Eagle_101> was becuase I changed a function from bool function(pars); to int function(pars);
[01:02:25] <Eagle_101> and forgot to update all the if statements relying on that
[01:02:27] <wizardrydragon> Maybe a dns server somewhere went six feet under
[01:02:35] <wizardrydragon> Eagle: Nice :)
[01:02:45] --> eagle101bot has joined #tfl
[01:02:45] --- ChanServ gives voice to eagle101bot
[01:02:47] <Marzo> You can try renewing your DNS cache to see if it helps
[01:03:13] <Eagle_101> !eagle101bot auth_user_delete u=wizardrydragon
[01:03:15] <eagle101bot> user wizardrydragon was removed from the database
[01:03:18] <Eagle_101> :D
[01:03:37] <Eagle_101> !eagle101bot auth_find u=wizardrydragon
[01:03:39] <eagle101bot> User is not in Database
[01:03:43] <Eagle_101> hehe
[01:03:43] <wizardrydragon> Eagle
[01:03:45] <wizardrydragon> Thought
[01:04:03] <wizardrydragon> Users of lower access level should only be able to ad users at or below their level
[01:04:09] <wizardrydragon> and not delete those of higher level
[01:04:13] <Eagle_101> wizardrydragon no worries
[01:04:28] <Eagle_101> my design has only users of level 0 able to remove
[01:04:42] <Eagle_101> as the program will take out inactive users
[01:04:52] <Eagle_101> wizardrydragon you might want to add a field for the bot ops username
[01:05:05] <Eagle_101> so that they may be level 0 (as they are running the thing)
[01:05:16] <wizardrydragon> Im not sure if that's a good idea.
[01:05:27] <wizardrydragon> What if it's a non-0 level op running it for us, for example?
[01:05:46] <Eagle_101> wizardrydragon point, we can play with that, lets get the format going first
[01:06:08] <Eagle_101> I have to get the add commands, ect, mucking with userlevels won't be all that hard
[01:06:22] <wizardrydragon> True.
[01:06:27] <Eagle_101> lets get the basic thing going first ... and make sure the purge works...
[01:06:52] <Eagle_101> basically though we are going to have to figure out who will be allowed to add new users
[01:07:04] <Eagle_101> and how we are going to parse that
[01:07:18] <Marzo> Standard programmer practices 101: get the thing working first, then rewrite it to get it working *right* :-p
[01:07:32] <Eagle_101> Marzo yeah I know >.>
[01:07:44] <Eagle_101> the code is fairly modular :D
[01:07:58] <Eagle_101> ie, I just have to add the switch statement for userlevels
[01:08:25] <Eagle_101> and now... let me get this adding users >.>
[01:08:38] <Eagle_101> I might as well re-write the parser...
[01:08:51] <Eagle_101> to parse the command name and the params
[01:09:21] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[01:09:46] <wizardrydragon> Marzo: Amen to that.
[01:11:34] <-- Eagle_101 has left IRC (Nick collision from services.)
[01:11:46] --> Eagle_101 has joined #tfl
[01:11:46] --- ChanServ gives voice to Eagle_101
[01:15:23] <Eagle_101> bah... bad connection >.>
[01:15:54] <wizardrydragon> Heh
[01:16:26] --> eagle101bot has joined #tfl
[01:16:26] --- ChanServ gives voice to eagle101bot
[01:16:45] <Eagle_101> !eagle101bot auth find u=blah
[01:16:46] <eagle101bot> User is not in Database
[01:16:49] <Eagle_101> yes :D
[01:16:59] <Eagle_101> ok, it is parsing mult-word commands right
[01:17:09] <wizardrydragon> nice
[01:17:27] <wizardrydragon> Hehe, marzo - programming these bots is harder than it looks :)
[01:17:28] <Eagle_101> now to set up the parameter parser >.>
[01:17:38] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[01:17:52] <Eagle_101> Marzo we are for somereason... still on the basic functionality
[01:18:25] <wizardrydragon> Mostly because when we fix one problem three new ones pop up.
[01:19:59] <-- Eagle_101 has left IRC (Nick collision from services.)
[01:20:06] --> Eagle_101 has joined #tfl
[01:20:08] --- ChanServ gives voice to Eagle_101
[01:20:25] <Eagle_101> feel free to murder my connection >.>
[01:20:35] <wizardrydragon> heh
[01:20:42] <wizardrydragon> irc's still sketchy
[01:21:10] <Marzo> "Problems come in series of three. Do not be glad of the third problem, as it merely indicates that brand new series of three problems is about to start."
[01:21:39] <wizardrydragon> :)
[01:25:28] <Eagle_101> Marzo nice :D
[01:25:54] * wizardrydragon is watching that one PAIN report tailspin into a AN/I
[01:26:03] <Eagle_101> .... >.>
[01:26:29] <wizardrydragon> Yeah ... betacommand's getting shit for forgetting to put a block template. Ugh.
[01:27:09] <Eagle_101> wizardrydragon really?
[01:27:21] * Eagle_101 forgets 20% of the time >.<
[01:27:40] <wizardrydragon> Yeah well he forget while the policy lawyers were around.
[01:29:05] <Eagle_101> >.>
[01:29:12] <Eagle_101> why would they be around?
[01:29:22] <wizardrydragon> Did you read the PAIN argument?
[01:29:36] <Eagle_101> wizardrydragon no I am to busy making bugs
[01:29:43] <wizardrydragon> heh
[01:29:59] <wizardrydragon> Its a rules lawyer lovefest.
[01:30:10] <Marzo> PAIN argument? Where/what is that?
[01:30:15] <wizardrydragon> Wikipedia.
[01:30:18] <Marzo> Oh
[01:30:21] <Marzo> Of course :-)
[01:30:24] <wizardrydragon> "Personal Attack Intervention Noticeboard"
[01:32:51] <Eagle_101> well if it gets to arbcom I will care, otherwise >.<
[01:32:52] <Eagle_101> meh
[01:33:22] <wizardrydragon> My god if it goes to arbcom I swear Ill shoot myself
[01:33:26] <wizardrydragon> Less painful, and quicker
[01:33:34] <Eagle_101> heh
[01:33:44] <Eagle_101> well I can clerk it no matter what >.>
[01:34:33] <wizardrydragon> Nope!
[01:34:41] <Eagle_101> ...
[01:34:47] <wizardrydragon> You commented on the PAIN, so COI for you :)
[01:34:53] <Eagle_101> oh really >.>
[01:34:55] <Eagle_101> it is that one?
[01:35:00] <wizardrydragon> Yep!
[01:35:02] <Eagle_101> heh
[01:35:08] * Eagle_101 will sit back and watch >.>
[01:35:13] <wizardrydragon> Betacommand blocked the guy
[01:35:19] --> eagle101bot has joined #tfl
[01:35:19] --- ChanServ gives voice to eagle101bot
[01:35:22] <wizardrydragon> all hell broke loose
[01:35:31] <wizardrydragon> I thought it was a bit premature myself
[01:35:36] <wizardrydragon> But I wasnt complaining
[01:35:41] <wizardrydragon> But everyone else was! >_<
[01:36:00] <Eagle_101> !eagle101bot blah x=1 y=3 z=testing p=parameter t=parser
[01:36:19] <Eagle_101> wooo+
[01:36:25] <wizardrydragon> nono
[01:36:27] <wizardrydragon> Woo++
[01:36:29] <Eagle_101> it works :D
[01:36:32] <Eagle_101> oh hush >.>
[01:36:44] <Eagle_101> it is parsing them right... so two regexes :D
[01:36:54] <wizardrydragon> :D
[01:36:59] <Eagle_101> and less spiggitti code >.>
[01:37:10] <wizardrydragon> hehe
[01:37:20] <Eagle_101> !eagle101bot auth user delete u=wizardrydragon
[01:37:23] <eagle101bot> user wizardrydragon was removed from the database
[01:37:24] <wizardrydragon> eagle if you could commit before 9 thatd be great >_>
[01:37:39] <Eagle_101> righto... I will commit now
[01:37:49] <Eagle_101> just do realize that I am still working on this
[01:37:56] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[01:38:02] <wizardrydragon> :)
[01:38:11] <Eagle_101> there is no function to check all and delete aged out users
[01:38:13] <wizardrydragon> I just want to have a fresh version to test
[01:38:19] <wizardrydragon> and code
[01:38:23] <Eagle_101> heh
[01:38:23] <Marzo> You must understand that wizardrydragon loves to see people commit code, but never commits any himself
[01:38:28] <Marzo> :-)
[01:38:31] <Eagle_101> heh
[01:38:33] <wizardrydragon> Marzo: Oh hush
[01:38:51] * Marzo suddenly thinks of TFL CVS for no reason at all.
[01:38:55] <wizardrydragon> Marzo: One of these times Im going to null commit with the message "SEE, I COMMITTED"
[01:39:02] <wizardrydragon> :)
[01:39:09] <Marzo> That doesn't count :-p
[01:39:19] <Eagle_101> well wizardrydragon I am waiting on the GUI improvement
[01:39:22] <Eagle_101> ;)
[01:39:41] <Eagle_101> oh and wizardrydragon how do I make new files commit with the other code?
[01:40:05] <wizardrydragon> How do you mean?
[01:40:20] <wizardrydragon> Eagle: Ive nuked the form no less than 7 times trying to fix that goddamn toolbar
[01:40:37] <wizardrydragon> Designer has an aneurism when I modify it
[01:41:47] <Eagle_101> cvs [commit aborted]: end of file from server (consult above messages if any)
[01:41:47] <Eagle_101> Error, CVS operation failed
[01:41:48] <Eagle_101> >.<
[01:41:55] <wizardrydragon> Heh
[01:42:03] * wizardrydragon pokes Marzo
[01:42:10] <Marzo> What?
[01:42:11] <wizardrydragon> Marzo is better with CVS than I >_>
[01:42:21] <Eagle_101> Marzo I am a CVS newbie
[01:42:28] <Marzo> WinCVS does all the work for me here
[01:42:40] <Eagle_101> bah tortoise CVS here
[01:42:51] * Eagle_101 pokes the damn turtle >.>
[01:42:55] <Marzo> lol
[01:43:12] <Marzo> The SF page has some good tutorials in CVS
[01:43:21] <wizardrydragon> Marzo Ive never had "end of file from server" as an error?
[01:43:22] <Eagle_101> Unable to open connection, gethost by name
[01:43:32] <wizardrydragon> Oh its not resolving DNS then
[01:43:36] <wizardrydragon> Thats your connection
[01:43:45] <Eagle_101> oh fsck
[01:43:47] <Marzo> wizardry: Nor did I
[01:43:51] <wizardrydragon> (So Im not the only one having SF issues!)
[01:44:00] <Eagle_101> ok... and why would my connection be having problems?
[01:44:09] <wizardrydragon> Not on your end
[01:44:13] <wizardrydragon> SF seems to be having issues
[01:44:52] <Eagle_101> "C:\Program Files\TortoiseCVS\cvs.exe" -q commit -m "Started from scratch the Auth::Database. Is probably 20% done.\nImproved parsing of commands (IRC commands) (Not implented 100% with objects)" auth.cpp auth.h frmMain.h
[01:44:52] <Eagle_101> CVSROOT=:ext:intelligentnerd@dragonbot.cvs.sourceforge.net:/cvsroot/dragonbot
[01:44:52] <Eagle_101> cvs [commit aborted]: end of file from server (consult above messages if any)
[01:44:52] <Eagle_101> Error, CVS operation failed
[01:45:08] <Eagle_101> well no commit for you!
[01:45:34] <wizardrydragon> Hmm
[01:45:44] <Eagle_101> any tricks to make it magically work?
[01:45:46] <Eagle_101> >.>
[01:45:47] <wizardrydragon> Send me the orange flagged files to my gmail
[01:45:51] <wizardrydragon> Ill fiddle with CVS tomorrow
[01:47:46] <Eagle_101> as soon as gmail loads ...
[01:48:41] <Marzo> It is not a problem with SF as I just commited a piece of code, BTW
[01:48:52] <wizardrydragon> Well its not working for me either
[01:49:00] <wizardrydragon> I think a DNS server somewhere went belly up
[01:49:05] <Marzo> Switch to WinCVS :-)
[01:49:09] <wizardrydragon> the DNS doesnt resolve for me or for eagle
[01:49:22] <-- Eagle_101 has left IRC (Nick collision from services.)
[01:49:27] --> Eagle_101 has joined #tfl
[01:49:27] --- ChanServ gives voice to Eagle_101
[01:49:42] <wizardrydragon> Thanks eagle
[01:49:49] <Eagle_101> you got it?
[01:49:50] <Eagle_101> ok
[01:49:51] <wizardrydragon> Yep
[01:49:57] <Eagle_101> look at how I am handeling auth
[01:49:58] <wizardrydragon> gmail to gmail goes quick
[01:49:58] <wizardrydragon> hehe
[01:50:22] <Eagle_101> you see my auth shit yet?
[01:50:32] <Eagle_101> see how I just nuked your code >.>
[01:50:41] <Marzo> lol
[01:50:47] <wizardrydragon> MSVC is loading
[01:50:50] <Eagle_101> heh
[01:52:35] <Eagle_101> basically the auth is functional. what we will have to do next is incorporate all the auth code in the bot loop.
[01:53:53] <Marzo> brb
[01:53:59] --- Marzo is now known as Marzo_away
[01:55:42] <wizardrydragon> hey auth is neater now
[01:55:43] <wizardrydragon> hehe
[01:55:51] <Eagle_101> what!!!
[01:55:55] <Eagle_101> wizardrydragon what do you mean?
[01:56:05] <wizardrydragon> your newer code is neater
[01:56:06] <wizardrydragon> hehe
[01:56:09] <Eagle_101> wha!
[01:56:12] * Eagle_101 faints
[01:56:19] <wizardrydragon> Hah!
[01:56:33] <Eagle_101> well does it make sense what is going on?
[01:56:57] <wizardrydragon> It never makes sense, it's C! :)
[01:57:01] <wizardrydragon> Hehe
[01:57:04] <Eagle_101> heh
[01:57:16] <Eagle_101> well you like my MatchCollection?
[01:57:24] <Eagle_101> look in the bot loop for the new parsing regex
[01:57:45] <wizardrydragon> WriteIRCMessage throws a warning just in case you didnt see that
[01:58:00] <Eagle_101> wizardrydragon why is it throwing a warning?
[01:58:12] <wizardrydragon> dunno
[01:58:13] * Eagle_101 does not look at warnings becuase of wizardrydragon's 9 warnings for ex
[01:58:18] <wizardrydragon> lol
[01:58:18] <Eagle_101> what is the warning?
[01:58:30] <wizardrydragon> well thats code I copied right from MSDN
[01:58:31] <wizardrydragon> >_>
[01:58:48] <Eagle_101> well I will fix that one of these days ...
[01:58:50] <Eagle_101> >.<
[01:59:11] <Eagle_101> anyway wizardrydragon you give me my warning?
[01:59:55] <wizardrydragon> c:\documents and settings\peter\my documents\visual studio 2005\projects\dragonbot\dragonbot\frmMain.h(1851) : warning C4677: 'WriteIrcMsg': signature of non-private member contains assembly private type 'IRC::Parse'
[01:59:55] <wizardrydragon> c:\documents and settings\peter\my documents\visual studio 2005\projects\dragonbot\dragonbot\ircparser.h(31) : see declaration of 'IRC::Parse'
[02:00:05] <wizardrydragon> Scope issues
[02:00:16] <Eagle_101> tell me!
[02:00:24] * Eagle_101 will fix on his side as well
[02:00:25] * wizardrydragon points up
[02:00:28] <wizardrydragon> c:\documents and settings\peter\my documents\visual studio 2005\projects\dragonbot\dragonbot\frmMain.h(1851) : warning C4677: 'WriteIrcMsg': signature of non-private member contains assembly private type 'IRC::Parse'
[02:00:28] <wizardrydragon> c:\documents and settings\peter\my documents\visual studio 2005\projects\dragonbot\dragonbot\ircparser.h(31) : see declaration of 'IRC::Parse'
[02:00:29] <wizardrydragon> ^^
[02:01:10] <Eagle_101> ok, probably am calling the wrong thing >.<
[02:01:33] <wizardrydragon> Nono
[02:01:38] <wizardrydragon> It looks like the write
[02:01:49] <wizardrydragon> is not properly interfacing with IRC::Parse
[02:03:14] --- Marzo_away is now known as Marzo
[02:03:17] <Marzo> Back
[02:03:25] <Eagle_101> ok, I fixed it
[02:03:42] <Eagle_101> I did not need to pass the whole thing anyway
[02:04:19] <Eagle_101> hey Marzo wizardrydragon said my code was neat! >.> /me is still in shellshock
[02:04:29] <wizardrydragon> Hah
[02:04:43] <Marzo> I saw it
[02:04:48] <Eagle_101> wizardrydragon all fixed
[02:04:49] <wizardrydragon> Eagle's used to taking flak for the code organization and lack of GUIs :)
[02:04:52] <Eagle_101> don't worry about that
[02:05:06] <wizardrydragon> Oh Im not worrying
[02:05:12] <wizardrydragon> you just wanted to know what it was
[02:05:14] <wizardrydragon> so I told ya
[02:05:16] <wizardrydragon> :)
[02:05:18] <Eagle_101> :D
[02:05:19] <Eagle_101> thanks
[02:05:29] * Eagle_101 will fix those other 9 someday...
[02:06:00] <Eagle_101> anyway, you see the MatchCollection? in frmMain?
[02:07:32] <Eagle_101> wizardrydragon I might take some of this code in the botloop, and move to functions... of like code, so that we don't have to see that mess in the botloop
[02:07:48] <wizardrydragon> Im looking through commands right now
[02:07:51] <wizardrydragon> havent got to the form
[02:08:59] <Eagle_101> ah... not many changes at all to commands
[02:09:08] <Eagle_101> mainly to the bot loop
[02:09:09] <wizardrydragon> yep
[02:12:22] <wizardrydragon> heh
[02:12:39] <wizardrydragon> Yes you massacred the old bot loop into little bits didnt you? :)
[02:14:58] <Eagle_101> wizardrydragon yeah... had to
[02:15:04] <wizardrydragon> :)
[02:15:12] <Eagle_101> the bot loop is the core of the whole program
[02:15:20] <Eagle_101> evenutally I will move most to all of that to functions
[02:15:27] <Eagle_101> so it looks better...
[02:15:30] <wizardrydragon> :)
[02:15:37] <wizardrydragon> yeah that needs done
[02:15:42] <wizardrydragon> eventually
[02:15:52] <Eagle_101> the Commands::Parse object is nice, but it can't do some stuff
[02:16:03] <Eagle_101> becuase of scope issues
[02:16:32] <wizardrydragon> yeah
[02:17:53] <Eagle_101> ok wiz, what is the format that you want for the !botname auth user add
[02:18:25] <wizardrydragon> well right now we hat
[02:18:34] <wizardrydragon> !bot auth user find
[02:18:40] <Eagle_101> no no no
[02:18:41] <wizardrydragon> why now just !bot user add
[02:18:43] <Eagle_101> the adding
[02:18:49] <wizardrydragon> yeah what Im saying is
[02:18:53] <Eagle_101> wizardrydragon I have not set up an IRC command
[02:18:58] <wizardrydragon> be consistent with the find
[02:19:03] <wizardrydragon> have the variables the same
[02:19:04] <Eagle_101> oh that is nothing
[02:19:07] <wizardrydragon> as needed
[02:19:07] <Eagle_101> no biggie
[02:19:10] <wizardrydragon> so
[02:19:12] <wizardrydragon> maybe
[02:19:14] <Eagle_101> there is only one var in the find
[02:19:17] <Eagle_101> u=name
[02:19:26] <Eagle_101> there are 5 I think in the add
[02:19:29] <wizardrydragon> !bot auth user add u=xxxx r=xxxx x=xxx l=xxxx
[02:19:34] <wizardrydragon> u=user
[02:19:36] <wizardrydragon> r=reason
[02:19:38] <Eagle_101> right
[02:19:39] <wizardrydragon> x=expiry
[02:19:44] <wizardrydragon> l=level
[02:19:48] <Eagle_101> ok
[02:19:56] <Eagle_101> um aint that t=expiry?
[02:19:59] <Eagle_101> for time?
[02:20:04] <wizardrydragon> hmm
[02:20:05] * Eagle_101 is thinking physics variables
[02:20:09] <Eagle_101> t is time!
[02:20:11] <wizardrydragon> x seems to make more sense
[02:20:14] <Eagle_101> x is a position in space
[02:20:17] <wizardrydragon> expiry
[02:20:21] <Eagle_101> >.>
[02:20:22] <wizardrydragon> no t in there
[02:20:24] <wizardrydragon> plus
[02:20:28] <wizardrydragon> t would be the time added
[02:20:30] <wizardrydragon> internally
[02:20:32] <wizardrydragon> I would think
[02:20:40] <Eagle_101> meh...
[02:20:42] <Eagle_101> whatever >.>
[02:20:47] * Eagle_101 just does it
[02:20:57] <wizardrydragon> :D
[02:21:21] <Marzo> Why not make a linear combination of t and x and call it v?
[02:21:26] <wizardrydragon> LOL
[02:21:33] * Marzo ducks due to the obscure physics joke
[02:22:17] <Marzo> (yes, I know that there is an obvious joke I overlooked when I made that one -- what I was thinking was far more obscure than velocity)
[02:22:20] <Eagle_101> Marzo haha
[02:22:20] <Eagle_101> :D
[02:22:32] <Eagle_101> oh >.>
[02:22:37] * Eagle_101 was thinking velocity >.>
[02:22:38] * wizardrydragon is laughing his ass off
[02:23:40] <Marzo> In relativity theory, it is common in certain situations to switch from the usual (t, x) vars to double-null coordinates (u, v) = (t + x, t - v)
[02:23:57] <Marzo> er... (t + x, t - x)
[02:24:01] <wizardrydragon> :)
[02:24:15] * wizardrydragon caught that and hes NOT a physics major
[02:25:06] <Marzo> At least here in Brasil, you don't see these kinds of things when you are an undergrad student
[02:25:17] <wizardrydragon> Hehe
[02:25:25] <wizardrydragon> No Ive just read up on relativity :)
[02:25:29] <Marzo> (unless you are me, of course, which saw that kind of thing far before high school)
[02:25:34] <wizardrydragon> Hehe
[02:25:46] <wizardrydragon> I dont even have that kin of thing in my physics
[02:26:06] <wizardrydragon> my prof had an unhealthy obsession with Tesla
[02:26:34] <Marzo> Well, any obsession with Tesla is an unhealthy one
[02:26:47] <Marzo> (he was quite mad, you know)
[02:26:50] <wizardrydragon> Precisely.
[02:27:22] <wizardrydragon> And in competition with other physicists
[02:27:32] <Marzo> :-)
[02:27:34] <wizardrydragon> He made some crank announcements just to one up them
[02:27:44] <Marzo> He beat the competition by far
[02:27:51] <wizardrydragon> :)
[02:28:05] <wizardrydragon> The induction thing was kinda out there :)
[02:28:05] <Marzo> Nowadays, Tesla would be considered a crank or a crackpot
[02:28:20] <Marzo> His actual contributions to Physics notwithstanding
[02:28:28] <wizardrydragon> Hehe
[02:28:51] <wizardrydragon> I think theres very few physicists these days that are high profile and not either cranks or considered cranks
[02:29:17] <Marzo> Penrose and Hawkings come to mind
[02:29:32] <wizardrydragon> Those two are the only ones that come to mind for me
[02:29:38] <Marzo> :-)
[02:30:08] <wizardrydragon> And they have their critics too
[02:30:10] <Marzo> Well, there is Wheeler, Bohm, Cohen, Griffiths
[02:30:30] <wizardrydragon> Though criticising Hawkings has been career suicide for at least one physicist
[02:30:56] <Marzo> I will grant you that he is competent
[02:31:36] <wizardrydragon> The one thing I like about Hawkings is he looks at all of the angles, without going out on a limb to prove the unprovable
[02:31:42] <Marzo> My opinion of him went quite up after reading his monograph with Ellis
[02:32:07] <Marzo> ("The Large Scale Structure of Space-Time")
[02:32:20] <wizardrydragon> The one thing I like about him is his humility really. He doesnt claim that any of his theories are any better than anyone elses, just that theyre his ideas
[02:39:21] <Eagle_101> ok, the user add should work... it is not restricted to users with x level yet :D
[02:39:29] <Eagle_101> but the function should be working
[02:39:53] <wizardrydragon> yay
[02:40:04] --> eagle101bot has joined #tfl
[02:40:07] --- ChanServ gives voice to eagle101bot
[02:40:30] <Marzo> What, wizardry, you won't demand that Eagle_101 commits it?
[02:40:32] * Marzo ducks
[02:40:37] <wizardrydragon> Haha
[02:40:37] <Eagle_101> !eagle101bot auth user add u=Marzo r=becuase t=1 x=5
[02:40:40] <Marzo> :-p
[02:40:43] <wizardrydragon> lol
[02:40:46] <wizardrydragon> best reason ever
[02:40:52] <Marzo> Indeed
[02:40:58] <wizardrydragon> :)
[02:41:12] <Eagle_101> !eagle101bot auth user add u=Marzo r=becuase t=1 x=5
[02:41:51] <Eagle_101> !eagle101bot auth user add u=Marzo r=becuase l=1 x=5
[02:41:54] <eagle101bot> l=#### : Please use only positive numbers in this field. This is the user's access level.
[02:42:11] <Eagle_101> double check with me...
[02:42:16] <Eagle_101> 1 is positive right?
[02:42:22] <Marzo> :-)
[02:42:24] <wizardrydragon> No
[02:42:27] <wizardrydragon> not at all
[02:42:34] <wizardrydragon> Whyever would 1 be positive?
[02:43:04] <Eagle_101> !eagle101bot auth user add u=Marzo r=becuase l=1 x=5
[02:43:17] <Eagle_101> meh
[02:43:25] <Eagle_101> it is going '1 '
[02:43:32] <Eagle_101> and bonking out becuase of the ' '
[02:43:34] <Eagle_101> >.<
[02:43:35] <wizardrydragon> heh
[02:43:37] * Eagle_101 fixes regex
[02:43:49] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[02:45:25] <Eagle_101> ok, should be fixed now...
[02:45:39] <Eagle_101> oh btw, the order of the parameters is NOT important
[02:46:39] <wizardrydragon> :)
[02:46:46] <wizardrydragon> it shouldnt be
[02:47:02] --> eagle101bot has joined #tfl
[02:47:02] --- ChanServ gives voice to eagle101bot
[02:47:09] <Eagle_101> !eagle101bot auth user add u=Marzo r=becuase l=1 x=5
[02:47:11] <eagle101bot> User Marzo was added at level 1 with a reason of : becuase by :Eagle_101!i=Eagle_10@unaffiliated/eagle101/x-0000001 PRIVMSG #tfl :!eagle101bot auth user add u=Marzo r=becuase l=1 x=5 for a period of 5 minutes.
[02:47:23] <Eagle_101> oh fsck
[02:47:26] <wizardrydragon> your user regex didnt work
[02:47:34] <wizardrydragon> :)
[02:47:38] <Marzo> :-)
[02:47:47] <Eagle_101> heh
[02:48:02] <Marzo> Back to the drawing board
[02:48:08] <wizardrydragon> :)
[02:48:10] <Eagle_101> no... just tweak a regex
[02:48:15] <wizardrydragon> Regex is a fickle beast
[02:48:23] <Eagle_101> yeah and I love them :D
[02:48:25] <Marzo> Not if you use it right
[02:48:38] <Marzo> That being said, *NO*ONE* ever uses them right :-)
[02:48:45] <Eagle_101> Marzo ;)
[02:49:10] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[02:49:30] <Eagle_101> try this
[02:49:38] <Eagle_101> when it comes up
[02:50:25] <Marzo> Shoot
[02:51:29] --> eagle101bot has joined #tfl
[02:51:29] --- ChanServ gives voice to eagle101bot
[02:51:39] <Eagle_101> !eagle101bot auth user add u=Marzo r=becuase l=1 x=5
[02:51:41] <eagle101bot> User Marzo was added at level 1 with a reason of : becuase by Eagle_101!i=Eagle_10@unaffiliated/eagle101/x-0000001 for a period of 5 minutes.
[02:51:46] <Eagle_101> there!
[02:51:55] <wizardrydragon> Er, hmm
[02:52:13] <Marzo> It is still buggy
[02:52:25] <Eagle_101> !eagle101bot auth user delete u=Marzo
[02:52:25] <wizardrydragon> I think he intends to have the hostmask
[02:52:27] <eagle101bot> user Marzo was not deleted becuase the user was not found in the database.
[02:52:27] <Marzo> 'Eagle_101!i=Eagle_10@'
[02:52:31] <wizardrydragon> I think he intends to have the hostmask
[02:52:33] <wizardrydragon> But
[02:52:34] <Eagle_101> Marzo that was intentional
[02:52:39] <wizardrydragon> You should maybe have it as
[02:52:55] <wizardrydragon> "by user xxxx (hostmask yyyy)"
[02:53:18] <Eagle_101> yummy more regex >.<
[02:53:23] <wizardrydragon> :)
[02:53:28] <Eagle_101> not really hard, but is it really needed?
[02:53:55] <Eagle_101> I can drop the hostmask if we want...
[02:54:02] <wizardrydragon> itd be nice
[02:54:05] <Eagle_101> ok
[02:54:10] <wizardrydragon> I want the output to be as readable as possible
[02:54:12] <Eagle_101> give me a moment
[02:54:14] <wizardrydragon> the hostmask is handy
[02:54:20] <wizardrydragon> but not 100% neccesary
[02:54:30] <Eagle_101> but do you want perhaps for the code to record it?
[02:54:40] <Eagle_101> but only output the nick?
[02:55:14] <Eagle_101> that would be the best of both worlds
[02:55:22] <wizardrydragon> that'd work
[02:55:26] <Eagle_101> or we can just do the nick only
[02:55:35] <Eagle_101> as I really doubt where the hostmask would be wanted
[02:55:49] <Eagle_101> I mean we will know who is permitted to approve people
[02:55:54] <wizardrydragon> hmm
[02:55:57] <wizardrydragon> I would prefer
[02:56:00] <wizardrydragon> on an internal level
[02:56:03] <wizardrydragon> it be by hostmask
[02:56:10] <wizardrydragon> for security reasons
[02:56:12] <Eagle_101> ok, then hostmask you get
[02:56:13] <Eagle_101> :D
[02:56:18] <Eagle_101> let me tweak the output
[02:57:46] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[03:01:38] --> eagle101bot has joined #tfl
[03:01:38] --- ChanServ gives voice to eagle101bot
[03:01:50] <Eagle_101> !eagle101bot auth user add u=Marzo r=becuase l=1 x=5
[03:01:51] <eagle101bot> User Marzo was added at level 1 with a reason of : becuase by Eagle_101 for a period of 5 minutes.
[03:01:55] <Eagle_101> there :D
[03:02:11] <Eagle_101> !eagle101bot auth user delete u=Marzo
[03:02:13] <eagle101bot> user Marzo was not deleted becuase the user was not found in the database.
[03:02:19] <Eagle_101> ok, find me some bugs folks
[03:02:22] <Marzo> lol
[03:02:43] <wizardrydragon> hmm
[03:02:46] <Marzo> BTW, you are spelling 'because' wrong
[03:02:52] <wizardrydragon> Lol
[03:02:53] <Eagle_101> Marzo heh
[03:02:59] <wizardrydragon> Hmm
[03:03:05] <Eagle_101> Marzo spelling is not my strong suite
[03:03:19] <wizardrydragon> hmm
[03:03:43] <wizardrydragon> 10 01User Marzo was added at level 1 with a reason of becuase. Added by Eagle_101 for a period of 5 minutes.
[03:03:49] <wizardrydragon> Would look better
[03:03:51] <wizardrydragon> I think
[03:04:05] <Eagle_101> ok, other then formatting... which you can do yourself :D
[03:04:07] <Eagle_101> bugs?
[03:04:15] <wizardrydragon> heh
[03:04:31] <wizardrydragon> heres a thought
[03:04:35] <Eagle_101> try to crash it
[03:04:38] <wizardrydragon> but I dont know how easy it would be
[03:04:39] <Eagle_101> you guys all have access
[03:04:45] <wizardrydragon> pgkbots duration
[03:04:54] <Eagle_101> wizardrydragon yeah already in the design
[03:05:01] <Eagle_101> just not implented yet
[03:05:08] <wizardrydragon> has 5h = five hours 5m = five minutes 5s = five seconds
[03:05:10] <Eagle_101> well actually it is >.>
[03:05:14] <wizardrydragon> and you can mix them up
[03:05:16] <wizardrydragon> ie
[03:05:16] <Eagle_101> oh >.>
[03:05:25] <wizardrydragon> 1h30m = hour and a half
[03:05:27] <Eagle_101> that could be a bit harder >.<
[03:05:38] <wizardrydragon> you could look at how pgkbot does it
[03:05:40] <wizardrydragon> if you know perl
[03:05:43] <Eagle_101> but yeah it can be done, file that on feature requests
[03:05:49] <Eagle_101> wizardrydragon I don't know perl >.>
[03:05:56] <Eagle_101> that is a luxery
[03:06:20] <wizardrydragon> itd just be a big regex check really I think
[03:06:27] <wizardrydragon> find any letters in the string
[03:06:34] <Eagle_101> wizardrydragon yes, just I would rather be working on the auth fisrt
[03:06:37] <Eagle_101> first
[03:06:40] <wizardrydragon> and treat the preceeding number
[03:06:42] <wizardrydragon> yeah I know
[03:06:51] <wizardrydragon> Im just bouncing around the idea while I have it
[03:06:57] <Eagle_101> problem is making the system timespan put up with it
[03:07:03] <Eagle_101> wizardrydragon add it to feature requests
[03:07:10] <Eagle_101> there is such a thing on SF?
[03:07:17] <Eagle_101> somewhere?
[03:07:17] <Marzo> Yes
[03:07:41] <Eagle_101> yeah add the idea there, for now though lets get some functionality into the bot before we go with the fluff
[03:07:50] <wizardrydragon> heh
[03:08:12] <Eagle_101> I doubt with this bot you will grant access for more then 15 minutes
[03:08:31] <Eagle_101> as you will be constantly renewing yourself with each new command given
[03:08:35] <wizardrydragon> hmm
[03:08:38] <wizardrydragon> true
[03:08:50] <wizardrydragon> maybe just m and s when we get to it then
[03:08:52] <wizardrydragon> its no biggie
[03:08:55] <wizardrydragon> but would be nice
[03:08:56] <Eagle_101> yeah :D
[03:09:04] <Eagle_101> feature requests..
[03:09:10] <Eagle_101> now find me some cockroaches
[03:09:12] <Eagle_101> >.<
[03:09:28] <wizardrydragon> lol
[03:09:34] <Marzo> Praying mantises are much more fun :-)
[03:09:50] <Eagle_101> Marzo would be harder to catch :D
[03:09:56] <Eagle_101> wizardrydragon try to crash it please
[03:10:05] <Eagle_101> give it invalid input
[03:10:12] <Eagle_101> and see what it does...
[03:10:54] <Marzo> !eagle101bot no_command foo@bar
[03:10:57] <wizardrydragon> !eagle101bot auth user add u=1 r=Eagle_101 l=cuz he sucks x=-1
[03:10:59] <eagle101bot> l=#### : Please use only positive numbers in this field. This is the user's access level.
[03:11:01] <eagle101bot> x=#### : Please use only positive numbers in this field. This is the amount of time in minutes, said user will have access. (from last active command user makes)
[03:11:03] <wizardrydragon> hehe
[03:11:44] <Eagle_101> Marzo it did not even recognize yours >.>
[03:11:51] <Marzo> Indeed
[03:12:11] <Marzo> It should have recognized it as no command at all
[03:12:22] <Marzo> And smacked me down for it :-)
[03:12:25] <Eagle_101> Marzo mmmmm true :D
[03:12:41] <wizardrydragon> heh
[03:12:42] <Eagle_101> but before I give it a potential flood condition
[03:12:45] <Marzo> Maybe along the lines of my poke command
[03:12:51] <Eagle_101> I want to put in the user ignore object
[03:12:52] <Marzo> Liek this:
[03:12:58] * Marzo pokes Eagle_101 repeatedly with the Death Scythe in an attempt to get a reply
[03:12:59] <wizardrydragon> "Liek"?
[03:13:05] <Marzo> *like
[03:13:08] <wizardrydragon> hehe
[03:13:51] <Eagle_101> mmm, yeah that can be done once I get it ignoring many requests in short period of time by same user
[03:13:56] <wizardrydragon> Yeah
[03:14:06] <Marzo> Indeed
[03:14:16] <Eagle_101> I have an object designed for it, just not implented
[03:14:33] <Eagle_101> wizardrydragon how do I add a new file to the CVS?
[03:14:43] <wizardrydragon> cvs add
[03:14:47] <Eagle_101> ok
[03:14:47] <wizardrydragon> right click the file
[03:14:50] <wizardrydragon> cvs add
[03:14:55] <wizardrydragon> next time you commit
[03:14:57] <wizardrydragon> it will be added
[03:15:01] <Eagle_101> nice :D
[03:15:04] <Eagle_101> sounds good :D
[03:15:10] <wizardrydragon> :)
[03:15:22] <Eagle_101> whos bot is exultbot?
[03:15:28] <wizardrydragon> wjp
[03:15:32] <Eagle_101> and what is tfl?
[03:15:43] * wizardrydragon pokes the topic
[03:16:09] <Eagle_101> Ultima VII: The Feudal Lands - the official channel | This channel is publicly logged! Use ?log to get the url | Website available at http://www.u7feudallands.com | SIFixes and UCC information available at http://seventowers.u7feudallands.com | Alpha Release coming soon! | Voiced users are developers for Exult or TFL | dragonBot is SF.net approved! ~ http://sourceforge.net/projects/dragonbot
[03:16:22] <Eagle_101> the feudal lands... ok, what is that?
[03:16:30] * wizardrydragon pokes the website
[03:18:01] <Eagle_101> mmm ok
[03:18:15] <Marzo> The short version: it is a mod of an old game, using a new game engine, which adds a world from an even older game
[03:18:24] <wizardrydragon> :)
[03:18:30] <Eagle_101> ah nice :D
[03:18:57] <wizardrydragon> hey marzo
[03:19:03] <wizardrydragon> while im thinking about it
[03:19:07] <Marzo> The older game is Ultima 1, the old game is Ultima 7 and the new engine is Exult
[03:19:18] <Marzo> Shoot
[03:19:19] <wizardrydragon> any thoughts on the different shapes for armor?
[03:19:21] <Eagle_101> ah nice :D
[03:19:26] <wizardrydragon> look into that any?
[03:20:10] <Marzo> Different sprites for each version of each character, plus turning on usecode events for the shapes to set the shape number of the NPC
[03:20:24] <wizardrydragon> well
[03:20:26] <Marzo> For the avatar, I still have to add the set_skin_color function
[03:20:36] <wizardrydragon> i bounced it around some more
[03:20:48] <Marzo> And then add new skins wearing the armor
[03:20:59] <wizardrydragon> Looking at things
[03:21:07] <wizardrydragon> I dont think the function side would be too hard
[03:21:11] <wizardrydragon> its just an art workload
[03:21:17] <Marzo> Yep
[03:21:36] <wizardrydragon> I thought that we could do it just for the avatar at first.
[03:21:39] <wizardrydragon> I can handle that.
[03:21:45] <wizardrydragon> I could do the art myself.
[03:21:56] <Marzo> And of the boring kind -- pasting and aligning several different armor shapes on top of several sprites
[03:22:00] <Marzo> Or
[03:22:02] <Marzo> Hm
[03:22:09] <wizardrydragon> Well
[03:22:12] <wizardrydragon> I thought for chain
[03:22:36] <wizardrydragon> take the chainmail guards, change the tabards to have the right hearaldry and cut and paste the head over them
[03:22:39] <wizardrydragon> not too hard
[03:22:46] <wizardrydragon> "leather" Im a little less sure about
[03:23:05] <Marzo> For plate there are paladins
[03:23:11] <wizardrydragon> platemail could be the avatars normal armour
[03:23:15] <wizardrydragon> which is pretty much platemail
[03:23:24] <wizardrydragon> magic armour less sure about, again
[03:23:30] <Marzo> And what about when you are *not* wearing plate?
[03:23:46] <wizardrydragon> well then it would be another shape :)
[03:23:49] <Eagle_101> wizardrydragon just so you know... the new add user function is 55 lines long >.>
[03:23:54] <wizardrydragon> hehe
[03:24:29] <Eagle_101> anyway I am tired and I am turning in for the night. >.>
[03:24:39] <wizardrydragon> Take care eagle
[03:24:44] <Eagle_101> thanks :D
[03:24:47] <Marzo> Yeah, that is a good idea
[03:24:50] <Marzo> Good night
[03:24:54] <Eagle_101> night Marzo
[03:24:58] <-- Eagle_101 has left IRC ("see you later!!!!")
[03:25:06] <-- eagle101bot has left IRC (Read error: 104 (Connection reset by peer))
[03:25:09] <Marzo> (particularly since it is 01:25 AM in my time zone)
[03:25:13] <wizardrydragon> Hehe
[03:25:18] <wizardrydragon> Well
[03:25:30] <wizardrydragon> If you could put in an intrinsic for a pernament shape change,
[03:25:40] <Marzo> One thing I was thinking about
[03:25:50] <wizardrydragon> I could implement it later on down the road when we have the shapes squared away
[03:25:53] <Marzo> It would be a lot of work, but could work
[03:25:59] <wizardrydragon> Oh?
[03:26:00] <wizardrydragon> Go on
[03:26:23] <Marzo> Adding some sort of overlaying things, similar to the way weapons are done
[03:26:29] <wizardrydragon> !
[03:26:32] <wizardrydragon> That
[03:26:33] <Marzo> With lots more sprites, naturally
[03:26:36] <wizardrydragon> would work well
[03:26:39] <wizardrydragon> but yes
[03:26:41] <wizardrydragon> lots of work
[03:26:43] <wizardrydragon> but then
[03:26:44] <wizardrydragon> hmm
[03:26:59] <wizardrydragon> you just need "naked" frames for each "head" and skin colour, really
[03:27:01] <Marzo> It could be even extended for shields too
[03:27:07] <wizardrydragon> Yeah
[03:27:09] <Marzo> Yeah, more or less
[03:27:29] <wizardrydragon> So it would cut down on the redundant clothes sprites in a way
[03:27:31] <wizardrydragon> :)
[03:27:34] <Marzo> Loads and loads of work
[03:27:37] <wizardrydragon> nd would allow helmets
[03:27:38] <wizardrydragon> etc
[03:28:40] <wizardrydragon> hmm
[03:28:47] <wizardrydragon> if you could put in the framework for that
[03:28:59] <wizardrydragon> in a way where we can still use the existing sprites in the meantime
[03:29:04] <Marzo> One of the main difficulties is that the original NPC shapes are not exact matches in terms of arm/leg size/position
[03:29:04] <wizardrydragon> we could just fully enable it
[03:29:25] <wizardrydragon> Yes, but we would have to probably semi-scratchbuild naked sprites for them anyways
[03:29:39] <Marzo> True
[03:29:54] <Marzo> Maybe by stealing the SI avatars and paste heads over them
[03:29:58] <wizardrydragon> yeah
[03:30:06] <wizardrydragon> pretty much
[03:30:13] <wizardrydragon> as long as they lined up that'd be fine
[03:30:18] <Marzo> It would still be lots of work, even in the graphic side of things
[03:30:31] <wizardrydragon> yeah
[03:30:32] <wizardrydragon> hmm
[03:30:37] <wizardrydragon> i like the idea of it
[03:30:47] <Marzo> Argh -- there is one problem
[03:30:50] <Marzo> Hair
[03:30:58] <wizardrydragon> maybe
[03:31:06] <wizardrydragon> true
[03:31:07] <Marzo> Specifically, male/female versions and the different female hairs
[03:31:08] <wizardrydragon> hmm
[03:31:26] <wizardrydragon> hmm
[03:31:31] <Marzo> Hm
[03:31:33] <wizardrydragon> what UO does is have the base model bald
[03:31:37] <wizardrydragon> and then put on armor
[03:31:40] <wizardrydragon> and then hair
[03:31:44] <wizardrydragon> or helmet
[03:31:46] <wizardrydragon> as appropriate
[03:31:48] <Marzo> I was thinking of that
[03:31:48] <wizardrydragon> that could work
[03:32:07] <Marzo> In essence, it would be another paperdolling scheme
[03:32:21] <wizardrydragon> yep
[03:32:29] <wizardrydragon> hmm
[03:32:35] <wizardrydragon> my one concern
[03:32:40] <wizardrydragon> is less the workload
[03:32:41] <wizardrydragon> and more
[03:32:51] <wizardrydragon> if we're dynamically making the shapes like that
[03:32:51] <Marzo> I have counted 100 concerns so far
[03:32:54] <wizardrydragon> for each npc
[03:33:00] <wizardrydragon> is performance
[03:33:21] <Marzo> That is one of them
[03:33:47] <Marzo> I am thinking hard of how exactly it could even be done
[03:33:56] <wizardrydragon> well
[03:34:05] <Marzo> Adding simple overlays, like a shield, would be simple
[03:34:11] <wizardrydragon> consider both just the whole shape replacement and that dynamic one
[03:34:11] <Marzo> (relativelly)
[03:34:22] <wizardrydragon> compare the feasibility and make a call which you prefer :)
[03:34:35] <Marzo> :-)
[03:34:40] <wizardrydragon> a sheild overlay could be done seperately for either anyways
[03:34:44] <wizardrydragon> and I would like that
[03:34:52] <Marzo> Strictly speaking, only joinable NPCs would need to use this new system
[03:34:57] <wizardrydragon> yes
[03:35:16] <wizardrydragon> if we did the whole nine yards with dynamic ones though
[03:35:24] <wizardrydragon> it would be nice to have that for npcs too
[03:35:48] <Marzo> Good point
[03:36:12] <wizardrydragon> it would
[03:36:14] <wizardrydragon> completely
[03:36:21] <wizardrydragon> rule out needing shapes for all new npcs
[03:36:24] <Marzo> At any rate, armor would have to have 32 frames
[03:36:28] <wizardrydragon> so if we did do that
[03:36:49] <wizardrydragon> it would cut down on the art workload down the evelopment grapevine considerably
[03:36:57] <wizardrydragon> (more work now = less work later, kind of thing_
[03:37:40] <wizardrydragon> what I could do
[03:37:47] <wizardrydragon> is cut the existing shapes
[03:37:52] <wizardrydragon> into different armour sections
[03:38:06] <wizardrydragon> and we could usae those
[03:38:13] <wizardrydragon> modifying them as needed to line up right
[03:38:13] <Marzo> In a way, a library of body parts... why does that ring a bell? :-)
[03:38:17] <wizardrydragon> hehe
[03:38:30] <wizardrydragon> :)
[03:38:35] <wizardrydragon> i think
[03:38:37] <wizardrydragon> if we did that
[03:38:40] <wizardrydragon> the dynamic thing
[03:38:42] <wizardrydragon> would be easy
[03:39:38] <Marzo> I can already imagine the glowing sprite of an avatar wearing magic armor all over
[03:39:59] <wizardrydragon> hehe
[03:40:24] <wizardrydragon> "Did you get possessed by a bane or are you just happy to see me?"
[03:40:30] <Marzo> lol
[03:40:52] <wizardrydragon> More realisitcly probably just take armour and have the highlights glow
[03:41:02] <wizardrydragon> like the magic plate in the si paperdolls
[03:41:07] <Marzo> :-)
[03:41:25] <Marzo> Although it would sure be fun to have it glow like the in-game graphics :-)
[03:41:51] <wizardrydragon> :)
[03:41:55] <wizardrydragon> the helmet does
[03:42:00] <wizardrydragon> the boots do
[03:42:02] <Marzo> "Hey, look, that is the avatar!" "How do you know?" "Who else would walk around glowing like that?"
[03:42:04] <wizardrydragon> that would be funny enough
[03:43:31] <Marzo> For simplicity -- and not that it would be easy to notice otherwise -- gloves and boots should be displayed
[03:43:42] <Marzo> Have them part of the arms/legs
[03:44:08] <Marzo> Hm
[03:44:15] <wizardrydragon> wouldnt be hard
[03:44:24] <Marzo> There should be a way to enable/disable that for certain shapes, though
[03:44:28] <wizardrydragon> though there could be a lot of potential for "clipping problems"
[03:44:29] <Marzo> e.g., Cyclops
[03:44:32] <wizardrydragon> though
[03:44:34] <wizardrydragon> yes
[03:44:44] <wizardrydragon> maybe
[03:44:59] <wizardrydragon> distinguish between "human" "animal" and "monster" npc shapes?
[03:45:11] <Marzo> I'd say body, legs, torso, cape, helmet/hair in that order
[03:45:41] <Marzo> ('body' as in, the NPC's naked body)
[03:46:09] <wizardrydragon> yep
[03:46:14] <wizardrydragon> also
[03:46:17] <wizardrydragon> it would be nice
[03:46:25] <wizardrydragon> but tangeantal and in the future
[03:46:37] <wizardrydragon> to have npcs react to the kind of dress (or undress) youre in
[03:46:53] <Marzo> In any case, I think I will first finish de-hard-coding data first, as well as changing the shape info to a txt instead of dat files
[03:47:01] * wizardrydragon notes above comment about avatar and magic armour :)
[03:47:07] <Marzo> :-)
[03:47:12] <wizardrydragon> yes
[03:47:20] <wizardrydragon> thatd be the groundwork
[03:47:21] <Marzo> It would be kind of a requirement to do this correctly
[03:47:25] <Marzo> Yes
[03:49:19] <wizardrydragon> :)
[03:50:25] <Marzo> Fun in BG:
[03:50:41] <Marzo> create a file called 'avatar_data.txt' in your patch dir
[03:50:48] <Marzo> Then, add the following lines:
[03:50:54] <Marzo> %%section multiracial_table
[03:50:58] <Marzo> :4/0/504/504/286/2/293/0
[03:50:58] <Marzo> %%endsection
[03:51:16] <Marzo> Create a new game and look through the races
[03:51:33] <wizardrydragon> Hehe
[03:51:57] <Marzo> Hey, why didn't it work?
[03:52:13] <wizardrydragon> lol
[03:55:33] <Marzo> Ack
[03:56:14] <wizardrydragon> Ack?
[03:56:33] <Marzo> Six missing underscores
[03:57:14] <Marzo> You can make it work for now by naming the file 'avatardata.txt'
[03:57:19] <Marzo> That will be fixed
[03:58:08] <wizardrydragon> hehe
[03:58:30] <Marzo> There is still a bug in that it didn't start out with the correct skin
[03:58:33] <Marzo> Investigating
[03:59:00] <wizardrydragon> :)
[03:59:06] <Marzo> Found it
[03:59:38] <Marzo> You can cycle through the skins with Alt+S, though
[03:59:59] <wizardrydragon> :)
[04:00:37] <Marzo> Now you can live up to your name :-)
[04:00:47] <wizardrydragon> lol
[04:01:16] <Marzo> Well, let me commit the bugfixes
[04:01:30] <wizardrydragon> :)
[04:01:54] <Marzo> (out of curiosity: did you test my suggestion?)
[04:02:00] <wizardrydragon> hehe yep
[04:02:02] <wizardrydragon> buggy
[04:02:06] <wizardrydragon> but neat
[04:02:18] <Marzo> It will work better in the next snapshot
[04:02:23] <wizardrydragon> ^_^
[04:02:44] <Marzo> And I even specified two face files, one of which is used when flag 33 is set
[04:02:55] <Marzo> *files->shapes
[04:03:19] <wizardrydragon> hehe
[04:04:51] <Marzo> One thing which I discovered recently which it is important (and which I should document somehow): static vars set to objects (actual objects, not classes) in UCC are neither saved nor loaded
[04:05:04] <wizardrydragon> ooh
[04:05:06] <wizardrydragon> ouch
[04:05:13] <Marzo> I intend to fix that, but it is much harder than I first thought
[04:05:17] <wizardrydragon> :)
[04:05:38] <Marzo> Static classes were also not saved, but that was easy enought to fix
[04:06:02] <Marzo> (and I fixed it at around the time I discovered, which is when I rewrote the keyring code)
[04:06:35] <wizardrydragon> :)
[04:06:37] <Marzo> I will have to study something about serialization to fix the static objects
[04:06:47] <wizardrydragon> fun
[04:07:01] <Marzo> Well, for NPCs at least it will be truly easy
[04:07:34] <Marzo> Monsters, also, will be relativelly easy
[04:07:40] <wizardrydragon> :)
[04:08:05] <Marzo> Many other objects could be saved by giving their chunk # as well as the order in which they are saved
[04:08:10] <wizardrydragon> hmm
[04:08:20] <Marzo> But anything inside a container would be trouble
[04:08:25] <wizardrydragon> yes
[04:08:39] <Marzo> Not to mention that a chunk need not have been loaded by the time the var is
[04:08:50] <wizardrydragon> maybe have a "contained_by" property?
[04:08:50] <Marzo> Which could mean trouble
[04:09:09] <Marzo> The problem is putting it in a binary format
[04:09:14] <wizardrydragon> yes
[04:09:27] <Marzo> I have some ideas, such as using a flag to tell Exult what has been saved
[04:09:38] <Marzo> Right now, a zero is being written
[04:09:43] <Marzo> (4 bytes)
[04:10:03] <wizardrydragon> heh hmm
[04:10:11] <Marzo> So I could use the first byte to say how Exult should treat the rest
[04:10:49] <Marzo> Say, a '01' byte could mean 'the next 2 bytes form an NPC number, skip the fourth byte '
[04:10:55] <wizardrydragon> yeah
[04:11:13] <wizardrydragon> yay for hex format documents :)
[04:12:29] <Marzo> A '02' could be 'next two bytes are a chunk #, third byte is map num, next 4 bytes specify which object this is'
[04:12:32] <Marzo> And so on
[04:12:50] <wizardrydragon> yes
[04:12:54] <Marzo> In any case, like I said, the problem is that the chunk/map need not have been loaded
[04:13:12] <Marzo> And loading a map/chunk only to dereference a variable would be overkill
[04:13:21] <wizardrydragon> yes
[04:13:22] <Marzo> Hm
[04:14:22] <Marzo> '03' is a monster, next two bytes indicate which of the living, in-map monsters (as monsters dead or cached-out are neither saved nor loaded by Exult)
[04:14:41] <wizardrydragon> yep
[04:15:06] <Marzo> Not to mention objects that had the temporary flag but which were cached-out (hence destroyed)
[04:15:18] <Marzo> That could be dangerous
[04:15:49] <Marzo> And I never thought of that before
[04:16:23] <wizardrydragon> Confessional debugging for the win
[04:16:29] <Marzo> ?
[04:16:53] <wizardrydragon> Is what they call it when you realize bugs talking to someone about your code :)
[04:17:13] <Marzo> :-)
[04:17:24] <Marzo> The problem is that this wasn't even my code :-)
[04:17:28] <wizardrydragon> hehe
[04:18:51] <Marzo> Well, I am off to bed
[04:18:57] <Marzo> 2:18 AM here
[04:19:00] <Marzo> Good night
[04:19:04] <Marzo> 2:19
[04:19:06] <Marzo> :-)
[04:20:40] <-- Marzo has left IRC ("Marzo vanishes suddenly.")
[05:52:58] <-- servus has left IRC ("Leaving")
[05:55:22] --> servus has joined #tfl
[05:56:19] <-- servus has left IRC (Read error: 104 (Connection reset by peer))
[05:59:20] --> servus has joined #tfl
[06:04:22] <-- servus has left IRC ("Leaving")
[06:07:49] --> servus has joined #tfl
[06:51:30] --> servus_ has joined #tfl
[06:52:10] --> servs__ has joined #tfl
[06:52:28] <-- servus has left IRC (Nick collision from services.)
[06:52:38] --- servs__ is now known as servus
[06:54:17] <wizardrydragon> Want me to kick the ghost, Servus?
[06:54:34] <servus> It'll d/c soon, and it's in plenty of channels, so no.
[06:54:41] <wizardrydragon> ok
[07:09:31] <-- servus_ has left IRC (Read error: 110 (Connection timed out))
[07:09:42] --- wizardrydragon is now known as nogardyrdraziw
[07:12:55] --- nogardyrdraziw is now known as wizardrydragon
[10:11:43] <-- wizardrydragon has left IRC (sterling.freenode.net irc.freenode.net)
[10:11:43] <-- servus has left IRC (sterling.freenode.net irc.freenode.net)
[10:11:44] <-- Kirben has left IRC (sterling.freenode.net irc.freenode.net)
[11:00:24] --> Kirben has joined #tfl
[11:00:52] --> servus has joined #tfl
[11:01:03] --> wizardrydragon has joined #tfl
[12:50:31] <-- Kirben has left IRC (Read error: 145 (Connection timed out))
[13:41:01] --> Eagle_101 has joined #tfl
[13:41:01] --- ChanServ gives voice to Eagle_101
[14:24:11] <-- Eagle_101 has left IRC ("see you later!!!!")
[14:37:44] --> Eagle_101 has joined #tfl
[14:37:44] --- ChanServ gives voice to Eagle_101
[14:52:43] <-- Eagle_101 has left IRC ("see you later!!!!")
[14:53:49] --> Eagle_101 has joined #tfl
[14:53:49] --- ChanServ gives voice to Eagle_101
[15:27:23] --> Eagle_Away has joined #tfl
[15:27:23] --- ChanServ gives voice to Eagle_Away
[15:39:19] <-- Eagle_Away has left IRC (Nick collision from services.)
[15:39:24] <-- Eagle_101 has left IRC (Nick collision from services.)
[15:39:34] --> Eagle_101 has joined #tfl
[15:39:34] --- ChanServ gives voice to Eagle_101
[15:55:55] <-- wizardrydragon has left IRC (Excess Flood)
[16:34:24] <-- Eagle_101 has left IRC (Nick collision from services.)
[16:34:29] --> Eagle_101 has joined #tfl
[17:21:29] <-- servus has left IRC (Read error: 110 (Connection timed out))
[18:19:03] --- ChanServ gives voice to Eagle_101
[19:29:21] <-- Eagle_101 has left IRC (Nick collision from services.)
[19:29:25] --> Eagle_101 has joined #tfl
[19:29:25] --- ChanServ gives voice to Eagle_101
[19:57:05] --> wizardrydragon has joined #tfl
[19:57:05] --- ChanServ gives voice to wizardrydragon
[21:36:58] --> Marzo has joined #tfl
[21:36:58] --- ChanServ gives voice to Marzo
[21:37:09] <Marzo> Hi
[21:37:24] <wizardrydragon> Hello
[21:38:20] <Marzo> wizardry: just to give you a heads up, before I announce it in the Phorum: Next year, I will be temporarily retiring from 'public' life during the first few months to focus in my thesis
[21:38:38] <wizardrydragon> Not a problem
[21:38:42] <Marzo> I will make some apparitions now and then, but I won't be as active as I have been
[21:38:43] <wizardrydragon> Do keep in contact though :)
[21:38:48] <Marzo> I intend to
[21:40:01] <Marzo> And since I can't go by a day without a gratuitous stab: if you want me to take a look at what you have done in TFL, now would be a good time to commit it :-)
[21:40:05] * Marzo ducks
[21:43:12] * wizardrydragon directs Marzo >> stderr
[21:43:19] * wizardrydragon thinks
[21:43:20] <Marzo> lol
[21:43:26] * wizardrydragon changes direct to Marzo >> null
[21:43:38] <Marzo> :-)
[21:44:06] <wizardrydragon> Seriously speaking the past four days have been rough, when Im in a litte better shape ill get it up
[21:45:27] <Marzo> brb
[21:45:32] --- Marzo is now known as Marzo_away
[21:48:28] --- Marzo_away is now known as Marzo
[21:48:32] <Marzo> back
[21:52:31] <Eagle_101> hi Marzo :D
[21:59:33] --- Marzo is now known as Marzo_away
[22:04:44] --> Kirben has joined #tfl
[22:04:44] --- ChanServ gives voice to Kirben
[22:11:06] --- Marzo_away is now known as Marzo
[22:21:23] --- Marzo is now known as Marzo_away
[22:24:11] <-- Eagle_101 has left IRC (Nick collision from services.)
[22:24:33] --> Eagle_101 has joined #tfl
[22:24:34] --- ChanServ gives voice to Eagle_101
[22:27:43] --- Marzo_away is now known as Marzo
[22:47:07] --- Marzo is now known as Marzo_away
[22:52:30] --- Marzo_away is now known as Marzo
[23:04:02] --- Marzo is now known as Marzo_away
[23:30:33] <-- Eagle_101 has left IRC (Nick collision from services.)
[23:31:28] --> Eagle_101 has joined #tfl
[23:31:29] --- ChanServ gives voice to Eagle_101
[23:47:30] <-- Eagle_101 has left IRC (Nick collision from services.)
[23:47:46] --> Eagle_101 has joined #tfl
[23:47:46] --- ChanServ gives voice to Eagle_101