#pentagram@irc.freenode.net logs for 16 Dec 2002 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage

[00:14:19] --- Dominus is now known as Dominus|away
[00:17:54] --- Dominus|away is now known as Dominus
[00:34:22] --> Kirben has joined #pentagram
[00:34:22] --- ChanServ gives channel operator status to Kirben
[00:34:28] <wjp> hi Kirben
[00:34:41] <Kirben> Hi
[01:04:04] <-- wjp has left IRC ("Zzzz...")
[01:08:00] <-- DarkeWork has left IRC ("DarkeWork has no reason")
[02:05:43] <-- Dominus has left IRC ("enough for now")
[06:41:47] --> Darke has joined #pentagram
[06:41:47] --- ChanServ gives channel operator status to Darke
[10:45:53] --> Colourless has joined #Pentagram
[10:45:59] --- ChanServ gives channel operator status to Colourless
[11:14:45] --> SharpTooth has joined #pentagram
[11:16:36] <-- Darke has left IRC (Remote closed the connection)
[11:21:00] --> Jett has joined #pentagram
[11:26:04] <-- SharpTooth has left IRC (Remote closed the connection)
[11:43:52] --- Colourless is now known as Cless|Away
[12:23:31] --- Cless|Away is now known as Colourless
[12:31:35] * Jett hmms... we really need a fleshed out FileSystem class. Pity we can't just steal^Wpilfer^Wacquire one from another project/library.
[12:32:39] <Colourless> yes it does need to be finished
[13:03:32] * Jett considers that the main problem with him doing anything on the FileSystem is that he really has no idea how to do it. *grin*
[13:04:07] <Colourless> sigh, i guess i should do it, since it was all mostly my ideas :-)
[13:04:43] <Jett> If you insist, I'll certainly not stand in your way! *grin*
[13:05:42] <Jett> Did we end up deciding if we were going to do it 'unix like' or 'exult like'? I think the answer is probably 'whichever is easiest'. *grin*
[13:05:55] <Colourless> unix like was my idea
[13:06:08] <Jett> My idea too.
[13:06:38] <Colourless> majority in channel votes for "Unix like"
[13:06:41] * Jett does remember someone thinking it was more 'exult like' and suggesting stuff, but it was too long ago, and he's too tired to remember. *grin*
[13:07:14] <Jett> exultbot will of course vote unix-like, so I'd say we have a majority. *grin*
[13:14:23] * Jett glares daggers at the clock and must go. Workstuff tommorrow and sleep needed now. Night!
[13:14:30] <Colourless> cya
[13:14:51] <-- Jett has left IRC ("*pawwave*")
[14:20:21] --> wjp has joined #pentagram
[14:20:21] --- ChanServ gives channel operator status to wjp
[14:20:22] <wjp> hi
[14:22:07] <Colourless> hi
[14:23:09] <wjp> so, when will the FileSystem be done? :-)
[14:23:54] <Colourless> not when i would expect it to be finished :-)
[14:24:04] <Colourless> you know how things are, always taking longer than anticipated
[14:26:45] <wjp> :-)
[14:27:32] <wjp> usecode interpreter is coming along nicely, in the meantime
[14:28:05] <wjp> it manages not to crash on most of the functions I feed it, even :-)
[14:28:15] <Colourless> such as my original idea that we could have pentagram finished with in the year... we still have 2 weeks to go, but i don't think we'll make it
[14:28:28] <wjp> wow, you seriously thought that? :-)
[14:28:32] <Colourless> s/finished/functioning/
[14:28:48] <wjp> depends on your definition of functioning, of course
[14:28:53] <Colourless> yes
[14:29:10] <Colourless> i seriously at least thought we'd be able to partly play the game :-)
[14:29:33] <wjp> I guess I didn't do overly much on pentagram the last months :/
[14:29:52] <wjp> trying hard to catch up now :-)
[14:29:54] <Colourless> now, a lot of hard work and in 2 weeks we could get the game to at least start, and probably crash pretty quickly :-)
[14:30:14] <wjp> yes :-)
[14:30:48] <Colourless> unlike exult, we already know all the u8 instrinsic functions, or at least their names
[14:30:53] * wjp nods
[14:31:55] <Colourless> anyway, i made some rumblings in #exult about making the shape drawing functions virtual. do you have any issues with that?
[14:32:17] <wjp> hm, not sure
[14:32:29] <wjp> I don't know how much of a speed hit that will cause
[14:32:44] <Colourless> i think it would actually be pretty minor
[14:35:01] <Colourless> the shape drawing functions are pretty complex and the amount of clock cycles taken up by the 2 indirections (currently 1 indirection is done) will be insignificant to the time taken to actually draw the shape
[14:37:47] <Colourless> the reason i want virtual functions is it's a real pain in the ass to support 16 and 32 bit drawing functions with the same code. Using virtual functions would allow me simple use of Template, which will simplify things no end
[14:39:09] <wjp> yeah, I guess it won't hurt too much
[14:39:10] <Colourless> it will also simplify using hardware opengl rendering as well, since I could just abstract the OpenGL renderer from the BaseRenderSurface class rather than go through all the if (opengl) crap i do now
[14:39:20] <wjp> shape drawing functions are still pretty high level after all
[14:40:50] <Colourless> as long as the code is written clean enough, we could just change it later, but i suspect we won't since it will be 'too hard' to come up with a different solution that works as well -)
[14:52:10] <wjp> we also need to decide on a configuration manager thingie
[14:52:23] <Colourless> what do you mean
[14:52:24] <Colourless> ?
[14:52:28] <Colourless> config class?
[14:52:32] <wjp> yeah
[14:52:52] <wjp> probably just borrow the exult one, and modify it a bit to allow for multiple config files?
[14:53:02] <Colourless> well as far as I was concerned the Exult Configuration class was 'about' ok, except i wanted a few changes
[14:53:27] <wjp> which changes?
[14:53:36] <Colourless> such as defered writing, read-only variables, access to the nodes so a value could be updated and all instances of it's use will be reflected instantly
[14:54:03] <Colourless> s/defered/deferred/
[14:54:26] <Colourless> also ability to have node being flaged as not to be written
[14:54:56] <Colourless> while it might seem like a big change overall it's not
[14:56:06] <Colourless> each node would have a 'flags' variable that signifies if it's read only, and if it's not to be written to disk.
[14:56:20] * wjp nods
[14:56:47] <wjp> the multiple-files change might fit into this too
[14:57:09] <Colourless> you'd make each node would have GetValue()/GetString() inlines, and have SetValue()/SetString() too for completeness sake
[14:58:07] <Colourless> multiple files could be handled in a number of ways
[14:58:16] <Colourless> the simplest would be to make each file a different tree
[15:00:08] <wjp> but that would mean you'd have to read from a different node than the one you need to write to
[15:00:54] <Colourless> well, it depends on how you want to handle writing then :-)
[15:01:15] <wjp> heh, true :-)
[15:11:50] <wjp> did somebody already volunteer to update the config class?
[15:12:58] <Colourless> well, i could deny saying i would do it, but there is a chance i might have said something somewhere in the distant past
[15:13:47] <wjp> :-)
[15:23:29] <wjp> maybe I'll find a bit of spare time this week to work on it a bit
[15:23:45] <wjp> do you want to put it in a separate directory, btw?
[15:24:12] <wjp> (since it should be entirely free of pentagram-specific code)
[15:24:23] <wjp> config/ or something? :-)
[15:31:30] <Colourless> i really don't care
[15:32:04] <wjp> good enough :-)
[15:33:12] <Colourless> first time i've managed to do this:
[15:33:13] <Colourless> Attempting to set vid mode: 640x480x32x1 Software Surface
[15:33:13] <Colourless> runtime error R6025
[15:33:13] <Colourless> - pure virtual function call
[15:35:35] <Colourless> that btw is what happens when you attempt to 'hack' in virtual functions without thinking what they are actually doing :-)
[15:35:41] <wjp> heh :-)
[15:49:31] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[16:04:54] --> Dominus has joined #pentagram
[16:05:01] <wjp> hi
[16:05:08] <Colourless> hi
[16:14:21] <Dominus> wjp: if you care you could change the status of pentagram to pre-alpha as actual coding has begun. Or maybe not, just mentioning it as someone nitpicked about it the other day...
[16:20:35] <wjp> done :-)
[16:20:41] <Dominus> he he
[16:23:42] <wjp> time to go; bbl
[16:23:45] <-- wjp has left IRC ("gtg")
[16:23:47] <Dominus> k
[16:23:51] <Dominus> see u
[16:23:58] <Dominus> damn too late :-)
[16:23:59] <Colourless> s... oh well, he's gone
[16:30:56] <Colourless> cvs server: [08:30:27] waiting for dominus's lock in /cvsroot/pentagram/pentagram/convert/u8
[16:31:24] <Colourless> is it just me, or is cvs running really really really really slowly?
[16:31:35] <Dominus> strangely enough I'm just updating my cvs tree
[16:33:54] <Dominus> and it is veeery slow
[16:33:54] <Dominus> now I'm done :-)
[16:34:18] <Colourless> feels like it took 10 minutes to update exult
[16:34:33] <Colourless> pentagram is taking an equally slow amount of time
[16:34:37] <Colourless> finished
[16:34:49] <-- Dominus has left IRC (vinge.freenode.net irc.freenode.net)
[16:35:19] --> Dominus has joined #pentagram
[16:38:23] <Colourless> wb :-)
[16:39:08] <Dominus> hey, you were gone, not me!!! (from my point of view) :-)
[16:39:28] <Colourless> hey, exultbot was here with me, it's obvious you were gone
[16:39:39] <Colourless> :-P
[16:39:47] <Dominus> I smell conspiracy
[16:41:11] <Colourless> wtf??? cvs diff: [08:40:08] waiting for colourles's lock in /cvsroot/pentagram/old
[16:41:56] <Colourless> cvs is seriously screwing up
[16:43:09] <Dominus> yup
[16:47:12] <Colourless> ah, the updated RenderSurface code is beginning to be a little more sane
[17:03:38] --> wjp has joined #pentagram
[17:03:38] --- ChanServ gives channel operator status to wjp
[17:07:03] <Colourless> wb
[17:17:04] <wjp> I get compile errors in viewer/Shape.cc
[17:17:20] <wjp> oh, looks like uint* aren't defined
[17:17:20] <Colourless> what problem?
[17:19:11] <Colourless> strange
[17:19:41] <wjp> um, in Shape.h included from Shape.cc, sorry
[17:21:10] <Colourless> ah ok, the template stuff i take it :-)
[17:23:30] <wjp> what file do we define those in in old/ anyway?
[17:23:44] <Colourless> common_include.h i think
[17:23:54] <-- Dominus has left IRC (vinge.freenode.net irc.freenode.net)
[17:23:59] <Colourless> no common_types.h
[17:24:32] --> Dominus has joined #pentagram
[17:24:59] <Colourless> Dominus: it is no conspiracy
[17:25:13] <Dominus> he he
[17:25:13] <wjp> ok, including that fixes Shape.cc
[17:25:19] <wjp> next: Surface.cc
[17:25:57] * wjp hmms
[17:26:06] <wjp> viewer/Shape.h:27: template parameter `class uintx'
[17:26:07] <wjp> viewer/Surface.cc:875: redeclared here as `short unsigned int <anonymous>'
[17:26:53] <Colourless> comment out those 2 lines
[17:27:26] <wjp> k, compiles & links now
[17:28:48] <Colourless> ok good
[17:29:42] <Colourless> those 2 lines _shouldn't_ be causing problems
[17:45:42] <wjp> what exactly are they supposed to do?
[17:46:48] <Colourless> instantiate the class for uint16 and uint32
[17:47:12] <wjp> but isn't that done automatically because they're used later on anyway?
[17:47:35] <Colourless> yes in this case it doesn't matter
[17:48:00] <Colourless> but where it matters is when methods are defined in a file and are not used in that file
[17:49:36] <Colourless> and in particular for differing types in the template
[17:50:21] <Colourless> for example if i wanted to use SoftRenderSurface<sint32>, obviously some of the methods wouldn't be compiled
[17:51:26] <Colourless> doing template<Type> class ClassName is 'supposed' to instantiate the class ClassName for the type Type :-)
[17:51:35] <wjp> according to Stroustrup that's done by 'template class ClassName<Type>'
[17:51:39] <Colourless> gcc though doesn't seem to be liking it
[17:52:08] <wjp> yes,
[17:52:12] <wjp> template class SoftRenderSurface<uint16>;
[17:52:14] <wjp> does work
[17:52:37] <wjp> (it makes more sense syntactically to me, too)
[17:52:46] <Colourless> now lets see if MSVC wants to kill me if i try that...
[17:53:13] <wjp> otherwise I guess it's time for an INSTANTIATE macro :-)
[17:53:45] <Colourless> it just give me a warning:
[17:53:56] <Colourless> warning C4660: template-class specialization 'SoftRenderSurface<unsigned int>' is already instantiated
[17:54:13] <Colourless> i think i might have copied and pasted some incorrect code somewhere...
[17:54:41] <wjp> I don't get a warning like that, but I guess it's a pretty harmless one
[17:55:57] <Colourless> yeah i can just to a #pragma warning(disable: 4660) anyway if i want
[17:56:43] * wjp nods
[17:57:15] <wjp> I wouldn't mind an INSTANTIATE macro either; might even make things a little bit more readble
[17:57:51] <wjp> (if the old template<uint16>... is actually correct in MSVC)
[17:58:30] <Colourless> it would be useful at least, and obvious at what it does
[18:07:24] <wjp> is the current graphics code in old 'ready' for moving to the main module?
[18:07:42] <Colourless> nope, no way at all :-)
[18:07:46] <wjp> it doesn't really matter if it isn't fully complete yet, but some functional graphics code would be nice to have :-)
[18:07:53] <Colourless> the current graphics codes is many 'experiments'
[18:07:56] <wjp> aww :-(
[18:08:15] <Colourless> i'll attempt to hack something together in the next 2 or 3 days
[18:08:18] <wjp> any particular experiment good enough?
[18:08:36] <Colourless> something that will resemble what i'm going to use in the actual thing
[18:09:46] <Colourless> the problem with the current code is too much of the graphics related initialization is done in the Application class, i really want to move it out
[18:09:58] <wjp> I did in fact move it out :-)
[18:10:01] <Colourless> of course the only way to actually do that is going to be to put it into new
[18:10:30] <wjp> (actually I just moved everything out of Application, but that's a minor detail :-) )
[18:10:42] <Colourless> yes i noticed that :-)
[18:11:29] <Colourless> scalers and stuff are going to work differently in pentagram 'new' but they can be added later
[18:13:29] <Colourless> my ScalerRegistry (or similar) will be used, but what i'm going to be doing different is going to be scaling from a RenderSurface to another RenderSurface. This is different to the way it's done at the moment where scaling is done from a RenderSurface to a SDL_Surface
[18:13:58] <Colourless> the dest RenderSurface will in the simplest case will just be a wrapper for the SDL_Surface anyway
[18:14:46] <wjp> bbl, dinner
[18:14:58] <Colourless> cya
[18:47:17] <-- wjp has left IRC ("reboot")
[18:48:55] --- Dominus is now known as Dominus|away
[18:49:07] <Colourless> and to think that I though that linux users never had to reboot
[18:49:56] --- Dominus|away is now known as Dominus
[18:54:41] --> wjp has joined #pentagram
[18:54:41] --- ChanServ gives channel operator status to wjp
[18:55:53] <wjp> they don't; unless they need to be in windows for a few minutes :-)
[18:56:29] <Colourless> nice comeback :-)
[18:56:54] <Colourless> then i could say something like, but why would a linux user need to use windows :-)
[18:57:35] <wjp> because his bank's 'telebanking' program is windows-only :-)
[18:58:07] <Colourless> ah i think you've complained about the before
[18:58:16] <Colourless> s/the/that/
[18:58:24] <Dominus> yeah, I seem to remember something similar
[19:07:48] --> Cless has joined #Pentagram
[19:08:09] <-- Colourless has left IRC (Killed (NickServ (Ghost: Cless!Cless@ppp1403.adelaide.on.net.au)))
[19:08:11] --- Cless is now known as Colourless
[19:08:13] --- ChanServ gives channel operator status to Colourless
[19:08:23] <Colourless> now that was annoying (power dip)
[19:08:30] <wjp> suuuure ;-)
[19:09:16] <Colourless> well you 'would' notice that my ip has changed, and since my modem is not in this machine...
[19:09:45] <wjp> hm, pretty convincing, yes :-)
[19:23:11] <Colourless> should we have some global error system in pentagram where if there in an error we can set an Error code and set a message for the error?
[19:23:32] <Colourless> s/in an/is an/
[19:27:57] <wjp> hm, yes, would be useful
[19:28:25] <wjp> we'd have to look out for any threading issues, though
[19:28:38] <wjp> (but that won't be too hard in this case)
[19:29:26] <Colourless> well, generally it would be used for getting instant feed back. For instance if getting a pointer to something critical fails, you can then find out why
[19:34:22] * wjp nods
[19:34:58] <Colourless> 'bad' error should automatically output an error message to perr
[19:35:18] <Colourless> a usecode error would be an example of a bad error
[19:53:48] <Colourless> well, i've got to be going now
[19:53:51] <Colourless> cya
[19:53:55] <-- Colourless has left IRC ("casts invisibility")
[19:57:13] --- Dominus is now known as Dominus|away
[20:04:26] --- Dominus|away is now known as Dominus
[22:11:15] --> DarkeWork has joined #pentagram
[22:11:57] <DarkeWork> Hmm... machine's going down. *blinkie* Back sometime maybe. *grin*
[22:12:03] <-- DarkeWork has left IRC (Client Quit)
[22:12:55] <Dominus> huh?
[22:15:34] * wjp blinks
[22:15:35] <wjp> weird :-)
[22:16:06] <Dominus> but hey, it's nice he joined to tell us about it :-)
[22:42:15] <-- wjp has left IRC ("Zzzz...")