#exult@irc.freenode.net logs for 25 Feb 2004 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[01:27:27] --> Sheng_Gradilla has joined #exult
[01:27:30] <Sheng_Gradilla> :)
[01:53:16] <-- Sheng_Gradilla has left IRC (Read error: 104 (Connection reset by peer))
[01:54:33] --> Sheng_Gradilla has joined #exult
[01:57:46] --> Cahaan has joined #exult
[02:46:13] --> matto has joined #exult
[02:58:54] <-- matto has left IRC ("Leaving")
[05:29:28] <-- Sheng_Gradilla has left IRC ("zzz")
[07:49:43] --> gt2 has joined #exult
[08:38:17] <-- gt2 has left IRC (Read error: 110 (Connection timed out))
[09:26:55] <-- Darke has left IRC (Read error: 113 (No route to host))
[09:30:26] --> Darke has joined #exult
[09:43:04] <-- Dominus has left IRC (kornbluth.freenode.net irc.freenode.net)
[09:43:27] --> Dominus has joined #exult
[10:00:03] --> Fingolfin has joined #exult
[10:00:04] --- ChanServ gives channel operator status to Fingolfin
[10:00:28] <wjp> morning
[10:00:59] <Fingolfin> hi
[10:01:09] <Dominus> goooooooooood morning vietnam
[10:01:25] <Fingolfin> "max". my name is "max", not "vietnam"
[10:01:32] <Fingolfin> but hi, Dominus :-)
[10:01:36] <Dominus> oops
[10:01:38] <Dominus> :-)
[10:02:18] <Dominus> gonna have my car fixed today and this will cost me lots of money.... :-(
[10:03:11] <Dominus> be back in a moment...
[10:03:13] <-- Dominus has left IRC ("a pooka invited me for a drink")
[10:04:28] --> Dominus has joined #exult
[10:04:32] --- ChanServ gives channel operator status to Dominus
[10:05:39] <Dominus> had to update my client, security update...
[10:06:48] * wjp has to go (class)
[10:07:30] <Dominus> cu
[10:08:23] <Fingolfin> cya wjp
[10:47:51] --> gt2 has joined #exult
[10:49:51] <-- Dominus has left IRC (Read error: 104 (Connection reset by peer))
[10:57:36] --> Dominus has joined #exult
[10:57:51] --- ChanServ gives channel operator status to Dominus
[11:55:03] <-- Fingolfin has left IRC ("42")
[12:36:11] --> Colourless has joined #Exult
[12:36:12] --- ChanServ gives channel operator status to Colourless
[12:36:33] <Colourless> hi
[12:36:54] <Dominus> hi
[13:02:03] <wjp> hi
[13:02:50] <wjp> Colourless: did you need to change anything in CVS for the msvc-related changes you were planning for rc2?
[13:03:20] <Colourless> yes :-)
[13:03:41] <Colourless> just getting things ready
[13:03:56] <Colourless> changes are not anything code wise
[13:41:31] * Colourless is *real* smart.... he deleted is Exult MSVC.Net project files
[13:43:42] * Colourless is now busy recreating them
[13:49:29] <-- Cahaan has left IRC (Read error: 54 (Connection reset by peer))
[13:53:24] * Colourless is almost finished :-)
[14:05:45] --> Cahaan has joined #exult
[14:13:47] <wjp> you deleted it? oops :-)
[14:14:22] <Colourless> yeah.
[14:18:41] <Colourless> should be committed now. Your *nix makefiles will need to be updated to include the new files in the dist and the old ones need removing
[14:19:05] <wjp> hm, you'll have to remind me later today :-)
[14:19:16] <Colourless> there are less project files now (i removed 3)
[14:19:41] <Colourless> pretty much just need to make .dsp into .vjproj and .dsw into .sln
[14:20:00] <Colourless> that should be .vcproj
[14:20:37] <wjp> you can do it yourself too, if you want :-)
[14:21:05] <Colourless> i don't know where... actually I lie, i know where
[14:21:15] <Colourless> i'll do it a bit later
[14:22:19] <-- Kirben has left IRC ("System Meltdown")
[14:25:52] <Colourless> Subject: Your message to Exult-cvs-logs awaits moderator approval
[14:25:53] <Colourless> wjp, if you were wanted to know, new NWN 1.62 patch is out. Hell if i know what the differences are
[14:26:40] <Colourless> one would hope the problem we isolated is fixed
[14:27:34] <Colourless> from the patch details:
[14:27:35] <Colourless> Fixed a few bugs where the contents of your inventory would suddenly dissappear.
[14:27:48] <wjp> a few of them, even :-)
[14:27:50] <wjp> heh :-)
[14:28:01] <wjp> quite a large list of changes
[14:29:53] <Colourless> you know, it's actually a huge amount of changes for such a high patch number. Effectively it would be around 35, but still, that is a lot of patches they've made
[14:35:41] <wjp> "Fixed a bug that was capping the Experience Points granted for killing a creature to a maximum Creature Rating of 20."
[14:36:03] * wjp wonders how much experience he missed because of that :-)
[14:47:54] <Colourless> yes, that would be interesting
[14:48:04] <Colourless> but i don't think it really matters :-)
[14:48:56] <Colourless> if the problem was occuring lots in HotU then fixing the bug could unbalance the game
[14:56:12] <Colourless> wjp, in theory i have committed the required changes to Makefile.am
[15:05:16] <wjp> I don't think there's much you can do wrong :-)
[15:05:47] <Colourless> who knows, perhaps i accidently put a space after one of the \
[15:07:47] <wjp> you didn't :-)
[15:08:19] <Colourless> you bothered to check :-)
[15:08:39] <wjp> yes :-)
[15:15:47] --- Colourless is now known as Cless|Away
[15:16:21] --> artaxerxes has joined #exult
[15:16:21] --- ChanServ gives channel operator status to artaxerxes
[15:16:23] <artaxerxes> hi all
[15:17:13] <Dominus> hi
[15:17:26] <Cless|Away> hi
[15:17:32] * artaxerxes didn't Dominus was doing Pentagram's FAQ
[15:18:00] * Dominus didn't have much to do with it yet
[15:18:00] <Cless|Away> Thou hath forgotten something
[15:18:12] <artaxerxes> Cless|Away: got the gift of ubiquity?! ;-)
[15:18:56] <artaxerxes> oups.. s/didn't/didn't know/
[15:19:07] <Cless|Away> :-)
[15:19:32] <artaxerxes> hey guys, remember the last conversation we has about C++?
[15:19:35] <Cless|Away> the current pentagram faq is mine... all mine.... !
[15:20:21] * Cless|Away says look to the left, he is Away.
[15:20:28] <artaxerxes> well, I've progressed quite a bit! That book I posted on the forum is really well done. I even understand stuuf like "virtual" and "const static" and "vector<stuff>"
[15:20:49] <artaxerxes> s/stuuf/stuff/
[15:21:55] <Cless|Away> const is const. nothing eactly special about it
[15:22:42] <artaxerxes> well, there is a lot going on behind the curtain, with the compiler and all. The "const" in c++ is different that the "const" in c.
[15:23:01] <Cless|Away> only marginally.
[15:23:10] <Cless|Away> const can do 'more' in C++
[15:23:18] <artaxerxes> plus, you can put "const" at places you can't in C.
[15:23:42] <artaxerxes> like: "cont static int const function(const int param) const;
[15:23:49] <artaxerxes> s/;/;"/
[15:23:56] <artaxerxes> s/cont/const/
[15:24:17] <wjp> 'const static int const' ?
[15:24:22] <artaxerxes> (I might exagerate a bit! ;-) )
[15:24:25] <Cless|Away> actually, that should bring up an erro :-)
[15:24:35] <Cless|Away> s/erro/error/
[15:24:38] <Cless|Away> or 2
[15:24:51] <wjp> if it's not a member function the last const is wrong too
[15:25:07] <Cless|Away> static implies that it has no this, so you can't use the last const
[15:25:18] <wjp> oh, yes, good point :-)
[15:25:27] <artaxerxes> I knew you guys would blow me away!
[15:25:39] <artaxerxes> you _ARE_ good.
[15:25:45] <artaxerxes> amazing, even
[15:26:01] <artaxerxes> well, I'm not finished the book, as you can tell... ;-)
[15:26:37] <Cless|Away> it will all make sense in the end
[15:27:18] * artaxerxes is getting there... slowly
[15:27:28] <Cless|Away> the language isn't that difficult, just it can complex at times
[15:28:06] <Cless|Away> some of the pentagram sources written by darke are full of consts
[15:28:25] <artaxerxes> anyways, since I didn't officially learn it at school, with proper methods and proper framing, I was wondering if you would mind peeking at my source to tell me where I made bad taste choices and all.
[15:28:26] <Cless|Away> he made anything that could be const, const
[15:28:27] <wjp> const char * const * const? : -)
[15:29:09] <artaxerxes> does that even compile?
[15:29:18] <wjp> it should :-)
[15:29:28] <wjp> (depending on where you put it, of course)
[15:29:38] <artaxerxes> I can't even read it!
[15:30:29] <Cless|Away> it's a const that is a pointer that points to a const pointer that points to const data
[15:31:16] <artaxerxes> ouch
[15:31:25] <wjp> also known as "overkill" :-)
[15:31:28] <Cless|Away> pretty much means it's a totally read only pointer to a pointer
[15:31:53] <artaxerxes> read only pointer to a read only pointer, no?
[15:32:11] <artaxerxes> read only pointer to a read only pointer to read only data
[15:32:15] <Cless|Away> yes
[15:32:45] <artaxerxes> oh boy.
[15:32:54] <Cless|Away> means you can't do
[15:32:55] <Cless|Away> var = something;
[15:32:57] <Cless|Away> *var = something;
[15:32:59] <Cless|Away> **var = something;
[15:33:30] <Cless|Away> and any variations of those
[15:33:37] <Cless|Away> (including using [])
[15:33:53] <artaxerxes> useful for an array of strings, maybe.
[15:35:20] <Cless|Away> if you are paranoid :-)
[15:35:51] <Cless|Away> but even then you can just do a const_cast to get rid of the consts
[15:36:38] <artaxerxes> if you guys are interested in what I coded so far in c++, you can find the source at: http://si-french.sf.net/smooth_new.tar.gz
[15:37:07] <artaxerxes> it doesn't do much yet but smooth.cc is almost finished.
[15:37:27] <artaxerxes> I just need to expand the functionality of the library
[15:37:43] <artaxerxes> (which does just about nothing for now, except map.cc)
[15:39:42] <Cless|Away> might have a look at it later
[15:39:46] <artaxerxes> thx.
[15:40:00] <artaxerxes> I really code to code good c++
[15:40:23] <wjp> why are you using 'this->' ?
[15:40:27] <artaxerxes> s/really code/really want/
[15:41:00] <artaxerxes> I shouldn't ?
[15:41:07] <Cless|Away> no :-)
[15:41:17] <Cless|Away> you don't need to use this to access members
[15:41:30] <Cless|Away> (of the current object)
[15:41:32] <artaxerxes> I guess it's a left over from PHP ! ;-)
[15:41:46] <artaxerxes> (which I believe forces you to use this->)
[15:41:58] <wjp> Cless|Away: well, you can't use 'this' to access members of other objects :-)
[15:42:09] <artaxerxes> is it bad coding style?
[15:42:47] <Cless|Away> yes you would consider it 'bad' since it will just make the code messy
[15:43:31] <Cless|Away> also isn't in the spirit of Object Orientated programming
[15:43:55] <artaxerxes> point taken.
[15:45:02] <Cless|Away> if you have a situation where a local var has the same name as a member forcing you to use this-> you should probably change the name of the local var :-)
[15:45:17] <artaxerxes> indeed! ;-)
[15:46:13] <wjp> or some people mark member variables by prefixing them with 'm_' or '_' or something
[15:46:17] <artaxerxes> I do find it frustrating that I had to cast SDL_Surface->format->BitsPerPixels to an int. It's too bad the "<<" operator doesn't understand Uint8
[15:46:30] <wjp> oh, it does :-)
[15:46:43] <wjp> Uint8 is a character type, which it displays as a character
[15:47:00] <artaxerxes> if you remove the (int) cast, it won't print anything!
[15:47:15] <Cless|Away> if BitsPerPixel is 32, then it will print a space char
[15:47:24] <artaxerxes> ahhhhh
[15:47:25] <wjp> bingo :-)
[15:48:07] * artaxerxes 's eyes just opened wide in understanding
[15:48:39] <Cless|Away> and you really can't expect anything to get properly printed for any character less than 32
[15:48:46] <artaxerxes> so I am forced to cast it then, no other choice.
[15:49:03] <Cless|Away> yes you must
[15:51:04] <artaxerxes> wjp: what other bad style felonies did I commit ? ;-)
[15:53:07] <wjp> why is SDL_Init in map.cc?
[15:53:17] <wjp> (and SDL_Quit in smooth.cc)
[15:54:20] <artaxerxes> map.cc is the first one who play with SDL_ stuff and SDL_Quit is placed in main, since it must be called when exit is called.
[15:54:33] <artaxerxes> (or when main returns)
[15:55:17] <artaxerxes> I guess it could go in main().
[15:55:17] <wjp> I generally prefer keeping init and de-init code for the same thing close together
[15:55:40] <Cless|Away> you can use the c library function atexit to make SQL_Quit be automatically called
[15:56:07] <artaxerxes> indeed, if I was to reuse smooth.cc but not map.cc, then I would have a problem.
[15:56:29] <artaxerxes> since I would deinit something not inited.
[15:56:36] <wjp> Cless|Away: he's already using atexit
[15:56:38] <artaxerxes> point taken.
[15:57:33] <Cless|Away> wjp atexit is a stack (if you think that using it twice would be a problem)
[15:58:22] <wjp> Cless|Away: I meant 'already using atexit for SDL_Quit' :-)
[15:58:22] <artaxerxes> I came across one problem that I am not sure how to tackle.
[15:59:32] <Cless|Away> wjp, oh ok.
[15:59:37] <Cless|Away> anyway, i am away, really this time
[15:59:41] <artaxerxes> I want to define some sort of a global variable for "debug", to know the debug level. Problem is, I'd rather avoid using "extern int debug" in all .cc files (except one where it would be "int debug").
[15:59:52] <artaxerxes> thx for your help Cless|Away
[16:00:01] <Cless|Away> put it in a header file?
[16:00:02] <wjp> put the 'extern int debug;' in a header file?
[16:00:31] <artaxerxes> it's not the typing that annoys me, it is the "extern" that does.
[16:01:14] <artaxerxes> my c teacher told us to avoid whenever possible to use "extern" variables.
[16:01:33] <wjp> you could have a Config::get_debug_level() function or something
[16:01:39] <artaxerxes> (in case where you would reuse a file but not the one that defined the externed variable).
[16:01:57] <wjp> anyway, I have to go too
[16:01:58] <Cless|Away> you C teacher was a teacher. Yes you should avoid using global (extern) variables, but for something they are useful
[16:02:09] <artaxerxes> thx for your help wjp
[16:02:09] <wjp> bbl
[16:02:14] <wjp> np :-)
[16:03:12] <artaxerxes> or I could use an new object that would hold all my global data and includes it's header file in all my .cc
[16:03:22] <artaxerxes> s/includes/include
[16:03:28] <artaxerxes> s/it's/its/
[16:03:48] <artaxerxes> and then use global_object::get_debug_level()
[16:04:40] <artaxerxes> is there a fundamentaly flawed reason to use an object to store global variables?
[16:05:56] * Dominus thinks the others are away...
[16:06:31] <artaxerxes> thx Dominus. It will become log feeding material.
[16:06:35] <Cless|Away> artaxerxes: i's just a more C++ way of doing things.
[16:06:47] <artaxerxes> so it's ok then?
[16:07:05] <artaxerxes> I thought it might be bad coding style.
[16:07:43] <Cless|Away> in exult we have the config object which is global
[16:08:30] <artaxerxes> alright. that helps a lot. Thx again for your help Cless|Away
[16:14:37] <Dominus> Something I just read in an ICQ profile "I need a reason people! Lie about it, I don't care. Just GIVE ME A REASON!"
[16:17:05] <artaxerxes> ;-)
[16:17:44] * artaxerxes just remember his ICQ number (not touched in _years_): 11404047
[16:17:50] <Cless|Away> yeah odd that profile :-)
[16:18:01] <-- Cahaan has left IRC ()
[16:18:06] <Dominus> you know whose?
[16:18:12] <Cless|Away> mine :-)
[16:18:18] <Dominus> oops
[16:18:28] <artaxerxes> ;-)
[16:18:32] <Dominus> I somehow thought artaxerxes was saying that and not you
[16:18:54] <Cless|Away> it's sort of an 'idiot test'
[16:19:24] <Cless|Away> people just try to add me to their list without saying why
[16:19:41] <Cless|Away> and i just what 'a' reason
[16:19:47] <Cless|Away> s/what/want/
[16:20:18] <Cless|Away> artaxerxes copy and paste of the quote makes it slightly out of context
[16:20:53] <Dominus> he he, "slightly"
[16:21:13] <Dominus> well, if people use a client that asks for permission...
[16:21:15] <Cless|Away> and there is a typo too :-)
[16:21:38] <Cless|Away> no, it's fine
[16:22:06] <Cless|Away> odd the scroll bar is obstructing some of the characters
[16:22:19] <Cless|Away> don't is showing up as do
[16:22:37] * artaxerxes sees "don't" here
[16:22:49] * artaxerxes sees "don't" here (in IRC)
[16:23:37] * Dominus too
[16:24:37] * Cless|Away has changed the problem don't to do not
[16:24:41] <Dominus> strange in the ICQ profiles: even if you have entered a birthday date it doesn't update the "age" input field from there
[16:27:08] <artaxerxes> do you guys know of a site to check an ICQ profile, so that I don't have to install it?
[16:28:05] <Dominus> I think you can log in directly at icq.com
[16:42:13] <artaxerxes> indeed. thx Dominus. My info is real old though...
[16:47:25] <artaxerxes> there.... updated
[16:57:57] --> Cahaan has joined #exult
[16:58:47] <-- Dominus has left #exult ()
[17:11:05] <-- Cahaan has left IRC (Read error: 60 (Operation timed out))
[18:20:41] --- Cless|Away is now known as Colourless
[18:20:56] --> Cahaan has joined #exult
[18:31:30] * wjp is back
[18:31:47] * Colourless is back too in case people didn't realize
[18:43:06] <artaxerxes> wb
[18:43:27] <artaxerxes> what kind of topic is this! ;-)
[18:44:49] <wjp> you mean the topic that's been like this for weeks now? :-)
[18:45:03] <Colourless> :-)(
[18:45:14] <Colourless> darke did it!
[18:45:23] <Colourless> he actually did this time too :-)
[18:45:24] <artaxerxes> wjp: yup, that one! ;-)
[18:45:57] <wjp> so do you really need an explanation? :-)
[18:46:21] <Colourless> now, look, the topic pretty much explains itself
[18:46:34] <wjp> it also pretty much contradicts itself :-)
[18:46:57] <Colourless> we're talking about something by darke, you expect anything less?
[18:47:07] <wjp> well, no :-)
[18:47:10] <artaxerxes> reminds me of Monkey Island... 1)I wanna be a pirate! 2)I WANNA be a pirate! 3)I wanna BE a pirate... etc
[18:47:25] <wjp> artaxerxes: oh, you really do need an explanation then :-)
[18:47:46] <artaxerxes> I guess I do then....
[18:47:48] <wjp> in BG, visit the theatre in Britain and apply for an audition for the role of the Avatar
[18:47:51] <Colourless> it's quite simple, i gasped that the topics had disappeared, and darke decided to fix it
[18:48:21] <artaxerxes> ah ok! fun!
[18:48:34] <wjp> I wonder how the french BG did that
[18:48:53] <artaxerxes> to be honest with you, I did not even recall the english version! ;-(
[18:48:53] <wjp> (at least, I seem to remember from French class that you can't really emphasize a word like you can in english)
[18:49:20] <artaxerxes> you kinda could do the same as in english by YELLING it...
[18:49:48] <artaxerxes> but the result is not exactly the same as in english.
[18:50:11] <wjp> in English you don't YELL words to emphasize them :-)
[18:50:23] <artaxerxes> no? That's what I do ALL THE TIME!
[18:50:24] <artaxerxes> ;-)
[18:50:32] <Colourless> that's forcing a point :-)
[18:50:36] <wjp> (granted, it definitely does emphasize them :-) )
[18:52:53] <wjp> Je suis l'-Avatar-!
[18:52:59] <wjp> Je suis -l`-Avatar!
[18:53:04] <wjp> Je -suis- l'Avatar!
[18:53:04] * artaxerxes is joking... methinks Germans like to emphasize then...
[18:53:12] <wjp> -Je- suis l'Avatar!
[18:53:29] <Colourless> most strange
[18:53:31] <artaxerxes> wjp: that makes sense
[18:53:33] <wjp> Non, non, non! C'est faux, archifaux! Tu es l' 'Avatar'! Il faut que tu te sentes conmme l'Avatar! Il faut que tu parles comme l'Avatar! Il faut que tu -sois- l'Avatar! Essoie encor.
[18:53:47] <Colourless> don't germans emphasize every word? :-)
[18:54:00] <artaxerxes> ACH NEIN!
[18:54:33] <wjp> (...) "Mieux... mieux... mais je crois que tu as besoin d'un accessoire."
[18:54:44] <wjp> "Jesse, donne-luy donque ta hampe."
[18:54:52] * wjp looks up hampe
[18:54:56] <artaxerxes> wjp: How I truly, fully, completely, wholly, absolutely _loath_ the french BG with its dirty "old french".
[18:55:11] <wjp> staff?
[18:55:18] <artaxerxes> see!
[18:55:21] <artaxerxes> it stinks!
[18:55:32] * artaxerxes thinks he's gonna translate BG in french too!
[18:56:06] <wjp> heh :-)
[18:56:48] <artaxerxes> when you posted "Essoie encor", I read it at first "Essuie encore", which means "wipe again"... ;-)
[18:57:13] <wjp> hm, shouldn't it be "Essaye encore", or something?
[18:57:23] <artaxerxes> yes, but in modern french.
[18:57:35] * wjp is impressed that he remembered that :-)
[18:58:18] <artaxerxes> however, as we talked about before, the french BG is horrendously translated, using a language spoken, not in the 18th Century, but in the 12th!
[18:58:30] * artaxerxes is impressed by wjp's memory.
[18:59:24] <artaxerxes> As a result, no-one understand the language spoken and it just confuse people. That was a factor we considered when translating SI.
[18:59:38] <wjp> haha, nice sig: "I'd rather have a bottle in front of me, than a frontal lobotomy" (read it out loud)
[19:00:13] <wjp> I agree that 12th century French would really be too old
[19:00:38] <wjp> the 'old' english used in BG mostly seems to be the occasional thou/thy/thee
[19:00:45] <artaxerxes> wjp: in /. I read today this: I am so broke, I can't even pay attention! ;-)
[19:00:58] <wjp> :-)
[19:01:17] <artaxerxes> wjp: which was used even in the 19th century (I guess)
[19:01:52] <artaxerxes> Actually, yes for sure, since the King James Bible, written 120 years ago features those words.
[19:02:09] <wjp> did you read any french that old in school?
[19:02:15] <artaxerxes> never ever.
[19:03:00] <artaxerxes> the oldest we've read was Jean de La Fontaine.
[19:04:21] <artaxerxes> wjp: btw, I assume the "that old" refers to 12th century.
[19:04:31] <wjp> yes, that's what I meant
[19:06:14] <artaxerxes> to kinda change topics, have you fine people made a decision about pentagram's XML-like config file?
[19:06:47] <artaxerxes> (whether you'll keep it XML-like)
[19:06:48] <wjp> hm, not sure, but I think we decided to go with a windows .ini style config
[19:07:06] <artaxerxes> fun.... that's what my smooth.conf was originally.
[19:07:33] <artaxerxes> check it out in the source. Feel free to use my parser too (if it's any help)
[19:07:48] <artaxerxes> (cf: exult's mapedit/tools/smooth/)
[19:07:59] <wjp> I was thinking of having the config file in utf-8
[19:09:06] <wjp> and we need a small extension to mark sections as game sections, like [game:u8]
[19:09:16] <artaxerxes> I still can't see how people can get confused about the XML-like format.
[19:09:39] <wjp> me neither :-)
[19:09:49] <wjp> as long as it's properly indented it should be quite clear what the structure is
[19:09:53] <artaxerxes> who said it was confusing then?
[19:10:08] <wjp> well, it did turn out to be confusing :-)
[19:10:16] <artaxerxes> ah.
[19:10:33] <artaxerxes> I guess it's bad if the developer even is confused! ;-)
[19:10:45] <wjp> hm?
[19:11:30] * artaxerxes rephrases: if the developer is confused, then it is probably bad then.
[19:13:07] <wjp> which developer is confused? :-)
[19:13:33] <artaxerxes> you said: it did turn out to be confusing
[19:13:48] * artaxerxes has another c++ style question! Is it better to put all the #include (but one) in a header file, instead of in the .cc file ?
[19:14:13] <wjp> well, that depends
[19:14:42] <artaxerxes> say for instance, I need to include plugins.h to declare properly a new class in config.h
[19:14:43] <wjp> con: increases compile time, makes relations between modules less clear
[19:15:27] <wjp> pro: pretty much needed for PCH (which should in turn reduce compile time), more convenient
[19:15:46] <artaxerxes> and in config.cc I include SDL.h because it uses function defined in it.
[19:15:54] <artaxerxes> what is PCH ?
[19:15:59] <wjp> pre-compiled headers
[19:16:11] <artaxerxes> never heard of it.
[19:19:41] <wjp> hm, why do you need to include plugins.h in config.h?
[19:20:09] <artaxerxes> because in its declaration, there is Plugins * getPlugins();
[19:20:26] <artaxerxes> so it needs to know what is a Plugins.
[19:20:41] <wjp> actually it only needs to know that there is a class named Plugins
[19:20:54] <wjp> so you can get away with simply declaring: "class Plugins;"
[19:21:18] <wjp> (since you don't actually need knowledge of the internals of Plugins)
[19:21:38] <artaxerxes> do I do that before I declare class Config ?
[19:21:43] <artaxerxes> or inside it.
[19:21:55] <artaxerxes> I'd say before
[19:23:29] <wjp> yes, before
[19:23:47] <wjp> inside it would declare an inner class
[19:24:08] <artaxerxes> hmmm the compiler doesn't like it.
[19:24:42] <artaxerxes> #ifndef _CONFIG_H_
[19:24:42] <artaxerxes> #define _CONFIG_H_
[19:24:42] <artaxerxes> class Plugins;
[19:24:42] <artaxerxes> class Config
[19:24:44] <wjp> you do need to include plugins.h in any .cc files that actually use Plugins
[19:24:44] <artaxerxes> {
[19:24:47] <artaxerxes> public:
[19:24:49] <artaxerxes> Config();
[19:24:52] <artaxerxes> ~Config();
[19:24:54] <artaxerxes> bool parse(std::string filename);
[19:24:57] <artaxerxes> Plugins* getPlugins();
[19:24:59] <artaxerxes>
[19:25:02] <artaxerxes> };
[19:25:05] <artaxerxes> #endif
[19:25:27] <artaxerxes> wouldn't it be simpler to use #include plugins.h then
[19:25:49] <wjp> you probably won't notice the speed difference in this case
[19:26:25] <wjp> but if not all .cc files that include config.h actually need Plugins, you're compiling unnecessary code
[19:26:40] <artaxerxes> also, whoever will see a Plugin will know what to do with it, so I think it's safer to include plugins.h in config.h
[19:26:56] <artaxerxes> I see.
[19:29:49] <artaxerxes> weird stuff though.
[19:29:52] <artaxerxes> If I do
[19:29:56] <artaxerxes> class Plugins;
[19:29:56] <artaxerxes> class Config
[19:30:00] <artaxerxes> {
[19:30:03] <artaxerxes> blabla
[19:30:04] <artaxerxes> }
[19:30:09] <artaxerxes> in the file config.h
[19:30:22] <artaxerxes> I still get an error when I compile it.
[19:30:41] <artaxerxes> config.cc _does_ have include "plugins.h" in it.
[19:31:15] <artaxerxes> never mind.
[19:31:24] <artaxerxes> I did not include in the right order.
[19:33:13] <wjp> include order really shouldn't matter in this case
[19:34:35] <artaxerxes> actually it does
[19:34:46] <artaxerxes> if I reverse the include order, the compilation fails
[19:35:10] <wjp> what's the error?
[19:35:37] <artaxerxes> [amarchand@tor-it-french smooth]$ make
[19:35:37] <artaxerxes> g++ -c config.cc -o config.o `sdl-config --cflags`
[19:35:37] <artaxerxes> In file included from config.cc:1:
[19:35:37] <artaxerxes> config.h:13: `string' undeclared in namespace `std'
[19:35:37] <artaxerxes> config.h:13: parse error before `)' token
[19:35:39] <artaxerxes> config.cc:15: prototype for `bool Config::parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' does not match any in class `Config'
[19:35:42] <artaxerxes> config.h:13: candidate is: bool Config::parse(...)
[19:35:45] <artaxerxes> make: *** [config.o] Error 1
[19:36:32] <wjp> oh, but that's because you use std::string without including <string> in config.h
[19:36:57] <artaxerxes> oh! what a dork! ;-)
[19:37:52] <artaxerxes> yup. that was it... it's all good now!
[19:37:54] <artaxerxes> thx
[19:41:59] <artaxerxes> brb
[19:51:08] <artaxerxes> back
[20:05:11] --> [DUD]Vim has joined #exult
[20:27:26] <-- gt2 has left IRC (Read error: 110 (Connection timed out))
[20:28:27] * artaxerxes gotta be back to work.
[20:28:33] <artaxerxes> thx for your help again!
[20:28:38] <artaxerxes> see ya around
[20:28:40] <-- artaxerxes has left #exult ()
[20:41:27] <-- Cahaan has left IRC (Read error: 54 (Connection reset by peer))
[20:43:20] --- [DUD]Vim is now known as Vim|Sick
[20:44:26] <-- Colourless has left IRC (Read error: 54 (Connection reset by peer))
[20:58:45] --> Cahaan has joined #exult
[21:19:50] --> Kirben has joined #exult
[21:19:50] --- ChanServ gives channel operator status to Kirben
[21:39:47] --> WishStone has joined #Exult
[21:40:53] --> hmpf has joined #Exult
[21:41:03] <-- WishStone has left IRC (Nick collision from services.)
[21:41:05] --- hmpf is now known as WishStone
[21:57:41] <-- Cahaan has left IRC (Read error: 60 (Operation timed out))
[22:01:40] --> Cahaan has joined #exult
[22:06:14] <-- WishStone has left IRC (Read error: 60 (Operation timed out))
[22:08:53] --> WishStone has joined #Exult
[22:09:05] <WishStone> [23:18] <WishStone> Hey WJP, I have a topic for us.
[22:09:05] <WishStone> [23:18] <WishStone> EA closed Origin Systems today.
[22:09:11] * WishStone glares at her fridge
[22:09:29] * wjp glares at WishStone's clock
[22:09:43] <WishStone> hum?
[22:09:56] <WishStone> These 10 minutes have a reason ;D
[22:18:11] --> Fingolfin has joined #exult
[22:18:11] --- ChanServ gives channel operator status to Fingolfin
[22:20:08] <wjp> WishStone: yes....? :-)
[22:20:14] <wjp> hi Fingolfin
[22:20:27] <Fingolfin> hi
[22:21:52] <wjp> did you get any further with that old-OS X-SDK?
[22:21:52] <WishStone> Well, if I get up in the morning...
[22:21:57] <WishStone> Still bed-lagged a bit...
[22:22:04] <WishStone> And I check my eMail and stuff...
[22:22:26] <wjp> ah, the "Oh no! I'm going to be late!" 10 minutes? :-)
[22:22:28] <WishStone> And I look at me PC clock and suddenly think "FUCK!!! HALF PAST EIGHT?!" I useually get going much quicker ;D
[22:22:30] <WishStone> Yes :D
[22:22:39] <WishStone> Works... every morning :P
[22:29:23] --> grrrrrr has joined #Exult
[22:30:47] <-- WishStone has left IRC (Nick collision from services.)
[22:30:50] --- grrrrrr is now known as WishStone
[22:31:24] * WishStone takes another cup and shares some nice hot tea with Vim|Sick
[22:32:53] <Fingolfin> wjp: no not really, it simply refused to link expack
[22:33:23] <wjp> of course we don't strictly need expack, but it doesn't bode well for the main exult executable
[22:35:39] * Vim|Sick drinks alot of tea.
[22:38:37] <WishStone> good boy ;D
[22:40:20] <Fingolfin> esp since it fails linking because of istream::seekg
[22:40:25] <Fingolfin> which is used all over the code
[22:41:09] <wjp> *sigh* istream again? :-)
[22:41:45] <wjp> (or was that file reading bug ifstream-specific?)
[22:51:26] <wjp> hm, I think I'll make our gimp plugin work in both gimp 1.2 and 1.3/2.0
[22:51:37] <wjp> kind of weird to require a dev. version currently
[23:00:16] <-- Vim|Sick has left IRC ()
[23:21:26] <wjp> ok, works with gimp 1.2 now
[23:21:42] <wjp> just in time... gimp 2.0pre3 is almost done compiling :-)
[23:27:13] --> Baastuul has joined #Exult
[23:33:10] <Baastuul> http://users.rcn.com/kusy/boatframe.html
[23:33:19] <Baastuul> This guy is awesome.
[23:39:26] <-- WishStone has left IRC (Read error: 110 (Connection timed out))
[23:42:07] <wjp> time for me to go; g'night