#exult@irc.freenode.net logs for 6 Mar 2003 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:12:45] <-- wjp has left IRC ("Zzzz...")
[00:12:45] <-- ShadwChsr has left IRC (Read error: 54 (Connection reset by peer))
[01:00:41] <-- Fingolfin has left IRC ("42")
[03:24:52] --> ShadwChsr has joined #exult
[03:24:57] <ShadwChsr> hi ;)
[05:24:57] <-- ShadwChsr has left IRC (Read error: 54 (Connection reset by peer))
[05:37:21] --> Coren_ has joined #exult
[06:14:46] <-- Coren_ has left IRC ("using sirc version 2.211+KSIRC/1.2.4")
[06:23:46] --> `daniel has joined #exult
[06:41:22] --> SB-X has joined #exult
[06:42:08] * SB-X tips his cap to the channel denizens.
[06:43:04] <`daniel> hrrm
[06:43:07] <`daniel> SB-X
[06:43:24] <`daniel> are you bored?
[06:43:27] <`daniel> cause i am
[06:43:35] <SB-X> no
[06:43:39] <SB-X> i was getting ready to go watch tv
[06:43:56] <`daniel> well
[06:44:01] <`daniel> dont
[06:44:05] <`daniel> stay back and entertain
[06:44:18] <SB-X> i havnt been here for a while
[06:44:20] <SB-X> what do you do?
[06:46:27] * SB-X coughs.
[06:52:39] <`daniel> oh sorry
[06:52:40] <`daniel> got talking
[06:52:43] <`daniel> umm
[06:52:46] <`daniel> we don't do anything
[06:53:10] <`daniel> mostly the developers ignore me even though i say "hi" and sometimes ask questions.
[06:53:28] * `daniel looks at kirben, dark
[06:54:02] <SB-X> darke is asleep a lot
[06:54:15] <Kirben> And I'm not usually watching channel.
[06:54:26] <SB-X> hi Kirben :)
[06:54:53] <Kirben> Hi
[06:57:42] <SB-X> i gotta go
[06:57:45] <SB-X> later
[06:57:56] <-- SB-X has left #exult ()
[06:58:29] <`daniel> hi Kirben
[07:11:56] <`daniel> see?
[07:12:00] <`daniel> kirben ignores me
[07:12:06] <`daniel> sheesh
[07:12:29] <`daniel> you could tell me you are rude to begin with instead of letting me find out this wat
[07:12:32] <`daniel> *way
[07:13:28] <`daniel> ports -d
[07:18:36] <Kirben> Sorry, wandered off for Dinner.
[07:20:50] <`daniel> blah
[07:20:51] <`daniel> thats okay
[07:55:43] --- DarkeZzz is now known as Darke
[07:57:10] --- ChanServ gives channel operator status to Darke
[08:07:48] --> matto has joined #exult
[08:08:26] --> Kirben2 has joined #exult
[08:08:26] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[08:08:26] <-- Matt_O has left IRC (Read error: 104 (Connection reset by peer))
[08:23:06] --- Kirben2 is now known as Kirben
[08:36:24] --> Kirben2 has joined #exult
[08:38:42] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[09:17:12] --- Kirben2 is now known as Kirben
[09:46:18] <-- `daniel has left IRC (Read error: 104 (Connection reset by peer))
[10:38:08] <-- Darke has left IRC ("Inficio-Infeci-Infectum")
[11:01:13] --> Darke has joined #exult
[11:01:33] --- ChanServ gives channel operator status to Darke
[12:22:51] --> Colourless has joined #Exult
[12:22:56] --- ChanServ gives channel operator status to Colourless
[12:23:16] <Colourless> hi
[12:26:31] <Darke> Hiya.
[12:49:15] --> wjp has joined #exult
[12:49:15] --- ChanServ gives channel operator status to wjp
[12:49:18] <wjp> hi
[12:49:28] <Colourless> hi
[12:50:18] * wjp looks at logs from tonight... sheesh.. `daniel is kind of rude
[13:25:26] --> Fingolfin has joined #exult
[13:25:27] --- ChanServ gives channel operator status to Fingolfin
[13:25:33] <wjp> hi Max
[13:25:49] <Fingolfin> hi willem, all
[13:26:04] <Colourless> hi
[13:30:04] <-- Colourless has left IRC ("brb")
[13:32:55] --> Colourless has joined #Exult
[13:32:55] --- ChanServ gives channel operator status to Colourless
[14:20:11] --> artaxerxes has joined #exult
[14:20:11] --- ChanServ gives channel operator status to artaxerxes
[14:20:14] <artaxerxes> hi all
[14:20:26] <Colourless> hi
[14:20:41] <artaxerxes> anyone interested in giving me a hand to understand what a usecode function does ?
[14:20:52] <artaxerxes> (At least part of a usecode function)
[14:21:39] <artaxerxes> usecode function 0418: Line 0062 to 0087
[14:22:07] <artaxerxes> I understand it calculate the time of the day and push "day" or "evening" in [0006] but what for ?
[14:22:10] <Colourless> u7 usecode.... bah, that is just like so 'last year' for us :-)
[14:22:23] <artaxerxes> ;-)
[14:22:45] <artaxerxes> [0006] is called nowhere else in the usecode function !
[14:22:56] <wjp> hi
[14:23:01] <artaxerxes> hi! :)
[14:24:32] <artaxerxes> bbl
[14:25:54] <wjp> bbl too
[14:29:59] <Colourless> to be off am i
[14:30:00] <-- Colourless has left IRC ("casts invisibility")
[14:30:28] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[14:41:41] <artaxerxes> ack
[14:41:48] <artaxerxes> back even
[14:42:44] <artaxerxes> I'll be peeking at the chan back and forth. I might be able to reply right away.
[14:46:19] <wjp> let's see... do I have the SI usecode here...
[14:46:39] <wjp> yay, I do :-)
[14:49:17] <wjp> I think you're right; [0006] isn't used anywhere
[14:49:31] <wjp> it's probably just a standard bit of code they copied from another conversation function
[14:50:30] <wjp> yes, it does look like this piece of code occurs in a lot of places
[16:24:48] <-- wjp has left IRC ("going home")
[16:49:48] --> Dark-Star has joined #exult
[17:00:04] <artaxerxes> :hi
[17:07:07] --> wjp has joined #exult
[17:07:07] --- ChanServ gives channel operator status to wjp
[17:12:53] <artaxerxes> wb
[17:14:27] <wjp> thx
[17:18:54] <artaxerxes> 19 to go!
[17:19:01] <artaxerxes> actually, closer to 18 now
[17:20:04] <wjp> almost there :-)
[17:21:17] <artaxerxes> when I think that 7 days ago there were 31 files to do! My brain is overclocked!
[17:21:43] <artaxerxes> .... and overburnt!
[17:21:49] <wjp> nice work, though :-)
[17:21:56] <artaxerxes> thx
[17:22:04] <artaxerxes> those files are the longest too
[17:22:36] <artaxerxes> it takes about 7 hours to translate one massive usecode during the day while mixing it with work! ;)
[17:22:47] <artaxerxes> s/usecode/usecode function/
[17:23:25] <wjp> hehe :-)
[17:24:43] <artaxerxes> I think we're on course to get it fully translated by the 5th.
[17:25:05] <wjp> at your current speed you'll have it done next week :-)
[17:25:09] <artaxerxes> There is one topic about Exult that I would like to bring back though
[17:26:43] <artaxerxes> We were discussing a while ago about i18n
[17:27:30] <artaxerxes> like putting hard-coded text in the source code into a file so it can get easily translated too and up-to-date. That would avoid doing a fork
[17:28:28] * wjp nods
[17:28:38] <wjp> ideally there shouldn't be any hard coded text in the main sources
[17:30:14] <artaxerxes> since I was waiting for the release of 1.0 to reintroduce this topic, I think something could be done now.
[17:30:17] <wjp> we should make a list of all places where there _is_ hard-coded text, and then move all of it to exult.flx (or something)
[17:30:36] <artaxerxes> I'd prefer even another file, like i18n.flx
[17:30:42] <artaxerxes> easier to maintain
[17:30:52] <wjp> true
[17:30:59] <artaxerxes> otherwise, I'd have to recompile exult.flx everytime
[17:31:11] <wjp> and recompile exult itself for the changed checksums, then
[17:31:42] <artaxerxes> Jeff mentioned having 2 languages at the same time (a hack for usecode) in the board. Maybe having only one file there would help too, a la KDE.
[17:32:27] <artaxerxes> I mean something like: [sleep_0_hours][en]="Stop jesting, Avatar!"
[17:32:51] <artaxerxes> [sleep_0_hours][fr]="Sois serieux, Avatar !"
[17:33:03] <artaxerxes> all in one file
[17:33:21] * wjp thinks
[17:33:22] <artaxerxes> maybe even flat (?)
[17:34:04] <wjp> format doesn't matter much, since it'll be wrapped away in some class anyway
[17:35:24] <wjp> I don't really want to put both english and french in the same file
[17:35:45] <wjp> (although maybe in the same flex)
[17:36:10] <wjp> hm, i18n is an interesting issue
[17:36:20] <artaxerxes> and we sould forego checksums for this file
[17:36:24] <wjp> yeah
[17:36:25] <artaxerxes> s/file/flex
[17:37:05] <wjp> what exactly would change if you switch language
[17:37:19] <wjp> you'd need new menu shapes
[17:37:29] <artaxerxes> text.flx, usecode, shapes.shp, fonts.vga
[17:37:45] <artaxerxes> hmmmm what else... ?
[17:37:50] <wjp> these can be summed up as game data
[17:38:09] <artaxerxes> yup
[17:38:24] <wjp> you'd just have two full SI/BG dirs around then, I guess
[17:38:56] <wjp> or use the patch override mechanism maybe
[17:39:06] <artaxerxes> I suppose so. Or maybe <data><english>....</english><french>...</french></data>
[17:39:30] <artaxerxes> oups.. there is another pb
[17:39:33] <artaxerxes> voices.
[17:39:34] <wjp> that would make the config file rather messy
[17:39:37] <artaxerxes> at start up
[17:39:43] <wjp> voices are just more game data
[17:39:51] <artaxerxes> not the sync part!
[17:39:56] <wjp> ah
[17:40:07] <wjp> yes, that is rather hardcoded, isn't it :/
[17:40:12] <artaxerxes> ;)
[17:43:41] <artaxerxes> I think that is not really crucial though... for now, it's more the hard coded text that matters
[17:45:50] <wjp> I have some ideas about 'theming' in pentagram. The config file loader supports multiple config files, which means you could point to a 'theme' config file in the main pentagram.cfg, which would contain settings for the look-and-feel of the menus (and other things)
[17:45:56] <wjp> something similar may be possible for i18n
[17:46:09] <wjp> ("the config file loader" = that of pentagram, btw)
[17:48:25] <artaxerxes> neato
[17:49:34] <wjp> (it at one time supported changing the background colour of the console... never committed that, though :-) )
[17:49:39] <wjp> bbl, dinner
[17:49:51] <wjp> you might want to poke the ML about this issue, btw
[17:50:05] <wjp> see what ideas the others have
[17:50:34] <artaxerxes> thx
[17:50:38] <artaxerxes> see ya soon
[17:50:56] <artaxerxes> bon appetit
[18:06:26] <artaxerxes> 80% yay!
[18:20:23] <wjp> b
[18:24:11] <artaxerxes> wb
[18:42:08] <artaxerxes> : 91% yay!
[18:42:21] <artaxerxes> Melino is quite a snoot
[18:42:35] <wjp> snoot?
[18:42:56] <artaxerxes> oups.... wrong word
[18:43:00] <artaxerxes> snob
[18:43:05] <wjp> yeah, he is
[18:43:21] <wjp> his opening line when you haven't yet received a spellbook says it all :-)
[18:43:25] <artaxerxes> dict.org: snoot: informal term for a nose!
[18:43:36] <wjp> :-)
[18:43:37] <artaxerxes> true!
[18:43:52] <wjp> I guess 'snoot' has the same history as the dutch 'snuit'
[18:44:08] <artaxerxes> which means..... nose?
[18:44:15] <wjp> bingo :-)
[18:44:23] <artaxerxes> yay! I speak dutch!
[18:44:27] <wjp> very informal too
[18:44:40] <wjp> (and hardly ever used)
[18:45:07] <artaxerxes> I caught myself using ultima words in my conversation here now! :)
[18:46:02] <artaxerxes> My brother did the same thing when BG was released in french. He played it over and over to the point he used "moult" in a public address while "moult" has been a totally desuet word for centuries!
[18:46:17] <artaxerxes> ;)
[18:46:23] <wjp> lol
[18:46:26] <wjp> what does it mean?
[18:46:30] <artaxerxes> many
[18:47:50] <artaxerxes> any strong connections between dutch and german ? 'cause it seems there is a connection between Dutch and English and between English and German
[18:48:01] <wjp> dutch and german are very similar
[18:48:17] <wjp> I mean, we're right next to eachother :-)
[18:48:42] <wjp> they're both germanic (I think that's the word, anyway) languages, as is english
[18:49:47] <artaxerxes> <wjp> I mean, we're right next to eachother :-)..... so is france and germany and yet.... :)
[18:50:01] <wjp> well, true :-)
[18:50:13] <artaxerxes> I think we say saxon for the connection b/w english and german
[18:50:14] <wjp> but that's kind of the boundary between 'latin' and 'germanic' languages
[18:50:29] <wjp> that could be it
[18:50:50] <artaxerxes> do the northern european countries have saxon background too?
[18:51:19] <wjp> scandinavia? not sure
[18:51:44] <artaxerxes> One thing is I've always been impressed by the Dutch's ability at speaking english right from a young age.
[18:52:28] <artaxerxes> french dudes are far behind dutch ones
[18:53:00] <wjp> 'germanic' was right, btw (according to everything2.com)
[18:53:08] <wjp> how young is young?
[18:53:52] <artaxerxes> I'd say just before 'old'! :)
[18:54:11] <artaxerxes> seriously, below 10
[18:54:26] <wjp> there are several theories about why we learn foreign languages... we're apparently not overly nationalistic about our own language, we're a small country so we'll need to learn foreign languages to travel not too far, ...
[18:54:35] <wjp> below 10? hm, I doubt many kids speak english at that age
[18:55:23] <wjp> I started getting english in school when I was about 10, I think
[18:55:44] <wjp> although I had picked up at least a little already before then
[18:56:30] <artaxerxes> back in france, it's a pity when you look at the skills of the pupils at foreign languages.
[18:56:39] <artaxerxes> (mine included!)
[18:57:31] <Fingolfin> danish is quite close to german/dutch, too, as is swedish but to a far lesser degree
[18:57:53] <Fingolfin> finish is completly different, but it's not related anyway (I think it's not even germanic nor celtic... in any case, it#s weird :-)
[18:59:33] <wjp> swedish, danish and norwegian are apparently 'north germanic' languages
[18:59:53] <wjp> finnish is a 'uralic' language, which is apparently closesly related to estonian
[18:59:55] <artaxerxes> just like Hongarian. It is totally different from slavic languages although right in the middle of them all!
[19:01:45] <artaxerxes> I think I heard Hungarian's background had something to do with Atila the Huns
[19:03:09] <wjp> everything2.com agrees :-)
[19:06:07] <artaxerxes> nice site btw
[19:06:18] <wjp> very :-)
[19:10:05] <artaxerxes> 18 to go! :)
[19:10:10] <-- Fingolfin has left IRC ("brb")
[19:10:45] <artaxerxes> brb
[19:14:53] <artaxerxes> b
[19:15:11] --> Fingolfin has joined #exult
[19:15:11] --- ChanServ gives channel operator status to Fingolfin
[19:15:19] <artaxerxes> wb
[19:15:33] <Fingolfin> thx
[19:30:11] * artaxerxes is starting Gwenno
[19:43:17] <artaxerxes> did you even had Iolo actually give the necklace to gwenno ever?
[19:43:22] <artaxerxes> I know I didn't
[19:43:28] <artaxerxes> s/even/ever
[19:43:33] <artaxerxes> s/had/have
[19:43:37] <wjp> I think I usually lost it
[19:43:55] <wjp> which probably means that even when I didn't lose it the game thought I'd lost it
[19:44:11] <artaxerxes> 'cause even with the necklace around Iolo's neck he said he'd lost it. Every single time.
[19:44:39] <artaxerxes> however, the usecode clairly has a line where he gives it to her.
[19:44:49] <wjp> maybe it needs to be in his backpack
[19:44:58] <artaxerxes> 0495.uc
[19:46:08] <artaxerxes> 01A5: 1F 05 00 pushi 0005H ; 5
[19:46:08] <artaxerxes> 01A8: 1F 99 FE pushi FE99H ; -359
[19:46:08] <artaxerxes> 01AB: 1F BB 03 pushi 03BBH ; 955
[19:46:08] <artaxerxes> 01AE: 1F 01 00 pushi 0001H ; 1
[19:46:10] <artaxerxes> 01B1: 1F 9B FE pushi FE9BH ; -357
[19:46:12] <artaxerxes> 01B4: 24 05 00 call [0005] ; 1200H
[19:46:14] <artaxerxes> 01B7: 05 24 00 jne 01DE
[19:46:16] <artaxerxes> 01BA: 1C AA 01 addsi L01AA ; "The Lady of Fawn...
[19:46:21] <wjp> yeah
[19:46:41] <wjp> I'm guessing shape 955, frame 1 is the necklace
[19:47:14] <wjp> -357/9 probably means 'any quality', and the other generally means the avatar, strangely
[19:47:34] <wjp> or maybe that means the party
[19:47:58] <wjp> [0005] is 97DH, though, not 1200H
[19:48:05] <artaxerxes> you could put "speak u7's usecode" in your resume, wjp!
[19:48:17] <artaxerxes> I know that's weird!
[19:48:25] <artaxerxes> not the first time I see this
[19:48:44] <artaxerxes> sometimes it's even more weird, likee 12097DH
[19:49:12] <wjp> yes, -357 = party, -359 = any quality
[19:49:58] <artaxerxes> you're amazing!
[19:50:06] <wjp> tiny problem... the necklace is 955:8, not 955:1
[19:50:16] <artaxerxes> hey! I can correct that !
[19:50:33] <wjp> yup :-)
[19:50:36] <wjp> easy patch
[19:50:49] <artaxerxes> not the first time either!
[19:50:54] <wjp> don't forget to change it ~10 lines down too
[19:51:03] <wjp> are you documenting your changes somewhere, btw?
[19:51:08] <artaxerxes> done
[19:51:21] <wjp> (the bugfixes, specifically)
[19:51:24] <artaxerxes> there are only 2 I've done, so I know them by heart! :)
[19:51:34] <wjp> better write them down somewhere :-)
[19:51:58] * wjp is wondering what that necklace/amulet 955:1 is
[19:52:01] <artaxerxes> I really should start working on an incremental patching system! ;/
[19:52:58] <wjp> ah, fellowship medallion according to my shape names
[19:53:32] <wjp> interesting :-)
[19:53:55] <artaxerxes> and also according to the shape browser
[19:54:35] <wjp> the shape browser gives frame names?
[19:54:48] <artaxerxes> nope, can I see the frame! :)
[19:55:09] <wjp> ?
[19:57:05] <artaxerxes> I can recognise that the frame shown is the one for the fellowship medaillon!
[19:57:43] <artaxerxes> I see... I shouldn't typed: nope, but I can see the frame!
[19:57:49] <wjp> ah
[19:57:50] <artaxerxes> olala
[19:57:57] <wjp> makes more sense that way :-)
[19:58:00] <artaxerxes> s/I shouldn't/I should have/
[19:58:17] <artaxerxes> I guess my fingers too are tired!
[19:59:33] <artaxerxes> I'm gonna make a readme that contains usecode changes. I guess I can put that in the repository in the doc directory.
[19:59:46] <artaxerxes> (of exult). Any opposition ?
[19:59:56] <wjp> not at all :-)
[20:00:16] <wjp> hm, I seem to remember I already have some usecode bugs somewhere
[20:00:37] <artaxerxes> let's call it "usecode.bugs"
[20:01:02] <artaxerxes> or better "usecode_bugs.txt"
[20:01:25] <artaxerxes> my tree was SO old
[20:02:51] <wjp> where _did_ I put those... I'm almost sure I wrote some down somewhere
[20:03:50] <artaxerxes> then would you like to create the file? I'll add my comments at the end.
[20:04:01] <wjp> nah, you can create it for now
[20:04:09] <wjp> I doubt I'll be able to find my notes :-(
[20:04:29] <wjp> they probably disappeared during one of my cleanups of my exult trees
[20:04:30] <wjp> :-(
[20:05:40] <artaxerxes> zut
[20:06:24] <artaxerxes> btw, I don't understand what you meant on the board and in the ChangeLog about bookmarks. Can you explain to me please?
[20:06:52] <wjp> if you click on the bookmark in your spellbook, nothing happens
[20:07:08] <artaxerxes> instead of?
[20:07:23] <wjp> well, when you double click on the bottom of the bookmark, you'd expect the spell to be cast
[20:09:00] <wjp> this also means that when you double click on a spell, on the spot where the bookmark is going to appear, the spell isn't cast
[20:09:08] <wjp> (because the bookmark catches the second click of the doubleclick)
[20:10:57] <artaxerxes> humm
[20:11:12] <artaxerxes> I haven't cast a spell in so long! :-)
[20:12:36] <wjp> I was trying to cast awaken on Ernesto the ranger to ask him about Julia yesterday :-)
[20:13:42] <wjp> (not that he had anything interesting to say)
[20:17:30] <artaxerxes> I have means to make him talk! :)
[20:22:41] <artaxerxes> commited
[20:36:20] <Fingolfin> matto: you there?
[20:50:06] --> ShadwChsr has joined #exult
[20:50:10] <ShadwChsr> hi
[20:50:14] <wjp> hi
[20:58:57] <-- Fingolfin has left IRC ("42")
[20:59:54] --> Fingolfin has joined #exult
[20:59:54] --- ChanServ gives channel operator status to Fingolfin
[21:39:58] --- Darke is now known as DarkeZzz
[21:46:47] <artaxerxes> gwenno translated at 51%
[22:01:34] <ShadwChsr> what are you translating?
[22:02:45] <artaxerxes> Serpent Isle in French
[22:03:13] <artaxerxes> www.serpentisle.fr.st (french info) and sf.net/projects/si-french (english info)
[22:03:21] <ShadwChsr> to french or from french? :)
[22:04:01] <ShadwChsr> Wow I'm amazed they never released it that way
[22:04:13] <artaxerxes> Serpent Isle has never been released in French
[22:04:20] <artaxerxes> we're changing that!
[22:04:25] <ShadwChsr> :)
[22:04:49] <ShadwChsr> What was this I heard about "unused conversations"? :)
[22:05:21] <artaxerxes> 18 files to go and it's all translated! Actually, about 17.4 :)
[22:05:53] <artaxerxes> SI had a plot that got nixed because of pressing releasing forced upon by EA.
[22:06:16] <artaxerxes> However some of the conversations of the old plot are still in the files... hidden
[22:06:18] <ShadwChsr> What was it?
[22:06:33] <artaxerxes> check the message board. It contains all you need to know.
[22:06:43] <artaxerxes> http://exult.sf.net/forum/
[22:06:50] <ShadwChsr> :)
[22:11:16] <artaxerxes> Ultima is definitely a source of inspiration for projects! :)
[22:11:38] <ShadwChsr> very cool
[22:13:21] <artaxerxes> gotta go
[22:13:23] <artaxerxes> bye all
[22:13:24] <-- artaxerxes has left IRC ("using sirc version 2.211+KSIRC/1.1")
[22:25:34] <wjp> hm, is sourceforge placing ads intelligently?
[22:25:58] <wjp> I'm visiting the project pages of si-french and I get one dutch ad, and one ad offering to teach me french :-)
[22:28:46] <ShadwChsr> ;) hahaha
[22:29:02] <ShadwChsr> usual story :)
[22:35:25] <Fingolfin> and I get plenty of OS X ads...
[22:39:37] <wjp> :-)
[22:42:07] <ShadwChsr> I guess exult is kind of done? :)
[22:42:19] <ShadwChsr> 1.1 dev seems to have slowed :)
[22:42:19] <wjp> well... 'kind of', yes
[22:42:27] <wjp> actually, it just picked up some pace again
[22:42:29] <ShadwChsr> Must feel great having it done
[22:42:38] <wjp> it won't ever be done :-)
[22:42:59] <wjp> there's always one more bug to fix, one more feature to add... :-)
[22:43:00] <ShadwChsr> well, v 1.0 ;)
[22:43:21] <ShadwChsr> Has most dev effort moved to pentagram?
[22:43:32] <wjp> I'd wish :-)
[22:43:55] <wjp> nah, it just slowed down for a couple of months
[22:44:10] <-- Fingolfin has left IRC ("bbar")
[22:44:18] <wjp> but as I said, activity is growing again now
[22:44:46] <wjp> (lots of commits again since mid february)
[22:46:22] * ShadwChsr nods
[22:46:40] <ShadwChsr> why pentagram? :)
[22:46:47] <wjp> what do you mean?
[22:47:21] <ShadwChsr> why did you decide to work on a u8 engine as opposed to something new? :)
[22:47:43] <wjp> well, an u8 engine is new, in a way :-)
[22:47:55] <ShadwChsr> :)
[22:48:14] <wjp> besides, it allows us to work on the engine, and not get distracted by such trivialities as content and game design ;-)
[22:48:40] <ShadwChsr> yeah.. I suppose ;)
[22:49:19] <ShadwChsr> I'm still trying to hack away at my game :)
[22:49:30] <wjp> how's it proceeding?
[22:49:37] <ShadwChsr> very well :)
[22:49:58] <ShadwChsr> Got part of a story worked out (not official yet though)
[22:50:12] <ShadwChsr> I ditched my evil pascal/delphi code and moved it all to c++, which I think you know ;)
[22:50:27] <ShadwChsr> Animation and rendering systems are pretty much done
[22:50:34] <ShadwChsr> Working on input code right now
[22:50:35] * wjp kind of liked pascal/delphi
[22:50:50] <ShadwChsr> Yeah, but pascal/delphi doesn't get you any recognition or respect these days :)
[22:51:03] <wjp> yeah :/
[22:51:23] <ShadwChsr> I'm working on a cross between u7 and u8, aiming for that kind of feel
[22:51:33] <ShadwChsr> u7 style building blocks but isometric <shrug>
[22:51:39] <ShadwChsr> Though I'm sure everyone says that haha
[22:51:40] <ShadwChsr> :)
[22:52:15] <ShadwChsr> Its just difficult learning as I go
[22:52:29] <ShadwChsr> theres not much written on game design (game code design, that is) so I pretty much need to guess as I go
[22:52:43] <ShadwChsr> which is a huge risk because I may go wayyyyy in the wrong direction until its too late :(
[22:53:34] <wjp> yeah, that's always a problem :/
[22:54:44] <ShadwChsr> Its just too bad I'm not programming it in linux, or I could hassle you guys to help hahaha
[22:54:45] <ShadwChsr> ;)
[22:54:51] <ShadwChsr> count yourselves lucky ;
[22:54:53] <ShadwChsr> ;)
[22:55:00] <wjp> lol
[22:55:18] <ShadwChsr> Are you at work right now?
[22:55:24] <ShadwChsr> home? bored? asleep?
[22:55:33] <ShadwChsr> buried under 10 tons of paperwork?
[22:55:33] <ShadwChsr> ;)
[22:56:27] <wjp> I'm at home, coding on pentagram
[22:56:31] <wjp> (it's midnight here)
[22:56:35] <ShadwChsr> ahhhh
[22:56:37] <ShadwChsr> 3pm here :)
[22:56:54] <ShadwChsr> I know I'm going to sound like a complete newbie moron for saying this....
[22:57:10] <ShadwChsr> but do you mind taking a quick peek at my code do make sure it's at least 50% sane? :)
[22:57:33] <wjp> sure, if you trust my sanity ;-)
[22:57:43] <ShadwChsr> two insane people make a sane person, right? :)
[22:58:26] <wjp> they do? :-)
[22:58:30] <ShadwChsr> sure why not
[22:59:10] <wjp> so where do I look? :-)
[22:59:32] <ShadwChsr> game.cpp is the "main" class.. it's a singleton, and when it is created by the windowing (win32 api) code, it is responsible for creating all the game modules
[22:59:55] <ShadwChsr> the win32 api loop (main app loop) calls "Game::GameLoop()" as much as possible - thats what "runs" the game
[23:00:33] <ShadwChsr> theoretically the game class could be hosted by different things - a linux app loop, a map editor, etc
[23:00:54] <wjp> hm, mixed unix/dos line endings?
[23:01:24] <ShadwChsr> you mean \n, or the are my source files like that?
[23:01:28] <ShadwChsr> its probably 1310
[23:01:31] <ShadwChsr> CRLF
[23:01:42] <ShadwChsr> Written in Visual C++ .NET 2002
[23:01:43] <wjp> yes, that's dos style; but some are just \n
[23:01:54] <wjp> the top of game.h, anyway
[23:02:10] <ShadwChsr> hmmmm strange.... it may be because of copy & pasting
[23:02:25] <wjp> only in the GPL header I think
[23:02:26] <ShadwChsr> i copied & pasted in the open source comment and things like that
[23:02:30] <ShadwChsr> ahhhhh yeah thats why
[23:02:45] <ShadwChsr> my editor must compensate automatically, doesnt care which line break it sees
[23:03:19] <wjp> emacs didn't see CRLF's at the start, so it thought it was a file with unix endlines :-)
[23:03:24] <ShadwChsr> I tried to keep the code as clean & commented as possible
[23:03:31] <wjp> (and showed ^M's for the lines which did have CRLF)
[23:03:38] <ShadwChsr> :)
[23:03:50] <ShadwChsr> all fully OO except for the Win32 API code (2 source files only)
[23:04:38] <ShadwChsr> the game renderer is abstracted into a DLL, that way I can swap in Direct3D, OpenGL, custom, whatever :)
[23:05:01] <ShadwChsr> Also commented every place in the main code that uses OS api calls, so they can be abstracted later
[23:07:53] <ShadwChsr> how does it look?
[23:08:18] <wjp> browsing a bit... from what I've seen it looks quite sane :-)
[23:08:59] <ShadwChsr> There's no real "world" code yet, nothing that operates the game (ie/ conversations, npcs.. usecode stuff)
[23:09:10] <ShadwChsr> I'm going to abstract that so that I can swap in different game modules
[23:09:22] <ShadwChsr> that way it should be straightforward to port to an online or multiplayer game later
[23:09:38] <wjp> ambitious :-)
[23:10:10] <ShadwChsr> Yeah... but to begin with it will just be single player :)
[23:11:12] <wjp> any ideas yet on how to drive the game/plot? some kind of scripting language?
[23:11:37] <ShadwChsr> No.... I have no clue there, since i've never done anything even remotely like that before :(
[23:11:47] <ShadwChsr> Probably scripting, though, it's just guessing at this point
[23:12:07] <ShadwChsr> I was hoping you guys would have ideas ;)
[23:13:10] <wjp> U7 and U8 have an engine that exports lots of world-manipulating functions to a scripting language ('usecode')
[23:13:25] <wjp> from what I've seen, so do UW1, UW2 and SCUMM-games
[23:14:03] * ShadwChsr nods
[23:14:30] <wjp> functions to create/destroy/move items, handle conversations, manipulate weather, play music/SFX, ...
[23:15:28] <ShadwChsr> does U8 use the same language as u7?
[23:15:37] <wjp> no, U8's is more advanced
[23:15:48] <wjp> (multithreaded, even :-) )
[23:16:21] --> Fingolfin has joined #exult
[23:16:21] --- ChanServ gives channel operator status to Fingolfin
[23:16:24] <wjp> wb
[23:16:54] <ShadwChsr> wow
[23:16:59] <ShadwChsr> multithreading in a DOS game? LOL
[23:17:00] <ShadwChsr> ;)
[23:17:33] <wjp> well, usecode is multithreaded; that doesn't necessarily mean the game itself is multithreaded
[23:17:40] <ShadwChsr> still :)
[23:18:48] <ShadwChsr> No way you guys want to work on an indie game is there? :)
[23:19:32] <Fingolfin> wjp: thx
[23:19:34] <wjp> between exult, pentagram and univ. I'm kind of low on time for extra projects
[23:20:39] <ShadwChsr> ;)
[23:21:03] <ShadwChsr> maybe you could program an exult interpreter for my game :)
[23:21:08] <ShadwChsr> err pentagram I mean :)
[23:21:21] <wjp> feel free to borrow pentagram's usecode machine :-)
[23:21:28] <ShadwChsr> :)
[23:21:33] <wjp> it's probably the most-finished part of pentagram right now
[23:22:04] <Fingolfin> hehe
[23:22:18] <wjp> but the design is kind of outdated on some points, unfortunately
[23:22:24] <Fingolfin> ...
[23:22:28] <ShadwChsr> oh?
[23:22:36] <wjp> nearly everything is 16 bit
[23:23:01] <ShadwChsr> the u8 design or the usecode interpreter?
[23:23:06] <wjp> the design
[23:23:15] <ShadwChsr> not much you can do about that :)
[23:23:16] <wjp> (of U8's usecode, that is)
[23:23:18] <wjp> no :-(
[23:23:20] <Fingolfin> the U8 design, not the pentagram design, though
[23:23:42] <wjp> and because of that part of pentagram's design, too :/
[23:23:50] <wjp> although we're moving as much as possible to 32 bit
[23:24:13] <ShadwChsr> I imagine :)
[23:24:49] <ShadwChsr> If there are ever bored people lazying around here send'em my way :)
[23:25:21] <ShadwChsr> Hopefully based on the code you saw I'm not a completely idiodic C++ coder, even though I only started 4 months ago ;)
[23:25:30] <ShadwChsr> Hopefully alot of my other OO experience transfered over :)
[23:26:02] <wjp> it looks like it did, yes :-)
[23:26:36] <ShadwChsr> On that note, math.h doesn't include any rounding functions, right? :)
[23:26:44] <wjp> it should
[23:26:50] <ShadwChsr> hmmmm can't find any
[23:26:53] <ShadwChsr> just truncation
[23:26:59] <ShadwChsr> (floor)
[23:27:02] <wjp> round?
[23:27:20] <ShadwChsr> round - undeclared identified (even though math.h is included)
[23:27:28] <ShadwChsr> err identifier
[23:27:43] <wjp> hm, round is supposed to be C99
[23:27:58] <ShadwChsr> C99?
[23:28:19] <wjp> the ansi C standard from 1999 :-)
[23:28:24] <ShadwChsr> ahh :)
[23:28:33] <ShadwChsr> http://www.gnu.org/manual/glibc-2.0.6/html_node/libc_267.html
[23:28:46] <ShadwChsr> there's an rint apparently
[23:29:11] <ShadwChsr> thats what it is :)
[23:29:13] <ShadwChsr> rint not round
[23:29:39] <wjp> there's a round() too :-)
[23:29:49] <ShadwChsr> really? hmmm :)
[23:30:05] <wjp> blame MS if it isn't there in MSVC :-)
[23:30:24] <ShadwChsr> yeah but .NET is alot better on ansi C
[23:30:25] <ShadwChsr> hmm
[23:31:06] <ShadwChsr> got a URL for me? I cant even find any reference to it on google :
[23:31:06] <ShadwChsr> :(
[23:31:07] <Dark-Star> ShadwChsr: that's what I thought initially too. But I was shocked on how bad the .NET optimizations are that makes up for the slightly better implementation of ANSI C
[23:31:44] <ShadwChsr> yeah but at least I have code complete <grin>
[23:31:45] <ShadwChsr> ;)
[23:31:51] <ShadwChsr> *kicks evil v6
[23:32:17] <ShadwChsr> apparently 2003 has a form designer! :)
[23:32:27] <ShadwChsr> Goooooodbye evil MFC :)
[23:32:36] <wjp> didn't delphi have that 8 years ago? :-)
[23:32:58] <ShadwChsr> and VB
[23:33:06] <ShadwChsr> and that borland deal
[23:33:22] <ShadwChsr> Except the VCL is very buggy :P
[23:33:24] <ShadwChsr> and bloated
[23:34:08] <ShadwChsr> make a simple app and its like 600 KB :(
[23:36:10] <ShadwChsr> ahhhh int() rounds :)
[23:36:15] <ShadwChsr> Who knew it was a function as well ;)
[23:36:25] <ShadwChsr> reminds me of VB :)
[23:36:41] <Dark-Star> ShadwChsr: (int)(x + 0.5) should round, too...
[23:36:44] <wjp> that's just an int constructor
[23:37:08] <ShadwChsr> Ugh net documentation really sucks
[23:37:14] <wjp> i.e., you construct an int from something. That something in this case is a double, which can be cast to an int. (Or something :-) )
[23:37:17] <ShadwChsr> going on and on about how you need to manually round ;P
[23:37:32] <ShadwChsr> in other languages I've used typecasting to int will truncate it :)
[23:37:38] <ShadwChsr> or throw an exception
[23:39:08] <wjp> I'm pretty sure typecasting to an int in C truncates
[23:40:06] <Dark-Star> depends on what you typecast ... (int)x truncates, but (int)(x + 0.5) rounds :-)
[23:40:15] <ShadwChsr> <cries>
[23:40:16] <ShadwChsr> ;)
[23:40:18] <wjp> Dark-Star: hehe :-)
[23:40:37] <ShadwChsr> ok, how do I round, you know, 1.6 = 2, 1.4 = 1? :)
[23:41:20] <wjp> Dark-Star's suggestion?
[23:41:43] <ShadwChsr> I dont understand his suggestin :)
[23:41:59] <wjp> first you increase x by 0.5, and then you truncate it
[23:42:02] <Dark-Star> that was an old trick I used on my C64 quite often, because CBM BASIC had no rounding functions :)
[23:42:16] <ShadwChsr> and whats the point of floor() if int() does the same thing? :)
[23:42:27] <ShadwChsr> ohhh floor returns a floating point ;)
[23:42:33] <Dark-Star> ShadwChsr: they're different for negative values
[23:42:46] <wjp> int() rounds to zero, floor() rounds to minus infinity
[23:42:53] <wjp> s/to/towards/g
[23:45:02] <ShadwChsr> int roundint(double value) { return int(value + 0.5); } ?
[23:45:15] <Dark-Star> for example...
[23:45:33] <ShadwChsr> Yeah I remember the 0.5 trick now from a lonnggg time ago ;)
[23:45:37] <Dark-Star> although I like "return (int)(value + 0.5);" better ;-)
[23:45:56] <wjp> this doesn't work for negative value, does it?
[23:46:00] <Dark-Star> hmmm...
[23:46:08] * Dark-Star thinks about it...
[23:46:21] <ShadwChsr> if (value < 0) { return (int)(value - 0.5))} ?
[23:46:30] --> Kirben has joined #exult
[23:46:30] --- ChanServ gives channel operator status to Kirben
[23:46:39] <Dark-Star> nope, actually you should do something like "return (int)(value + sign(value) * 0.5);"
[23:46:55] <ShadwChsr> oo scary
[23:46:55] <ShadwChsr> ;)
[23:47:15] <Dark-Star> of course you could also use an if, but that's not as much fun, is it? :-)
[23:47:34] <ShadwChsr> yes but it wont give me a headache when I try to read it at 2am :)
[23:48:22] <wjp> oh, but you probably won't be reading this code ever again once it Just Works(tm) :-)
[23:48:30] <Dark-Star> how about "return (value < 0.0 ? (int)(value - 0.5) : (int)(value + 0.5));" ???
[23:48:34] <ShadwChsr> famous last words wjp ;)
[23:48:40] <wjp> :-)
[23:48:44] <ShadwChsr> 2 years down the road something breaks it.. <g>
[23:48:57] <ShadwChsr> anyhow, thanks for the assistance
[23:49:06] <ShadwChsr> and is it so bloody difficult to add ONE line of code to math.h? shesh
[23:49:06] <ShadwChsr> ;)
[23:49:15] <Dark-Star> ShadwChsr: you mean 2 years down the road, someone changes the meaning of zero and your function won't work anymore? *gg*
[23:49:23] <wjp> lol
[23:49:40] <Dark-Star> reminds me of some programming tutorial I once read...
[23:50:21] <Dark-Star> On the topic of constants: "You should always declare numbers as constants. For example 'const PI = 3.1415'. That makes it easier to update your code, should the value of PI ever change . . .
[23:50:31] <wjp> LOL!
[23:51:03] <wjp> well, I think some government once tried to make a law for the value of Pi... that could happen again :-)
[23:51:24] <Dark-Star> that was some state in the US, right? I think I read about that once . . .
[23:51:54] <ShadwChsr> :)
[23:52:23] <Dark-Star> That's the problem if you write your tutorial program to do some tax calculations and then have to change it in the last minute to calculate the area of a circle ...
[23:52:53] <ShadwChsr> I think what they meant was you needed a higher precision value of pi, but its still funny :)
[23:53:12] <ShadwChsr> In fact, most "PI" tutorials I read have the exact same wording, it's almost becomming the "all your base.." of c++ :)
[23:53:21] <Dark-Star> actually, I think the number _was_ higher precision, I just didn't want to type that much :-)
[23:56:36] <ShadwChsr> question #2.. where is "sign()" declared? :)
[23:56:57] <wjp> nowhere AFAIK
[23:57:08] <ShadwChsr> another one I get to write? :)
[23:58:10] <Dark-Star> hmmm... this one should be a simple piece of code
[23:58:20] * Dark-Star digs out his IEEE documentation on floating point numbers
[23:59:06] <Dark-Star> "return (*(int*)(&value)) >> 31;" or something like that :-)
[23:59:52] <ShadwChsr> Oh well I figured something out :)